Welcome to the mathlib review page. Everybody's help with reviewing is appreciated. Reviewing contributions is important, and everybody is welcome to review pull requests! If you're not sure how, the pull request review guide is there to help you.
This page is the main reviewer-facing queue: if a PR is ready for review, it belongs here. The triage page contains additional triage-oriented views, but it is not the primary review queue.
This page contains tables of
| Number |
Author |
Title |
Description |
Labels |
+/- |
Modified files (first 100) |
📝 |
💬 |
All users who commented or reviewed |
Assignee(s) |
Updated |
Last status change |
total time in review |
blocks |
| 33928 |
jsm28 author:jsm28 |
feat(Combinatorics/Tiling/TileSet): indexed families of tiles |
Define the type `TileSet` for indexed families of tiles (in a discrete context), and some associated definitions (including `symmetryGroup`) and API lemmas.
`TileSet` can be used for tilings of the whole space; for tilings of part of the space; for patches of tiles (extracted from a tiling by considering tiles meeting some set of points, or considered on their own without extracting from a tiling); for multiple tilings (covering the space more than once). In particular, the fact that people study multiple tilings provides a clear justification for using indexed families rather than sets of tiles, and basic definitions and API lemmas generally work for all these different uses of `TileSet` (sometimes with weak constraints such as tiles being finite, nonempty and only having finitely many tiles meeting any point of the space).
Definitions for saying e.g. "this `TileSet` is a tiling of the whole space" are to be included in subsequent files in subsequent PRs.
From AperiodicMonotilesLean.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
460/0 |
Mathlib.lean,Mathlib/Combinatorics/Tiling/TileSet.lean |
2 |
23 |
['Parcly-Taxel', 'b-mehta', 'eric-wieser', 'github-actions', 'jsm28', 'vihdzp'] |
nobody |
154-63957 5 months ago |
261-5994 261 days ago |
279-68972 279 days |
0 |
| 35069 |
A-M-Berns author:A-M-Berns |
feat(Geometry/Polygon): simple polygons and boundary map |
This PR introduces Simple polygons with the predicate `IsSimple`, which captures the idea of a non-self-intersecting boundary, in the file Simple.lean. In the file Boundary.lean, a boundary map from `AddCircle n` is defined. I prove that the range of this map is the boundary and that this map is injective if and only if the polygon is simple. I kept Boundary.lean and Simple.lean separate because future results will include stuff just about the boundary map independent of simplicity (e.g. that it is continuous in the appropriate setting) and stuff just about simple polygons independent of the boundary map (e.g. that for n = 3, IsSimple iff HasNondegenerateVertices.) I used Claude Code to help generate some of the proof material, but I golfed and edited all AI contribution.
- [x] depends on: #34598
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
--> |
new-contributor
t-euclidean-geometry
LLM-generated
|
360/0 |
Mathlib.lean,Mathlib/Geometry/Polygon/Boundary.lean,Mathlib/Geometry/Polygon/Simple.lean,Mathlib/Logic/Equiv/Fin/Rotate.lean |
4 |
30 |
['A-M-Berns', 'eric-wieser', 'github-actions', 'joneugster', 'jsm28', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp', 'wwylele'] |
nobody |
150-63958 4 months ago |
236-82473 236 days ago |
239-31145 239 days |
0 |
| 35669 |
SnirBroshi author:SnirBroshi |
feat(Mathlib/Data/Finset/Mex): `sInf sᶜ ≤ s.encard` |
---
It's in a separate file because I couldn't find a sensible place with the required imports, not because "mex" is particularly interesting.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #35821
- [x] depends on: #35822
[](https://gitpod.io/from-referrer/)
|
t-order |
59/0 |
Mathlib.lean,Mathlib/Data/Finset/Mex.lean |
2 |
14 |
['SnirBroshi', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
111-12018 3 months ago |
111-12100 111 days ago |
114-85552 114 days |
0 |
| 36813 |
AlexeyMilovanov author:AlexeyMilovanov |
feat(Computability.Encoding): add self-delimiting unary and pair encodings |
Adds self-delimiting boolean encodings to `Mathlib.Computability.Encoding`.
**Key changes:**
* **`unaryPrefixEncodingNat`**: A self-delimiting unary `Encoding ℕ Bool`, using the code $1^n0$.
* **`encodingProdBool`**: Builds an `Encoding (α × β) Bool` from boolean encodings of `α` and `β`, by prefixing the length of the first encoded component.
* **`encodingListBool`**: Builds an `Encoding (List α) Bool` from a boolean encoding of `α`, using self-delimiting element encodings.
* **`UnaryPrefix` helpers**: Internal-style helper API for the underlying length-prefixed boolean-list encoding and decoding. |
t-computability
new-contributor
|
98/0 |
Mathlib/Computability/Encoding.lean |
1 |
6 |
['AlexeyMilovanov', 'Komyyy', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
104-10380 3 months ago |
104-10380 104 days ago |
120-51576 120 days |
0 |
| 41429 |
felixpernegger author:felixpernegger |
chore(Combinatorics): remove a `set_option backward.privateInPublic` |
Together with #41410 this removes all but one global `set_option backward.privateInPublic true`
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
8/7 |
Mathlib/Combinatorics/Matroid/Basic.lean,Mathlib/Combinatorics/Matroid/Dual.lean,Mathlib/Combinatorics/Matroid/Loop.lean,Mathlib/Combinatorics/Matroid/Minor/Restrict.lean |
4 |
13 |
['felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts', 'vlad902'] |
nobody |
102-21810 3 months ago |
102-21885 102 days ago |
104-20641 104 days |
0 |
| 41629 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Subgraph): `neighborSet` of `coe`/`spanningCoe` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
15/3 |
Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
1 |
1 |
['github-actions'] |
nobody |
100-56893 3 months ago |
100-56970 100 days ago |
100-56647 100 days |
0 |
| 41668 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Decomp): `dropUntil` API to match existing `takeUntil` API |
---
Slightly more complicated theorems than usual "API" 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/)
|
t-combinatorics |
56/9 |
Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean |
1 |
1 |
['github-actions'] |
nobody |
98-53520 3 months ago |
98-53597 98 days ago |
99-56835 99 days |
0 |
| 41722 |
SnirBroshi author:SnirBroshi |
feat(SimpleGraph/Connectivity/Subgraph): `mapToSubgraph` 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-combinatorics |
36/0 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean |
1 |
1 |
['github-actions'] |
nobody |
98-39433 3 months ago |
98-39484 98 days ago |
98-39161 98 days |
1 |
| 41793 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph): `fromEdgeSet edgeSet` for subgraphs and walks |
`fromEdgeSet G'.edgeSet = G'.spanningCoe` for a subgraph `G'`
`fromEdgeSet p.edgeSet = p.toSubgraph.spanningCoe` for a walk `p`
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
16/2 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
3 |
1 |
['github-actions'] |
nobody |
96-80187 3 months ago |
96-80250 96 days ago |
96-79927 96 days |
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 |
96-61679 3 months ago |
96-61766 96 days ago |
104-41575 104 days |
0 |
| 41821 |
Timeroot author:Timeroot |
chore(Order/Basic): add grind _=_ to Subtype.coe_lt_coe, coe_le_coe |
Add grind annotations to Subtype.coe_le_coe and Subtype.coe_lt_coe.
As noted in [this zulip thread](https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/grind.20failures/near/610812085), grind was failing to solve some fairly simple goals, and I think these are generally good annotations to have. (I think they will usually fire usefully.)
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
2/2 |
Mathlib/Order/Basic.lean |
1 |
4 |
['Timeroot', 'github-actions', 'leanprover-radar'] |
nobody |
96-9892 3 months ago |
96-11167 96 days ago |
96-10844 96 days |
0 |
| 41583 |
kim-em author:kim-em |
chore: move simple_obj into Functor namespace, golf proofs, tidy docstring |
This PR moves `CategoryTheory.simple_obj` and `CategoryTheory.simple_obj_iff` into the `Functor` namespace (matching their sibling `Functor.simple_of_simple_obj` and enabling dot notation), golf `Functor.simple_obj` and the forward direction of `isSimpleModule_iff_eq_zero_or_injective` via the existing `LinearMap.injective_or_eq_zero`, remove unused `variable` binders in `RingTheory/SimpleRing/DivisionRing.lean`, and fix inverted heading levels and an "an unique" typo in that file's module docstring. The one call site of the renamed lemmas is updated; no deprecated aliases are added since the declarations merged a week ago.
Follow-up to [#41233 (feat(SimpleRing/DivisionRing): simple module is preserved by ModuleCat equivs)](https://github.com/leanprover-community/mathlib4/pull/41233).
🤖 Prepared with Claude Code
|
LLM-generated |
16/19 |
Mathlib/CategoryTheory/Simple.lean,Mathlib/RingTheory/SimpleRing/DivisionRing.lean |
2 |
1 |
['github-actions'] |
nobody |
94-9833 3 months ago |
94-9833 94 days ago |
94-9510 94 days |
0 |
| 41934 |
NickKobs author:NickKobs |
feat(Order/Nucleus): a nucleus on a Boolean algebra is closed |
Adds `Mathlib/Order/Nucleus/Boolean.lean` — the Boolean specialization of the nucleus API:
```lean
theorem Nucleus.apply_eq_sup_apply_bot [BooleanAlgebra X] (n : Nucleus X) (a : X) :
n a = a ⊔ n ⊥
theorem Nucleus.isClosed_of_booleanAlgebra [BooleanAlgebra X] (n : Nucleus X) :
⇑n = fun a => a ⊔ n ⊥
theorem Nucleus.eq_of_apply_bot_eq [BooleanAlgebra X] {m n : Nucleus X} (h : m ⊥ = n ⊥) :
m = n
```
**Why.** `Mathlib.Order.Nucleus` provides the frame / Heyting-algebra structure of `Nucleus X`, the closure-operator view (`toClosureOperator`), and the pointwise `le_apply` / `idempotent` / `map_inf` API, but no Boolean specialization. On a Boolean algebra every nucleus is *closed* — completely determined by its value at `⊥` — which is the pointwise algebraic core of the classical fact that the assembly `N(L)` is Boolean iff `L` is (Beazer–Macnab; Simmons; Johnstone, *Stone Spaces*, II.2). It is the natural companion to the existing frame structure and a common building block in point-free topology.
**Proof.** `n a = n a ⊓ (a ⊔ aᶜ) = (n a ⊓ a) ⊔ (n a ⊓ aᶜ)`; the left join-and is `a` (inflationarity), the right is `≤ n a ⊓ n aᶜ = n (a ⊓ aᶜ) = n ⊥` (inflationarity of `aᶜ` + `map_inf`). The reverse inequality is inflationarity plus monotonicity applied to `⊥ ≤ a`. No completeness is needed — the statement is pointwise, so `[BooleanAlgebra X]` (not a complete Boolean algebra) suffices.
**References.**
* R. Beazer, D. S. Macnab, *Modal extensions of Heyting algebras*.
* H. Simmons, *A framework for topology*, Logic Colloquium '77.
* P. T. Johnstone, *Stone Spaces*, CUP (1982), II.2.
**Provenance.** The theorem was first mechanized (Mathlib-free, over a finite Boolean frame) in the BETTI/Araksha refusal-algebra work; this PR is the generalization to an arbitrary `BooleanAlgebra` against Mathlib's own `Nucleus` API. The result is classical open mathematics, cited above. An earlier revision of the file was compiled clean against master `c81c5cbb` (Lean `v4.33.0-rc1`); this revision adapts the header to the module system (`module` / `public import` / `@[expose] public section`).
|
t-order
new-contributor
LLM-generated
|
71/0 |
Mathlib.lean,Mathlib/Order/Nucleus/Boolean.lean |
2 |
5 |
['felixpernegger', 'github-actions'] |
nobody |
92-64715 3 months ago |
92-77982 92 days ago |
92-77659 92 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 |
83-37104 2 months ago |
83-37170 83 days ago |
83-36847 83 days |
0 |
| 42223 |
cameronfreer author:cameronfreer |
feat(Computability/Reduce): the halting problem is many-one complete |
`Mathlib/Computability/Halting.lean` proves that the halting problem is recursively enumerable (`ComputablePred.halting_problem_re`) and not computable (`ComputablePred.halting_problem`), but not that it is complete: there is no `REPred R → R ≤₀ K`, and neither `Halting.lean` nor `RE.lean` mentions `≤₀`.
This PR adds three results:
```lean
theorem REPred.manyOneReducible_halting_problem {R : ℕ → Prop} (h : REPred R) (n : ℕ) :
R ≤₀ fun c : Code => (Code.eval c n).Dom
theorem halting_problem_manyOneEquiv_halting_problem₂ (n : ℕ) :
ManyOneEquiv (fun c : Code => (Code.eval c n).Dom)
(fun p : Code × ℕ => (Code.eval p.1 p.2).Dom)
theorem REPred.manyOneReducible_halting_problem₂ {R : ℕ → Prop} (h : REPred R) :
R ≤₀ fun p : Code × ℕ => (Code.eval p.1 p.2).Dom
```
(I've stated the results in `Reduce.lean` rather than alongside the other halting-problem results because `≤₀` is defined here, and `Reduce` imports `Halting` rather than the other way around.)
🤖 These proofs were written with the assistance of Claude Opus 5 high and reviewed by GPT Sol 5.6 xhigh.
|
t-computability
new-contributor
LLM-generated
|
41/0 |
Mathlib/Computability/Reduce.lean |
1 |
3 |
['cameronfreer', 'github-actions'] |
nobody |
82-13793 2 months ago |
83-34698 83 days ago |
83-39316 83 days |
0 |
| 42189 |
cameronfreer author:cameronfreer |
feat(ModelTheory/Basic): add characterization of languages with countably many symbols |
`Language.Countable.countable_functions` currently projects `Countable L.Symbols` onto the function symbols, but there is no counterpart for relations. This PR adds the missing instance; in doing so it relates the two ways that Mathlib already expresses "countable language": the bundled `Language.card ≤ ℵ₀` and the unbundled `Countable (Σ l, L.Functions l)` / `Countable (Σ l, L.Relations l)` hypotheses that model-theoretic statements tend to carry separately.
* `Countable.countable_relations`, `countable_symbols_iff`, and `card_le_aleph0_iff_countable` connect the bundled and unbundled formulations of symbol countability.
* `Countable.countable_sum`, `Countable.countable_constantsOn`, and `Countable.countable_withConstants` centralize countability instances for language constructors and remove the corresponding local instances from `Encoding.lean`.
## Motivation
Following review feedback from @NoneMore, this PR now also simplifies existing Mathlib code: generic countability instances for `Language.sum`, `constantsOn`, and `withConstants` live beside those constructors, so `Encoding.lean` no longer needs its own cardinal-arithmetic proofs for them.
The broader motivation comes from projects in infinitary model theory that build on Mathlib, in which one typically needs to carry around a hypothesis about countability of the set of symbols.
Specifically, in [cameronfreer/infinitary-logic](https://github.com/cameronfreer/infinitary-logic) the two sorts are carried unbundled and independently throughout; there are roughly 180 occurrences of the relation-symbol hypothesis and 24 of the function-symbol one. Here are a few examples:
* [`Methods/Henkin/ModelExistence.lean#L60`](https://github.com/cameronfreer/infinitary-logic/blob/1a478e80794080a536931c029281bb65266b3171/InfinitaryLogic/Methods/Henkin/ModelExistence.lean#L60): model existence, carrying both hypotheses side by side;
* [`Admissible/Compactness.lean#L90`](https://github.com/cameronfreer/infinitary-logic/blob/1a478e80794080a536931c029281bb65266b3171/InfinitaryLogic/Admissible/Compactness.lean#L90): Barwise completeness, likewise;
* [`Descriptive/Polish.lean#L46`](https://github.com/cameronfreer/infinitary-logic/blob/1a478e80794080a536931c029281bb65266b3171/InfinitaryLogic/Descriptive/Polish.lean#L46): a section variable assuming only the relation symbols are countable, which is where one notices the missing companion instance;
* [`Methods/LopezEscobar/CodeClass.lean#L29`](https://github.com/cameronfreer/infinitary-logic/blob/1a478e80794080a536931c029281bb65266b3171/InfinitaryLogic/Methods/LopezEscobar/CodeClass.lean#L29): a custom `Countable (Σ n, L.Functions n)` instance for relational languages, which is an example of the bookkeeping that arises from the two sorts not being related by a single lemma.
(Note that the `countable_functions` and `countable_relations` instances only project *out of* `Countable L.Symbols` into a summand; the converse direction is stated as a theorem rather than an instance, so there is no risk of an instance cycle.)
🤖 These proofs were written with the assistance of Claude Opus 5 high and reviewed by GPT Sol 5.6 xhigh.
|
t-logic
new-contributor
LLM-generated
|
33/12 |
Mathlib/ModelTheory/Basic.lean,Mathlib/ModelTheory/Encoding.lean,Mathlib/ModelTheory/LanguageMap.lean |
3 |
5 |
['NoneMore', 'cameronfreer', 'github-actions'] |
nobody |
82-13767 2 months ago |
83-40028 83 days ago |
83-39705 83 days |
0 |
| 42178 |
cameronfreer author:cameronfreer |
feat(Computability/Primrec/List): add theorems showing that List.all, List.any and List.sum are primitive recursive |
Add the parameterized `list_all`, `list_any` and natural-number `list_sum`, in the style of the existing `list_map`, `list_foldr` and `list_findIdx`.
Mathlib already has a parameterized core, but no direct lemmas for these standard list operations, so downstream developments tend to reconstruct them from `list_foldr` at each use site. In the course of writing [cameronfreer/computable-analysis](https://github.com/cameronfreer/computable-analysis) I ended up needing this in three places, all of which can now make use of the results here instead (see [a6898b5](https://github.com/cameronfreer/computable-analysis/commit/a6898b5), in particular `Weihrauch/Principles/Limit.lean:117`, `TypeTwo/PrefixTable.lean:334,351,369`, and `Measure/DisintegrateLower.lean:877,902`).
:robot: These proofs were written with the assistance of Claude Opus 5 high and reviewed by GPT Sol 5.6 xhigh. |
t-computability
new-contributor
LLM-generated
|
21/1 |
Mathlib/Computability/Primrec/List.lean |
1 |
4 |
['cameronfreer', 'github-actions'] |
nobody |
82-13760 2 months ago |
84-33166 84 days ago |
84-32843 84 days |
0 |
| 42513 |
plp127 author:plp127 |
feat(ModelTheory): typeclass for theory to have nonempty models |
We add a typeclass for a theory to have nonempty models. We provide instances for `nonemptyTheory`, `infiniteTheory`, and `completeTheory`.
---
- [x] depends on: #42508
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
51/0 |
Mathlib/ModelTheory/Algebra/Ring/Basic.lean,Mathlib/ModelTheory/Semantics.lean |
2 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
74-22997 2 months ago |
74-23068 74 days ago |
74-31701 74 days |
1 |
| 40741 |
AntoineduFresne author:AntoineduFresne |
feat(order): dilworth's and mirsky's theorems for finite orders |
I add Dilworth's theorem and its order dual, Mirsky's theorem, for finite subsets of a partial order, together with the order-theoretic lemmas they rest on.
A prior external formalization by Vlad Tsyrklevich is linked from `1000.yaml`; this is an independent `Finset`-based development using Galvin's proof, and I agreed the `1000.yaml` update with him.
I split the min-max content, as for Hall's marriage theorem, into a weak-duality inequality and a strong-duality existence of a matching pair, so I never define an extremal quantity over families of sets (no `Finset.min'` / `Finset.max'`):
- `dilworth` / `mirsky` — an antichain and a chain cover (resp. a chain and an antichain cover) of equal size;
- `antichain_le_chain_cover` / `chain_le_antichain_cover` — the weak-duality inequalities, for an arbitrary relation;
- `dilworth_partition` / `mirsky_partition` — the same with a pairwise-disjoint partition.
For Dilworth I use Galvin's induction (gluing step `chainCover_glue`); I avoid the König /
bipartite-matching route since König isn't in Mathlib yet (at least last time I checked). I prove Mirsky directly (peeling off minimal elements) rather than via `OrderDual`, since the direct induction seems simpler to me and the two proofs already share their foundations (the closure lemmas and the injective weak dualities).
Internally I work with an injection `f : α → Finset α` on the antichain rather than with the
`Finset (Finset α)` cover directly, so distinctness of the chains comes from the antichain property instead of a separate bookkeeping.
## Questions I'd like input on
1. Explicit min-max? I give weak duality plus a matching pair, from which "largest antichain = smallest chain cover" follows; I do not state that equality as a single theorem (doing so would, I think, mean defining the extremal quantities I wanted to avoid). Would you also like an explicit min-max statement?
2. Two layers of weak duality. I expose it twice: an injective form (`IsAntichain.exists_injOn_mem_chains`, over an arbitrary relation and an arbitrary index type, no finiteness) and a `Finset` cardinality form (`antichain_le_chain_cover`), the latter a one-line specialization of the former. I'm not sure whether exposing both is right, or whether one of them should be canonical. And is there appetite to push the general core to an `ℕ∞` / infinite version, or is the finite form the right scope here?
3. `[DecidableEq α]` on the main theorems. It comes only from writing the cover as
`s = 𝒞.biUnion id` (`Finset.biUnion` needs it); a membership-form coverage condition such as `∀ x, x ∈ s ↔ ∃ C ∈ 𝒞, x ∈ C` would drop the assumption, though it seems to me a bit less readable. Which do you prefer? (I think the injective-form weak dualities assume neither order, finiteness, nor `DecidableEq`.)
4. Naming. I use `C` / `A` for a chain / antichain and `𝒞` / `𝒜` for a chain / antichain cover (for hopefully obvious reason). Happy to change these if you would prefer something else.
## Open questions
- File placement (`Mathlib/Order/Dilworth.lean`?), and whether the general lemmas (the injective transversal and the weak dualities) should live in `Mathlib/Order/Antichain.lean` rather than in a new file.
The maximal-antichain closure lemma that was originally here has been split out into #42590.
Zulip: https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Antoine.20du.20Fresne.20von.20Hohenesche/with/604112426
AI use: I worked out all proofs on paper first and most of the design structure of the file. I then used Claude Code (Claude Opus) to transcribe my paper proofs into Lean, weaken hypotheses, reduce redundancy, and fix comment typos.
|
t-order
new-contributor
LLM-generated
|
568/3 |
Mathlib.lean,Mathlib/Order/Dilworth.lean,docs/1000.yaml |
3 |
18 |
['AntoineduFresne', 'SnirBroshi', 'github-actions', 'tdwag123'] |
nobody |
72-33674 2 months ago |
72-33727 72 days ago |
124-33908 124 days |
0 |
| 42639 |
Raph-DG author:Raph-DG |
feat(Order): krullDimLE characterisation |
In this PR, we show that a preorder has krull dim at most n if and only if every element with coheight greater than n is minimal (+ the dual version and some small corollaries).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
42/0 |
Mathlib/Order/KrullDimension.lean |
1 |
2 |
['github-actions'] |
nobody |
69-37574 2 months ago |
69-37663 69 days ago |
69-37340 69 days |
0 |
| 42629 |
SnirBroshi author:SnirBroshi |
feat(Order/RelSeries): `FiniteDimensionalOrder` implies `WellFoundedLT` |
and `WellFoundedGT`
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
13/0 |
Mathlib/Order/RelSeries.lean |
1 |
6 |
['SnirBroshi', 'github-actions', 'plp127', 'vihdzp'] |
nobody |
69-34145 2 months ago |
69-49079 69 days ago |
69-48756 69 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 |
68-27625 2 months ago |
68-31635 68 days ago |
68-31312 68 days |
0 |
| 42343 |
brianrabern author:brianrabern |
feat(Combinatorics/SimpleGraph): extend a coloring to one more vertex |
Add `Colorable.of_induce_compl_singleton`: if deleting a vertex `v` leaves an `n`-colourable graph and `deg(v) < n`, then `G` itself is `n`-colourable.
This is a local colouring-extension / induction step (colour `G - v`, then assign `v` a free colour). It is useful for inductive arguments such as Brooks' theorem. The global greedy bound `χ ≤ Δ + 1` is developed separately in #38357.
AI assistance: LLM was used to smooth it out and put things in the expected style
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/) |
t-combinatorics
new-contributor
LLM-generated
|
35/0 |
Mathlib/Combinatorics/SimpleGraph/Coloring/Vertex.lean |
1 |
11 |
['Parcly-Taxel', 'SnirBroshi', 'bocowgill', 'brianrabern', 'github-actions'] |
nobody |
67-75987 2 months ago |
73-45357 73 days ago |
79-81001 79 days |
0 |
| 42471 |
mo271 author:mo271 |
feat(RingTheory/LaurentSeries): add Leibniz rule |
This adds `hasseDeriv_mul` and `derivative_mul`.
Written with the help of Gemini
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
LLM-generated
|
101/0 |
Mathlib/RingTheory/LaurentSeries.lean |
1 |
10 |
['felixpernegger', 'github-actions', 'mathlib-bors', 'mo271', 'wwylele'] |
nobody |
67-38887 2 months ago |
67-38887 67 days ago |
73-36238 73 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 |
66-9091 2 months ago |
66-9200 66 days ago |
66-10473 66 days |
0 |
| 42758 |
cameronfreer author:cameronfreer |
feat(ModelTheory): add syntax and semantics for infinitary logic |
Add basic syntax and semantics for infinitary model theory of L∞ω (and Lω₁ω).
The new `BoundedFormulaInf L ι α n` uses index type `ι` for all of a formula's infinitary conjunctions and disjunctions, and the definitional
```lean
abbrev BoundedFormulaω (α : Type u') (n : ℕ) := L.BoundedFormulaInf ℕ α n
```
lands in exactly the universe of the finitary `BoundedFormula`, as suggested by @plp127 in [#mathlib4 > ModelTheory: API for infinitary formulas of L_{∞,ω} @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/ModelTheory.3A.20API.20for.20infinitary.20formulas.20of.20L_.7B.E2.88.9E.2C.CF.89.7D/near/613390601).
This PR contains `iSup`/`iInf` constructors, derived connectives together with `alls`/`exs`, `Realize` with `simp` lemmas for every constructor and derived connective, and the embedding `BoundedFormula.toInf` with `realize_toInf`.
I developed this with extensive assistance from several Claude and GPT models along with [lean4-skills](https://github.com/cameronfreer/lean4-skills) and [lean-lsp-mcp](https://github.com/oOo0oOo/lean-lsp-mcp) as part of the ongoing project [cameronfreer/infinitary-logic](https://github.com/cameronfreer/infinitary-logic/). |
t-logic
LLM-generated
new-contributor
|
446/0 |
Mathlib.lean,Mathlib/ModelTheory/Infinitary/Semantics.lean,Mathlib/ModelTheory/Infinitary/Syntax.lean,MathlibTest/InfinitarySyntax.lean |
4 |
4 |
['cameronfreer', 'github-actions'] |
nobody |
65-80129 2 months ago |
65-83032 65 days ago |
67-61671 67 days |
0 |
| 42819 |
SnirBroshi author:SnirBroshi |
feat(Order/ConditionallyCompleteLattice/Indexed): a binary function achieves its minimum |
In a `ConditionallyCompleteLinearOrder` with `WellFoundedLT`.
Also spell the existing unary version as `∃ i, f i = ⨅ i, f i` instead of `iInf f ∈ range f`.
---
Dual theorems are blocked by #39438
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
16/10 |
Mathlib/Combinatorics/SimpleGraph/Girth.lean,Mathlib/Data/ENat/Lattice.lean,Mathlib/Dynamics/TopologicalEntropy/CoverEntropy.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean,Mathlib/SetTheory/Cardinal/Cofinality/Basic.lean,Mathlib/SetTheory/Ordinal/Basic.lean |
6 |
1 |
['github-actions'] |
nobody |
65-23031 2 months ago |
65-23092 65 days ago |
65-22769 65 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 |
64-31487 2 months ago |
64-31547 64 days ago |
73-47164 73 days |
0 |
| 42775 |
hawkrobe author:hawkrobe |
feat(RingTheory/HopfAlgebra): construct Hopf algebras from generators |
Upgrade a bialgebra to a Hopf algebra from antipode data on an algebra-generating set (`HopfAlgebra.ofGenerators`), plus the primitive-element form `HopfAlgebra.ofPrimitives`. Split out of #39841.
This looks more elegant using Sweedler notation (this proof was taken from a comment in #31898) but mathlib doesn't have the notation available as far as I know.
- [x] depends on: #39841 |
t-ring-theory
new-contributor
|
153/6 |
Mathlib.lean,Mathlib/RingTheory/HopfAlgebra/Generators.lean,Mathlib/RingTheory/HopfAlgebra/Primitive.lean |
3 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
63-33310 2 months ago |
63-33374 63 days ago |
64-56709 64 days |
1 |
| 42956 |
SnirBroshi author:SnirBroshi |
feat(SimpleGraph/Walk/Chord): chords of `Walk.map` |
---
Not sure if `Chord.lean` should import `Maps.lean` or vice versa.
Importing both from `Copy.lean` would avoid `large-import`, but I don't think that's right.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
|
38/2 |
Mathlib/Combinatorics/SimpleGraph/Walk/Chord.lean |
1 |
1 |
['github-actions'] |
nobody |
60-3556 1 month ago |
60-5667 60 days ago |
61-75602 61 days |
0 |
| 42561 |
SnirBroshi author:SnirBroshi |
feat(Order/RelSeries): order series by refinement |
Define a partial order on `RelSeries`, add basic lemmas for the operations (e.g. `p < p.append q`), and relate to `IsChain` on sets.
This lets us spell "maximal chain" using series.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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-order
|
150/6 |
Mathlib/Order/RelSeries.lean |
1 |
1 |
['github-actions'] |
nobody |
59-41446 1 month ago |
59-41575 59 days ago |
73-40835 73 days |
0 |
| 43048 |
alreadydone author:alreadydone |
feat(Counterexamples): an invertible semimodule of different cardinality than the semiring |
example due to Sixuan Gu (CUHKSZ) and Wei Qi (Ohio State U)
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
183/0 |
Counterexamples.lean,Counterexamples/CommSemiring7InvertibleModule6.lean,Mathlib/RingTheory/Spectrum/Maximal/Basic.lean |
3 |
1 |
['github-actions'] |
nobody |
58-82545 1 month ago |
58-82675 58 days ago |
58-82402 58 days |
0 |
| 43029 |
harahu author:harahu |
chore(RingTheory): tidy markdown headers |
This PR:
- ensures all files in `Mathlib/RingTheory` have one and only one H1 header,
- better aligns some H2 headers with the style guide.
For files missing a module header, new headers were 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/)
|
t-ring-theory |
48/36 |
Mathlib/RingTheory/AdicCompletion/LocalRing.lean,Mathlib/RingTheory/Algebraic/StronglyTranscendental.lean,Mathlib/RingTheory/DedekindDomain/GaussLemma.lean,Mathlib/RingTheory/Flat/IsBaseChange.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean,Mathlib/RingTheory/HopkinsLevitzki.lean,Mathlib/RingTheory/Ideal/IdempotentFG.lean,Mathlib/RingTheory/Jacobson/Radical.lean,Mathlib/RingTheory/Kaehler/JacobiZariski.lean,Mathlib/RingTheory/LocalRing/Quotient.lean,Mathlib/RingTheory/Localization/Away/AdjoinRoot.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean,Mathlib/RingTheory/MvPowerSeries/Expand.lean,Mathlib/RingTheory/MvPowerSeries/LinearTopology.lean,Mathlib/RingTheory/NoetherNormalization.lean,Mathlib/RingTheory/Perfectoid/BDeRham.lean,Mathlib/RingTheory/Perfectoid/FontaineTheta.lean,Mathlib/RingTheory/Perfectoid/Untilt.lean,Mathlib/RingTheory/Polynomial/ShiftedLegendre.lean,Mathlib/RingTheory/PowerSeries/Expand.lean,Mathlib/RingTheory/RegularLocalRing/Defs.lean,Mathlib/RingTheory/SimpleModule/InjectiveProjective.lean,Mathlib/RingTheory/SimpleRing/DivisionRing.lean,Mathlib/RingTheory/SimpleRing/Matrix.lean,Mathlib/RingTheory/Spectrum/Prime/IsOpenComapC.lean,Mathlib/RingTheory/TensorProduct/IsBaseChangeRightExact.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean,Mathlib/RingTheory/Trace/Quotient.lean,Mathlib/RingTheory/WittVector/Frobenius.lean,Mathlib/RingTheory/WittVector/Identities.lean,Mathlib/RingTheory/WittVector/Isocrystal.lean,Mathlib/RingTheory/WittVector/MulP.lean,Mathlib/RingTheory/WittVector/Verschiebung.lean |
33 |
11 |
['github-actions', 'grunweg', 'harahu'] |
nobody |
57-21789 1 month ago |
57-22425 57 days ago |
59-36231 59 days |
0 |
| 40470 |
gasparattila author:gasparattila |
feat(Order/Partition/Finpartition): generalize `atomise` to `GeneralizedBooleanAlgebra` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #40276
[](https://gitpod.io/from-referrer/)
|
t-order |
141/66 |
Mathlib/Combinatorics/SimpleGraph/Regularity/Chunk.lean,Mathlib/Order/Partition/Finpartition.lean |
2 |
4 |
['gasparattila', 'github-actions', 'mathlib-dependent-issues'] |
nobody |
57-12065 1 month ago |
68-77572 68 days ago |
68-85060 68 days |
0 |
| 41481 |
SnirBroshi author:SnirBroshi |
feat(SimpleGraph/Connectivity/Connected): a preconnected graph with finitely many edges has finitely many vertices |
`Finite V ↔ Finite G.Dart ↔ G.support.Finite ↔ G.edgeSet.Finite`
---
`#G.Dart = 2 * #G.edgeSet` is also true (#36406) which could simplify the `edgeSet` proof, but it's in `DegreeSum.lean` and more complicated. Having `Finite` theorems seems 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/)
|
t-combinatorics
large-import
|
79/1 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Dart.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean |
4 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
56-85112 1 month ago |
56-85201 56 days ago |
90-42333 90 days |
0 |
| 43036 |
SnirBroshi author:SnirBroshi |
feat(Order/RelSeries): a strict order on a finite domain is finite dimensional |
Bound the length of a `RelSeries r` by the cardinality of `α` when `r` is a strict order (irreflexive and transitive), and show:
- `Finite α → r.IsIrrefl → r.IsTrans → Finite (RelSeries r)`
- `Infinite α → Infinite (RelSeries r)`
- `Finite α → Nonempty α → r.IsIrrefl → r.IsTrans → r.FiniteDimensional`
- `r.IsIrrefl → r.IsTrans → r.InfiniteDimensional → Infinite α`
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
62/13 |
Mathlib.lean,Mathlib/Order/RelSeries.lean,Mathlib/Order/RelSeries/Lemmas.lean |
3 |
1 |
['github-actions'] |
nobody |
56-71895 1 month ago |
56-72077 56 days ago |
59-50924 59 days |
0 |
| 43023 |
SnirBroshi author:SnirBroshi |
feat(Order/RelSeries): change `FiniteDimensional` to allow empty types |
This also means that the zero ring is now `FiniteRingKrullDim`, and that `Empty` is `FiniteDimensionalOrder`.
[#mathlib4 > Should zero ring be finite-dimensional?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Should.20zero.20ring.20be.20finite-dimensional.3F/with/495871110)
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
67/55 |
Mathlib/Order/KrullDimension.lean,Mathlib/Order/RelSeries.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/KrullDimension/Basic.lean |
5 |
3 |
['SnirBroshi', 'github-actions', 'themathqueen'] |
nobody |
56-3689 1 month ago |
60-7455 60 days ago |
60-7132 60 days |
0 |
| 40620 |
SnirBroshi author:SnirBroshi |
feat(Order/SuccPred/CompleteLinearOrder): `sSup s = ⊤` iff theorems for `WithTop` |
For a `[ConditionallyCompleteLinearOrderBot α]` with `(s : Set (WithTop α))`:
- `sSup s = ⊤ ↔ ∀ a : α, ∃ b ∈ s, a < b`
- `[NoMaxOrder α] → sSup s = ⊤ ↔ ∀ a : α, ∃ b ∈ s, a ≤ b`
and the matching `iSup` theorems.
These can't be dualized because `ConditionallyCompleteLinearOrderBot` has no dual.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #38612
[](https://gitpod.io/from-referrer/)
|
t-order |
26/0 |
Mathlib/Order/SuccPred/CompleteLinearOrder.lean,Mathlib/Order/WithBot.lean |
2 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
55-72235 1 month ago |
55-72283 55 days ago |
55-74158 55 days |
1 |
| 43123 |
harahu author:harahu |
chore(Testing): tidy markdown headers |
This PR ensures files in `Mathlib/Testing` 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/)
|
|
5/1 |
Mathlib/Testing/Plausible/Functions.lean,Mathlib/Testing/Plausible/Sampleable.lean,Mathlib/Testing/Plausible/Testable.lean |
3 |
1 |
['github-actions'] |
nobody |
55-35411 1 month ago |
55-35542 55 days ago |
55-35219 55 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/)
|
|
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 |
1 |
['github-actions'] |
nobody |
55-34892 1 month ago |
55-34950 55 days ago |
55-34627 55 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 |
111/20 |
Mathlib/Algebra/Polynomial/Reverse.lean,Mathlib/RingTheory/Henselian.lean |
2 |
2 |
['github-actions'] |
nobody |
53-41275 1 month ago |
53-41494 53 days ago |
57-35761 57 days |
0 |
| 42283 |
YaelDillies author:YaelDillies |
feat(RingTheory): diagonalisable Hopf algebras |
Define diagonalisable Hopf algebras as those that are isomorphic to some group algebra. We will prove in a later PR that they are closed under tensor product.
From Toric
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
toric
|
168/1 |
Mathlib.lean,Mathlib/LinearAlgebra/Finsupp/LinearCombination.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean,Mathlib/RingTheory/HopfAlgebra/Basic.lean,Mathlib/RingTheory/HopfAlgebra/Diagonalisable.lean |
5 |
1 |
['github-actions'] |
nobody |
53-16792 1 month ago |
81-42177 81 days ago |
81-41854 81 days |
1 |
| 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 |
51-77904 1 month ago |
51-78091 51 days ago |
78-82631 78 days |
0 |
| 43258 |
ScottCarnahan author:ScottCarnahan |
feat(Algebra/MonoidAlgebra/PointwiseSMul): add smulAntidiagonal and API |
Given actions of `R` on `V` and `G` on `P`, the `smulAntidiagonal` of `f : MonoidAlgebra R G` and `x : P → V` at `p : P` is the finset in `G × P` whose elements scalar-multiply to `p` and whose components lie in the support of `f` and `x`. This PR defines the `smulAntidiagonal` and shows that convolutional scalar multiplication coincides with monoid algebra multiplication when `V = R` and `P = G`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
49/0 |
Mathlib/Algebra/MonoidAlgebra/PointwiseSMul.lean |
1 |
1 |
['github-actions'] |
nobody |
49-71982 1 month ago |
49-72034 49 days ago |
50-19030 50 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 |
49-37326 1 month ago |
49-37393 49 days ago |
65-22382 65 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 |
49-20421 1 month ago |
55-29161 55 days ago |
55-29416 55 days |
4 |
| 42468 |
Cobord author:Cobord |
feat: added lambda rings |
Description:
This does lambda rings. It is mostly over rationals so we can concern ourselves only with the psi^n operations and not the more complicated lambda^n operations. Doing the more general case could be another PR. This also includes the Getzler type formulation as the map involving Lambda_R the ring of symmetric functions in countably many variables (which again because R is assumed as [Algebra Q R] is described with it's power sum generators). That is to say the Plethystic action. Homomorphisms of such lambda rings are also covered. In particular, those of inclusions of subrings closed under those psi^n operations. In addition, one of the primary motivating examples of K(GL(n)/P) otimes_Z Q is described as such an instance to provide an example that is not Lambda_R.
This was done with Claude Code for generating initial versions but I had not given a good full prompt about prefering psi^n over lambda^n or using a structure instead of a prop in AdamsHom so I ended up rewriting most of those parts by hand anyway. The exception is the PrimeExtend file which is about only giving the psi^p instead of all of the psi^n, but abstracted away from those particular details per clarifying instructions after an initial version.
Because PrimeExtend is so much, this has a tag of
LLM-generated
In addition even though it is in RingTheory it is highly relevant to
t-combinatorics
in the sense of algebraic combinatorics due to use of ring of symmetric functions in countably many variables. |
t-ring-theory
new-contributor
t-combinatorics
LLM-generated
|
898/0 |
Mathlib.lean,Mathlib/RingTheory/LambdaRing/AdamsHom.lean,Mathlib/RingTheory/LambdaRing/AdamsOperations.lean,Mathlib/RingTheory/LambdaRing/KFlagExample.lean,Mathlib/RingTheory/LambdaRing/PrimeExtend.lean,Mathlib/RingTheory/LambdaRing/SymmetricFunctions.lean |
6 |
4 |
['Cobord', 'github-actions'] |
nobody |
48-69018 1 month ago |
48-69235 48 days ago |
71-7605 71 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
|
12/5 |
Mathlib/Order/Hom/WithTopBot.lean,Mathlib/Order/WithBot.lean |
2 |
1 |
['github-actions'] |
nobody |
47-18968 1 month ago |
47-19024 47 days ago |
47-18701 47 days |
0 |
| 43095 |
plp127 author:plp127 |
chore(Data/PFunctor): reduce defeq abuse around `PFunctor.W` |
Reduce the defeq abuse around `PFunctor.W` by adding some API.
---
- [x] depends on: #43056
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
tech debt
|
88/52 |
Mathlib/Data/PFunctor/Multivariate/W.lean,Mathlib/Data/PFunctor/Univariate/Basic.lean,Mathlib/Data/QPF/Univariate/Basic.lean |
3 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
46-85035 1 month ago |
46-85178 46 days ago |
47-8522 47 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. |
new-contributor
t-algebra
label:t-algebra$ |
87/0 |
Mathlib.lean,Mathlib/RepresentationTheory/Hecke/Basic.lean |
2 |
8 |
['JX-Mo', 'Whysoserioushah', 'github-actions'] |
nobody |
46-40473 1 month ago |
46-40629 46 days ago |
57-15449 57 days |
0 |
| 43407 |
thomaskwaring author:thomaskwaring |
feat(Order/Hom/CompleteLattice): order adjoints for `{sSup/sInf}Hom` |
This PR defines the order adjoint of a `sSup` or `sInf` preserving function, which defines an equivalence `sSupHom α β ≃ sInfHom β α`, and an order isomorphism `sSupHom α β ≃o (sInfHom β α)ᵒᵈ` (plus duals).
---
I'm not 100% certain on the naming here, and would very much appreciate any advice & help with `to_dual` — an alternative option is `upperAdj` and `lowerAdj`, which `to_dual`-ises automatically.
[](https://gitpod.io/from-referrer/)
|
t-order |
69/0 |
Mathlib/Order/Hom/CompleteLattice.lean |
1 |
4 |
['SnirBroshi', 'github-actions', 'thomaskwaring'] |
nobody |
46-27422 1 month ago |
46-81456 46 days ago |
47-4205 47 days |
0 |
| 42716 |
Raph-DG author:Raph-DG |
feat(CategoryTheory): module structure on ext groups |
In this PR, we construct an R module structure on Ext A G n given a ring homomorphism (φ : R →+* End G). We also show that this module structure agrees with the existing module structure on Ext A G n in the case where the ambient category is R linear.
The main motivation for doing this is that until we have some nice comparison lemmas going between cohomology taken in the category of sheaves of modules and cohomology taken in the category of sheaf of abelian groups, I think it will be more useful to work with the cohomology of the underlying sheaf of abelian groups of a sheaf of modules. However, the category of sheaves of abelian groups is not R linear for most R, so we do not immediately inherit R-module structure on the cohomology groups from this machinery.
AI disclosure: I had AI perform some cleanups and edits to some code originally written by me, as well as having it move things into the correct files. I also had it create this branch from another branch which I decided had too much content for a single PR.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
31/0 |
Mathlib/Algebra/Homology/DerivedCategory/Ext/Linear.lean |
1 |
3 |
['github-actions', 'mathlib-bors'] |
nobody |
46-20157 1 month ago |
53-21400 53 days ago |
68-22346 68 days |
1 |
| 43461 |
mcdoll author:mcdoll |
feat(Analysis/SchwartzMap): missing lemmas about inverse Fourier transform |
Adds lemmas that are already present for the Fourier transform, plus a pair of lemmas for the relation to the `L1` Fourier transform.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
54/0 |
Mathlib/Analysis/Distribution/SchwartzSpace/Fourier.lean |
1 |
1 |
['github-actions'] |
nobody |
45-25161 1 month ago |
45-26001 45 days ago |
45-25678 45 days |
1 |
| 43464 |
gasparattila author:gasparattila |
fix(LinearAlgebra/Projectivization/Subspace): fix non-defeq `Min` instances |
The `CompleteLattice` instance of `Projectivization.Subspace` is currently defined using `completeLatticeOfInf`, which conflicts with the `Min` instance defined earlier. This PR fixes this by overriding the `inf` field. To avoid possible issues with `⊥` and `⊤`, they are also redefined to have good defeqs.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
17/20 |
Mathlib/LinearAlgebra/Projectivization/Subspace.lean |
1 |
1 |
['github-actions'] |
nobody |
45-21400 1 month ago |
45-21655 45 days ago |
45-21332 45 days |
0 |
| 41633 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Paths): length of closed a walk/trail isn't `1`/`2` |
For a closed walk `p`:
- `p.length ≠ 1`
- `p.IsTrail` → `p.length ≠ 2`
- `p.IsTrail` → `p.length ≤ 2` → `p.Nil`
---
Since a circuit is a closed non-nil trail, `IsTrail.nil_of_length_le_two` is basically the contrapositive of `IsCircuit.three_le_length`, but I think this form is 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/)
|
t-combinatorics |
11/4 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
45-15693 1 month ago |
45-15930 45 days ago |
96-34116 96 days |
0 |
| 43478 |
plp127 author:plp127 |
feat(Data/PFunctor): pointfree lemmas for map |
Prove `PFunctor.map_id` and `PFunctor.map_comp_map`, pointfree analogues of `PFunctor.id_map` and `PFunctor.map_map`. The names are chosen to match the corresponding lemmas for `LawfulFunctor`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
5/0 |
Mathlib/Data/PFunctor/Univariate/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
44-54761 1 month ago |
44-54968 44 days ago |
44-54645 44 days |
0 |
| 42370 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Maps): more `map`/`comap` 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-combinatorics |
114/9 |
Mathlib/Combinatorics/SimpleGraph/Maps.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
43-78203 1 month ago |
43-78420 43 days ago |
78-36144 78 days |
1 |
| 43507 |
SnirBroshi author:SnirBroshi |
fix(Combinatorics/SimpleGraph): namespace `completeBipartiteGraph` under `SimpleGraph` |
and fix the names of `CompleteBipartiteGraph.bicoloring` and `CompleteBipartiteGraph.chromaticNumber`.
---
Moved the `namespace SimpleGraph` in `Basic.lean` to right after the definition of `SimpleGraph`, to avoid putting things outside of the 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-combinatorics |
29/20 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/Vertex.lean |
2 |
1 |
['github-actions'] |
nobody |
43-46007 1 month ago |
43-46098 43 days ago |
43-59211 43 days |
0 |
| 43519 |
harahu author:harahu |
chore(Order/Interval/Set/SuccPred): generalize lemmas |
We generalize five lemmas from `LinearOrder` to `Preorder` and three to `PartialOrder`.
The motivation for the `Preorder` generalizations is to enable deprecation of the almost identical results in `Mathlib/Order/SuccPred/Basic.lean`. The results in that file are stated more generally, so we need to generalize in order to subsume them properly.
---
We're aiming to keep the statements in the touched file rather than those in `SuccPred/Basic.lean` based on [this discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/duplicate.20succ.20interval.20lemmas/with/621955635).
This PR has significant overlap with #23810, but does not cover `Finset/SuccPred.lean`. The touched file in this PR asks to be kept in sync with the `Finset` sibling, but there is already a lot of divergence since the `Finset` file hasn't been treated with `to_dual` yet. I therefore suggest that `Finset/SuccPred.lean` and the other sibling files be brought up to date in a subsequent PR.
The generalizations were performed by Claude Code, and thereafter reviewed and somewhat cleaned up 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-order |
61/19 |
Mathlib/Order/Interval/Set/SuccPred.lean |
1 |
3 |
['github-actions', 'harahu', 'vihdzp'] |
vihdzp assignee:vihdzp |
43-26123 1 month ago |
43-26307 43 days ago |
43-30534 43 days |
0 |
| 43526 |
vihdzp author:vihdzp |
chore(Topology/CantorBendixson): cleanup + more basic API |
We perform various small golfs, make some variables explicit, and add a few trivial 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]
-->
I would've suggested all of this in #37375, but somehow that PR went under my radar.
[](https://gitpod.io/from-referrer/)
|
t-topology |
58/57 |
Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean,Mathlib/Topology/CantorBendixson.lean,Mathlib/Topology/DerivedSet.lean |
3 |
1 |
['github-actions'] |
nobody |
43-25953 1 month ago |
43-29121 43 days ago |
43-28798 43 days |
0 |
| 43360 |
metakunt author:metakunt |
feat(RingTheory/AdjoinRoot/MapCyclotomic): define algebra isomorphism isAdjoinRoot for roots of unity |
From #43343
Section is deliberately not exposed. I think the API developed should be enough. But if needed it can always be exposed later. |
t-ring-theory
LLM-generated
|
111/7 |
Mathlib.lean,Mathlib/RingTheory/AdjoinRoot/MapCyclotomic.lean,Mathlib/RingTheory/IsAdjoinRoot.lean |
3 |
19 |
['github-actions', 'mathlib-bors', 'metakunt', 'tb65536'] |
nobody |
43-6217 1 month ago |
43-6783 43 days ago |
44-82046 44 days |
0 |
| 43549 |
JovanGerb author:JovanGerb |
chore(Algebra/Homology/HasNoLoop): use `to_dual` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
4/16 |
Mathlib/Algebra/Homology/HasNoLoop.lean |
1 |
1 |
['github-actions'] |
nobody |
43-3373 1 month ago |
43-3475 43 days ago |
43-3152 43 days |
0 |
| 43309 |
YaelDillies author:YaelDillies |
refactor(Geometry/Convex): make `StdSimplex` extend `Finsupp` |
Among other things, this lets users write `w.support` for `w : StdSimplex _ _` instead of `w.weights.support`. It prints the same, however.
From the Polytopes in Berlin workshop, where participants requested that they could write `w.support` instead of `w.weights.support`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
6/4 |
Mathlib/Geometry/Convex/ConvexSpace/Barycenter.lean,Mathlib/Geometry/Convex/ConvexSpace/Defs.lean |
2 |
4 |
['YaelDillies', 'b-mehta', 'github-actions'] |
nobody |
41-76134 1 month ago |
41-76331 41 days ago |
47-5840 47 days |
0 |
| 43401 |
thomaskwaring author:thomaskwaring |
feat(Order): counterparts of `iSupIndep.disjoint_biSup_biSup{'}` for `sSup` |
Transfer `iSupIndep.disjoint_biSup_biSup'` and `iSupIndep.disjoint_biSup_biSup` to `sSupIndep.disjoint_sSup_sSup'` and `sSupIndep.disjoint_sSup_sSup`. Also add the supporting rewrite lemma `biSup_preimage`, roughly dual to `sSup_image`.
---
Used downstream for working with `Partition`, whose fields are stated in terms of `sSupIndep`.
[](https://gitpod.io/from-referrer/)
|
t-order |
22/0 |
Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/SupIndep.lean |
3 |
5 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
41-40630 1 month ago |
41-40768 41 days ago |
46-36725 46 days |
0 |
| 43608 |
SnirBroshi author:SnirBroshi |
chore(Order/RelClasses): remove redundant instances |
Some instances can be synthesized but are necessary to help `to_dual`, so they are kept.
---
Also remove instance names using `to_dual none`.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
31/70 |
Mathlib/Order/Quotient.lean,Mathlib/Order/RelClasses.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/SetTheory/ZFC/Basic.lean |
4 |
3 |
['SnirBroshi', 'github-actions', 'leanprover-radar'] |
nobody |
41-20820 1 month ago |
41-23735 41 days ago |
41-23412 41 days |
0 |
| 43626 |
mathlib-splicebot author:mathlib-splicebot |
chore(Algebra/GroupWithZero/Basic): automated extraction from #43343 |
This PR was automatically created from PR #43343 by @metakunt via a [review comment](https://github.com/leanprover-community/mathlib4/pull/43343#discussion_r3969323130) by @metakunt. |
t-algebra label:t-algebra$ |
21/1 |
Mathlib/Algebra/GroupWithZero/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
41-14111 1 month ago |
41-14209 41 days ago |
41-13886 41 days |
1 |
| 43637 |
gasparattila author:gasparattila |
feat(Topology/Sets): `ClosedIciTopology` and `OrderClosedTopology` instances for `Compacts` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
41/0 |
Mathlib/Topology/Sets/VietorisTopology.lean |
1 |
1 |
['github-actions'] |
nobody |
41-6789 1 month ago |
41-7243 41 days ago |
41-6920 41 days |
0 |
| 42724 |
kim-em author:kim-em |
feat(RingTheory/Polynomial/Hermite): derivatives and the generating function |
This PR adds the classical derivative identities, three-term recurrence, parity, and exponential generating function for the probabilists' Hermite polynomials. The algebraic results include `derivative_hermite`, `iterate_derivative_hermite`, `hermite_add_two`, and polynomial and evaluated forms of parity; the analytic results prove `∑' n, Hₙ(x) * tⁿ / n! = exp (x * t - t² / 2)` in complex and real `HasSum` forms, with a real `tsum` corollary. The algebraic and analytic developments live in separate files.
This contribution originated in the [Tau Ceti project](https://github.com/TauCetiProject/TauCeti), an AI-written mathematics repository; it was adapted for Mathlib with Claude Code and reviewed with OpenAI Codex, supervised by Kim Morrison.
:robot: Prepared with OpenAI Codex
|
t-ring-theory
LLM-generated
TauCeti
|
259/0 |
Mathlib.lean,Mathlib/RingTheory/Polynomial/Hermite/Derivative.lean,Mathlib/RingTheory/Polynomial/Hermite/GeneratingFunction.lean |
3 |
3 |
['b-mehta', 'github-actions', 'kim-em'] |
nobody |
40-49935 1 month ago |
47-56773 47 days ago |
47-56450 47 days |
0 |
| 43327 |
JX-Mo author:JX-Mo |
feat(GroupTheory): add `LeftDecomposition` of double coset |
This PR is the first piece of #43286 for adding `Hecke/LeftFiniteDoubleCoset`. The main motivation is to describe the intertwining space `Hom_G(k[G/H₁], k[G/H₂])` as the free module double cosets with finite left-coset decomposition. In this PR we introduce only the left decomposition.
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. |
t-algebra label:t-algebra$ |
119/0 |
Mathlib.lean,Mathlib/RepresentationTheory/Hecke/LeftFiniteDoubleCoset.lean |
2 |
1 |
['github-actions'] |
nobody |
40-43235 1 month ago |
40-43452 40 days ago |
48-55375 48 days |
4 |
| 43305 |
WenrongZou author:WenrongZou |
feat(PowerSeries/Derivative): add some lemmas |
In this PR, I migrated some results from Polynomial/Derivative.lean to PowerSeries/Derivative.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-ring-theory |
59/0 |
Mathlib/RingTheory/PowerSeries/Derivative.lean |
1 |
2 |
['WenrongZou', 'github-actions'] |
nobody |
40-41675 1 month ago |
40-41754 40 days ago |
49-10911 49 days |
0 |
| 43166 |
WenrongZou author:WenrongZou |
feat(MvPowerSeries/pderiv): add `pderiv_map` and `pderiv_rename` |
In this PR, we prove `MvPowerSeries.map` and `MvPowerSeries.rename` commute with taking derivative.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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-ring-theory
|
29/2 |
Mathlib/RingTheory/MvPowerSeries/Derivative.lean |
1 |
1 |
['github-actions'] |
nobody |
40-40556 1 month ago |
42-63113 42 days ago |
54-29803 54 days |
1 |
| 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 |
40-15481 1 month ago |
40-15644 40 days ago |
40-15321 40 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 |
39-85038 1 month ago |
39-85138 39 days ago |
66-63029 66 days |
0 |
| 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
|
227/0 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/BinaryEntropy/Diagonal.lean,docs/references.bib |
3 |
5 |
['Harmenszoon', 'Timeroot', 'github-actions'] |
nobody |
39-63957 1 month ago |
102-84683 102 days ago |
103-51274 103 days |
0 |
| 43621 |
Whning0513 author:Whning0513 |
feat(Data/List): add basic API for toChunks |
Adds basic API lemmas for `List.toChunks`: flattening recovers the input, chunks are nonempty sublists, and their lengths are bounded by the chunk size.
This addresses the `Data/List/Basic: SP: toChunks` item in #7987.
Tests:
- `lake env lean Mathlib/Data/List/ToChunks.lean`
- `lake build Mathlib.Data.List.ToChunks`
- `lake exe runLinter Mathlib.Data.List.ToChunks`
AI use: OpenAI Codex was used to rebase the branch, run the checks above, and submit this pull request. The code and proofs were written and reviewed by the author. |
t-data
new-contributor
|
119/0 |
Mathlib.lean,Mathlib/Data/List/ToChunks.lean |
2 |
8 |
['copilot-pull-request-reviewer', 'github-actions', 'theebayuser'] |
nobody |
39-49677 1 month ago |
39-49916 39 days ago |
41-18086 41 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 |
39-28038 1 month ago |
39-28168 39 days ago |
59-2773 59 days |
1 |
| 43680 |
Jun2M author:Jun2M |
feat(Topology): add path interiors and connectivity lemmas |
This PR is part of PR chain leading to definition of drawing of graph on topological space. This PR introduces preliminary unit interval/path results needed for the later PRs.
In particular, this PR
* Defines `Path.interior` as the image of the open parameter interval.
* Proves that path ranges and nonempty open subintervals of the unit interval are path-connected
* Adds endpoint lemmas for analyzing path interiors.
Some of the lemmas in the PR chain was initially proven with codex then manually golfed.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
39/0 |
Mathlib/Analysis/Convex/PathConnected.lean,Mathlib/Topology/Connected/PathConnected.lean,Mathlib/Topology/Path.lean,Mathlib/Topology/UnitInterval.lean |
4 |
3 |
['github-actions', 'mathlib-bors', 'vlad902'] |
nobody |
39-15297 1 month ago |
39-15385 39 days ago |
40-4632 40 days |
2 |
| 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 |
39-9055 1 month ago |
39-9213 39 days ago |
39-49441 39 days |
0 |
| 42313 |
deancureton author:deancureton |
feat(RingTheory): embDomain composition and range, Laurent series expansion |
Add to the Hahn series API:
- `embDomain_embDomain` (composition of domain embeddings)
- `mem_range_embDomain_iff` (range of `embDomain` is characterized by support containment)
Add to the Laurent series API:
- the expansion ring endomorphism `LaurentSeries.expand` with its monomial and `orderTop` lemmas
- follows the pattern of `Polynomial.expand`, `MvPolynomial.expand`, `PowerSeries.expand`
- its opposite `LaurentSeries.contract`, with the decomposition of a Laurent series by exponent residues mod `n` (`sum_single_mul_expand_contract`) and its uniqueness (`contract_eq_of_sum_eq`)
- `exists_ofPowerSeries_eq_of_orderTop_nonneg`
This is the first of a series of PRs formalizing Puiseux series and Puiseux's theorem (entry 41 of Freek Wiedijk's 100 theorems list). |
t-ring-theory
new-contributor
LLM-generated
|
116/0 |
Mathlib/RingTheory/HahnSeries/Basic.lean,Mathlib/RingTheory/LaurentSeries.lean |
2 |
16 |
['deancureton', 'github-actions', 'wwylele'] |
nobody |
39-2412 1 month ago |
39-2673 39 days ago |
80-65698 80 days |
0 |
| 41241 |
intgrah author:intgrah |
feat(Order/Category): cartesian closed and distributive structure on PartOrd and Preord |
Give `PartOrd` and `Preord` `CartesianMonoidalCategory`, `MonoidalClosed`, and `IsCartesianDistributive` instances.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
|
267/0 |
Mathlib.lean,Mathlib/Order/Category/PartOrd/CartesianClosed.lean,Mathlib/Order/Category/PartOrd/Colimits.lean,Mathlib/Order/Category/PartOrd/Reflective.lean,Mathlib/Order/Category/Preord/CartesianClosed.lean,Mathlib/Order/Category/Preord/Colimits.lean,Mathlib/Order/Category/Preord/Reflective.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean |
8 |
7 |
['github-actions', 'intgrah', 'thomaskwaring'] |
nobody |
39-1354 1 month ago |
40-64225 40 days ago |
111-7583 111 days |
0 |
| 43766 |
hawkrobe author:hawkrobe |
feat(LinearAlgebra/SymmetricAlgebra): functoriality |
---
Add `SymmetricAlgebra` functoriality (parallel to `TensorAlgebra` and `ExteriorAlgebra`)
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
31/0 |
Mathlib/LinearAlgebra/SymmetricAlgebra/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
37-36895 1 month ago |
37-37109 37 days ago |
37-36786 37 days |
0 |
| 43767 |
hawkrobe author:hawkrobe |
feat(LinearAlgebra/SymmetricAlgebra): symmetric algebra is graded |
---
I also followed `TensorAlgebra` and `ExteriorAlgebra` here.
I used Claude to initialize the proof.
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
55/0 |
Mathlib.lean,Mathlib/LinearAlgebra/SymmetricAlgebra/Grading.lean |
2 |
1 |
['github-actions'] |
nobody |
37-35515 1 month ago |
37-35728 37 days ago |
37-35405 37 days |
0 |
| 43781 |
vlad902 author:vlad902 |
chore(AffineSpace/Independent): remove two `backward.isDefEq.respectTransparency` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
tech debt
label:t-algebra$ |
3/7 |
Mathlib/LinearAlgebra/AffineSpace/Independent.lean |
1 |
1 |
['github-actions'] |
nobody |
36-81489 1 month ago |
36-81540 36 days ago |
36-81217 36 days |
0 |
| 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 |
36-74816 1 month ago |
36-75021 36 days ago |
79-44786 79 days |
1 |
| 40782 |
tb65536 author:tb65536 |
feat(Combinatorics/SimpleGraph/Coloring/EdgeLabeling): add predicates for monochromatic subsets |
This PR adds predicates for monochromatic subsets, in preparation for Ramsey theory.
Co-authored-by: Bhavik Mehta <bhavikmehta8@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-combinatorics |
143/0 |
Mathlib/Combinatorics/SimpleGraph/Coloring/EdgeLabeling.lean |
1 |
28 |
['SnirBroshi', 'YaelDillies', 'b-mehta', 'github-actions', 'tb65536'] |
nobody |
35-84010 1 month ago |
35-84250 35 days ago |
112-30222 112 days |
0 |
| 43820 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Maps): dualize `Embedding.completeGraph` and `Copy.topEmbedding` |
Also `Copy.topEmbedding` doesn't need a `Copy`, it can use a `Hom`, unlike its dual `Copy.botEmbedding`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
115/15 |
Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Copy.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean |
3 |
1 |
['github-actions'] |
nobody |
35-61952 1 month ago |
35-62168 35 days ago |
35-62533 35 days |
0 |
| 38434 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Maps): `map` lemmas about support/top/bot |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #38432
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
16/0 |
Mathlib/Combinatorics/SimpleGraph/Maps.lean |
1 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
35-54596 1 month ago |
35-54881 35 days ago |
39-86184 39 days |
0 |
| 42960 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Trails): an Eulerian walk is chordless |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
4/0 |
Mathlib/Combinatorics/SimpleGraph/Trails.lean |
1 |
4 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
35-53637 1 month ago |
35-53887 35 days ago |
58-21168 58 days |
0 |
| 41623 |
SnirBroshi author:SnirBroshi |
feat(SimpleGraph/Trails): a walk is Eulerian iff it is a trail of length `G.edgeSet.encard` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
38/3 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Trails.lean |
2 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
35-53030 1 month ago |
35-53220 35 days ago |
97-48874 97 days |
0 |
| 41524 |
SnirBroshi author:SnirBroshi |
feat(SimpleGraph/Trails): in a preconnected Eulerian graph there exists an Eulerian circuit from any vertex |
This lets us take a circuit at a specific vertex, much like [`IsHamiltonian.exists_isHamiltonianCycle`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Combinatorics/SimpleGraph/Hamiltonian.html#SimpleGraph.IsHamiltonian.exists_isHamiltonianCycle) in Hamiltonian graphs.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
21/0 |
Mathlib/Combinatorics/SimpleGraph/Trails.lean |
1 |
6 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vlad902'] |
nobody |
35-52947 1 month ago |
35-53109 35 days ago |
100-97 100 days |
1 |
| 38499 |
SnirBroshi author:SnirBroshi |
feat(Order/Hom/Basic): `Relation.Map`/`Function.bicompl` form an order isomorphism between relations |
For injective functions `f` and `g`, `Relation.Map · f g` is an order embedding between relations.
For surjective functions `f` and `g`, `Function.bicompl · f g` is an order embedding between relations.
For bijective functions `f` and `g`, `Relation.Map · f g` and `Function.bicompl · f g` form an order isomorphism between relations.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #38432
[](https://gitpod.io/from-referrer/)
|
t-order |
46/0 |
Mathlib/Order/Hom/Basic.lean |
1 |
7 |
['SnirBroshi', 'github-actions', 'mathlib-dependent-issues', 'plp127', 'wwylele'] |
nobody |
35-49631 1 month ago |
35-49742 35 days ago |
43-85759 43 days |
0 |
| 43793 |
justus-springer author:justus-springer |
doc(Algebra/Group/SelfInv): extend module docstring |
Follow-up to #42611. Explains the original motivation for this.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
7/0 |
Mathlib/Algebra/Group/SelfInv.lean |
1 |
8 |
['SnirBroshi', 'YaelDillies', 'eric-wieser', 'github-actions', 'justus-springer'] |
nobody |
35-44395 1 month ago |
36-3981 36 days ago |
36-10006 36 days |
0 |
| 37878 |
YaelDillies author:YaelDillies |
chore(Combinatorics/SimpleGraph): avoid structure relation predicates |
Relation predicates used to be `def`s over a `forall`, which was optimal for usability in fields of other structures. This changed in #35591 and #35192 as a byproduct of reducing apparent code duplication. Unfortunately, the usability issue was overlooked.
This PR restores usability by dropping the use of those relation classes that are `structure`s, ie `Std.Irrefl` and `Std.Transitive`.
---
- [x] depends on: #38554
I would also be happy to revert #35591 and #35192 since this demonstrates a good use case for the `def` versions of the relation predicates.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
111/117 |
Archive/Wiedijk100Theorems/Konigsberg.lean,Mathlib/Combinatorics/Graph/Simple.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/Dart.lean,Mathlib/Combinatorics/SimpleGraph/Density.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/ErdosStoneSimonovits.lean,Mathlib/Combinatorics/SimpleGraph/FiveWheelLike.lean,Mathlib/Combinatorics/SimpleGraph/Hall.lean,Mathlib/Combinatorics/SimpleGraph/LineGraph.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Prod.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Sum.lean,Mathlib/Combinatorics/SimpleGraph/Trails.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Tripartite.lean,Mathlib/ModelTheory/Graph.lean,Mathlib/Order/Cover.lean,Mathlib/Order/RelClasses.lean |
25 |
27 |
['SnirBroshi', 'Vierkantor', 'YaelDillies', 'b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
35-19514 1 month ago |
35-19574 35 days ago |
139-74033 139 days |
0 |
| 43846 |
tb65536 author:tb65536 |
feat(GroupTheory/Finiteness): instances for `IsMulFG (closure s)` |
This PR adds missing instances for `IsMulFG (closure s)` that will replace the existing instances for the old finiteness definitions.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-group-theory
label:t-algebra$ |
21/25 |
Mathlib/GroupTheory/Commutator/Finite.lean,Mathlib/GroupTheory/Finiteness.lean |
2 |
1 |
['github-actions'] |
nobody |
34-81143 1 month ago |
34-81223 34 days ago |
34-80900 34 days |
0 |
| 41304 |
plp127 author:plp127 |
chore(Data/Set/Lattice): `Sort*` polymorphism |
Generalize some theorems from `Type*` to `Sort*`.
---
- [x] depends on: #39857
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
30/25 |
Mathlib/Data/Set/Lattice/Bounded.lean,Mathlib/Data/Set/Lattice/Indexed.lean |
2 |
6 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
34-80318 1 month ago |
34-80365 34 days ago |
35-2600 35 days |
0 |
| 43850 |
tb65536 author:tb65536 |
feat(GroupTheory/Finiteness): `IsMulFG iSup` |
This PR adds missing theorems for `IsMulFG iSup` that will replace the existing theorems for the old finiteness definitions.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-group-theory
label:t-algebra$ |
74/22 |
Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/GroupTheory/Finiteness.lean |
2 |
1 |
['github-actions'] |
nobody |
34-79894 1 month ago |
34-79945 34 days ago |
34-79622 34 days |
0 |
| 43819 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/DeleteEdges): morphisms between `deleteEdges` graphs |
Accepting two sets and a proof of `Sym2.map f ⁻¹' t ⊆ s` lets us use the morphisms with `Set.preimage` or `Set.image` or anything else that's convenient.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
74/1 |
Mathlib/Combinatorics/SimpleGraph/Copy.lean,Mathlib/Combinatorics/SimpleGraph/DeleteEdges.lean |
2 |
5 |
['SnirBroshi', 'b-mehta', 'github-actions'] |
nobody |
34-40499 1 month ago |
34-40586 34 days ago |
34-83632 34 days |
2 |
| 43861 |
SnirBroshi author:SnirBroshi |
chore(Algebra/Order/Achimedean/Class): use `inferInstanceAs%` for `LinearOrder MulArchimedeanClass` |
---
The motivation is the `TODO`; I don't know if core's `inferInstanceAs` elaborator would be better here.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
1/2 |
Mathlib/Algebra/Order/Archimedean/Class.lean |
1 |
1 |
['github-actions'] |
nobody |
34-39062 1 month ago |
34-39289 34 days ago |
34-38966 34 days |
0 |
| 43857 |
vihdzp author:vihdzp |
feat: split `transfiniteIterate` into `sup` and `inf` versions |
We deprecate `transfiniteIterate` and create `supTransfiniteIterate` and `infTransfiniteIterate` in its place. One of them uses suprema to compute the value at limit points, and the other uses infima.
The plan is to then use both of these definitions to deprecate `OrdinalApprox.lfpApprox` and `OrdinalApprox.gfpApprox`, which are simply specializations of 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]
-->
[](https://gitpod.io/from-referrer/)
|
tech debt
t-order
|
177/139 |
Mathlib/CategoryTheory/Abelian/GrothendieckCategory/EnoughInjectives.lean,Mathlib/CategoryTheory/ObjectProperty/LimitsClosure.lean,Mathlib/CategoryTheory/Presentable/SharplyLT/Basic.lean,Mathlib/Order/TransfiniteIteration.lean |
4 |
1 |
['github-actions'] |
nobody |
33-44566 1 month ago |
33-44785 33 days ago |
34-60173 34 days |
0 |
| 43770 |
vlad902 author:vlad902 |
feat(AffineSpace/FiniteDimensional): generalize typeclasses |
A number of theorems/instances are stated at the top of the file for `DivisionRing`, but the assumption could be weakened to `Ring` with some theorems further requiring
`Nontrivial`/`StrongRankCondition`/`OrzechProperty`. Weakening to `Ring` also requires renaming some `FiniteDimensional` assumptions to `Module.Finite`.
This PR weakens moves around some theorems/instances to fit their new sections assumptions and renames some theorems/instances to match their new conclusions. No theorems are added/removed.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
164/106 |
Mathlib/LinearAlgebra/AffineSpace/FiniteDimensional.lean |
1 |
7 |
['github-actions', 'grunweg', 'leanprover-radar', 'mathlib-merge-conflicts', 'vlad902'] |
nobody |
33-6472 1 month ago |
33-6555 33 days ago |
37-10833 37 days |
0 |
| 42766 |
harahu author:harahu |
chore(Order): tidy markdown headers |
This PR:
- Ensures all files in `Mathlib/Order` have an H1 header.
- Aligns some H2 headers with the examples in the documentation style guide.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-order |
8/5 |
Mathlib/Order/Comparable.lean,Mathlib/Order/CompleteSublattice.lean,Mathlib/Order/Completion.lean,Mathlib/Order/Interval/Set/OrdConnectedLinear.lean,Mathlib/Order/Quotient.lean,Mathlib/Order/Types/Arithmetic.lean |
6 |
1 |
['Multramate', 'github-actions'] |
nobody |
33-5940 1 month ago |
67-21812 67 days ago |
67-21489 67 days |
0 |
| 42670 |
harahu author:harahu |
chore(Combinatorics): tidy markdown headers |
Ensure files in `Mathlib/Combinatorics` have one and only one H1 header, thus enforcing the style guide.
Newly created headers in this PR were 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/)
|
t-combinatorics |
11/5 |
Mathlib/Combinatorics/Enumerative/Catalan/Tree.lean,Mathlib/Combinatorics/Quiver/ConnectedComponent.lean,Mathlib/Combinatorics/Quiver/Subquiver.lean,Mathlib/Combinatorics/Quiver/Symmetric.lean,Mathlib/Combinatorics/SimpleGraph/Cayley.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean |
6 |
1 |
['Multramate', 'github-actions'] |
nobody |
33-5886 1 month ago |
69-28985 69 days ago |
69-29394 69 days |
0 |
| 27050 |
BoltonBailey author:BoltonBailey |
doc(Control/Monad/Cont): add docstrings |
Split of #25917. This PR adds docstrings to this file.
This documentation was written by a few versions of Claude (Claude 3.5 Sonnet and Fable 5) , with human supervision.
---
<!-- 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-data
LLM-generated
tech debt
|
64/22 |
Mathlib/Control/Monad/Cont.lean,scripts/nolints.json |
2 |
10 |
['BoltonBailey', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
32-73389 1 month ago |
32-73586 32 days ago |
33-72009 33 days |
0 |
| 35881 |
astrainfinita author:astrainfinita |
chore: do not use `inf` `sup` in `LinearOrder` lemmas |
`max` and `sup` have been unified into the same function. It is no longer necessary to create lemmas about `sup` for `LinearOrder`.
This PR moves `max` lemmas to an earlier file to ensure that files importing deprecated `sup` lemmas can use them.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [ ] depends on: #35841
- [ ] depends on: #35880
- [ ] depends on: #42373
[](https://gitpod.io/from-referrer/)
|
t-order |
71/62 |
Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Order/Group/PosPart.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/AlgebraicGeometry/OrderOfVanishing.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/ConvergenceRadius.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/Complex/OpenMapping.lean,Mathlib/Analysis/Complex/UpperHalfPlane/ProperAction.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Analysis/Normed/Module/Seminorm/Basic.lean,Mathlib/Data/Finset/Lattice/Fold.lean,Mathlib/Data/Nat/Factorization/LCM.lean,Mathlib/MeasureTheory/Measure/PreVariation.lean,Mathlib/MeasureTheory/Measure/Stieltjes.lean,Mathlib/MeasureTheory/PiSystem.lean,Mathlib/NumberTheory/AbelSummation.lean,Mathlib/NumberTheory/LSeries/PrimesInAP.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean,Mathlib/NumberTheory/Ostrowski.lean,Mathlib/Order/BoundedOrder/Lattice.lean,Mathlib/Order/BourbakiWitt.lean,Mathlib/Order/Filter/ENNReal.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Interval/Set/LinearOrder.lean,Mathlib/Order/Lattice.lean,Mathlib/Probability/Moments/Basic.lean,Mathlib/Probability/Moments/IntegrableExpMul.lean,Mathlib/Probability/Process/LocalProperty.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean,Mathlib/RingTheory/MvPowerSeries/GaussNorm.lean,Mathlib/RingTheory/Polynomial/HilbertPoly.lean,Mathlib/RingTheory/PowerSeries/WeierstrassPreparation.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/Topology/MetricSpace/Algebra.lean,Mathlib/Topology/MetricSpace/BundledFun.lean,Mathlib/Topology/MetricSpace/Infsep.lean,Mathlib/Topology/Semicontinuity/Basic.lean,Mathlib/Topology/Sion.lean |
39 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
32-27487 1 month ago |
32-29198 32 days ago |
32-28875 32 days |
0 |
| 43902 |
seewoo5 author:seewoo5 |
feat(Trigonometric): define coth and prove 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]
-->
Define `Complex.coth`, `Real.coth` and prove basic theorems (almost same as those of `tanh`). I found that there's `cot` but no `coth` yet.
[](https://gitpod.io/from-referrer/)
|
t-analysis |
37/0 |
Mathlib/Analysis/Complex/Trigonometric.lean |
1 |
8 |
['SnirBroshi', 'github-actions', 'luigi-massacci', 'seewoo5'] |
nobody |
31-35788 1 month ago |
31-36549 31 days ago |
32-75921 32 days |
0 |
| 43957 |
thomaskwaring author:thomaskwaring |
feat(Order/Hom): congruence of order homs by order isos |
Order isomorphisms between domains and codomains induce equivalences between types of order homomorphisms: `{Sup/Inf/Lattice/SupBot/InfTop/BoundedLattice/sSup/sInf/Frame/CompleteLattice}Hom`.
[](https://gitpod.io/from-referrer/)
|
t-order |
78/0 |
Mathlib/Order/Hom/BoundedLattice.lean,Mathlib/Order/Hom/CompleteLattice.lean,Mathlib/Order/Hom/Lattice.lean |
3 |
1 |
['github-actions'] |
nobody |
31-31818 1 month ago |
31-32485 31 days ago |
31-32162 31 days |
1 |
| 43963 |
vihdzp author:vihdzp |
chore(Topology/CantorBendixson): minor cleanup |
`CantorBendixson` is not a type, and the names in this file shouldn't clash with anything else, so we un-namespace the material in this file.
We also rewrap some lines and perform minor 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]
-->
I haven't added deprecations since the material here is quite new, but I can add them if they're nevertheless wanted.
[](https://gitpod.io/from-referrer/)
|
t-topology |
18/38 |
Mathlib/Topology/CantorBendixson.lean |
1 |
1 |
['github-actions'] |
nobody |
31-24839 1 month ago |
31-25588 31 days ago |
31-25265 31 days |
0 |
| 42833 |
YaelDillies author:YaelDillies |
feat(Combinatorics/SimpleGraph/Connectivity): efficient decidability instances |
Currently, the `DecidableRel G.Reachable` instance provided by mathlib works by enumerating *all* walks from `u` to `v` of length less than `Fintype.card V`, which takes time exponential in the number of vertices. Currently also, the `Decidable G.Preconnected` and `Decidable G.Connected` instances build on the `DecidableRel G.Reachable` one and suffer from the same exponential slowdown.
This PR reworks those instances to use breadth-first search, which is polynomial in the number of vertices. Since the BFS doesn't depend on the starting vertex, we wrap it in `Trunc` to cut down an unnecessary factor of `Fintype.card V` (this makes a difference only if the graph is NOT preconnected).
This showed up in FormalConjectures because a contributor used `decide +native` to prove that some concrete graph on 11 vertices was connected. Their proof timed out while I was bumping the repo to v4.30.
Also make `G` implicit in a bunch of non-rewriting lemmas.
From FormalConjectures
Generated by Claude Opus following my idea, largely rewritten manually afterwards.
Assisted-by: Claude Opus 4.8
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
LLM-generated
|
343/31 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Tutte.lean,Mathlib/Data/Fintype/Basic.lean,Mathlib/Data/List/Nodup.lean,MathlibTest/SimpleGraph.lean |
5 |
9 |
['SnirBroshi', 'YaelDillies', 'b-mehta', 'github-actions'] |
nobody |
31-16452 1 month ago |
31-16810 31 days ago |
33-19414 33 days |
0 |
| 43901 |
vlad902 author:vlad902 |
feat(AffineSpace): characterize affine subspaces of dimension 0 and 1 |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
94/10 |
Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/LinearAlgebra/AffineSpace/Dimension.lean,Mathlib/Order/WithBot.lean |
3 |
2 |
['github-actions', 'vlad902'] |
nobody |
31-7393 1 month ago |
32-25744 32 days ago |
32-68906 32 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 |
30-66648 1 month ago |
84-15614 84 days ago |
84-15291 84 days |
0 |
| 42971 |
ashebson author:ashebson |
fix(ProfiniteGrp): simplify explicit limit projections |
The naturality proof for `ProfiniteCompletion.lift` previously needed a brittle pointwise `change`. The underlying problem was that simplification crossed several semireducible diagram/forgetful-functor boundaries at once, producing terms that are definitionally equal but no longer type-correct at implicit transparency.
This PR:
- makes the two finite-quotient diagram composites reducible abbreviations;
- states `quotientMap` using the diagram object types and maps it through the existing `FiniteGrp ⥤ ProfiniteGrp` forgetful functor;
- adds a pointwise rewrite lemma for an explicit limit projection followed by a mapped finite-group morphism (with its additive counterpart); and
- rewrites `ProfiniteCompletion.lift` naturality through that API while keeping the limit point bundled, removing the problematic pointwise `change`.
--------
## AI disclosure
AI (OpenAI Codex) was used extensively for this PR. It was used to:
- investigate the original TODO and reproduce why `dsimp` failed;
- explore and discard several possible fixes;
- identify the semireducible diagram/forgetful-functor boundaries involved;
- design and implement the final `ProfiniteGrp` API simplification and `ProfiniteCompletion.lift` proof changes;
- run the relevant Lean builds and direct compilation checks; and
- draft the commit message and PR description.
The final changes were reviewed through the resulting diff and verified locally.
|
t-topology
new-contributor
LLM-generated
|
29/12 |
Mathlib/Topology/Algebra/Category/ProfiniteGrp/Basic.lean,Mathlib/Topology/Algebra/Category/ProfiniteGrp/Completion.lean,Mathlib/Topology/Algebra/Category/ProfiniteGrp/Limits.lean |
3 |
9 |
['ashebson', 'github-actions', 'grunweg', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
30-40548 1 month ago |
30-41323 30 days ago |
43-80231 43 days |
0 |
| 42136 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): API for `labelledCopyCount` |
Add API for `SimpleGraph.labelledCopyCount`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
63/1 |
Mathlib/Combinatorics/SimpleGraph/Copy.lean |
1 |
1 |
['github-actions'] |
nobody |
30-31895 1 month ago |
30-32680 30 days ago |
85-20210 85 days |
1 |
| 42137 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): bounds for `extremalNumber` and `turanDensity` |
Add bounds for `extremalNumber` and `turanDensity`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
35/0 |
Mathlib/Combinatorics/SimpleGraph/Extremal/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/TuranDensity.lean |
2 |
7 |
['SnirBroshi', 'b-mehta', 'github-actions', 'mitchell-horner'] |
nobody |
30-31298 1 month ago |
30-31994 30 days ago |
85-18476 85 days |
1 |
| 43886 |
gabriel-turinici author:gabriel-turinici |
feat(Analysis/Asymptotics): add Filter.Tendsto.weighted_cesaro_smul |
Adds `Filter.Tendsto.weighted_cesaro_smul`, a weighted (Toeplitz-type) generalization of `Filter.Tendsto.cesaro_smul`: if `S k → L` and `w k ≥ 0` has divergent partial sums, the weighted running average of `S` w.r.t. `w` also tends to `L`. Recovers `cesaro_smul` as the `w ≡ 1` case. Also adds `weighted_cesaro`, the real-valued convenience wrapper mirroring `cesaro`.
This is a small building block toward a planned follow-up PR formalizing Kronecker's lemma, at its turn needed in some stochastic analysis setting.
---
**AI disclosure**: this proof was developed using formatting assistance, library search and code corrections from Claude Code (Claude Sonnet 5) and a personal LLM automation. Alternative, shorter, proofs can be obtained with `IsLittleO`-style but that style seems too recent for me now.
[](https://gitpod.io/from-referrer/) |
t-analysis
new-contributor
LLM-generated
|
81/0 |
Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean |
1 |
2 |
['github-actions'] |
nobody |
30-19857 1 month ago |
33-74544 33 days ago |
33-74221 33 days |
0 |
| 34078 |
joneugster author:joneugster |
feat(scripts/autolabel): add more label dependencies |
Add more label dependencies.
---
- [x] depends on: #34948
- [x] depends on: #34949
- [x] depends on: #34066
- [x] depends on: #34079
- [x] depends on: #34677
- [x] depends on: #34678
- [x] depends on: #34952
- [x] depends on: #36242
[](https://gitpod.io/from-referrer/)
|
CI |
31/11 |
scripts/autolabel.lean |
1 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
30-11442 1 month ago |
62-72224 62 days ago |
62-71901 62 days |
0 |
| 44005 |
seewoo5 author:seewoo5 |
feat(MonotoneConvergence): strict versions of `ge_of_tendsto` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
Strict versions of `Monotone.ge_of_tendsto` and similar theorems: `StrictMono.gt_of_tendsto`, `StrictMono.lt_of_tendsto`, `StrictAnti.lt_of_tendsto`, `StrictAnti.gt_of_tendsto`. These require extra hypothesis such as `NoMaxOrder β` or `NoMinOrder β`. Claude is used to find the hypothesis and write initial proofs.
Context: In Sphere packing project, there is an inequality of the form $f(t) < L$ for a strictly decreasing function $f$ on $(0, \infty)$ with $\lim_{t \to 0^+} f(t) = L$. Currently, this is proved by $f(t) < f(t/2) \le L$, where the last step uses `ge_of_tendsto`. With new theorems in this PR, we don't need to consider $f(t/2)$ anymore (by using `StrictAnti.gt_of_tendsto`).
[](https://gitpod.io/from-referrer/)
|
t-topology
LLM-generated
sphere-packing
|
28/0 |
Mathlib/Topology/Order/MonotoneConvergence.lean |
1 |
1 |
['github-actions'] |
nobody |
30-10852 1 month ago |
30-11556 30 days ago |
30-11233 30 days |
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 |
30-4775 1 month ago |
120-3398 120 days ago |
258-9498 258 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 |
29-81918 29 days ago |
29-81971 29 days ago |
36-76128 36 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 |
29-63959 29 days ago |
86-50814 86 days ago |
110-32472 110 days |
1 |
| 44027 |
kim-em author:kim-em |
chore(RingTheory/Unramified/LocalRing): explain the backward.inferInstanceAs.wrap.data option |
This PR adds a comment explaining why `FormallyUnramified.isField_quotient_map_maximalIdeal` needs `set_option backward.inferInstanceAs.wrap.data false`, and that the option can be removed once https://github.com/leanprover/lean4/issues/13408 (Kernel error for `inferInstanceAs` with let declarations) is fixed. A fix is proposed in https://github.com/leanprover/lean4/pull/15245.
🤖 Prepared with Claude Code |
t-ring-theory |
3/0 |
Mathlib/RingTheory/Unramified/LocalRing.lean |
1 |
1 |
['github-actions'] |
nobody |
29-45406 29 days ago |
29-46127 29 days ago |
29-45804 29 days |
0 |
| 44024 |
kim-em author:kim-em |
chore: remove backward.privateInPublic in algebra, combinatorics and number theory |
This PR removes the `backward.privateInPublic` option in 9 files across algebra, combinatorics, number theory, order theory and set theory. In each case a private definition appeared in the statement of a public declaration, so it was already part of the public interface in all but name. The fix is to drop `private` from those definitions, adding docstrings where they were missing. In `Algebra/EuclideanDomain/Basic` the opposite direction is cleaner: the only consumer `xgcdAux_P` becomes private as well, matching the existing setup in `Data/Int/GCD`. In `Combinatorics/SetFamily/FourFunctions` the definition becomes `Finset.collapse` rather than a root-level name. In `Combinatorics/SetFamily/KruskalKatona` the predicate is marked `@[expose]`, since the file's `public section` is not exposed and the `DecidableRel` instance needs to unfold it.
Files where a private *lemma* appeared in a public statement are handled by wrapping the use site instead, in #44032. Names are kept as they were (for example `Pell.d`); suggestions for better names are welcome but are not needed for this PR.
🤖 Prepared with Claude Code |
tech debt |
14/107 |
Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/FreeAlgebra.lean,Mathlib/Combinatorics/SetFamily/FourFunctions.lean,Mathlib/Combinatorics/SetFamily/KruskalKatona.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Increment.lean,Mathlib/GroupTheory/FreeGroup/NielsenSchreier.lean,Mathlib/NumberTheory/PellMatiyasevic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean,Mathlib/SetTheory/Ordinal/Notation.lean |
9 |
2 |
['github-actions', 'grunweg'] |
nobody |
29-31688 29 days ago |
29-31736 29 days ago |
29-36612 29 days |
0 |
| 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 |
29-21871 29 days ago |
29-22400 29 days ago |
31-46232 31 days |
0 |
| 43434 |
Parcly-Taxel author:Parcly-Taxel |
refactor: remove `set_option` in `ZagierTwoSquares` |
I refactor one of my very first non-porting contributions to mathlib by changing `zagierSet` to a structure `Zagier.Triple` and rewriting the whole proof to avoid `set_option`s. This required changing the type of `card_fixedPoints_modEq` to accept just `α → α` rather than `Function.End α`.
No deprecations are added since this a leaf file in Archive. |
t-number-theory
tech debt
t-group-theory
|
112/169 |
Archive/ZagierTwoSquares.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean |
2 |
3 |
['Parcly-Taxel', 'github-actions', 'jcommelin'] |
nobody |
29-20521 29 days ago |
29-21410 29 days ago |
46-14788 46 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 |
29-11134 29 days ago |
29-11685 29 days ago |
92-40518 92 days |
0 |
| 43187 |
gaetanserre author:gaetanserre |
chore: tag some measurability lemmas with `fun_prop` |
Tag some measurability lemma with `fun_prop`. These lemmas were not tagged most likely because one of the subgoals was of the form `MeasurableSet ...`. However, tagging them and using `fun_prop (disch := measurability)` can close goals that require these 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/)
|
|
3/0 |
Mathlib/MeasureTheory/MeasurableSpace/Basic.lean,Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/Probability/Kernel/Defs.lean |
3 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
29-7136 29 days ago |
29-8003 29 days ago |
52-84864 52 days |
0 |
| 43785 |
kim-em author:kim-em |
chore: point Order/Atoms deprecations at the right replacements |
This PR corrects the replacement named by three deprecations in `Mathlib/Order/Atoms.lean`. `IsStronglyCoatomic.of_wellFounded_gt`, `isAtomic_of_orderBot_wellFounded_lt` and `isCoatomic_of_orderTop_gt_wellFounded` all named `instIsStronglyAtomicOfWellFoundedLT`, which is neither coatomic nor the `IsAtomic`/`IsCoatomic` instance a user of those lemmas wants; they now name `instIsStronglyCoatomicOfWellFoundedGT`, `IsStronglyAtomic.isAtomic` and `IsStronglyCoatomic.toIsCoatomic`.
A Lean nightly has grown a check comparing the type of a deprecated declaration against its replacement, which is how these surfaced.
🤖 Prepared with Claude Code
https://claude.ai/code/session_01FEhDfMiCzEAX4QJdrALfQC |
t-order |
3/3 |
Mathlib/Order/Atoms.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
28-60381 28 days ago |
28-61120 28 days ago |
30-72476 30 days |
0 |
| 41823 |
tb65536 author:tb65536 |
feat(Combinatorics/Design/Defs): definitions of combinatorial designs |
This PR adds the definitions of combinatorial designs.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
141/0 |
Mathlib.lean,Mathlib/Combinatorics/Design/Defs.lean |
2 |
1 |
['Parcly-Taxel', 'github-actions'] |
nobody |
28-59607 28 days ago |
95-78946 95 days ago |
95-78623 95 days |
1 |
| 41541 |
felixpernegger author:felixpernegger |
chore: prefer `classical` over `open scoped Classical` in proofs |
In #41423 it came up that it is preferable to use `classical` in proofs instead of `open (scoped) Classical`, as its slightly easier to maintain. This PR replaces all such occurences where it can be reasonably done.
This is likely my last PR about this topic.
(I used Claude to fix some git issue, which is why it shows up in the commit)
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
|
111/58 |
Mathlib/Basic/Logic/Basic.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Defs/PartialOrder.lean |
4 |
5 |
['felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
28-39207 28 days ago |
28-40978 28 days ago |
73-85781 73 days |
0 |
| 43465 |
TJHeeringa author:TJHeeringa |
feat(Analysis/InnerProductSpace/Reproducing): add bilinearform for Mercer's theorem |
Mercer's theorem provides a spectral representation to kernels satisfying an integrability condition. The proof builds on a Hilbert-Schmidt operator. This PR introduces the bilinear form used to define that operator.
---
PR #42003 introduces the corresponding integral operator.
AI:
Claude and Mistral have helped me get up to speed with how to do the measurability proofs 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 |
157/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Reproducing/Mercer.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
28-19955 28 days ago |
40-42642 40 days ago |
44-13564 44 days |
1 |
| 40955 |
tb65536 author:tb65536 |
feat(NumberTheory/NumberField/ExistsRamified): galois groups are generated by inertia subgroups |
This PR uses Minkowski's theorem to prove that a Galois group of a number field is generated by its inertia subgroups.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mhttps://github.com/leanprover-community/mathlib4/compare/master...tb65536:mathlib4:tb_ram3?expand=1#files_bucketathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #40387
- [x] depends on: #40438
- [x] depends on: #40757
- [x] depends on: #40952
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
50/9 |
Mathlib/NumberTheory/NumberField/ExistsRamified.lean |
1 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
28-6288 28 days ago |
63-12386 63 days ago |
63-13272 63 days |
1 |
| 43848 |
plp127 author:plp127 |
chore(Data/Nat/Init): rename recursor arguments |
Name the motive `motive` and name the minor premises according to their contents.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
tech debt
|
149/149 |
Archive/Imo/Imo1981Q3.lean,Archive/Imo/Imo2024Q3.lean,Mathlib/Algebra/ContinuedFractions/Euler.lean,Mathlib/Algebra/Polynomial/Sequence.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Hofer.lean,Mathlib/Combinatorics/Enumerative/Catalan/Tree.lean,Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Nat/Init.lean,Mathlib/FieldTheory/IsRealClosed/Basic.lean,Mathlib/GroupTheory/GroupAction/Jordan.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/LinearAlgebra/Eigenspace/Triangularizable.lean,Mathlib/LinearAlgebra/Finsupp/Pi.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/NumberTheory/DiophantineApproximation/Basic.lean,Mathlib/NumberTheory/FLT/Polynomial.lean,Mathlib/NumberTheory/ModularForms/LevelOne/DimensionFormula.lean,Mathlib/NumberTheory/Pell.lean,Mathlib/NumberTheory/Primorial.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Probability/Kernel/IonescuTulcea/Traj.lean,Mathlib/RingTheory/Adjoin/PowerBasis.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Etale/QuasiFinite.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/IntegralClosure/IsIntegral/AlmostIntegral.lean,Mathlib/RingTheory/Polynomial/Eisenstein/IsIntegral.lean,Mathlib/RingTheory/Polynomial/IsIntegral.lean,Mathlib/RingTheory/Polynomial/Resultant/Basic.lean,Mathlib/RingTheory/WittVector/Defs.lean,Mathlib/RingTheory/WittVector/StructurePolynomial.lean,Mathlib/RingTheory/ZariskisMainTheorem.lean,Mathlib/Topology/CWComplex/Classical/Basic.lean,Mathlib/Topology/Metrizable/Uniformity.lean |
36 |
1 |
['Parcly-Taxel', 'github-actions'] |
nobody |
27-81282 27 days ago |
34-51270 34 days ago |
34-50947 34 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 |
27-64725 27 days ago |
27-65312 27 days ago |
27-64989 27 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 |
27-63040 27 days ago |
27-63497 27 days ago |
27-63174 27 days |
0 |
| 42128 |
SnirBroshi author:SnirBroshi |
feat(Order/UpperLower/CompleteLattice): induce the `PartialOrder` for `LowerSet`s from `SetLike` |
Now `#synth IsConcreteLE (LowerSet α) α` works so `SetLike.coe_subset_coe` and the like can be used with `LowerSet`s.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
2/2 |
Mathlib/Order/Birkhoff.lean,Mathlib/Order/UpperLower/CompleteLattice.lean |
2 |
1 |
['github-actions'] |
nobody |
27-55595 27 days ago |
27-56043 27 days ago |
80-79010 80 days |
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'] |
nobody |
27-53866 27 days ago |
30-45739 30 days ago |
59-54377 59 days |
0 |
| 44064 |
mcdoll author:mcdoll |
chore: tag definitions with `fun_prop` |
No new lemmas are being tagged yet, just the definitions.
To fix the build, some `measurability` attributes had to be changed to `fun_prop` and a test had to be adjusted.
Only slightly controversial change could be the import of `FunProp` in `Mathlib/Logic/Function/Defs.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]
-->
|
large-import |
30/9 |
Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/Calculus/ContDiffHolder/Pointwise.lean,Mathlib/Logic/Function/Defs.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Defs.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/AEStronglyMeasurable.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/Tactic/FunProp.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean,Mathlib/Topology/MetricSpace/Holder.lean,MathlibTest/FunPropMinimal.lean |
11 |
1 |
['github-actions'] |
nobody |
27-50029 27 days ago |
27-51572 27 days ago |
27-58008 27 days |
0 |
| 44124 |
joelriou author:joelriou |
feat(Algebra/Homology/Embedding): more API for the stupid truncations |
We define the monomorphism `K.stupidTrunc e ⟶ K` when the embedding of complex shapes `e` satisfies `e.IsTruncGE`. (We also proceed to the dual 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]
-->
|
t-category-theory
t-algebra
tech debt
label:t-algebra$ |
205/13 |
Mathlib/Algebra/Homology/Embedding/Restriction.lean,Mathlib/Algebra/Homology/Embedding/StupidTrunc.lean |
2 |
3 |
['github-actions', 'joelriou', 'themathqueen'] |
nobody |
27-10721 27 days ago |
27-19112 27 days ago |
27-18789 27 days |
1 |
| 44137 |
MrBrain295 author:MrBrain295 |
chore(Combinatorics/SimpleGraph): golf `Coloring.odd_length_iff_not_c… |
…ongr`
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-combinatorics
new-contributor
|
1/2 |
Mathlib/Combinatorics/SimpleGraph/Coloring/Constructions.lean |
1 |
2 |
['github-actions'] |
nobody |
27-10144 27 days ago |
27-10798 27 days ago |
27-10475 27 days |
0 |
| 44138 |
pechersky author:pechersky |
chore(Topology/Instances/PNat): move topology into its own file, explicitly DiscreteTopology |
Previously, the topology on `PNat` was a by-product of the "subspace metric space" instance, as a subtype of `Nat`. Instead, we now declare the topology independently as the "bot" discrete topology, prior to the `MetricSpace` declaration, and then show the topology agrees to the "subspace metric space" one.
In the future, we will be able to move the topology declaration even earlier, to where the topologies of `Nat` and `Int` live.
Factored out #40785, as requested by
https://github.com/leanprover-community/mathlib4/pull/40785/changes#r3574283818
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
Could be somewhat cleaner if #43876 is merged. |
t-topology |
19/5 |
Mathlib/Topology/Instances/PNat.lean |
1 |
4 |
['Ruben-VandeVelde', 'github-actions', 'pechersky'] |
nobody |
26-85548 26 days ago |
27-8715 27 days ago |
27-8392 27 days |
1 |
| 34094 |
Brian-Nugent author:Brian-Nugent |
feat(Topology/Sheaves): use `abbrev` for `Presheaf`, `IsSheaf`, and 'Sheaf' |
Changing `TopCat.Presheaf`, `TopCat.Presheaf.IsSheaf`, and 'TopCat.Sheaf' from defs to abbrevs.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
6/7 |
Mathlib/Topology/Sheaves/AddCommGrpCat.lean,Mathlib/Topology/Sheaves/Flasque.lean,Mathlib/Topology/Sheaves/LocallySurjective.lean,Mathlib/Topology/Sheaves/Sheaf.lean |
4 |
5 |
['Brian-Nugent', 'github-actions', 'leanprover-radar', 'robin-carlier'] |
nobody |
26-84217 26 days ago |
26-84687 26 days ago |
30-56604 30 days |
0 |
| 41565 |
grunweg author:grunweg |
chore: specify doc-strings of auto-generated additive declarations di… |
…rectly
There's no need for add_decl_doc any more.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
|
64/107 |
Mathlib/Algebra/Category/Grp/Basic.lean,Mathlib/Algebra/Group/Action/Basic.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/Hom.lean,Mathlib/Algebra/Group/Hom/Basic.lean,Mathlib/Algebra/Group/Subsemigroup/Basic.lean,Mathlib/Algebra/Notation/Defs.lean,Mathlib/Algebra/Order/BigOperators/Group/Finset.lean,Mathlib/GroupTheory/Finiteness.lean,Mathlib/MeasureTheory/Group/Action.lean,Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean,Mathlib/Topology/Algebra/ConstMulAction.lean |
12 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
26-69408 26 days ago |
26-69642 26 days ago |
47-18282 47 days |
0 |
| 42921 |
tb65536 author:tb65536 |
chore(RingTheory/RamificationInertia/Ramification): reorganize proofs |
This PR reorganizes the proofs in `RingTheory/RamificationInertia/Ramification.lean` so that `ramificationIdx_eq_normalizedFactors_count` is proved directly rather than relying on `IsDedekindDomain.ramificationIdx'_eq_normalizedFactors_count` which will soon be deprecated.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
t-algebra
label:t-algebra$ |
43/40 |
Mathlib/RingTheory/RamificationInertia/Ramification.lean |
1 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
26-36684 26 days ago |
26-37190 26 days ago |
62-21684 62 days |
0 |
| 43099 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph): `IsSubwalk` is a partial order and more relation properties |
---
The instances for `Symm` and `Irrefl` let us use `symm`/`irrefl` and any other mathlib theorems that expect these properties as typeclass arguments.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
31/4 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Subwalks.lean |
6 |
1 |
['github-actions', 'vlad902'] |
nobody |
26-3417 26 days ago |
26-3888 26 days ago |
55-34359 55 days |
1 |
| 44136 |
SnirBroshi author:SnirBroshi |
chore: clean up a few `have : Std.Symm`s |
and some other relation 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-order |
10/26 |
Mathlib/Algebra/Group/Basic.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Data/Finset/NoncommProd.lean,Mathlib/Data/List/MinMax.lean,Mathlib/Data/Multiset/Bind.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/NumberTheory/Divisors.lean,Mathlib/Order/Preorder/Chain.lean,Mathlib/Topology/NatEmbedding.lean |
9 |
1 |
['Parcly-Taxel', 'github-actions'] |
nobody |
26-3386 26 days ago |
27-6220 27 days ago |
27-5897 27 days |
0 |
| 43856 |
BoltonBailey author:BoltonBailey |
chore: rename `ENNReal.toReal_mono'` |
This PR addresses tech debt by renaming `ENNReal.toReal_mono'` to `ENNReal.toReal_mono_of_top_imp_top` (and similarly renaming the related `ENNReal.toReal_le_add'`). This change makes the naming scheme more similar to `ENNReal.le_of_top_imp_top_of_toNNReal_le`
I chose these names myself, but used LLM assistance to scan the library for instances of the 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-topology
tech debt
|
16/10 |
Mathlib/Basic/ENNReal/Operations.lean,Mathlib/Basic/ENNReal/Real.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/HausdorffDistance.lean,Mathlib/Topology/MetricSpace/Thickening.lean,scripts/nolints_prime_decls.txt |
6 |
4 |
['BoltonBailey', 'github-actions', 'themathqueen'] |
nobody |
26-2521 26 days ago |
34-61578 34 days ago |
34-61255 34 days |
0 |
| 41380 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Girth): relate `girth` and `egirth` |
Also add `le_girth` to match `le_egirth`, which is the only `egirth` lemma that's missing a `girth` counterpart.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
39/8 |
Mathlib/Combinatorics/SimpleGraph/Girth.lean |
1 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
26-1561 26 days ago |
26-2026 26 days ago |
105-30626 105 days |
1 |
| 43197 |
SnirBroshi author:SnirBroshi |
feat(Order/Basic): relation properties of complement relations |
The complement turns `Refl` into `Irrefl`, `Total` into `Asymm`, and `Trichotomous` into `Antisymm`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
60/14 |
Mathlib/Basic/Rel/Separated.lean,Mathlib/Order/Antichain.lean,Mathlib/Order/Basic.lean,Mathlib/Topology/MetricSpace/MetricSeparated.lean |
4 |
5 |
['SnirBroshi', 'chenson2018', 'github-actions'] |
nobody |
25-85863 25 days ago |
26-78 25 days ago |
51-39011 51 days |
0 |
| 25981 |
Multramate author:Multramate |
feat(GroupTheory/GroupAction/Basic): define homomorphisms of fixed subgroups induced by homomorphisms of groups |
This PR continues the work from #10126.
Original PR: https://github.com/leanprover-community/mathlib4/pull/10126 |
t-group-theory
large-import
|
68/21 |
Mathlib/Algebra/Ring/Action/Submonoid.lean,Mathlib/GroupTheory/GroupAction/Defs.lean |
2 |
8 |
['copilot-pull-request-reviewer', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
25-84498 25 days ago |
25-84882 25 days ago |
39-1401 39 days |
0 |
| 43287 |
SnirBroshi author:SnirBroshi |
chore: avoid `Subrelation` where possible |
Following the trend of avoiding `Subrelation` (e.g. #41450) in favor of `_ ≤ _`, this replaces most of its uses in Mathlib.
---
The only ones remaining are `subrelation_iff_le` (`Subrelation r s ↔ r ≤ s`) / `Acc.anti` / `WellFounded.anti` which make sense, and `Subrelation.antisymm` in `Logic/Relation.lean` because it's too early in the import hierarchy.
We could replace it with a `local instance : Std.Antisymm (α := α → α → Prop) LE.le`, but that seems a bit weird.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
33/33 |
Mathlib/Data/DFinsupp/WellFounded.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Finset/Dedup.lean,Mathlib/Data/Finset/Defs.lean,Mathlib/Data/Finsupp/Multiset.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Data/Multiset/Defs.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/RelClasses.lean,Mathlib/Order/WellFounded.lean,Mathlib/Order/WellFoundedSet.lean,Mathlib/RingTheory/Artinian/Module.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Basic.lean,Mathlib/RingTheory/Valuation/Archimedean.lean |
14 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
25-84285 25 days ago |
25-84567 25 days ago |
46-206 46 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 |
25-63956 25 days ago |
61-13168 61 days ago |
61-12845 61 days |
3 |
| 43894 |
JX-Mo author:JX-Mo |
feat(RepresentationTheory): add Burnside's theorem for matrix algebras |
This PR adds Burnside's theorem: If `V` is simple module of a `k`-algebra `A` where `k` is an algebraically closed field `k`, then the algebra map `A → End_k(V)` is surjective. The proof is a combination of Schur's lemma and Jacobson density theorem, both of which are already in Mathlib. |
t-algebra label:t-algebra$ |
13/4 |
Mathlib/RepresentationTheory/AlgebraRepresentation/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
25-35914 25 days ago |
33-10067 33 days ago |
33-9744 33 days |
0 |
| 42402 |
justus-springer author:justus-springer |
refactor(AlgebraicGeometry/Birational): phase out `Scheme.Over` for rational maps |
Split off from #40871
We refactor `PartialMap.IsOver` to not use `Scheme.Hom.IsOver`, which is being phased out. We still keep it as class with one field for now (as opposed to making it an abbrev for the morphism equation directly). This is because I think it's still useful to have instances for `PartialMap.restrict` and `PartialMap.toRationalMap`. However, some things which used to be instances (`isOver_comp` and `IsOver.compHom`) now need to be 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-algebraic-geometry
tech debt
|
100/86 |
Mathlib/AlgebraicGeometry/Birational/Composition.lean,Mathlib/AlgebraicGeometry/Birational/RationalMap.lean |
2 |
3 |
['Brian-Nugent', 'github-actions', 'justus-springer'] |
nobody |
25-19590 25 days ago |
25-21311 25 days ago |
78-16054 78 days |
1 |
| 41946 |
Hilbert-beinghappy author:Hilbert-beinghappy |
feat(SetTheory/Descriptive/Tree): add infinite branches and bodies |
Motivation
The existing `tree A` API models trees as prefix-closed sets of finite
lists, together with some basic node operations (`take`, `subAt`,
`pullSub`). It had no notion of an infinite branch through such a
tree. Infinite branches and their collection, the body of a tree, are
basic vocabulary in descriptive set theory (e.g. to state that a tree
is well-founded iff its body is empty, or to talk about closed subsets
of Baire space as bodies of trees), so this is a natural extension of
the file.
Changes
* `initialSegment x n` is the list of the first `n` values of an
infinite sequence `x : ℕ → A`, with lemmas relating its length and
its behaviour when passing from `n` to `n + 1`.
* `IsBranch T x` says that `x : ℕ → A` is an infinite branch of `T`:
every finite initial segment of `x` lies in `T`.
* `body T` is the set of infinite branches of `T`, defined via
`IsBranch`.
* The auxiliary lemmas `nil_mem_of_isBranch` (a branch forces the root
`[]` to lie in `T`) and `body_mono` (`body` is monotone in the tree,
tagged `@[gcongr]`) round out the basic API.
Scope
This PR intentionally does not add closedness of `body T` (which
would require `A` to carry the discrete topology, so that `body T` is
closed in the product topology on `ℕ → A`), well-foundedness of trees
(which needs well-founded relations and descending chains), or rank
(which needs ordinal-valued rank API). These are left for follow-up
PRs, since each pulls in its own dependencies and deserves separate
review.
Verification
* `lake build Mathlib.SetTheory.Descriptive.Tree`
* `lake exe lint-style Mathlib.SetTheory.Descriptive.Tree`
* `lake build Mathlib`
AI use
I used Codex to help select this item from the
backlog, adapt the definitions to the existing `tree A` API and to the
`Descriptive.Tree` namespace and current module system (e.g. adding
the `public import` for `Mathlib.Data.List.OfFn`), draft the
implementation, and run the three verification commands above. I
checked every definition and lemma statement against its intended
mathematical meaning, and went through each proof term individually,
unfolding `initialSegment`, `IsBranch`, and `body` to confirm the
`simp`/`simpa` calls actually close the resulting goals rather than
just trusting that they compiled. |
t-set-theory |
42/1 |
Mathlib/SetTheory/Descriptive/Tree.lean |
1 |
1 |
['github-actions'] |
nobody |
24-53297 24 days ago |
92-55129 92 days ago |
92-54806 92 days |
0 |
| 44221 |
SamuelSchlesinger author:SamuelSchlesinger |
feat(Combinatorics/SetFamily): erdős–rado sunflower lemma |
Define `Set.IsSunflower`, a family of elements of a meet-semilattice whose distinct members pairwise meet in a fixed kernel, with a basic API around it, and then prove the Erdős–Rado sunflower lemma: a family of more than `(p - 1) ^ r * r !` finsets of size at most `r` contains a sunflower with `p` petals, together with the uniform special case.
I use this downstream to show circuit lower bounds on the clique language, but it is used in various areas of complexity and combinatorics.
This PR was assisted by Claude Opus 5.5. In particular, I extracted this from another formalization project that was also assisted by AI.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-combinatorics
new-contributor
LLM-generated
|
215/0 |
Mathlib.lean,Mathlib/Combinatorics/SetFamily/Sunflower.lean,docs/references.bib |
3 |
4 |
['SamuelSchlesinger', 'github-actions'] |
nobody |
24-45418 24 days ago |
24-47200 24 days ago |
24-46877 24 days |
0 |
| 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 |
24-44630 24 days ago |
24-44959 24 days ago |
24-44636 24 days |
0 |
| 44183 |
kim-em author:kim-em |
feat(Topology/Homotopy): tube neighbourhoods of paths |
This PR adds tube neighbourhoods of paths: given a partition `0 = t₀ ≤ ⋯ ≤ tₙ = 1` (`unitInterval.Partition`) and open sets `Uᵢ` covering the segments of a path, with path-connected open sets `Vⱼ` around the vertices (`Path.Tube`), the paths lying in the tube (`Path.IsInTube`) form an open set in the compact-open topology (`Path.Tube.isOpen_setOf_isInTube`). When each `Uᵢ` is path-homotopy trivial (`IsPathHomotopyTrivial`), any two paths in a common tube are homotopic (`Path.IsInTube.homotopic`), and every path lies in such a tube in a locally path-connected space whenever its points have path-homotopy trivial neighbourhoods (`Path.exists_isInTube`).
Along the way it adds supporting path API: Lebesgue-number partitions of paths (`Path.exists_partition_in_cover`, `Path.exists_partition_with_property`), `Path.initialSegmentFamily`, cast and subpath lemmas, the quotient topology on `Path.Homotopic.Quotient`, and `Path.Homotopic.trans_left_of_nullhomotopic` / `trans_right_of_nullhomotopic`.
This is the first of four PRs constructing the universal cover (split from https://github.com/leanprover-community/mathlib4/pull/38292). It is independent of the second.
🤖 Prepared with Claude Code
|
t-topology
LLM-generated
|
420/1 |
Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/Topology/Connected/PathConnected.lean,Mathlib/Topology/Homotopy/Path.lean,Mathlib/Topology/Homotopy/TubeNeighborhood.lean,Mathlib/Topology/Path.lean,Mathlib/Topology/Subpath.lean,Mathlib/Topology/UnitInterval.lean |
8 |
1 |
['github-actions'] |
nobody |
24-32579 24 days ago |
24-32949 24 days ago |
25-22254 25 days |
2 |
| 44184 |
kim-em author:kim-em |
feat(AlgebraicTopology): semilocally simply connected spaces |
This PR defines semilocally simply connected spaces: `SemilocallySimplyConnectedAt x` says `x` has a neighbourhood `U` in which every loop at `x` is nullhomotopic in the ambient space, with `SemilocallySimplyConnectedOn` and the class `SemilocallySimplyConnectedSpace`. It proves the equivalent formulations via the fundamental group (`semilocallySimplyConnectedAt_iff_range_eq_bot`: `π₁(U, x) → π₁(X, x)` is trivial) and via paths (`semilocallySimplyConnectedAt_iff_paths`), and that simply connected spaces are semilocally simply connected.
Supporting additions: `Path.codRestrict`, groupoid lemmas relating homotopic paths to nullhomotopic loops (`Path.Homotopic.paths_homotopic_iff_loops_nullhomotopic` and friends), and `FundamentalGroup.map_fromPath` and `FundamentalGroup.map_range_eq_bot_iff`.
This is the second of four PRs constructing the universal cover (split from https://github.com/leanprover-community/mathlib4/pull/38292). It is independent of the first.
🤖 Prepared with Claude Code
|
t-topology
LLM-generated
|
270/0 |
Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SemilocallySimplyConnected.lean,Mathlib/Topology/Path.lean |
5 |
1 |
['github-actions'] |
nobody |
24-18660 24 days ago |
24-18917 24 days ago |
25-20324 25 days |
2 |
| 37456 |
Robertboy18 author:Robertboy18 |
feat(LinearAlgebra/AffineSpace): add parallel form of Desargues's theorem |
This PR adds an affine parallel form of the Desargues theorem, following the related Rocq/Coq affine-geometry statement.
**Main changes**
- New file `Mathlib/LinearAlgebra/AffineSpace/Desargues.lean` with `parallel_third_side_of_perspective`.
- Add the corresponding `public import` to `Mathlib.lean`.
**Proof idea**
The proof compares side vectors using `exists_eq_smul_of_parallel` for the two given pairs of parallel sides. The shared comparison along `SA` forces the same scalar, which gives parallelism of the third pair of sides.
Tests: `lake build Mathlib.LinearAlgebra.AffineSpace.Desargues`
AI disclosure: GPT-5.2 Pro was used for assistance with web search/background details about the theorem and for finding useful existing Mathlib lemmas. The theorem statement and Lean formalization were written and checked by hand.
---
[](https://gitpod.io/from-referrer/) |
t-algebra
new-contributor
LLM-generated
label:t-algebra$ |
133/0 |
Mathlib.lean,Mathlib/LinearAlgebra/AffineSpace/Desargues.lean |
2 |
22 |
['Robertboy18', 'SnirBroshi', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'wwylele'] |
nobody |
23-63959 23 days ago |
42-34801 42 days ago |
70-26700 70 days |
0 |
| 44217 |
mitchell-horner author:mitchell-horner |
chore(Combinatorics/SimpleGraph): update notation such that `I` is contained `H` is contained in `G` |
Updates the notation in Copy.lean to enforce `I` is contained in `H` is contained in `G`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 noticed that (1) the variable order of containment was different across this file and (2) the docstrings were incorrect.
This pull request corrects the docstrings and updates the variable order to:
```
(I : SimpleGraph X) ⊑ (H : SimpleGraph W) ⊑ (G : SimpleGraph V)
```
This fixes (2) but I figure the fix for (1) is opinion. I prefer this order (reverse alphabetical for both `G`, `H`, `I` and `V`, `W`, `X`). |
t-combinatorics |
93/93 |
Mathlib/Combinatorics/SimpleGraph/Copy.lean |
1 |
3 |
['Parcly-Taxel', 'SnirBroshi', 'github-actions', 'mitchell-horner'] |
nobody |
23-43035 23 days ago |
23-43559 23 days ago |
24-59552 24 days |
0 |
| 44241 |
thomaskwaring author:thomaskwaring |
feat(Basic/Rel): relation composition preserves unions |
Add the binary counterpart to `SetRel.comp_iUnion` and friends. |
t-data |
6/0 |
Mathlib/Basic/Rel.lean |
1 |
1 |
['github-actions'] |
nobody |
23-29567 23 days ago |
23-29981 23 days ago |
23-29658 23 days |
0 |
| 42072 |
joneugster author:joneugster |
feat(scripts/autolabel): use PR-title to find labels |
If present, use the paths specified in the PR title to determine labels. If this fails, fall back to the existing `git diff` logic.
- further: cleanup to use `githubAnnotation` consistently throughout the script. (the helper itself could be refactored to make some arguments optional, I'd prefer doing that in a follow-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/)
|
CI |
48/12 |
.github/workflows/add_label_from_diff.yaml,scripts/autolabel.lean |
2 |
5 |
['SnirBroshi', 'github-actions', 'joneugster', 'mathlib-merge-conflicts'] |
nobody |
23-15269 23 days ago |
23-15732 23 days ago |
37-78362 37 days |
0 |
| 43983 |
JX-Mo author:JX-Mo |
chore(RepresentationTheory/Rep/Res): remove a layer on `Rep.res` |
Define directly `abbrev res (f : H →* G) (A : Rep k G) := of (A.ρ.comp f)` and golf. |
t-algebra label:t-algebra$ |
14/17 |
Mathlib/RepresentationTheory/Coinduced.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/Functoriality.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/Functoriality.lean,Mathlib/RepresentationTheory/Rep/Res.lean |
4 |
11 |
['JX-Mo', 'Whysoserioushah', 'github-actions', 'leanprover-radar'] |
nobody |
23-13488 23 days ago |
30-23188 30 days ago |
30-39290 30 days |
3 |
| 44001 |
joneugster author:joneugster |
feat(scripts): synchronise WIP label with draft status |
Add script `sync_wip_label.yml` which ensures that the "WIP" label is present if and only if the PR is a draft.
This triggers on both events, label changes and draft status changes and updates the other one accordingly.
- further: some cleanup in `labels_from_comment.yml`. I first thought I had to add a snippet there to update the draft status whenever the "WIP" label was changed through a comment. This is not necessary anymore, but I did leave the cleanup changes in this PR.
---
Things to note:
- if the script applies a change, it immediately retriggers itself, but this time its a no-op
- `gh` vs. `curl`: it seems overall we have been using `curl` more often. However, it is not possible to change the draft status over `curl` using the REST endpoint, thus this PR uses `gh`.
- AI-usage: an interactive chat model has been used to get an initial draft of the YAML file, to explore github API docs, and to do a review of what I've written.
### Documentation
- [pull_request_target](https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax#onpull_requestpull_request_targetbranchesbranches-ignore)
- [actions triggering workflows](https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows#pull_request_target)
### Testing (does not apply anymore after the first review)
Here is the local testing setup to verify the bash code. PR ##44004 can be used for this.
<details>
Locally with `gh` installed, this can be triggered manually:
Initially, set up the following variables:
```bash
export PR_NUMBER=44004
export REPO=leanprover-community/mathlib4
export CHANGED_LABEL="WIP"
```
`IS_DRAFT` can be updated manually. You might need to do this after each test:
```bash
export IS_DRAFT=$(gh pr view "$PR_NUMBER" --repo "$REPO" --json isDraft --jq '.isDraft')
```
Then choose an action:
```bash
export ACTION=converted_to_draft. # will add WIP
export ACTION=ready_for_review. # will remove WIP
export ACTION=labeled # convert to draft
export ACTION=unlabeled # mark ready for reviewing
```
after that, you can copy the `case` block from this PR into your bash and observe the changes made to #44004
</details>
[](https://gitpod.io/from-referrer/)
|
CI |
48/4 |
.github/workflows/labels_from_comment.yml,.github/workflows/sync_wip_label.yml,docs/workflows.md |
3 |
22 |
['SnirBroshi', 'bryangingechen', 'github-actions', 'joneugster'] |
nobody |
23-8239 23 days ago |
30-4617 30 days ago |
30-12746 30 days |
0 |
| 43153 |
NoahW314 author:NoahW314 |
feat(Data/Finsupp/Basic): range of `equivMapDomain` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
9/0 |
Mathlib/Data/Finsupp/Basic.lean |
1 |
3 |
['BoltonBailey', 'NoahW314', 'github-actions'] |
nobody |
23-5363 23 days ago |
24-56794 24 days ago |
44-41525 44 days |
0 |
| 43569 |
kim-em author:kim-em |
refactor(ModuleCat): state pushforward coherence without identifying functor bracketings |
This PR makes the pushforward of (pre)sheaves of modules along the identity functor and along a composition of functors honestly typed. Currently `pushforwardId` takes `𝟙 S` at the type `S ⟶ (𝟭 C).op ⋙ S` and `pushforwardComp` takes `φ ≫ whiskerLeft F.op ψ` at the type `S ⟶ (F ⋙ G).op ⋙ T`, which only elaborate because `Functor.comp`, `Functor.id` and `Functor.op` unfold. The new `pushforwardIdHom` and `pushforwardCompHom` are the unitor and associator composed with `Functor.opId`/`Functor.opComp` (see `pushforwardIdHom_eq` and `pushforwardCompHom_eq`), and the associativity and unitality isomorphisms of pushforward and pullback are transported along the functor associator and unitors through the new `pushforwardCongr₂`/`pullbackCongr₂` (added at the presheaf level, together with `pushforwardCongr`, `pushforwardNatTrans` and `pushforwardNatIso`). The scheme-level pseudofunctor coherence lemmas in `AlgebraicGeometry.Modules.Sheaf` are reproved from these, and `Adjunction.leftAdjointCompIso_trans` is added for that purpose.
It is extracted from Paul Reichert's experiment making `Functor.comp` and `Functor.id` `instance_reducible` (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), and is the (pre)sheaf-of-modules half of https://github.com/leanprover-community/mathlib4/pull/43566; it is independent of that PR.
🤖 Prepared with Claude Code |
tech debt
t-category-theory
|
480/131 |
Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pullback.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pushforward.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackContinuous.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PushforwardContinuous.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean,Mathlib/AlgebraicGeometry/Modules/Sheaf.lean,Mathlib/CategoryTheory/Adjunction/CompositionIso.lean,Mathlib/Topology/Sheaves/Module.lean |
9 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
22-58729 22 days ago |
22-59176 22 days ago |
40-76412 40 days |
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 |
22-45040 22 days ago |
68-29189 68 days ago |
68-28866 68 days |
0 |
| 44228 |
Nicola9Falciola author:Nicola9Falciola |
feat(LinearAlgebra/Matrix/Transvection): add the api for define the elementary subgroup |
---
This PR adds API for transvections, needed to define the elementary subgroup `E(n, R)` of
`SL(n, R)` in a follow-up PR.
In `Mathlib/LinearAlgebra/Matrix/Transvection.lean`:
- `Matrix.map_transvection`: `(transvection i j c).map f = transvection i j (f c)`
- `Matrix.transvection_mul_transvection_mul_transvection_neg_mul_transvection_neg`:
the explicit formula for writing the commutator of transvections
- `Matrix.TransvectionStruct.reindexEquiv_surjective`
- `Matrix.TransvectionStruct.map`: apply a ring hom to the coefficient, with `map_toMatrix`,
`map_surjective` and `toMatrix_mem_range_map`
In `Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean`:
- `SpecialLinearGroup.sumInl`: the embedding `SL(n, R) →* SL(n ⊕ p, R)`, `A ↦ !![A, 0; 0, 1]`,
with `coe_sumInl`, this will be necessary for induction argument over the index type.
- `SpecialLinearGroup.commutatorElement_transvection`:
`⁅transvection hij a, transvection hjk b⁆ = transvection hik (a * b)`
- `SpecialLinearGroup.map_transvection`
- `TransvectionStruct.map_toSpecialLinearGroup`, `toSpecialLinearGroup_mem_range_map`,
`sumInl_toSpecialLinearGroup`,
`coe_list_prod_toSpecialLinearGroup`, and `mem_range_sumInl_iff`
The surjective and `SpecialLinearGroup.sumInl` API will be needed to simplify the arguments involving
proving `E(n, R) = SL(n, 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]
-->
|
t-algebra label:t-algebra$ |
116/1 |
Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean,Mathlib/LinearAlgebra/Matrix/Transvection.lean |
2 |
2 |
['github-actions'] |
nobody |
22-13073 22 days ago |
22-13598 22 days ago |
24-15169 24 days |
1 |
| 44093 |
grunweg author:grunweg |
chore: fix more congruence lemmas |
A `congr` should vary all its explicit arguments, not just some of them. This issue is documented on the docstring of the `@[congr]` attribute, but there is no warning when you write a bad `@[congr]` lemma.
Whenever a lemma seemed used sufficiently often, we fixed the congruence lemma by adding a new variant, with a primed name and the additional arguments varied also.
Found by the linter in #43692; these should be all remaining bad lemmas in 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]
-->
|
t-algebra
tech debt
label:t-algebra$ |
74/38 |
Mathlib/Algebra/MonoidAlgebra/Module.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/Card.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/Geometry/Convex/ConvexSpace/Defs.lean,Mathlib/LinearAlgebra/Finsupp/Supported.lean,Mathlib/LinearAlgebra/QuadraticForm/Signature.lean |
18 |
5 |
['github-actions', 'grunweg', 'j-loreaux', 'mathlib-merge-conflicts'] |
nobody |
22-11654 22 days ago |
22-12329 22 days ago |
25-4212 25 days |
0 |
| 41478 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Paths): more length upper bounds |
Bound the lengths of trails/paths/circuits/cycles by `ENat.card V`/`Nat.card V`/`G.edgeSet.encard`/`G.edgeSet.ncard`.
---
I then used these to slightly golf some other 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]
-->
- [x] depends on: #41476
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
38/28 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean |
1 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
22-10162 22 days ago |
22-10644 22 days ago |
66-74091 66 days |
0 |
| 44294 |
harahu author:harahu |
doc(RepresentationTheory): add module doc headers for Action and Equiv |
Add H1 module doc headers for `Mathlib/RepresentationTheory/Action.lean` and `Mathlib/RepresentationTheory/Equiv.lean`.
Split out from #42795 to allow the mechanical header cleanups to be merged separately.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
5/1 |
Mathlib/RepresentationTheory/Action.lean,Mathlib/RepresentationTheory/Equiv.lean |
2 |
1 |
['github-actions'] |
nobody |
22-5510 22 days ago |
22-5916 22 days ago |
22-5593 22 days |
0 |
| 37298 |
artie2000 author:artie2000 |
refactor(Algebra/Order): unbundle group and ring cone |
* Unbundle `GroupCone` and `RingCone` using `Submonoid.IsMulPointed`
This PR deprecates the [GroupCone](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Group/Cone.html#GroupCone) and [RingCone](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Ring/Cone.html#RingCone) structures, making use of the predicates `Submonoid.IsMulPointed` and `AddSubmonoid.IsPointed` defined in that file instead.
These predicates allow us to treat uniformly
* positive cones in groups and rings
* pointed cones in vector spaces over an ordered field
* orderings in rings
This reduces duplication of theorems.
Unbundling group and ring cones is further justified by the principle that there are no new operations on them: they correspond to operations on the underlying submonoids and subsemirings, respectively. See the discussion at https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/When.20should.20subobjects.20be.20bundled.3F/with/609099816
See also #36863 for the analogous change to ring orderings.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
increases-technical-debt
maintainer-merge
label:t-algebra$ |
127/29 |
Mathlib/Algebra/Group/Submonoid/Support.lean,Mathlib/Algebra/Order/Group/Cone.lean,Mathlib/Algebra/Order/Ring/Cone.lean |
3 |
37 |
['Vierkantor', 'YaelDillies', 'artie2000', 'github-actions', 'joneugster', 'mathlib-merge-conflicts'] |
nobody |
22-5506 22 days ago |
22-5678 22 days ago |
84-17328 84 days |
1 |
| 43528 |
joelriou author:joelriou |
feat(Geometry/Convex): the simplicial set of affine simplices of a convex space |
Let `Y` be a `R`-convex space. In this file, we introduce the simplicial set `toSSet R Y` whose `n`-simplices are affine maps from the standard `n`-dimensional simplex to `Y`. (When `R := ℝ` and `Y` has a suitable topology, this identifies to a subcomplex of the singular simplicial set of the topological space `Y`.)
From https://github.com/joelriou/excision
---
- [x] depends on: #43524
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
188/0 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/Geometry/Convex/ConvexSpace/ToSSet.lean |
3 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
22-3344 22 days ago |
22-4042 22 days ago |
33-20512 33 days |
0 |
| 42874 |
teorth author:teorth |
feat(RingTheory/MvPolynomial/Symmetric): basic API lemmas for Multiset.esymm |
Add basic lemmas for the elementary symmetric functions `Multiset.esymm`: `esymm_cons`, `esymm_zero`, `esymm_one`, `esymm_card`, `esymm_eq_zero_of_card_lt`, `two_mul_esymm_two`, and `esymm_map_inv` (with a private auxiliary). Also drop the redundant `@[simp]` on `esymm_pair_one`, which is now provable by `simp` from `esymm_one`.
---
The code here was prepared with AI assistance, but then golfed and reviewed by myself. It will be used in a forthcoming PR on the Newton and Maclaurin inequalities.
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
32/0 |
Mathlib/RingTheory/MvPolynomial/Symmetric/Defs.lean |
1 |
8 |
['felixpernegger', 'github-actions', 'teorth', 'vlad902'] |
nobody |
21-67916 21 days ago |
21-68328 21 days ago |
22-67034 22 days |
1 |
| 33864 |
Timeroot author:Timeroot |
feat(Computability/Primrec): Proving several Nat arithmetic functions are primrec |
Prove that gcd, lcm, coprimality, divisiblity, primality, factorial, descending factorial, powers, and various logarithms are all primitive recursive.
Co-authored-by: Aristotle Harmonic <[aristotle-harmonic@harmonic.fun](mailto:aristotle-harmonic@harmonic.fun)>
|
large-import
t-computability
|
195/3 |
Mathlib.lean,Mathlib/Computability/Primrec/List.lean,Mathlib/Computability/Primrec/Nat.lean,Mathlib/Data/Nat/Log.lean |
4 |
9 |
['eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
21-2461 21 days ago |
21-2530 21 days ago |
114-49217 114 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 |
20-79185 20 days ago |
20-79709 20 days ago |
21-82221 21 days |
0 |
| 44328 |
Multramate author:Multramate |
chore: fix misspelling `supsets` in `Set.sUnion_mono_supsets` |
Fixes the misspelling `supsets` in `Set.sUnion_mono_supsets`.
---
🤖 Generated with [Claude Code](https://claude.com/claude-code) |
t-data
LLM-generated
|
3/1 |
Mathlib/Data/Set/Lattice/Bounded.lean |
1 |
5 |
['JX-Mo', 'Multramate', 'github-actions'] |
nobody |
20-76232 20 days ago |
20-82952 20 days ago |
20-82629 20 days |
0 |
| 41432 |
SnirBroshi author:SnirBroshi |
chore(Combinatorics/SimpleGraph/Paths): spell `getVert` injectivity lemmas using `Set` intervals |
e.g. replace `{i | i ≤ p.length}` with `Iic p.length` in `IsPath.getVert_injOn`, which is the canonical spelling.
Proofs using `Set.mem_setOf`/`Set.mem_setOf_eq` had to be fixed, and got golfed along the way.
I also rewrote the proof of `IsPath.getVert_injOn` since it seemed too long.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
29/60 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
20-73094 20 days ago |
20-73150 20 days ago |
105-36398 105 days |
1 |
| 36086 |
Multramate author:Multramate |
feat(Algebra): add liftEquiv for groups, rings, algebras, and adjoin roots |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
49/1 |
Mathlib/Algebra/Polynomial/Bivariate.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean |
4 |
10 |
['CBirkbeck', 'Multramate', 'artie2000', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
20-70533 20 days ago |
25-85256 25 days ago |
49-18519 49 days |
1 |
| 44288 |
artie2000 author:artie2000 |
feat(Algebra/Ring): sums of squares in a formally real ring form a positive cone |
* Prove that sums of squares in a formally real ring form a positive cone
* Add helper lemma relating the additive submonoid and subsemiring of sums of squares
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 label:t-algebra$ |
15/2 |
Mathlib/Algebra/Ring/IsFormallyReal.lean,Mathlib/Algebra/Ring/SumsOfSquares.lean |
2 |
1 |
['github-actions', 'vihdzp'] |
nobody |
20-65018 20 days ago |
22-13830 22 days ago |
22-13507 22 days |
0 |
| 42895 |
cameronfreer author:cameronfreer |
feat(SetTheory/Ordinal): add lift_sSup and lift_iSup |
Add `InitialSeg.map_sSup` and `InitialSeg.map_iSup` for conditionally complete linear orders with bottom. Specializing these to `Ordinal.liftInitialSeg` gives `Ordinal.lift_sSup`, `Ordinal.lift_iSup`, `Ordinal.lift_iSup_le`, and `Ordinal.lift_iSup_le_iff`.
The `sSup` theorem handles the empty set using preservation of bottom and the nonempty case using normality. The `iSup` theorem is derived from it. Both use an explicit boundedness hypothesis; in particular, `lift_iSup` assumes `BddAbove (Set.range f)` rather than requiring the index type to be small.
🤖 This PR was developed with assistance from Claude and GPT models, using [lean4-skills](https://github.com/cameronfreer/lean4-skills) and [lean-lsp-mcp](https://github.com/oOo0oOo/lean-lsp-mcp).
|
t-set-theory
new-contributor
LLM-generated
|
40/0 |
Mathlib/Order/IsNormal.lean,Mathlib/SetTheory/Ordinal/Family.lean |
2 |
11 |
['cameronfreer', 'github-actions', 'plp127', 'vihdzp'] |
nobody |
20-63956 20 days ago |
63-10261 63 days ago |
63-17948 63 days |
0 |
| 44216 |
peabrainiac author:peabrainiac |
feat(Topology): add `IsCozeroSet` |
Define a predicate `IsCozeroSet` for sets in topological spaces that are the support of some continuous function to $\mathbb R$. We prove:
* Every cozero set is open, and in perfectly normal spaces every open set is a cozero set.
* Finite intersections and locally finite unions of cozero sets are cozero sets.
* Preimages of cozero sets under continuous functions are cozero sets.
* Images and coimages of cozero sets under open proper maps are cozero 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]
-->
Taken from [classifying-bundles](https://peabrainiac.github.io/classifying-bundles/docs/ClassifyingBundles/IsCozeroSet), where this API was useful for working with numerable covers. |
t-topology |
227/0 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/Order/Group/Indicator.lean,Mathlib/Topology/IsCozeroSet.lean |
4 |
1 |
['github-actions'] |
nobody |
20-62453 20 days ago |
20-63118 20 days ago |
24-59389 24 days |
0 |
| 41940 |
mcdoll author:mcdoll |
chore(Dynamics): deprecate `IsForwardInvariant` in favour of new `Set.IsInvariantOn` |
We define a predicate `Set.IsInvariantOn` that generalizes `IsInvariant` and as a special case contains `IsForwardInvariant`. The later is hence removed. We also move `IsInvariant` into the `Set` namespace to allow for dot-notation.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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-dynamics
dynsys
|
51/17 |
Mathlib/Dynamics/Flow.lean,Mathlib/Dynamics/OmegaLimit.lean |
2 |
5 |
['github-actions', 'mathlib-merge-conflicts', 'mcdoll', 'sgouezel'] |
sgouezel assignee:sgouezel |
20-62118 20 days ago |
20-62246 20 days ago |
74-54742 74 days |
0 |
| 42025 |
NoneMore author:NoneMore |
feat(ModelTheory): add counting formulas |
Add formula constructors expressing at least, at most, and exactly finitely many realizations, together with their semantic 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]
-->
- [ ] depends on: #42024
AI disclosure: I used Codex to generate the Lean declarations and documentation in this PR.
[](https://gitpod.io/from-referrer/)
|
large-import
t-logic
|
124/0 |
Mathlib/Data/Set/Card.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Syntax.lean |
3 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
20-61113 20 days ago |
20-61115 20 days ago |
20-61317 20 days |
2 |
| 44334 |
JovanGerb author:JovanGerb |
feat: `@[gcongr]` for `eq_top_mono` and friends |
This PR tags lemma `eq_top_mono` and various similar lemmas with `@[gcongr]`. This lets us use `grw` in places where we couldn't before. The supported maximal/minimal constants are `⊤`, `⊥`, `(∅ : Set _)`, `Set.univ`, `0`, `1`, each on either side of an equality `=` and an inequality `≠`.
`subset_eq_empty` is renamed to `eq_empty_of_subset`, to match `eq_univ_of_subset`.
Performance note: `@[gcongr]` lemmas are indexed only by the relation and head constand, which for these lemmas is `=` and `→`, or `≠` and `→`. So, it will need to try all 12 available lemmas in these cases. I do not think that this will cause any noticeable performance issue. If it does, we can consider a more detailed indexing of `@[gcongr]` 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]
-->
|
|
64/16 |
Mathlib/Algebra/Order/IsBotOne.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Lattice/Bounded.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/Order/SetDissipate.lean,Mathlib/Topology/Closure.lean,Mathlib/Topology/Compactness/Lindelof.lean,Mathlib/Topology/MetricSpace/Thickening.lean,Mathlib/Topology/Separation/Regular.lean,MathlibTest/Tactic/GRewrite.lean |
10 |
1 |
['github-actions'] |
nobody |
20-49878 20 days ago |
20-65392 20 days ago |
20-65069 20 days |
1 |
| 44354 |
Rob23oba author:Rob23oba |
fix: use a more robust definition for unquot |
`unsafeCast`, and by extension, `cast lcProof`, is quite unstable in the compiler. Instead using an unsound `Quot.lift` is much more stable, since it uses the intended features for `Quot` and translates into an explicit `Quot.lcInv` application in the compiler. You can however not just use `Quot.lcInv` as the definition because the computability check catches it as an application of an axiom.
See also leanprover/lean4#14719 for an issue with the `unsafeCast` definition of `unquot`.
|
t-data |
1/1 |
Mathlib/Data/Quot.lean |
1 |
1 |
['github-actions'] |
nobody |
20-20181 20 days ago |
20-20258 20 days ago |
20-19935 20 days |
0 |
| 44123 |
TJHeeringa author:TJHeeringa |
feat(LinearAlgebra/SesquilinearForm/Basic): generalize LinearMap.Nondegenerate |
The implemented definition `LinearMap.Nondegenerate` required `CommSemirings`. This is a stronger requirement than necessary. This PR relaxes the conditions on `LinearMap.Nondegenerate` to the minimal ones, i.e. the same as needed to define a bilinear map.
---
This is needed to generalize the RKHS from `InnerProductSpace/Reproducing.lean`.
**AI**:
After generalizing, the statement of the theorem `SeparatingLeft.id` broke. I asked Claude Sonnet 5 free for a fix. It suggested to just make the range and domain of the mapping `LinearMap.id` explicit. Predictable, but I didn't see a better 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]
-->
|
t-algebra label:t-algebra$ |
33/28 |
Mathlib/LinearAlgebra/Dual/Lemmas.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean |
3 |
5 |
['TJHeeringa', 'github-actions', 'themathqueen'] |
nobody |
20-19972 20 days ago |
27-15486 27 days ago |
27-17506 27 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 |
20-14897 20 days ago |
20-14965 20 days ago |
34-60112 34 days |
0 |
| 43362 |
TJHeeringa author:TJHeeringa |
feat(Analysis/InnerProductSpace/Reproducing): add RKHS.SMul.smulSpace |
This PR defines the scalar multiple `c • H` for a given RKHS `H` and shows that it is an RKHS.
---
Can be constructed just as the sumSpace in #41127. However, the discussion below concluded that the current type copy approach was better in this case.
The notation `scoped infix:50 " • " => smulSpace` was not introduced. That caused overload issues that I don't know how to fix.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
119/5 |
Mathlib/Analysis/InnerProductSpace/Reproducing.lean,Mathlib/Analysis/InnerProductSpace/Reproducing/Operations.lean |
2 |
9 |
['Maldooor', 'TJHeeringa', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
20-10648 20 days ago |
20-10786 20 days ago |
20-19561 20 days |
1 |
| 36814 |
YaelDillies author:YaelDillies |
refactor(Combinatorics/SimpleGraph): no proof obligation in `rotate` |
If the walk doesn't go through the new vertex, return `nil` instead.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
44/32 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean |
7 |
19 |
['SnirBroshi', 'YaelDillies', 'b-mehta', 'bryangingechen', 'eric-wieser', 'github-actions', 'jcommelin', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
20-4949 20 days ago |
20-5009 20 days ago |
208-1242 208 days |
0 |
| 44351 |
homeowmorphism author:homeowmorphism |
chore(Topology/MetricSpace/Bounded): add grind annotations to lemmas about the diameter |
---
I was browsing this API in the light of #43723 and noticed these possible improvements.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-topology |
6/3 |
Mathlib/Topology/MetricSpace/Bounded.lean |
1 |
3 |
['github-actions', 'homeowmorphism'] |
nobody |
19-73821 19 days ago |
20-8312 20 days ago |
20-21309 20 days |
0 |
| 41393 |
SnirBroshi author:SnirBroshi |
feat(SimpleGraph/Hamiltonian): a graph is Hamiltonian iff there's a Hamiltonian path with adjacent endpoints |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #41435
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
32/9 |
Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean |
1 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
19-60892 19 days ago |
19-60956 19 days ago |
99-51460 99 days |
2 |
| 44145 |
Rida-Hamadani author:Rida-Hamadani |
feat(Analysis): translations preserve harmonicity |
also proves that translations preserves `C^n` regularity.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
63/0 |
Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/InnerProductSpace/Harmonic/Basic.lean,Mathlib/Analysis/InnerProductSpace/Laplacian.lean |
3 |
1 |
['github-actions'] |
nobody |
19-22359 19 days ago |
19-22820 19 days ago |
26-68918 26 days |
0 |
| 43695 |
gasparattila author:gasparattila |
feat(Topology/Algebra): define a topology on `Homogenization` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #43339
[](https://gitpod.io/from-referrer/)
|
t-topology |
377/0 |
Mathlib.lean,Mathlib/Topology/Algebra/Homogenization.lean |
2 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
19-14219 19 days ago |
19-14462 19 days ago |
19-80310 19 days |
0 |
| 43545 |
gasparattila author:gasparattila |
refactor(Algebra/Order/Ring/Idempotent): introduce bundled types |
This file currently has several instances defined for specific subtypes. This PR replaces these with bundled structures. This also fixes possible typeclass diamonds when the order defined here conflicts with the general one on subtypes.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
242/111 |
Mathlib/Algebra/Order/Ring/Idempotent.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
19-12696 19 days ago |
19-12910 19 days ago |
42-82109 42 days |
0 |
| 42919 |
tb65536 author:tb65536 |
feat(NumberTheory/RamificationInertia/Unramified): generalize `IsUnramifiedAt.of_liesOver` to flat algebras |
This PR generalizes `IsUnramifiedAt.of_liesOver` to flat algebras and deprecates the technical auxiliary lemma `IsUnramifiedAt.of_liesOver_of_ne_bot` for the previous proof.
This also avoids the usage of the old `Ideal.ramificationIdx'` in the proof of `IsUnramifiedAt.of_liesOver_of_ne_bot`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
t-algebra
label:t-algebra$ |
24/6 |
Mathlib/NumberTheory/RamificationInertia/Unramified.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Algebra.lean,Mathlib/RingTheory/Ideal/GoingDown.lean,Mathlib/RingTheory/Unramified/LocalRing.lean |
4 |
1 |
['github-actions'] |
nobody |
19-10861 19 days ago |
19-10918 19 days ago |
62-75386 62 days |
0 |
| 42182 |
gasparattila author:gasparattila |
feat(Order/Partition): converting a `Finpartition` into a `Partition` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
large-import
|
60/2 |
Mathlib/Order/Partition/Basic.lean,Mathlib/Order/Partition/Finpartition.lean,Mathlib/Order/SupIndep.lean |
3 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
19-6568 19 days ago |
19-6627 19 days ago |
80-63157 80 days |
0 |
| 43409 |
gasparattila author:gasparattila |
doc: expand the documentation on `SMul ℕ` defeq issues |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
20/1 |
Mathlib/Algebra/Group/Monoid.lean |
1 |
3 |
['Vierkantor', 'gasparattila', 'github-actions'] |
nobody |
19-1174 19 days ago |
19-1230 19 days ago |
46-85749 46 days |
0 |
| 38587 |
dagurtomas author:dagurtomas |
feat(Tactic/CategoryTheory): concrete category boilerplate |
Adds `mk_concrete_category`, a command for generating the initial boilerplate for concrete categories whose morphisms are given by a bundled function type.
The command creates the wrapper `Hom` type, named category and concrete category instances, `ofHom`, `Hom.hom`, and the basic dsimp lemmas.
It handles parameterized categories such as `ModuleCat`, and has a paired additive/multiplicative form for generating both structures at once (e.g. `MonCat`/`AddMonCat`).
Includes test categories checking the generated declarations.
[](https://gitpod.io/from-referrer/)
|
LLM-generated
t-meta
t-category-theory
|
1031/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/MkConcreteCategory.lean,MathlibTest/CategoryTheory/MkConcreteCategory.lean |
4 |
18 |
['Vierkantor', 'dagurtomas', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts'] |
Vierkantor assignee:Vierkantor |
19-103 19 days ago |
19-103 18 days ago |
165-78844 165 days |
1 |
| 44398 |
j-loreaux author:j-loreaux |
feat: transfer algebraic structure to the `WithTopology` synonym |
`WithTopology` is a type synonym that changes the topology, but in various circumstances, one may wish to have the same algebraic structures available on this synonym, as we do for example for `WithLp`. This PR transfers those over using `WithTopology.equiv`.
---
Because this is very mechanical work, I generated this with Claude Code and checked the output.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-topology
t-algebra
LLM-generated
label:t-algebra$ |
500/0 |
Mathlib.lean,Mathlib/Topology/Algebra/WithTopology.lean |
2 |
1 |
['github-actions'] |
nobody |
18-84637 18 days ago |
18-84173 18 days ago |
18-83850 18 days |
0 |
| 44396 |
mathlib-splicebot author:mathlib-splicebot |
chore(Analysis/Complex/UnitDisc/Basic): fix instance diamond |
There were two natural number power instances which differed at implicit transparency.
The `NatPowAssoc` instance is not necessary, hence can be removed.
Found by the linter in #38781.
Co-authored-by: Jovan Gerbscheid <jovan.gerbscheid@gmail.com>
-------- |
tech debt
t-analysis
|
11/16 |
Mathlib/Analysis/Complex/UnitDisc/Basic.lean |
1 |
3 |
['github-actions', 'grunweg', 'leanprover-radar'] |
nobody |
18-84362 18 days ago |
18-86058 18 days ago |
18-85735 18 days |
0 |
| 44139 |
Nicola9Falciola author:Nicola9Falciola |
refactor(LinearAlgebra/Matrix/Transvection): generalize the pivot elimination step to commutative rings |
---
The elimination steps in the pivot algorithm in `Matrix.Pivot` reduce to a diagonal
block the last row of a matrix using transvections only need the last diagonal
coefficient to be a unit over the base ring not that the ring itself is field.
This PR generalizes this step to work over a commutative ring `R`
instead of a field.
I also add the following API :
- `listTransvecCol_mul_mul_listTransvecRow_last_diag`: the elimination does not change the
last diagonal coefficient
- `exists_isTwoBlockDiagonal_and_last_eq_of_isUnit`
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
label:t-algebra$ |
128/110 |
Mathlib/LinearAlgebra/Matrix/Transvection.lean |
1 |
2 |
['Nicola9Falciola', 'github-actions'] |
nobody |
18-83781 18 days ago |
18-83838 18 days ago |
26-86251 26 days |
1 |
| 44400 |
sgouezel author:sgouezel |
chore: fix a non-reducible diamond in `MvPowerSeries` |
The following fails before the PR, succeeds after it:
```
example : ((MvPowerSeries.instCommRingRestricted
c).toNonUnitalSemiring : NonUnitalSemiring (MvPowerSeries.Restricted S c)) =
NonUnitalCommRing.toNonUnitalCommSemiring.toNonUnitalSemiring := by
with_implicit rfl
```
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-ring-theory
tech debt
|
4/5 |
Mathlib/RingTheory/MvPowerSeries/Restricted.lean |
1 |
1 |
['github-actions'] |
nobody |
18-71210 18 days ago |
18-80988 18 days ago |
18-80665 18 days |
0 |
| 36406 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Matching): `#verts = 2 * #edgeSet` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #36442
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
44/0 |
Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean,Mathlib/SetTheory/Cardinal/Finite.lean |
3 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
18-69255 18 days ago |
18-69311 18 days ago |
19-67637 19 days |
1 |
| 44032 |
kim-em author:kim-em |
chore: remove backward.privateInPublic by wrapping proofs with private_decl% |
This PR removes 171 uses of `backward.privateInPublic` across 37 files. Wherever a public declaration used a private lemma in a proof position, the proof is wrapped with core's `private_decl%` elaborator, or with the `field := private proof` structure-instance syntax where the proof fills a structure field. Both elaborate the proof in a private context and hide it behind an auxiliary declaration, which is harmless by proof irrelevance. No declaration changes visibility and no statement changes, except that in `Combinatorics/SetFamily/AhlswedeZhang` the `Finset → Set` coercion in `lowerClosure s` is now written explicitly, since `private_decl%` elaborates eagerly and otherwise sees the coercion's pending metavariable.
This follows the plan of #42755 by @thorimur and takes its non-elaborator changes verbatim: moving `variable` commands out of `public section` in four files where almost every declaration is private (Galois/Decomposition, ChevalleyComplexity, GromovHausdorffRealized, NumberField/House; see https://github.com/leanprover/lean4/issues/14708 and https://github.com/leanprover/lean4/issues/14718), making the two lemmas used by the `sz_positivity` macro public under internal names, and separating data from proof in `binomExpansion` and `archimedeanClassOrderIso`. The difference is that this PR uses the elaborator that already exists in core rather than the `private` term elaborator proposed in #42563, so that it can land now. Once #42563 is in, every `private_decl% (…)` here can be replaced mechanically by `private …`. The 13 files that only need the field syntax are in #44023 and are not touched here.
🤖 Prepared with Claude Code |
tech debt |
135/274 |
Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Lie/BaseChange.lean,Mathlib/Algebra/Lie/Weights/RootSystem.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/Algebra/Polynomial/Identities.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/AlgebraicTopology/SimplicialSet/HomotopyCat.lean,Mathlib/Analysis/InnerProductSpace/TensorProduct.lean,Mathlib/Analysis/Normed/Lp/PiLp.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/Normed/Operator/Basic.lean,Mathlib/CategoryTheory/Galois/Decomposition.lean,Mathlib/CategoryTheory/Monoidal/Closed/FunctorCategory/Complete.lean,Mathlib/CategoryTheory/Preadditive/CommGrp_.lean,Mathlib/Combinatorics/SetFamily/AhlswedeZhang.lean,Mathlib/Combinatorics/SimpleGraph/Copy.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Bound.lean,Mathlib/Computability/Primrec/List.lean,Mathlib/Data/Finset/Union.lean,Mathlib/FieldTheory/PerfectClosure.lean,Mathlib/GroupTheory/DivisibleHull.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/RootSystem/Basic.lean,Mathlib/ModelTheory/Algebra/Ring/FreeCommRing.lean,Mathlib/NumberTheory/NumberField/House.lean,Mathlib/Order/BooleanAlgebra/Basic.lean,Mathlib/Order/Lattice/Congruence.lean,Mathlib/RingTheory/Coalgebra/TensorProduct.lean,Mathlib/RingTheory/DividedPowers/Padic.lean,Mathlib/RingTheory/DividedPowers/SubDPIdeal.lean,Mathlib/RingTheory/PicardGroup.lean,Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean,Mathlib/Topology/ExtremallyDisconnected.lean,Mathlib/Topology/MetricSpace/GromovHausdorffRealized.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean,Mathlib/Topology/UnitInterval.lean |
36 |
5 |
['JovanGerb', 'github-actions', 'kim-em', 'mathlib-merge-conflicts', 'thorimur'] |
nobody |
18-58162 18 days ago |
18-58333 18 days ago |
27-8230 27 days |
0 |
| 40435 |
bryangingechen author:bryangingechen |
ci: duplicate declarations report |
This adds a workflow that runs `lintDuplicateDeclarations` weekly and posts a summary to Zulip (with the full report in a workflow artifact).
The Zulip message contains the number of duplicate theorem, instance and def groups and is intentionally barebones for now. In future work we will make changes to `Tactic.DuplicateDeclarations` to make the report more useful.
Prepared with Claude code.
---
- [ ] depends on: #33640
|
|
148/0 |
.github/workflows/duplicate_decls_report.yml,docs/workflows.md,scripts/README.md,scripts/dup_decls_report.lean |
4 |
9 |
['bryangingechen', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib-splicebot'] |
nobody |
18-46124 18 days ago |
18-52581 18 days ago |
18-52258 18 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 |
18-4290 18 days ago |
18-4357 18 days ago |
18-4034 18 days |
0 |
| 44379 |
JokerXin2025 author:JokerXin2025 |
fix(tactic): skip implementation-detail declarations in `specialize_all` |
This commit fixes a bug in the `specialize_all` tactic that causes incorrect behavior in `specialize_all; assumption`.
In the original implementation of `specialize_all`, the statement `for h in ← getLCtx do` iterates over the entire local context without filtering out auxiliary declarations, particularly the theorem currently being proved. This allows the subsequent `assumption` tactic to directly use the local hypothesis produced by specializing that declaration, recursively “proving” the current theorem. This issue makes `tauto_set` unusable in many cases where it successfully executes `specialize_all` internally.
Here are some examples of the bug in `specialize_all` (before the fix):
```lean
import Mathlib.Tactic.TautoSet
/-- error: fail to show termination for
_example
with errors
failed to infer structural recursion:
Cannot use parameter x:
failed to eliminate recursive application
_example x✝ rfl -/
#guard_msgs (substring := true) in
example (x : ℕ) : {x} ⊆ Set.univ := by tauto_set
/-- error: fail to show termination for
_example -/
#guard_msgs (substring := true) in
example {α : Type} : α → False := by
intro x
specialize_all x
assumption
```
This issue does not cause Lean to accept the invalid proof, because it is rejected by the termination checker.
I fixed this issue by adding
```lean
unless h.isImplementationDetail do
```
after the loop statement above to filter out all implementation-detail hypotheses, including the auxiliary declaration for the current theorem. I also added three regression tests in `MathlibTest/Tactic/TautoSet.lean`. All three compile successfully now, but fail with `error: fail to show termination for ...` before the fix.
GPT-6-Astra was used to help locate the bug and translate the PR description to English.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-meta
new-contributor
maintainer-merge
|
21/2 |
Mathlib/Tactic/TautoSet.lean,MathlibTest/Tactic/TautoSet.lean |
2 |
11 |
['JokerXin2025', 'JovanGerb', 'github-actions', 'grunweg', 'plp127'] |
nobody |
17-82226 17 days ago |
18-36772 18 days ago |
18-71912 18 days |
0 |
| 41685 |
plp127 author:plp127 |
feat: free modular lattice on three generators |
We define `FreeModLatThree`, the free modular lattice on three generators, as an inductive type and prove the 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-order
t-data
|
587/0 |
Mathlib.lean,Mathlib/Data/FreeModLatThree.lean |
2 |
11 |
['alreadydone', 'github-actions', 'mathlib-merge-conflicts', 'plp127', 'tb65536'] |
nobody |
17-75184 17 days ago |
17-75408 17 days ago |
97-67945 97 days |
0 |
| 38223 |
Deicyde author:Deicyde |
feat(Geometry/Manifold): add `MfldCat`, the category of `C^n` manifolds |
Defines `MfldCat 𝕜 n`: the category of `C^n` manifolds over a field `𝕜`, in which the model with corners is allowed to vary between objects. An object bundles a model vector space `E`, a model space `H`, a model with corners `I : ModelWithCorners 𝕜 E H` and a term of `ModelWithCorners.MfldCat I n`--see #41109. This includes manifolds with boundary / corners.
For more discussion see this Zulip thread: [#PR reviews > #38223 The Category of C^n Manifolds](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2338223.20The.20Category.20of.20C.5En.20Manifolds/with/587038032)
Also added: `ContMDiffMap.id_apply`, `.coe_id` and `.coe_comp` which are comparable to `ContinuousMap` API.
### Future work
- ✅ Define a Monoidal structure via product manifolds, analogous to `Manifold.Topology.Category.TopCat.Monoidal` #38560
- ✅ Define the tangent functor: `M ↦ TM`, `F ↦ F.tangentMap` from `MfldCat (n+1) 𝕜` to `MfldCat n 𝕜` #38270
- Functor `FGModuleCat 𝕜 ⥤ MfldCat 𝕜 n` sending a finite-dimensional `𝕜`-vector space to the manifold modeled on itself. Left as `TODO`.
- Define `FGModuleCat 𝕜` as an enriched category over `MfldCat n 𝕜`. Then _smooth functors_ can be realized as endofunctors on the enriched category. This is the main motivation for this construction.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [x] depends on: #41109 [The category of `C^n` manifolds on a fixed model]
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
new-contributor
t-category-theory
|
210/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Category/MfldCat/Basic.lean,Mathlib/Geometry/Manifold/ContMDiffMap.lean |
3 |
63 |
['Deicyde', 'chrisflav', 'dagurtomas', 'github-actions', 'idontgetoutmuch', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'peabrainiac'] |
ocfnash assignee:ocfnash |
17-64861 17 days ago |
40-25338 40 days ago |
99-58580 99 days |
2 |
| 42831 |
ray-shang author:ray-shang |
feat(CategoryTheory/Preadditive): category ring of preadditive category |
Given a preadditive category `C`, its category ring `CategoryRing C` is the non-unital ring
whose underlying additive group is the direct sum of all of its morphism groups `X ⟶ Y`, and
whose multiplication is induced by composition: the product of a morphism `f : X ⟶ Y` with a
morphism `g : Z ⟶ W` is `f ≫ g` when `Y = Z`, and `0` otherwise. When `C` is `R`-linear this ring
is a (non-unital) `R`-algebra, and when `C` has finitely many objects it is unital, with
unit `∑ X, 𝟙 X`.
This file formalizes `CategoryRing C` and its structure and universal property
when `C` is preadditive, `R`-linear, finite type, and both finite type and `R`-linear. For example,
when `C` is merely preadditive, the universal property of `CategoryRing C` is: non-unital ring
homomorphisms out of `CategoryRing C` correspond to `LiftData`, the data of a
compatible family of additive maps `(X ⟶ Y) →+ A` for a `NonUnitalNonAssocSemiring A`.
AI Usage: Gemini 3.1 Pro Extended Thinking is in use to generate proof terms for the custom induction principle to unwrap the nested direct sums of the category algebra. Human oversight and work determines the most efficient proof term.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-category-theory
new-contributor
|
706/0 |
Mathlib.lean,Mathlib/CategoryTheory/Preadditive/CategoryRing.lean |
2 |
11 |
['b-reinke', 'github-actions', 'joelriou', 'ray-shang', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
16-64858 16 days ago |
19-61951 19 days ago |
32-31588 32 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 |
16-63958 16 days ago |
21-57149 21 days ago |
38-47374 38 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
|
159/0 |
Mathlib.lean,Mathlib/MeasureTheory/Measure/Haar/AutomaticContinuity.lean |
2 |
10 |
['certik', 'github-actions', 'mathlib-merge-conflicts', 'wwylele'] |
nobody |
16-63957 16 days ago |
109-50272 109 days ago |
117-63646 117 days |
0 |
| 44487 |
artie2000 author:artie2000 |
feat(Algebra/GCDMonoid): `simp` lemmas for `normalize` being irreducible and prime |
* Add `simp` lemmas reducing `Irreducible (normalise x)` and `Prime (normalize x)` to `Irreducible x` and `Prime x`, respectively.
These are no-longer-relevant API lemmas split from #44287
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 label:t-algebra$ |
10/1 |
Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/RingTheory/UniqueFactorizationDomain/NormalizedFactors.lean |
2 |
1 |
['github-actions'] |
nobody |
15-83245 15 days ago |
15-83384 15 days ago |
15-83061 15 days |
0 |
| 41729 |
vaca22 author:vaca22 |
feat(RingTheory/DedekindDomain): add divisor group core |
Add the divisor group of a Dedekind domain as a formal-sum model, together with the additive equivalence to the multiplicative group of nonzero fractional ideals.
**Relation to what Mathlib already has.** As pointed out on Zulip, Mathlib already knows that fractional ideals factor: `FractionalIdeal.count` gives the exponent of a height-one prime, and `ClassGroup` is built from fractional ideals directly. This PR does not re-prove any of that — it reuses `count` and `finite_factors` verbatim. What it adds is the *additive* packaging:
* `IsDedekindDomain.Divisor R := HeightOneSpectrum R →₀ ℤ`, so a divisor is a finitely supported integer-valued function and one can write `D₁ + D₂`, `-D`, `D v`, and use the whole `Finsupp` API (`support`, `sum`, induction on the support);
* `FractionalIdeal.divisorEquiv`, an `AddEquiv` from `(FractionalIdeal R⁰ K)ˣ` to `Divisor R`, turning ideal multiplication into divisor addition.
The multiplicative view is the right one for the class group; the additive one is what divisor-theoretic arguments are written in, where one constantly forms `D - D'`, compares coefficients prime by prime, and does induction over `D.support`. Having both, related by a single `AddEquiv`, means neither side has to be re-derived.
**Downstream use.** This is the bottom layer of a formalization of Riemann–Roch for algebraic function fields (announced in `#AI authored projects > Riemann–Roch for function fields`): `L(D)`, `deg D`, and the statement `ℓ(D) = deg D + 1 - g + ℓ(W - D)` are all phrased in terms of additive divisors, and the degree map is defined by summing coefficients over `D.support`.
Happy to reshape the API — in particular whether `Divisor` should be an `abbrev` or a structure, and whether this belongs next to `Factorization` rather than in its own file.
AI usage: LLM-generated, disclosed per the AI policy.
|
t-ring-theory
new-contributor
LLM-generated
|
100/0 |
Mathlib.lean,Mathlib/RingTheory/DedekindDomain/Divisor.lean |
2 |
4 |
['github-actions', 'grunweg', 'vaca22'] |
mattrobball assignee:mattrobball |
15-64859 15 days ago |
95-74827 95 days ago |
97-71219 97 days |
0 |
| 42125 |
NoneMore author:NoneMore |
feat(SetTheory/Cardinal): add cardinality bounds for direct limits |
Add an equivalence between a direct limit and its component at an upper-bound index. Use it to prove upper and lower cardinality bounds and criteria for computing the cardinality of direct limits.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
AI disclosure: Most declarations, comments, and documentation in this PR were generated with Codex.
[](https://gitpod.io/from-referrer/)
|
LLM-generated
t-set-theory
|
109/0 |
Mathlib.lean,Mathlib/Order/DirectedInverseSystem.lean,Mathlib/SetTheory/Cardinal/DirectLimit.lean |
3 |
2 |
['felixpernegger', 'github-actions'] |
alreadydone assignee:alreadydone |
15-64855 15 days ago |
85-45592 85 days ago |
85-45269 85 days |
2 |
| 42630 |
will1491 author:will1491 |
feat(Analysis/Complex): define Wirtinger derivatives |
Define the Wirtinger derivatives `Complex.wirtingerDeriv` and `Complex.wirtingerDerivBar` from `fderiv ℝ`, and prove: the Cauchy-Riemann characterization of complex differentiability (pointwise and on open sets), agreement of `wirtingerDeriv` with `deriv` for holomorphic functions, additivity, Leibniz product rules, conjugation identities, both Wirtinger chain rules, and the Wirtinger decomposition of a real-linear map `ℂ →L[ℝ] ℂ`.
Extracted from https://github.com/will1491/RiemannDynamics, where it underlies the Beltrami-equation and Cauchy/Beurling-transform theory used in the proof of the measurable Riemann mapping theorem.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
|
253/0 |
Mathlib.lean,Mathlib/Analysis/Complex/Wirtinger.lean |
2 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
urkud assignee:urkud |
15-64854 15 days ago |
39-78436 39 days ago |
70-53235 70 days |
0 |
| 44491 |
staroperator author:staroperator |
feat(Order/Ideal): reprove Rasiowa–Sikorski lemma and deprecate `Order.Cofinal` |
Reprove Rasiowa–Sikorski lemma as `Order.exists_ideal_meets_cofinals`. This non-constructive version is closer to its usual statement (e.g. `Countable` instead of `Encodable`), hides internal constructions and is shorter. Its dual version, `Order.exists_pfilter_meets_coinitials` which is used in set theory more often, will be proved in #34855 when `Order.PFilter` gets `to_dual`-ized.
We also deprecate `Order.Cofinal`, which is the bundled version of `IsCofinal` and can be replaced by its unbundled version.
**The proofs of `embedding_from_cg` and `equiv_between_cg` in ModelTheory/PartialEquiv.lean are fixed by LLM (GPT-6 Astra).** Others are written 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]
-->
|
t-order
increases-technical-debt
LLM-generated
|
140/86 |
Mathlib/ModelTheory/PartialEquiv.lean,Mathlib/Order/Cofinal.lean,Mathlib/Order/CountableDenseLinearOrder.lean,Mathlib/Order/Ideal.lean |
4 |
1 |
['github-actions'] |
nobody |
15-54238 15 days ago |
15-54294 15 days ago |
15-54431 15 days |
1 |
| 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 |
302/7 |
Mathlib/Probability/Distributions/Bernoulli.lean,Mathlib/Probability/Distributions/Binomial.lean,Mathlib/Probability/Distributions/SetBernoulli.lean |
3 |
16 |
['EtienneC30', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'sgouezel'] |
sgouezel assignee:sgouezel |
15-23306 15 days ago |
16-10831 16 days ago |
23-74493 23 days |
1 |
| 44094 |
Nicola9Falciola author:Nicola9Falciola |
feat(LinearAlgebra/Matrix/SpecialLinearGroup): add the induced group equiv on `SL n` by a ring equiv and the equivalence between `SL n (Π i, R i) ≃* Π i, SL n (R i) ` |
---
Following the API in Data/Matrix/Basic I add :
- The `MulEquiv` : ` SL n R ≃* SL n S` induced by a `RingEquiv` and relative API.
- The `MulEquiv` : `SL n (Π i, R i) ≃* Π i, SL n (R i)`
- I have added a `simp` lemma that for `SpecialLinearGroup.map` following the API for `Matrix` that was missing.
- The `MulEquiv` : `SL m R ≃* SL n S` induced by ` m ≃ 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]
-->
|
t-algebra label:t-algebra$ |
77/1 |
Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean |
1 |
1 |
['github-actions'] |
nobody |
15-16722 15 days ago |
15-17387 15 days ago |
27-64820 27 days |
1 |
| 36595 |
mcdoll author:mcdoll |
feat(Analysis/TemperedDistribution): polynomially bounded locally integrable functions define tempered distributions |
Every polynomially bounded and locally integrable function defines a tempered distribution, this generalizes the previous version for temperate growth functions.
Breaking change: we deprecate the temperate growth embedding - it is a special case and we prove that every temperate growth function satisfies the polynomial bound outside a compact 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: #36711
[](https://gitpod.io/from-referrer/)
|
t-analysis |
172/2 |
Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/Distribution/TemperateGrowth.lean,Mathlib/Analysis/Distribution/TemperedDistribution.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean |
6 |
3 |
['github-actions', 'mathlib-bors', 'mathlib-dependent-issues'] |
nobody |
15-8050 15 days ago |
15-8112 15 days ago |
15-8018 15 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 label:t-algebra$ |
94/45 |
Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
15-3325 15 days ago |
15-3401 15 days ago |
15-3078 15 days |
0 |
| 40967 |
Formalistic03 author:Formalistic03 |
feat(Combinatorics/SimpleGraph/Paths): some lemmas about inducing walks |
Could also be done via `SimpleGraph.Walk.map_induce`, but I thought that doing it directly is not much worse.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
maintainer-merge
|
59/0 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Maps.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/Sym/Sym2.lean |
4 |
34 |
['Formalistic03', 'SnirBroshi', 'github-actions'] |
b-mehta assignee:b-mehta |
14-74113 14 days ago |
15-26084 15 days ago |
109-610 109 days |
0 |
| 41831 |
YaelDillies author:YaelDillies |
chore(RingTheory/TwoSidedIdeal): rid the `SMulMemClass (TwoSidedIdeal R) Rᵐᵒᵖ R` non-instance from its `inst` |
See https://github.com/leanprover-community/mathlib4/pull/40718#discussion_r3573863027.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
3/1 |
Mathlib/RingTheory/TwoSidedIdeal/Basic.lean |
1 |
3 |
['Ruben-VandeVelde', 'YaelDillies', 'github-actions'] |
riccardobrasca assignee:riccardobrasca |
14-64861 14 days ago |
61-31731 61 days ago |
95-79481 95 days |
0 |
| 43104 |
elazarg author:elazarg |
feat(InformationTheory/KullbackLeibler): finite Kullback-Leibler divergence |
Add finite-sum formulas for `InformationTheory.klDiv` on finite measurable spaces, including equal-mass and probability-measure specializations and formulas for sums of weighted Dirac measures. Provide both `ℝ≥0∞`-valued and `toReal` versions.
Supporting API includes a formula for the Radon–Nikodym derivative at points of nonzero reference-measure mass, a finite-sum formula for the integral of the log-likelihood ratio, and singleton-mass and absolute-continuity lemmas for sums of weighted Dirac measures.
---
Continuing #42584, another part of https://github.com/elazarg/kraft.
Following review, this uses the existing `klDiv` instead of introducing `klDivFin`. The `toReal` formulas connect it to real-valued sums in downstream code.
For measures of unequal mass, the formulas retain the correction term `ν.real univ - μ.real univ`.
The KL formulas are in `KullbackLeibler/Basic.lean`; the supporting lemmas are in the corresponding measure-theory modules.
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
LLM-generated
|
100/1 |
Mathlib/InformationTheory/KullbackLeibler/Basic.lean,Mathlib/MeasureTheory/Measure/Decomposition/RadonNikodym.lean,Mathlib/MeasureTheory/Measure/Dirac/Basic.lean,Mathlib/MeasureTheory/Measure/LogLikelihoodRatio.lean |
4 |
9 |
['EtienneC30', 'elazarg', 'github-actions', 'vlad902'] |
RemyDegenne assignee:RemyDegenne |
14-64857 14 days ago |
36-84243 36 days ago |
45-64601 45 days |
0 |
| 44287 |
artie2000 author:artie2000 |
feat: root existence for odd-degree polynomials |
* Prove that every odd-degree polynomial has a monic irreducible odd-degree factor
* Prove that, if there are no nonlinear irreducible odd-degree polynomials over a particular field, then every odd-degree polynomial has a root
* Move `Polynomial.exists_monic_irreducible_factor` earlier (it doesn't need Gauss' lemma)
* Register the dichotomy between `Odd` and `Even` with `push`
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
t-ring-theory
label:t-algebra$ |
58/28 |
Mathlib/Algebra/Order/Ring/GeomSum.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Ring/Int/Parity.lean,Mathlib/Algebra/Ring/Parity.lean,Mathlib/RingTheory/Polynomial/UniqueFactorization.lean |
5 |
17 |
['artie2000', 'github-actions', 'vihdzp'] |
nobody |
14-55224 14 days ago |
14-55276 14 days ago |
21-63462 21 days |
1 |
| 42195 |
Jun2M author:Jun2M |
refactor(Order/Partition): remove the support index from `Partition` |
Redefine `Partition α` as an independent collection of nonbottom elements of a complete lattice, with support `P.supp` defined as their supremum. In the special case `Partition (Set β)`, the parts are pairwise disjoint, nonempty sets and the support is their union.
Previously, `Partition s` carried its support as a type index. This made partitions of different sets inhabit different types and forced otherwise natural operations to transport partitions across support equalities.
BREAKING CHANGE: Replace the indexed type `Partition s` with `Partition α`, and obtain the former index from `P.supp`. When constructing a partition, omit the proof that the parts cover a prescribed set. `Partition.copy` and `Partition.partscopyEquiv` are no longer needed. Import the relevant `Mathlib.Order.Partition` submodule when using APIs moved out of `Basic`.
Deletions:
- Partition.copy
- Partition.mem_copy_iff
- Partition.partscopyEquiv
It also introduces some new definitions: `induce` & `bind`. These are added in this PR as they are needed to keep `SemiLattice` instance on `Partition`.
A new file `Set.lean` now houses defs and theorems of `Partition (Set _)`, including `IsRepFun` previously in `Basic` file.
This PR is partially generated by AI: Partition API written by myself in [Matroid repo](https://github.com/apnelson1/Matroid) has be adapted using codex and final checked by myself.
Co-authored-by: OpenAI Codex <codex@openai.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-order |
624/399 |
Mathlib.lean,Mathlib/Order/Partition/Basic.lean,Mathlib/Order/Partition/Set.lean,Mathlib/Order/SupIndep.lean |
4 |
4 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
14-54613 14 days ago |
14-54666 14 days ago |
26-82201 26 days |
1 |
| 40531 |
tb65536 author:tb65536 |
feat(Combinatorics/Hypergraph/Coloring): define hypergraph colorings |
This PR defines hypergraph colorings and the chromatic index of a hypergraph.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
66/0 |
Mathlib.lean,Mathlib/Combinatorics/Hypergraph/Coloring/Edge.lean |
2 |
6 |
['SnirBroshi', 'YaelDillies', 'b-mehta', 'github-actions', 'tb65536'] |
YaelDillies assignee:YaelDillies |
14-52688 14 days ago |
15-8460 15 days ago |
125-36940 125 days |
0 |
| 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 |
14-49457 14 days ago |
17-33209 17 days ago |
17-71933 17 days |
1 |
| 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 |
14-48143 14 days ago |
14-48332 14 days ago |
14-48009 14 days |
0 |
| 44086 |
bjornsolheim author:bjornsolheim |
feat(Analysis/Convex/Strict): farthest points are exposed in strictly convex spaces |
Proves the following (in a real strictly convex normed space):
`sphere_subset_exposedPoints_closedBall` - every point of a sphere is an exposed point of the
corresponding closed ball
`mem_exposedPoints_of_isMaxOn_dist` - a point `y ∈ S` that maximizes distance
to a fixed center `z` is an exposed point of `S`
`exposedPoints_closedBall_eq_sphere` - the exposed points of a closed ball
are exactly its sphere
Assisted by: Claude Fable 5.1 (used for research and to write or complete or improve some parts).
All lines are written or reviewed by me.
---
Optional comment |
t-analysis |
77/0 |
Mathlib.lean,Mathlib/Analysis/Convex/Strict/Exposed.lean |
2 |
2 |
['github-actions'] |
nobody |
14-35429 14 days ago |
28-7740 28 days ago |
28-7417 28 days |
1 |
| 32098 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): injective dimension of quotSMulTop |
In this PR, we proved for finitely generated module `M` over noetherian ring `R`, if `x` in maximal ideal being both `R`-regular and `M`-regular, `injdim_R (M/xM) + 1 = injdim_{R/(x)} (M)`.
---
<!-- 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: #32058
- [x] depends on: #39133
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
increases-technical-debt
|
449/0 |
Mathlib.lean,Mathlib/RingTheory/Regular/InjectiveDimension.lean |
2 |
9 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
14-28158 14 days ago |
15-11912 15 days ago |
49-24476 49 days |
6 |
| 41299 |
JovanGerb author:JovanGerb |
chore(DomAct): clean up `DomMulAct`/`DomAddAct` instances |
This PR cleans up the `DomMulAct`/`DomAddAct` instances using `inferInstanceAs`.
Instead having the `MyClass Mᵐᵒᵖ` instance imply the `MyClass Mᵈᵐᵃ` instance, we use `MyClass M` as the hypothesis. For this to work, some instances need to be moved from the group file to the ring file, so that the required instances are available.
Additionally, `@[to_additive]` is now only used in the group instances and not the ring instances.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-group-theory
large-import
|
21/16 |
Mathlib/Algebra/Module/Hom.lean,Mathlib/Algebra/Module/LinearMap/Basic.lean,Mathlib/Algebra/Ring/Opposite.lean,Mathlib/GroupTheory/GroupAction/DomAct/Basic.lean |
4 |
6 |
['JovanGerb', 'Whysoserioushah', 'github-actions', 'leanprover-radar', 'riccardobrasca'] |
nobody |
14-25915 14 days ago |
14-36058 14 days ago |
110-5073 110 days |
0 |
| 38331 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory/AdicCompletion): AdicCompletion of Noetherian ring is Noetherian |
For `I` an ideal of `R`, if `R/I` is Noetherian and `I` is finitely generated, the the completion of `R` wrt `I` is Noetherian.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #41556
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
|
215/5 |
Mathlib/RingTheory/AdicCompletion/Noetherian.lean |
1 |
19 |
['Thmoas-Guan', 'erdOne', 'faenuccio', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
faenuccio assignee:faenuccio |
14-20353 14 days ago |
14-20503 14 days ago |
59-80617 59 days |
4 |
| 39075 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra/CommRingCat): colimit of local ring via local hom |
In this PR, we deal with filtered colimit of local ring via local homomorphisms, proving it is
again local, with maximal ideal equal to the union of images of maximal ideals.
Further more, we proved their residue field is colimit too (in category of local ring, residue field functor preserve colimit).
Co-authored-by: Wang Jingting <wangjt2020@163.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 label:t-algebra$ |
218/0 |
Mathlib.lean,Mathlib/Algebra/Category/Ring/FilteredColimitsLocal.lean |
2 |
15 |
['Thmoas-Guan', 'github-actions', 'riccardobrasca', 'robin-carlier', 'xyzw12345'] |
mattrobball assignee:mattrobball |
14-18253 14 days ago |
14-18307 14 days ago |
154-35689 154 days |
3 |
| 41531 |
luigi-massacci author:luigi-massacci |
feat: scalar multiplication as a CLM on D^n |
Introduces for `TestFunction` the analogous results from `SchwartzMap`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #41485
- [x] depends on: #41324
[](https://gitpod.io/from-referrer/)
|
t-analysis |
54/3 |
Mathlib/Analysis/Distribution/TestFunction.lean |
1 |
10 |
['github-actions', 'luigi-massacci', 'luigimassacci-ax', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mcdoll'] |
nobody |
14-11908 14 days ago |
14-13080 14 days ago |
33-11118 33 days |
4 |
| 41042 |
Raph-DG author:Raph-DG |
feat(Topology/CategoryTheory): the skyscraper sheaf as a sheaf of modules |
In this PR we define the skyscraper sheaf as a sheaf of 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 label:t-algebra$ |
383/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Skyscraper.lean |
2 |
5 |
['Raph-DG', 'attilavjda', 'chrisflav', 'github-actions', 'mathlib-merge-conflicts'] |
ocfnash assignee:ocfnash |
13-64861 13 days ago |
67-40695 67 days ago |
82-54142 82 days |
0 |
| 43539 |
abhijitaj1997 author:abhijitaj1997 |
feat(CategoryTheory/Monoidal/Cartesian/Endomorphism): add ring and semiring structures |
Given two monoidal object in a nice enough category, this show that the monoidal morphisms between then forms an additive group. This additive group is part of a larger semiring structure.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-category-theory
|
165/0 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Endomorphism.lean |
2 |
36 |
['Multramate', 'abhijitaj1997', 'alreadydone', 'github-actions', 'joelriou', 'robin-carlier'] |
joelriou assignee:joelriou |
13-64856 13 days ago |
13-78911 13 days ago |
41-53890 41 days |
0 |
| 44269 |
ROTARTSI82 author:ROTARTSI82 |
feat(Dynamics): periodic orbits must jump up and down |
If x is a periodic point and not a fixed point, there exists some b in its periodic orbit such that b < f b, and some b' such that f b' < b'.
---
This change was motivated by the following proof, a special case of Sharkovskii's theorem:
```lean
theorem exists_isFixedPt_of_continuous_of_mem_periodicPts' {α : Type*}
[ConditionallyCompleteLinearOrder α] [TopologicalSpace α] [OrderTopology α] [DenselyOrdered α]
{f : α → α} {x₀ : α} (hx₀ : x₀ ∈ periodicPts f)
(hf : Continuous f) :
∃(c : α), IsFixedPt f c := by
by_cases hfixed : IsFixedPt f x₀
· exact ⟨x₀, hfixed⟩
obtain ⟨a, _, ha⟩ := exists_lt_map_of_mem_periodicPts hx₀ hfixed
obtain ⟨b, _, hb⟩ := exists_map_lt_of_mem_periodicPts hx₀ hfixed
obtain ⟨c, _, hc⟩ := exists_mem_uIcc_isFixedPt hf.continuousOn ha.le hb.le
exact ⟨c, hc⟩
```
Would this theorem itself or something similar be wanted in 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]
-->
|
new-contributor
t-dynamics
|
39/0 |
Mathlib/Dynamics/PeriodicPts/Defs.lean,Mathlib/Order/Monotone/Basic.lean |
2 |
3 |
['ROTARTSI82', 'github-actions'] |
urkud assignee:urkud |
13-64853 13 days ago |
21-68014 21 days ago |
22-42061 22 days |
0 |
| 44554 |
JovanGerb author:JovanGerb |
chore: adaptations for stronger `simpNF` - part 1 |
In some cases the `simpNF` linter does not warn when it should warn. Fixing this in `simpNF` surfaces many violations. This PR fixes many of those violations.
- `MvPolynomial.coeff_sub`, `MvPolynomial.coeff_neg` and `MvPolynomial.coeff_smul` have been deprecated, analogously to how `MvPolynomial.coeff_add` was deprecated in #41427. To make adaptations smoother, I added a lemma `AddMonoidAlgebra.coeff_sub_apply`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
100/128 |
Mathlib/Algebra/Category/FGModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Semi.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/Group/Action/Equidecomp.lean,Mathlib/Algebra/Group/Action/Units.lean,Mathlib/Algebra/Lie/Cochain.lean,Mathlib/Algebra/Lie/Extension.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/CommRing.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Ring/Subring/Defs.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/Real/Hyperreal.lean,Mathlib/CategoryTheory/Category/Cat.lean,Mathlib/CategoryTheory/Category/Preorder.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/FunctorCategory.lean,Mathlib/CategoryTheory/Monoidal/End.lean,Mathlib/Data/Set/Basic.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean,Mathlib/Order/Filter/FilterProduct.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Probability/Kernel/Basic.lean,Mathlib/Probability/Kernel/Integral.lean,Mathlib/RepresentationTheory/Coinvariants.lean,Mathlib/RingTheory/MvPolynomial/Groebner.lean,Mathlib/RingTheory/MvPolynomial/IrreducibleQuadratic.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean,Mathlib/RingTheory/MvPowerSeries/Equiv.lean,Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean,Mathlib/SetTheory/Ordinal/Notation.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean,Mathlib/Topology/ContinuousMap/ContinuousMapZero.lean,Mathlib/Topology/FiberBundle/Constructions.lean,Mathlib/Topology/LocallyFinsupp.lean,Mathlib/Topology/MetricSpace/Snowflaking.lean |
37 |
13 |
['JovanGerb', 'github-actions', 'leanprover-radar', 'vihdzp'] |
nobody |
13-22486 13 days ago |
13-22556 13 days ago |
13-59100 13 days |
0 |
| 44141 |
JX-Mo author:JX-Mo |
chore(RepresentationTheory): remove DecidableEq condition |
We remove 15 `DecidableEq`s by openning `Classical` only occasionally in `Equiv.lean`, so that all downstream proofs do not need to carry this condition.
Note that they are already `noncomputable` even with `DecidableEq` anyway: `finsuppTensorLeft/Right` needs `TensorProduct.finsuppLeft/Right` which is `noncomputable` |
t-algebra
tech debt
label:t-algebra$ |
18/21 |
Mathlib/RepresentationTheory/Coinvariants.lean,Mathlib/RepresentationTheory/Equiv.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/Basic.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/FiniteCyclic.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/Shapiro.lean |
5 |
8 |
['JX-Mo', 'Whysoserioushah', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
13-19330 13 days ago |
20-83700 20 days ago |
26-83387 26 days |
1 |
| 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 |
13-7263 13 days ago |
19-11936 19 days ago |
19-11613 19 days |
0 |
| 44573 |
bryangingechen author:bryangingechen |
ci: push style fixes automatically and remove `bot fix style` |
This PR merges `pre-commit.yml` into `lint_and_suggest_pr.yml` so that all automatic style fixes are pushed to the PR by pre-commit.ci lite, and removes the `bot fix style` command, which has not worked since 2025.
On every PR, including drafts, the job now runs `lint-style-action` in its new `fix-worktree` mode (leanprover-community/lint-style-action#13: `mk_all`, `lint-style --fix` and `lint-bib.sh`, with the results left in the working tree), then the `pre-commit` hooks, and then `pre-commit-ci/lite-action`. Both sets of fixes arrive as a single `[pre-commit.ci lite]` commit, which replaces the reviewdog suggestions. Its message names the commands that changed something, such as `[pre-commit.ci lite] lake exe mk_all; lake exe lint-style --fix`, so that contributors can see how to make the same fixes locally.
Other changes:
- A per-PR concurrency group, with the lite action on `success() || failure()` rather than `always()`, so that a run superseded by a newer push cannot push stale fixes.
- The workflow's token is read-only, since the job builds code from the PR and nothing in it needs to write any more.
- The `.lean`/`.md` file-extension check moves to its own job, so that its failure cannot stop the fixes from being pushed.
- `pre-commit.yml`'s `push` trigger goes away, because the lite action only acts on `pull_request`.
- `bot_fix_style.yaml` is deleted. It was the last user of `lint-style-action`'s `fix` mode, which was removed upstream in leanprover-community/lint-style-action#12. It also started a no-op run on every comment and review in the repository.
- `style_lint` in `build_template.yml` moves to the same `lint-style-action` version, so the repository has a single pin and nothing uses the `mathlib4-compat` branch any more. `actions/checkout` v7 refuses fork PR code under `pull_request_target`, and the action's own checkout has no way to opt in. So the job now checks out `pr_branch_ref` itself, the same way `post_steps` does (`allow-unsafe-pr-checkout`, no persisted credentials), and passes `checkout: false`.
The commit messages have the details, including the evidence that `bot fix style` has been broken since lint-style-action 5f18958.
---
Unfortunately, due to restrictions on both GitHub's side and pre-commit.ci lite's side, it doesn't appear that we can get pre-commit.ci lite to run for PRs opened by SpliceBot. I will tackle that in a separate PR.
<details><summary>Testing details</summary>
Fork PRs run `style_lint` from master's `build_template.yml`, so this PR's own CI doesn't exercise the new `style_lint`. It passed in [this `ci_dev.yml` run](https://github.com/leanprover-community/mathlib4/actions/runs/37561508273/job/112599599237) on `ci-dev/bgc/consolidate-autofix`. Once this merges, the `mathlib4-compat` branch of `lint-style-action` can be deleted.
The autofix job was tested end to end on the throwaway PR #44574, which is now closed; the results are in its last comment. A single bot commit carried fixes from `mk_all`, `lint-style --fix` and `pre-commit` together, runs cancelled by the concurrency group skipped the lite step, and the run on the bot's commit was green with the lite step skipped.
The `references.bib` fix and the commit message were tested on the throwaway PR #44576, which is now closed; the results are in its last comment.
</details>
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
file-removed
CI
LLM-generated
|
132/90 |
.github/workflows/bot_fix_style.yaml,.github/workflows/build_template.yml,.github/workflows/lint_and_suggest_pr.yml,.github/workflows/pre-commit.yml,docs/workflows.md |
5 |
5 |
['SnirBroshi', 'bryangingechen', 'github-actions'] |
nobody |
13-1371 13 days ago |
13-1449 13 days ago |
13-56237 13 days |
0 |
| 44600 |
artie2000 author:artie2000 |
feat: relationship between real and semireal rings |
* Prove that real rings are semireal and that semireal fields are real
* Clean up documentation between the 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]
-->
|
t-algebra label:t-algebra$ |
39/1 |
Mathlib.lean,Mathlib/Algebra/Ring/IsFormallyReal.lean,Mathlib/Algebra/Ring/Semireal/Basic.lean,Mathlib/Algebra/Ring/Semireal/Defs.lean |
4 |
7 |
['artie2000', 'github-actions', 'vihdzp'] |
nobody |
12-77022 12 days ago |
12-77104 12 days ago |
12-76781 12 days |
0 |
| 44613 |
keithadler author:keithadler |
feat(RepresentationTheory): irreducible representations are bounded by conjugacy classes |
For a finite group `G` and an algebraically closed field `k` in which `|G|` is invertible, `Representation.char_orthonormal` gives orthogonality of irreducible characters. This PR adds the consequence that is used in practice:
* `Representation.classFunction ρ : ConjClasses G → k`, the character as a class function;
* `Representation.linearIndependent_classFunction`: the class functions of a family of pairwise non-isomorphic irreducible representations are linearly independent;
* `Representation.card_le_card_conjClasses`: such a family has at most `Nat.card (ConjClasses G)` members.
This is the upper-bound half of "the number of irreducible representations equals the number of conjugacy classes" (the other half, that characters span the class functions, is not yet in Mathlib). The bound is exactly what is needed to show that an explicit list of `Nat.card (ConjClasses G)` pairwise non-isomorphic irreducibles is complete; e.g. with the companion PR on conjugacy classes of `Perm α`, that the Specht modules exhaust the irreducible representations of `S_n` (used downstream in https://github.com/keithadler/saxl-lean).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---
|
t-algebra
new-contributor
LLM-generated
label:t-algebra$ |
118/0 |
Mathlib.lean,Mathlib/RepresentationTheory/CharacterCount.lean |
2 |
2 |
['github-actions'] |
nobody |
12-72950 12 days ago |
12-82736 12 days ago |
12-82413 12 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 |
12-72886 12 days ago |
12-73683 12 days ago |
12-73360 12 days |
0 |
| 44040 |
kim-em author:kim-em |
chore: adaptation notes for the backward.privateInPublic uses blocked on lean4#14708 |
This PR adds an `#adaptation_note` at each `variable` declaration with an autoParam binder whose users need `backward.privateInPublic`. These uses (about 80 of the remaining option lines, in 14 files) are not removable on the Mathlib side: the autoParam helper declaration generated for a `variable` is always private, and any declaration using that variable in a public section silently elaborates to `sorry` without the option. This is https://github.com/leanprover/lean4/issues/14708. The note says which `set_option`s can go once that is fixed, and stops anyone from spending time on them before then. Each affected file was checked by removing its `true`-only option lines and observing the `sorry` warnings and the follow-on `autoParam … is not a constant` errors.
It also deletes the one option line in `CategoryTheory/SmallObject/Iteration/ExtendToSucc` that turned out to be unnecessary.
🤖 Prepared with Claude Code |
tech debt
LLM-generated
|
116/0 |
Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/AlgebraicTopology/SimplicialSet/CompStruct.lean,Mathlib/AlgebraicTopology/SimplicialSet/StrictSegal.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/NonUnital.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unital.lean,Mathlib/Analysis/Distribution/TemperedDistribution.lean,Mathlib/CategoryTheory/ComposableArrows/Basic.lean,Mathlib/CategoryTheory/Join/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Reflexive.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/ChosenPullbacksAlong.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/CommGrp_.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Sites/Point/Basic.lean,Mathlib/CategoryTheory/SmallObject/Iteration/ExtendToSucc.lean |
15 |
1 |
['github-actions'] |
nobody |
12-72846 12 days ago |
28-63378 28 days ago |
28-63055 28 days |
0 |
| 42357 |
SynBurz author:SynBurz |
feat: the Krull dimension of the product of finitely many rings is equal to the maximum of Krull dimensions of the factors |
Add `ringKrullDim_pi_eq_iSup_ringKrullDim`. Also add useful defs: `LTSeries.sigmaEquiv`, `PrimeSpectrum.sigmaToPiOrderIso`, and lemmas `PrimeSpectrum.sigmaToPiOrderIso_apply`, Pi.not_comap_evalRingHom_le_comap_of_neq`, `LTSeries.sigma_fst_eq_fst`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
93/0 |
Mathlib/Order/RelSeries.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean |
3 |
6 |
['SynBurz', 'github-actions', 'mathlib-merge-conflicts', 'wwylele'] |
nobody |
12-72630 12 days ago |
12-72694 12 days ago |
41-78398 41 days |
0 |
| 25982 |
Multramate author:Multramate |
feat(AlgebraicGeometry/EllipticCurve/Group): compute range of baseChange |
This PR continues the work from #10142.
Original PR: https://github.com/leanprover-community/mathlib4/pull/10142 |
t-algebraic-geometry
large-import
|
214/21 |
Mathlib.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Ring/Action/Submonoid.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Galois.lean,Mathlib/GroupTheory/GroupAction/Defs.lean |
5 |
4 |
['Multramate', 'github-actions', 'tb65536'] |
joelriou assignee:joelriou |
12-64859 12 days ago |
25-80924 25 days ago |
34-14490 34 days |
0 |
| 41904 |
rshlyakh author:rshlyakh |
feat(RingTheory/KrullDimension): add Krull dimension preservation under injective integral extensions |
This proves that an injective integral homomorphism of commutative rings
preserves Krull dimension, based on the `Algebra.HasGoingUp` infrastructure from #40911. It includes:
- `RingHom.IsIntegral.ringKrullDim_eq_of_injective`: injective integral homomorphisms of
commutative rings preserve Krull dimension.
- `RingHom.IsIntegral.ringKrullDim_quotient_ker_eq`: for an integral extension `f : A →+* B`,
the Krull dimension of `B` is equal to the Krull dimension of `A ⧸ RingHom.ker f`.
- [x] depends on: #40911
- [x] depends on: #41058
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
|
77/12 |
Mathlib.lean,Mathlib/RingTheory/Ideal/HasGoingUp.lean,Mathlib/RingTheory/KrullDimension/Integral.lean |
3 |
14 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'rshlyakh', 'vlad902'] |
mariainesdff assignee:mariainesdff |
12-64856 12 days ago |
49-58171 49 days ago |
93-42217 93 days |
1 |
| 42786 |
rshlyakh author:rshlyakh |
feat(Data/Finsupp/NatCard): count finsupps of bounded degree |
Adds the formula that the number of finitely-supported functions `α →₀ ℕ` with degree less than or equal to `n` is equal to `Nat.choose (Nat.card α + n) n`. The proof is by establishing an equivalence `Sym (Option α) n ≃ {f : α →₀ ℕ // f.degree ≤ n}` and using the stars-and-bars formula `Sym.equivNatSum.`
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
|
56/0 |
Mathlib.lean,Mathlib/Data/Finsupp/NatCard.lean |
2 |
2 |
['github-actions'] |
TwoFX assignee:TwoFX |
12-64852 12 days ago |
66-60132 66 days ago |
66-59809 66 days |
0 |
| 44470 |
SnirBroshi author:SnirBroshi |
feat(SetTheory/Ordinal/Exponential): `opow_le_of_isSuccLimit` works for `c ≠ 0` |
When `IsSuccLimit b`, `a ^ b ≤ c ↔ ∀ b' < b, a ^ b' ≤ c` holds unless `a = c = 0`.
(otherwise the LHS is true but the RHS is false because `b' = 0` requires `0 ^ 0 ≤ 0`)
We have this lemma for `a ≠ 0`, and this adds it for `c ≠ 0`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-set-theory |
14/0 |
Mathlib/SetTheory/Ordinal/Exponential.lean |
1 |
2 |
['github-actions', 'vihdzp'] |
alreadydone assignee:alreadydone |
12-64847 12 days ago |
16-33302 16 days ago |
16-41939 16 days |
0 |
| 44586 |
dagurtomas author:dagurtomas |
feat(CategoryTheory/Limits): countable limits from finite and sequential limits |
Show that countable cofiltered limits can be computed as sequential limits, and that finite limits plus sequential limits give all countable limits; prove the dual colimit statements. Construct countable directed presentations using Deligne's finite diagrams, and name the general dual result `IsCofiltered.exists_codirected`. The countable presentations and limit constructions live in separate files. This supersedes #44534 and resolves the entire countable-limit `proof_wanted` series, correcting the last statement's sequential-colimit hypothesis.
|
LLM-generated
t-category-theory
file-removed
|
214/67 |
Mathlib.lean,Mathlib/CategoryTheory/Countable.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/CategoryTheory/Filtered/Countable.lean,Mathlib/CategoryTheory/Limits/Constructions/Countable.lean,Mathlib/CategoryTheory/Limits/Shapes/Countable.lean,Mathlib/CategoryTheory/MorphismProperty/Basic.lean,Mathlib/CategoryTheory/Presentable/Directed.lean,Wanted.lean,Wanted/CategoryTheory/Limits/Shapes/Countable.lean |
10 |
2 |
['dagurtomas', 'github-actions'] |
robin-carlier assignee:robin-carlier |
12-64846 12 days ago |
13-18409 13 days ago |
13-18086 13 days |
0 |
| 44490 |
staroperator author:staroperator |
feat(Order/Preorder/Chain): add `IsLEChain` and `IsLTChain` abbreviations |
`IsLEChain` and `IsLTChain` are abbreviations for `IsChain (· ≤ ·)` and `IsChain (· < ·)`. The motivation to add new abbreviations includes:
- canonizing `to_dual` translation (currently `IsChain (· ≤ ·)` are translated into `IsChain (· ≥ ·)`, which is equivalent via `IsChain.symm`)
- separating properties of `≤`-chain and `<`-chain under different namespaces (they are not equivalent in preorders, the former is strictly weaker, and the latter correspond to linearly ordered subsets)
- (maybe) promoting the use of `<`-chain
Feel free to discuss the design in [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Order.20dual.20tactic/near/628982679).
As a TODO, Zorn's lemmas can be reproved under `<`-chains, which are more general in preorders.
This PR does not add `IsMaxLEChain` for `IsMaxChain (· ≤ ·)`, considering they only have 10 usages so far, mainly associated with `Flag`.
This PR adds `to_dual` to [`IsCoatomic.of_isChain_bounded`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/ZornAtoms.html#IsCoatomic.of_isChain_bounded). It also changes the signatures of existing [`zorn_ge`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/Zorn.html#zorn_ge) etc. from `IsChain (· ≥ ·)` into `IsChain (· ≤ ·)`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-order |
186/128 |
Counterexamples/AharoniKorman.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/Convex/Cone/Extension.lean,Mathlib/Data/Fin/FlagRange.lean,Mathlib/FieldTheory/Extension.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/LinearAlgebra/Basis/Flag.lean,Mathlib/Order/BourbakiWitt.lean,Mathlib/Order/Extension/Linear.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/OrderIsoNat.lean,Mathlib/Order/Preorder/Chain.lean,Mathlib/Order/Zorn.lean,Mathlib/Order/ZornAtoms.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Basic.lean,Mathlib/RingTheory/Ideal/Oka.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Kaplansky.lean,Mathlib/SetTheory/Cardinal/EventuallyConst.lean,Mathlib/Topology/ShrinkingLemma.lean |
22 |
6 |
['github-actions', 'staroperator', 'vihdzp'] |
nobody |
12-64099 12 days ago |
12-64280 12 days ago |
15-72390 15 days |
2 |
| 40204 |
Jun2M author:Jun2M |
feat(Combinatorics/HypergraphLike): add HypergraphLike class |
Introduces `HypergraphLike V I E Gr`, an incidence interface for developing common graph theory across graph and hypergraph representations, including `SimpleGraph`, `Graph`, and `Digraph`.
The class specifies sets of vertices, edges, and incidences within ambient label types, with maps assigning each incidence an edge and a vertex. Each incidence is a source, a target, or both, allowing directed and undirected incidences in the same structure. Distinct incidences may belong to the same vertex and edge.
`Link G e u v` records two distinct incidences witnessing a traversal of `e` from `u` to `v`. Requiring distinct incidences prevents traversing an undirected edge back through the incidence used to enter it. `IsLink` expresses the existence of a link, and `Adj` the existence of an edge linking two vertices.
The basic API includes the incidence maps `attach` and `edgeMap`, the fibers `edgeFiber` and `vertexFiber`, and the sets `incVerts` and `incEdges` of incident vertices and edges. It provides membership characterizations, fiber disjointness and union identities, and their relationships with links and adjacency.
Related: #36743 and the [HasAdj discussion](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/HasAdj/with/575843445).
Codex assisted with the initial implementation and review, and revised by me.
Co-authored-by: OpenAI Codex <codex@openai.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
LLM-generated
maintainer-merge
|
453/0 |
Mathlib.lean,Mathlib/Combinatorics/HypergraphLike/Basic.lean |
2 |
43 |
['Jun2M', 'SnirBroshi', 'YaelDillies', 'copilot-pull-request-reviewer', 'github-actions', 'tb65536'] |
nobody |
12-59874 12 days ago |
14-53021 14 days ago |
109-64462 109 days |
9 |
| 43948 |
JX-Mo author:JX-Mo |
chore(RepresentationTheory/Coinduced): tech debt |
Remove five `backward.isDefEq.respectTransparency.types` and add a CoeFun instance for `coindV` to justify the existing `coe`-named lemmas.
https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60CoeFun.60.20or.20.60.2Eval.60/with/630026437 |
t-algebra
tech debt
easy
label:t-algebra$ |
22/17 |
Mathlib/RepresentationTheory/Coinduced.lean |
1 |
37 |
['JX-Mo', 'Whysoserioushah', 'github-actions', 'jcommelin', 'jjdishere', 'leanprover-radar', 'mathlib-bors'] |
nobody |
12-51988 12 days ago |
15-31747 15 days ago |
18-8286 18 days |
4 |
| 44075 |
bjornsolheim author:bjornsolheim |
feat(Analysis/Convex): convex hull of a compact set is compact in finite dimensions |
Proves the following:
`Set.convexHull_eq_range_sum_smul` - In finite dimensions, the convex hull of `K` is the range of weighted sums of
`finrank 𝕜 E + 1` points of `K`, with nonnegative weights summing to one.
`IsCompact.convexHull` - In finite dimensions, the convex hull of a compact set is compact.
Assisted by: Claude Fable 5.1 (used for research and to write or complete or improve some parts).
Some parts are hence iteratively llm-generated based on my inputs. All lines are reviewed in full by me.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
84/0 |
Mathlib.lean,Mathlib/Analysis/Convex/Compact.lean |
2 |
1 |
['github-actions'] |
nobody |
12-36908 12 days ago |
28-19622 28 days ago |
28-19299 28 days |
1 |
| 44619 |
artie2000 author:artie2000 |
refactor(Algebra/Ring): rename IsSemireal property |
* Rename field `IsSemireal.one_add_ne_zero` to the more descriptive `IsSemireal.one_add_ne_zero_of_isSumSq`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 label:t-algebra$ |
10/5 |
Mathlib/Algebra/Ring/Semireal/Defs.lean |
1 |
3 |
['SnirBroshi', 'artie2000', 'github-actions', 'vihdzp'] |
nobody |
12-18405 12 days ago |
12-18475 12 days ago |
12-70627 12 days |
0 |
| 44502 |
dependabot author:dependabot |
chore(deps): bump the actions-version-updates group across 1 directory with 7 updates |
Bumps the actions-version-updates group with 7 updates in the /.github/workflows directory:
| Package | From | To |
| --- | --- | --- |
| [reviewdog/action-actionlint](https://github.com/reviewdog/action-actionlint) | `1.73.0` | `1.79.1` |
| [docker/build-push-action](https://github.com/docker/build-push-action) | `7.3.0` | `7.4.0` |
| [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) | `4.1.1` | `4.2.2` |
| [corentinmusard/otel-cicd-action](https://github.com/corentinmusard/otel-cicd-action) | `4.1.0` | `4.2.0` |
| [actions/cache](https://github.com/actions/cache) | `5.1.0` | `6.1.0` |
| [pre-commit-ci/lite-action](https://github.com/pre-commit-ci/lite-action) | `1.1.0` | `1.2.0` |
| [softprops/action-gh-release](https://github.com/softprops/action-gh-release) | `3.0.2` | `3.0.3` |
Updates `reviewdog/action-actionlint` from 1.73.0 to 1.79.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/reviewdog/action-actionlint/releases">reviewdog/action-actionlint's releases</a>.</em></p>
<blockquote>
<h2>Release v1.79.1</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(deps): update python:3.14.8-alpine3.24 docker digest to f6a589d by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/reviewdog/action-actionlint/pull/249">reviewdog/action-actionlint#249</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/reviewdog/action-actionlint/compare/v1.79.0...v1.79.1">https://github.com/reviewdog/action-actionlint/compare/v1.79.0...v1.79.1</a></p>
<h2>Release v1.79.0</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(deps): update dependency pyflakes to v4.0.2 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/reviewdog/action-actionlint/pull/248">reviewdog/action-actionlint#248</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/reviewdog/action-actionlint/compare/v1.78.1...v1.79.0">https://github.com/reviewdog/action-actionlint/compare/v1.78.1...v1.79.0</a></p>
<h2>Release v1.78.1</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(deps): update python docker tag to v3.14.8 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/reviewdog/action-actionlint/pull/247">reviewdog/action-actionlint#247</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/reviewdog/action-actionlint/compare/v1.78.0...v1.78.1">https://github.com/reviewdog/action-actionlint/compare/v1.78.0...v1.78.1</a></p>
<h2>Release v1.78.0</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(deps): update shogo82148/actions-create-release action to v1.9.2 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/reviewdog/action-actionlint/pull/245">reviewdog/action-actionlint#245</a></li>
<li>chore(deps): update dependency pyflakes to v4.0.1 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/reviewdog/action-actionlint/pull/246">reviewdog/action-actionlint#246</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/reviewdog/action-actionlint/compare/v1.77.0...v1.78.0">https://github.com/reviewdog/action-actionlint/compare/v1.77.0...v1.78.0</a></p>
<h2>Release v1.77.0</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(deps): update dependency pyflakes to v4 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/reviewdog/action-actionlint/pull/244">reviewdog/action-actionlint#244</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/reviewdog/action-actionlint/compare/v1.76.3...v1.77.0">https://github.com/reviewdog/action-actionlint/compare/v1.76.3...v1.77.0</a></p>
<h2>Release v1.76.3</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: preserve quoted spaces in actionlint/reviewdog flags by <a href="https://github.com/shogo82148"><code>@shogo82148</code></a> in <a href="https://redirect.github.com/reviewdog/action-actionlint/pull/243">reviewdog/action-actionlint#243</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/reviewdog/action-actionlint/compare/v1.76.2...v1.76.3">https://github.com/reviewdog/action-actionlint/compare/v1.76.2...v1.76.3</a></p>
<h2>Release v1.76.2</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: preserve actionlint operational exit codes (2, 3) by <a href="https://github.com/shogo82148"><code>@shogo82148</code></a> in <a href="https://redirect.github.com/reviewdog/action-actionlint/pull/242">reviewdog/action-actionlint#242</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/reviewdog/action-actionlint/compare/v1.76.1...v1.76.2">https://github.com/reviewdog/action-actionlint/compare/v1.76.1...v1.76.2</a></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/reviewdog/action-actionlint/commit/1758727be30241166609dad4c97588b6ad411f32"><code>1758727</code></a> bump v1.79.1</li>
<li><a href="https://github.com/reviewdog/action-actionlint/commit/835705a91b2e078dc7db0d18faf6c60aa826436d"><code>835705a</code></a> Merge branch 'main' into releases/v1</li>
<li><a href="https://github.com/reviewdog/action-actionlint/commit/2b6687f7f9d077738045bb954efe4ab43fbf7a16"><code>2b6687f</code></a> Merge pull request <a href="https://redirect.github.com/reviewdog/action-actionlint/issues/249">#249</a> from reviewdog/renovate/python-3.14.8-alpine3.24</li>
<li><a href="https://github.com/reviewdog/action-actionlint/commit/91d36b3cdd5c848d7337a6c41efb0b1bd8868a3c"><code>91d36b3</code></a> chore(deps): update python:3.14.8-alpine3.24 docker digest to f6a589d</li>
<li><a href="https://github.com/reviewdog/action-actionlint/commit/a1e3e7ff7b1f7554e043f455cc78803e773c4a88"><code>a1e3e7f</code></a> bump v1.79.0</li>
<li><a href="https://github.com/reviewdog/action-actionlint/commit/0a63bd870331c1558f2104bb737169a4c4b7b591"><code>0a63bd8</code></a> Merge branch 'main' into releases/v1</li>
<li><a href="https://github.com/reviewdog/action-actionlint/commit/e3350d1193be1550970a529a41806e379ac2272c"><code>e3350d1</code></a> Merge pull request <a href="https://redirect.github.com/reviewdog/action-actionlint/issues/248">#248</a> from reviewdog/renovate/pyflakes-4.x</li>
<li><a href="https://github.com/reviewdog/action-actionlint/commit/063aab8f1f64254392219f5e08b6eb846eb1ad50"><code>063aab8</code></a> chore(deps): update dependency pyflakes to v4.0.2</li>
<li><a href="https://github.com/reviewdog/action-actionlint/commit/13465d022aa41c282f730be17574b5ce692d0186"><code>13465d0</code></a> bump v1.78.1</li>
<li><a href="https://github.com/reviewdog/action-actionlint/commit/b1c48c4cdb2d458a1563603033f2e68b627f3726"><code>b1c48c4</code></a> Merge branch 'main' into releases/v1</li>
<li>Additional commits viewable in <a href="https://github.com/reviewdog/action-actionlint/compare/50842263c20a7c46bd0065b9e624d3c569db061e...1758727be30241166609dad4c97588b6ad411f32">compare view</a></li>
</ul>
</details>
<br />
Updates `docker/build-push-action` from 7.3.0 to 7.4.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/docker/build-push-action/releases">docker/build-push-action's releases</a>.</em></p>
<blockquote>
<h2>v7.4.0</h2>
<ul>
<li>Use the shared error helper for Buildx commands by <a href="https://github.com/crazy-max"><code>@crazy-max</code></a> in <a href="https://redirect.github.com/docker/build-push-action/pull/1620">docker/build-push-action#1620</a></li>
<li>Prevent workflow command injection in metadata logs by <a href="https://github.com/crazy-max"><code>@crazy-max</code></a> in <a href="https://redirect.github.com/docker/build-push-action/pull/1617">docker/build-push-action#1617</a></li>
<li>Bump <code>@docker/actions-toolkit</code> from 0.92.0 to 0.100.0 in <a href="https://redirect.github.com/docker/build-push-action/pull/1614">docker/build-push-action#1614</a> <a href="https://redirect.github.com/docker/build-push-action/pull/1618">docker/build-push-action#1618</a> <a href="https://redirect.github.com/docker/build-push-action/pull/1621">docker/build-push-action#1621</a></li>
<li>Bump <code>@humanfs/node</code> from 0.16.7 to 0.16.8 in <a href="https://redirect.github.com/docker/build-push-action/pull/1609">docker/build-push-action#1609</a></li>
<li>Bump brace-expansion from 1.1.13 to 1.1.18 in <a href="https://redirect.github.com/docker/build-push-action/pull/1592">docker/build-push-action#1592</a></li>
<li>Bump csv-parse from 7.0.0 to 7.0.2 in <a href="https://redirect.github.com/docker/build-push-action/pull/1613">docker/build-push-action#1613</a></li>
<li>Bump js-yaml from 4.3.0 to 4.3.2 in <a href="https://redirect.github.com/docker/build-push-action/pull/1605">docker/build-push-action#1605</a> <a href="https://redirect.github.com/docker/build-push-action/pull/1615">docker/build-push-action#1615</a></li>
<li>Bump nanoid from 3.3.16 to 3.3.18 in <a href="https://redirect.github.com/docker/build-push-action/pull/1611">docker/build-push-action#1611</a></li>
<li>Bump postcss from 8.5.10 to 8.5.25 in <a href="https://redirect.github.com/docker/build-push-action/pull/1590">docker/build-push-action#1590</a></li>
<li>Bump postcss-selector-parser from 7.1.1 to 7.1.5 in <a href="https://redirect.github.com/docker/build-push-action/pull/1606">docker/build-push-action#1606</a></li>
<li>Bump sigstore from 4.1.0 to 4.1.1 in <a href="https://redirect.github.com/docker/build-push-action/pull/1577">docker/build-push-action#1577</a></li>
<li>Bump undici from 6.27.0 to 6.28.0 in <a href="https://redirect.github.com/docker/build-push-action/pull/1594">docker/build-push-action#1594</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/docker/build-push-action/compare/v7.3.0...v7.4.0">https://github.com/docker/build-push-action/compare/v7.3.0...v7.4.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/docker/build-push-action/commit/c3c9e263c25d99ce0380d002d59b67737d91b0dc"><code>c3c9e26</code></a> Merge pull request <a href="https://redirect.github.com/docker/build-push-action/issues/1621">#1621</a> from docker/dependabot/npm_and_yarn/docker/actions-t...</li>
<li><a href="https://github.com/docker/build-push-action/commit/459b6741834dcd35f946352017e7675bd2089d42"><code>459b674</code></a> [dependabot skip] chore: update generated content</li>
<li><a href="https://github.com/docker/build-push-action/commit/4dedcb23c91d79c1629bf53ec2c3bcfffef5b34e"><code>4dedcb2</code></a> chore(deps): Bump <code>@docker/actions-toolkit</code> from 0.99.0 to 0.100.0</li>
<li><a href="https://github.com/docker/build-push-action/commit/379bf63a979bd70751945601fa04c50674509952"><code>379bf63</code></a> Merge pull request <a href="https://redirect.github.com/docker/build-push-action/issues/1620">#1620</a> from crazy-max/buildx-error-message</li>
<li><a href="https://github.com/docker/build-push-action/commit/9877975c9e0b0b661592ff61049069507f9bc2f6"><code>9877975</code></a> chore: update generated content</li>
<li><a href="https://github.com/docker/build-push-action/commit/7ed0556ffafb8eb312463411ef0a84a1dfe24d94"><code>7ed0556</code></a> use the shared Buildx error summary helper</li>
<li><a href="https://github.com/docker/build-push-action/commit/91670ba5a4df99a24efff8637a78c83fd1b0f6b1"><code>91670ba</code></a> Merge pull request <a href="https://redirect.github.com/docker/build-push-action/issues/1618">#1618</a> from docker/dependabot/npm_and_yarn/docker/actions-t...</li>
<li><a href="https://github.com/docker/build-push-action/commit/80dbc8614a5c0ce4356740f69179cf829ecdc79a"><code>80dbc86</code></a> [dependabot skip] chore: update generated content</li>
<li><a href="https://github.com/docker/build-push-action/commit/50cac3a3b6f55e6015d6483d1dd72a3ecb90d20d"><code>50cac3a</code></a> chore(deps): Bump <code>@docker/actions-toolkit</code> from 0.98.0 to 0.99.0</li>
<li><a href="https://github.com/docker/build-push-action/commit/03b4d6cac0163b44733e1fa60adfd6da560ee4d1"><code>03b4d6c</code></a> Merge pull request <a href="https://redirect.github.com/docker/build-push-action/issues/1617">#1617</a> from crazy-max/fix-metadata-workflow-commands</li>
<li>Additional commits viewable in <a href="https://github.com/docker/build-push-action/compare/53b7df96c91f9c12dcc8a07bcb9ccacbed38856a...c3c9e263c25d99ce0380d002d59b67737d91b0dc">compare view</a></li>
</ul>
</details>
<br />
Updates `actions/attest-build-provenance` from 4.1.1 to 4.2.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/attest-build-provenance/releases">actions/attest-build-provenance's releases</a>.</em></p>
<blockquote>
<h2>v4.2.2</h2>
<blockquote>
<p>[!NOTE]
As of version 4, <code>actions/attest-build-provenance</code> is simply a wrapper on top of <a href="https://github.com/actions/attest"><code>actions/attest</code></a>.</p>
<p>Existing applications may continue to use the <code>attest-build-provenance</code> action, but new implementations should use <code>actions/attest</code> instead.</p>
</blockquote>
<h2>What's Changed</h2>
<ul>
<li>Bump actions/attest from 4.2.0 to 4.2.1 in the actions-minor group by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/attest-build-provenance/pull/862">actions/attest-build-provenance#862</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/attest-build-provenance/compare/v4.1.1...v4.2.2">https://github.com/actions/attest-build-provenance/compare/v4.1.1...v4.2.2</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/actions/attest-build-provenance/commit/4d101475d8b20a2381f78447822ac1eab6504dd8"><code>4d10147</code></a> Bump actions/attest from 4.2.0 to 4.2.1 in the actions-minor group (<a href="https://redirect.github.com/actions/attest-build-provenance/issues/862">#862</a>)</li>
<li><a href="https://github.com/actions/attest-build-provenance/commit/e3fe62ef559997059fe8380e7d2b4c909e2d65f4"><code>e3fe62e</code></a> Bump the actions-minor group with 2 updates (<a href="https://redirect.github.com/actions/attest-build-provenance/issues/860">#860</a>)</li>
<li>See full diff in <a href="https://github.com/actions/attest-build-provenance/compare/0f67c3f4856b2e3261c31976d6725780e5e4c373...4d101475d8b20a2381f78447822ac1eab6504dd8">compare view</a></li>
</ul>
</details>
<br />
Updates `corentinmusard/otel-cicd-action` from 4.1.0 to 4.2.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/corentinmusard/otel-cicd-action/releases">corentinmusard/otel-cicd-action's releases</a>.</em></p>
<blockquote>
<h2>v4.2.0</h2>
<h3>Changed</h3>
<ul>
<li>Switch top-level pipeline run span kind from <code>INTERNAL</code> to <code>SERVER</code>, according to
OTel semconv: <a href="https://opentelemetry.io/docs/specs/semconv/cicd/cicd-spans/#pipeline-run">https://opentelemetry.io/docs/specs/semconv/cicd/cicd-spans/#pipeline-run</a></li>
</ul>
<h2>v4.1.1</h2>
<h3>Changed</h3>
<ul>
<li>CICD: skip the sourcemap when diffing dist. Streaming its diff to the job log dominated
the Validate dist step, pushing the build job to nearly ten minutes on a stale-bundle failure.</li>
<li>Build: rebuild dist for undici 6.28.0. Dependabot only updates package-lock.json,
but undici is a runtime dependency that rollup inlines into the committed bundle.</li>
<li>Editorial: Use Dash0 endpoints in README examples.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/dash0hq/otel-cicd-action/blob/main/CHANGELOG.md">corentinmusard/otel-cicd-action's changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<p>All notable changes to this project will be documented in this file.</p>
<p>The format is based on <a href="https://keepachangelog.com/en/1.1.0/">Keep a Changelog</a>,
and this project adheres to <a href="https://semver.org/spec/v2.0.0.html">Semantic Versioning</a>.</p>
<h2>[Unreleased]</h2>
<h2>[4.2.0] - 2026-09-18</h2>
<h3>Changed</h3>
<ul>
<li>Switch top-level pipeline run span kind from <code>INTERNAL</code> to <code>SERVER</code>, according to
OTel semconv: <a href="https://opentelemetry.io/docs/specs/semconv/cicd/cicd-spans/#pipeline-run">https://opentelemetry.io/docs/specs/semconv/cicd/cicd-spans/#pipeline-run</a></li>
</ul>
<h2>[4.1.1] - 2026-08-14</h2>
<h3>Changed</h3>
<ul>
<li>CICD: skip the sourcemap when diffing dist. Streaming its diff to the job log dominated
the Validate dist step, pushing the build job to nearly ten minutes on a stale-bundle failure.</li>
<li>Build: rebuild dist for undici 6.28.0. Dependabot only updates package-lock.json,
but undici is a runtime dependency that rollup inlines into the committed bundle.</li>
<li>Editorial: Use Dash0 endpoints in README examples.</li>
</ul>
<h2>[4.1.0] - 2026-07-27</h2>
<h3>Added</h3>
<ul>
<li>Added the <code>otlpInsecureSkipVerify</code> input for exporting to trusted internal OTLP endpoints whose
TLS certificates cannot be verified.
Thanks <a href="https://github.com/OneCyrus"><code>@OneCyrus</code></a>!</li>
</ul>
<h3>Changed</h3>
<ul>
<li>
<p>Span status now follows the OpenTelemetry
<a href="https://opentelemetry.io/docs/specs/semconv/general/recording-errors/">recording-errors</a>
conventions: it is set to <code>Error</code> (with the standard <code>error.type</code> attribute) for the
<code>failure</code>, <code>timed_out</code>, and <code>startup_failure</code> conclusions, and left unset otherwise
(previously it was set to <code>Ok</code> on success and <code>Error</code> only for <code>failure</code>).</p>
</li>
<li>
<p><strong>Removed</strong> the non-standard boolean <code>error</code> attribute from workflow, job, and step spans.
Use the span status or the <code>error.type</code> attribute instead.</p>
</li>
<li>
<p>The <code>github.job.labels</code> attribute is now exported as an array of strings instead of a
comma-separated string, consistent with the PR label attributes.</p>
</li>
<li>
<p>The repository was transferred from <code>corentinmusard/otel-cicd-action</code> to
<a href="https://github.com/dash0hq/otel-cicd-action"><code>dash0hq/otel-cicd-action</code></a> and is now maintained
by <a href="https://www.dash0.com">Dash0</a>. Existing <code>uses: corentinmusard/otel-cicd-action@v4</code> references
keep working via GitHub's redirect, but updating to <code>dash0hq/otel-cicd-action@v4</code> is recommended.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/dash0hq/otel-cicd-action/commit/4826b79d63662fa91657272e7711420cb6aea543"><code>4826b79</code></a> chore: prepare release v4.2.0</li>
<li><a href="https://github.com/dash0hq/otel-cicd-action/commit/83ec6673ab6c824b086ded7b783f84a2e85774cc"><code>83ec667</code></a> Include PR <a href="https://redirect.github.com/corentinmusard/otel-cicd-action/issues/92">#92</a> to the CHANGELOG prior to releasing. (<a href="https://redirect.github.com/corentinmusard/otel-cicd-action/issues/95">#95</a>)</li>
<li><a href="https://github.com/dash0hq/otel-cicd-action/commit/d9c656c55c721288839dfb33d485272859506436"><code>d9c656c</code></a> fix: switch pipeline run span kind from <code>INTERNAL</code> to <code>SERVER</code> (<a href="https://redirect.github.com/corentinmusard/otel-cicd-action/issues/92">#92</a>)</li>
<li><a href="https://github.com/dash0hq/otel-cicd-action/commit/895874bfae14f840e3032f1a14c3f2b45c93f4af"><code>895874b</code></a> chore: prepare release v4.1.1 (<a href="https://redirect.github.com/corentinmusard/otel-cicd-action/issues/90">#90</a>)</li>
<li><a href="https://github.com/dash0hq/otel-cicd-action/commit/f6952e3b6c9f2e03aa1f9d2b161fa6a6a0a96263"><code>f6952e3</code></a> chore: update CHANGELOG with editorial/build/cicd updates. (<a href="https://redirect.github.com/corentinmusard/otel-cicd-action/issues/89">#89</a>)</li>
<li><a href="https://github.com/dash0hq/otel-cicd-action/commit/77885591de01eecfd4c5d7efa78006ce8fd9044f"><code>7788559</code></a> ci: skip the sourcemap when diffing dist</li>
<li><a href="https://github.com/dash0hq/otel-cicd-action/commit/46633641d19b828dc18d037ca6cd53e29dd0e2c5"><code>4663364</code></a> build: rebuild dist for undici 6.28.0</li>
<li><a href="https://github.com/dash0hq/otel-cicd-action/commit/31e4d4b3334b0eb76e7599441ab4475f8931e65b"><code>31e4d4b</code></a> build(deps): bump the npm_and_yarn group across 1 directory with 2 updates</li>
<li><a href="https://github.com/dash0hq/otel-cicd-action/commit/85d7618854e54f909adad504d6233c1dfed19b87"><code>85d7618</code></a> Use Dash0 endpoints in README examples, drop competitor links from website docs</li>
<li><a href="https://github.com/dash0hq/otel-cicd-action/commit/02e43cc25881ba326ebed7bd6b68f737d73c34d3"><code>02e43cc</code></a> chore: drop repository badges from the synced website docs (<a href="https://redirect.github.com/corentinmusard/otel-cicd-action/issues/85">#85</a>)</li>
<li>See full diff in <a href="https://github.com/corentinmusard/otel-cicd-action/compare/6022e68732c1cab4d2c8218b810f69006ee5cc34...4826b79d63662fa91657272e7711420cb6aea543">compare view</a></li>
</ul>
</details>
<br />
Updates `actions/cache` from 5.1.0 to 6.1.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/cache/releases">actions/cache's releases</a>.</em></p>
<blockquote>
<h2>v6.1.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Bump <code>@actions/cache</code> to v6.1.0 - handle read-only cache access by <a href="https://github.com/jasongin"><code>@jasongin</code></a> in <a href="https://redirect.github.com/actions/cache/pull/1768">actions/cache#1768</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/cache/compare/v6...v6.1.0">https://github.com/actions/cache/compare/v6...v6.1.0</a></p>
<h2>v6.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update packages, migrate to ESM by <a href="https://github.com/Samirat"><code>@Samirat</code></a> in <a href="https://redirect.github.com/actions/cache/pull/1760">actions/cache#1760</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/cache/compare/v5...v6.0.0">https://github.com/actions/cache/compare/v5...v6.0.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/actions/cache/blob/main/RELEASES.md">actions/cache's changelog</a>.</em></p>
<blockquote>
<h1>Releases</h1>
<h2>How to prepare a release</h2>
<blockquote>
<p>[!NOTE]
Relevant for maintainers with write access only.</p>
</blockquote>
<ol>
<li>Switch to a new branch from <code>main</code>.</li>
<li>Run <code>npm test</code> to ensure all tests are passing.</li>
<li>Update the version in <a href="https://github.com/actions/cache/blob/main/package.json"><code>https://github.com/actions/cache/blob/main/package.json</code></a>.</li>
<li>Run <code>npm run build</code> to update the compiled files.</li>
<li>Update this <a href="https://github.com/actions/cache/blob/main/RELEASES.md"><code>https://github.com/actions/cache/blob/main/RELEASES.md</code></a> with the new version and changes in the <code>## Changelog</code> section.</li>
<li>Run <code>licensed cache</code> to update the license report.</li>
<li>Run <code>licensed status</code> and resolve any warnings by updating the <a href="https://github.com/actions/cache/blob/main/.licensed.yml"><code>https://github.com/actions/cache/blob/main/.licensed.yml</code></a> file with the exceptions.</li>
<li>Commit your changes and push your branch upstream.</li>
<li>Open a pull request against <code>main</code> and get it reviewed and merged.</li>
<li>Draft a new release <a href="https://github.com/actions/cache/releases">https://github.com/actions/cache/releases</a> use the same version number used in <code>package.json</code>
<ol>
<li>Create a new tag with the version number.</li>
<li>Auto generate release notes and update them to match the changes you made in <code>RELEASES.md</code>.</li>
<li>Toggle the set as the latest release option.</li>
<li>Publish the release.</li>
</ol>
</li>
<li>Navigate to <a href="https://github.com/actions/cache/actions/workflows/release-new-action-version.yml">https://github.com/actions/cache/actions/workflows/release-new-action-version.yml</a>
<ol>
<li>There should be a workflow run queued with the same version number.</li>
<li>Approve the run to publish the new version and update the major tags for this action.</li>
</ol>
</li>
</ol>
<h2>Changelog</h2>
<h3>6.1.0</h3>
<ul>
<li>Bump <code>@actions/cache</code> to v6.1.0 to pick up <a href="https://redirect.github.com/actions/toolkit/pull/2435">actions/toolkit#2435 Handle cache write error due to read-only token</a></li>
<li>Switch redundant "Cache save failed" warning to debug log in save-only</li>
</ul>
<h3>6.0.0</h3>
<ul>
<li>Updated <code>@actions/cache</code> to ^6.0.1, <code>@actions/core</code> to ^3.0.1, <code>@actions/exec</code> to ^3.0.0, <code>@actions/io</code> to ^3.0.2</li>
<li>Migrated to ESM module system</li>
<li>Upgraded Jest to v30 and test infrastructure to be ESM compatible</li>
</ul>
<h3>5.0.4</h3>
<ul>
<li>Bump <code>minimatch</code> to v3.1.5 (fixes ReDoS via globstar patterns)</li>
<li>Bump <code>undici</code> to v6.24.1 (WebSocket decompression bomb protection, header validation fixes)</li>
<li>Bump <code>fast-xml-parser</code> to v5.5.6</li>
</ul>
<h3>5.0.3</h3>
<ul>
<li>Bump <code>@actions/cache</code> to v5.0.5 (Resolves: <a href="https://github.com/actions/cache/security/dependabot/33">https://github.com/actions/cache/security/dependabot/33</a>)</li>
<li>Bump <code>@actions/core</code> to v2.0.3</li>
</ul>
<h3>5.0.2</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/actions/cache/commit/55cc8345863c7cc4c66a329aec7e433d2d1c52a9"><code>55cc834</code></a> Merge pull request <a href="https://redirect.github.com/actions/cache/issues/1768">#1768</a> from jasongin/readonly-cache</li>
<li><a href="https://github.com/actions/cache/commit/d8cd72f230726cdf4457ebb61ec1b593a8d12337"><code>d8cd72f</code></a> Bump <code>@actions/cache</code> to v6.1.0 - handle cache write error due to RO token</li>
<li><a href="https://github.com/actions/cache/commit/2c8a9bd7457de244a408f35966fab2fb45fda9c8"><code>2c8a9bd</code></a> Merge pull request <a href="https://redirect.github.com/actions/cache/issues/1760">#1760</a> from actions/samirat/esm_migration_and_package_update</li>
<li><a href="https://github.com/actions/cache/commit/e9b91fdc3fea7d79165fceb79042ef45c2d51023"><code>e9b91fd</code></a> Prettier fixes</li>
<li><a href="https://github.com/actions/cache/commit/e4884b8ff7f92ef6b52c79eda480bbc86e685adb"><code>e4884b8</code></a> Rebuild dist</li>
<li><a href="https://github.com/actions/cache/commit/10baf0191a3c426ea0fa4a3253a5c04233b6e18f"><code>10baf01</code></a> Fixed licenses</li>
<li><a href="https://github.com/actions/cache/commit/e39b386c9004d72a15d864ade8c0b3a702d47a37"><code>e39b386</code></a> Fix test mock return order</li>
<li><a href="https://github.com/actions/cache/commit/b6928203372a8571ff984c0c883ef3a1adfb0c06"><code>b692820</code></a> PR feedback</li>
<li><a href="https://github.com/actions/cache/commit/60749128a44d25d3c520a489e576380cf00ff3f1"><code>6074912</code></a> Rebuild dist bundles as ESM to match type:module</li>
<li><a href="https://github.com/actions/cache/commit/5a912e8b4af820fa082a0e75cfd2c782f8fbfe0e"><code>5a912e8</code></a> Fix lint and jest issues</li>
<li>Additional commits viewable in <a href="https://github.com/actions/cache/compare/caa296126883cff596d87d8935842f9db880ef25...55cc8345863c7cc4c66a329aec7e433d2d1c52a9">compare view</a></li>
</ul>
</details>
<br />
Updates `pre-commit-ci/lite-action` from 1.1.0 to 1.2.0
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pre-commit-ci/lite-action/commit/062bca0919bc9d6e66755cc05074b70c77e111fc"><code>062bca0</code></a> v1.2.0</li>
<li><a href="https://github.com/pre-commit-ci/lite-action/commit/d20dc4e4c3aee506d74dd9b232610d4a2d4e846b"><code>d20dc4e</code></a> Merge pull request <a href="https://redirect.github.com/pre-commit-ci/lite-action/issues/28">#28</a> from pre-commit-ci/upgrade-upload-artifact-cli</li>
<li><a href="https://github.com/pre-commit-ci/lite-action/commit/9e0495689f9234cc3972814290420a6aa4891b59"><code>9e04956</code></a> upgrade upload-artifact-cli</li>
<li><a href="https://github.com/pre-commit-ci/lite-action/commit/75e6fcdeb1a837c348116fcc00e4edade1d85ab2"><code>75e6fcd</code></a> Merge pull request <a href="https://redirect.github.com/pre-commit-ci/lite-action/issues/26">#26</a> from mxr/patch-1</li>
<li><a href="https://github.com/pre-commit-ci/lite-action/commit/989699375b07ab3801c70cac41ed13916f1025c0"><code>9896993</code></a> Fix title in README</li>
<li><a href="https://github.com/pre-commit-ci/lite-action/commit/b804cf7b38c91c1a478f7191b9c0e1d08bbd4f2e"><code>b804cf7</code></a> Merge pull request <a href="https://redirect.github.com/pre-commit-ci/lite-action/issues/25">#25</a> from mxr/bump</li>
<li><a href="https://github.com/pre-commit-ci/lite-action/commit/4cf2179f914850537aecb9d44e86d8369fa6e707"><code>4cf2179</code></a> <code>pre-commit autoupdate</code></li>
<li><a href="https://github.com/pre-commit-ci/lite-action/commit/da3b32ae29c6f6b0ac82e855001ae5bb12ea7c40"><code>da3b32a</code></a> Merge pull request <a href="https://redirect.github.com/pre-commit-ci/lite-action/issues/21">#21</a> from pre-commit-ci/all-repos_autofix_all-repos-manual</li>
<li><a href="https://github.com/pre-commit-ci/lite-action/commit/f526d369b624df1cea020b8b6c58a7831d8a209b"><code>f526d36</code></a> py310+</li>
<li>See full diff in <a href="https://github.com/pre-commit-ci/lite-action/compare/5d6cc0eb514c891a40562a58a8e71576c5c7fb43...062bca0919bc9d6e66755cc05074b70c77e111fc">compare view</a></li>
</ul>
</details>
<br />
Updates `softprops/action-gh-release` from 3.0.2 to 3.0.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/softprops/action-gh-release/releases">softprops/action-gh-release's releases</a>.</em></p>
<blockquote>
<h2>v3.0.3</h2>
<p><code>3.0.3</code> is a maintenance release with updated dependencies. It also safely
classifies malformed GitHub API errors to avoid secondary failures (<a href="https://redirect.github.com/softprops/action-gh-release/issues/822">#822</a>).</p>
<h2>What's Changed</h2>
<h3>Bug fixes 🐛</h3>
<ul>
<li>fix: safely classify GitHub API errors by <a href="https://github.com/chenrui333"><code>@chenrui333</code></a> in <a href="https://redirect.github.com/softprops/action-gh-release/pull/822">softprops/action-gh-release#822</a></li>
</ul>
<h3>Other Changes 🔄</h3>
<ul>
<li>dependency updates</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md">softprops/action-gh-release's changelog</a>.</em></p>
<blockquote>
<h2>3.0.3</h2>
<p><code>3.0.3</code> is a maintenance release with updated dependencies. It also safely
classifies malformed GitHub API errors to avoid secondary failures (<a href="https://redirect.github.com/softprops/action-gh-release/issues/822">#822</a>).</p>
<h2>What's Changed</h2>
<h3>Bug fixes 🐛</h3>
<ul>
<li>fix: safely classify GitHub API errors by <a href="https://github.com/chenrui333"><code>@chenrui333</code></a> in <a href="https://redirect.github.com/softprops/action-gh-release/pull/822">softprops/action-gh-release#822</a></li>
</ul>
<h3>Other Changes 🔄</h3>
<ul>
<li>dependency updates</li>
</ul>
<h2>3.0.2</h2>
<p><code>3.0.2</code> is a patch release focused on release reliability and compatibility. It
reuses existing draft releases when publishing prereleases, supports replacing
release assets on Gitea, hardens streamed asset uploads, and provides clearer
release-creation diagnostics. It also includes TypeScript, coverage, and tooling
maintenance merged since <code>3.0.1</code>.</p>
<p>This release fixes <a href="https://redirect.github.com/softprops/action-gh-release/issues/795">#795</a>, <a href="https://redirect.github.com/softprops/action-gh-release/issues/438">#438</a>, and <a href="https://redirect.github.com/softprops/action-gh-release/issues/803">#803</a>. The upload transport hardening covers the
historical failure reported in <a href="https://redirect.github.com/softprops/action-gh-release/issues/790">#790</a>, although current hosted Node 24 runners did
not reproduce it naturally. The diagnostics work is related to <a href="https://redirect.github.com/softprops/action-gh-release/issues/786">#786</a> and does not
claim a reproducible release-creation fix.</p>
<h2>What's Changed</h2>
<h3>Exciting New Features 🎉</h3>
<ul>
<li>feat: improve release error reporting and test coverage by <a href="https://github.com/chenrui333"><code>@chenrui333</code></a> in <a href="https://redirect.github.com/softprops/action-gh-release/pull/813">softprops/action-gh-release#813</a></li>
</ul>
<h3>Bug fixes 🐛</h3>
<ul>
<li>fix: publish existing draft releases as prereleases by <a href="https://github.com/godfengliang"><code>@godfengliang</code></a> in <a href="https://redirect.github.com/softprops/action-gh-release/pull/801">softprops/action-gh-release#801</a></li>
<li>fix: upload small checksum assets reliably by <a href="https://github.com/chenrui333"><code>@chenrui333</code></a> in <a href="https://redirect.github.com/softprops/action-gh-release/pull/815">softprops/action-gh-release#815</a></li>
<li>fix: replace existing release assets on Gitea by <a href="https://github.com/chenrui333"><code>@chenrui333</code></a> in <a href="https://redirect.github.com/softprops/action-gh-release/pull/816">softprops/action-gh-release#816</a></li>
<li>fix: clarify release creation 404 errors by <a href="https://github.com/chenrui333"><code>@chenrui333</code></a> in <a href="https://redirect.github.com/softprops/action-gh-release/pull/817">softprops/action-gh-release#817</a></li>
</ul>
<h3>Other Changes 🔄</h3>
<ul>
<li>chore(deps): upgrade TypeScript to 7 by <a href="https://github.com/chenrui333"><code>@chenrui333</code></a> in <a href="https://redirect.github.com/softprops/action-gh-release/pull/812">softprops/action-gh-release#812</a></li>
<li>chore(deps): remove unused TypeScript tooling by <a href="https://github.com/chenrui333"><code>@chenrui333</code></a> in <a href="https://redirect.github.com/softprops/action-gh-release/pull/814">softprops/action-gh-release#814</a></li>
<li>dependency, Node 24 pin, and CI maintenance merged since <code>3.0.1</code></li>
</ul>
<h2>3.0.1</h2>
<ul>
<li>maintenance release with updated dependencies</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/softprops/action-gh-release/commit/efb35369e0ad2afab669f228072c1b0d510eae64"><code>efb3536</code></a> release 3.0.3 (<a href="https://redirect.github.com/softprops/action-gh-release/issues/840">#840</a>)</li>
<li><a href="https://github.com/softprops/action-gh-release/commit/6441963a7597ab67f36fea0287a7ae58a9bfd8fe"><code>6441963</code></a> chore(deps): bump the npm group with 2 updates (<a href="https://redirect.github.com/softprops/action-gh-release/issues/839">#839</a>)</li>
<li><a href="https://github.com/softprops/action-gh-release/commit/e5ee6bc58a36b838b92fc1217f2e4b414b5abcc8"><code>e5ee6bc</code></a> chore(deps): bump esbuild from 0.28.1 to 0.28.2 in the npm group (<a href="https://redirect.github.com/softprops/action-gh-release/issues/837">#837</a>)</li>
<li><a href="https://github.com/softprops/action-gh-release/commit/d1e66170d32c9ec7bbcb7fae044d3d686ce304d3"><code>d1e6617</code></a> chore(deps): bump undici from 6.27.0 to 6.28.0 (<a href="https://redirect.github.com/softprops/action-gh-release/issues/831">#831</a>)</li>
<li><a href="https://github.com/softprops/action-gh-release/commit/64037519ba20f54c01bc1dc90342c929aac5a2fa"><code>6403751</code></a> chore(deps): bump the npm group with 2 updates (<a href="https://redirect.github.com/softprops/action-gh-release/issues/835">#835</a>)</li>
<li><a href="https://github.com/softprops/action-gh-release/commit/7c7184b6876126a5df15adc5b679dc450a393725"><code>7c7184b</code></a> chore(deps): bump postcss from 8.5.19 to 8.5.25 (<a href="https://redirect.github.com/softprops/action-gh-release/issues/833">#833</a>)</li>
<li><a href="https://github.com/softprops/action-gh-release/commit/0f3f0d2943676d58f9698b3ab590c2056023d77d"><code>0f3f0d2</code></a> chore(deps): bump brace-expansion from 5.0.8 to 5.0.9 (<a href="https://redirect.github.com/softprops/action-gh-release/issues/832">#832</a>)</li>
<li><a href="https://github.com/softprops/action-gh-release/commit/77fb938f2f95e717ce6705d2909af527263360a0"><code>77fb938</code></a> chore(deps): bump prettier from 3.9.5 to 3.9.6 in the npm group (<a href="https://redirect.github.com/softprops/action-gh-release/issues/830">#830</a>)</li>
<li><a href="https://github.com/softprops/action-gh-release/commit/5a6f51711ce2ba103b78f5e9550f810679f11e0e"><code>5a6f517</code></a> chore(deps): bump brace-expansion from 5.0.7 to 5.0.8 (<a href="https://redirect.github.com/softprops/action-gh-release/issues/828">#828</a>)</li>
<li><a href="https://github.com/softprops/action-gh-release/commit/a3c91c98f80000f5b06c7fc0327c54f51c6ab7d8"><code>a3c91c9</code></a> chore(deps): bump the github-actions group with 2 updates (<a href="https://redirect.github.com/softprops/action-gh-release/issues/825">#825</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/softprops/action-gh-release/compare/3d0d9888cb7fd7b750713d6e236d1fcb99157228...efb35369e0ad2afab669f228072c1b0d510eae64">compare view</a></li>
</ul>
</details>
<br />
|
dependencies
github_actions
CI
|
7/7 |
.github/workflows/actionlint.yml,.github/workflows/docker_build.yml,.github/workflows/export_telemetry.yaml,.github/workflows/pre-commit.yml,.github/workflows/release.yml |
5 |
1 |
['github-actions'] |
nobody |
12-14522 12 days ago |
12-14742 12 days ago |
15-56840 15 days |
0 |
| 44425 |
JovanGerb author:JovanGerb |
chore: deprecate `FP.Float` |
This PR deprecates `FP.Float`. This definition is very poorly documented, has not been touched since the port, and says it is experimental. Nowadays, lean core has a `Float` type with the ability to prove things about it, so I think it's better to remove `FP.Float`.
This PR is motivated by a new concrete instances linter. The parameter `[C : FloatCfg]` appearing in this file causes this linter to warn.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-data
increases-technical-debt
maintainer-merge
|
37/31 |
Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Data/FP/Basic.lean |
2 |
3 |
['github-actions', 'grunweg'] |
nobody |
12-13860 12 days ago |
18-18033 18 days ago |
18-17710 18 days |
1 |
| 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 |
12-12171 12 days ago |
28-18299 28 days ago |
29-52027 29 days |
0 |
| 42051 |
vihdzp author:vihdzp |
feat: lemmas relating `smallInductiveDimension` and `ZeroDimensionalSpace` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #40879
- [x] depends on: #40901
[](https://gitpod.io/from-referrer/)
|
t-topology |
15/0 |
Mathlib/Topology/InductiveDimension/Functions.lean |
1 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
11-76465 11 days ago |
11-76532 11 days ago |
11-77934 11 days |
0 |
| 44320 |
tb65536 author:tb65536 |
feat(Analysis/Normed/Unbundled/IsPowMulTrivial): triviality of power-multiplicative norms over a trivially normed field |
This is used in #42985 to generalize uniqueness of power-multiplicative norms from `NontriviallyNormedField` to `NormedField`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
62/0 |
Mathlib.lean,Mathlib/Analysis/Normed/Unbundled/IsPowMulTrivial.lean |
2 |
4 |
['eric-wieser', 'github-actions', 'tb65536', 'themathqueen'] |
nobody |
11-76340 11 days ago |
11-76435 11 days ago |
21-14147 21 days |
2 |
| 44462 |
wwylele author:wwylele |
feat(Geometry/Euclidean): the corner simplex |
This is working towards #44252 to connect `Simplex.volume` and `Orientation.volumeForm` for arbitrary simplex. The idea is that for the model simplex, namely `cornerSimplex` spanned by the standard Euclidean space basis, it is easy to calculate both `Simplex.volume` and `Orientation.volumeForm`. Then they can be transferred to arbitrary simplex by a affine map. This PR introduces every thing about the corner simplex before the part that touches `Affine.Simplex.volume`.
---
This is similar to the object in #40479, but I dislike the name there, and that PR has gone stale due to its deprecated dependencies. I also intentionally made this less general (instead of the corner simplex from any orthonormal basis, this one is only defined in `EuclideanSpace`). This makes the formulation of "a face of `cornerSimplex` is another `cornerSimplex`" more straightforward, as it simply corresponds to the index change in `EuclideanSpace`
That being sad, I am open to major changes such as
- If it is desired to generalize corner simplex to any orthonormal basis in any inner product space, I can certainly do that. (Alternatively, we can review #40479 and get it over the line)
- If there is a more elegant way to prove the main theorem in #44252 without corner simplex, I can also do that.
- 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]
-->
- [ ] depends on: #44340
- [ ] depends on: #44463 |
t-euclidean-geometry |
139/0 |
Mathlib.lean,Mathlib/Geometry/Euclidean/CornerSimplex.lean |
2 |
7 |
['copilot-pull-request-reviewer', 'github-actions', 'mathlib-dependent-issues', 'wwylele'] |
jsm28 assignee:jsm28 |
11-64853 11 days ago |
12-9257 12 days ago |
12-60150 12 days |
1 |
| 38478 |
dagurtomas author:dagurtomas |
feat(Tactic/CategoryTheory): op attribute |
Adding `@[op]` to a lemma named `H` of shape `∀ .., f = g`, where `f` and `g` are morphisms
in some category `C`, creates a new lemma named `H_op` by applying `Quiver.Hom.op` to both sides
and then simplifying with `simp only [op_comp, op_id]`.
This PR also adds `op_of%`, and adjusts `@[map]` so that `@[op (attr := map)]` works for
equalities of morphisms in opposite categories.
---
- [x] depends on: #37183
[](https://gitpod.io/from-referrer/)
|
LLM-generated
t-category-theory
t-meta
|
333/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/Op.lean,MathlibTest/CategoryTheory/Op.lean,MathlibTest/CategoryTheory/OpNormalization.lean |
5 |
8 |
['chrisflav', 'dagurtomas', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'robin-carlier'] |
nobody |
11-63953 11 days ago |
34-39971 34 days ago |
34-43901 34 days |
0 |
| 43981 |
plp127 author:plp127 |
fix: setting `pp.mdata` to true breaks `@[pp_with_univ]` |
This PR fixes an issue where turning on `pp.mdata` causes constants tagged with `@[pp_with_univ]` to print as
```
[mdata pp.universes:true]
[mdata pp.universes:true]
[mdata pp.universes:true]
[mdata pp.universes:true]
[mdata pp.universes:true]
[mdata pp.universes:true] [mdata pp.universes:true] [mdata pp.universes:true] [mdata pp.universes:true] ⋯
```
When `pp.mdata` is set to true, expressions with mdata are printed by first printing the mdata and the printing the bare expression underneath. This breaks `@[pp_with_univ]` which works by applying mdata setting `pp.universes` to true onto the constant name, and then redelaborating the new expression containing mdata. This causes an infinite loop the the delaborator since `@[pp_with_univ]` applies the mdata, and then since `pp.mdata` is true the mdata is removed before delaborating the constant, which then has mdata applied again, and so on. We fix the issue by instead having the implementation of `@[pp_with_univ]` directly set the `pp.universes` option, instead of delegating it to `delabMData` with a metadata.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
maintainer-merge
|
63/6 |
Mathlib/Tactic/PPWithUniv.lean,MathlibTest/Delab/PPWithUniv.lean |
2 |
10 |
['JovanGerb', 'github-actions', 'joneugster', 'plp127'] |
joneugster assignee:joneugster |
11-27589 11 days ago |
11-27646 11 days ago |
25-65717 25 days |
0 |
| 44532 |
SnirBroshi author:SnirBroshi |
doc(1000-yaml): clarify ambiguous titles, add new items, fix formatting |
- Added "(subject)" to titles which appear multiple times
(e.g. "Euler's theorem" → "Euler's theorem (number theory)" and "Euler's theorem (differential geometry)")
- "Gentzen's consistency proof" was added in https://github.com/1000-plus/1000-plus.github.io/pull/36
- "Determination of the fifth Busy Beaver value" was added in https://github.com/1000-plus/1000-plus.github.io/pull/46
- The ID of "Lamé’s theorem" was changed in https://github.com/1000-plus/1000-plus.github.io/pull/39
- Moved "Bézout's identity" to keep the list sorted by the ID
- Fix formatting
---
In case you're wondering about `comment`s not being quoted (like `title`s), I've checked with the same way these are parsed by CI (PyYAML's `yaml.safe_load()`) that they're parsed the same way with and without quotes. A couple of `comment`s still have quotes because they need them.
btw "Bézout's identity" isn't in the [website](https://1000-plus.github.io/all) (only "Bézout's theorem", which is a different item) but it is in the yaml, and AFAICT the intention was to PR it to the list since it's in [Wikipedia's list](https://en.wikipedia.org/wiki/List_of_theorems), so I didn't delete it. See the PR description of #21926.
(if we do PR it, I think [this](https://github.com/1000-plus/1000-plus.github.io/blob/8e04b97dd24adc6e931be78a884da7e935bc8780/sync_mathlib_data.py#L374-L377) can be deleted)
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
documentation
maintainer-merge
|
81/79 |
docs/100.yaml,docs/1000.yaml |
2 |
6 |
['SnirBroshi', 'github-actions', 'grunweg', 'joneugster'] |
nobody |
11-22004 11 days ago |
14-60265 14 days ago |
14-59942 14 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 |
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 |
7 |
['JovanGerb', 'github-actions', 'joelriou', 'leanprover-radar', 'robin-carlier'] |
nobody |
11-21505 11 days ago |
11-21565 11 days ago |
20-9811 20 days |
0 |
| 39875 |
mkaratarakis author:mkaratarakis |
refactor(NumberField/House): expose Siegel lemma infrastructure |
Add new theorems for house of algebraic integer, expose Siegel's lemma infrastructure and rename the private basis-matrix bound to `basisMatrixInvSupNorm`, make `house` reducible, and adjust `exists_ne_zero_int_vec_house_le`. This changes are required for #39874.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/) |
|
62/32 |
Mathlib/NumberTheory/NumberField/House.lean |
1 |
7 |
['github-actions', 'mathlib-merge-conflicts', 'mkaratarakis', 'tb65536'] |
nobody |
11-21224 11 days ago |
11-22450 11 days ago |
104-25135 104 days |
5 |
| 43079 |
Parcly-Taxel author:Parcly-Taxel |
chore: rename underscore defs in `JacobiTheta.Bounds` |
In the `HurwitzKernelBounds` namespace:
* `f_nat, g_nat, F_nat -> f, g, F`
* `f_int, F_int -> fZ, FZ` |
t-number-theory
tech debt
|
111/93 |
Mathlib/NumberTheory/LSeries/HurwitzZetaEven.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaOdd.lean,Mathlib/NumberTheory/ModularForms/JacobiTheta/Bounds.lean |
3 |
4 |
['Parcly-Taxel', 'github-actions', 'jcommelin', 'mathlib-merge-conflicts'] |
nobody |
11-19635 11 days ago |
11-19960 11 days ago |
57-46372 57 days |
0 |
| 43220 |
wwylele author:wwylele |
refactor(Combinatorics/Partition): eliminate T2Space requirement from generating function |
Previously, the key lemma in this file had the shape `HasProd (fun i ↦ 1 + ∑' j, f (i + 1) (j + 1) • X ^ ((i + 1) * (j + 1))) (genFun f)`, which has a nested infinite sum inside the infinite prod. As a result, all related lemma needed T2Space when it doesn't have to. The new formulation extract the inner sum into a power series definition `genFunFactor` that works in general topological space, eliminating `T2Space` for the `HasProd`/`HasSum` lemma.
The old formula is kept under the name `hasProd_genFun'`. This is still used in the downstream file `Glaisher.lean`. To reduce the code change size, the refactor in `Glaisher.lean` is deferred to a future PR
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
96/79 |
Mathlib/Combinatorics/Enumerative/Partition/Basic.lean,Mathlib/Combinatorics/Enumerative/Partition/GenFun.lean,Mathlib/Combinatorics/Enumerative/Partition/Glaisher.lean |
3 |
3 |
['copilot-pull-request-reviewer', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
11-18884 11 days ago |
11-19685 11 days ago |
51-56505 51 days |
1 |
| 44275 |
seewoo5 author:seewoo5 |
feat(FourierTransform): linear equivariance |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
Linear equivariance of Fourier transform: `𝓕 (f ∘ A) w = |A.toLinearMap.det|⁻¹ • 𝓕 f (A.symm.adjoint w)`. Proof is essentially by change of variable. Originally written by Opus 5, with additional golfs by myself.
This was formalized while I was refactoring OpenAI's formalization on Cohn-Elkies bound and its optimal exponent. Note that one can generalize further (actually without much effort) to the case where the domain and codomain of `A` are different, by replacing determinant with [`LinearMap.normDet`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/InnerProductSpace/NormDet.html#LinearMap.normDet). But it seems that this would add a lot imports, and I may had to make a separate file (something like `Fourier/Linear.lean`?), but I'm not sure if this is a good idea. The general version can be found [here](https://github.com/seewoo5/cohn-elkies-refactor/blob/b5165ff7049114ce2c551f15b8c75d4aca5ab850/CohnElkiesForMathlib/Analysis/Fourier/FourierTransform.lean#L30). |
t-analysis
LLM-generated
|
20/3 |
Mathlib/Analysis/Fourier/FourierTransform.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
11-17786 11 days ago |
11-17841 11 days ago |
22-33809 22 days |
0 |
| 44306 |
grunweg author:grunweg |
chore: rename check_title_labels in kebap-case |
This matches general conventions for such tools, as discussed on Zulip: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Naming.20convention/near/451072858
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
CI
maintainer-merge
|
71/4 |
.github/workflows/build_template.yml,.github/workflows/check_pr_titles.yaml,lakefile.lean,scripts/README.md,scripts/check-title-labels.lean,scripts/check_title_labels.lean |
6 |
23 |
['Vierkantor', 'github-actions', 'grunweg', 'joneugster', 'marcelolynch', 'mathlib-bors'] |
nobody |
11-14588 11 days ago |
11-14911 11 days ago |
20-66855 20 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 |
11-8229 11 days ago |
11-8472 11 days ago |
11-8178 11 days |
0 |
| 44360 |
justus-springer author:justus-springer |
feat(LinearAlgebra/Dimension/DivisionRing): add `finrank_span_eq_finrank_iff` |
This is a criterion for the reverse inequality of `finrank_span_le_finrank` in terms of linearly independent subsets. This criterion will be used in the upcoming lattice refactor, see the [zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Definitions.20of.20lattices/with/620086310).
As was already noted in the docstring, we also have `Submodule.finrank_span_eq_finrank` which works in a different setting and I don't think one can be deduced from the other. I've moved the docstring note to the new equality lemma.
Co-authored-by: Anouk Brose <aebrose@ucdavis.edu>
- [x] depends on: #44359
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 label:t-algebra$ |
60/8 |
Mathlib/LinearAlgebra/Dimension/DivisionRing.lean |
1 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
11-7296 11 days ago |
11-7343 11 days ago |
19-76749 19 days |
1 |
| 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 |
11-7047 11 days ago |
11-7141 11 days ago |
22-65193 22 days |
0 |
| 42186 |
marcelolynch author:marcelolynch |
refactor(Tactic/Linter/MinImports): make the minImports linter stateful |
This PR rewrites the `minImports` linter as a stateful linter (leanprover/lean4#14357). The linter behavior does not change. The existing tests in `MathlibTest/MinImports.lean` pass without changes. The PR adds one test section that sets `Elab.async true` explicitly: it checks that the linter accumulates imports correctly under parallel elaboration, and that `#import_bumps` keeps parallel elaboration on.
The old implementation kept the cumulative imports in a global `IO.Ref`. The ref is not safe under parallel elaboration. For this reason, `#import_bumps` set `Elab.async false` for the rest of the file. The new implementation keeps the same data in the linter state. The elaborator threads the state through the commands of the file, and the data stays correct under parallel elaboration. `#import_bumps` does not disable `Elab.async` anymore.
Implementation notes:
- The `#reset_min_imports` elaborator does nothing. The linter detects the command syntax and clears its own state. The reset works also when the linter option is off, as before.
- The post phase removes `set_option ... in` prefixes with `withSetOptionIn` from core. leanprover/lean4#14581 generalizes the result type of that function, so it accepts the phase of a stateful linter and not only a `CommandElab`. The generalization ships in v4.34.0-rc1.
- The state type `ImportState` and the linter handle are public. A follow-up can pass the computed import set to the `upstreamableDecl` linter, which computes the same data a second time today.
Measurements on synthetic files (Apple Silicon, 18 cores, medians of 3 runs):
- Proof-heavy file (150 commands, about 120 ms each), linter on: 20.0 s before, 8.8 s after. The old version serialized elaboration of the whole file. The new version keeps elaboration parallel and runs the lint chain next to it.
- The old version with `Elab.async true` emits 123 warning lines instead of the correct 11, because parallel lint tasks race on the ref. The new version emits the correct 11 lines.
- Linter off (2000 trivial commands): the added cost is about 45 microseconds per command.
`registerStatefulLinter` shipped in v4.34.0-rc1
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
t-linter
LLM-generated
|
149/78 |
Mathlib/Tactic/Linter/MinImports.lean,MathlibTest/MinImports.lean |
2 |
3 |
['JovanGerb', 'github-actions', 'thorimur'] |
thorimur assignee:thorimur |
11-4955 11 days ago |
48-48766 48 days ago |
69-68598 69 days |
1 |
| 43037 |
kim-em author:kim-em |
feat(Tactic/NormNum): add `norm_num_simproc` and use it for `Nat.fib` |
Adds `norm_num_simproc` to share a numerical evaluator between `norm_num` and simproc sets, and uses it to make `Nat.fib` evaluation available to `simp` and `grind`.
```lean
norm_num_simproc [simp, seval] evalNatFib (Nat.fib _) where
eval {_ _} e := ...
```
This declares the simproc `evalNatFib` and the extension `evalNatFib.normNumExt`. The set list defaults to `[simp]`; an explicit list replaces it, with `[]` disabling automatic simproc registration. Both registrations support `local` and `scoped`.
The extension retains recursive operand normalization for direct consumers such as `ring` and `positivity`. `Nat.fib` is a first example: around 30 existing extensions are candidates for conversion, including `Nat.factorial`, `Nat.Prime`, and the Jacobi and Legendre symbols. Each will need its own registration and performance assessment.
:robot: prepared with Codex+Claude
|
t-meta
LLM-generated
|
316/9 |
Mathlib/Tactic/NormNum/Core.lean,Mathlib/Tactic/NormNum/NatFib.lean,MathlibTest/Tactic/NormNum/NatFib.lean,MathlibTest/Tactic/NormNum/SimprocMacro.lean |
4 |
16 |
['JovanGerb', 'github-actions', 'kim-em', 'thorimur'] |
thorimur assignee:thorimur |
11-4863 11 days ago |
22-55390 22 days ago |
59-28265 59 days |
0 |
| 42138 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): copies into `⊤` and containment in the complete graph |
Add copy constructors mirroring the existing `Copy.bot` 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]
-->
- [x] depends on: #43201
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
tech debt
|
116/31 |
Mathlib/Combinatorics/SimpleGraph/Copy.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Maps.lean |
3 |
29 |
['Ruben-VandeVelde', 'SnirBroshi', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mitchell-horner', 'vlad902'] |
SnirBroshi assignee:SnirBroshi |
10-86370 10 days ago |
24-53520 24 days ago |
66-16403 66 days |
0 |
| 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 |
10-80349 10 days ago |
10-80424 10 days ago |
10-82109 10 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 |
10-80228 10 days ago |
10-80334 10 days ago |
10-82316 10 days |
0 |
| 40964 |
grunweg author:grunweg |
chore: explicitly specify free universes in `TopCat` and friends |
Avoid free universe variables, as discussed on Zulip: https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2338223.20The.20Category.20of.20C.5En.20Manifolds/near/587824522
Perhaps, we should have a linter for this, such as by
- extending the `pp_universes` attribute (TODO fix name) to take a list of universes, and only pretty-print those
- the linter checks for any universes which are annotated with this attribute: if a declaration has a universe metavariable corresponding to such a universe, we warn
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
117/114 |
Mathlib/Algebra/Category/ModuleCat/Topology/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Homology.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/AlgebraicGeometry/Spec.lean,Mathlib/RepresentationTheory/Continuous/TopRep.lean,Mathlib/Topology/Specialization.lean,MathlibTest/CategoryTheory/ConcreteCategory/TopModuleCat.lean |
7 |
11 |
['felixpernegger', 'github-actions', 'grunweg', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
10-77080 10 days ago |
10-77396 10 days ago |
28-70573 28 days |
0 |
| 43205 |
wwylele author:wwylele |
feat(FieldTheory): extension is separable if its degree is less than the positive char |
This is a series of lemma analog to the existing CharZero lemma
- `Polynomial.mem_support_derivative` -> `Polynomial.mem_support_derivative_of_isSMulRegular` (I used SMulRegular as this seems to be the right spelling for Semiring)
- `Polynomial.degree_derivative` -> `Polynomial.degree_derivative_of_isSMulRegular`
- `Polynomial.natDegree_derivative` -> `Polynomial.natDegree_derivative_of_isSMulRegular`
- `Irreducible.separable` -> `Irreducible.separable_of_natCast_natDegree_ne_zero`
- `IsSeparable.of_integral` -> `IsSeparable.of_integral_of_natCast_natDegree_ne_zero`
- `Algebra.IsSeparable.of_integral` -> `Algebra.IsSeparable.of_integral_of_finrank_lt` & `Algebra.IsSeparable.of_integral_of_rank_lt`
---
From https://github.com/wwylele/Compass
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
70/15 |
Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/FieldTheory/Separable.lean |
2 |
3 |
['copilot-pull-request-reviewer', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
10-69370 10 days ago |
10-69428 10 days ago |
51-59787 51 days |
0 |
| 43556 |
teorth author:teorth |
feat(Analysis/SpecialFunctions/Gamma/Digamma): the real digamma function, its asymptotics, and Gauss' series |
This extends the digamma file with the real digamma function, its logarithmic
asymptotics, and Gauss' series for `ψ`.
---
Main additions:
`Mathlib/Analysis/SpecialFunctions/Gamma/Digamma.lean`
* `Real.digamma`, the real digamma function `logDeriv Real.Gamma`, and its
real functional equations (`Real.digamma_apply_add_one`, `..._add_nat`,
`..._nat_add_one`, `..._one_sub`, `..._two_mul`), obtained from the complex
versions via the bridge below.
* `Complex.digamma_ofReal : Complex.digamma x = Real.digamma x` (a `simp`
lemma, unconditional thanks to matching junk values at the non-positive
integers), and `Complex.digamma_eq_re`.
* Real asymptotics: `Real.monotoneOn_digamma` (monotone on `Ioi 0`, via
log-convexity of `Γ`), `Real.digamma_le_log_le` (`ψ x ≤ log x ≤ ψ (x + 1)`),
and `Real.abs_digamma_sub_log_le` (`|ψ x - log x| ≤ 1 / x`).
* `Complex.gammaAnalyticSet`, the complement of the non-positive integers,
with `isOpen_gammaAnalyticSet`, `isPreconnected_gammaAnalyticSet`,
`Complex.differentiableOn_Gamma`, and `Complex.differentiableOn_digamma`.
* **Gauss' series** `ψ(s) = -γ + ∑ₙ (1/(n+1) - 1/(s+n))`
(`Complex.digamma_eq_gaussSeries`, `Real.digamma_eq_gaussSeries`,
`summable_gaussSeries`). The error is shown to vanish on the positive reals
(a finite partial-sum identity together with `abs_digamma_sub_log_le`) and to
be analytic off the poles, hence zero everywhere by the identity theorem.
`Mathlib/Analysis/Complex/RealDeriv.lean`
* `logDeriv_comp_ofReal`, `logDeriv_ofReal_comp`, relating the real and complex
logarithmic derivatives along the reals.
`Mathlib/Analysis/SpecialFunctions/Gamma/Deriv.lean`
* Real analogues of the existing complex lemmas: `Real.continuousAt_Gamma`,
and non-continuity/non-differentiability of `Real.Gamma` at the non-positive
integers.
Several complex analysis imports were added to `Digamma.lean` in order to justify the proof of the Gauss identity in the complex case.
The code was initially generated by an AI, and then heavily golfed and reviewed by the author.
[](https://gitpod.io/from-referrer/)
|
t-analysis |
434/23 |
Mathlib/Analysis/Complex/RealDeriv.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Digamma.lean |
3 |
4 |
['github-actions', 'mathlib-merge-conflicts', 'metakunt'] |
nobody |
10-67139 10 days ago |
10-67199 10 days ago |
41-73618 41 days |
0 |
| 41426 |
gmcninch-prof author:gmcninch-prof |
feat: add symmetric multilinear maps |
Define `SymmetricMap R M N ι`, the type of symmetric `R`-multilinear maps
from `ι → M` to `N` (i.e. multilinear maps invariant under permutation of
their arguments).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
The code is adapted from Kenny Lau's work
[here](https://github.com/kckennylau/EllipticCurve/blob/master/EllipticCurve/ProjectiveSpace/TensorProduct/SymmetricMap.lean)
-- see [`SymmetricMap`](https://github.com/gmcninch-prof/mathlib4/blob/symmetric-power-lift/Mathlib/LinearAlgebra/TensorProduct/SymmetricMap.lean).
This PR previously also contained the universal property / `lift` for
`SymmetricPower` (relating linear maps out of `Sym[R]^n M` to symmetric
multilinear maps), but per reviewer feedback on Zulip that work has been
split into a separate PR that depends on this one.
Zulip discussion [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/SymmetricPower.20universal.20property/near/608532652)
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
397/0 |
Mathlib.lean,Mathlib/LinearAlgebra/TensorProduct/SymmetricMap.lean |
2 |
10 |
['github-actions', 'gmcninch-prof', 'jcommelin'] |
kim-em assignee:kim-em |
10-64857 10 days ago |
99-82706 99 days ago |
101-50685 101 days |
1 |
| 42923 |
plp127 author:plp127 |
feat(FieldTheory/KummerExtension): criterion for `X ^ n - C a` to be irreducible for even `n` |
Prove the criterion for `X ^ n - C a` to be irreducible when `n` is not necessarily odd. This resolves a TODO.
---
- [x] depends on: #42344
- [x] depends on: #42886
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
label:t-algebra$ |
201/33 |
Mathlib/FieldTheory/KummerExtension.lean |
1 |
9 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'plp127', 'tb65536', 'vihdzp'] |
nobody |
10-64266 10 days ago |
10-64314 10 days ago |
17-26833 17 days |
0 |
| 38482 |
dagurtomas author:dagurtomas |
feat(CategoryTheory/Tactic): specialize_map attribute |
Adds `@[specialize_map F]` to specialize morphism equalities to a chosen functor template, with whiskering and tensor functors as examples. It reuses the `map` proof generator and universe ordering, preserves explicit and instance binders, and supports custom suffixes and additional 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/)
|
LLM-generated
t-category-theory
t-meta
|
349/6 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/Map.lean,Mathlib/Tactic/CategoryTheory/SpecializeMap.lean,MathlibTest/CategoryTheory/SpecializeMap.lean |
5 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
10-63957 10 days ago |
33-193 32 days ago |
32-86270 32 days |
1 |
| 42041 |
FrankieNC author:FrankieNC |
feat(Topology/MetricSpace): minkowski (box-counting) dimension |
Define the lower and upper Minkowski (box-counting) dimensions of a set in a pseudo-emetric space via covering numbers, prove the basic API (monotonicity, closure invariance, unions, finite sets), and show `dimH s ≤ lowerMinkowskiDim s ≤ upperMinkowskiDim s` (Falconer, Fractal Geometry, Ch. 3). |
t-topology |
354/0 |
Mathlib.lean,Mathlib/Topology/MetricSpace/Cover.lean,Mathlib/Topology/MetricSpace/CoveringNumbers.lean,Mathlib/Topology/MetricSpace/MinkowskiDimension.lean,docs/references.bib |
5 |
5 |
['github-actions', 'wwylele'] |
mcdoll assignee:mcdoll |
10-61596 10 days ago |
42-32648 42 days ago |
87-74128 87 days |
0 |
| 43307 |
Parcly-Taxel author:Parcly-Taxel |
feat: quaternion operations with respect to coordinates |
Add `QuaternionAlgebra.mk_{zero,one,natCast,intCast}` and `QuaternionAlgebra.{mk_mul_mk,star_mk}` as convenience lemmas for working with quaternions whose coordinates are explicitly given. These lemmas allow [the following code](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Transparency.20problem.20with.20quaternions/near/618254305) to work:
```lean
import Mathlib.Analysis.Quaternion
import Mathlib.NumberTheory.Real.GoldenRatio
noncomputable section
open goldenRatio Quaternion
/-- The unit icosian `(1 + i + j + k) / 2`, which has order 6. -/
def icosian6 : ℍˣ where
val := ⟨2⁻¹, 2⁻¹, 2⁻¹, 2⁻¹⟩
inv := ⟨2⁻¹, -2⁻¹, -2⁻¹, -2⁻¹⟩
val_inv := by norm_num
inv_val := by norm_num
/-- The unit icosian `(φ + i + ψ*j) / 2`, which has order 10. -/
def icosian10 : ℍˣ where
val := ⟨φ / 2, 2⁻¹, ψ / 2, 0⟩
inv := ⟨φ / 2, -2⁻¹, -ψ / 2, 0⟩
val_inv := by rw [mk_mul_mk, ← QuaternionAlgebra.mk_one]; grind
inv_val := by rw [mk_mul_mk, ← QuaternionAlgebra.mk_one]; grind
/-- The unit icosians. -/
def Icosian : Subgroup ℍˣ := Subgroup.closure {icosian6, icosian10}
``` |
t-algebra label:t-algebra$ |
18/0 |
Mathlib/Algebra/Quaternion.lean |
1 |
3 |
['Parcly-Taxel', 'github-actions', 'themathqueen'] |
nobody |
10-59520 10 days ago |
10-61030 10 days ago |
49-8318 49 days |
0 |
| 44014 |
plp127 author:plp127 |
fix(Tactic/DeprecateTo): preserve whitespace |
Make `#deprecate to` directly edit the original source file text, instead of extracting the syntax and then using the pretty-printer to convert it back into a string, which destroys the original whitespace.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
111/46 |
Mathlib/Tactic/DeprecateTo.lean,MathlibTest/DeprecateTo.lean |
2 |
5 |
['JovanGerb', 'github-actions', 'mathlib-merge-conflicts', 'plp127'] |
nobody |
10-54501 10 days ago |
10-54564 10 days ago |
16-55060 16 days |
0 |
| 41882 |
theebayuser author:theebayuser |
feat(Data/List): decidability of HasPeriod and periods of repeated lists |
Hello, this PR extends `Mathlib/Data/List/PeriodicityLemma.lean` with:
* a `Decidable (List.HasPeriod w p)` instance (it is a prefix test), and
* two directions that relate periods to repetition:
* `hasPeriod_flatten_replicate` — `(replicate n l).flatten` has period `l.length`
* `eq_flatten_replicate_of_hasPeriod` — a word with period `p` and length `r * p` is the `r`-fold repetition of its length-`p` prefix.
This characterizes `r`-th powers of words by a period plus a length constraint, which a future follow-up PR that I plan to work on will use.
AI disclosure: This code was mostly generated by Claude Fable 5 and Opus 4.8 as part of my larger project on combinatorics on words, which I then reviewed and revised to contribute to mathlib.
|
t-data
LLM-generated
new-contributor
|
56/1 |
Mathlib/Data/List/PeriodicityLemma.lean |
1 |
8 |
['SnirBroshi', 'github-actions', 'theebayuser'] |
nobody |
10-49205 10 days ago |
10-49297 10 days ago |
94-38669 94 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 |
10-45181 10 days ago |
10-78984 10 days ago |
10-80601 10 days |
0 |
| 44199 |
emlis42 author:emlis42 |
feat(Order): add `EReal.coe_cs{Sup, Inf}` |
This PR adds `WithTop.leftOrdContinuous_coe`, and adds `WithBotTop` and `EReal` version and `EReal.coe_c{s, i}{Sup, Inf}` as consequences.
Discussed here: [Is there code for X? > Lemmas relating `Real.toEReal` and `sSup`/`sInf` of images](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Lemmas.20relating.20.60Real.2EtoEReal.60.20and.20.60sSup.60.2F.60sInf.60.20of.20images/with/626667637) |
t-order
large-import
|
98/0 |
Mathlib/Data/EReal/Operations.lean,Mathlib/Order/CompleteLatticeIntervals.lean,Mathlib/Order/OrdContinuous.lean,Mathlib/Order/WithBotTop.lean |
4 |
10 |
['SnirBroshi', 'emlis42', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
10-19247 10 days ago |
10-19247 10 days ago |
24-37797 24 days |
0 |
| 43896 |
joelriou author:joelriou |
feat(Category): external products of derivability structures |
The external product of two left/right derivability structures is again a derivability structure (when one assumes that the properties of morphisms which appear contain identities).
This observation of mine (in 2023) was my main motivation for the formalization of derivability structures, because it would allow to formalize not only derived functors in one variable (see #43267), but also derived functors in several variables (like the tensor product, see https://github.com/joelriou/mathlib4/blob/jriou_localization/Mathlib/CategoryTheory/Localization/DerivabilityStructure/Monoidal.lean).
---
- [x] depends on: #43895
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
tech debt
|
149/0 |
Mathlib.lean,Mathlib/CategoryTheory/Localization/DerivabilityStructure/Product.lean,Mathlib/CategoryTheory/Localization/Equivalence.lean,Mathlib/CategoryTheory/Localization/LocalizerMorphism.lean,Mathlib/CategoryTheory/Localization/Resolution.lean,Mathlib/CategoryTheory/Products/Basic.lean,docs/references.bib |
7 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
10-7234 10 days ago |
10-7284 10 days ago |
10-6961 10 days |
0 |
| 44647 |
JovanGerb author:JovanGerb |
chore(CategoryTheory/Limits/Preserves/Basic): use `to_dual` |
This PR uses `to_dual` for declarations about preserving limits and colimits.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
tech debt
t-category-theory
|
118/337 |
Mathlib/CategoryTheory/Functor/ReflectsIso/Basic.lean,Mathlib/CategoryTheory/Limits/Preserves/Basic.lean,Mathlib/CategoryTheory/NatTrans.lean |
3 |
2 |
['github-actions', 'joelriou'] |
nobody |
9-73017 9 days ago |
9-73347 9 days ago |
12-2828 12 days |
0 |
| 44255 |
mckoen author:mckoen |
feat(CategoryTheory/MorphismProperty): compatibility between morphism and object properties on arrow categories |
Given `W : MorphismProperty T`, defines `W.arrowObj : ObjectProperty (Arrow T)`. Similarly, given `W : ObjectProperty (Arrow T)`, defines `W.toMorphismProperty : MorphismProperty T`.
Shows that these define an order-isomorphism `MorphismProperty T ≃o ObjectProperty (Arrow T)`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-category-theory |
41/0 |
Mathlib/CategoryTheory/MorphismProperty/Comma.lean |
1 |
4 |
['github-actions', 'joelriou'] |
dagurtomas assignee:dagurtomas |
9-69426 9 days ago |
9-70064 9 days ago |
12-52989 12 days |
2 |
| 42145 |
mckoen author:mckoen |
feat(CategoryTheory/Monoidal/Rigid): the double right dual functor is monoidal |
Defines the double right dual functor on a right rigid category, sending `X ↦ Xᘁᘁ`. We show that this functor is monoidal, so that in future PRs (#42150) we can define pivotal categories (rigid categories with a *monoidal* natural isomorphism between the double right dual and the identity).
Currently adds some new API which applies only to right duals. I'm not sure this should be dualized to left duals, as this could bloat the already large Rigid/Basic 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-category-theory |
293/12 |
Mathlib/CategoryTheory/Monoidal/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Rigid/Basic.lean,Mathlib/CategoryTheory/Monoidal/Rigid/Braided.lean,Mathlib/CategoryTheory/Monoidal/Rigid/Functor.lean |
4 |
23 |
['github-actions', 'joelriou', 'kim-em', 'mckoen', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
9-69361 9 days ago |
9-69407 9 days ago |
37-11090 37 days |
3 |
| 41769 |
mckoen author:mckoen |
feat(CategoryTheory/Abelian/Subobject): correspondence theorem for subobjects in abelian categories |
Given a subobject `Y` of `X` in an abelian category, we construct an order-isomorphism between subobjects of the "quotient" `X/Y := cokernel (Y ↪ X)` and subobjects of `X` containing `Y`.
Following Popescu's "Abelian Categories with Applications to Rings and Modules", a morphism `f : X ⟶ Y` induces a functor `Subobject X ⥤ Subobject Y` by `X' ↦ kernel (cokernel.π (X'.arrow ≫ f))`, and a functor `Subobject Y ⥤ Subobject X` by `Y' ↦ kernel (f ≫ cokernel.π Y'.arrow)`. We show these are equivalent to the existing, generic `Subobject.exists` and `Subobject.pullback` functors, and use these to define the correspondence.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #42757
- [x] depends on: #42759
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
166/10 |
Mathlib/CategoryTheory/Abelian/ShortExact.lean,Mathlib/CategoryTheory/Abelian/Subobject.lean,docs/references.bib |
3 |
11 |
['github-actions', 'joelriou', 'justus-springer', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mckoen', 'tb65536'] |
robin-carlier assignee:robin-carlier |
9-67358 9 days ago |
9-67425 9 days ago |
41-3636 41 days |
1 |
| 43332 |
SnirBroshi author:SnirBroshi |
feat(SimpleGraph/Walk/Basic): walks with equal support have equal darts |
and similar statements:
- `p.darts = q.darts ↔ p.support = q.support` (equal)
- `p.darts <:+: q.darts ↔ p.support <:+: q.support` (infix)
- `p.darts <+: q.darts ↔ p.support <+: q.support` (prefix)
- `p.darts <:+ q.darts ↔ p.support <:+ q.support` (suffix)
---
I hope the review process can help golf these or find better proofs.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
71/23 |
Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Subwalks.lean |
3 |
16 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vlad902'] |
nobody |
9-65448 9 days ago |
9-65518 9 days ago |
47-60446 47 days |
0 |
| 31884 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): definition of Gorenstein local ring |
In this PR, we gave basic definition of Gorenstein local ring and Gorestein ring and prove that they are stable under ring equiv.
---
<!-- 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: #41885
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
82/0 |
Mathlib.lean,Mathlib/RingTheory/Gorenstein/Defs.lean |
2 |
12 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
mariainesdff assignee:mariainesdff |
9-64861 9 days ago |
15-15388 15 days ago |
89-44130 89 days |
7 |
| 36327 |
themathqueen author:themathqueen |
feat(Analysis/CStarAlgebra/Extreme): a C⋆-algebra is unital iff there exists an extreme point in the closed unit ball |
In a nonunital C⋆-algebra, the extreme points of the closed unit ball is nonempty iff the C⋆-algebra is unital. Our main reference for this is Sakai's "C⋆-algebras and W⋆-algebras" 1.6.1. The proof however is a _franken-proof_ from both Sakai and Pederson's "C⋆-algebras and their automorphism groups".
Co-authored-by: Jon Bannon <59937998+JonBannon@users.noreply.github.com>
Co-authored-by: Jireh Loreaux <loreaujy@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]
-->
- [x] depends on: #35997
- [x] depends on: #36201
- [x] depends on: #36407
- [x] depends on: #36408
- [x] depends on: #36416
- [x] depends on: #36603
- [x] depends on: #41923
- [x] depends on: #42309
- [x] depends on: #42310
[](https://gitpod.io/from-referrer/)
|
t-analysis |
232/2 |
Mathlib/Analysis/CStarAlgebra/Extreme.lean |
1 |
46 |
['ADedecker', 'eric-wieser', 'github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'themathqueen'] |
ADedecker assignee:ADedecker |
9-64860 9 days ago |
20-6800 20 days ago |
65-72677 65 days |
0 |
| 40975 |
bwangpj author:bwangpj |
feat(LinearAlgebra): complex structures on real vector spaces |
Define complex structures,i .e. an `ℝ`-linear endomorphism `J` of a real vector space `V` with `J * J = -1`. |
t-algebra label:t-algebra$ |
93/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Complex/Structure.lean |
2 |
5 |
['bwangpj', 'github-actions', 'grunweg', 'themathqueen', 'wwylele'] |
kim-em assignee:kim-em |
9-64857 9 days ago |
118-73079 118 days ago |
118-72756 118 days |
0 |
| 41781 |
teng10 author:teng10 |
feat(Algebra/Representation): add abstract permutation action in TensorPower |
Hello, I'm a new contributor. I had an introduction here on [zulip](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Introduction.3A.20Schur.20Weyl.20Duality/with/607194314)
This PR is a first step in formalizing Shur Weyl duality, which I got feedback that it would be useful to mathlib. The final statement I had in mind has the form
/--
The centralizer of `{g^{⊗k} | g ∈ End(V)}`equals `Span{W_σ | σ ∈ S_k}`, for all dimensions `d` and tensor powers `k`.
---/
This PR tries to define permutation action on TensorPower; define permutation image space.
An initial version of the definition is more specific to the Euclidean space (for reference I list them below)
```
open scoped TensorProduct
variable {d : ℕ} {k : ℕ}
/-- The `k`-fold tensor power of `ℂ^d`, defined as `⨂[ℂ] (i : Fin k), (Fin d → ℂ)`. -/
abbrev PiTensorPower (d k : ℕ) : Type :=
PiTensorProduct ℂ (fun (_ : Fin k) => (Fin d → ℂ))
/-- The permutation operator `W_σ` on the tensor power `V^{⊗k}`.
Given `σ : Equiv.Perm (Fin k)`, this acts by permuting the tensor factors:
`W_σ (v₁ ⊗ ⋯ ⊗ vₖ) = v_{σ⁻¹(1)} ⊗ ⋯ ⊗ v_{σ⁻¹(k)}`. -/
def permAction (d : ℕ) {k : ℕ} (σ : Equiv.Perm (Fin k)) :
PiTensorPower d k ≃ₗ[ℂ] TensV d k :=
PiTensorProduct.reindex ℂ (fun (_ : Fin k) => (Fin d → ℂ)) σ
/-- The set of permutation operators in `End(V^{⊗k})`. -/
def permImage (d k : ℕ) : Set (Module.End ℂ (TensV d k)) :=
Set.range (fun σ : Equiv.Perm (Fin k) => (permAction d σ).toLinearMap)
```
LLM acknowledgement: I have used aristotle to write these definitions. However, I am very motivated to learn how to write proper code. I have looked more into `PiTensorProduct` and `TensorPower` module and came to the abstract version in the PR. I tried to ask aristotle about how it's defining things and whether it's suitable for mathlib.
And I would very much appreciate your thoughts on how appropriate these definitions are. Thanks for your time!
Yanting
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
will-close-soon
label:t-algebra$ |
22/0 |
Mathlib/LinearAlgebra/TensorPower/Basic.lean |
1 |
5 |
['github-actions', 'joelriou', 'teng10'] |
kim-em assignee:kim-em |
9-64856 9 days ago |
97-9608 97 days ago |
97-9285 97 days |
0 |
| 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 |
9-64850 9 days ago |
25-46962 25 days ago |
32-74379 32 days |
1 |
| 42667 |
gasparattila author:gasparattila |
chore: make `Set.inclusion` semireducible |
It is currently an abbrev, which confuses `fun_prop` due to dependent types in lemmas like `Topology.IsEmbedding.inclusion`. After this change, `fun_prop` will be able to prove goals like `IsEmbedding f → IsEmbedding (Set.inclusion h ∘ 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-data |
18/15 |
Mathlib/Algebra/Algebra/Subalgebra/Directed.lean,Mathlib/Combinatorics/Compactness.lean,Mathlib/Data/Set/Inclusion.lean,Mathlib/Data/Set/UnionLift.lean,Mathlib/Logic/Equiv/Set.lean,Mathlib/ModelTheory/Fraisse.lean,Mathlib/ModelTheory/PartialEquiv.lean,Mathlib/ModelTheory/Substructures.lean,Mathlib/Order/CountableDenseLinearOrder.lean,Mathlib/Topology/Category/TopCat/Opens.lean,Mathlib/Topology/Covering/Basic.lean,Mathlib/Topology/UniformSpace/UniformEmbedding.lean |
12 |
4 |
['gasparattila', 'github-actions', 'plp127'] |
nobody |
9-63956 9 days ago |
46-79085 46 days ago |
47-10458 47 days |
0 |
| 43804 |
JovanGerb author:JovanGerb |
feat(Algebra/Homology/ShortComplex/Basic): use `to_dual` |
Use `to_dual` for `ShortComplex`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [x] depends on: #43750
[](https://gitpod.io/from-referrer/)
|
tech debt
t-algebra
label:t-algebra$ |
45/37 |
Mathlib/Algebra/Homology/ShortComplex/Basic.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Zero.lean |
2 |
6 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
9-57115 9 days ago |
9-57172 9 days ago |
9-56849 9 days |
1 |
| 43570 |
kim-em author:kim-em |
refactor(AlgebraicGeometry/Modules): transport pushforward along Opens.map functoriality isos |
This PR defines `Scheme.Modules.pushforwardId` and `pushforwardComp` by transporting the sheaf-of-modules isomorphisms along the existing `Opens.mapId` and `Opens.mapComp` (via `SheafOfModules.pushforwardCongr₂`) rather than by identifying `Opens.map (𝟙 X).base` with `𝟭` and `Opens.map (f ≫ g).base` with `Opens.map g.base ⋙ Opens.map f.base` by unfolding `Opens.map`. The componentwise simp lemmas become `M.presheaf.map_id` rather than `rfl`, and the pseudofunctor coherence fields are discharged explicitly since `cat_disch` no longer finds them by reflexivity. Also adds the simp lemma `Adj.eqToHom_τl`.
It is extracted from Paul Reichert's experiment making `Functor.comp` and `Functor.id` `instance_reducible` (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), and depends on https://github.com/leanprover-community/mathlib4/pull/43569. The diff relative to that PR is https://github.com/kim-em/mathlib4/compare/associators-sheaves...opens-map.
🤖 Prepared with Claude Code |
tech debt |
516/139 |
Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pullback.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pushforward.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackContinuous.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PushforwardContinuous.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean,Mathlib/AlgebraicGeometry/Modules/Sheaf.lean,Mathlib/CategoryTheory/Adjunction/CompositionIso.lean,Mathlib/CategoryTheory/Bicategory/Adjunction/Adj.lean,Mathlib/Topology/Sheaves/Module.lean |
10 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
9-55285 9 days ago |
22-58913 22 days ago |
40-76386 40 days |
0 |
| 43565 |
Parcly-Taxel author:Parcly-Taxel |
refactor(Archive/FriendshipGraphs): golf everything |
Also remove the file's `set_option`s and `@[expose]`. Like #43434, no deprecations are added since this is a leaf file in Archive. |
tech debt |
103/293 |
Archive/Wiedijk100Theorems/FriendshipGraphs.lean |
1 |
8 |
['Parcly-Taxel', 'SnirBroshi', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
9-55214 9 days ago |
10-59015 10 days ago |
42-51810 42 days |
0 |
| 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 |
9-49137 9 days ago |
9-49245 9 days ago |
9-48922 9 days |
0 |
| 44743 |
vihdzp author:vihdzp |
refactor(Wiedijk100Theorems/AreaOfACircle): deprecate file |
The area formula for circles exists within Mathlib already, and in fact we also have formulas for the volume of an n-sphere. So we deprecate the file on the archive, in favor for the Mathlib 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]
-->
Not sure if this is the right thing to do. Maybe we could change the link on 100.yaml, but still keep the archive file as an alternate proof of a similar result?
|
t-measure-probability |
16/5 |
Archive/Wiedijk100Theorems/AreaOfACircle.lean,Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean,docs/100.yaml |
3 |
1 |
['github-actions'] |
nobody |
9-49090 9 days ago |
9-49139 9 days ago |
9-48816 9 days |
0 |
| 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
label:t-algebra$ |
486/295 |
Archive/Imo/Imo2025Q3.lean,Mathlib/Data/Nat/Factorization/Basic.lean,Mathlib/Data/Nat/Factorization/Defs.lean,Mathlib/Data/Nat/PadicValNat.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 |
15 |
12 |
['Multramate', 'b-mehta', 'github-actions', 'mathlib-merge-conflicts', 'tb65536'] |
nobody |
9-35412 9 days ago |
9-35471 9 days ago |
37-6968 37 days |
0 |
| 44161 |
tb65536 author:tb65536 |
refactor(Analysis/Normed/Unbundled/SeminormFromConst): deprecate `seminormFromConst'` |
Currently `seminormFromConst'` is a plain function, and `seminormFromConst` is the same function as ring seminorm under additional assumptions. But it turns out that these additional assumptions are not necessary.
This PR removes these additional assumptions and deprecates `seminormFromConst'`.
This required tinkering with the API slightly, so I also took the liberty of cleaning up some of these pre-`grw` proofs.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
128/142 |
Mathlib/Analysis/Normed/Unbundled/IsPowMulUnique.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromConst.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
9-35098 9 days ago |
9-35156 9 days ago |
25-48257 25 days |
1 |
| 44668 |
justus-springer author:justus-springer |
chore(*): fix citation links split across lines |
CommonMark (the Markdown standard that's used in doc-gen) does not allow line breaks between link text and link label (this behavior is documented [here](https://spec.commonmark.org/0.31.2/#example-543)). That means these citations don't get rendered correctly. The fix is to add line break before the end of the link label.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
26/28 |
Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/Jordan/Basic.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/Analysis/InnerProductSpace/Dual.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/CategoryTheory/Enriched/Basic.lean,Mathlib/Geometry/Manifold/Submersion.lean,Mathlib/GroupTheory/Subsemigroup/Center.lean,Mathlib/ModelTheory/Basic.lean,Mathlib/NumberTheory/Pell.lean,Mathlib/RingTheory/Polynomial/Chebyshev.lean,Mathlib/RingTheory/ZMod/UnitsCyclic.lean,Mathlib/Topology/MetricSpace/Snowflaking.lean |
13 |
7 |
['Multramate', 'github-actions', 'justus-springer'] |
nobody |
9-26105 9 days ago |
9-26162 9 days ago |
9-58367 9 days |
0 |
| 42844 |
plp127 author:plp127 |
refactor(Logic/Hydra): cleanup file |
Change the definition of `CutExpand` to be more correct. Rename some theorems and add some theorems.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-logic |
101/50 |
Mathlib/Logic/Hydra.lean |
1 |
8 |
['github-actions', 'mathlib-merge-conflicts', 'plp127', 'vihdzp'] |
nobody |
9-20857 9 days ago |
9-20995 9 days ago |
62-66278 62 days |
0 |
| 44610 |
plp127 author:plp127 |
chore: dualize `HeytingAlgebra` more |
Use `to_dual_for` to connect `GeneralizedHeytingAlgebra.mk` and `GeneralizedHeytingAlgebra.le_himp_iff` with their duals. Also dualize some `BiheytingAlgebra` declarations.
---
- [x] depends on: #44608
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-order |
37/84 |
Mathlib/Order/Heyting/Basic.lean |
1 |
3 |
['github-actions', 'mathlib-dependent-issues', 'plp127'] |
nobody |
9-20216 9 days ago |
9-20368 9 days ago |
9-27212 9 days |
2 |
| 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 |
9-19622 9 days ago |
9-19678 9 days ago |
9-19355 9 days |
0 |
| 44674 |
justus-springer author:justus-springer |
doc(*): fix citation key typos |
Fixes malformed citation keys so they point to the correct reference. I believe all of these are just typos, with possibly one exceptions: `diestel2017` may be pointing to the older edition of the book (we only have the 2025 edition in references.bib). I checked the new edition, and Section 1.9 still covers bonds, so this is still a valid comment.
- [x] depends on: #44758
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
LLM-generated |
53/51 |
Mathlib/Algebra/Homology/HomotopyCategory/KInjective.lean,Mathlib/Algebra/Homology/HomotopyCategory/KProjective.lean,Mathlib/Algebra/Homology/LocalCohomology.lean,Mathlib/AlgebraicGeometry/Noetherian.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/AlgebraicTopology/SimplicialCategory/Basic.lean,Mathlib/Analysis/SpecialFunctions/Bernstein.lean,Mathlib/CategoryTheory/Bicategory/Grothendieck.lean,Mathlib/CategoryTheory/FiberedCategory/Grothendieck.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/PullbackObjObj.lean,Mathlib/Combinatorics/Graph/Connected/EdgeCut.lean,Mathlib/Computability/TuringDegree.lean,Mathlib/GroupTheory/Focal.lean,Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Basic.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/NNReal.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean,Mathlib/MeasureTheory/Measure/PreVariation.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Basic.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Defs.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Galois.lean,Mathlib/Order/PrimeSeparator.lean,Mathlib/Probability/Kernel/Deterministic.lean,Mathlib/RingTheory/DividedPowers/RatAlgebra.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean,Mathlib/RingTheory/LittleWedderburn.lean,Mathlib/Topology/UniformSpace/Ultra/Basic.lean,docs/references.bib |
31 |
13 |
['Multramate', 'github-actions', 'grunweg', 'justus-springer', 'mathlib-dependent-issues'] |
nobody |
9-7373 9 days ago |
9-7376 9 days ago |
9-18165 9 days |
0 |
| 44774 |
xroblot author:xroblot |
feat(Algebra/QuadraticAlgebra): integral elements of quadratic algebras |
We characterize the elements of a quadratic algebra `QuadraticAlgebra K a b` that are integral over a subring `R` of `K` in which `R` is integrally closed: they are exactly the elements whose trace and norm lie in `R` (`QuadraticAlgebra.isIntegral_iff`).
Along the way, we add conjugation as an algebra automorphism, `QuadraticAlgebra.starAlgEquiv`.
Prepared with Claude Code 🤖
|
t-algebra label:t-algebra$ |
105/0 |
Mathlib.lean,Mathlib/Algebra/QuadraticAlgebra/Basic.lean,Mathlib/Algebra/QuadraticAlgebra/Integral.lean |
3 |
1 |
['github-actions'] |
nobody |
9-7171 9 days ago |
9-7320 9 days ago |
9-7492 9 days |
5 |
| 43612 |
YaelDillies author:YaelDillies |
feat(Geometry/Convex): `positivity` extension for `StdSimplex.weights` |
Also add some Qq helper to Qq-match a type with `Finsupp`.
From the Polyhedra in Berlin workshop where people would have found it useful for `positivity` to close some goals.
Generated by Claude Opus in a few prompts worth of review.
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
t-meta
|
124/6 |
Mathlib/Data/Finsupp/Defs.lean,Mathlib/Geometry/Convex/ConvexSpace/Defs.lean,Mathlib/Util/Qq.lean,MathlibTest/Tactic/Positivity.lean |
4 |
28 |
['Vierkantor', 'YaelDillies', 'eric-wieser', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
grunweg assignee:grunweg |
9-1046 9 days ago |
9-1101 9 days ago |
33-72829 33 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
|
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 |
11 |
['YaelDillies', 'b-mehta', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
9-225 9 days ago |
9-282 8 days ago |
44-44510 44 days |
2 |
| 44448 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat(Data/Nat/Choose/Bounds): an upper-bound for functions with Ramse… |
…y numer-like upper-bounds
I am a little unsure about the naming and the location, but it seems like it would be useful for anything to do with Ramsey numbers or Erdos-Szekeres numbers, except it applies to any function satisfying that kind of recursive upper-bound.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-data |
14/0 |
Mathlib/Data/Nat/Choose/Bounds.lean |
1 |
6 |
['SnirBroshi', 'github-actions', 'thefundamentaltheor3m'] |
nobody |
8-74558 8 days ago |
8-74614 8 days ago |
17-47737 17 days |
0 |
| 41540 |
plp127 author:plp127 |
chore: rename arguments of `Nat.strong_induction_on` |
Name the motive `motive` and name the minor premises according to the case. Also rename for `Fin.strong_induction_on`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
|
67/71 |
Archive/Imo/Imo1981Q3.lean,Archive/Imo/Imo2024Q3.lean,Mathlib/Algebra/ContinuedFractions/Euler.lean,Mathlib/Algebra/Lie/LieTheorem.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/RuleOfSigns.lean,Mathlib/Algebra/Polynomial/Sequence.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Combinatorics/Enumerative/Bell.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Computability/Language.lean,Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Fintype/Basic.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Data/Nat/Choose/Central.lean,Mathlib/Data/Nat/Digits/Lemmas.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Data/Nat/Nth.lean,Mathlib/FieldTheory/IsRealClosed/Basic.lean,Mathlib/FieldTheory/Separable.lean,Mathlib/GroupTheory/GroupAction/Jordan.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/LinearAlgebra/Eigenspace/Triangularizable.lean,Mathlib/LinearAlgebra/Finsupp/Pi.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Defs.lean,Mathlib/NumberTheory/Bernoulli.lean,Mathlib/NumberTheory/BernoulliPolynomials.lean,Mathlib/NumberTheory/DiophantineApproximation/Basic.lean,Mathlib/NumberTheory/ModularForms/LevelOne/DimensionFormula.lean,Mathlib/NumberTheory/Pell.lean,Mathlib/NumberTheory/Primorial.lean,Mathlib/Order/Fin/Basic.lean,Mathlib/Order/KrullDimension.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Etale/QuasiFinite.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/Ideal/Quotient/Nilpotent.lean,Mathlib/RingTheory/IntegralClosure/IsIntegral/AlmostIntegral.lean,Mathlib/RingTheory/LittleWedderburn.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Eval.lean,Mathlib/RingTheory/Polynomial/IsIntegral.lean,Mathlib/RingTheory/Polynomial/Nilpotent.lean,Mathlib/RingTheory/Polynomial/Resultant/Basic.lean,Mathlib/RingTheory/WittVector/Defs.lean,Mathlib/RingTheory/WittVector/Frobenius.lean,Mathlib/RingTheory/WittVector/StructurePolynomial.lean,Mathlib/RingTheory/ZariskisMainTheorem.lean,Mathlib/SetTheory/Cardinal/NatCard.lean,Mathlib/Topology/Metrizable/Uniformity.lean |
54 |
4 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
8-71006 8 days ago |
8-71064 8 days ago |
69-36917 69 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 |
8-69984 8 days ago |
8-70034 8 days ago |
8-71037 8 days |
0 |
| 43885 |
plp127 author:plp127 |
refactor: reduce defeq abuse in `Representation.asModule` |
Reduce defeq abuse around `Representation.asModule` by adding explicitly uses of `Representation.asModuleEquiv` to convert between `V` and `ρ.asModule`. Also reorganize some `@[simp]` lemmas and fix some naming issues.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
tech debt
label:t-algebra$ |
70/89 |
Mathlib/RepresentationTheory/Basic.lean,Mathlib/RepresentationTheory/Intertwining.lean,Mathlib/RepresentationTheory/Rep/Iso.lean,Mathlib/RepresentationTheory/Submodule.lean,Mathlib/RepresentationTheory/Subrepresentation.lean |
5 |
21 |
['JX-Mo', 'github-actions', 'plp127'] |
nobody |
8-65398 8 days ago |
9-19288 9 days ago |
33-78934 33 days |
0 |
| 38472 |
Raph-DG author:Raph-DG |
feat(AlgebraicGeometry): The Weil divisor associated to an element of the function field on a locally Noetherian integral scheme |
In this PR we define and provide some basic API for principal Weil divisors, i.e. the Weil divisor associated to an element of the function field of a locally noetherian, integral scheme.
- [x] depends on: #29774
- [x] depends on: #37985
- [x] depends on: #37901
- [x] depends on: #38002
- [x] depends on: #41317
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
209/2 |
Mathlib.lean,Mathlib/AlgebraicGeometry/AlgebraicCycle/Basic.lean,Mathlib/AlgebraicGeometry/AlgebraicCycle/Principal.lean,Mathlib/AlgebraicGeometry/Noetherian.lean,Mathlib/AlgebraicGeometry/OrderOfVanishing.lean,Mathlib/AlgebraicGeometry/Restrict.lean,Mathlib/Topology/LocallyFinsupp.lean |
7 |
13 |
['Brian-Nugent', 'Raph-DG', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
joelriou assignee:joelriou |
8-64861 8 days ago |
22-29976 22 days ago |
44-29262 44 days |
1 |
| 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 |
8-64859 8 days ago |
15-18942 15 days ago |
84-57621 84 days |
0 |
| 43815 |
SnirBroshi author:SnirBroshi |
feat(Data/Sym/Sym2): `Sym2.map` lifts equivalences |
`Sym2.map : (α → β) → (Sym2 α → Sym2 β)` preserves injectivity / surjectivity / bijectivity, and can lift `α ≃ β` to `Sym2 α ≃ Sym2 β`.
---
Is this what people might call "functoriality of `Sym2.map`"? Or maybe of `Sym2`? Or does `Sym2.map` itself already demonstrates that `Sym2` is functorial? Not sure
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
45/3 |
Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Data/Sym/Sym2.lean |
2 |
1 |
['github-actions'] |
TwoFX assignee:TwoFX |
8-64856 8 days ago |
35-62434 35 days ago |
35-62111 35 days |
1 |
| 43818 |
JovanGerb author:JovanGerb |
chore: clean up some `to_dual` debt |
This PR cleans up a bunch of uses of `to_dual existing`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [x] depends on: #43750
[](https://gitpod.io/from-referrer/)
|
tech debt |
43/186 |
Mathlib/CategoryTheory/Iso.lean,Mathlib/CategoryTheory/Limits/HasLimits.lean,Mathlib/CategoryTheory/Limits/IsLimit.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Basic.lean,Mathlib/Order/GaloisConnection/Basic.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/Interval/Set/Disjoint.lean,Mathlib/Order/OrdContinuous.lean,Mathlib/Order/RelClasses.lean,Mathlib/Order/SuccPred/Archimedean.lean,Mathlib/Order/UpperLower/Basic.lean,Mathlib/Order/WithBot.lean,Mathlib/Topology/Order/Basic.lean,Mathlib/Topology/Order/Bornology.lean,Mathlib/Topology/Order/OrderClosed.lean |
15 |
4 |
['JovanGerb', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
8-64397 8 days ago |
8-64446 8 days ago |
15-32129 15 days |
0 |
| 44786 |
ZRTMRH author:ZRTMRH |
feat(Lean/Quote): restore `Quote` instances for `Int` and `Rat` |
Add `Quote Int` and `Quote Rat` instances, analogous to core's `Quote Nat`.
They turn a number into numeral syntax without a type ascription (e.g. `quote (-7 / 2 : ℚ)` is `-7 / 2`), so the result elaborates at the expected type. These could later be upstreamed to Lean core.
These instances were added in #942 as part of `polyrith`, fixed in #24470, and removed together with the implementation of `polyrith` in #29547. This PR restores them unchanged (apart from naming) in their own file. Tests provided.
Motivated from the project of `maximize` / `minimize` tactics (PR to follow) which print a computed rational bound in a "Try this" suggestion such as `have : 4 * x + y ≤ 7 / 2 := by linarith`. Discussed on Zulip: [maximize / minimize tactic for linear optimization](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/maximize.20.2F.20minimize.20tactic.20for.20linear.20optimization).
The test file is refined with AI assistance (Claude) and has been reviewed by the author.
Co-authored-by: Mario Carneiro <di.gama@gmail.com>
Co-authored-by: Aaron Liu <aaronliu2008@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]
-->
|
t-meta
LLM-generated
new-contributor
|
164/0 |
Mathlib.lean,Mathlib/Lean/Quote.lean,MathlibTest/Quote.lean |
3 |
3 |
['ZRTMRH', 'github-actions'] |
nobody |
8-61114 8 days ago |
8-61174 8 days ago |
8-60851 8 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 |
8-57844 8 days ago |
8-57967 8 days ago |
18-64331 18 days |
0 |
| 44696 |
Hagb author:Hagb |
feat(Logic/Relation,Order/WellFounded): lemmas about `Acc`, `WellFounded`, and `Relation.Map` |
- `Acc (Relation.Map r f f) (f a)` and `WellFounded (Relation.Map r f f)` imply `Acc r a` and `WellFounded r` respectively;
- They are equivalent respectively if `f` is injective.
Suggested by @plp127 in https://github.com/leanprover-community/mathlib4/pull/39774#discussion_r3618397529
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-order |
17/0 |
Mathlib/Logic/Relation.lean,Mathlib/Order/WellFounded.lean |
2 |
19 |
['Hagb', 'SnirBroshi', 'github-actions', 'plp127'] |
nobody |
8-52613 8 days ago |
9-22921 9 days ago |
10-12229 10 days |
0 |
| 44712 |
plp127 author:plp127 |
chore: rename arguments to `Shrink.rec` |
Name the motive `motive` and name the minor premises according to their contents. While we're here, also unexpose `Shrink.rec`, which is the last exposed declaration in this file, so also remove the `@[expose]` from the `@[expose] public section` at the top of the file because none of the declarations are actually exposed.
Also add a 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]
-->
|
tech debt
t-logic
|
10/10 |
Mathlib/Logic/Small/Defs.lean,scripts/nolints.json |
2 |
2 |
['github-actions', 'vihdzp'] |
nobody |
8-46948 8 days ago |
9-18470 9 days ago |
9-67719 9 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 |
8-43443 8 days ago |
8-43567 8 days ago |
9-41246 9 days |
0 |
| 44734 |
mycaule author:mycaule |
feat(RingTheory/LocalProperties/Semilocal): semilocal rings have stable range one |
Add `IsCoprime.exists_isUnit_add_mul` to `Mathlib/RingTheory/LocalProperties/Semilocal.lean`: in a commutative ring `R` with finitely many maximal ideals (`[Finite (MaximalSpectrum R)]`), if `a` and `b` are coprime, then `a + t * b` is a unit for some `t ∈ R`. In other words, a semilocal ring has stable range one (Bass, *K-theory and stable algebra*, 1964). The proof applies the Chinese remainder theorem (`Ideal.exists_forall_sub_mem_ideal`) to the maximal ideals: `t ≡ 0` modulo those containing `b`, and `t ≡ b⁻¹ (1 - a)` modulo the others. `docs/references.bib` gains Bass (1964).
Questions for reviewers: whether this belongs in `LocalProperties/Semilocal.lean` (which is about local properties) or next to the Chinese remainder theorem in `RingTheory/Ideal/Quotient/Operations.lean`; whether a `StableRange` definition would be wanted, with this as its first instance.
AI disclosure: the Lean proof was written by an AI model (Claude, Anthropic) under my direction. I have read and checked it and will handle the review. It builds against current master.
|
t-ring-theory
new-contributor
LLM-generated
|
42/0 |
Mathlib/RingTheory/LocalProperties/Semilocal.lean,docs/references.bib |
2 |
5 |
['github-actions', 'mycaule', 'vlad902'] |
nobody |
8-23721 8 days ago |
8-43277 8 days ago |
9-43951 9 days |
0 |
| 44741 |
mortarsanjaya author:mortarsanjaya |
feat: weaken even more assumptions on theorems about `FloorRing` |
This PR is mostly about weakening the assumptions of type `IsOrderedRing` or `IsStrictOrderedRing` to `IsOrderedAddMonoid` on theorems about `FloorSemiring` and `FloorRing`. However, none of these assumptions are completely removed.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
~~Unfortunately, the new proof of `floor_div_natCast`, done for the sake of reducing `IsStrictOrderedRing K` to `IsOrderedAddMonoid K`, is quite complicated and can definitely be refactored. If we use the old proof, `IsStrictOrderedRing K` can be reduced to `IsOrderedAddMonoid K` + `AddLeftStrictMono K`, but `AddLeftStrictMono K` cannot be removed. I will need help with this proof. If nothing else works, the lemma can also be reverted into the previous form with `IsOrderedAddMonoid K` + `AddLeftStrictMono K`.~~
~~The lemma `floor_div_natCast` affects `floor_div_eq_div`, `IsNNRat.natFloor`, and the `norm_num` extension `evalNatFloor`.~~
(The above has been resolved at the cost of one extra import.)
Other than this problem, should I give a documentation of when to use `IsOrderedAddMonoid`, `IsOrderedRing`, etc. or avoid them altogether in lemmas about `FloorRing`s? |
t-algebra label:t-algebra$ |
87/100 |
Mathlib/Algebra/Order/Floor/BigOperators.lean,Mathlib/Algebra/Order/Floor/Defs.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semifield.lean,Mathlib/Algebra/Order/Round.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Periodic.lean |
6 |
6 |
['chenson2018', 'github-actions', 'mortarsanjaya'] |
nobody |
8-23565 8 days ago |
8-45516 8 days ago |
8-45193 8 days |
0 |
| 43042 |
grunweg author:grunweg |
feat: `ContMDiff.clm_bundle_of_apply` and friends |
Future PRs will add versions of these allowing for the loss of derivatives:
let's start with these versions as the required modifications are straight-forward.
We add the analogous lemmas for differentiability also (and comment when this requires further work out of this PR's scope).
From the path towards smoothness of the Levi-Civita connection and Riemannian geometry.
Co-authored-by: Patrick Massot <patrickmassot@free.fr>
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
137/2 |
Mathlib/Geometry/Manifold/VectorBundle/Hom.lean |
1 |
4 |
['github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
nobody |
8-20974 8 days ago |
8-21036 8 days ago |
58-67595 58 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 |
7-74346 7 days ago |
7-74346 7 days ago |
7-81686 7 days |
0 |
| 42353 |
sankalpsthakur author:sankalpsthakur |
feat(RingTheory): add nilpotence lemmas for zero sums |
In a commutative semiring, adds:
- `sq_eq_sq_of_add_eq_zero`: if `x + y = 0` then `x^2 = y^2`
- `IsNilpotent.of_add_eq_zero_left`: if `x + y = 0` and `y` is nilpotent, so is `x`
- `isNilpotent_iff_of_add_eq_zero`: under `x + y = 0`, `x` is nilpotent iff `y` is
Motivated by #10539.
### Validation
Built locally: `lake build Mathlib.RingTheory.Nilpotent.Basic` — succeeds.
Closes #10539
### AI/LLM disclosure
AI coding tools were used to help draft this change and PR description. I reviewed the complete change, understand the reasoning, and verified the build locally before submitting. |
t-ring-theory
new-contributor
LLM-generated
|
49/0 |
Mathlib/RingTheory/Nilpotent/Basic.lean |
1 |
29 |
['github-actions', 'sankalpsthakur', 'tb65536'] |
nobody |
7-70760 7 days ago |
54-26496 54 days ago |
60-19373 60 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 |
7-64861 7 days ago |
22-85232 22 days ago |
130-24583 130 days |
0 |
| 44276 |
justus-springer author:justus-springer |
doc(AlgebraicGeometry/AffineTransitionLimit): improve stacks tags |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
5/4 |
Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean |
1 |
1 |
['github-actions'] |
riccardobrasca assignee:riccardobrasca |
7-64859 7 days ago |
22-30903 22 days ago |
22-30580 22 days |
0 |
| 39067 |
mbkybky author:mbkybky |
feat(Algebra/Module): define modules admitting finite free resolutions |
We say that an `R`-module `M` has a finite free resolution if there exists an exact sequence `0 ⟶ Eₙ ⟶ ⋯ ⟶ E₀ ⟶ M ⟶ 0` such that `Eᵢ` are finite free `R`-modules.
- [x] depends on: #41880
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
171/0 |
Mathlib.lean,Mathlib/Algebra/Module/FiniteFreeResolution/Basic.lean |
2 |
4 |
['github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
7-63958 7 days ago |
16-7019 16 days ago |
68-44936 68 days |
2 |
| 43013 |
grunweg author:grunweg |
feat: diffeomorphisms are smooth embeddings |
This is a direct corollary of a previous PR, so let's include it.
This PR assumes matching models with corners (as the general case is not obviously true).
Using the inverse function theorem instead allows any models, but requires Banach manifolds and conditions on boundary behaviour. This will be added in the future, once the relevant version of the inverse function theorem is merged 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-differential-geometry |
32/3 |
Mathlib/Geometry/Manifold/Immersion.lean,Mathlib/Geometry/Manifold/SmoothEmbedding.lean |
2 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
7-63957 7 days ago |
30-80508 30 days ago |
32-1599 32 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 |
7-63474 7 days ago |
7-63531 7 days ago |
7-63208 7 days |
0 |
| 44813 |
wwylele author:wwylele |
feat(MeasureTheory/Integral): layer cake formula for ENNReal-valued function |
The LHS is now applicable to all lintegral and it allows dealing with infinity uniformly.
---
This is working towards Prékopa–Leindler inequality
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
22/0 |
Mathlib/MeasureTheory/Integral/Layercake.lean |
1 |
4 |
['copilot-pull-request-reviewer', 'github-actions', 'wwylele'] |
nobody |
7-63242 7 days ago |
7-63301 7 days ago |
7-62978 7 days |
1 |
| 44147 |
eric-wieser author:eric-wieser |
feat(Data/List/Sort): lemmas about sublists and orderedInsert |
Add `List.orderedInsert_eq_cons_of_forall_rel`, and characterize when one `orderedInsert` is a sublist of another (`List.orderedInsert_sublist_orderedInsert_iff`, `List.orderedInsert_sublist_orderedInsert_iff_of_notMem`, `List.erase_sublist_iff_sublist_orderedInsert_of_notMem`), a permutation of another (`List.orderedInsert_perm_orderedInsert_iff`, `List.orderedInsert_perm_orderedInsert_iff_right`), or a sub-permutation of another (`List.orderedInsert_subperm_orderedInsert_iff`).
Also add `List.perm_cons_right_iff : a :: l ~ b :: l ↔ a = b`, the `cons` version of `List.perm_append_right_iff`.
These are split out from work on a basis for `CliffordAlgebra`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-data
LLM-generated
|
48/9 |
Mathlib/Data/List/Perm/Basic.lean,Mathlib/Data/List/Sort.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
7-47200 7 days ago |
10-50061 10 days ago |
14-84537 14 days |
0 |
| 42878 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Star): the nth star graph is contained in a graph iff max degree is at least `n` |
- `starGraph (r : W) ⊑ G ↔ Nat.card W ≤ G.maxDegree + 1`
- `starGraph v ⊑ starGraph w ↔ Nonempty (V ↪ W)`
- `starGraph v ⊴ starGraph w ↔ Nonempty (V ↪ W)`
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
86/1 |
Mathlib/Combinatorics/SimpleGraph/Star.lean |
1 |
7 |
['SnirBroshi', 'b-mehta', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
7-46333 7 days ago |
7-46403 7 days ago |
52-29582 52 days |
0 |
| 42665 |
SnirBroshi author:SnirBroshi |
chore(SimpleGraph/Coloring/Constructions): some golfs |
Also remove the `2 ≤ n` hypothesis from `cycleGraph.tricoloring`, and spell `two_colorable_iff_forall_loop_even` using `IsBipartite`.
---
- `cycleGraph.tricoloring`: 165ms to 110ms
- `chromaticNumber_cycleGraph_of_odd`: 25ms to 55ms
- `two_colorable_iff_forall_loop_even`: 50ms to 40ms
- `IsTree.coloringTwoOfVert`: 45ms to 75ms
- `IsAcyclic.coloringTwoOfVerts`: 50ms to 50ms
The issues in `tricoloring` kinda remind me of #41338; maybe there's a good lemma that'll help them both, not sure.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
38/65 |
Mathlib/Algebra/Ring/Parity.lean,Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/Constructions.lean |
3 |
8 |
['SnirBroshi', 'b-mehta', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
7-44438 7 days ago |
7-44494 7 days ago |
69-46764 69 days |
0 |
| 43965 |
YaelDillies author:YaelDillies |
feat(NumberTheory): `decide`, `#eval` and `norm_num` for Carmichael numbers |
Provide both an efficient decidability instance and a `norm_num` extension to decide whether a given literal is a Carmichael number.
This lets us prove that 561 is the smallest Carmichael number "in a computationally efficient manner". Deprecate the version of Korselt's criterion that was supposed to be used for this (but was less efficient than these new instance/extension).
Generated by Claude Opus in several rounds of review to optimise various parts of the algorithms and make sure that the decidability instance works for both `#eval` and `decide`. I haven't made much of an effort to clean the proofs (existing proofs internal to `norm_num` read like garbage to me anyway).
From FormalConjectures
Assisted-by: Claude Opus 5.1
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
t-meta
|
312/10 |
Mathlib/NumberTheory/CarmichaelNumber.lean,MathlibTest/NumberTheory/CarmichaelNumber.lean |
2 |
13 |
['Parcly-Taxel', 'SnirBroshi', 'YaelDillies', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'vihdzp', 'wwylele'] |
nobody |
7-44311 7 days ago |
7-44364 7 days ago |
27-45002 27 days |
1 |
| 44117 |
zblore author:zblore |
feat(Topology/Algebra): quotient topology on projective space and open quotient map |
This gives `ℙ K V` the quotient topology and shows `Projectivization.mk'` is an open quotient map when the units of `K` act continuously on `V`. It also adds the two instances the proof needs to `Topology/Algebra/MulAction.lean`. A `SubMulAction` inherits `ContinuousConstSMul`, and `Kˣ` acts continuously on the nonzero vectors.
This is the first step towards the Fubini-Study metric and measure on `ℂℙⁿ`. I discussed it on Zulip here https://leanprover.zulipchat.com/#narrow/id/617154981 and here https://leanprover.zulipchat.com/#narrow/id/625402419
I used Claude to draft the Lean against the existing Mathlib API. I've reworked and checked every line myself and can explain all of it.
---
|
t-topology
new-contributor
LLM-generated
|
116/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Projectivization/Basic.lean,Mathlib/Topology/Algebra/MulAction.lean,Mathlib/Topology/Algebra/Projectivization.lean |
4 |
7 |
['gasparattila', 'github-actions', 'zblore'] |
nobody |
7-38692 7 days ago |
7-39125 7 days ago |
27-24257 27 days |
0 |
| 43211 |
YaelDillies author:YaelDillies |
feat(Geometry/Convex): ordered convex spaces |
Define ordered convex spaces as those convex spaces for which taking convex combinations is monotone in its inputs. Since `sConvexComb : StdSimplex R X → X`, the best way to do so is to equip `StdSimplex R X` with the stochastic dominance order and requiring `sConvexComb` to be monotone under that order.
Also define two constructors to pull back a ConvexSpace instance under an injective map with convex range: a computable one further taking a section of the map as input, and a non-computable one. Redefine the `Subtype` instance and define the `OrderDual` instance using the computable one.
Generated by Claude Opus following my existing draft, then reviewed and partly rewritten by myself.
From the convexity refactor. Ordered convex spaces will be used to define convex/concave functions.
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
|
458/10 |
Mathlib.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Geometry/Convex/ConvexSpace/Defs.lean,Mathlib/Geometry/Convex/ConvexSpace/Order.lean,Mathlib/Geometry/Convex/Set.lean,Mathlib/Order/UpperLower/Basic.lean |
7 |
17 |
['YaelDillies', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
7-37177 7 days ago |
7-37232 7 days ago |
46-7870 46 days |
0 |
| 38964 |
smmercuri author:smmercuri |
chore(Algebra): consolidate variables and sections for `AlgHom`/`AlgEquiv` |
This is a preparatory PR for the refactor of `AlgHom` to be semilinear (see #38376). This PR does not add or remove any results and only moves things around to reduce the diff for the future refactor. Namely, we do the following:
- Re-order variables in `AlgHom` and `AlgEquiv` so that `CommSemiring R` directly follows `R`. This is needed in the semialgebra definition.
- Move `comp` and `trans` API later in respective files so that the extra variables needed for those lemmas can be sectioned better.
- Similarly move some `congr` results in `Equiv.lean` to their own sections.
- Align variable names in `Equiv.lean` to match `Hom.lean`
---
- [x] depends on: #38950
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
|
374/353 |
Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/Galois/Notation.lean,Mathlib/FieldTheory/Normal/Basic.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/RingTheory/AlgebraTower.lean,Mathlib/RingTheory/Polynomial/Quotient.lean,Mathlib/RingTheory/Smooth/IntegralClosure.lean,MathlibTest/GalNotation.lean |
11 |
21 |
['Multramate', 'SnirBroshi', 'github-actions', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'smmercuri'] |
nobody |
7-29431 7 days ago |
7-29667 7 days ago |
40-24191 40 days |
1 |
| 26215 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): Auslander–Buchsbaum theorem |
This PR mainly proved the Auslander-Buchsbaum theorem stating for a noetherian local ring `R` and a finitely generated `R` module `M` , `proj.dim(M) + depth(M) = depth(R)`.
Co-authored-by: Yongle Hu <mbkybky@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]
-->
- [ ] depends on: #26214
- [x] depends on: #32316
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
371/0 |
Mathlib.lean,Mathlib/RingTheory/Depth/AuslanderBuchsbaum.lean |
2 |
14 |
['Thmoas-Guan', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
7-27425 7 days ago |
7-27483 7 days ago |
16-71696 16 days |
8 |
| 26216 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): depth of QuotSMulTop |
In this PR, we proved for a local ring `R` and a finitely generated `R` module `M N`, `IsSMulRegular M x` and `x ∈ Module.annihilator R N`, then `depth(N, M/xM) + 1 = depth(N, M)`, and its corollary for quotient regular seqence.
---
<!-- 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: #26214
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
260/0 |
Mathlib/RingTheory/Depth/Basic.lean |
1 |
12 |
['Thmoas-Guan', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
7-27390 7 days ago |
7-27455 7 days ago |
16-71406 16 days |
16 |
| 26217 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): Ischebeck theorem |
This PR mainly proved the Ischbecke theorem, stating that `depth(N,M)` is greater or equal to `depth(M) - dim(N)` for finitely generated module `N, M` over local ring.
---
<!-- 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: #26214
- [x] depends on: #32081
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
208/0 |
Mathlib.lean,Mathlib/RingTheory/Depth/Ischebeck.lean |
2 |
14 |
['Thmoas-Guan', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
7-27306 7 days ago |
7-27358 7 days ago |
16-69998 16 days |
17 |
| 28683 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): regular local ring is domain |
In this PR, we proved for a regular local ring `R`,
1 : for a finite set `S` in the maximal Ideal of `R`, it can be extended to a regular system of parameters iff they are linear independent in the cotangent space iff `R/span S` is regular local ring of dimesion `dim R - |S|`
2 : is domain
3 : regular system of parameter form regular sequence.
---
<!-- 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: #40182
- [x] depends on: #40813
- [x] depends on: #40814
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
253/0 |
Mathlib.lean,Mathlib/RingTheory/RegularLocalRing/Basic.lean |
2 |
59 |
['Raph-DG', 'Thmoas-Guan', 'WenrongZou', 'erdOne', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'mbkybky'] |
nobody |
7-23676 7 days ago |
7-23737 7 days ago |
27-11610 27 days |
11 |
| 29558 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): definition of global dimension |
In this PR, we define global dimension supremum over `projectiveDimension`
---
<!-- 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: #32058
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
117/0 |
Mathlib.lean,Mathlib/RingTheory/GlobalDimension.lean |
2 |
23 |
['Thmoas-Guan', 'erdOne', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'vlad902'] |
nobody |
7-23228 7 days ago |
7-23396 7 days ago |
49-19904 49 days |
8 |
| 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
|
10/9 |
Mathlib/Probability/ProbabilityMassFunction/Monad.lean |
1 |
5 |
['FrankieNC', 'JovanGerb', 'github-actions'] |
JovanGerb assignee:JovanGerb |
7-22260 7 days ago |
7-80755 7 days ago |
63-29090 63 days |
0 |
| 43280 |
idontgetoutmuch author:idontgetoutmuch |
feat(Topology/VectorBundle): coordinate lemmas for the bundle of bilinear forms |
Two coordinate-level identities for the bundle of scalar-valued bilinear forms
`fun x ↦ E₁ x →L[𝕜] E₁ x →L[𝕜] 𝕜` over a vector bundle, added to
`Mathlib/Topology/VectorBundle/Hom.lean`:
- `inCoordinates_apply_eq₂_bilin`: specialisation of `inCoordinates_apply_eq₂` to
scalar-valued forms on a single bundle (`E₂ = E₁`, `E₃ = Bundle.Trivial B 𝕜`);
- `trivializationAt_symm_apply_bilin`: the inverse trivialization of the bilinear-forms
bundle, applied to fibre vectors, equals the model form on their images under
`continuousLinearMapAt`.
`Hom.lean` now imports `Mathlib.Topology.VectorBundle.Constructions`, which is needed
for the `Bundle.Trivial` instances used in these statements.
`inCoordinates_apply_eq₂_bilin` is used to simplify six proof steps in
`Mathlib/Topology/VectorBundle/Riemannian.lean`, which previously applied
`inCoordinates_apply_eq₂ h h (Set.mem_univ _)` and then simplified away the trivial-bundle
`linearMapAt` by hand. Two ad hoc `convert!` proofs there are replaced by the existing
`Trivialization.symm_linearMapAt`.
This is the first piece split out of #33714 (existence of a Riemannian metric on a
manifold), which will be rebased on top of this PR. |
t-topology
new-contributor
|
45/20 |
Mathlib/Topology/VectorBundle/Hom.lean,Mathlib/Topology/VectorBundle/Riemannian.lean |
2 |
21 |
['github-actions', 'grunweg', 'idontgetoutmuch'] |
grunweg assignee:grunweg |
7-13505 7 days ago |
27-10909 27 days ago |
49-24144 49 days |
0 |
| 44686 |
D-Thomine author:D-Thomine |
refactor(UniformIntegrable): change the definition of `UniformIntegrable` |
Change `UniformIntegrable` to a structure, and base the definition on a sup to avoid carrying an explicit bound.
PR extracted from https://github.com/leanprover-community/mathlib4/pull/42993, which I intend to cut in more manageable chunks.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
128/158 |
Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/Probability/Kernel/Disintegration/Density.lean,Mathlib/Probability/Martingale/BorelCantelli.lean,Mathlib/Probability/Martingale/Convergence.lean,Mathlib/Probability/Process/LimitProcess.lean |
6 |
1 |
['github-actions'] |
nobody |
7-12955 7 days ago |
10-71775 10 days ago |
10-71452 10 days |
0 |
| 44546 |
grunweg author:grunweg |
chore: use differential geometry elaborators for `ContinuousAlternatingMap`s more |
---
- [x] depends on: #44371
- [x] depends on: #44549
- [x] depends on: #44561
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-differential-geometry
t-meta
|
89/117 |
Mathlib/Geometry/Manifold/ContMDiff/NormedSpace.lean,Mathlib/Geometry/Manifold/MFDeriv/NormedSpace.lean |
2 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
7-9794 7 days ago |
7-9853 7 days ago |
7-9530 7 days |
0 |
| 44585 |
grunweg author:grunweg |
chore: simplify guessing of base field in custom elaboators |
Given a space of continuous linear (or alternating linear) maps, we can read off the base field directly: no need to recurse into the domain there.
---
- [x] depends on: #44561
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-differential-geometry |
8/11 |
Mathlib/Geometry/Manifold/Notation.lean |
1 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
7-9602 7 days ago |
7-9657 7 days ago |
7-13457 7 days |
0 |
| 40727 |
pepamontero author:pepamontero |
feat(Geometry/Manifold/Instances/Quotient): quotients of manifolds by smooth free properly discontinuous group actions are manifolds |
Add smooth manifold structure on orbit space `orbitRel.Quotient G M`.
This PR is a follow-up to #35653, which equipped `orbitRel.Quotient G M` with a `ChartedSpace` structure. Here we promote that to an `IsManifold I n` instance, assuming M itself is an `IsManifold I n` and `G` acts by
`ContMDiffConstSMul`.
This PR:
* Changes the charted space instance to use `IsLocalHomeomorph.chartedSpaceOfRightInverse` applied to `Quotient.out_eq`, so the charts come from an explicit local section `orbitRel.Quotient.localInverseAt x` of the quotient map at `x.out`.
* Adds some API on `localInverseAt` that is only relevant when we have an action (`localInverseAt_apply_mk_eq_smul`, `localInverseAt_symm_trans_eqOn_smul`, `exists_smul_mem_localInverseAt_target`)
* Defines the `transitionMap` between the charts of the quotient, and adds `transitionMap_locally_smul` which shows each transition map agrees near any point with `φ x⁻¹ ≫ (g • ·) ≫ φ y` for a single `g : G`.
* Uses the above to prove `isManifold_quotient_of_contMDiffSMul`.
This started as an ItaLean2025 project; here is the [Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/541885-ItaLean-2025/topic/Projects.3A.20Quotient.20Manifolds/with/575121158) dedicated to it.
Co-authored by: Enrique Díaz Blanco <qdiazblanco@gmail.com>
Co-authored by: Archie Browne <ajb421@ic.ac.uk>
--------
- [x] depends on: #41832
- [x] depends on: #41835
- [x] depends on: #42436
- [x] depends on: #42502
- [x] depends on: #41534
- [x] depends on: #43717
**Questions for reviewers**:
1. Should the acting group be `Γ` rather than `G`? Here `G` has no topology, and in other files `Γ` is used in this case.
2. Should `localInverseAt` be a `def` instead of an `abbrev`? It is an `abbrev` because there is already API for `IsLocalHomeomorph.localInverseAt` that I need.
3. Is changing the `ChartedSpace` instance to `Quotient.out` the right decision?
4. Should I write a definition for `(chartAt H x.out).symm ≫ₕ (g • ·) ≫ₕ chartAt H y.out` , similar to `transitionMap`?
|
new-contributor
large-import
t-differential-geometry
maintainer-merge
|
131/6 |
Mathlib/Geometry/Manifold/Instances/Quotient.lean |
1 |
87 |
['Deicyde', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'pepamontero', 'scholzhannah'] |
grunweg assignee:grunweg |
7-6401 7 days ago |
8-15723 8 days ago |
58-54914 58 days |
1 |
| 44840 |
grunweg author:grunweg |
chore: rename ContDiffAt.hasStrict(F)DerivAt to hasStrict(F)DerivAt_(… |
Currently, mathlib has both `ContDiffAt.hasStrict(F)DerivAt` and `ContDiffAt.hasStrict(F)DerivAt'`: avoid the primed names by
- renaming `ContDiffAt.hasStrict(F)DerivAt` to `ContDiffAt.hasStrict(F)DerivAt_(f)deriv` (which describes their statement more faithfully), and
- renaming `ContDiffAt.hasStrict(F)DerivAt'` to `ContDiffAt.hasStrict(F)DerivAt`
Because this is a cyclic rename, we can only generate deprecations for half of 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]
-->
|
t-analysis |
33/25 |
Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Analysis/Calculus/ImplicitContDiff.lean,Mathlib/Analysis/Calculus/InverseFunctionTheorem/ContDiff.lean,Mathlib/Analysis/SpecialFunctions/ExpDeriv.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean |
5 |
1 |
['github-actions'] |
nobody |
6-82976 6 days ago |
6-83029 6 days ago |
6-82706 6 days |
3 |
| 44843 |
mathlib-splicebot author:mathlib-splicebot |
feat: `isInvertible_fderivWithin_writtenInExtChartAt` |
If the `mfderiv` of `f` is injective (invertible), so is the fderivWithin of `f` written in extended charts. |
t-differential-geometry |
16/4 |
Mathlib/Geometry/Manifold/MFDeriv/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
6-79023 6 days ago |
6-80909 6 days ago |
6-80586 6 days |
2 |
| 42836 |
loefflerd author:loefflerd |
feat(NumberTheory/Padics): the Amice transform is a ring isomorphism |
Show that the Amice-transform isomorphism from measures on `ℤ_[p]` to `ℤ_[p]⟦X⟧` is an isomorphism of rings, when the measures are equipped with the ring structure defined by convolution.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
-->
- [x] depends on: #41961
- [x] depends on: #42832
[](https://gitpod.io/from-referrer/)
|
t-number-theory |
117/1 |
Mathlib/NumberTheory/Padics/Measure/AmiceTransform.lean,Mathlib/Topology/Constructions.lean |
2 |
7 |
['MichaelStollBayreuth', 'github-actions', 'loefflerd', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
6-76789 6 days ago |
6-76882 6 days ago |
24-63127 24 days |
0 |
| 42865 |
WilliamCoram author:WilliamCoram |
refactor: change definition of operator norm to depend only on modules over semirings |
We restructure the operator norm definition so that `opNorm` only takes in modules over semirings.
This is a reduction from `NontriviallyNormedField`; the goal of this is to allow us to have theories of operator norms in different settings (e.g. modules over Banach-Tate rings) without making duplicate statements.
AI disclosure: The need for the new operator norm definition appeared in a project I was using Claude to help autoformalise (see [Zulip](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/compact.20operators.20and.20Fredholm.20determinant/with/572850121)). However, this generalisation of the operator norm definition was hand-written to avoid Claude's duplication it created.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
92/56 |
Mathlib/Analysis/Calculus/ContDiff/Convolution.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Normed/Operator/Basic.lean,Mathlib/Geometry/Manifold/Riemannian/Basic.lean |
4 |
2 |
['WilliamCoram', 'github-actions'] |
nobody |
6-74175 6 days ago |
6-74223 6 days ago |
6-73900 6 days |
0 |
| 44845 |
DanielJHorton author:DanielJHorton |
feat(LinearAlgebra/PiTensorProduct/Projective): implement properties of tensor products of families of projective modules |
This PR adds a new file `LinearAlgebra/PiTensorProduct/Projective` which develops the properties of tensor products of families of projective modules. Results for binary tensor products from `LinearAlgebra/Contraction` are extended to `PiTensorProduct`, and the main result `dualDistribEquiv` of `LinearAlgebra/PiTensorProduct/Dual` is generalized from free modules over a ring to projective modules over a semiring.
The major results are:
- `PiTensorProduct.Projective` - An instance proving that the tensor product of a finite collection of projective modules is projective.
- `PiTensorProduct.piTensorHomEquiv` - A linear equivalence whose underlying linear map is `piTensorHomMap` from `LinearAlgebra/PiTensorProduct/Basic`.
- `PiTensorProduct.dualDistribEquivOfProjective` - A linear equivalence whose underlying map is `dualDistrib` from `LinearAlgebra/PiTensorProduct/Dual`. This generalizes `dualDistribEquiv`, replacing hypotheses `[CommRing R]` and `[Module.Free R (P i)]` with `[CommSemiring R]` and `[Module.Projective R (P i)]`.
This PR also adds a small definition `dualBaseRingEquiv (R : Type*) [CommSemiring R] : Dual R R ≃ₗ[R] R` to `LinearAlgebra/Dual/Defs` (as well as associated `@[simp]` lemmas) which were used in some of the proofs.
Disclamer: I am still a relatively new contributor here and this is my largest PR so far. I am grateful for the time of any reviewers who look at this PR and I am happy to answer any questions about implementation/design choices.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 label:t-algebra$ |
216/1 |
Mathlib.lean,Mathlib/LinearAlgebra/Dual/Defs.lean,Mathlib/LinearAlgebra/PiTensorProduct/Projective.lean |
3 |
1 |
['github-actions'] |
nobody |
6-71984 6 days ago |
6-72045 6 days ago |
6-73464 6 days |
0 |
| 43858 |
BoltonBailey author:BoltonBailey |
chore(Algebra/GroupWithZero/Units/Basic): rename three lemmas `'` -> `₀` |
This PR comes about as a result of using Claude to look for easy reductions to the docPrime linter. Claude turned up three lemmas about GroupWithZero named with primes which are analogous to unprimed lemmas about groups. This PR renames them to use the usual convention of naming such lemmas with an underscored zero.
- `div_left_inj'`
- `div_div_cancel_left'`
- `div_div_div_cancel_left'`
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
t-algebra
label:t-algebra$ |
28/25 |
Mathlib/Algebra/Field/ModEq.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Analysis/BoxIntegral/UnitPartition.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Metric.lean,Mathlib/Analysis/Normed/Algebra/QuaternionExponential.lean,Mathlib/Analysis/SpecialFunctions/Log/Base.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/Geometry/Euclidean/Angle/Bisector.lean,Mathlib/Geometry/Euclidean/Angle/Oriented/Affine.lean,Mathlib/NumberTheory/FLT/Basic.lean,Mathlib/NumberTheory/Height/NumberField.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaEven.lean,Mathlib/NumberTheory/LSeries/ZMod.lean,Mathlib/NumberTheory/PythagoreanTriples.lean,Mathlib/Probability/Distributions/Gaussian/CharFun.lean,Mathlib/Probability/Distributions/Gaussian/HasGaussianLaw/Independence.lean,Mathlib/RingTheory/Invariant/Basic.lean,Mathlib/Topology/Instances/AddCircle/Real.lean,scripts/nolints_prime_decls.txt |
19 |
4 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
6-69046 6 days ago |
6-69096 6 days ago |
29-4641 29 days |
0 |
| 43472 |
gasparattila author:gasparattila |
refactor: replace `SemilatticeSup.sup` with `max` |
This PR replaces the `sup` field of `SemilatticeSup` with `Max.max`. This will enable further refactors such as redefining `SemilatticeSup` using `Std.LawfulOrderSup` or making `LinearOrder` extend `Lattice`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #44002
[](https://gitpod.io/from-referrer/)
|
t-order |
161/194 |
Archive/MinimalSheffer.lean,Archive/Robbins.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Submodule.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Submodule.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/Algebra/Group/Submonoid/Basic.lean,Mathlib/Algebra/Group/Subsemigroup/Basic.lean,Mathlib/Algebra/Lie/Subalgebra.lean,Mathlib/Algebra/Module/Submodule/Lattice.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/Algebra/Order/Ring/Idempotent.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Tropical/Lattice.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/AlgebraicTopology/SimplicialComplex/Basic.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/Convex/SimplicialComplex/Basic.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Analysis/Normed/Module/MStructure.lean,Mathlib/Analysis/Normed/Module/Seminorm/Basic.lean,Mathlib/Basic/PEquiv.lean,Mathlib/Basic/Real/Basic.lean,Mathlib/CategoryTheory/Groupoid/Subgroupoid.lean,Mathlib/CategoryTheory/Limits/Preorder.lean,Mathlib/CategoryTheory/Sites/Coverage.lean,Mathlib/CategoryTheory/Sites/Grothendieck.lean,Mathlib/CategoryTheory/Sites/Pretopology.lean,Mathlib/CategoryTheory/Sites/Sieves/Basic.lean,Mathlib/CategoryTheory/Subfunctor/Basic.lean,Mathlib/CategoryTheory/Subfunctor/SubmonoidFunctor.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/Combinatorics/Graph/Lattice.lean,Mathlib/Computability/Reduce.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/Finset/Lattice/Basic.lean,Mathlib/Data/Multiset/UnionInter.lean,Mathlib/Data/Semiquot.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean,Mathlib/Geometry/Convex/Cone/Face/Lattice.lean,Mathlib/Geometry/Manifold/StructureGroupoid.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/MeasureTheory/Function/AEEqFun.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/ModelTheory/Substructures.lean,Mathlib/Order/BooleanSubalgebra.lean,Mathlib/Order/Booleanisation.lean,Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/Copy.lean,Mathlib/Order/Defs/Lattice.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/Order/FixedPoints.lean,Mathlib/Order/GaloisConnection/Basic.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Heyting/Regular.lean,Mathlib/Order/Hom/Order.lean,Mathlib/Order/Ideal.lean,Mathlib/Order/Interval/Basic.lean,Mathlib/Order/Lattice.lean,Mathlib/Order/Partition/Basic.lean,Mathlib/Order/Partition/Finpartition.lean,Mathlib/Order/Preorder/Finsupp.lean,Mathlib/Order/PropInstances.lean,Mathlib/Order/Setoid/Basic.lean,Mathlib/Order/Sublattice.lean,Mathlib/Order/Sum/Lattice.lean,Mathlib/Order/WithBot.lean,Mathlib/Probability/Process/Filtration.lean,Mathlib/RingTheory/Congruence/Basic.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Finiteness/Small.lean,Mathlib/RingTheory/NonUnitalSubring/Basic.lean,Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean,Mathlib/RingTheory/TwoSidedIdeal/Lattice.lean,Mathlib/RingTheory/UniqueFactorizationDomain/FactorSet.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/Topology/Algebra/Group/GroupTopology.lean,Mathlib/Topology/Algebra/Module/ClosedSubmodule.lean,Mathlib/Topology/Category/TopCat/OpenNhds.lean,Mathlib/Topology/LocallyFinsupp.lean,Mathlib/Topology/MetricSpace/BundledFun.lean,Mathlib/Topology/Sets/Compacts.lean,Mathlib/Topology/UniformSpace/Basic.lean,MathlibTest/DefEqAbuse.lean |
92 |
11 |
['JovanGerb', 'gasparattila', 'github-actions', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
6-65845 6 days ago |
6-65929 6 days ago |
15-71456 15 days |
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 |
6-64861 6 days ago |
99-71946 99 days ago |
103-68493 103 days |
0 |
| 41905 |
wwylele author:wwylele |
feat(FieldTheory): relrank lemma about sup |
The main lemma I want is `(A ⊔ C).relrank (B ⊔ C) ≤ A.relrank B`. Added some trivial lemma along the way.
---
AI usage disclosure: this was originally drafted by Aristotle, then cleaned up 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-algebra
LLM-generated
label:t-algebra$ |
91/0 |
Mathlib/FieldTheory/Relrank.lean |
1 |
11 |
['copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'sharky564'] |
ocfnash assignee:ocfnash |
6-64860 6 days ago |
10-35385 10 days ago |
93-72210 93 days |
0 |
| 41918 |
CoolRmal author:CoolRmal |
feat(Topology/Order): separability is hereditary for linearly ordered topological spaces |
In this PR we prove that
1. `isTopologicalBasis_isOpen_ordConnected`: in a linearly ordered topological space, every point of an open set `U` has an open `Set.OrdConnected` neighbourhood contained in `U`.
2. `countable_setOf_isolated_subtype`: in a separable linearly ordered topological space, the points of a subset `s` that are isolated in the subspace `s` form a countable set.
3. A subset of a separable linearly ordered topological space is separable in the subspace topology. This is proved as an instance.
The material was developed for showing the measurability of the pathwise variation of a continuous stochastic process in https://github.com/RemyDegenne/brownian-motion/pull/494. Created with the help of Claude Code, carefully reviewed and golfed by myself.
|
t-topology |
153/0 |
Mathlib.lean,Mathlib/Topology/Closure.lean,Mathlib/Topology/Order/Separable.lean |
3 |
2 |
['CoolRmal', 'felixpernegger', 'github-actions'] |
j-loreaux assignee:j-loreaux |
6-64859 6 days ago |
82-55564 82 days ago |
93-43290 93 days |
1 |
| 44029 |
seewoo5 author:seewoo5 |
feat(ModularForms): derivative of discriminant form |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
$\Delta' = E_2 \Delta$ and $\partial_{12} \Delta = 0$. From Sphere packing project, initially written by Claude.
(c.f. I thought that this would follow from Ramanujan formula and $\Delta = (E_4^3 - E_6^2)/1728$, until I (re-)realize that $E_2$ is defined as logarithmic derivative of Dedekind eta function and we have much shorter proof.)
[](https://gitpod.io/from-referrer/)
|
t-number-theory
LLM-generated
sphere-packing
|
25/2 |
Mathlib/NumberTheory/ModularForms/Discriminant.lean |
1 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
6-64858 6 days ago |
10-52765 10 days ago |
28-70520 28 days |
0 |
| 44061 |
teorth author:teorth |
feat(NumberTheory/Mertens): abstract theory of Mertens weights |
This is the first of a three-PR stack splitting the Mertens theorems
development (#41394) into pieces under 500 LoC each.
It introduces `Mathlib/NumberTheory/Mertens/Weight.lean`: the abstract theory
of *Mertens weights* — the `Mertens.Weight` structure and the basic estimates
attached to it (the `E₁`/`E₂` error bounds, `sum_sub_log_*`, `M_bounds`,
`sum_div_log_*`, …). No concrete weight is constructed here; this will be done in #44062.
---
The code was human-generated, but reviewed by AI.
- [x] depends on: #41120
- [x] depends on: #43471
[](https://gitpod.io/from-referrer/)
|
t-number-theory |
502/0 |
Mathlib.lean,Mathlib/NumberTheory/Mertens/Weight.lean |
2 |
10 |
['amellendijk', 'github-actions', 'loefflerd', 'mathlib-dependent-issues', 'xroblot'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
6-64857 6 days ago |
19-16387 19 days ago |
27-55316 27 days |
2 |
| 44278 |
justus-springer author:justus-springer |
doc(AlgebraicGeometry/Birational/*): improve stacks tags |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
10/1 |
Mathlib/AlgebraicGeometry/Birational/Birational.lean,Mathlib/AlgebraicGeometry/Birational/RationalMap.lean |
2 |
1 |
['github-actions'] |
joelriou assignee:joelriou |
6-64856 6 days ago |
21-31206 21 days ago |
22-29176 22 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 |
6-63950 6 days ago |
65-25320 65 days ago |
65-24997 65 days |
0 |
| 43324 |
plp127 author:plp127 |
feat: fine uniformity |
This PR continues the work from #24016.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24016
---
- [x] depends on: #43312 |
t-topology |
130/0 |
Mathlib.lean,Mathlib/Topology/UniformSpace/FineUniformity.lean |
2 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
6-60803 6 days ago |
6-60857 6 days ago |
6-61258 6 days |
0 |
| 44060 |
wwylele author:wwylele |
feat(Geometry/Euclidean): lemma about excenters and volumes |
This proves that volume = inradius * surface / 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]
-->
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry
maintainer-merge
|
112/0 |
Mathlib.lean,Mathlib/Geometry/Euclidean/Volume/Incenter.lean |
2 |
8 |
['SnirBroshi', 'copilot-pull-request-reviewer', 'github-actions', 'jsm28', 'wwylele'] |
nobody |
6-57009 6 days ago |
6-57064 6 days ago |
28-57087 28 days |
2 |
| 41220 |
wwylele author:wwylele |
feat(Geometry/Euclidean): two formula for area of a triangle |
This PR proves two basic formulas for triangle area: `s = 1/2 * h * b = 1/2 * a * b * sin C`
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 #37910
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry
maintainer-merge
|
108/0 |
Mathlib.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Projection.lean,Mathlib/Geometry/Euclidean/Triangle.lean,Mathlib/Geometry/Euclidean/Volume/Triangle.lean |
5 |
19 |
['SnirBroshi', 'copilot-pull-request-reviewer', 'github-actions', 'jsm28', 'mathlib-bors', 'mathlib-merge-conflicts', 'wwylele'] |
jsm28 assignee:jsm28 |
6-56771 6 days ago |
6-56836 6 days ago |
28-51032 28 days |
3 |
| 42802 |
Zeta-Wu author:Zeta-Wu |
feat(CategoryTheory): relate equivalences and skeletons |
This PR supersedes the previously closed PR #42789.
It adds several related characterizations of equivalences of categories, together with an API showing that an equivalence induces an isomorphism between the corresponding skeletons.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
|
66/8 |
Mathlib/CategoryTheory/EssentiallySmall.lean,Mathlib/CategoryTheory/Skeletal.lean |
2 |
36 |
['Zeta-Wu', 'github-actions', 'joelriou', 'robin-carlier'] |
joelriou assignee:joelriou |
6-52246 6 days ago |
6-52310 6 days ago |
57-81704 57 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 |
6-40992 6 days ago |
6-41043 6 days ago |
66-77056 66 days |
0 |
| 44798 |
3y3y3y-huaiji author:3y3y3y-huaiji |
style(Order/Heyting): rename inf_himp to inf_himp_self |
Rename `inf_himp` to `inf_himp_self` to align with its dual `sup_sdiff_self` and companion lemma `himp_inf_self`, resolving an in-code TODO. Add a deprecated alias `inf_himp`.
---
> [!NOTE]
> **LLM Disclosure / AI Use**: This PR was prepared with the assistance of an LLM (`LLM-generated`). All proofs and statements have been formally verified by Lean 4 and checked with linters.
|
t-order
LLM-generated
new-contributor
|
5/4 |
Mathlib/Order/Heyting/Basic.lean |
1 |
3 |
['3y3y3y-huaiji', 'github-actions', 'plp127', 'vihdzp'] |
nobody |
6-37836 6 days ago |
7-23493 7 days ago |
7-84693 7 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
|
19/4 |
Mathlib/Order/BooleanAlgebra/Set.lean |
1 |
4 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
6-33614 6 days ago |
6-33671 6 days ago |
41-83455 41 days |
0 |
| 44858 |
vihdzp author:vihdzp |
feat: connect regular cardinal orders to regular cardinals |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-set-theory |
10/0 |
Mathlib/SetTheory/Cardinal/Regular.lean |
1 |
1 |
['github-actions'] |
nobody |
6-31878 6 days ago |
6-31933 6 days ago |
6-31610 6 days |
0 |
| 44855 |
vihdzp author:vihdzp |
feat: link `Order.enum` to `Subtype.orderIsoOfNat` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-set-theory
large-import
|
15/3 |
Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Cardinal/Cofinality/Enum.lean |
2 |
2 |
['github-actions', 'vihdzp'] |
nobody |
6-30393 6 days ago |
6-31752 6 days ago |
6-31429 6 days |
0 |
| 36428 |
wrenna-robson author:wrenna-robson |
feat(Logic/Equiv/Fin): Streamline equiv definitions using mkDivMod |
This PR uses Fin.mkDivMod to streamline the related equivalence and introduces Nat.mkDivMod to a similar end.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
67/70 |
Mathlib/Analysis/SpecialFunctions/Complex/Arctan.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Series.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Logic/Equiv/Fin/Basic.lean,Mathlib/NumberTheory/Height/MvPolynomial.lean,Mathlib/Order/Partition/Equipartition.lean |
6 |
7 |
['JovanGerb', 'github-actions', 'mathlib-merge-conflicts', 'wrenna-robson'] |
eric-wieser assignee:eric-wieser |
6-25551 6 days ago |
6-25732 6 days ago |
110-63281 110 days |
0 |
| 41289 |
D-Thomine author:D-Thomine |
feat(Dynamics): recurrents set and refactoring of conservative maps |
This PR deals mostly with `Dynamics.Conservative`. The notion of *recurrent set* is introduced: a set `s` is recurrent if almost every point in `s` returns to `s`. Most properties of conservative maps actually apply to recurrent sets.
The definition of conservative map is changed to align with this notion of recurrent set (a map is conservative if every measurable set is recurrent). Theorem `MeasureTheory.conservative_iff_exists_mem_iterate_mem` expresses the equivalence of the new definition with the older one.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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-dynamics |
337/114 |
Mathlib/Dynamics/Ergodic/Conservative.lean,Mathlib/Dynamics/Ergodic/MeasurePreserving.lean,Mathlib/MeasureTheory/Measure/QuasiMeasurePreserving.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/CountableInter.lean,Mathlib/Order/Interval/Finset/Basic.lean |
6 |
32 |
['D-Thomine', 'github-actions', 'mathlib-merge-conflicts', 'mcdoll'] |
sgouezel assignee:sgouezel |
6-14860 6 days ago |
6-15133 6 days ago |
90-37826 90 days |
0 |
| 44831 |
scottdhughes author:scottdhughes |
feat(Analysis/MeanInequalitiesPow): add a real power difference bound |
Add `Real.abs_rpow_sub_rpow_le` in `Mathlib/Analysis/MeanInequalitiesPow.lean`: for nonnegative real bases and `0 ≤ p ≤ 1`,
```lean
|a ^ p - b ^ p| ≤ |a - b| ^ p
```
Provide a direct scalar API for downstream fractional-power regularity estimates. Derive the bound from the neighboring `Real.rpow_add_le_add_rpow`, then handle the two input orders. Include both exponent endpoints. Add one lemma and its docstring, with no new imports.
---
Local validation on Lean/Mathlib 4.35.0:
- `lake build Mathlib.Analysis.MeanInequalitiesPow`
- `lake exe lint-style Mathlib.Analysis.MeanInequalitiesPow`
- Fresh source elaboration, exported-type and axiom checks, plus all 15 default declaration linters for the new lemma.
The axiom check reports only `propext`, `Classical.choice` and `Quot.sound`.
AI assistance: Codex adapted an existing downstream proof, searched Mathlib and relevant open PRs, drafted this description, and ran the local checks.
|
t-analysis
new-contributor
LLM-generated
|
19/0 |
Mathlib/Analysis/MeanInequalitiesPow.lean |
1 |
3 |
['copilot-pull-request-reviewer', 'github-actions', 'scottdhughes'] |
nobody |
6-3074 6 days ago |
7-6238 7 days ago |
7-5915 7 days |
0 |
| 44730 |
mycaule author:mycaule |
feat(Analysis/Real/OfDigits): rationals have eventually periodic digits |
Characterise rational numbers by their positional expansion, using the existing `Real.digits` / `Real.ofDigits` API:
* `Real.digits_ratCast_eventually_periodic`: for `q : ℚ` with `0 ≤ q`, there are `N` and `p > 0` with `digits q b (n + p) = digits q b n` for all `n ≥ N`.
* `Real.exists_ratCast_eq_ofDigits_of_eventually_periodic`: if `1 < b` and a digit sequence `a : ℕ → Fin b` is eventually periodic, then `ofDigits a` is rational.
* `Real.exists_ratCast_eq_iff_digits_eventually_periodic`: for `x ∈ [0, 1)` and `1 < b`, `x` is rational iff its digits are eventually periodic.
Proof sketch. For `x = r / s`, the `n`-th digit equals `(r * b ^ n % s) * b / s`, so it only depends on the remainder `r * b ^ n % s`; these remainders live in `Fin s`, hence repeat by pigeonhole, and from then on the sequence is periodic. Conversely, splitting `ofDigits` after `N` digits (`ofDigits_eq_sum_add_ofDigits`), the purely periodic tail `y` satisfies `y = S + b⁻ᵖ y` with `S` a finite rational sum, so `y = S / (1 - b⁻ᵖ)`.
"Eventually periodic" is spelled out as `∃ N p, 0 < p ∧ ∀ n ≥ N, …`; I'm happy to switch to an existing predicate if reviewers prefer one. Adds a (private) import of `Mathlib.Algebra.Order.Floor.Semifield` for `Nat.floor_div_eq_div`.
AI disclosure: the statements and proofs were drafted with Claude (Claude Code) and checked by compiling against Mathlib; I have reviewed them.
---
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
new-contributor
t-analysis
LLM-generated
|
101/0 |
Mathlib/Analysis/Real/OfDigits.lean,Mathlib/Data/Nat/Init.lean |
2 |
18 |
['github-actions', 'mycaule', 'themathqueen', 'vihdzp'] |
nobody |
6-1248 6 days ago |
6-1248 6 days ago |
8-51920 8 days |
0 |
| 42693 |
justin-palumbo author:justin-palumbo |
feat(Topology/MetricSpace): a Gδ subset of a Polish space is Polish |
Adds `IsGδ.polishSpace`: a Gδ subset of a Polish space is Polish, which strengthens the existing IsOpen.polishSpace.
The proof follows the outline in Anush Tserunyan's descriptive set theory notes, https://www.math.mcgill.ca/atserunyan/Teaching_notes/dst_lectures.pdf where it is attributed to A. Bernshteyn. The "usual" approach (as in Kechris's Classical Descriptive Set Theory) constructs a complete compatible metric (the "Alexandrov metric"). The approach taken here is snappier to formalize - the idea is to give a closed embeddding from the G\delta set into another Polish space, and appeal to the fact closed subsets of Polish spaces are Polish. [Note the Alexandrov metric is recoverable from the embedding via the induced complete metrics on the product topology.]
---
Question: `IsOpen.polishSpace` could now be proven directly from`isGδ.polishSpace`, and `CompleteCopy` completely retired. That feels cleaner to me, given `CompleteCopy` has had no users since it was ported along with everything else in 2023: #3357. The main argument for keeping is that leveraging `CompleteCopy` is slightly more explicit in proving that open subsets are Polish. Happy to remove in a follow-up, in this PR, or not at all :)
(Update: For now, marking as deprecated based on suggestion from @j-loreaux )
LLM usage disclaimer: I wrote an original local version of this PR myself, and then used Claude Opus to double-check / simplify / help me pull out names of relevant theorems from mathlib. The primary non-trivial contribution from LLM was idea of leveraging isClosed_eq (ie proving closure of range by framing the range of the embedding as a countable intersection of pairs satisfying closed equations). I take full responsibility for the code here |
new-contributor
t-topology
|
94/14 |
Mathlib/Topology/MetricSpace/Polish.lean |
1 |
21 |
['felixpernegger', 'github-actions', 'j-loreaux', 'justin-palumbo'] |
j-loreaux assignee:j-loreaux |
5-85698 5 days ago |
5-85716 5 days ago |
67-13920 67 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 |
5-70509 5 days ago |
5-70612 5 days ago |
13-69523 13 days |
0 |
| 41373 |
SnirBroshi author:SnirBroshi |
feat(SimpleGraph): some `CliqueFree`/`Free` 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-combinatorics |
25/0 |
Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Copy.lean |
2 |
4 |
['SnirBroshi', 'gdahia', 'github-actions'] |
b-mehta assignee:b-mehta |
5-64861 5 days ago |
17-44162 17 days ago |
107-68456 107 days |
1 |
| 43040 |
Qinghev author:Qinghev |
feat(Analysis/Convex): add center mass residual identity |
This adds `Finset.sum_smul_sub_centerMass_eq_zero`, stating that the weighted sum of displacements from a finite center of mass is zero whenever the total weight is nonzero.
---
Codex assisted with drafting and verification. |
t-analysis
new-contributor
|
5/0 |
Mathlib/Analysis/Convex/Combination.lean |
1 |
2 |
['github-actions'] |
ADedecker assignee:ADedecker |
5-64859 5 days ago |
59-39889 59 days ago |
59-39566 59 days |
0 |
| 43046 |
teorth author:teorth |
feat(Analysis/Distribution): compactly supported functions are dense in Schwartz space |
This file adds `SchwartzMap.dense_hasCompactSupport`: the compactly supported
Schwartz functions are dense in `𝓢(E, F)` (for `E` a finite-dimensional real
normed space).
The proof goes through smooth truncation, and some API for such truncations is provided.
----
This material will be used in a forthcoming PR on the prime number theorem.
AI was used to generate initial code, which was then heavily golfed and reviewed by the author. |
t-analysis |
191/0 |
Mathlib.lean,Mathlib/Analysis/Distribution/SchwartzSpace/CompactSupport.lean |
2 |
14 |
['github-actions', 'mathlib-splicebot', 'mcdoll', 'ocfnash', 'teorth'] |
j-loreaux assignee:j-loreaux |
5-64858 5 days ago |
41-4743 41 days ago |
58-29809 58 days |
2 |
| 44408 |
SnirBroshi author:SnirBroshi |
feat(SetTheory/Cardinal/Finite): simp lemmas for `[E]Nat.card` |
- `ENat.toNat (ENat.card α) = Nat.card α`
- `Cardinal.toNat (Cardinal.mk α) = Nat.card α`
- `Cardinal.toENat (Cardinal.mk α) = ENat.card α`
---
This lets `simp` prove `toENat_cardinalMk`, so it has been untagged.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-data |
33/14 |
Mathlib/Algebra/Group/Pointwise/Set/Card.lean,Mathlib/Data/Set/Card.lean,Mathlib/Data/Sym/Sym2/Card.lean,Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/SetTheory/Cardinal/Finite.lean |
5 |
1 |
['github-actions'] |
TwoFX assignee:TwoFX |
5-64855 5 days ago |
18-56151 18 days ago |
18-55828 18 days |
0 |
| 41206 |
Ljon4ik4 author:Ljon4ik4 |
feat: strict Lie-Rinehart ideals and Quotients by them |
In this PR strict ideals in the context of Lie-Rinehart algebras are defined and it is shown that quotients by them are again Lie-Rinehart algebras.
## Context on Lie-Rinehart algebras
A Lie-Rinehart algebra is given by a couple of an `R`-algebra `A` and an `R`-Lie-Algebra `L` acting on each other and satisfying certain compatibility conditions. The most important example of Lie-Rinehart algebras in geometry is given by `A`=smooth functions on a smooth manifold, and `L`= vector fields on the manifold. Many important geometric constructions (differential forms, Cartan calculus) are defined naturally in terms of Lie-Rinehart algebras.
## Relevance of the construction
This construction of quotients by ideals will be important to define the Basechange of Lie-Rineahart algebras, which in turn is necessary to define 'comorphisms'. Comorphisms are the right notion of morphism to do geometry (e.g. a smooth map between two manifolds corresponds to a comorphism of their associated Lie-Rinehart algebras).
## Strictness
The ideals here are called strict, because it is assumed that `A` remains untouched and one only considers a subobject of `L`. There seems to be constructions for non-strict ideals, but the definitions are more complicated:
https://www.uni-math.gwdg.de/mjotz/JotzLean18c.pdf
https://arxiv.org/pdf/1706.07084
## Changes made
The files `StrictIdeal.lean` and `Quotient.lean` are new, containing the definition of the ideals and the fact that quotients are again Lie-Rinehart algebras. The `Subalgebra.lean` was mildly changed, since it seemed strange to have `comap` and `ker` without having `map` and `range`.
## Disclosure of AI use
All code is hand-written, I used claude interpret debug messages and search for lemmas.
I think most notably the following patterns were proposed by claude:
* `mul_smul := by rintro r₁ r₂ ⟨x⟩; exact congrArg mk (mul_smul r₁ r₂ x)` to show that things are well-defined on the quotient.
* `change f.toLinearMap' ⁅x, y⁆ ∈ s₂` in the proof in `comap`. (I had a simp there, which had as a result `f.toLinearMap' ⁅x, y⁆ ∈ s₂`, but somehow the subsequent steps did not work then)
## Questions open
* I am not sure if strict is a good prefix, and am happy to change it to something else.
(Also, one could even argue that the subalgebras, as defined currently, should be called strict, too...)
* In the definition of `mk'` the `toFun` field seems obsolete to me, but somehow if I remove it I get an error in one of the lemmas after it.
* I am not sure I fully understand the 'per-definition' expose rules. When I first committed I got some errors so I made two defs exposed, but I am not sure that is the correct way to go.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
442/0 |
Mathlib.lean,Mathlib/Algebra/LieRinehartAlgebra/Quotient.lean,Mathlib/Algebra/LieRinehartAlgebra/StrictIdeal.lean,Mathlib/Algebra/LieRinehartAlgebra/Subalgebra.lean |
4 |
1 |
['github-actions'] |
nobody |
5-63956 5 days ago |
93-5676 93 days ago |
111-79846 111 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 |
5-63954 5 days ago |
22-24180 22 days ago |
60-49574 60 days |
0 |
| 43281 |
keyframe41 author:keyframe41 |
feat(NumberTheory/DiophantineApproximation): prove Hurwitz's approximation theorem |
Prove **Hurwitz's approximation theorem**: for irrational `ξ`, the set of rationals `q` with `|ξ - q| < 1 / (√5 * q.den ^ 2)` is infinite.
This strengthens `Real.infinite_rat_abs_sub_lt_one_div_den_sq_of_irrational` from`Mathlib/NumberTheory/DiophantineApproximation/Basic.lean`, which gives the same statement with constant `1` instead of `√5`. The constant `√5` is optimal, though the sharpness (using the golden ratio) is not included here.
The proof avoids continued fractions and opts for Farey brackets (quadruples `p/q < ξ < r/s` with `q * r - p * s = 1`) packaged as `Real.Hurwitz.IsFarey`. It uses the fact that at least one of `p/q`, `r/s`, and the mediant `(p + r)/(q + s)` satisfies the bound, as if not, we can contradict the irrationality of `√5`. By creating brackets of arbitrarily small width, infinitude follows by the same argument as in `Basic.lean`.
Some design choices:
* No `GenContFract` to avoid continued fractions/recursive sequences. This also follows the spirit of `Basic.lean`, which defines its own `Real.convergent` rather than building Legendre's theorem on `GenContFract.convs`.
* `Real.Hurwitz` namespace. Mirrors `Real.ContfracLegendre` in `Basic.lean` by putting the main result in `Real` and the technical material in a secondary namespace.
* `IsGoodApprox` is stated without division ** as `|y * ξ - x| * y * √5 < 1` for easier manipulation and linked to the quotient form in the actual theorem using `Real.Hurwitz.isGoodApprox_div_bound`.
---
I used Claude which suggested the overall strategy/lemmas and reviewed naming and documentation against the mathlib conventions. All proofs are my own. As a first-time contributor, AI was also used to help in learning 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-number-theory
new-contributor
|
359/0 |
Mathlib.lean,Mathlib/NumberTheory/DiophantineApproximation/Hurwitz.lean |
2 |
11 |
['SnirBroshi', 'github-actions'] |
nobody |
5-63951 5 days ago |
23-15666 23 days ago |
49-39306 49 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
|
18/42 |
.github/workflows/update_dependencies_zulip.yml,docs/workflows.md |
2 |
1 |
['github-actions'] |
nobody |
5-62562 5 days ago |
5-62622 5 days ago |
5-62299 5 days |
0 |
| 44846 |
artie2000 author:artie2000 |
feat(Algebra/Polynomial): variants of Polynomial.reverse functional equation |
Split from https://github.com/leanprover-community/mathlib4/pull/44338 - these were helper lemmas for a discarded approach.
AI usage disclosure: ChatGPT 5.5 was used to split this PR from https://github.com/leanprover-community/mathlib4/pull/44338. All of the changes in this PR were made by a human.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 label:t-algebra$ |
25/9 |
Mathlib/Algebra/Polynomial/Reverse.lean |
1 |
9 |
['SnirBroshi', 'artie2000', 'github-actions'] |
nobody |
5-62258 5 days ago |
5-62509 5 days ago |
6-15679 6 days |
0 |
| 42316 |
JovanGerb author:JovanGerb |
feat: use `max`/`min` for `union`/`intersection` in `Set`, `Finset`, `ZFSet`, `Class` |
This lets us write `∪`/`∩` for sets while the underlying constant is `max`/`min`. This is a follow-up to #32983, which made the same change for `⊆`, `⊂`, `⊇` and `⊃`. The implementation for `∪`/`∩` is analogous.
The first commit contains the implementation change, and all other commits are just adaptations.
Note that there are now two different special delaborators for `max`/`min`, because we already had the delaborator that chooses between `max`/`min` and `⊔`/`⊓`. It is important that the one for `∪`/`∩` is tried first. There is no priority mechanism for delaborators: they are always executed newest to oldest. So, this PR adds a (redundant) import to ensure that this order is respected.
- I modified the delaborator for `⊔`/`⊓` so that it doesn't fire if `LinearOrder` isn't imported. Due to the extra redundant import, that is now a more common situation and I think in that situation it's better to print `max a b` instead of `a ⊔ b`.
- It is now not anymore possible to write `simp [(· ∪ ·)]` due to elaboration issues. The same also already applied to `simp [(· ⊆ ·)]`.
- Many `simp` calls had to be fixed because the `simp` set for `max`/`min` contains more lemmas than what we had for `union`/`inter`. For example, `compl_inf` and `inf_of_le_left`/`inf_of_le_right` now also apply to intersections.
- In particular `inf_of_le_left`/`inf_of_le_right` are quite slow simp lemmas, which means that this PR gives a bit of slowdown.
- A `grind` call had to be fixed because it timed out. Originally, that `grind` call was already doing too much stuff, but it didn't quite reach its limits.
- Many `@[simp]` and some `@[gcongr]` tags could be removed because they are now subsumed by more general tags.
- I removed `@[mfld_simp]` from `inter_subset_left`, as it seemed a bit weird to have it there and not on its dual or its mirror lemma.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
large-import
t-data
|
348/431 |
Archive/Examples/Kuratowski.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/Lie/Basis/Prod.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/AlgebraicGeometry/Morphisms/UniversallyClosed.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/AlgebraicGeometry/ZariskisMainTheorem.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/RelativeCellComplex.lean,Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean,Mathlib/Analysis/Complex/ValueDistribution/LogCounting/Basic.lean,Mathlib/Analysis/Convex/Combination.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Analysis/Normed/Module/Seminorm/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/NegMulLog.lean,Mathlib/CategoryTheory/Limits/Types/Pushouts.lean,Mathlib/Combinatorics/Additive/Dissociation.lean,Mathlib/Combinatorics/Matroid/Basic.lean,Mathlib/Combinatorics/Matroid/Minor/Contract.lean,Mathlib/Combinatorics/Matroid/Minor/Order.lean,Mathlib/Combinatorics/SetFamily/Compression/UV.lean,Mathlib/Combinatorics/SetFamily/FourFunctions.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/LineGraph.lean,Mathlib/Combinatorics/SimpleGraph/Tutte.lean,Mathlib/Combinatorics/SimpleGraph/UniversalVerts.lean,Mathlib/Computability/TuringMachine/ToPartrec.lean,Mathlib/Data/Finmap.lean,Mathlib/Data/Finset/Basic.lean,Mathlib/Data/Finset/BooleanAlgebra.lean,Mathlib/Data/Finset/Lattice/Basic.lean,Mathlib/Data/Finset/Lattice/Lemmas.lean,Mathlib/Data/Finset/SDiff.lean,Mathlib/Data/Finset/Sups.lean,Mathlib/Data/Finset/SymmDiff.lean,Mathlib/Data/Finsupp/BigOperators.lean,Mathlib/Data/Multiset/UnionInter.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Defs.lean,Mathlib/Data/Set/Disjoint.lean,Mathlib/Data/Set/Function.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Data/Set/Subset.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Geometry/Manifold/MFDeriv/Defs.lean,Mathlib/GroupTheory/CosetCover.lean,Mathlib/GroupTheory/Perm/Finite.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/LinearAlgebra/Basis/Exact.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/Logic/Equiv/Set.lean,Mathlib/MeasureTheory/Covering/Differentiation.lean,Mathlib/MeasureTheory/Covering/LiminfLimsup.lean,Mathlib/MeasureTheory/MeasurableSpace/CountablyGenerated.lean,Mathlib/MeasureTheory/Measure/Basic.lean,Mathlib/MeasureTheory/Measure/Decomposition/Hahn.lean,Mathlib/MeasureTheory/Measure/Haar/Unique.lean,Mathlib/MeasureTheory/Measure/Typeclasses/ZeroOne.lean,Mathlib/MeasureTheory/OuterMeasure/AE.lean,Mathlib/MeasureTheory/PiSystem.lean,Mathlib/MeasureTheory/SetSemiring.lean,Mathlib/MeasureTheory/VectorMeasure/TotalVariation.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Semivariation.lean,Mathlib/NumberTheory/LSeries/ZetaZeros.lean,Mathlib/NumberTheory/WellApproximable.lean,Mathlib/Order/Birkhoff.lean,Mathlib/Order/BooleanAlgebra/Set.lean,Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/Defs/Lattice.lean,Mathlib/Order/Defs/LinearOrder.lean,Mathlib/Order/Filter/Bases/Basic.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Defs.lean,Mathlib/Order/Lattice/Congruence.lean,Mathlib/Order/Notation.lean,Mathlib/Order/SupIndep.lean,Mathlib/RingTheory/PolynomialLaw/Basic.lean,Mathlib/RingTheory/RegularLocalRing/Polynomial.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Class.lean,Mathlib/Tactic/SetNotationForOrder.lean,Mathlib/Topology/CWComplex/Classical/Basic.lean,Mathlib/Topology/Closure.lean,Mathlib/Topology/Compactification/StoneCech.lean,Mathlib/Topology/Connected/Clopen.lean,Mathlib/Topology/Constructible.lean,Mathlib/Topology/DiscreteSubset.lean,Mathlib/Topology/NhdsWithin.lean,Mathlib/Topology/OpenPartialHomeomorph/IsImage.lean,Mathlib/Topology/Sets/Compacts.lean,Mathlib/Topology/Sets/Opens.lean,Mathlib/Topology/UrysohnsLemma.lean,MathlibTest/Attribute/ToDual.lean,MathlibTest/Delab/SupInf.lean,MathlibTest/SetNotationForOrder.lean,MathlibTest/Simps.lean,MathlibTest/Tactic/GRewrite.lean |
101 |
36 |
['JovanGerb', 'Multramate', 'github-actions', 'jcommelin', 'leanprover-radar', 'mathlib-merge-conflicts'] |
joneugster assignee:joneugster |
5-54732 5 days ago |
5-54780 5 days ago |
59-1934 59 days |
0 |
| 44885 |
3y3y3y-huaiji author:3y3y3y-huaiji |
feat(Combinatorics/Quiver/Path): monotonicity of valuations and cycle obstruction |
Define monotonicity of vertex valuations along paths in a quiver and deduce that
strict valuations rule out non-trivial cycles. As a consequence, `Reachable` is a
partial order when such a valuation exists.
---
> [!NOTE]
> **LLM Disclosure / AI Use**: This PR was prepared with the assistance of an LLM
> (`LLM-generated`). All proofs and statements have been formally verified by Lean 4
> and checked with linters. |
t-combinatorics
LLM-generated
new-contributor
|
64/1 |
Mathlib/Combinatorics/Quiver/Path.lean |
1 |
3 |
['3y3y3y-huaiji', 'github-actions'] |
nobody |
5-47307 5 days ago |
5-47307 5 days ago |
5-46984 5 days |
0 |
| 44348 |
YaelDillies author:YaelDillies |
chore: replace `exact_mod_cast` with `exact mod_cast` |
The two spellings are equivalent (precisely, `exact_mod_cast t` is defined as `exact mod_cast (t : _)`), but the latter spelling is more composable. For example, `by exact_mod_cast t` is equivalent to `by exact mod_cast t`, which itself simplifies (almost always) to `mod_cast t`. Perform the same change for `apply_mod_cast`.
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/exact_mod_cast.20vs.20exact.20mod_cast/with/631181742)
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
|
235/236 |
Archive/Imo/Imo2024Q1.lean,Archive/Imo/Imo2024Q6.lean,Mathlib/Algebra/GroupWithZero/Action/Pointwise/Finset.lean,Mathlib/Algebra/Lie/Weights/RootSystem.lean,Mathlib/Algebra/Order/Archimedean/Real/Basic.lean,Mathlib/Algebra/Order/Floor/Defs.lean,Mathlib/Algebra/Squarefree/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Degree.lean,Mathlib/AlgebraicGeometry/Properties.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Asymptotics/LinearGrowth.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/Comp.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Complex/Exponential.lean,Mathlib/Analysis/Complex/ExponentialBounds.lean,Mathlib/Analysis/Complex/IntegerCompl.lean,Mathlib/Analysis/Complex/Tietze.lean,Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Manifold.lean,Mathlib/Analysis/Complex/ValueDistribution/LogCounting/Basic.lean,Mathlib/Analysis/Convex/SpecificFunctions/Pow.lean,Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean,Mathlib/Analysis/InnerProductSpace/NormDet.lean,Mathlib/Analysis/InnerProductSpace/Positive.lean,Mathlib/Analysis/Matrix/Order.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/Meromorphic/Order.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Analysis/Polynomial/MahlerMeasure.lean,Mathlib/Analysis/Real/Pi/Bounds.lean,Mathlib/Analysis/Real/Pi/Irrational.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean,Mathlib/Analysis/SpecialFunctions/Log/Sum.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Complex.lean,Mathlib/Analysis/SumIntegralComparisons.lean,Mathlib/Basic/Real/ConjExponents.lean,Mathlib/Combinatorics/Additive/VerySmallDoubling.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/ErdosStoneSimonovits.lean,Mathlib/Combinatorics/SimpleGraph/Prod.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Chunk.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/Int/CardIntervalMod.lean,Mathlib/Data/Int/Log.lean,Mathlib/Data/NNRat/Floor.lean,Mathlib/Data/Nat/Choose/Lucas.lean,Mathlib/Data/ZMod/Units.lean,Mathlib/Dynamics/TopologicalEntropy/CoverEntropy.lean,Mathlib/Geometry/Manifold/Riemannian/Basic.lean,Mathlib/GroupTheory/CosetCover.lean,Mathlib/GroupTheory/OreLocalization/Cardinality.lean,Mathlib/InformationTheory/Coding/Kraft.lean,Mathlib/InformationTheory/Coding/KraftMcMillan.lean,Mathlib/LinearAlgebra/Matrix/Echelon/Pivot.lean,Mathlib/LinearAlgebra/Reflection.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Defs.lean,Mathlib/MeasureTheory/MeasurableSpace/Card.lean,Mathlib/MeasureTheory/Measure/FiniteMeasure.lean,Mathlib/MeasureTheory/VectorMeasure/WithDensityVec.lean,Mathlib/NumberTheory/ADEInequality.lean,Mathlib/NumberTheory/AbelSummation.lean,Mathlib/NumberTheory/Bernoulli.lean,Mathlib/NumberTheory/Bertrand.lean,Mathlib/NumberTheory/Chebyshev.lean,Mathlib/NumberTheory/Fermat.lean,Mathlib/NumberTheory/Harmonic/Bounds.lean,Mathlib/NumberTheory/Harmonic/GammaDeriv.lean,Mathlib/NumberTheory/Harmonic/ZetaAsymp.lean,Mathlib/NumberTheory/Height/MvPolynomial.lean,Mathlib/NumberTheory/Height/NumberField.lean,Mathlib/NumberTheory/LSeries/Convergence.lean,Mathlib/NumberTheory/LSeries/Dirichlet.lean,Mathlib/NumberTheory/LSeries/DirichletContinuation.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaValues.lean,Mathlib/NumberTheory/LSeries/Positivity.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/IsBoundedAtImInfty.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/QExpansion.lean,Mathlib/NumberTheory/ModularForms/LFunction.lean,Mathlib/NumberTheory/ModularForms/LevelOne/DimensionFormula.lean,Mathlib/NumberTheory/Ostrowski.lean,Mathlib/NumberTheory/Padics/MahlerBasis.lean,Mathlib/NumberTheory/Padics/PadicNorm.lean,Mathlib/NumberTheory/Padics/RingHoms.lean,Mathlib/NumberTheory/Padics/WithVal.lean,Mathlib/NumberTheory/SumPrimeReciprocals.lean,Mathlib/NumberTheory/Transcendental/Liouville/LiouvilleWith.lean,Mathlib/Order/Height.lean |
126 |
6 |
['YaelDillies', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
nobody |
5-42680 5 days ago |
5-42732 5 days ago |
15-65592 15 days |
0 |
| 44889 |
RemyDegenne author:RemyDegenne |
feat(Probability/Kernel): lemmas about invariant measures and powers of a kernel |
This is a first PR in a series towards an ergodic theorem for Markov kernels (convergence in `tvDist` of the power to an invariant measure).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
The code was written by an LLM. I reviewed it, notably deleting many trivial API lemmas about pow (and adding two) and golfing the remaining proofs. |
LLM-generated
LeanMachineLearning
t-measure-probability
|
112/1 |
Mathlib/Probability/Kernel/Composition/Comp.lean,Mathlib/Probability/Kernel/Composition/MeasureComp.lean,Mathlib/Probability/Kernel/Invariance.lean |
3 |
2 |
['github-actions'] |
nobody |
5-38287 5 days ago |
5-38345 5 days ago |
5-38022 5 days |
0 |
| 42488 |
joelriou author:joelriou |
feat(AlgebraicTopology/SimplicialSet): the fundamental groupoid of a Kan complex |
In the file `Mathlib/AlgebraicTopology/SimplicialSet/FundamentalGroupoid/Basic.lean`,
the fundamental groupoid of any simplicial set `X` was defined. In this category,
morphisms can be represented by finite compositions of edges and their formal inverses.
In this PR, we show that if `X` is a Kan complex, then a morphism in `FundamentalGroupoid X` can be represented by a single edge, and commutative triangles in the fundamental groupoid of `X` all arise from `Edge.CompStruct` structures (i.e. `2`-simplices of `X`).
---
- [x] depends on: #44775
- [x] depends on: #42523
- [x] depends on: #42526
- [x] depends on: #42527
- [x] depends on: #38216
- [x] depends on: #42473
- [x] depends on: #38664
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
tech debt
|
261/3 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialSet/CompStruct.lean,Mathlib/AlgebraicTopology/SimplicialSet/CompStructTruncated.lean,Mathlib/AlgebraicTopology/SimplicialSet/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/KanComplex/FundamentalGroupoid.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean |
6 |
7 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
5-37972 5 days ago |
5-38019 5 days ago |
5-37870 5 days |
1 |
| 44634 |
3y3y3y-huaiji author:3y3y3y-huaiji |
refactor(RingTheory/Ideal): deprecate Ideal.mul_eq_inf_of_coprime |
Deprecate `Ideal.mul_eq_inf_of_coprime` in favor of `Ideal.mul_eq_inf_of_isCoprime`, resolving the TODO in `Mathlib/RingTheory/Ideal/Operations.lean`.
---
> [!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-ring-theory
LLM-generated
new-contributor
|
10/8 |
Mathlib/RingTheory/Ideal/Operations.lean |
1 |
4 |
['3y3y3y-huaiji', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
5-30709 5 days ago |
5-30807 5 days ago |
11-42705 11 days |
0 |
| 43139 |
plp127 author:plp127 |
feat: make `MvPFunctor` universe-polymorphic |
We mirror what is done for the univariate `PFunctor` and make `MvPFunctor` universe-polymorphic. Certain declarations are kept not universe polymorphic for now, including `MvQPF` and many things relating to the `W` and `M` types being fixpoints.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
increases-technical-debt
|
130/105 |
Mathlib/Data/PFunctor/Multivariate/Basic.lean,Mathlib/Data/PFunctor/Multivariate/M.lean,Mathlib/Data/PFunctor/Multivariate/W.lean,Mathlib/Data/QPF/Multivariate/Basic.lean,Mathlib/Data/QPF/Multivariate/Constructions/Cofix.lean,Mathlib/Data/QPF/Multivariate/Constructions/Fix.lean |
6 |
1 |
['github-actions'] |
nobody |
5-27059 5 days ago |
5-27248 5 days ago |
54-82105 54 days |
0 |
| 44895 |
JovanGerb author:JovanGerb |
fix(ClickSuggestions): improve and test `isExplicitEq` |
This PR improves and tests the `isExplicitEq` function that `#click_suggestions` uses to deduplicate its 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]
-->
|
t-meta |
60/21 |
Mathlib/Tactic/ClickSuggestions/Util.lean,MathlibTest/ClickSuggestions/Deduplicate.lean |
2 |
1 |
['github-actions'] |
nobody |
5-21557 5 days ago |
5-21622 5 days ago |
5-21299 5 days |
1 |
| 44825 |
Multramate author:Multramate |
chore: rename `coe_nat`/`nat_cast` lemmas to `natCast` |
This renames Lean 3 style `coe_nat` and `nat_cast` in lemma names about `Nat.cast` to `natCast`.
🤖 Generated with [Claude Code](https://claude.com/claude-code) |
LLM-generated |
114/59 |
Mathlib/Algebra/GCDMonoid/Nat.lean,Mathlib/Algebra/Group/Int/Even.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/Coeff.lean,Mathlib/Algebra/Order/Field/Power.lean,Mathlib/Algebra/Ring/Int/Parity.lean,Mathlib/Algebra/SkewPolynomial/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Degree.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pochhammer.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/RootsExtrema.lean,Mathlib/Basic/ENNReal/Basic.lean,Mathlib/Basic/NNReal/Defs.lean,Mathlib/Data/Int/Bitwise.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/GroupTheory/Coxeter/Basic.lean,Mathlib/MeasureTheory/Constructions/Polish/EmbeddingReal.lean,Mathlib/NumberTheory/EllipticDivisibilitySequence.lean,Mathlib/NumberTheory/Height/NumberField.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/NumberTheory/Real/GoldenRatio.lean,Mathlib/RingTheory/Binomial.lean,Mathlib/RingTheory/MvPolynomial/Basic.lean,Mathlib/RingTheory/Polynomial/Pochhammer.lean,Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean,Mathlib/RingTheory/WittVector/Frobenius.lean,Mathlib/RingTheory/WittVector/StructurePolynomial.lean,Mathlib/SetTheory/Cardinal/Divisibility.lean |
28 |
2 |
['Multramate', 'github-actions', 'vihdzp'] |
nobody |
5-20614 5 days ago |
7-19569 7 days ago |
7-19246 7 days |
0 |
| 44810 |
zixiaowang17 author:zixiaowang17 |
feat(Combinatorics): add abstract graphical Markov properties |
Introduce the global, local, and pairwise Markov properties for undirected graphs, and prove
the forward implications global → local → pairwise under the semigraphoid axioms.
The implementation is a single module importing `Mathlib.Combinatorics.SimpleGraph.Walk.Basic`.
The current framework allows arbitrary vertex types, including infinite and uncountable types.
Reference: David Montague and Bala Rajaratnam, *Graphical Markov models for infinitely many
variables*, *Transactions of the American Mathematical Society* **370** (2018), no. 11,
7557–7603. [doi:10.1090/tran/7048](https://doi.org/10.1090/tran/7048).
---
I want to introduce “a graphical framework in which we can analyze the Markov properties
from a purely set theoretic perspective which is independent of probability theory,” as
described in [Section 4](https://arxiv.org/pdf/1501.07878#page=8).
Motivation: I was trying to provide a common foundation connecting graphical models in
statistics, random fields, and percolation on lattices. Along the way, I found that most of
the materials I read assumed finite vertex sets. However, I want to understand better what
drives the equivalence of the Markov properties, so that we can talk about theorems with
more flexibility. I then found this paper, which, in Section 4, takes a purely set-theoretic approach
to independence and graphical Markov properties, separately from its treatment of
measure-theoretic conditional independence in probabilistic models.
If this PR meets the requirements and is in the right direction, I plan to finish proving
the equivalence of the pairwise, local, and global Markov properties for ternary relations
under suitable intersection assumptions. In the long term, I plan to connect conditional
independence in probability with graphical models, including DAGs.
AI assistance: OpenAI Codex assisted with the Lean definitions and proofs. I checked every
line of the code. |
t-combinatorics
LLM-generated
new-contributor
|
138/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Markov.lean,docs/references.bib |
3 |
4 |
['github-actions', 'zixiaowang17'] |
nobody |
5-19347 5 days ago |
5-77542 5 days ago |
7-66528 7 days |
0 |
| 44900 |
justus-springer author:justus-springer |
feat(Geometry/Convex/Cone/Caratheodory): conic Carathéodory theorem |
Carathéodory's theorem (see `Analysis/Convex/Caratheodory.lean`) says that any point in the convex hull of a set can be represented as a convex combination of some affinely independent subset. This PR adds the conic version of this theorem: Every point in the conic hull (`PointedCone.hull`) of a set can be represented as a positive span of some linearly independent subset.
We basically follow the same proof strategy as in `Analysis/Convex/Caratheodory.lean`. The conic version is slightly simpler, as the weights don't have to sum to one. Also, we use strong induction on finsets directly instead of defining a minimal set (see also the refactor PR #44863).
A small helper lemma `mem_hull_finset` is also added, the finset version of `mem_hull_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]
-->
|
t-convex-geometry |
108/0 |
Mathlib.lean,Mathlib/Geometry/Convex/Cone/Caratheodory.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean |
3 |
1 |
['github-actions'] |
nobody |
5-18147 5 days ago |
5-18204 5 days ago |
5-17881 5 days |
0 |
| 39941 |
mkaratarakis author:mkaratarakis |
feat(Data/List): add count lemmas for duplicate detection |
Add general list count lemmas used in the Perron–Frobenius quiver-path development:
---
Relocated from the PF-specific file per review feedback. Proofs use upstream `List.Duplicate` API and `grind` where appropriate (per @chenson2018).
Part of the Perron–Frobenius formalization
|
t-data |
14/0 |
Mathlib/Data/List/Count.lean |
1 |
13 |
['SnirBroshi', 'chenson2018', 'eric-wieser', 'github-actions', 'mkaratarakis', 'mkaxiomatic-ai'] |
nobody |
5-17824 5 days ago |
5-17824 5 days ago |
120-3692 120 days |
0 |
| 44906 |
yudukikun5120 author:yudukikun5120 |
feat(Archive): formalize negation in vector logic |
This adds a formalization of negation in Mizraji's two-valued vector logic to `Archive/VectorLogic.lean`, using mathlib's matrix and real-number APIs.
For two orthonormal real vectors `s` and `n` in an arbitrary finite-dimensional coordinate space, define `N = nsᵀ + snᵀ` and the logical identity `I₂ = ssᵀ + nnᵀ`. Prove that negation exchanges the truth vectors, exchanges the coefficients of their linear combinations, and satisfies `N * N = I₂`. Double negation fixes every linear combination of the truth vectors. The formalization also shows that negation annihilates vectors orthogonal to both, so it does not assert that `N²` is the ambient identity in higher dimension.
The definitions follow Eduardo Mizraji's *Vector logics: The matrix-vector representation of logical calculus* (1992), as reproduced in §4.2, equations (15)–(16), of his 2016 paper: https://doi.org/10.1387/theoria.13959.
---
This is a draft for feedback on whether this paper-specific formalization is suitable for `Archive`; its placement has not been agreed with maintainers.
Validation on macOS arm64 with Lean 4.35.0:
- `lake build Archive.VectorLogic`
- `lake exe lint-style Archive.VectorLogic`
- `lake exe mk_all --lib Archive --check`
- Separate local checks with a three-dimensional truth pair, including a counterexample to the ambient identity assertion.
AI disclosure: OpenAI Codex generated the implementation, proofs, and this PR description, and ran the local validation. The changes are marked as LLM-generated. This description does not claim completion of independent human review.
|
LLM-generated
new-contributor
|
102/0 |
Archive.lean,Archive/VectorLogic.lean |
2 |
3 |
['github-actions', 'yudukikun5120'] |
nobody |
5-14698 5 days ago |
5-14707 5 days ago |
5-14384 5 days |
0 |
| 43945 |
Nicola9Falciola author:Nicola9Falciola |
feat(LinearAlgebra/Matrix/GeneralLinearGroup/Defs): add `MulEquiv` for `GL` |
Following the API in Data/Matrix/Basic I add :
- the `MulEquiv` : `GL n R ≃* GL n S`induced by a `RingEquiv`
- the `MulEquiv` : `GL n R ≃* (GL n R)\mop `
- the `MulEquiv` : `GL n (ULift.{w} R) ≃* GL n R`
- the `MulEquiv` : `GL m R ≃* GL n R` for `m ≃ n`
- the `MulEquiv` : `GL n (Π i, R i) ≃* Π i, GL n (R i)`
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
96/0 |
Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean |
1 |
74 |
['Nicola9Falciola', 'eric-wieser', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'themathqueen'] |
j-loreaux assignee:j-loreaux |
5-13934 5 days ago |
5-15978 5 days ago |
30-83024 30 days |
2 |
| 44802 |
wwylele author:wwylele |
feat(MeasureTheory/Lebesgue): one-dimensional Brunn–Minkowski theorem |
This is the starting point of upstreaming https://github.com/hojonathanho/isoperimetric (with author's permission at https://github.com/hojonathanho/isoperimetric/issues/1) for the general Brunn–Minkowski theorem. The proof strategy follows https://terrytao.wordpress.com/2011/09/16/the-brunn-minkowski-inequality-for-nilpotent-groups/, which goes like:
1-d Brunn–Minkowski -> 1-d Prékopa-Leindler -> n-d Prékopa-Leindler -> n-d Brunn–Minkowski
Co-authored-by: Jonathan Ho <hojonathanho@gmail.com>
---
~~As far as I know, no AI was used (except for my request for copilot review below, which returned nothing)~~
There was a major revision to this PR. The first version was written without AI, which proved the statement `MeasurableSet A -> MeasurableSet B -> nonemptiness -> volume A + volume B ≤ volume (A + B)`. This was then re-written using an Aristotle generated proof (see https://github.com/leanprover-community/mathlib4/pull/44802#issuecomment-6146960763), which removes the measurability hypothesis and generalize the theorem to partially ordered monoid + pull-back (sub-)invariant measure (so this would also work on e.g. NNReal). The AI-generated proof has been restructured by me manually.
On the topic generalization of the ` μ A + μ B ≤ μ (A + B)`-like inequality, there is also [Kemperman's theorem](https://terrytao.wordpress.com/2011/12/26/a-variant-of-kempermans-theorem/) which holds for locally compact connected groups, which includes `Real`. The proof of this is beyond my ability at the moment, plus it still generally requires measurability, plus it requires a group instead of a just a magma. So the generalization to ordered magma is an interesting one on its own, and I chose to go in that direction in this PR
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
|
76/4 |
Mathlib/MeasureTheory/Measure/Interval.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/Topology/Order/Basic.lean |
3 |
17 |
['SnirBroshi', 'copilot-pull-request-reviewer', 'github-actions', 'wwylele'] |
nobody |
5-13585 5 days ago |
5-13652 5 days ago |
6-2685 6 days |
1 |
| 44878 |
scottdhughes author:scottdhughes |
feat(NumberTheory/Divisors): add a divisor-count doubling bound |
Adds `Nat.two_mul_card_divisors_le_card_divisors_mul_of_not_dvd`:
```lean
theorem Nat.two_mul_card_divisors_le_card_divisors_mul_of_not_dvd {a b : ℕ}
(hb : b ≠ 0) (hnot : ¬ b ∣ a) :
2 * a.divisors.card ≤ (a * b).divisors.card
```
The proof places the divisors of `a` and their images under multiplication by `b` inside the divisors of `a * b`. These sets are disjoint because `b ∤ a`, and multiplication by nonzero `b` preserves cardinality. The hypothesis `a ≠ 0` follows from nondivisibility; no coprimality hypothesis is needed.
Motivated by work on Erdős problem 647. The addition uses the existing finite-divisor API in `Mathlib/NumberTheory/Divisors.lean` and introduces no imports.
### Validation
- Fresh affected-module build with warnings treated as failures; style and default declaration linters passed.
- Checked the exported type, the original three-premise consumer interface, and boundary examples, including the sharp noncoprime case `(a, b) = (2, 4)`. The theorem uses only `propext`, `Classical.choice` and `Quot.sound`.
- Aggregate-import and diff checks passed. Whole-library builds and full hosted CI have not been run locally.
### AI disclosure
OpenAI Codex generated the standalone Lean proof from an existing lemma in our Erdős problem 647 development and assisted with API and overlapping-PR searches, integration, and local validation. Codex also drafted this description and performed an additional source review; that review did not include separate compilation. This contribution contains LLM-generated code.
|
t-number-theory
new-contributor
LLM-generated
|
28/0 |
Mathlib/NumberTheory/Divisors.lean |
1 |
2 |
['copilot-pull-request-reviewer', 'github-actions'] |
nobody |
5-7343 5 days ago |
5-7456 5 days ago |
5-7133 5 days |
0 |
| 44915 |
Hagb author:Hagb |
feat(Algebra/MonoidAlgebra/MapDomain): lemmas about `coeff` of `toMultiplicative`/`toAdditive`'ed element |
It is used by #44913.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
easy
label:t-algebra$ |
8/0 |
Mathlib/Algebra/MonoidAlgebra/MapDomain.lean |
1 |
1 |
['github-actions'] |
nobody |
5-4923 5 days ago |
5-4979 5 days ago |
5-4656 5 days |
1 |
| 44723 |
mycaule author:mycaule |
feat(CategoryTheory/Adjunction/Idempotent): fixed points and idempotent adjunctions |
New file `Mathlib/CategoryTheory/Adjunction/Idempotent.lean`. For `adj : L ⊣ R` with unit `η` and counit `ε`:
`Adjunction.idempotent_tfae`: the four conditions `ηR`, `Rε`, `εL`, `Lη` invertible are equivalent
`Adjunction.map_map_unit_app_of_idempotent`, `Adjunction.map_map_counit_app_of_idempotent`: `RLη_X = η_{RLX}` and `LRε_Y = ε_{LRY}` in the idempotent case
`Adjunction.fixedLeft`, `Adjunction.fixedRight`: the objects at which `η`, resp. `ε`, is an isomorphism (closed under isomorphisms; `fixedLeft_iff_exists`, `fixedRight_iff_exists`)
`Adjunction.fixedEquiv`: for any adjunction, `L` and `R` restrict to an equivalence `adj.fixedLeft.FullSubcategory ≌ adj.fixedRight.FullSubcategory`
`Adjunction.fixedLeftAdjunction`, `Adjunction.fixedLeftReflective`: if the adjunction is idempotent, `fixedLeft` is reflective in `C` with reflector `L ⋙ R`
`Adjunction.fixedRightAdjunction`, `Adjunction.fixedRightCoreflective`: dually, `fixedRight` is coreflective in `D` with coreflector `R ⋙ L`
`map_map_unit_app_of_idempotent` is the generalization asked for by the TODO above `unit_obj_eq_map_unit` in `Adjunction/Reflective.lean` (from reflective to idempotent adjunctions).
Then `PreservesColimits` of the reflector, `HasColimits` of the fixed part (`hasColimits_of_reflective`) and the localization property (`Adjunction.isLocalization`) follow from existing mathlib lemmas.
Questions for reviewers: names (`fixedLeft`/`fixedRight`, or e.g. `unitIsIso`/`counitIsIso`); whether to add a class `Adjunction.IsIdempotent` (one of the four conditions) with instances for reflective and coreflective adjunctions, in this PR or a follow-up; and whether to add `IsIso adj.toMonad.μ ↔ idempotent` next to `μ_iso_of_reflective`.
AI disclosure: the Lean proof was written by an AI model (Claude, Anthropic) under my direction. I have read and checked it and will handle the review. It builds against current master.
|
t-category-theory
new-contributor
LLM-generated
|
257/0 |
Mathlib.lean,Mathlib/CategoryTheory/Adjunction/Idempotent.lean |
2 |
2 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
4-83306 4 days ago |
4-83531 4 days ago |
9-30236 9 days |
0 |
| 44910 |
lua-vr author:lua-vr |
feat(Dynamics/BirkhoffSum): measurability and integrability of Birkhoff sums |
We add conditions for the measurability and integrability of Birkhoff sums.
---
Split out of #34031, was previously reviewed there. I can't act on that review for now and it seems to be of independent interest (#44624).
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-dynamics |
72/0 |
Mathlib.lean,Mathlib/Dynamics/BirkhoffSum/Integrable.lean |
2 |
1 |
['github-actions'] |
nobody |
4-74123 4 days ago |
5-10947 5 days ago |
5-10624 5 days |
0 |
| 43100 |
JJYYY-JJY author:JJYYY-JJY |
feat(Analysis/Complex/CauchyIntegral): add Cauchy formula at interior points |
This generalizes the higher-order Cauchy integral formula from the center of a disc to an arbitrary point in its interior, and closes the TODO.
Co-authored-by: ajirving <29164966+ajirving@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]
-->
[](https://gitpod.io/from-referrer/)
|
t-analysis |
58/14 |
Mathlib/Analysis/Complex/CauchyIntegral.lean |
1 |
2 |
['ajirving', 'github-actions'] |
j-loreaux assignee:j-loreaux |
4-64859 4 days ago |
44-14945 44 days ago |
56-41244 56 days |
0 |
| 43502 |
teorth author:teorth |
feat(NumberTheory/LSeries): root numbers and non-vanishing in the left half-plane |
`Mathlib/NumberTheory/LSeries/Nonvanishing.lean` currently establishes nonvanishing of Dirichlet
`L`-functions and the Riemann zeta function are non-zero to the **right** of the critical strip
(`re s ≥ 1`). This PR adds the counterparts on the **left** (`re s ≤ 0`), which follow from the
functional equation, together with some auxiliary facts about root-numbers and Gauss-sums which
could be independently useful.
---
## Root numbers and Gauss sums
* `DirichletCharacter.completedLFunction_ne_zero_of_one_le_re`: the completed `L`-function
`Λ(χ, s)` is non-zero for `1 ≤ re s` (except for the trivial character at `s = 1`).
* `DirichletCharacter.rootNumber_mul_rootNumber_inv`: for a primitive character,
`rootNumber χ * rootNumber χ⁻¹ = 1`, obtained formally from the functional equation applied to
both `χ` and `χ⁻¹`.
* `DirichletCharacter.norm_rootNumber`: `‖rootNumber χ‖ = 1` for primitive `χ`.
* `DirichletCharacter.norm_gaussSum_stdAddChar`: `‖gaussSum χ stdAddChar‖ = √N` for primitive `χ`
— the classical evaluation `|τ(χ)| = √N`, here derived from the functional equation rather than
the usual finite-field argument, so it holds for every modulus (Mathlib previously only had
Gauss-sum non-vanishing over finite fields).
## Non-vanishing in the left half-plane
* `DirichletCharacter.LFunction_eq_zero_iff_of_re_nonpos`: for a primitive character and `re s ≤ 0` with `χ ≠ 1` or `s` non-zero, the L-function vanishes precisely when the gamma factor vanishes.
* `riemannZeta_eq_zero_iff_of_re_nonpos`: for `re s ≤ 0`, `ζ s = 0` iff `s` is a
negative even integer.
The code here was initially LLM-generated, but then heavily golfed and reviewed by the author. |
t-number-theory |
97/4 |
Mathlib/NumberTheory/DirichletCharacter/Basic.lean,Mathlib/NumberTheory/DirichletCharacter/Bounds.lean,Mathlib/NumberTheory/LSeries/Dirichlet.lean,Mathlib/NumberTheory/LSeries/DirichletContinuation.lean,Mathlib/NumberTheory/LSeries/Nonvanishing.lean |
5 |
1 |
['github-actions'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
4-64856 4 days ago |
43-56414 43 days ago |
43-73276 43 days |
0 |
| 44346 |
justus-springer author:justus-springer |
doc(AlgebraicGeometry/EffectiveEpi): add stacks tag `023Q` |
Follow-up to #44313.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
1/0 |
Mathlib/AlgebraicGeometry/EffectiveEpi.lean |
1 |
1 |
['JX-Mo', 'github-actions'] |
riccardobrasca assignee:riccardobrasca |
4-64855 4 days ago |
20-37972 20 days ago |
20-37649 20 days |
0 |
| 42912 |
justin-palumbo author:justin-palumbo |
feat(Topology/GDelta): a completely metrizable subspace of a T6 space is Gδ |
Adds TopologicalSpace.IsCompletelyMetrizableSpace.isGδ: a completely metrizable subspace of a T6 space is Gδ
This is one direction of a foundational fact in descriptive set theory --- the Polish subspaces of a Polish space are exactly the Gδ subsets.
The proof here is modeled on the exposition in Anush Tserunyan's descriptive set theory notes https://www.math.mcgill.ca/atserunyan/Teaching_notes/dst_lectures.pdf, with one adjustment; to make the formalization easier and avoid having multiple distance metrics instantiated at the same time, instead of directly defining open `U_n` with `s = ⋂ n, U` define them such that `s = closure s ∩ ⋂ n, U n` and then appeal to the fact closed sets are Gδ in a perfectly normal space.
---
- [x] depends on: #42896 [which fixes buggy naming present in Topology/Metrizable/CompletelyMetrizable]
This can be viewed as a companion to #42693, which - under the stronger assumption of the ambient space being Polish - establishes the other direction --- a Gδ subspace of a Polish space is itself Polish.
Together, these give Alexandrov's theorem, characterizing the Polish subspaces of an ambient Polish space as exactly the Gδ ones, and (via `Metric.PiNatEmbed.exists_embedding_to_hilbert_cube`) Polish spaces as exactly the Gδ subsets of the Hilbert cube. If and when both these PRs are committed, I anticipate adding these consequences to Topology/MetricSpace/Polish.lean
LLM usage: I wrote the initial version myself, while using Google's free "AI mode" to help me find relevant lemma names in the codebase, and afterward used helped Claude Opus to review, which led to simplifying some of the arguments. I take full responsibility for the code here
|
t-topology
new-contributor
|
91/0 |
Mathlib.lean,Mathlib/Topology/GDelta/CompletelyMetrizable.lean |
2 |
8 |
['github-actions', 'justin-palumbo', 'mathlib-dependent-issues', 'plp127'] |
nobody |
4-63958 4 days ago |
61-27870 61 days ago |
62-19884 62 days |
0 |
| 43113 |
themathqueen author:themathqueen |
feat(Topology/Algebra/Module/Spaces/CLM): linear map version of `smulRightL` |
This is the linear map version of `smulRightL` that can be used for non-normed 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 |
20/1 |
Mathlib/Analysis/Normed/Operator/Bilinear.lean,Mathlib/Topology/Algebra/Module/Spaces/ContinuousLinearMap.lean |
2 |
1 |
['github-actions'] |
nobody |
4-63957 4 days ago |
55-83007 55 days ago |
55-82684 55 days |
1 |
| 41347 |
mkaratarakis author:mkaratarakis |
feat(Tactic/Polynomial): poly_dvd_cert, certificate-based polynomial divisibility |
The `poly_dvd_cert` tactic: prove `p ∣ q` for `Polynomial K` polyrith-style - search the quotient uncertified in compiled `MetaM` (pseudo-division, so the certified identity is division-free), then verify with `ring` and cancel the leading-coefficient unit. Works over any field with concrete or symbolic coefficients, for monic divisors over any commutative ring, and for unit leading coefficients.
|
t-meta
LLM-generated
|
303/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ComputablePolynomial/DvdCert.lean,MathlibTest/ComputablePolynomial/PolyDvdCert.lean |
4 |
8 |
['JovanGerb', 'eric-wieser', 'github-actions', 'mkaratarakis'] |
nobody |
4-63955 4 days ago |
26-2757 26 days ago |
88-30263 88 days |
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 |
4-63954 4 days ago |
93-25461 93 days ago |
93-30914 93 days |
1 |
| 44850 |
mcdoll author:mcdoll |
feat(Analysis/LocallyConvex): asymptotics for LCTVS and normed spaces |
Two simple lemmas for asymptotics in TVS and normed spaces.
Had to add `simp` tags and simplify some of the downstream code.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
68/14 |
Mathlib/Analysis/Asymptotics/Arith.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Asymptotics/Theta.lean,Mathlib/Analysis/Complex/ValueDistribution/FirstMainTheorem.lean,Mathlib/Analysis/LocallyConvex/Asymptotics.lean,Mathlib/Analysis/Polynomial/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/Base.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean |
8 |
1 |
['github-actions'] |
nobody |
4-63433 4 days ago |
6-49708 6 days ago |
6-49385 6 days |
0 |
| 44920 |
plp127 author:plp127 |
feat(Algebra/CharP): `natCast_pow_expChar` |
Prove lemmas `natCast_pow_expChar` and `intCast_pow_expChar`. Also reorganize the `variable`s to be more consistent.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 label:t-algebra$ |
44/14 |
Mathlib/Algebra/CharP/Lemmas.lean,Mathlib/Data/Nat/Choose/Lucas.lean,Mathlib/FieldTheory/PurelyInseparable/Exponent.lean |
3 |
1 |
['github-actions', 'vihdzp'] |
nobody |
4-63022 4 days ago |
4-81649 4 days ago |
4-81326 4 days |
1 |
| 42380 |
matt-w-horn author:matt-w-horn |
feat(Algebra/Ring): add sum_range_mul_geometric_add |
Over a `CommRing`: `∑ k < m, k * (x ^ k * (1 - x)) + m * x ^ m = ∑ k ∈ Icc 1 m, x ^ k`. Summation by parts for the geometric sum; it computes the mean of a censored geometric distribution, which #42381 adds.
Used in Overload, a library on retry and overload dynamics, where it's stated over `ℝ` with a side condition that turns out to be unnecessary: https://github.com/matt-w-horn/overload/blob/4ecbebf/Overload/Retry/Amplification.lean
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-algebra
new-contributor
LLM-generated
label:t-algebra$ |
11/0 |
Mathlib/Algebra/Ring/GeomSum.lean |
1 |
7 |
['github-actions', 'matt-w-horn', 'themathqueen'] |
nobody |
4-60667 4 days ago |
4-60719 4 days ago |
68-42782 68 days |
0 |
| 44803 |
SnirBroshi author:SnirBroshi |
feat(Tactic/Linter/TextBased): lint against more characters in module names |
Instead of forbidding `<>"/\|?*` and whitespace, we forbid everything except for alphanumeric characters and `_`.
---
I checked `downstream_repos.yml` and all of them seem to comply except for SciLean with [`SciLean/Meta/Notation/Let'`](https://github.com/lecopivo/SciLean/blob/master/SciLean/Meta/Notation/Let'.lean), but they don't run this linter in CI. Also the Mathlib convention is a `Prime` suffix instead 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]
-->
|
t-linter |
36/41 |
Mathlib/Tactic/Linter/TextBased.lean,MathlibTest/Linter/ForbiddenModuleNames.lean |
2 |
2 |
['github-actions', 'vihdzp'] |
nobody |
4-60323 4 days ago |
4-60381 4 days ago |
8-5799 8 days |
0 |
| 42355 |
sankalpsthakur author:sankalpsthakur |
fix(NormNum): error if remaining at locations are unused |
`norm_num at h1 h2 ...` (and other tactics built on `Lean.Elab.Tactic.withNondepPropLocation`) unconditionally processed every hypothesis in the location list, then the target. If an earlier hypothesis closed the goal (e.g. `norm_num` found `h1` to already be `False`), processing continued against an already-closed goal instead of stopping.
Unused `at` locations now error if an earlier location closed the goal.
Closes #28703.
---------
Note. `withNondepPropLocation` currently has no other callers in the Mathlib tree besides its own definition file.
AI coding tools were used to help draft this change and PR description. I reviewed the complete change, understand the reasoning, and verified the build locally before submitting. |
new-contributor
LLM-generated
t-meta
maintainer-merge
|
32/2 |
Mathlib/Util/AtLocation.lean,MathlibTest/Tactic/NormNum/Basic.lean |
2 |
25 |
['github-actions', 'grunweg', 'joneugster', 'mathlib-merge-conflicts', 'sankalpsthakur', 'thorimur'] |
joneugster assignee:joneugster |
4-38140 4 days ago |
38-40070 38 days ago |
58-46097 58 days |
0 |
| 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 |
4-37286 4 days ago |
4-37539 4 days ago |
78-60837 78 days |
0 |
| 44817 |
luigi-massacci author:luigi-massacci |
doc(workflows): remove stale cross-reference list |
The idea is to centralize references to just the main doc page for cross-references, as opposed to having to maintain the list of external databases up to date in many places. This has already been implemented in other docs / module headers.
Part of a sequence of PRs about CI for cross-references.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
documentation
CI
easy
maintainer-merge
|
1/1 |
docs/workflows.md |
1 |
3 |
['github-actions', 'joneugster'] |
nobody |
4-36829 4 days ago |
7-44560 7 days ago |
7-44237 7 days |
1 |
| 44930 |
vihdzp author:vihdzp |
feat: non-zero zero-one measure is probability measure |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
15/6 |
Mathlib/MeasureTheory/Measure/Typeclasses/ZeroOne.lean,Mathlib/Probability/Kernel/Deterministic.lean |
2 |
1 |
['github-actions'] |
nobody |
4-30067 4 days ago |
4-30234 4 days ago |
4-29911 4 days |
0 |
| 38369 |
quantumsnow author:quantumsnow |
feat(AlgebraicTopology): Eilenberg Steenrod axioms |
This introduces the Eilenberg-Steenrod axioms for a homology theory.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #36621
- [x] depends on: #39236
- [x] depends on: #44044
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebraic-topology
large-import
increases-technical-debt
|
258/18 |
Mathlib/AlgebraicTopology/EilenbergSteenrod.lean,Mathlib/Topology/Category/TopPair.lean |
2 |
115 |
['Multramate', 'chrisflav', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'quantumsnow'] |
robin-carlier assignee:robin-carlier |
4-27489 4 days ago |
4-27489 4 days ago |
80-6600 80 days |
0 |
| 44443 |
plp127 author:plp127 |
feat(Topology/Algebra/IsUniformGroup): group is left/right uniform group iff it's equal to left/right uniformity |
Prove that for a topological group `G` with a uniform space structure, `G` is a left/right uniform group iff the uniformity is equal to `IsTopologicalGroup.leftUniformSpace G`/`IsTopologicalGroup.rightUniformSpace G`.
Also rename `uniformity_eq_comap_nhds_one'` to `uniformity_eq_comap_nhds_one_right` to match `uniformity_eq_comap_nhds_one_left`.
---
- [x] depends on: #44423
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-topology
t-group-theory
|
61/25 |
Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Topology/Algebra/IsUniformGroup/Basic.lean,Mathlib/Topology/Algebra/IsUniformGroup/Defs.lean,Mathlib/Topology/Algebra/Module/Multilinear/Topology.lean,Mathlib/Topology/Algebra/Module/Spaces/UniformConvergenceCLM.lean |
5 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
4-26635 4 days ago |
4-26690 4 days ago |
4-30494 4 days |
1 |
| 44918 |
plp127 author:plp127 |
feat(Algebra/CharP/Subring): generalize |
Generalize some instances from concrete subfoos to arbitrary `SubsemiringClass`, and provide an instance `SubsemiringClass.expChar`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 label:t-algebra$ |
28/28 |
Mathlib/Algebra/CharP/Subring.lean,Mathlib/FieldTheory/JacobsonNoether.lean,Mathlib/RingTheory/Perfection.lean |
3 |
7 |
['github-actions', 'leanprover-radar', 'plp127', 'vihdzp'] |
nobody |
4-26140 4 days ago |
4-82764 4 days ago |
4-82441 4 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 |
4-24992 4 days ago |
4-23707 4 days ago |
4-23384 4 days |
0 |
| 44934 |
CollinYuanjieRen author:CollinYuanjieRen |
fix(linter): ignore declaration names in flexible linter |
Skip the declaration name when collecting stained locations from `letIdDecl`. This prevents `simp at h; let h := 3` (and the corresponding `have`) from being reported as a use of the old `h`, while preserving warnings for references in the declaration type or right-hand side.
Addresses the third example in #32257. Includes six regression cases.
---
Validation: `MathlibTest/Linter/Flexible/Basic.lean` passes on Lean 4.35.0. With the original implementation, the two new shadowing cases fail; the four true-reference controls pass.
AI assistance: Codex assisted with the fix and regression tests.
|
t-linter
LLM-generated
new-contributor
|
74/0 |
Mathlib/Tactic/Linter/FlexibleLinter.lean,MathlibTest/Linter/Flexible/Basic.lean |
2 |
3 |
['CollinYuanjieRen', 'github-actions'] |
nobody |
4-23605 4 days ago |
4-23665 4 days ago |
4-23342 4 days |
0 |
| 44665 |
smmercuri author:smmercuri |
refactor: use unscoped completion algebra for infinite places |
- Move `scoped instances` over to a `def` and a theorem giving uniqueness of algebras under compatibility criteria
- Deprecate `LiesOverInstances.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]
-->
|
t-number-theory
large-import
|
127/74 |
Mathlib/NumberTheory/NumberField/Completion/InfinitePlace.lean,Mathlib/NumberTheory/NumberField/Completion/LiesOverInstances.lean,Mathlib/NumberTheory/NumberField/Completion/Ramification.lean |
3 |
4 |
['github-actions', 'smmercuri', 'tb65536'] |
tb65536 assignee:tb65536 |
4-22894 4 days ago |
11-28399 11 days ago |
11-28420 11 days |
0 |
| 41348 |
mkaratarakis author:mkaratarakis |
feat(ComputablePolynomial): define MvDegrees, exponent vectors for multivariate polynomials |
`MvDegrees nvars` is an exponent vector for a monomial in `nvars` variables: an array of per-variable exponents with its cached total degree, with pointwise addition (`AddCommMonoid`) and the `List`/`Array` folding lemmas the computable multivariate polynomial library (`MvSparsePoly`) is built on. The proofs were done with the help of Claude.
Based on the univariate `SparsePoly` (#41339); started by Mario Carneiro at the Hausdorff Institute (June 2024) with design notes and an original Lean prototype by James Davenport (https://github.com/JamesHDavenport/Dagstuhl23401, `verify-irred/VerifyIrred`).
|
t-meta |
301/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ComputablePolynomial/MvDegrees.lean |
3 |
2 |
['github-actions'] |
thorimur assignee:thorimur |
4-22837 4 days ago |
4-22945 4 days ago |
35-56400 35 days |
8 |
| 44721 |
mycaule author:mycaule |
feat(Geometry/Euclidean/Projection): distance to a hyperplane via its normal vector |
Add the closed formula for the distance from a point to an affine hyperplane given by a normal vector, stated in the Euclidean-geometry normal form (distance to the orthogonal projection):
```lean
theorem EuclideanGeometry.dist_orthogonalProjection_eq_abs_inner_div_norm
(s : AffineSubspace ℝ P) [Nonempty s] [s.direction.HasOrthogonalProjection]
{n : V} (hn : s.directionᗮ = ℝ ∙ n) {q : P} (hq : q ∈ s) (p : P) :
dist p (orthogonalProjection s p) = |⟪n, p -ᵥ q⟫| / ‖n‖
```
Proof: `p -ᵥ orthogonalProjection s p = t • n` since it lies in `s.directionᗮ = ℝ ∙ n`, and `⟪n, p -ᵥ q⟫ = ⟪n, t • n⟫` because `orthogonalProjection s p -ᵥ q ∈ s.direction` is orthogonal to `n`. No hypothesis `n ≠ 0` is needed. The `Metric.infDist` form follows from `dist_orthogonalProjection_eq_infDist`.
As a corollary, without any new definition (the plane through `q` with normal vector `n` is `AffineSubspace.mk' q (ℝ ∙ n)ᗮ`):
```lean
theorem EuclideanGeometry.dist_orthogonalProjection_mk'_eq_abs_inner_div_norm (q : P) (n : V) (p : P) :
dist p (orthogonalProjection (AffineSubspace.mk' q (ℝ ∙ n)ᗮ) p) = |⟪n, p -ᵥ q⟫| / ‖n‖
```
together with an instance `(AffineSubspace.mk' q K).direction.HasOrthogonalProjection` for `K.HasOrthogonalProjection` (as for `perpBisector`). This adds a (non-public) import of `Mathlib.Analysis.InnerProductSpace.Projection.Submodule` for `Submodule.orthogonal_orthogonal`.
Context: this is the distance from a point to a plane `ax + by + cz + d = 0` as taught in the French high-school curriculum, `|ax₀ + by₀ + cz₀ + d| / √(a² + b² + c²)`.
AI disclosure: the statement and proof were drafted with Claude (Claude Code) and checked by compiling against Mathlib; I have reviewed them.
---
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
t-euclidean-geometry
new-contributor
LLM-generated
|
37/2 |
Mathlib/Geometry/Euclidean/Projection.lean |
1 |
18 |
['github-actions', 'jsm28', 'mycaule', 'vihdzp', 'wwylele'] |
jsm28 assignee:jsm28 |
4-22050 4 days ago |
4-22144 4 days ago |
9-58321 9 days |
0 |
| 44726 |
mycaule author:mycaule |
feat(CategoryTheory/Idempotents/FunctorExtension): additive functors on the Karoubi envelope |
Add to `Mathlib/CategoryTheory/Idempotents/FunctorExtension.lean`:
`Karoubi.hom_eq_decompId_i_comp`: every morphism of `Karoubi C` is `P.decompId_i ≫ (toKaroubi C).map f.f ≫ Q.decompId_p`
`additive_of_toKaroubi_comp`, `additive_iff_toKaroubi_comp`: for `C`, `D` preadditive, `F : Karoubi C ⥤ D` is additive iff `toKaroubi C ⋙ F` is
`whiskeringLeftToKaroubiAdditive C D : (Karoubi C ⥤+ D) ⥤ (C ⥤+ D)`, fully faithful (`whiskeringLeftToKaroubiAdditiveFullyFaithful`), and an equivalence when `D` is idempotent complete
`karoubiUniversalAdditive C D : C ⥤+ D ≌ Karoubi C ⥤+ D`
This is the additive form of the universal property of the idempotent completion. Applied to `Cᵒᵖ`, it says that additive presheaves on `C` and on `Karoubi C` agree (Morita invariance), with values in any idempotent-complete preadditive category, e.g. `ModuleCat R`.
Mathlib has `karoubiUniversal C D : (C ⥤ D) ≌ (Karoubi C ⥤ D)` for idempotent-complete `D`, but not its restriction to additive functors.
Questions for reviewers: names (`whiskeringLeftToKaroubiAdditive`, `karoubiUniversalAdditive`); whether to also add `Karoubi.opEquivalence : Karoubi Cᵒᵖ ≌ (Karoubi C)ᵒᵖ` (compatible with `toKaroubi` on the nose) here or in a separate PR.
AI disclosure: the Lean proof was written by an AI model (Claude, Anthropic) under my direction. I have read and checked it and will handle the review. It builds against current master.
|
new-contributor
t-category-theory
LLM-generated
|
67/0 |
Mathlib/CategoryTheory/Idempotents/FunctorExtension.lean |
1 |
2 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
4-21957 4 days ago |
4-22060 4 days ago |
9-29394 9 days |
0 |
| 44936 |
JovanGerb author:JovanGerb |
feat(ClickSuggestions): use a `cdot` to focus the tactic when appropriate |
This PR changes the tactic script generated by `#click_suggestions` to include a focus dot (`·`) if either
- There are multiple goals and the user selected the first one.
- There is only one goal but the preceding tactic is a tactic sequence that was focused with a `·`.
This is to conform to the style that mathlib proofs typically have.
Unfortunately, it's not possible to add a test for the second condition, because the "preceding tactic" depends on the user's cursor position.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-meta |
12/6 |
Mathlib/Tactic/ClickSuggestions.lean,Mathlib/Tactic/ClickSuggestions/Util.lean,MathlibTest/ClickSuggestions/Test.lean,MathlibTest/ClickSuggestions/TestImpl.lean |
4 |
2 |
['JovanGerb', 'github-actions'] |
nobody |
4-21325 4 days ago |
4-21953 4 days ago |
4-21630 4 days |
0 |
| 44941 |
CollinYuanjieRen author:CollinYuanjieRen |
feat(Data/Finset/Sort): add filtering and greatest insertion lemmas |
Prove that filtering commutes with `Finset.sort`, and that inserting a new greatest element appends it to the sorted list. Both lemmas work for general total, transitive, antisymmetric relations.
Continues the sorting portion of #9605 by @davikrehalt.
Codex (GPT-6 Astra) assisted with the Lean proofs.
|
t-data
LLM-generated
new-contributor
|
13/0 |
Mathlib/Data/Finset/Sort.lean |
1 |
3 |
['CollinYuanjieRen', 'github-actions'] |
nobody |
4-20293 4 days ago |
4-20355 4 days ago |
4-20032 4 days |
0 |
| 44501 |
kim-em author:kim-em |
feat(Abel): warn about planned deprecation of transparency controls |
Warn whenever a bang form of `abel`, `abel1`, or `abel_nf` is used, and whenever the `red` configuration field of `abel_nf` is set explicitly or has a non-default value.
The warning says that these controls will be deprecated soon, directs users with a genuine use case to the dedicated [Zulip discussion](https://leanprover.zulipchat.com/#narrow/with/629213120), and documents `set_option warn.abelTransparency false` as an opt-out. Tests cover the warning and the opt-out.
---
This is the warning-first alternative to the competing removal PR #44500. |
t-meta |
57/5 |
Mathlib/Tactic/Abel.lean,MathlibTest/Linter/Flexible/ImportHeavy.lean,MathlibTest/Tactic/Abel.lean |
3 |
2 |
['github-actions'] |
nobody |
4-10063 4 days ago |
15-22990 15 days ago |
15-58929 15 days |
0 |
| 44500 |
kim-em author:kim-em |
feat(Abel): remove unused transparency controls |
The bang forms of `abel`, `abel1`, and `abel_nf`, together with the `red` configuration field of `abel_nf`, have no known handwritten uses outside the tactic test suite. Remove support for them and make `.reducible` the fixed transparency mode.
The remaining `zetaDelta`, `contextual`, and normalization-mode configuration continues to work. Tests that used bang only to unfold local lets now request `zetaDelta := true` directly.
---
This is the direct-removal alternative to the competing warning-first PR #44501. |
t-meta |
30/61 |
Mathlib/Tactic/Abel.lean,Mathlib/Tactic/Linter/FlexibleLinter.lean,MathlibTest/Linter/Flexible/ImportHeavy.lean,MathlibTest/Tactic/Abel.lean |
4 |
2 |
['Parcly-Taxel', 'github-actions'] |
nobody |
4-10060 4 days ago |
15-59356 15 days ago |
15-59033 15 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 |
4-9131 4 days ago |
4-9196 4 days ago |
5-24993 5 days |
0 |
| 43758 |
joelcanary author:joelcanary |
feat(NumberTheory/ArithmeticFunction): the Redheffer determinant equals the Mertens function |
This PR adds the zeta (divisibility) matrix, the Redheffer matrix and the Mertens function, and proves **Redheffer's theorem** (1977): the determinant of the `(n+1) × (n+1)` Redheffer matrix equals the Mertens function `M(n+1) = ∑_{k ≤ n+1} μ(k)`.
In `Mathlib/NumberTheory/ArithmeticFunction/Moebius.lean`:
- `ArithmeticFunction.sum_divisors_moebius (k) : ∑ d ∈ k.divisors, μ d = if k = 1 then 1 else 0`, the pointwise form of `moebius_mul_coe_zeta`.
New file `Mathlib/NumberTheory/ArithmeticFunction/Redheffer.lean`:
- `ArithmeticFunction.mertens : ArithmeticFunction ℤ`, the summatory function of `μ`, with `mertens_apply : mertens n = ∑ k ∈ Icc 1 n, μ k`, `mertens_one`, `mertens_add_one` and `mertens_eq_sum_fin` (the `0`-based form `∑ i : Fin n, μ (i + 1)` used on the matrix side);
- `Matrix.zetaMatrix R n : Matrix (Fin n) (Fin n) R` for any `R` with `0` and `1` (entry `1` iff `i + 1 ∣ j + 1`), with `zetaMatrix_apply` (simp), `zetaMatrix_isUpperTriangular` and, for `CommRing R`, `det_zetaMatrix : det = 1` and `det_zetaMatrix_updateCol : det (updateCol 0 u) = ∑ j, μ (j + 1) * u j` (the first row of the inverse is `(μ 1, …, μ n)`);
- `Matrix.redheffer R n` (the zeta matrix with its first column set to ones), with `redheffer_apply` (simp) and `redheffer_eq_updateCol`;
- `Matrix.det_redheffer (n) : (redheffer R (n + 1)).det = mertens (n + 1)` for any `CommRing R` (with `mertens` cast into `R`).
The remaining declarations (the row vector `(μ 1, …, μ n)`, the reindexing of a `Fin n`-sum over divisibility as a sum over `m.divisors`, and three intermediate steps) are `private`: they are proof scaffolding, not API.
Proof sketch: by linearity of `det` in the first column, `det (redheffer R (n+1)) = det (zetaMatrix R (n+1)) + det (zetaMatrix with first column (0,1,…,1))`. The first term is `1`; by Cramer's rule (`det_smul_inv_mulVec_eq_cramer`) the second is the first row of the inverse of the zeta matrix dotted with `(0,1,…,1)`, and that row is `(μ 1, …, μ (n+1))` because `μ * ζ = 1` (`moebius_mul_coe_zeta`, via `sum_divisors_moebius`). The remaining sum `μ 2 + ⋯ + μ (n+1)` is `mertens (n+1) - 1`.
The ring `R` is an explicit argument of `zetaMatrix` and `redheffer` since nothing else determines it. Neither the Mertens function nor the Redheffer matrix currently appear in Mathlib. The new file imports only `LinearAlgebra.Matrix.Block` and `NumberTheory.ArithmeticFunction.Moebius`. References added to `docs/references.bib`: `redheffer1977` (the theorem) and `odlyzko1985` (cited in the module docstring for the disproof of the Mertens conjecture).
AI use: the Lean code and this description were written with an AI agent (Claude) under my direction, from a proof in my own project; I reviewed every declaration, and the branch was checked locally with `lake build`, `lake exe lint-style` and `lake exe runLinter` before each push.
|
t-number-theory
new-contributor
LLM-generated
|
238/0 |
Mathlib.lean,Mathlib/NumberTheory/ArithmeticFunction/Moebius.lean,Mathlib/NumberTheory/ArithmeticFunction/Redheffer.lean,docs/references.bib |
4 |
15 |
['Parcly-Taxel', 'github-actions', 'joelcanary', 'wwylele'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
4-4551 4 days ago |
4-5564 4 days ago |
37-74112 37 days |
2 |
| 44363 |
Parcly-Taxel author:Parcly-Taxel |
chore(Order): remove some `set_option`s |
* Remove `set_option`s from `Order.Nucleus` and `Order.OmegaCompletePartialOrder`.
* Remove `unusedVariables` options from all files in `Order` that have them. |
tech debt
t-order
|
77/102 |
Mathlib/Order/Booleanisation.lean,Mathlib/Order/Closure.lean,Mathlib/Order/LiminfLimsup.lean,Mathlib/Order/Nucleus.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/Sum/Lattice.lean |
6 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
4-1973 4 days ago |
4-2039 4 days ago |
19-77194 19 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 |
4-1383 4 days ago |
4-1444 4 days ago |
12-23782 12 days |
0 |
| 44829 |
pelicanhere author:pelicanhere |
refactor(Analysis/Normed): generalize scalar distance and diameter lemmas |
Generalize scalar distance and diameter lemmas to `NormedRing`, and drop the nonzero assumption from `infDist_smul₀`.
|
t-analysis
new-contributor
|
21/27 |
Mathlib/Analysis/Normed/Group/AddCircle.lean,Mathlib/Analysis/Normed/Module/Ball/Pointwise.lean |
2 |
5 |
['github-actions', 'leanprover-radar', 'pelicanhere', 'tb65536'] |
nobody |
4-1125 4 days ago |
4-1192 4 days ago |
7-7479 7 days |
0 |
| 36239 |
plp127 author:plp127 |
feat(FieldTheory/KrullTopology): define uniform group structure on galois group |
Endow the galois group of a field extension `Gal(L/K)` with the structure of a uniform group. Use this to prove some properties of the galois group earlier, for example, that the galois group is compact is immediate, and in more generality than the version proved in `FieldTheory/Galois/Profinite`. Deprecate some material which used to be used to define the krull topology, but is now unused since the krull topology comes out of the uniform structure.
---
- [x] depends on: #39759
- [x] depends on: #42152
- [x] depends on: #42154
- [x] depends on: #42141
- [x] depends on: #42117
- [x] depends on: #42163
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
tech debt
increases-technical-debt
label:t-algebra$ |
465/228 |
Mathlib/FieldTheory/AbsoluteGaloisGroup.lean,Mathlib/FieldTheory/Galois/Infinite.lean,Mathlib/FieldTheory/Galois/Profinite.lean,Mathlib/FieldTheory/KrullTopology.lean,Mathlib/NumberTheory/Cyclotomic/CyclotomicCharacter.lean |
5 |
47 |
['acmepjz', 'dagurtomas', 'github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'plp127', 'vihdzp'] |
mattrobball assignee:mattrobball |
3-85084 3 days ago |
3-85138 3 days ago |
79-66424 79 days |
0 |
| 35548 |
gasparattila author:gasparattila |
fix(Tactic/FunProp): do not unfold semireducible definitions in the presence of projections |
Currently, `fun_prop` incorrectly unfolds semireducible definitions when a projection or recursor is applied. This PR fixes this by switching to `whnfR` together with `Lean.Meta.withCanUnfoldPred` for the custom unfolding logic.
Unfortunately, there are many proofs which rely on this bug. To avoid breaking proofs, the option `fun_prop.projDefaultTransparency` is added for locally restoring the previous behavior. Removing the uses of this option is left for future PRs.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
tech debt
increases-technical-debt
|
114/53 |
Mathlib/Analysis/Matrix/Normed.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Condensed/Light/TopCatAdjunction.lean,Mathlib/Condensed/TopCatAdjunction.lean,Mathlib/Geometry/Convex/ConvexSpace/PathConnectedSpaceStdSimplex.lean,Mathlib/NumberTheory/Harmonic/ZetaAsymp.lean,Mathlib/NumberTheory/ModularForms/Bounds.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/FunctionData.lean,Mathlib/Tactic/FunProp/Mor.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/FunProp/Types.lean,Mathlib/Topology/Algebra/AffineSubspace.lean,Mathlib/Topology/Algebra/ConstMulAction.lean,Mathlib/Topology/Algebra/Constructions.lean,Mathlib/Topology/Algebra/ContinuousAffineEquiv.lean,Mathlib/Topology/Algebra/Field.lean,Mathlib/Topology/Algebra/Group/ContinuousDiv.lean,Mathlib/Topology/Algebra/Group/ContinuousInv.lean,Mathlib/Topology/Algebra/Group/Matrix.lean,Mathlib/Topology/Algebra/Group/Torsor.lean,Mathlib/Topology/Algebra/Group/Units.lean,Mathlib/Topology/Algebra/Module/ContinuousLinearMap/Positive.lean,Mathlib/Topology/Algebra/Module/Equiv/Basic.lean,Mathlib/Topology/Algebra/Module/Equiv/Prod.lean,Mathlib/Topology/Algebra/Module/Equiv/Submodule.lean,Mathlib/Topology/Algebra/Module/IsWeak.lean,Mathlib/Topology/Algebra/Module/Spaces/WeakBilin.lean,Mathlib/Topology/Category/TopCat/Limits/Basic.lean,Mathlib/Topology/Constructions/SumProd.lean,Mathlib/Topology/ContinuousMap/Algebra.lean,Mathlib/Topology/Homeomorph/Lemmas.lean,Mathlib/Topology/Semicontinuity/Michael.lean,MathlibTest/FunPropMinimal.lean |
34 |
16 |
['DavidLedvinka', 'JovanGerb', 'gasparattila', 'github-actions', 'j-loreaux', 'lecopivo', 'mathlib-merge-conflicts'] |
nobody |
3-80550 3 days ago |
21-21191 21 days ago |
56-54706 56 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 |
3-77461 3 days ago |
3-77699 3 days ago |
3-77376 3 days |
0 |
| 42342 |
artie2000 author:artie2000 |
feat: `membership` tactic |
* Add `membership` tactic / `grind` ruleset for closing substructure membership goals.
* Change tests for `aesop` `SetLike` ruleset into tests for the `membership` tacitc.
This is a rewrite of the `aesop` `SetLike` ruleset for `grind`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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-meta
label:t-algebra$ |
96/63 |
Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/Field/Subfield/Defs.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/Algebra/Group/Submonoid/Basic.lean,Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/Algebra/Group/Subsemigroup/Basic.lean,Mathlib/Algebra/Group/Subsemigroup/Defs.lean,Mathlib/Algebra/Order/Ring/Ordering/Basic.lean,Mathlib/Algebra/Order/Ring/Ordering/Defs.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subring/Defs.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Defs.lean,Mathlib/Algebra/Star/Basic.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/Algebra/Star/Subalgebra.lean,Mathlib/Basic/SetLike/Basic.lean,Mathlib/Data/Set/Insert.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Defs.lean,Mathlib/Geometry/Convex/Cone/Basic.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean,Mathlib/GroupTheory/GroupAction/SubMulAction.lean,Mathlib/LinearAlgebra/Span/Defs.lean,Mathlib/Order/BooleanSubalgebra.lean,Mathlib/RingTheory/NonUnitalSubring/Basic.lean,Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean,Mathlib/RingTheory/NonUnitalSubsemiring/Defs.lean,Mathlib/Tactic/GrindAttrs.lean,Mathlib/Topology/Algebra/Algebra.lean,Mathlib/Topology/Algebra/NonUnitalAlgebra.lean,Mathlib/Topology/Algebra/NonUnitalStarAlgebra.lean,Mathlib/Topology/Algebra/StarSubalgebra.lean,MathlibTest/SetLike.lean |
38 |
15 |
['artie2000', 'github-actions', 'j-loreaux', 'joneugster', 'mathlib-merge-conflicts'] |
nobody |
3-66854 3 days ago |
3-66855 3 days ago |
24-35816 24 days |
0 |
| 44933 |
SnirBroshi author:SnirBroshi |
feat(LinearAlgebra/Matrix): `row` and `col` are linear maps |
`simp` lemmas for `(A + B).row` and similar expressions, and bundled forms of `row`/`col` as `AddEquiv`/`LinearEquiv`. Also made `row`/`col` themselves `Equiv`s, similar to existing `Matrix` functions (`of`/`reindex`/`comp`).
---
`detp_eq_of_row_eq` sped up from ~420ms to ~140ms
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 label:t-algebra$ |
161/8 |
Mathlib/Data/Matrix/Basic.lean,Mathlib/LinearAlgebra/Matrix/Defs.lean,Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean,Mathlib/LinearAlgebra/Matrix/Nonsingular.lean,Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/LinearAlgebra/Matrix/SemiringInverse.lean |
6 |
3 |
['SnirBroshi', 'github-actions', 'themathqueen'] |
nobody |
3-65869 3 days ago |
3-73148 3 days ago |
4-13510 4 days |
0 |
| 39037 |
JovanGerb author:JovanGerb |
chore: improve some instances |
These instances were found to cause slow type class searches. This is needed to avoid timeouts in the instance diamonds linter.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
2/2 |
Mathlib/CategoryTheory/Action/Concrete.lean,Mathlib/CategoryTheory/Limits/Shapes/ConcreteCategory.lean |
2 |
10 |
['JovanGerb', 'github-actions', 'grunweg', 'leanprover-radar', 'mathlib-bors'] |
kim-em assignee:kim-em |
3-64860 3 days ago |
17-83408 17 days ago |
18-27046 18 days |
0 |
| 40736 |
tb65536 author:tb65536 |
feat(NumberTheory/NumberField/HeckeLFunction): define Hecke L-Functions |
This PR defines Hecke L-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]
-->
- [x] depends on: #40735
[](https://gitpod.io/from-referrer/)
|
t-number-theory
t-algebra
label:t-algebra$ |
130/0 |
Mathlib.lean,Mathlib/NumberTheory/NumberField/HeckeLFunction.lean |
2 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
alreadydone assignee:alreadydone |
3-64858 3 days ago |
53-80249 53 days ago |
53-79926 53 days |
0 |
| 41892 |
Ljon4ik4 author:Ljon4ik4 |
feat: mapOfCompatibleSMul is the same map independently of S |
The `mapOfCompatibleSMul : M ⊗[A] N →ₗ[S] M ⊗[R] N` is the same map independently of `S`. This PR adds two lemmas asserting that (one for the underlying AddHom, one for the kernels).
I am not quite sure whether the second one is in the optimal shape: It was the shape useful to me, but maybe there is some better way to phrase it or it should be omitted completely (since it follows from the first one...).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
18/1 |
Mathlib/LinearAlgebra/TensorProduct/Basic.lean |
1 |
26 |
['Ljon4ik4', 'Ruben-VandeVelde', 'github-actions', 'mathlib-merge-conflicts', 'themathqueen'] |
eric-wieser assignee:eric-wieser |
3-64856 3 days ago |
11-33085 11 days ago |
90-57308 90 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 |
3-64855 3 days ago |
88-62094 88 days ago |
88-61771 88 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 |
3-64853 3 days ago |
36-54945 36 days ago |
74-81383 74 days |
0 |
| 43191 |
lua-vr author:lua-vr |
feat(MeasureTheory): generalize `QuasiMeasurePreserving` to `AEMeasurable` |
We relax the definition of `QuasiMeasurePreserving` from assuming the map is `Measurable` to assuming it is `AEMeasurable`. This comes as a first step for doing the same for `MeasurePreserving`.
A motivation for the change of both definitions is that `Measure.map` has a meaningful value for all `AEMeasurable` maps, and it would make the measure-preserving definition equivalent to the `HasLaw` definition, allowing more shared API.
---
The change was discussed in this Zulip topic: [link](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/MeasureTheory.3A.20Various.20refactors/with/620111393).
- [x] depends on: #43484
- [x] depends on: #43486
- [x] depends on: #43485
- [x] depends on: #43496
- [x] depends on: #43190
Made with the help of Sonnet, but organized, 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]
-->
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
97/75 |
Mathlib/Dynamics/Ergodic/Action/OfMinimal.lean,Mathlib/Dynamics/Ergodic/Ergodic.lean,Mathlib/Dynamics/Ergodic/Extreme.lean,Mathlib/Dynamics/Ergodic/MeasurePreserving.lean,Mathlib/MeasureTheory/Constructions/Pi.lean,Mathlib/MeasureTheory/Function/AEEqFun.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/AEStronglyMeasurable.lean,Mathlib/MeasureTheory/Group/Prod.lean,Mathlib/MeasureTheory/Measure/Lebesgue/EqHaar.lean,Mathlib/MeasureTheory/Measure/Prod.lean,Mathlib/MeasureTheory/Measure/QuasiMeasurePreserving.lean,Mathlib/Probability/Density.lean,Mathlib/Probability/Kernel/CondDistrib.lean |
13 |
7 |
['github-actions', 'lua-vr', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
urkud assignee:urkud |
3-64850 3 days ago |
10-84399 10 days ago |
15-74926 15 days |
1 |
| 40841 |
TJHeeringa author:TJHeeringa |
chore(Topology/Algebra): rename .equivOfInverse to .ofContinuousLinearMap |
Renames `ContinuousLinearEquiv.equivOfInverse` and `ContinuousLinearEquiv.equivOfInverse'` to `ContinuousLinearEquiv.ofContinuousLinearMap` and `ContinuousLinearEquiv.ofContinuousLinearMap'`. It reorders the order of arguments to match that of `ofLinearMap`.
---
Addresses the ToDO `*ToDo*: Improve the naiming to make it match `LinearMap.ofLinear`.` for `ContinuousLinearEquiv.equivOfInverse`.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #40865
- [x] depends on: #42818
- [x] depends on: #42822
[](https://gitpod.io/from-referrer/)
|
t-topology
tech debt
|
80/25 |
Mathlib/Analysis/InnerProductSpace/TensorProduct.lean,Mathlib/Topology/Algebra/Module/ContinuousLinearMap/Invertible.lean,Mathlib/Topology/Algebra/Module/Equiv/Basic.lean |
3 |
83 |
['TJHeeringa', 'Whysoserioushah', 'b-mehta', 'github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'themathqueen'] |
nobody |
3-63954 3 days ago |
24-83310 24 days ago |
41-16164 41 days |
0 |
| 42142 |
philipp-svinger author:philipp-svinger |
feat(Analysis/ODE): peano existence theorem, Tonelli approximation 1 |
Add Tonelli approximation method for ODEs.
Implement the structure IsPeano similar to IsPicardLindelof. Construct a sequence of approximations using Tonelli technique.
First step towards Peano existence
Co-authored-by: Florian Grube <fgrube@math.uni-bielefeld.de>
Co-authored-by: Paul Niessner <pniessner@math.uni-bielefeld.de>
Co-authored-by: Julian Rolfes <jrolfes@math.uni-bielefeld.de>
Co-authored-by: Luke Schleef <lschleef@math.uni-bielefeld.de>
Co-authored-by: Philipp Svinger <psvinger@math.uni-bielefeld.de>
---
We want to add the proof of the Peano existence theorem for ODEs, using Tonelli approximations.
This will be a series of PRs working towards this goal. In this first PR, we
implement the structure IsPeano similar to IsPicardLindelof and construct a sequence of approximations using Tonelli technique. See our further PRs for more information, last: #42148
---
The statements, definitions and proofs were written without AI.
AI was used afterwards to help us to adapt our code to the style and naming conventions.
We also used it in the process of writing a documentation.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
|
207/0 |
Mathlib.lean,Mathlib/Analysis/ODE/Peano.lean |
2 |
24 |
['github-actions', 'mcdoll', 'philipp-svinger', 'sgouezel'] |
nobody |
3-63953 3 days ago |
24-83292 24 days ago |
81-44177 81 days |
5 |
| 41362 |
JovanGerb author:JovanGerb |
perf(Algebra/MonoidAlgebra): `no_expose` some operations |
This PR uses `no_expose` for the `Add`, `Sub`, `Neg`, `One` and `Mul` instances of `MonoidAlgebra`. This improves performance. The `Zero` instance is left exposed for now as no_exposing it would require a few more adaptations.
To achieve this, this PR changes `fast_instance%` in the same way that `inferInstanceAs` was changed recently in https://github.com/leanprover/lean4/pull/15216
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #42291
[](https://gitpod.io/from-referrer/)
|
|
75/58 |
Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/MonoidAlgebra/Division.lean,Mathlib/Algebra/MonoidAlgebra/Grading.lean,Mathlib/Algebra/MonoidAlgebra/Ideal.lean,Mathlib/Algebra/MonoidAlgebra/MapDomain.lean,Mathlib/Algebra/MonoidAlgebra/Module.lean,Mathlib/Algebra/MonoidAlgebra/ToDirectSum.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/CommRing.lean,Mathlib/Algebra/MvPolynomial/Eval.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/RingTheory/Extension/Presentation/Basic.lean,Mathlib/RingTheory/FinitePresentation.lean,Mathlib/RingTheory/MvPowerSeries/Basic.lean,Mathlib/Tactic/FastInstance.lean |
17 |
18 |
['JovanGerb', 'github-actions', 'kbuzzard', 'leanprover-radar', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
3-60985 3 days ago |
3-61044 3 days ago |
54-47134 54 days |
0 |
| 44939 |
JX-Mo author:JX-Mo |
feat(RepresentationTheory): add Schur's lemma for central elements |
`Algebra.lsmul` has type `End_k(V)` while Schur's lemma uses `End_A(V)`. We add a bridge lemma saying that central elements act as scalars. |
t-algebra label:t-algebra$ |
10/0 |
Mathlib/RepresentationTheory/AlgebraRepresentation/Basic.lean |
1 |
2 |
['github-actions'] |
nobody |
3-59861 3 days ago |
3-59910 3 days ago |
4-22101 4 days |
1 |
| 44950 |
SnirBroshi author:SnirBroshi |
feat(Order/Atoms): atoms are minimal non-`⊥` elements |
- `Minimal (· ≠ ⊥) a ↔ IsAtom a`
- `Minimal (⊥ < ·) a ↔ IsAtom a`
- `Minimal (¬IsMin ·) a ↔ IsAtom a`
The first one works for preorders, and the others require a partial order.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-order |
16/0 |
Mathlib/Order/Atoms.lean |
1 |
1 |
['github-actions'] |
nobody |
3-59530 3 days ago |
3-59752 3 days ago |
3-59429 3 days |
0 |
| 44943 |
JovanGerb author:JovanGerb |
fix(ClickSuggestions): display all `grw` side goals |
This PR fixes the `grw` suggestions in `#click_suggestions` in the case that `grw` creates a side goal, for example when using `grw` inside a multiplication, or inside `|·|` (both of which require positivity). Previously, these side goals were not shown, and only the side goals coming from the lemma were shown.
This doesn't come with a test because the change is just in what's in the widget, which we can't test easily.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-meta |
35/32 |
Mathlib/Tactic/ClickSuggestions/GRewrite.lean,Mathlib/Tactic/ClickSuggestions/TryPremises.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
3-59305 3 days ago |
3-59359 3 days ago |
3-81187 3 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 |
3-49225 3 days ago |
3-49283 3 days ago |
117-24959 117 days |
0 |
| 40448 |
ChiCubed author:ChiCubed |
feat(LinearAlgebra/Dimension): tower law for algebraic extensions |
We generalise the tower law for `Module.rank` to the situation of a module over an algebraic extension of domains.
---
See [the Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Tower.20law.20for.20.60Module.2Erank.60/) for some associated discussion.
I am not sure about in which file these results should live, or what their names should be. For the file I have gone with `LinearAlgebra/Dimension/Algebraic.lean` for now, because these feel more like dimension theorems than `Algebra.IsAlgebraic` theorems, and IMO do not logically fit into the other existing files in `LinearAlgebra/Dimension`.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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$ |
297/11 |
Mathlib.lean,Mathlib/Algebra/Group/Action/Faithful.lean,Mathlib/LinearAlgebra/Dimension/Domain.lean,Mathlib/LinearAlgebra/Dimension/Free.lean,Mathlib/RingTheory/Algebraic/Integral.lean,Mathlib/RingTheory/Localization/FractionRing.lean |
6 |
63 |
['ChiCubed', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'tb65536', 'themathqueen'] |
kim-em assignee:kim-em |
3-36954 3 days ago |
3-46614 3 days ago |
126-78606 126 days |
0 |
| 44955 |
user202729 author:user202729 |
chore: change all occurrences of equational lemma to equation lemma |
Change all occurrences of "equational lemma" to "equation lemma". Also add a missing apostrophe.
---
As far as I can tell, both are grammatical: the "equation" in "equation lemma" is a noun adjunct, while "equational" is an adjective. It feels like noun adjunct is "more advanced English" though.
Before this pull request: ("equation lemma" is more popular than "equational lemma")
```
[mathlib4]$ rg 'equational lemma'|wc -l
10
[mathlib4]$ rg 'equation lemma'|wc -l
31
[mathlib4]$ rg 'equational theorem'|wc -l
6
[mathlib4]$ rg 'equation theorem'|wc -l
2
```
and in Lean: (same, but only slightly)
```
[lean4]$ rg 'equational lemma'|wc -l
16
[lean4]$ rg 'equation lemma'|wc -l
20
[lean4]$ rg 'equational theorem'|wc -l
85
[lean4]$ rg 'equation theorem'|wc -l
38
```
Not sure if it's worth unifying the theorem case (probably yes. But in this case, apparently "equational theorem" is more popular than "equation theorem".), and/or unify lemma and theorem (probably not, mathlib distinguishes lemmas and theorems).
|
new-contributor |
10/10 |
Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/MappingCone.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Sites/CoversTop/Basic.lean,Mathlib/CategoryTheory/Sites/Hypercover/One.lean,Mathlib/Data/Nat/Fib/Zeckendorf.lean,Mathlib/Tactic/Eqns.lean,Mathlib/Tactic/Translate/ToAdditive.lean,docs/Conv/Guide.lean |
9 |
3 |
['SnirBroshi', 'github-actions'] |
nobody |
3-33507 3 days ago |
3-37914 3 days ago |
3-37591 3 days |
0 |
| 42393 |
xroblot author:xroblot |
feat(Algebra/QuadraticAlgebra): classify quadratic algebras over ℚ |
Every `QuadraticAlgebra ℚ a b` with nonzero discriminant is isomorphic to a standard form `QuadraticAlgebra ℚ d 0` for a squarefree integer `d`, and this `d` is a complete invariant. Thus quadratic algebras over `ℚ` are classified by squarefree integers.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #42319
- [x] depends on: #42708
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
101/0 |
Mathlib.lean,Mathlib/Algebra/QuadraticAlgebra/Rat.lean,Mathlib/Data/Rat/Squarefree.lean |
3 |
6 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
riccardobrasca assignee:riccardobrasca |
3-32658 3 days ago |
3-32756 3 days ago |
35-22426 35 days |
0 |
| 44961 |
RemyDegenne author:RemyDegenne |
feat(Probability): properties of predictable processes |
- Add basic API for predictable processes.
- Prove that a predictable process stopped at a stopping time is predictable.
- Prove that a left-continuous adapted process is predictable.
Co-authored-by: Joris van Winden <j.vanwinden@student.tudelft.nl>
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
Parts of the proof about stopped processes is LLM-generated. I don't know for sure for the continuity part, but I suspect it is also, at least partially, and by an older LLM. I golfed and rewrote manually several parts of those proofs.
|
brownian
LLM-generated
t-measure-probability
|
241/1 |
Mathlib/Probability/Process/Predictable.lean |
1 |
1 |
['github-actions'] |
nobody |
3-32553 3 days ago |
3-32607 3 days ago |
3-32284 3 days |
0 |
| 44959 |
user202729 author:user202729 |
doc: add more examples to SimpRw documentation |
---
Previously, the documentation was hard to understand for me, since it does not explain _why_ neither `simp` nor `rw` solves the example. (Actually `simp` does solve it, as I pointed out in the edited comment. I think the actual advantage of `simp_rw` over `simp` is (some) predictability…?)
Not sure if "pass options to `simp only`" is an intended feature, though it works now. Feels odd. I don't think it would or should be used much, if this tactic is meant to be something `rw`-like. |
t-meta
new-contributor
|
52/2 |
Mathlib/Tactic/SimpRw.lean |
1 |
7 |
['SnirBroshi', 'github-actions', 'user202729'] |
nobody |
3-25278 3 days ago |
3-25333 3 days ago |
3-30480 3 days |
0 |
| 43041 |
ajirving author:ajirving |
feat(Analysis/Analytic): analytic order of a constant function and multiplying by constants |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 analyticOrderAt_const (which matches the meromorphic version) as well as various forms of analyticOrderAt_mul_const and analyticOrderNatAt variants. |
t-analysis |
48/0 |
Mathlib/Analysis/Analytic/Order.lean |
1 |
8 |
['ajirving', 'github-actions', 'j-loreaux'] |
ADedecker assignee:ADedecker |
3-20026 3 days ago |
3-20082 3 days ago |
58-28846 58 days |
0 |
| 44754 |
ajirving author:ajirving |
feat(Analysis/Complex): existence of analytic logs and roots |
Extends the results in BranchLogRoot.lean to construct logs and nth roots of analytic functions. This required a new inverse function theorem lemma, analyticAt_comp_iff_right_of_deriv_ne_zero. This is similar to the existing analyticAt_comp_iff_of_deriv_ne_zero: the new result gives analyticity of the right factor of the composition whereas the existing result gives the left. Perhaps better names are needed to distinguish these two similar 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]
-->
|
t-analysis |
50/1 |
Mathlib/Analysis/Calculus/InverseFunctionTheorem/Analytic.lean,Mathlib/Analysis/Complex/BranchLogRoot.lean |
2 |
2 |
['github-actions'] |
nobody |
3-19985 3 days ago |
3-20035 3 days ago |
9-34494 9 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
|
33/15 |
Mathlib/Algebra/Group/End.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean |
2 |
11 |
['Formalistic03', 'github-actions', 'tb65536', 'wwylele'] |
nobody |
3-18865 3 days ago |
3-18865 3 days ago |
18-32925 18 days |
0 |
| 42790 |
xroblot author:xroblot |
chore(RingTheory/Ideal/Norm): restate the `Ideal.absNorm` API for rings with finite quotients |
Most results about `absNorm` that assumed `[Module.Finite ℤ S]` are restated for a ring with finite quotients under a primed name, the original version is kept and proved using the new one. The plan is to eventually keep only the primed versions, under their unprimed names. This is not done here because `Ring.HasFiniteQuotients S` does not follow by instance search from `[Module.Finite ℤ S]`, so it seems better to do that separately.
A few results no longer need the ring to be infinite either, now that the norm has the junk value `0` at the zero ideal.
The body of the file is reorganized accordingly, in four blocks: the results needing no finiteness assumption, those over an infinite ring, those over a ring with finite quotients, and those over a ring finite over `ℤ`.
Prepared with Claude Code 🤖
---
- [x] depends on: #44698
|
t-ring-theory |
165/115 |
Mathlib/NumberTheory/NumberField/DedekindZeta.lean,Mathlib/NumberTheory/NumberField/DirichletDensity.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean,Mathlib/RingTheory/Ideal/Quotient/HasFiniteQuotients/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/HasFiniteQuotients/Norm.lean |
5 |
17 |
['github-actions', 'jcommelin', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'tb65536', 'xroblot'] |
nobody |
3-18365 3 days ago |
3-18418 3 days ago |
37-60922 37 days |
2 |
| 43899 |
plp127 author:plp127 |
refactor(RepresentationTheory/Character): assume `FiniteDimensional k ρ.asModule` instead |
Change the assumptions of some theorems to `FiniteDimensional k ρ.asModule` instead of `FiniteDimensional k V`, so that typeclass inference may use `ρ` as an argument to typeclass search. Prove that irreducible representations of finite groups are finite dimensional, and use it to remove some `FiniteDimensional` assumptions.
---
- [x] depends on: #44763
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
27/12 |
Mathlib/RepresentationTheory/Basic.lean,Mathlib/RepresentationTheory/Character.lean,Mathlib/RepresentationTheory/Coinvariants.lean,Mathlib/RepresentationTheory/Irreducible.lean |
4 |
8 |
['JX-Mo', 'github-actions', 'mathlib-dependent-issues', 'plp127'] |
nobody |
3-15619 3 days ago |
3-15817 3 days ago |
23-7947 23 days |
0 |
| 44899 |
RemyDegenne author:RemyDegenne |
feat: add a class for reflexive topological vector spaces |
Define reflexive spaces and show that
- Hilbert spaces are reflexive
- finite-dimensional normed spaces are reflexive
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 first commit of this PR was LLM-generated (it results from an interaction between me and an LLM over several steps, but the code is entirely from the LLM). Subsequent commits are my changes.
The main reason I want this class is to then introduce spaces with the Radon-Nilodym property (for properties of martingales) and show that reflexive spaces have it. |
brownian
t-analysis
LLM-generated
t-measure-probability
|
250/33 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Reflexive.lean,Mathlib/Analysis/Normed/Module/DoubleDual.lean,Mathlib/Analysis/Normed/Module/HahnBanach.lean,Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean |
5 |
2 |
['github-actions', 'peakpoint'] |
nobody |
3-11483 3 days ago |
5-19082 5 days ago |
5-18759 5 days |
0 |
| 44769 |
mycaule author:mycaule |
feat: volume of solids of revolution and of cones |
A new file `Mathlib/MeasureTheory/Measure/Lebesgue/SolidOfRevolution.lean` with the disc method for volumes of solids of revolution, in `ℝ × EuclideanSpace ℝ (Fin 2)`, and the volume of cones:
* `MeasureTheory.Measure.prod_setOf_mem_closedBall`: Cavalieri's principle for regions whose slices are closed balls, for any product `μ.prod ν` (`ν` s-finite, `E` a pseudometric space with `OpensMeasurableSpace`):
`μ.prod ν {p | p.1 ∈ s ∧ p.2 ∈ closedBall c (r p.1)} = ∫⁻ x in s, ν (closedBall c (r x)) ∂μ`.
* `EuclideanSpace.volume_setOf_mem_norm_le`: `volume {p : ℝ × ℝ² | p.1 ∈ s ∧ ‖p.2‖ ≤ r p.1} = ∫⁻ x in s, ENNReal.ofReal (r x) ^ 2 * ENNReal.ofReal π` (no sign condition on `r` is needed).
* `EuclideanSpace.volume_solidOfRevolution`: if `f` is continuous and nonnegative on `[a, b]`, then the solid of revolution has volume `ENNReal.ofReal (π * ∫ x in a..b, f x ^ 2)`.
* `MeasureTheory.Measure.volume_prod_convexJoin_singleton_prod`: for `F` a finite-dimensional real normed space with an additive Haar measure `μ`, `B ⊆ F` measurable, any apex `a : ℝ × F` and any `c : ℝ`, the cone `convexJoin ℝ {a} ({c} ×ˢ B)` has measure `μ B * ENNReal.ofReal (|c - a.1| / (finrank ℝ F + 1))`. Proved by slicing the height-1 cone with apex `0` (`Measure.prod_apply`, `addHaar_smul`), then a translation and the linear map `(t, y) ↦ ((c - a.1) t, y)` (`measure_vadd`, `addHaar_image_linearMap`). The simplex formula `Affine.Simplex.euclideanHausdorffMeasure_closedInterior` is a cone over a face and could be derived from it in a follow-up.
* `EuclideanSpace.volume_cone`: the cone of radius `R` and height `H` has volume `π * R ^ 2 * H / 3`, now a corollary of the previous theorem (the cone is `convexJoin ℝ {0} ({H} ×ˢ closedBall 0 R)`).
The solid of revolution is proved with `Measure.prod_apply` (slices are balls) and `EuclideanSpace.volume_closedBall_fin_two`.
Happy to change the ambient space (e.g. `EuclideanSpace ℝ (Fin 3)` with rotation around a coordinate axis) or the file location if reviewers prefer.
AI disclosure: the statements and proofs were drafted with Claude (Claude Code) and checked by compiling against Mathlib; I have reviewed them.
---
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
t-measure-probability
LLM-generated
new-contributor
|
192/0 |
Mathlib.lean,Mathlib/MeasureTheory/Measure/Lebesgue/SolidOfRevolution.lean |
2 |
14 |
['github-actions', 'mycaule', 'vihdzp', 'wwylele'] |
nobody |
3-10271 3 days ago |
3-10379 3 days ago |
9-7400 9 days |
0 |
| 44614 |
MichaelStollBayreuth author:MichaelStollBayreuth |
feat(GroupTheory/QuotientGroup/UnitsModPow): add Units.ModPow and API |
This is a first step toward extending Mathlib's coverage of Selmer groups of rings of S-integers in étale algebras over number fields, ultimately aiming at the Mordell-Weil Theorem for elliptic curves.
We add `Units.ModPow`, an `abbrev` for the quotient of the unit group of a commutative monoid by the subgroup consisting of `n`th powers, together with some basic API, in a new module (and some helper lemmas in other modules, including a few missing `to_additive` attributes).
This is upstreamed from [EllipticCurves](https://github.com/MichaelStollBayreuth/EllipticCurves). The code was originally written by Claude and then reviewed 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]
-->
|
t-algebra
LLM-generated
t-ring-theory
label:t-algebra$ |
187/3 |
Mathlib.lean,Mathlib/Algebra/Group/Commute/Units.lean,Mathlib/Algebra/Group/Units/Equiv.lean,Mathlib/GroupTheory/QuotientGroup/UnitsModPow.lean,Mathlib/RingTheory/DedekindDomain/SelmerGroup.lean |
5 |
12 |
['MichaelStollBayreuth', 'github-actions', 'mathlib-merge-conflicts', 'tb65536'] |
nobody |
3-7141 3 days ago |
3-7361 3 days ago |
6-65084 6 days |
0 |
| 44967 |
ajirving author:ajirving |
feat(Analysis/Complex): generalise Borel-Caratheodory and prove derivative bound |
Replaces the existing proof of the Borel-Caratheodory theorem with a version which first bounds all the derivatives at the centre using circle averages. Then uses this to prove a bound for the derivative. I hesitated over removing the existing proof but the new version has several advantages:
* Drops the condition 0 < M
* Gives the derivative bound with a sharp constant
* I also generalised to arbitrary centre rather than just the origin
I've left the existing API for balls centred at the origin but I've deprecated those results in favour of the new more general versions. I did however change the old results to drop the no longer needed 0 < M and 0 < R hypotheses. Note that all the deleted results were private.
Several more widely useful helper lemmas were added to TaylorSeries, MeanValue and CircleAverage. If helpful I could separate those into a smaller PR first.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
229/85 |
Mathlib/Analysis/Complex/BorelCaratheodory.lean,Mathlib/Analysis/Complex/MeanValue.lean,Mathlib/Analysis/Complex/TaylorSeries.lean,Mathlib/MeasureTheory/Integral/CircleAverage.lean,docs/1000.yaml |
5 |
4 |
['ajirving', 'github-actions'] |
nobody |
3-3491 3 days ago |
3-3955 3 days ago |
3-18203 3 days |
0 |
| 43578 |
WilliamCoram author:WilliamCoram |
feat: identifying WithZero (Multiplicative M) and WithTop M |
We identify `Mᵐ⁰ = WithZero (Multiplicative M)` with `WithTop M` in the form of an order-and-additive isomorphism.
In future work this will allow us to define additive valuations from valuations with a usable target (specifically attaching to a rank one discrete valuation an additive valuation into WithTop Z).
AI usage:
The need of attaching additive valuations to valuations came up in my Newton polygon work - after some discussion with people and Claude this was the approach I felt worked best for me. The file was drafted and written by Claude with my input and cleaning.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
t-algebra
label:t-algebra$ |
142/0 |
Mathlib.lean,Mathlib/Algebra/Order/GroupWithZero/NegLog.lean |
2 |
6 |
['Multramate', 'faenuccio', 'github-actions', 'jjdishere'] |
nobody |
3-766 3 days ago |
42-15670 42 days ago |
42-15347 42 days |
1 |
| 31981 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Incenter): `tangentSet` and `tangentsFrom` lemmas |
Add lemmas relating the faces of a simplex to `tangentSet` and `tangentsFrom` for an exsphere, in particular for a triangle that any two side lines are the `tangentsFrom` their shared vertex to the insphere or any exsphere.
---
<!-- 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: #31733
- [x] depends on: #31891
- [x] depends on: #31892
- [x] depends on: #31893
- [x] depends on: #31978
- [x] depends on: #31979
- [x] depends on: #31980
- [x] depends on: #32296
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
95/0 |
Mathlib/Geometry/Euclidean/Incenter/Basic.lean |
1 |
18 |
['Parcly-Taxel', 'github-actions', 'jsm28', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'pepamontero', 'wwylele'] |
eric-wieser assignee:eric-wieser |
2-86327 2 days ago |
2-86375 2 days ago |
53-1438 53 days |
1 |
| 44853 |
dkaysin author:dkaysin |
feat(Geometry/Group): relate the word metric to the Cayley graph distance |
This PR constructs the Cayley graph (realized as a `SimpleGraph`) for a group `G` with respect to a generating family `P : Group.Generators G ι`, implements the link between walks in the Cayley graph and words, and establishes equivalence of the word metric and the distance on the Cayley graph.
---
Resolves TODO from [#43118](https://github.com/leanprover-community/mathlib4/pull/43118).
Implementation details:
* `SimpleGraph` was chosen vs `Quiver/Schreier` because it has a more comprehensive API at the moment. More context: [Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Relate.20the.20word.20metric.20to.20the.20distance.20in.20the.20Cayley.20graph/with/631376709).
* To accommodate possible future implementation for `Quiver/Schreier`, I've included "Simple" in the names of definitions and theorems (e.g., `cayleySimpleGraph`).
* Because simple graph has no loops, in several places we have to check that a letter/generator is not trivial.
Use of AI: I used Claude Opus 5.5 to help me with gathering context, designing API and implementation of several proofs.
* I used AI to brainstorm and compare API design ideas based on the context from previous Zulip threads and existing repo code.
* I used AI for suggesting parts of the proofs for `exists_walk_of_word` and `exists_word_of_walk` lemmas.
* I used AI for checking 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]
-->
|
t-geometric-group-theory
new-contributor
LLM-generated
|
225/16 |
Mathlib.lean,Mathlib/Geometry/Group/CayleySimpleGraph.lean,Mathlib/Geometry/Group/README.md,Mathlib/Geometry/Group/WordMetric.lean,Mathlib/Geometry/Group/WordProd.lean,Mathlib/GroupTheory/Generators.lean |
6 |
12 |
['dkaysin', 'github-actions', 'tb65536', 'vlad902'] |
nobody |
2-84370 2 days ago |
2-84582 2 days ago |
6-32686 6 days |
0 |
| 44887 |
YaelDillies author:YaelDillies |
chore(Topology): deprecate `UniformSpace.ball` in favor of `SetRel.ball` |
Since `UniformSpace.ball` is a right-ball and `SetRel.ball` is a left-ball, we need to move around some appeals to symmetry of the relation. Follow-up to #33077.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-topology
maintainer-merge
|
354/297 |
Mathlib/Dynamics/TopologicalEntropy/CoverEntropy.lean,Mathlib/Dynamics/TopologicalEntropy/DynamicalEntourage.lean,Mathlib/Dynamics/TopologicalEntropy/NetEntropy.lean,Mathlib/Dynamics/TopologicalEntropy/Semiconj.lean,Mathlib/Dynamics/TopologicalEntropy/Subset.lean,Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean,Mathlib/MeasureTheory/Measure/RegularityCompacts.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/Topology/Algebra/Module/LocallyConvex.lean,Mathlib/Topology/EMetricSpace/Basic.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean,Mathlib/Topology/MetricSpace/Pseudo/Lemmas.lean,Mathlib/Topology/Metrizable/Basic.lean,Mathlib/Topology/Semicontinuity/Hemicontinuity.lean,Mathlib/Topology/Sequences.lean,Mathlib/Topology/UniformSpace/Basic.lean,Mathlib/Topology/UniformSpace/Cauchy.lean,Mathlib/Topology/UniformSpace/Closeds.lean,Mathlib/Topology/UniformSpace/Compact.lean,Mathlib/Topology/UniformSpace/CompactConvergence.lean,Mathlib/Topology/UniformSpace/Defs.lean,Mathlib/Topology/UniformSpace/Equicontinuity.lean,Mathlib/Topology/UniformSpace/HeineCantor.lean,Mathlib/Topology/UniformSpace/Separation.lean,Mathlib/Topology/UniformSpace/Ultra/Basic.lean,Mathlib/Topology/UniformSpace/UniformConvergenceTopology.lean,Mathlib/Topology/UniformSpace/UniformEmbedding.lean,Mathlib/Topology/UniformSpace/Uniformizable.lean |
28 |
2 |
['eric-wieser', 'github-actions'] |
nobody |
2-82668 2 days ago |
5-42860 5 days ago |
5-42537 5 days |
0 |
| 40266 |
WangJiabai author:WangJiabai |
feat(RingTheory/MvPolynomial): define generic determinantal ideals |
This PR adds a foundational API for determinantal ideals of the generic matrix.
It defines `Matrix.MinorIndex`, the corresponding minors of the existing generic
matrix `Matrix.mvPolynomialX`, the finite set of all `t × t` generic minors, and
the ideal generated by these minors in `MvPolynomial (Fin m × Fin n) R`.
It also proves basic membership, evaluation, coefficient-map/base-change, and
finite-generation lemmas.
This PR intentionally does not include the Sturmfels/KRS/straightening/Groebner
part of the development.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
Additional context:
This is extracted and refactored from a standalone project on determinantal
ideals and the Gröbner-basis theorem for generic determinantal ideals:
https://github.com/WangJiabai/Determinantal-Ideals-Formalization
The current PR is intentionally limited to the small foundational API for
generic minors and generic determinantal ideals.
AI use:
ChatGPT was used for planning/refactoring discussion, and Codex was used to
draft some proof scripts. I reviewed the statements and proofs and am
responsible for the submitted code.
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
LLM-generated
|
147/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean,Mathlib/RingTheory/MvPolynomial/DeterminantalIdeal.lean |
3 |
45 |
['WangJiabai', 'github-actions', 'jjdishere', 'tb65536'] |
jjdishere assignee:jjdishere |
2-78518 2 days ago |
2-78518 2 days ago |
136-4114 136 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 |
2-76756 2 days ago |
2-76965 2 days ago |
38-15544 38 days |
0 |
| 43980 |
joelriou author:joelriou |
feat(Algebra/Homology): the homology functor is accessible |
If `C` is a Grothendieck abelian category, we show that the homology functors (from the categories of short complexes or homological complexes in `C`) preserve filtered colimits.
---
There are a few new `set_option` in this PR, but I am fixing all the transparency issues in all the `Algebra/Homology/ShortComplex/` files in a followup PR #44011.
- [x] depends on: #43977
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
increases-technical-debt
|
275/0 |
Mathlib.lean,Mathlib/Algebra/Homology/ShortComplex/HomologicalComplex.lean,Mathlib/Algebra/Homology/ShortComplex/Homology.lean,Mathlib/Algebra/Homology/ShortComplex/HomologyCofork.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/HomologyFunctorAccessible.lean |
5 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
2-74710 2 days ago |
2-74913 2 days ago |
7-79744 7 days |
1 |
| 43372 |
plp127 author:plp127 |
chore: deprecate monad operations on `MvPolynomial` |
Deprecate some monad operations on `MvPolynomial`, as they are simply special cases of existing `eval` operations and it's not clear from the name what the signatures of these operations are.
---
- [x] depends on: #43371
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
377/254 |
Mathlib/Algebra/Module/LinearMap/Polynomial.lean,Mathlib/Algebra/MvPolynomial/Eval.lean,Mathlib/Algebra/MvPolynomial/Expand.lean,Mathlib/Algebra/MvPolynomial/Monad.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/RingTheory/AlgebraicIndependent/Basic.lean,Mathlib/RingTheory/NoetherNormalization.lean,Mathlib/RingTheory/WittVector/Basic.lean,Mathlib/RingTheory/WittVector/Defs.lean,Mathlib/RingTheory/WittVector/Frobenius.lean,Mathlib/RingTheory/WittVector/InitTail.lean,Mathlib/RingTheory/WittVector/IsPoly.lean,Mathlib/RingTheory/WittVector/MulCoeff.lean,Mathlib/RingTheory/WittVector/MulP.lean,Mathlib/RingTheory/WittVector/StructurePolynomial.lean,Mathlib/RingTheory/WittVector/Verschiebung.lean,Mathlib/RingTheory/WittVector/WittPolynomial.lean |
17 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
2-69445 2 days ago |
2-69506 2 days ago |
37-79193 37 days |
0 |
| 42626 |
mkaratarakis author:mkaratarakis |
feat(Analysis/Matrix): norm, spectral radius and Gelfand radius of stochastic matrices |
Operator-norm, spectral-radius and Gelfand-radius bounds for stochastic matrices: `‖A *ᵥ v‖ ≤ ‖v‖` and `‖A‖ ≤ 1` for row-stochastic `A`, and `spectralRadius 𝕜 A ≤ 1`, `gelfandRadius A ≤ 1` for row- and column-stochastic `A`.
Split off from #39914.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
@or4nge19
|
t-analysis |
84/0 |
Mathlib.lean,Mathlib/Analysis/Matrix/Stochastic.lean |
2 |
11 |
['eric-wieser', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'mkaratarakis', 'tb65536'] |
nobody |
2-67964 2 days ago |
2-68143 2 days ago |
38-54924 38 days |
2 |
| 39915 |
mkaratarakis author:mkaratarakis |
feat(Analysis/Complex): the equality case of the triangle inequality |
The equality case of the triangle inequality for a finite sum
Part of the Perron–Frobenius formalization (with @or4nge19).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
cc @or4nge19 for review |
t-analysis |
142/1 |
Mathlib.lean,Mathlib/Analysis/Convex/TriangleEquality.lean,Mathlib/Analysis/Normed/Module/Normalize.lean,Mathlib/LinearAlgebra/Ray.lean |
4 |
60 |
['github-actions', 'j-loreaux', 'mkaratarakis', 'themathqueen', 'wwylele'] |
nobody |
2-66722 2 days ago |
2-67132 2 days ago |
27-7910 27 days |
4 |
| 27707 |
amellendijk author:amellendijk |
feat(NumberTheory/SelbergSieve): define Selberg's weights and prove basic results |
This PR continues the work from #23635.
Original PR: https://github.com/leanprover-community/mathlib4/pull/23635
- [x] depends on: #27702 |
t-number-theory |
139/2 |
Mathlib/NumberTheory/Divisors.lean,Mathlib/NumberTheory/SelbergSieve.lean |
2 |
36 |
['AlexKontorovich', 'MichaelStollBayreuth', 'ajirving', 'amellendijk', 'github-actions', 'loefflerd', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] |
alreadydone assignee:alreadydone |
2-64861 2 days ago |
44-85836 44 days ago |
106-56926 106 days |
1 |
| 30109 |
scholzhannah author:scholzhannah |
feat: the subcomplexes of a (relative classical) CW complex form a completely distributive lattice |
In this PR we prove that the space of subcomplexes `Subcomplex C` of a (relative classical) CW complex `C` is a `CompletelyDistribLattice`.
---
<!-- 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 |
313/0 |
Mathlib/Topology/CWComplex/Classical/Subcomplex.lean |
1 |
32 |
['ADedecker', 'felixpernegger', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'scholzhannah', 'themathqueen'] |
jjdishere assignee:jjdishere |
2-64860 2 days ago |
11-13339 11 days ago |
158-7720 158 days |
0 |
| 40368 |
Sanghyeok0 author:Sanghyeok0 |
feat: add confluence predicates for relations |
This PR adds a minimal relation-level API for confluence-style properties:
* `Relation.IsDiamond`
* `Relation.IsConfluent`
* `Relation.IsChurchRosser`
It also adds the basic API connecting these predicates:
* `Relation.ReflTransGen.to_eqvGen`
* `Relation.Join.le_eqvGen`
* `Relation.IsChurchRosser.isConfluent`
* `Relation.IsConfluent.isChurchRosser`
* `Relation.IsChurchRosser.join_reflTransGen_eq_eqvGen`
The main downstream application is the polynomial-reduction development in
#41475. There, polynomial reduction is treated as an ordinary relation on
`MvPolynomial`, and these predicates are used to formulate confluence and the
Church--Rosser property.
A more general rewriting API exists in CSLib. This PR does not attempt to
upstream that API wholesale; its scope is intentionally limited to the
declarations needed by the downstream polynomial application.
The earlier version of this PR also introduced
`Relation.StronglyConfluent` and additional equivalence packaging. Those
declarations have been removed to keep this PR small and application-driven.
Reference: Becker, Weispfenning, and Kredel,
*Gröbner Bases: A Computational Approach to Commutative Algebra*.
AI usage disclosure:
I used OpenAI Codex to generate initial drafts of the definitions, theorem statements, proof scripts, and docstrings. I made the final decisions on the mathematical scope and API design, reviewed the generated code and final changes, and made a few edits to statements and docstrings.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-logic
new-contributor
tech debt
LLM-generated
|
103/25 |
Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/Logic/Relation.lean |
2 |
36 |
['Sanghyeok0', 'SnirBroshi', 'chenson2018', 'github-actions', 'mathlib-merge-conflicts'] |
jjdishere assignee:jjdishere |
2-64858 2 days ago |
42-72969 42 days ago |
115-43113 115 days |
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 |
2-64857 2 days ago |
6-33899 6 days ago |
106-15156 106 days |
1 |
| 41887 |
Ljon4ik4 author:Ljon4ik4 |
feat: lemmas showing properties of ofDerivation added |
Given an `R`-Lie algebra `L` and a commutative `R`-algebra `A`, there is a Lie algebra structure on `(A ⊗[R] L)`.
A derivation of `A` induces a Lie derivation of `(A ⊗[R] L)`, and one obtains a Lie algebra map
```
ofDerivation : Derivation R A A →ₗ⁅R⁆ LieDerivation R (A ⊗[R] L) (A ⊗[R] L)
```
In this PR we add a Lemma showing that `ofDerivation` is in fact `A`-linear, and that the resulting LieDerivation satisfies a Leibniz rule with respect to the `A`-multiplication on `A ⊗[R] L`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
17/0 |
Mathlib/Algebra/Lie/Derivation/BaseChange.lean |
1 |
2 |
['eric-wieser', 'github-actions'] |
ocfnash assignee:ocfnash |
2-64856 2 days ago |
27-82285 27 days ago |
93-43851 93 days |
0 |
| 42587 |
joelriou author:joelriou |
feat(AlgebraicTopology/SimplicialSet): the fundamental groupoid, as a pseudofunctor |
The main definition in this PR is the pseudofunctor `SSet.FundamentalGroupoid.pseudofunctor : LocallyDiscrete SSet.{u} ⥤ᵖ Cat.{u, u}` which sends a simplicial set to its fundamental groupoid.
---
- [x] depends on: #42576
- [x] depends on: #42523
- [x] depends on: #42528
- [x] depends on: #42529
- [x] depends on: #42527
- [x] depends on: #42526
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
106/2 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialSet/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/FundamentalGroupoid/Pseudofunctor.lean |
3 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
robin-carlier assignee:robin-carlier |
2-64855 2 days ago |
5-81378 5 days ago |
5-81059 5 days |
0 |
| 42588 |
sharky564 author:sharky564 |
fix(Tactic/Linarith): attribute `linarith?` suggestions to the correct hypotheses |
`runLinarith` returned indices into the post-preprocessing fact list, but `linarithUsedHyps` applies them to the pre-preprocessing hypothesis list, so `linarith?` could suggest the wrong hypotheses or fail outright. Fixed this by tagging each fact with the indices of the original hypotheses it was derived from (`TaggedProof`), threaded through all preprocessors.
---
This addresses and closes the issue raised in #41471.
This was broken because the old code passed indices of a list around, without updating when the list was modified by preprocessor dropped, split or synthesised facts. No index-fix could recover this, besides just carrying through the index. Keeping the `Origin` a set rather than a single index is necessary since preprocessors can combine hypotheses. However this does mean the preprocessors no longer act on `Expr`s but rather `TaggedProof`s - I'm not the greatest fan of this, but I couldn't come up with an easy solution that preserved this behaviour. I've also provided additional tests which highlight the issues that would've previously arisen.
AI disclosure:
I did have AI assistance (Claude Opus/Fable) with this, but this was for me to learn more Lean syntax not typically seen in writing proofs. The diagnosis and idea for the solution was mine, and debugging and documentation was with AI assistance.
[](https://gitpod.io/from-referrer/)
|
t-meta
LLM-generated
|
366/187 |
Mathlib/Tactic/Linarith/Datatypes.lean,Mathlib/Tactic/Linarith/Frontend.lean,Mathlib/Tactic/Linarith/NNRealPreprocessor.lean,Mathlib/Tactic/Linarith/Preprocessing.lean,MathlibTest/Tactic/Linarith/Basic.lean,MathlibTest/Tactic/Linarith/NNReal.lean |
6 |
13 |
['github-actions', 'kbuzzard', 'leanprover-radar', 'mathlib-merge-conflicts', 'sharky564'] |
eric-wieser assignee:eric-wieser |
2-64854 2 days ago |
19-541 19 days ago |
63-43345 63 days |
0 |
| 44545 |
xroblot author:xroblot |
feat(NumberTheory/AddCharacter): the additive character attached to the trace |
Given a primitive `p`-th root of unity `ζ` in a ring `R`, and a commutative algebra `A` over `ZMod p`, this adds the additive character of `A` with values in `R` sending `x` to `ζ` raised to the trace of `x`.
The basic properties follow: the character is nontrivial, hence primitive, when `A` is a finite field, it is invariant under the Frobenius, it is compatible with extending the ring of values, and its values are congruent to `1` modulo any ideal containing `ζ - 1`.
This character will be used to construct the Gauss sums in Stickelberger's theorem.
:robot: This PR was extracted from the [SKW project](https://github.com/xroblot/SKW) by Claude.
|
t-number-theory |
144/0 |
Mathlib.lean,Mathlib/NumberTheory/AddCharacter/Trace.lean |
2 |
1 |
['github-actions'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
2-64851 2 days ago |
10-46199 10 days ago |
14-9656 14 days |
0 |
| 43273 |
Raph-DG author:Raph-DG |
feat(AlgebraicGeometry): scheme level order of vanishing api |
In this PR, we develop some API for the order of vanishing of rational functions on schemes. We also change the file structure of order of vanishing in algebraic geometry to more closely mirror that of the ring theoretic order of vanishing 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/)
|
file-removed
t-algebraic-geometry
|
258/14 |
Mathlib.lean,Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/AlgebraicGeometry/OrderOfVanishing/Basic.lean,Mathlib/AlgebraicGeometry/OrderOfVanishing/DVR.lean,Mathlib/AlgebraicGeometry/Restrict.lean |
5 |
3 |
['Brian-Nugent', 'Raph-DG', 'github-actions'] |
nobody |
2-63958 2 days ago |
24-34608 24 days ago |
49-33800 49 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
|
283/0 |
Mathlib.lean,Mathlib/Analysis/Fourier/FiniteAbelian/DonohoStark.lean |
2 |
4 |
['YaelDillies', 'copilot-pull-request-reviewer', 'felixpernegger', 'github-actions'] |
nobody |
2-63957 2 days ago |
110-70090 110 days ago |
110-69767 110 days |
0 |
| 39387 |
marcelolynch author:marcelolynch |
feat(Tactic/Linter): add superfluousExpose linter |
Dual of `privateModule`: lints against `@[expose] public section`s where no declaration benefits from exposure, and suggests that you remove the `@[expose]` modifier. Downstream code typechecks the same after the removal.
A section-level `@[expose]` exposes exactly the bodies of the `def` declarations of the section. The linter skips generated declarations (`isAutoDecl`) and counts a constant as one that benefits from exposure when all four conditions hold:
- It is a `def` and its body is exposed (`Environment.hasExposedBody`). This rules out theorems, `opaque` and `partial def`s, private declarations, propositional instances, `@[no_expose]` and `meta` defs, and the parser descriptors of `notation` and `syntax`.
- The declaring command is not an `abbrev`. Lean exposes the body of an `abbrev` by its keyword, not by its reducibility, so a `@[reducible] def` does not qualify.
- It is not an instance (`isInstanceCore`) that an `instance`, `deriving instance`, `inductive`, `class inductive`, or `structure` command declared. An `@[instance] def` therefore keeps the rules of a `def`.
- It is not a structure projection.
Lean exposes the bodies in the last three cases in every public section, with or without the modifier. The linter reads the command kind through `set_option … in` and `open … in` wrappers; a `mutual` block or a macro gets no exemption. Every other exposed `def` counts as one that benefits, so the linter stays silent when in doubt and a reported section is safe to change.
The linter is a stateful linter (leanprover/lean4#14357). It tracks the regions where the scope is public and carries `expose`, and it classifies the constants of each command while the scopes of that command are active. Each expose section gets its own verdict, `scoped` and `local` instances classify correctly, and the warning points at the section header.
The known limitations are false negatives only, and the module docstring lists them. The main case is a hand-written meta-code def, such as a `def` of type `Simproc`, which counts as an ordinary def.
Includes test files covering positive and negative cases, one file per case. The first cleanup sweep, #39388, applied an earlier version of these suggestions to 136 files.
Relevant Zulip thread: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Removing.20unnecessary.20.60.40.5Bexpose.5D.60/with/595180230
|
t-linter
LLM-generated
|
906/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/SuperfluousExpose.lean,MathlibTest/Linter/SuperfluousExpose.lean,MathlibTest/Linter/SuperfluousExpose/Negative_DerivingDecidableEq.lean,MathlibTest/Linter/SuperfluousExpose/Negative_ExposeOnNonPublicSection.lean,MathlibTest/Linter/SuperfluousExpose/Negative_InstanceAttrDef.lean,MathlibTest/Linter/SuperfluousExpose/Negative_IrreducibleDef.lean,MathlibTest/Linter/SuperfluousExpose/Negative_NoExposeSection.lean,MathlibTest/Linter/SuperfluousExpose/Negative_PlainDef.lean,MathlibTest/Linter/SuperfluousExpose/Negative_ReducibleDef.lean,MathlibTest/Linter/SuperfluousExpose/Negative_ToAdditive.lean,MathlibTest/Linter/SuperfluousExpose/Negative_UnsafeDef.lean,MathlibTest/Linter/SuperfluousExpose/Positive_AbbrevOnly.lean,MathlibTest/Linter/SuperfluousExpose/Positive_ClassOnly.lean,MathlibTest/Linter/SuperfluousExpose/Positive_FileEndClose.lean,MathlibTest/Linter/SuperfluousExpose/Positive_Inductive.lean,MathlibTest/Linter/SuperfluousExpose/Positive_MultiSection.lean,MathlibTest/Linter/SuperfluousExpose/Positive_NestedExposeSection.lean,MathlibTest/Linter/SuperfluousExpose/Positive_NoExposeDef.lean,MathlibTest/Linter/SuperfluousExpose/Positive_Notation.lean,MathlibTest/Linter/SuperfluousExpose/Positive_PartialDef.lean,MathlibTest/Linter/SuperfluousExpose/Positive_ScopedLocalInstance.lean,MathlibTest/Linter/SuperfluousExpose/Positive_Structure.lean,MathlibTest/Linter/SuperfluousExpose/Positive_TheoremOnly.lean |
25 |
6 |
['eric-wieser', 'github-actions', 'joneugster', 'marcelolynch', 'ocfnash'] |
nobody |
2-63955 2 days ago |
35-75150 35 days ago |
69-13752 69 days |
0 |
| 44761 |
mortarsanjaya author:mortarsanjaya |
refactor: unify `CharZero` with `CharP` |
This PR attempts to unify the `CharZero` class with the `CharP` class via changing the definition of `CharP`; see the TODO in [Algebra/CharZero/Defs](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/CharZero/Defs.html#CharZero). The main goal is to make `CharZero R` equivalent to `CharP R 0` in all cases, and so we can possibly deprecate `CharZero` later on, whereas the old definition of `CharP R 0` is not equivalent to `CharZero R` for semirings whose addition is not cancellative. In positive characteristic, the new definition is still equivalent to the old definition.
A cost of the unification is that `ringChar` would require an `IsLeftCancelAdd` instance, which might be inconvenient for semirings but is a non-issue for rings.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 also invalidates the counterexample that shows `CharP R 0` does not always imply `CharZero R`.
See the discussion on [this Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Unifying.20.60CharZero.60.20with.20.60CharP.60/with/630744702). |
t-algebra
file-removed
tech debt
large-import
label:t-algebra$ |
208/258 |
Counterexamples.lean,Counterexamples/CharPZeroNeCharZero.lean,Mathlib/Algebra/CharP/Algebra.lean,Mathlib/Algebra/CharP/Basic.lean,Mathlib/Algebra/CharP/Defs.lean,Mathlib/Algebra/CharP/Invertible.lean,Mathlib/Algebra/CharP/LinearMaps.lean,Mathlib/Algebra/CharP/LocalRing.lean,Mathlib/Algebra/CharP/Pi.lean,Mathlib/Algebra/CharP/Quotient.lean,Mathlib/Algebra/CharP/Subring.lean,Mathlib/Algebra/CharP/Two.lean,Mathlib/Algebra/CharZero/Defs.lean,Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/Data/Int/ModEq.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/FieldTheory/PerfectClosure.lean,Mathlib/GroupTheory/Exponent.lean,Mathlib/GroupTheory/Order/Min.lean,Mathlib/GroupTheory/OrderOfElement.lean,Mathlib/LinearAlgebra/Matrix/CharP.lean,Mathlib/NumberTheory/FLT/Polynomial.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/NumberTheory/MulChar/Basic.lean,Mathlib/RingTheory/Ideal/Int.lean,Mathlib/RingTheory/MvPolynomial/Basic.lean,Mathlib/RingTheory/Polynomial/Basic.lean |
27 |
8 |
['JX-Mo', 'github-actions', 'mortarsanjaya'] |
nobody |
2-60496 2 days ago |
2-60551 2 days ago |
7-34649 7 days |
0 |
| 41522 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Paths): existence of longest paths/trails/cycles/circuits |
We already have the existence of a longest path/trail. This adds:
- the existence of a longest cycle/circuit
- the existence of a longest path/trail from a specific vertex
- the existence of a longest path/trail between specific endpoints
- the existence of a longest cycle/circuit at a specific vertex
---
`exists_isTrail_forall_length_le_of_pred` is the common argument that works for any predicate on trails, which is then used to prove the 10 versions mentioned above.
I know this looks a bit ugly, but taking a longest path/trail/cycle/circuit is a useful proof technique.
Also, that predicate version might be useful to get Kempe chains, although I haven't tried 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/)
|
t-combinatorics |
122/22 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean |
3 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
2-58208 2 days ago |
2-58267 2 days ago |
103-23079 103 days |
0 |
| 42966 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Hasse): smaller path graphs are contained in bigger ones |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
38/2 |
Mathlib/Combinatorics/SimpleGraph/Hasse.lean |
1 |
4 |
['b-mehta', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
2-57975 2 days ago |
2-58109 2 days ago |
56-27696 56 days |
0 |
| 43536 |
SnirBroshi author:SnirBroshi |
feat(Order): `SupClosed`/`DirSupClosed`/`DirectedOn`/etc for set intervals |
For set intervals, prove the properties they satisfy among these `Set` properties:
- `DirectedOn`
- `CountableSupClosed` / `CountableInfClosed`
- `DirSupClosed` / `DirSupClosedOn`
- `DirSupInacc` / `DirSupInaccOn`
- `SupClosed` / `InfClosed`
and use them to conclude properties of order topologies,
e.g. the Scott-Hausdorff topology on a lower-set is a `ClosedIicTopology`/`ClosedIciTopology`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
236/13 |
Mathlib/Order/CountableSupClosed.lean,Mathlib/Order/DirSupClosed.lean,Mathlib/Order/Interval/Set/Image.lean,Mathlib/Order/SupClosed.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/UpperLowerSetTopology.lean |
6 |
10 |
['SnirBroshi', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
2-55403 2 days ago |
2-55452 2 days ago |
3-66245 3 days |
0 |
| 44991 |
vihdzp author:vihdzp |
refactor(SetTheory/Ordinal/Notation): deprecate module |
This module has not seen any major changes since at least the port and is unlikely to be used downstream. So we deprecate it altogether.
---
I'm opening this PR as a way to spark some discussion. There's a lot of things that can be improved about this module. `NFBelow` is unnecessary and `NF` can be characterized directly. The order structure on `ONote` is not computable but could made to be. Exponentiation can be given a more direct characterization. The construction of fundamental sequences is ad-hoc, and we could instead create a larger API around them. And so on.
On a more practical level, the convoluted proofs of this module are quite prone to breaking, and have done so seemingly every time I touch any part of the ordinal API. If you look at the history of this file, you'll largely see refactors which have required convoluted adaptations on this particular module.
Two years ago, I [rewrote this entire file](https://github.com/vihdzp/ordinal-notation/blob/master/OrdinalNotation/Notations/Cantor.lean) in an experimental, since archived repository of mine. I considered upstreaming these changes to Mathlib. However, there were three things that gave me pause.
1. This would be a thousand line PR. There's no way to split this up without losing functionality, since it's a complete rewrite which changes most of the definitions. Perhaps I could upstream it to a new file, and deprecate the old one when done, but this doesn't address the other two points.
2. I doubt the Mathlib maintainers would be interested. There's not that many reviewers for ordinal PRs as is, and I fear this upstreaming process would be glacial. Which brings me to my third point.
3. The Cantor Normal Form is far from the only ordinal notation, and the existence of this file seems to open the doors to further developments, such as Veblen's Normal Form, or Veblen's Klammersymbolen, or the (Extended) Buchholz Ordinal Notation... which I highly doubt anyone will be willing to review.
Now, perhaps I'm wrong here. Perhaps there are a handful of Mathlib maintainers who are enthusiastic about this material. And in that case, I'll be glad to close this PR, make a new `SetTheory/Ordinal/Notation` folder, and make PRs working towards the most popular ordinal notations. But realistically, I suspect it's easier for everyone if we just deprecate this module. If anyone is ever interested on working on ordinal notations outside of Mathlib, my Zulip DMs are open. |
t-set-theory |
2/0 |
Mathlib/SetTheory/Ordinal/Notation.lean |
1 |
1 |
['github-actions'] |
nobody |
2-37500 2 days ago |
2-37674 2 days ago |
2-37351 2 days |
0 |
| 44727 |
mycaule author:mycaule |
feat(CategoryTheory/Monad/Monadicity): state the (co)monadicity theorem as an iff |
Add:
`Monad.isEquivalence_comparison_iff`: for `adj : F ⊣ G`, `(Monad.comparison adj).IsEquivalence` iff `G` reflects isomorphisms and, for every `G`-split pair `u, v`, `HasCoequalizer u v` and `PreservesColimit (parallelPair u v) G`
`Comonad.isEquivalence_comparison_iff`: the dual statement
instances `Monad.reflectsIsomorphisms_of_monadicRightAdjoint` and `Comonad.reflectsIsomorphisms_of_comonadicLeftAdjoint` (priority 100)
The forward direction uses `createsGSplitCoequalizersOfMonadic` (resp. `createsFSplitEqualizersOfComonadic`). The backward direction is `monadicOfHasPreservesGSplitCoequalizersOfReflectsIsomorphisms` (resp. its dual). The module docstrings list the new statements.
Mathlib has the backward direction as the definitions `monadicOfHasPreservesGSplitCoequalizersOfReflectsIsomorphisms` and `comonadicOfHasPreservesFSplitEqualizersOfReflectsIsomorphisms`, and the forward ingredients `createsGSplitCoequalizersOfMonadic` and `createsFSplitEqualizersOfComonadic`, but no iff.
Questions for reviewers: whether the instances belong in `Monad/Adjunction.lean` next to `MonadicRightAdjoint`; whether to state the iff with the existing classes `HasCoequalizerOfIsSplitPair` / `PreservesColimitOfIsSplitPair` instead of the explicit `∀`.
AI disclosure: the Lean proof was written by an AI model (Claude, Anthropic) under my direction. I have read and checked it and will handle the review. It builds against current master.
|
new-contributor
t-category-theory
LLM-generated
|
73/0 |
Mathlib/CategoryTheory/Monad/Comonadicity.lean,Mathlib/CategoryTheory/Monad/Monadicity.lean,docs/references.bib |
3 |
2 |
['github-actions'] |
robin-carlier assignee:robin-carlier |
2-34824 2 days ago |
2-35169 2 days ago |
9-29712 9 days |
0 |
| 44824 |
Multramate author:Multramate |
chore: rename `nonzero` to `ne_zero` in theorem names |
This renames theorems whose `nonzero` stands for a `≠ 0` hypothesis or conclusion to use `ne_zero`.
🤖 Generated with [Claude Code](https://claude.com/claude-code) |
LLM-generated |
391/223 |
Mathlib/Algebra/Group/Fin/Tuple.lean,Mathlib/Algebra/Lie/Weights/IsSimple.lean,Mathlib/Algebra/Lie/Weights/Killing.lean,Mathlib/Algebra/Lie/Weights/RootSystem.lean,Mathlib/Algebra/Module/LinearMap/Polynomial.lean,Mathlib/Algebra/Polynomial/Degree/CardPowDegree.lean,Mathlib/Algebra/Polynomial/Degree/Support.lean,Mathlib/Algebra/Polynomial/Degree/TrailingDegree.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Algebra/Polynomial/Reverse.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Algebra/Polynomial/UnitTrinomial.lean,Mathlib/Analysis/Analytic/CPolynomial.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Calculus/FormalMultilinearSeries.lean,Mathlib/Analysis/Complex/Periodic.lean,Mathlib/Analysis/InnerProductSpace/OfNorm.lean,Mathlib/Analysis/LocallyConvex/Separation.lean,Mathlib/Analysis/Meromorphic/Basic.lean,Mathlib/Analysis/Meromorphic/Order.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromBounded.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean,Mathlib/CategoryTheory/Limits/Shapes/ZeroMorphisms.lean,Mathlib/CategoryTheory/Preadditive/Schur.lean,Mathlib/CategoryTheory/Simple.lean,Mathlib/Combinatorics/Nullstellensatz.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/Finsupp/ToDFinsupp.lean,Mathlib/FieldTheory/RatFunc/Valuation.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Basic.lean,Mathlib/Geometry/Euclidean/Sphere/OrthRadius.lean,Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean,Mathlib/LinearAlgebra/Projectivization/Basic.lean,Mathlib/LinearAlgebra/Projectivization/Independence.lean,Mathlib/LinearAlgebra/Projectivization/PSL/PSL2.lean,Mathlib/MeasureTheory/Group/ModularCharacter.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Integral/Bochner/Set.lean,Mathlib/MeasureTheory/Measure/FiniteMeasure.lean,Mathlib/MeasureTheory/Measure/Haar/Extension.lean,Mathlib/MeasureTheory/Measure/Haar/Unique.lean,Mathlib/MeasureTheory/Measure/ProbabilityMeasure.lean,Mathlib/NumberTheory/ArithmeticFunction/Moebius.lean,Mathlib/NumberTheory/ClassNumber/AdmissibleCardPowDegree.lean,Mathlib/NumberTheory/Harmonic/Int.lean,Mathlib/NumberTheory/ModularForms/Discriminant.lean,Mathlib/NumberTheory/ModularForms/LevelOne/DimensionFormula.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean,Mathlib/NumberTheory/ModularForms/RamanujanFormula.lean,Mathlib/NumberTheory/Padics/PadicNorm.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/RepresentationTheory/AlgebraRepresentation/Basic.lean,Mathlib/RepresentationTheory/FinGroupCharZero.lean,Mathlib/RingTheory/Algebraic/Basic.lean,Mathlib/RingTheory/Algebraic/Integral.lean,Mathlib/RingTheory/FractionalIdeal/Inverse.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean,Mathlib/RingTheory/Ideal/GoingUp.lean,Mathlib/RingTheory/Jacobson/Ring.lean,Mathlib/RingTheory/Localization/Integral.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean,Mathlib/RingTheory/SimpleModule/Rank.lean,Mathlib/RingTheory/WittVector/DiscreteValuationRing.lean,Mathlib/RingTheory/WittVector/FrobeniusFractionField.lean,Mathlib/RingTheory/WittVector/Identities.lean,Mathlib/RingTheory/WittVector/Isocrystal.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Monomial/Basic.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean |
73 |
13 |
['JX-Mo', 'Multramate', 'github-actions', 'mathlib-merge-conflicts', 'tb65536'] |
nobody |
2-32490 2 days ago |
2-32646 2 days ago |
4-39785 4 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 |
2-31825 2 days ago |
2-31918 2 days ago |
2-80984 2 days |
0 |
| 44996 |
WenrongZou author:WenrongZou |
feat(MvPowerSeries/Order): order of a difference of products |
In this PR, we add some lemmas about `MvPowerSeries.order`.
- `coeff_eq_of_lt_weightedOrder_sub`: if `weight w d < (f - g).weightedOrder w`, then `coeff d f = coeff d g`.
- `le_weightedOrder_prod_sub_prod`: if `n ≤ (a i - b i).weightedOrder w` for all `i ∈ s`, then `n ≤ (∏ i ∈ s, a i - ∏ i ∈ s, b i).weightedOrder w`.
- `add_nsmul_le_weightedOrder_prod_sub_prod`: if, in addition, every `a i` and `b i` has weighted order at least `k`, the bound becomes `n + (#s - 1) • k`.
We also add the corresponding `order` versions: `coeff_eq_of_lt_order_sub`, `le_order_prod_sub_prod` and `add_nsmul_le_order_prod_sub_prod`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-ring-theory |
68/0 |
Mathlib/RingTheory/MvPowerSeries/Order.lean |
1 |
1 |
['github-actions'] |
nobody |
2-30037 2 days ago |
2-30103 2 days ago |
2-29780 2 days |
1 |
| 44980 |
vihdzp author:vihdzp |
refactor: deprecate `le_zero_iff` and `zero_lt_iff` |
...in favor of the more descriptive names `nonpos_iff_eq_zero` and `pos_iff_ne_zero`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
Alternatively, if the consensus is that having multiple names for this is not a problem, I can instead remove the TODOs and create additive aliases for these.
|
t-order |
97/108 |
Mathlib/Algebra/Lie/Solvable.lean,Mathlib/Algebra/Lie/Weights/Chain.lean,Mathlib/Algebra/Order/IsBotOne.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Proper.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Asymptotics/Basic.lean,Mathlib/Analysis/Distribution/TemperateGrowth.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Analysis/SpecialFunctions/ArithmeticGeometricMean.lean,Mathlib/Combinatorics/Extremal/RuzsaSzemeredi.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Equitabilise.lean,Mathlib/Computability/Primrec/Basic.lean,Mathlib/Data/Nat/Totient.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/GroupTheory/Rank.lean,Mathlib/GroupTheory/SpecificGroups/Alternating/KleinFour.lean,Mathlib/LinearAlgebra/Dimension/Finite.lean,Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean,Mathlib/MeasureTheory/Measure/Decomposition/Lebesgue.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Basic.lean,Mathlib/NumberTheory/FLT/Polynomial.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Probability/Martingale/Upcrossing.lean,Mathlib/RingTheory/ChainOfDivisors.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation/Valuation.lean,Mathlib/RingTheory/Discriminant.lean,Mathlib/RingTheory/DividedPowers/SubDPIdeal.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/Perfection.lean,Mathlib/RingTheory/Polynomial/Resultant/Basic.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/Discrete/Basic.lean,Mathlib/RingTheory/Valuation/Discrete/IsDiscreteValuationRing.lean,Mathlib/RingTheory/Valuation/Integers.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean,Mathlib/Topology/Algebra/Polynomial.lean,Mathlib/Topology/Algebra/ValuativeRel/Completion.lean,Mathlib/Topology/Algebra/Valued/NormedValued.lean,Mathlib/Topology/Algebra/Valued/ValuedField.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean,Mathlib/Topology/MetricSpace/Antilipschitz.lean |
44 |
2 |
['eric-wieser', 'github-actions'] |
nobody |
2-29485 2 days ago |
3-1851 3 days ago |
3-1528 3 days |
0 |
| 44954 |
vihdzp author:vihdzp |
feat: normal functions are (left) order continuous |
This is just a first pass, and I suspect the APIs can be unified further.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-order
maintainer-merge
|
26/21 |
Mathlib/Order/IsNormal.lean,Mathlib/SetTheory/Cardinal/Cofinality/Club.lean,Mathlib/SetTheory/Ordinal/Family.lean,Mathlib/SetTheory/Ordinal/FixedPoint.lean |
4 |
4 |
['SnirBroshi', 'YaelDillies', 'github-actions', 'vihdzp'] |
nobody |
2-29447 2 days ago |
2-29447 2 days ago |
2-32909 2 days |
0 |
| 44942 |
WenrongZou author:WenrongZou |
feat(MvPowerSeries/Substitution): add some lemmas about `HasSubst` |
In this PR, we add some lemmas about `HasSubst` for substitution of multivariate power series.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-ring-theory
tech debt
|
48/8 |
Mathlib/RingTheory/MvPowerSeries/Rename.lean,Mathlib/RingTheory/MvPowerSeries/Substitution.lean |
2 |
1 |
['github-actions'] |
nobody |
2-29348 2 days ago |
2-29408 2 days ago |
4-10896 4 days |
1 |
| 43285 |
WenrongZou author:WenrongZou |
feat(ValuativeTopology): valuative topology of Z_p |
Let `K` be a field with assumption `[ValuativeRel K] [TopologicalSpace K] [IsValuativeTopology K]`. Let `R` be its ring of integers and the topology of `R` is induced by `K`, then there is a valuative topology over `R` . This can be used to deduce the valuative topology of `Z_p`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
69/0 |
Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/Padics/ValuativeRel.lean,Mathlib/Topology/Algebra/ValuativeRel/ValuativeTopology.lean |
3 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
2-25288 2 days ago |
2-25338 2 days ago |
29-31442 29 days |
1 |
| 42272 |
xroblot author:xroblot |
feat(Algebra/QuadraticAlgebra): the degenerate cases over a field |
Complete the classification of `QuadraticAlgebra K a b` over a field by describing the two degenerate case.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #42708
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
41/0 |
Mathlib/Algebra/QuadraticAlgebra/Basic.lean,Mathlib/Algebra/QuadraticAlgebra/Discriminant.lean |
2 |
6 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
2-20712 2 days ago |
2-20892 2 days ago |
34-72878 34 days |
0 |
| 44427 |
xroblot author:xroblot |
feat(Tactic/NormNum): norm_num extension for Squarefree |
Add a `norm_num` extension deciding `Squarefree n` for numerals `n` in `ℕ` and `ℤ`.
If `n` is not squarefree, the proof uses a witness `a > 1` with `a * a ∣ n`, found with `Nat.minSqFac`. If `n` is squarefree, the proof is a trial division of `n` by the odd numbers `k = 3, 5, 7, …`, keeping the invariant that every prime divisor of the cofactor is at least `k`.
This is adapted from the Mathlib 3 extension by Mario Carneiro (mathlib#11666), which was left commented out in `Mathlib.Data.Nat.Squarefree` during the port. This commented-out code is removed, and the corresponding tests are restored.
As for the `Nat.Prime` extension, the proof is a certificate rather than a kernel evaluation of `Nat.minSqFac` via `Nat.squarefree_iff_minSqFac`. The certificate is also faster to check, but, as for `Nat.Prime`, large numbers need a higher `maxRecDepth`.
**Note**. I have read and checked the ordinary Lean statements and their proofs, but I am not familiar with metaprogramming, so I cannot really vouch for the meta code itself, which was written with the help of an LLM. A review by someone who is comfortable with `norm_num` extensions would be very welcome.
Created with Claude Code 🤖
---
|
tech debt
t-meta
LLM-generated
|
198/205 |
Mathlib.lean,Mathlib/Data/Nat/Squarefree.lean,Mathlib/Tactic.lean,Mathlib/Tactic/NormNum/Squarefree.lean,MathlibTest/Tactic/NormNum/Ext.lean |
5 |
1 |
['github-actions'] |
nobody |
2-20598 2 days ago |
2-20795 2 days ago |
17-74578 17 days |
0 |
| 43925 |
xroblot author:xroblot |
feat(Algebra/Field/Subfield): the map/comap Galois coinsertion |
A ring homomorphism out of a field is injective, so the existing Galois connection between `map` and `comap` on subfields is in fact a `GaloisCoinsertion`, added here as `Subfield.gciMapComap`, along with what it yields: `comap_surjective`, `map_injective`, `map_le_map_iff`, the compatibility of `comap` with `⊓`, `⊔`, `⨅` and `⨆`, and three lemmas on `comap` along `s.subtype`.
The same is done for `IntermediateField` and `AlgHom`, as `IntermediateField.gciMapComap`, together with the basic `comap` lemmas that were missing there.
Prepared with Claude Code 🤖
---
|
t-algebra label:t-algebra$ |
149/2 |
Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Defs.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean |
3 |
3 |
['github-actions', 'tb65536', 'xroblot'] |
nobody |
2-20154 2 days ago |
2-20281 2 days ago |
32-23810 32 days |
1 |
| 44997 |
TJHeeringa author:TJHeeringa |
feat(Analysis/InnerProductSpace): add modulus for continuousLinearMaps between Hilbert spaces |
Schatten p-norm is based on the modulus for continuous linear maps between Hilbert spaces. This PR adds that modulus.
---
This PR is split of from #44525, which is a draft for the Schatten operators.
Mathlib has the similar `CFC.abs` but the adjoint is not a star operation for continuous linear maps between different Hilbert spaces.
The API I put here is limited as this is all what is needed to define the Schatten p-norms. If more is desired in this PR, then I'd be happy to add 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]
-->
|
t-analysis |
83/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Schatten.lean |
2 |
1 |
['github-actions'] |
nobody |
2-10817 2 days ago |
2-10969 2 days ago |
2-28901 2 days |
3 |
| 44999 |
plp127 author:plp127 |
chore(Order/Setoid): fix defeq in `Setoid.gi` |
Make the `choice` field of `Setoid.gi` actually have the correct defeq, which is the entire point of the `choice` field, instead of just using `EqvGen.setoid`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-order
easy
|
2/2 |
Mathlib/Order/Setoid/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
2-10012 2 days ago |
2-10124 2 days ago |
2-9801 2 days |
0 |
| 45004 |
SnirBroshi author:SnirBroshi |
feat(NumberTheory): `Decidable` instances for `Perfect`/`IsAlmostPrime`/`IsAtMostAlmostPrime` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
easy
t-number-theory
|
3/0 |
Mathlib/NumberTheory/AlmostPrime.lean,Mathlib/NumberTheory/Divisors.lean |
2 |
1 |
['github-actions'] |
nobody |
2-2309 2 days ago |
2-2414 2 days ago |
2-2091 2 days |
0 |
| 45009 |
loefflerd author:loefflerd |
feat(NumberTheory/ModularForms): more API for cusps |
API for `CuspOrbits`: show that an inclusion of groups, or translation by GL(2, R), induces natural maps on cusp orbits. Also define a Nat-valued `regularityFactorInfty` which is 2 for irregular cusps and 1 otherwise, and use it to relate `strictWidthInfty` and `widthInfty`.
---
Carved off from the modular-form finite-dimensionality PR #43644
AI use: Based on code originally written by ChatGPT 5.6 Sol and 6.0 Astra, but carefully checked and cleaned up by me. |
t-number-theory |
233/5 |
Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/FinTwo.lean,Mathlib/NumberTheory/ModularForms/Basic.lean,Mathlib/NumberTheory/ModularForms/Cusps.lean,Mathlib/Topology/Compactification/OnePoint/ProjectiveLine.lean |
4 |
1 |
['github-actions'] |
nobody |
1-81007 1 day ago |
1-81134 1 day ago |
1-80811 1 day |
2 |
| 41053 |
hawkrobe author:hawkrobe |
refactor(RingTheory): bialgebra and Hopf algebra structures on RingCon quotients |
---
Since #40451, SymmetricAlgebra R M is (symRingCon R M).Quotient, a quotient by a ring congruence over a commutative semiring, which the ideal quotients of #39790 don't cover. This adds the congruence-level constructions, so SymmetricAlgebra's bialgebra and Hopf algebra structures can descend from TensorAlgebra as suggested in #39579, once #31898 lands.
- [x] depends on: #41052
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
154/41 |
Mathlib/RingTheory/Bialgebra/Quotient.lean,Mathlib/RingTheory/HopfAlgebra/Quotient.lean |
2 |
6 |
['github-actions', 'hawkrobe', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
1-74315 1 day ago |
1-74401 1 day ago |
1-78004 1 day |
0 |
| 44548 |
emlis42 author:emlis42 |
feat(Tactic/Inclusion): add sqrt support to the `inclusion`/`dyadic_interval` tactic |
This PR adds a `sqrt` extension for the `dyadic_interval` tactic.
---
I used an LLM for golfing. |
t-meta
large-import
|
138/0 |
Mathlib.lean,Mathlib/Data/Dyadic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Inclusion/Extension/IntervalDyadicReal/Sqrt.lean,Mathlib/Tactic/Inclusion/Extension/IntervalDyadicReal/Tactic.lean,MathlibTest/Tactic/Inclusion/Basic.lean |
6 |
4 |
['emlis42', 'github-actions', 'grunweg'] |
nobody |
1-72109 1 day ago |
1-72387 1 day ago |
13-52230 13 days |
0 |
| 42365 |
hawkrobe author:hawkrobe |
feat(LinearAlgebra/TensorProduct): tensor product of graded modules is graded |
---
Split from #39849, also a first step toward the TODO in `LinearAlgebra/TensorProduct/Graded/Internal.lean` (the tensor product of graded algebras is graded.) I tried to model it after [AddMonoidAlgebra.gradeBy](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/MonoidAlgebra/Grading.html#AddMonoidAlgebra.gradeBy).
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
159/0 |
Mathlib/Data/DFinsupp/Defs.lean,Mathlib/LinearAlgebra/TensorProduct/Decomposition.lean,Mathlib/LinearAlgebra/TensorProduct/Map.lean |
3 |
2 |
['github-actions'] |
ocfnash assignee:ocfnash |
1-72024 1 day ago |
1-72117 1 day ago |
78-66352 78 days |
2 |
| 38716 |
YaelDillies author:YaelDillies |
feat(Algebra/Order): `NNRat.cast_sub` |
From AddCombi
---
- [x] depends on: #41850
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
13/2 |
Mathlib/Algebra/Order/Field/Rat.lean,Mathlib/Data/NNRat/Defs.lean |
2 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
alreadydone assignee:alreadydone |
1-64860 1 day ago |
9-2118 9 days ago |
88-30050 88 days |
2 |
| 39420 |
mbkybky author:mbkybky |
feat(RingTheory/LocalProperties): `Module.Invertible` is a local property |
Let `M` be a finite `R`-module. We show that `M` is invertible if `Mₘ` is invertible for any maximal ideal `m` of `R`.
- [x] depends on: #39109
- [x] depends on: #39412
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
101/0 |
Mathlib.lean,Mathlib/RingTheory/LocalProperties/Invertible.lean |
2 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
riccardobrasca assignee:riccardobrasca |
1-64858 1 day ago |
16-7008 16 days ago |
102-22527 102 days |
1 |
| 42047 |
LegaSage author:LegaSage |
feat(RingTheory): add locally nilpotent derivations |
This introduces `Derivation.IsLocallyNilpotent` and basic iteration lemmas for locally nilpotent derivations. The main result is the method-style theorem `Derivation.IsLocallyNilpotent.apply_eq_zero_of_dvd`: over a characteristic-zero domain, if `f ∣ D f` for a locally nilpotent derivation `D`, then `D f = 0`.
The proof uses the iterated Leibniz rule and the top nonvanishing iterates of the two factors.
-----
The implementation and PR text were prepared with assistance from OpenAI Codex. |
t-ring-theory
new-contributor
LLM-generated
|
167/0 |
Mathlib.lean,Mathlib/RingTheory/Derivation/LocallyNilpotent.lean |
2 |
2 |
['github-actions'] |
mattrobball assignee:mattrobball |
1-64856 1 day ago |
88-62134 88 days ago |
88-61811 88 days |
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 |
1-64855 1 day ago |
85-17222 85 days ago |
85-41136 85 days |
0 |
| 42265 |
cameronfreer author:cameronfreer |
chore(RingTheory/PowerSeries): simplify coeff_inv_aux |
This replaces the hand-written `Finset.sum_nbij'` in `coeff_inv_aux` with `simp_rw` + `simp`, via `Finsupp.antidiagonal_single`, the same rewrite that `PowerSeries.coeff_mul` already uses.
:robot: Golfing target found by GPT Pro 5.6 Sol, initial version of code written by Opus 5 high, refined by GPT 5.6 Sol xhigh, then again by Opus 5 high following @felixpernegger's review suggestion. |
t-ring-theory
new-contributor
LLM-generated
|
2/19 |
Mathlib/RingTheory/PowerSeries/Inverse.lean |
1 |
8 |
['cameronfreer', 'felixpernegger', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
mattrobball assignee:mattrobball |
1-64854 1 day ago |
70-5931 70 days ago |
82-32029 82 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 |
1-64850 1 day ago |
14-48178 14 days ago |
14-47855 14 days |
0 |
| 43916 |
qawbecrdtey author:qawbecrdtey |
feat(Data/Finsupp/Weight): add `degree_strictMono` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
```lean
lemma degree_strictMono {R : Type*}
[AddCommMonoid R] [PartialOrder R] [CanonicallyOrderedAdd R] [AddRightStrictMono R] :
StrictMono (Finsupp.degree (σ := σ) (R := R))
``` |
t-data |
8/0 |
Mathlib/Data/Finsupp/Weight.lean |
1 |
9 |
['Ruben-VandeVelde', 'github-actions', 'qawbecrdtey', 'themathqueen'] |
nobody |
1-64849 1 day ago |
1-65280 1 day ago |
28-86098 28 days |
1 |
| 44787 |
qawbecrdtey author:qawbecrdtey |
chore(Data/DFinsupp/BigOperators): golf |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
Simple golfs. |
t-data |
19/55 |
Mathlib/Data/DFinsupp/BigOperators.lean |
1 |
8 |
['github-actions', 'leanprover-radar', 'themathqueen'] |
nobody |
1-64790 1 day ago |
1-64991 1 day ago |
5-29449 5 days |
0 |
| 43183 |
BorisTheBrave author:BorisTheBrave |
fix(Tactic/Linarith): carry `!` and the configuration into `linarith?… |
`linarith?` uses the same configuration as `linarith`,
but previously printed a bare `linarith only [...]` suggestion regardless
of the configuration.
Now all config options except `minimize` are carried into the suggestion.
---
Note: #42588 has a [test](https://github.com/leanprover-community/mathlib4/pull/42588/files#diff-3657543f804f0a57e384f6a9338cc53803a50bebdfb16c1ecd0b514f3fda332fR863) that
unintentionally highlights the problem:
```lean
/--
info: Try this:
[apply] linarith only [hne, hle]
-/
#guard_msgs in
example (a b : ℚ) (hne : a ≠ b) (hle : a ≥ b) (junk : (0:ℚ) < 1) : b < a := by
linarith? +splitNe
```
This suggestion doesn't actually close the proof.
It should suggest `linarith +splitNE only [hne, hle]`.
Should we be using `says` syntax for these tests? I'm unclear on the rule here.
Note: `simp?` has very similar code, `filterSuggestionsAndLocalsFromSimpConfig`, that this PR was modelled after.
AI disclosure:
Claude Code (Fable) first flagged this problem to me, and wrote the first draft. I
made some tweaks to better fit mathlib's style, and wrote all the prose.
[](https://gitpod.io/from-referrer/) |
t-meta
new-contributor
maintainer-merge
|
68/6 |
Mathlib/Tactic/Linarith/Frontend.lean,MathlibTest/Tactic/Linarith/Basic.lean |
2 |
18 |
['BorisTheBrave', 'JovanGerb', 'github-actions', 'joneugster', 'sharky564'] |
nobody |
1-63959 1 day ago |
21-9042 21 days ago |
53-16141 53 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 |
1-63957 1 day ago |
22-46394 22 days ago |
35-73776 35 days |
0 |
| 44310 |
artie2000 author:artie2000 |
feat(FieldTheory): field with no nontrivial extensions is algebraically closed |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 label:t-algebra$ |
13/0 |
Mathlib/FieldTheory/IsAlgClosed/Basic.lean |
1 |
7 |
['JX-Mo', 'artie2000', 'github-actions', 'vihdzp'] |
nobody |
1-61831 1 day ago |
2-12156 2 days ago |
21-55522 21 days |
0 |
| 44788 |
BryceT233 author:BryceT233 |
chore(RingTheory/Jacobson): use `Ring.jacobson` throughout the library |
Existing statements about the Jacobson radical of a ring use both `(⊥ : Ideal R).jacobson` and `Ring.jacobson R`. This PR standardizes these statements on `Ring.jacobson R` and updates the downstream proofs, completing the `TODO` next to the definition of `Ring.jacobson`.
Part of this work was originally included in #41066. The remaining changes were implemented by GPT-6.1 Sol and reviewed 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]
-->
|
LLM-generated |
234/112 |
Mathlib/NumberTheory/RamificationInertia/Ramification.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/LocalRing.lean,Mathlib/RingTheory/AdicCompletion/Noetherian.lean,Mathlib/RingTheory/Artinian/Module.lean,Mathlib/RingTheory/Artinian/Ring.lean,Mathlib/RingTheory/Filtration.lean,Mathlib/RingTheory/Henselian.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/Jacobson/Ideal.lean,Mathlib/RingTheory/Jacobson/Polynomial.lean,Mathlib/RingTheory/Jacobson/Radical.lean,Mathlib/RingTheory/Jacobson/Ring.lean,Mathlib/RingTheory/LocalRing/Etale.lean,Mathlib/RingTheory/LocalRing/Module.lean,Mathlib/RingTheory/LocalRing/Quotient.lean,Mathlib/RingTheory/Nakayama.lean,Mathlib/RingTheory/Regular/Free.lean,Mathlib/RingTheory/Unramified/Field.lean,Mathlib/RingTheory/Unramified/LocalRing.lean,Mathlib/Topology/Algebra/IsOpenUnits.lean,Mathlib/Topology/Algebra/Ring/Compact.lean |
23 |
7 |
['BryceT233', 'github-actions', 'tb65536'] |
nobody |
1-50868 1 day ago |
1-50868 1 day ago |
6-3805 6 days |
2 |
| 41675 |
joelriou author:joelriou |
feat(AlgebraicTopology): pushout diagrams in the filtration of `Δ[p] ⊗ Δ[1]` |
This will be used in #42295 in order to construct morphisms from `Δ[p] ⊗ Δ[1]` out of the data of the images of the nondegenerate `(p + 1)`-simplices of `Δ[p] ⊗ Δ[1]`.
---
- [x] depends on: #41656
- [x] depends on: #41655
- [x] depends on: #41624
- [x] depends on: #41617
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
tech debt
|
244/15 |
Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/UnionProd.lean,Mathlib/AlgebraicTopology/SimplicialSet/ProdStdSimplex.lean,Mathlib/AlgebraicTopology/SimplicialSet/ProdStdSimplexOne.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/AlgebraicTopology/SimplicialSet/Subcomplex.lean,Mathlib/CategoryTheory/Monoidal/FunctorCategory.lean |
6 |
19 |
['github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'robin-carlier'] |
nobody |
1-47611 1 day ago |
3-7262 3 days ago |
42-17363 42 days |
2 |
| 43419 |
JovanGerb author:JovanGerb |
feat: tag `Metric.closedBall_subset_ball` with `@[gcongr strict]` |
This PR uses `@[gcongr strict]` on `Metric.closedBall_subset_ball` so that it can be used by `gcongr` and `grw`. This means that we will be able to rewrite with a strict inequality to turn a closed ball into an open ball or vice versa.
I golfed away some uses of `Metric.closedBall_subset_ball` using `grw`. To aid this, I also added some more `@[gcongr]` 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/)
|
t-analysis
maintainer-merge
|
50/45 |
Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/CStarAlgebra/SpecialFunctions/PosPart.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Complex/Harmonic/MeanValue.lean,Mathlib/Analysis/Complex/Harmonic/Poisson.lean,Mathlib/Analysis/Complex/Schwarz.lean,Mathlib/Analysis/Complex/TaylorSeries.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/InnerProductSpace/Harmonic/Basic.lean,Mathlib/Analysis/InnerProductSpace/Harmonic/HarmonicContOnCl.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/MeasureTheory/Covering/Besicovitch.lean,Mathlib/MeasureTheory/Group/AddCircle.lean,Mathlib/MeasureTheory/Measure/Doubling.lean,Mathlib/MeasureTheory/Measure/Lebesgue/EqHaar.lean,Mathlib/MeasureTheory/Measure/Prokhorov.lean,Mathlib/Topology/Algebra/Valued/LocallyCompact.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/HausdorffDistance.lean,Mathlib/Topology/MetricSpace/ProperSpace/Lemmas.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean |
22 |
4 |
['github-actions', 'mathlib-merge-conflicts', 'mcdoll'] |
nobody |
1-39667 1 day ago |
26-19385 26 days ago |
35-13261 35 days |
0 |
| 42677 |
vlad902 author:vlad902 |
feat(FreeGroup): basic center/centralizer properties |
Develop basic theory about the center/centralizer of a free group, in particular characterize when the center is trivial and that the centralizer of a single element always forms a cyclic subgroup of a free group. Use that to derive that free groups are commutative-transitive and that commuting elements are powers of shared element.
---
AI disclosure: An LLM reviewed the change and suggested some 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]
-->
- [x] depends on: #41988
- [x] depends on: #42104
- [x] depends on: #42106
- [x] depends on: #42675
[](https://gitpod.io/from-referrer/)
|
t-group-theory |
107/0 |
Mathlib.lean,Mathlib/GroupTheory/FreeGroup/Center.lean |
2 |
4 |
['SnirBroshi', 'github-actions', 'mathlib-dependent-issues', 'vlad902'] |
nobody |
1-39633 1 day ago |
1-39849 1 day ago |
3-6857 3 days |
0 |
| 41981 |
YaelDillies author:YaelDillies |
refactor(Algebra/Polynomial): make into an `abbrev` of `AddMonoidAlgebra` |
... and deprecate the declarations that are now tautological (`toFinsupp`/`ofFinsupp`, `coeff` and their API). For some of the `Polynomial` declarations that needed changing, it was simplest to replace them with the corresponding `AddMonoidAlgebra` one. Note that this replacement is far from exhaustive (a majority of the `Polynomial` API could be replaced this way).
Note that `algebraMap R R[X]` has changed defeq.
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Reworking.20Finsupp.2C.20MonoidAlgebra.2C.20HahnSeries.2E.20PowerSeries/with/609275708)
Generated through several rounds of manual review with Claude Opus. Heavily edited by hand afterwards.
Assisted-by: Claude Opus 4.8
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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-algebra
LLM-generated
label:t-algebra$ |
548/774 |
Counterexamples/Cyclotomic105.lean,Counterexamples/MapFloor.lean,Counterexamples/MonicNonRegular.lean,Mathlib/Algebra/CubicDiscriminant.lean,Mathlib/Algebra/Lie/Rank.lean,Mathlib/Algebra/Module/LinearMap/Polynomial.lean,Mathlib/Algebra/MonoidAlgebra/MapDomain.lean,Mathlib/Algebra/MonoidAlgebra/Support.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Basis.lean,Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/Cardinal.lean,Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/Algebra/Polynomial/CoeffList.lean,Mathlib/Algebra/Polynomial/CoeffMem.lean,Mathlib/Algebra/Polynomial/Degree/Defs.lean,Mathlib/Algebra/Polynomial/Degree/Domain.lean,Mathlib/Algebra/Polynomial/Degree/IsMonicOfDegree.lean,Mathlib/Algebra/Polynomial/Degree/Lemmas.lean,Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/Algebra/Polynomial/Degree/Support.lean,Mathlib/Algebra/Polynomial/Degree/TrailingDegree.lean,Mathlib/Algebra/Polynomial/Degree/Units.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Algebra/Polynomial/Eval/Algebra.lean,Mathlib/Algebra/Polynomial/Eval/Coeff.lean,Mathlib/Algebra/Polynomial/Eval/Defs.lean,Mathlib/Algebra/Polynomial/Eval/Degree.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/GroupRingAction.lean,Mathlib/Algebra/Polynomial/HasseDeriv.lean,Mathlib/Algebra/Polynomial/Homogenize.lean,Mathlib/Algebra/Polynomial/Inductions.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/Algebra/Polynomial/Lifts.lean,Mathlib/Algebra/Polynomial/Module/Basic.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/Polynomial/Monomial.lean,Mathlib/Algebra/Polynomial/OfFn.lean,Mathlib/Algebra/Polynomial/Reverse.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Algebra/Polynomial/RuleOfSigns.lean,Mathlib/Algebra/Polynomial/Sequence.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/Algebra/Polynomial/UnitTrinomial.lean,Mathlib/Algebra/Ring/Subring/IntPolynomial.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Degree.lean,Mathlib/Analysis/Polynomial/CauchyBound.lean,Mathlib/Analysis/Polynomial/Fourier.lean,Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/FieldTheory/Minpoly/Field.lean,Mathlib/FieldTheory/Minpoly/MinpolyDiv.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/LinearAlgebra/Finsupp/VectorSpace.lean,Mathlib/LinearAlgebra/Lagrange.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Univ.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/FinTwo.lean,Mathlib/LinearAlgebra/Matrix/Polynomial.lean,Mathlib/NumberTheory/BernoulliPolynomials.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Algebraic/Basic.lean,Mathlib/RingTheory/Algebraic/Integral.lean,Mathlib/RingTheory/Artinian/Instances.lean,Mathlib/RingTheory/Derivation/MapCoeffs.lean,Mathlib/RingTheory/IntegralClosure/IsIntegralClosure/Basic.lean,Mathlib/RingTheory/Invariant/Basic.lean,Mathlib/RingTheory/IsAdjoinRoot.lean,Mathlib/RingTheory/Jacobson/Polynomial.lean,Mathlib/RingTheory/KrullDimension/Polynomial.lean,Mathlib/RingTheory/Localization/Integral.lean,Mathlib/RingTheory/MatrixPolynomialAlgebra.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean,Mathlib/RingTheory/Norm/Basic.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean,Mathlib/RingTheory/Polynomial/Hermite/Basic.lean,Mathlib/RingTheory/Polynomial/HilbertPoly.lean,Mathlib/RingTheory/Polynomial/Ideal.lean,Mathlib/RingTheory/Polynomial/IntegralNormalization.lean,Mathlib/RingTheory/Polynomial/IrreducibleRing.lean,Mathlib/RingTheory/Polynomial/Nilpotent.lean,Mathlib/RingTheory/Polynomial/Opposites.lean,Mathlib/RingTheory/Polynomial/ScaleRoots.lean,Mathlib/RingTheory/Polynomial/Subring.lean,Mathlib/RingTheory/PolynomialAlgebra.lean,Mathlib/RingTheory/PowerBasis.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/Derivative.lean,Mathlib/RingTheory/PowerSeries/Trunc.lean,Mathlib/RingTheory/ReesAlgebra.lean,Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean,Mathlib/RingTheory/Spectrum/Prime/IsOpenComapC.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean,Mathlib/RingTheory/Trace/Basic.lean,Mathlib/RingTheory/ZariskisMainTheorem.lean |
104 |
19 |
['NoahW314', 'YaelDillies', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'tb65536'] |
jjdishere assignee:jjdishere |
1-37305 1 day ago |
1-37412 1 day ago |
78-7247 78 days |
0 |
| 44989 |
vihdzp author:vihdzp |
feat: prove `ofNat(n) ^ ω = ω` |
From CGT.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-set-theory
easy
|
4/0 |
Mathlib/SetTheory/Ordinal/Principal.lean |
1 |
1 |
['Hagb', 'github-actions'] |
nobody |
1-37179 1 day ago |
2-39558 2 days ago |
2-39235 2 days |
0 |
| 45008 |
mycaule author:mycaule |
feat(LinearAlgebra/Matrix/Block): the symmetric Pascal matrix has determinant one |
This adds
* `Matrix.isLowerTriangular_choose (n : ℕ) : (of fun i j : Fin n ↦ (i : ℕ).choose j).IsLowerTriangular`
* `Matrix.choose_mul_transpose_choose (n : ℕ) : (of fun i j : Fin n ↦ (i : ℕ).choose j) * (of fun i j : Fin n ↦ (i : ℕ).choose j)ᵀ = of fun i j : Fin n ↦ (i + j : ℕ).choose i`
* `Matrix.det_pascal (R) [CommRing R] (n : ℕ) : (of fun i j : Fin n ↦ ((i + j : ℕ).choose i : R)).det = 1`
The first two are stated over `ℕ`. The product identity is, entrywise, Vandermonde's identity `(i + j).choose i = ∑ k, i.choose k * j.choose k` (`Nat.add_choose_eq`). `det_pascal` maps it to `R` along `Nat.castRingHom R` (`Matrix.map_mul`), and the cast of `L i j = i.choose j` is lower unitriangular, so its determinant is `1` by `Matrix.det_of_isLowerTriangular`. `R` stays in `det_pascal` because `Matrix.det` needs a commutative ring, so there is no determinant over `ℕ` to transport. A consequence is that this matrix is invertible over every commutative ring.
On the placement: the triangular determinant lemmas live in `Mathlib/LinearAlgebra/Matrix/Block.lean`, and `Mathlib/Data/Nat/Choose/Vandermonde.lean` only imports `Mathlib.Algebra.Polynomial.Coeff`, which is already in the import closure of `Block.lean`. So the lemmas go right after `det_of_isLowerTriangular`, with a private (non-`public`) `import Mathlib.Data.Nat.Choose.Vandermonde` that adds a single small module and nothing to the public interface. `Determinant/Misc.lean` would be a closer thematic fit but cannot import `Block.lean` (it has `assert_not_exists TwoSidedIdeal`). I am happy to move them to a new file `Mathlib/LinearAlgebra/Matrix/Pascal.lean`, or to rename them, if reviewers prefer.
Reference (added to `docs/references.bib`): A. Edelman and G. Strang, "Pascal matrices", Amer. Math. Monthly 111 (2004), no. 3, 189–197, doi:10.1080/00029890.2004.11920065.
AI disclosure: Claude (Anthropic's Claude Code) wrote the code, the proof and this description under my supervision. The lemma was first proved in a separate project of mine and then restated in Mathlib's conventions.
LLM-generated
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
t-algebra
new-contributor
LLM-generated
label:t-algebra$ |
46/0 |
Mathlib/LinearAlgebra/Matrix/Block.lean,docs/references.bib |
2 |
5 |
['eric-wieser', 'github-actions', 'mycaule'] |
nobody |
1-36222 1 day ago |
1-36322 1 day ago |
1-35999 1 day |
0 |
| 45021 |
raoxiaojia author:raoxiaojia |
fix(Tactic/Echelon): improve Zsqrtd model to return integer numerals when possible |
This PR improves the Zsqrtd model of Echelon tactic to return integer numerals instead of the `⟨re, im⟩` form when `im = 0`. This saves a manual rewrite step in closing some determinant goals.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-meta |
11/0 |
Mathlib/Tactic/Echelon/Zsqrtd.lean,MathlibTest/matrix.lean |
2 |
1 |
['github-actions'] |
nobody |
1-35813 1 day ago |
1-36035 1 day ago |
1-35712 1 day |
0 |
| 44993 |
benpigchu author:benpigchu |
feat(Data): add theorem about `List.count` of `List.ofFn` |
This PR add the theorem said that List.count of List.ofFn of a map equal to card of the FInset.univ filtered by the condition that the map equals the value, with the `List.Vector` version and `List.CountP` versions.
---
This theorem comes from https://github.com/dwrensha/compfiles/blob/238644f6625b17f1cb069e8313bb2a81220347f0/Compfiles/Imo2022P1.lean#L104 , the implementation in this PR is much simpler than that.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-data
new-contributor
maintainer-merge
|
28/3 |
Mathlib/Data/Fintype/Fin.lean |
1 |
22 |
['SnirBroshi', 'YaelDillies', 'benpigchu', 'github-actions'] |
nobody |
1-35334 1 day ago |
1-35499 1 day ago |
2-20950 2 days |
0 |
| 45018 |
aimmerwahr author:aimmerwahr |
doc(TensorProduct): correct a few typos in docstrings |
While reading this file I saw a few places where it's written
```
For a surjective `f : N → P`
```
when it should be
```
For a surjective `g : N → P`
```
which was confusing, so I corrected them as well as a few other docstrings.
(The short exact sequence in question is `variable {f : M →ₗ[R] N} {g : N →ₗ[R] P}`)
------
AI disclaimer: no AI. |
t-algebra
easy
new-contributor
label:t-algebra$ |
10/12 |
Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean |
1 |
4 |
['aimmerwahr', 'github-actions'] |
nobody |
1-33672 1 day ago |
1-41172 1 day ago |
1-40849 1 day |
0 |
| 43705 |
joelriou author:joelriou |
feat(Category/Abelian/Projective): interaction between `ProjectiveResolution.extMk` and the connecting morphism |
This is the dual result to #43224. Obtaining the dual version required introducing more API for the mapping cocone.
---
- [x] depends on: #43224
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
tech debt
|
415/32 |
Mathlib/Algebra/Homology/DerivedCategory/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/ShortExact.lean,Mathlib/Algebra/Homology/DerivedCategory/SingleTriangle.lean,Mathlib/Algebra/Homology/DerivedCategory/SmallShiftedHom.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplexShift.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplexSingle.lean,Mathlib/Algebra/Homology/HomotopyCategory/MappingCocone.lean,Mathlib/Algebra/Homology/HomotopyCategory/Shift.lean,Mathlib/Algebra/Homology/HomotopyCategory/ShortExact.lean,Mathlib/CategoryTheory/Abelian/Injective/Ext.lean,Mathlib/CategoryTheory/Abelian/Projective/Ext.lean,Mathlib/CategoryTheory/Abelian/Projective/Extend.lean,Mathlib/CategoryTheory/Triangulated/Rotate.lean |
13 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
1-29700 1 day ago |
1-29759 1 day ago |
2-6701 2 days |
0 |
| 36744 |
farmanb author:farmanb |
feat(CategoryTheory/Abelian/TorsionTheory): Introduce torsion theory for abelian categories |
Introduces torsion theories on an abelian category: a pair of object properties `T` and `F`
that are each other's left and right orthogonals. Adds `Abelian.TorsionTheory`, the
typeclasses `IsTorsionClass` / `IsTorsionFreeClass` (on the model of `Functor.IsLeftAdjoint`,
so closure properties come by instance search), the torsion theories generated and
cogenerated by a property, transport along `op`/`unop`, and Dickson's theorem
`isTorsionClass_iff`: in a well-powered abelian category with coproducts, a class is a
torsion class iff it is closed under quotients, extensions and coproducts. The torsion-free
version follows by passing to `Cᵒᵖ`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #44226 |
t-category-theory |
263/0 |
Mathlib.lean,Mathlib/CategoryTheory/Abelian/TorsionTheory/Basic.lean |
2 |
60 |
['farmanb', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'plp127'] |
robin-carlier assignee:robin-carlier |
1-26547 1 day ago |
1-26547 1 day ago |
9-38911 9 days |
0 |
| 45024 |
kim-em author:kim-em |
feat(linter): reject commands scoped with in section |
Commands such as `variable ... in section` do not open the section that their layout suggests: the generated `end` closes the inner section immediately and leaves the generated outer scope open. Named sections fail outright. Prefer opening a section first and putting the command inside it.
Add `linter.style.inSection` to the standard linter set for any command prefix ending in `section`, including `omit`, `include`, `variable`, `set_option`, `open`, `attribute`, local notation, and `universe`. The check uses the generic command-level `in` syntax instead of a list of command names. Nested prefixes receive one warning; scoped linter options are respected. The check lives in the existing style-linter module and adds no imports or separate source scan.
Fix both existing library uses: `Mathlib/Data/TypeVec.lean` (`variable`) and `Mathlib/CategoryTheory/Limits/Shapes/Pullback/IsPullback/BicartesianSq.lean` (`omit`). Preserve the eight intentional `set_option ... in section` test blocks in two existing test files with local opt-outs.
Tests cover all eight command forms above, multiline syntax and comments, section modifiers, nested wrappers, option disabling/re-enabling, valid per-declaration and ordinary section forms, quotations, strings, and elaboration failures. The new test file and both modified test files pass. Both changed library modules compile with the standard linter set and warnings as errors; all 327 compiled declaration-type fingerprints are unchanged. Text-style lint and `git diff --check` pass.
This PR targets current `master` independently of #45016 and #45017, and does not decide whether plain `omit` should be restricted.
:robot: prepared with Codex
|
|
274/2 |
Mathlib/CategoryTheory/Limits/Shapes/Pullback/IsPullback/BicartesianSq.lean,Mathlib/Data/TypeVec.lean,Mathlib/Init.lean,Mathlib/Tactic/Linter/Style.lean,MathlibTest/Linter/DeprecatedSyntax.lean,MathlibTest/Linter/InSection.lean,MathlibTest/Linter/TextBased.lean |
7 |
1 |
['github-actions'] |
nobody |
1-26029 1 day ago |
1-26258 1 day ago |
1-25935 1 day |
0 |
| 44660 |
jessealama author:jessealama |
feat(Combinatorics/SimpleGraph/Hamiltonian): close a Hamiltonian path into a Hamiltonian cycle |
Add `SimpleGraph.Walk.isHamiltonianCycle_cons`: closing a path `p` from `b` to `a` with an edge `a ~ b` gives a Hamiltonian cycle if and only if `p` is a Hamiltonian path that does not already use that edge.
This is the Hamiltonian analogue of `Walk.cons_isCycle_iff`. It was originally extracted at @YaelDillies's suggestion during review of #36376, which no longer needs it.
|
t-combinatorics |
6/0 |
Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean |
1 |
9 |
['SnirBroshi', 'YaelDillies', 'github-actions', 'jessealama'] |
nobody |
1-26024 1 day ago |
1-56106 1 day ago |
11-26463 11 days |
0 |
| 44756 |
mycaule author:mycaule |
feat(Algebra/Polynomial/RingDivision): polynomials coprime to `X - C a` |
Add to `Mathlib/Algebra/Polynomial/RingDivision.lean`, over a commutative ring:
`Polynomial.isCoprime_X_sub_C_iff`: `IsCoprime (X - C a) p ↔ IsUnit (p.eval a)`
`Polynomial.isCoprime_X_sub_C_iff_isUnit_sub`: `IsCoprime (X - C a) (X - C b) ↔ IsUnit (a - b)`; it replaces `isCoprime_X_sub_C_of_isUnit_sub`, which becomes a deprecated alias (its two uses in Mathlib are updated)
`Polynomial.isCoprime_X_iff`: `IsCoprime X p ↔ IsUnit (p.coeff 0)`
For the converse direction of the first lemma, evaluate a Bézout relation at `a`. For the direct one, write `p = (X - C a) * q + C (p.eval a)` (`X_sub_C_dvd_sub_C_eval`). Mathlib had `isCoprime_X_sub_C_of_isUnit_sub` (the case `p = X - C b`, one direction only) but not the general criterion.
AI disclosure: the Lean proof was written by an AI model (Claude, Anthropic) under my direction. I have read and checked it and will handle the review.
|
t-algebra
new-contributor
LLM-generated
label:t-algebra$ |
20/10 |
Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/Analysis/Complex/Polynomial/Basic.lean |
2 |
20 |
['github-actions', 'mycaule', 'themathqueen', 'vihdzp'] |
nobody |
1-23789 1 day ago |
1-23914 1 day ago |
9-3308 9 days |
0 |
| 39747 |
vihdzp author:vihdzp |
feat: intervals `Ici`/`Ioi` are cofinal/closed under directed suprema |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #44929
- [x] depends on: #44974
[](https://gitpod.io/from-referrer/)
|
t-order
maintainer-merge
|
55/8 |
Mathlib/Order/Cofinal.lean,Mathlib/Order/DirSupClosed.lean,Mathlib/Order/Interval/Set/Basic.lean,Mathlib/Order/UpperLower/Basic.lean |
4 |
27 |
['SnirBroshi', 'YaelDillies', 'b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
1-23485 1 day ago |
1-23616 1 day ago |
97-46317 97 days |
1 |
| 43264 |
riccardobrasca author:riccardobrasca |
feat: add Algebra.Polynomial.Laurent.Roots |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
52/0 |
Mathlib.lean,Mathlib/Algebra/Polynomial/Laurent/Roots.lean |
2 |
1 |
['github-actions'] |
nobody |
1-22956 1 day ago |
2-14231 2 days ago |
50-1547 50 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 |
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 |
5 |
['felixpernegger', 'github-actions', 'grunweg', 'leanprover-radar'] |
nobody |
1-20277 1 day ago |
29-30645 29 days ago |
29-30327 29 days |
0 |
| 45020 |
YaelDillies author:YaelDillies |
feat(RingTheory): the associates of a UFD form a complete lattice |
Use this new fact to redefine `Nat.setGcd` in a more elementary way.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-ring-theory |
57/14 |
Mathlib/NumberTheory/FrobeniusNumber.lean,Mathlib/RingTheory/UniqueFactorizationDomain/FactorSet.lean |
2 |
5 |
['SnirBroshi', 'YaelDillies', 'github-actions'] |
nobody |
1-19438 1 day ago |
1-37172 1 day ago |
1-36849 1 day |
0 |
| 45011 |
loefflerd author:loefflerd |
feat(NumberTheory/ModularForms): define order at infinity |
Define the "order of vanshing at infinity" of a function on the upper half-plane, and provide basic API.
This is preparation for finite-dimensionality of modular forms spaces. The definitions are carefully chosen so that the order is well-defined for arbitrary functions (neither holomorphy nor periodicity is assumed), to avoid constantly having to pass proof arguments.
---
Carved off from the modular-form finite-dimensionality PR #43644.
AI use: Based on code originally written by ChatGPT 5.6 Sol and 6.0 Astra, but carefully checked and cleaned up by me. |
t-number-theory |
370/0 |
Mathlib.lean,Mathlib/NumberTheory/ModularForms/OrderAtInfty.lean |
2 |
1 |
['github-actions'] |
nobody |
1-19327 1 day ago |
1-79325 1 day ago |
1-79002 1 day |
1 |
| 43723 |
homeowmorphism author:homeowmorphism |
feat(Topology/MetricSpace): define hyperbolic pseudometric spaces |
We define hyperbolic pseudometric spaces using the Gromov product. This will be used to define hyperbolic groups.
Co-authored-by: Katerina Hristova <katherina.hristova@gmail.com>
---
- [x] depends on: #43641
Use of AI: Claude Fable was used to look up things quickly and sketch the API, but this was mostly written (or rewritten) by hand.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
115/0 |
Mathlib.lean,Mathlib/Topology/Bornology/Basic.lean,Mathlib/Topology/MetricSpace/Hyperbolic.lean |
3 |
15 |
['SnirBroshi', 'github-actions', 'homeowmorphism', 'mathlib-dependent-issues', 'tb65536', 'vlad902'] |
nobody |
1-18731 1 day ago |
1-19290 1 day ago |
38-29993 38 days |
1 |
| 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 |
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 |
4 |
['JovanGerb', 'github-actions', 'joneugster', 'mathlib-merge-conflicts'] |
nobody |
1-13651 1 day ago |
14-55496 14 days ago |
40-32694 40 days |
0 |
| 44338 |
artie2000 author:artie2000 |
refactor: remove norm assumption for polynomial limits |
* Change proofs about limits of polynomials to avoid having to assume a norm on the field.
* Split the non-norm material from `Mathlib.Analysis.Polynomial.Basic`.
AI usage disclosure: Claude Sonnet 5.5 was used to come up with approaches for generalising the proofs. ChatGPT 5.5 was used to split material from discarded approaches into separate PRs. All of the changes in this PR were made by a human.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
t-topology
t-order
label:t-algebra$ |
350/225 |
Mathlib.lean,Mathlib/Algebra/Polynomial/Inductions.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Analysis/Polynomial/Basic.lean,Mathlib/Topology/Algebra/Order/Field.lean,Mathlib/Topology/Algebra/Order/Polynomial.lean |
6 |
18 |
['artie2000', 'github-actions', 'tb65536', 'vihdzp'] |
nobody |
1-12742 1 day ago |
1-12816 1 day ago |
5-697 5 days |
0 |
| 44799 |
ooovi author:ooovi |
feat(Geometry/Convex): segments in convex space |
Adds segments and open segments for convex spaces, and provides some basic API. Follows `Mathlib.Analysis.Convex.Segment`.
---
I want to define extreme sets in convex space using open segments. I don't need a lot of API and just ported the basics from analysis, but I'm happy to add more if anyone needs anything.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-convex-geometry |
265/0 |
Mathlib.lean,Mathlib/Geometry/Convex/Segment.lean |
2 |
63 |
['github-actions', 'martinwintermath', 'ooovi', 'vihdzp', 'vlad902'] |
vihdzp assignee:vihdzp |
1-10348 1 day ago |
1-11819 1 day ago |
5-27370 5 days |
1 |
| 38055 |
felixpernegger author:felixpernegger |
feat(Topology/EMetricSpace): add r-variation |
Redoing #37007 (I had accidently deleted my fork which nuked the PR).
See https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/p-variation for discussion.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
t-analysis
|
395/0 |
Mathlib.lean,Mathlib/Topology/EMetricSpace/RVariation.lean |
2 |
29 |
['felixpernegger', 'github-actions', 'jvanwinden', 'luigi-massacci', 'luigimassacci-ax', 'mathlib-merge-conflicts'] |
nobody |
1-9381 1 day ago |
76-26421 76 days ago |
181-15777 181 days |
0 |
| 44883 |
JovanGerb author:JovanGerb |
feat(ClickSuggestions): incorporate the `calc` widget |
This PR adds the `calc` widget into the `#click_suggestions` widget, whenever the cursor is at a `by` in the proof of a `calc` step. To do this, we have to extract the `Syntax` of the current command. Having access to this syntax may be useful in the future for other features.
This has not been tested much.
This PR doesn't make any changes to the `calc` widget itself, but we may want to de-activate it.
There is also the idea of integrating `rw`/`grw` suggestions with `calc`: instead of inserting a `rw` suggestion after the `by`, we could create a new `calc` step and prove it with the `rw` tactic. This is not done in this PR.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-meta
large-import
|
113/2 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ClickSuggestions.lean,Mathlib/Tactic/ClickSuggestions/Calc.lean,Mathlib/Tactic/ClickSuggestions/Util.lean |
5 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
1-8255 1 day ago |
1-9202 1 day ago |
3-29283 3 days |
0 |
| 44973 |
tb65536 author:tb65536 |
feat(Analysis/Matrix/GelfandRadius): the Gelfand radius of a block diagonal matrix |
This PR computes the Gelfand radius of a block diagonal matrix. This is needed for #44983, and ultimately for #42985.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
tech debt
maintainer-merge
|
33/2 |
Mathlib/Analysis/Matrix/GelfandRadius.lean,Mathlib/Analysis/Matrix/Normed.lean,Mathlib/Analysis/Normed/Algebra/GelfandRadius.lean |
3 |
12 |
['github-actions', 'tb65536', 'themathqueen'] |
nobody |
1-7236 1 day ago |
1-7648 1 day ago |
3-7633 3 days |
2 |
| 45043 |
JovanGerb author:JovanGerb |
chore: remove some early `Aesop` imports |
This PR removes some `import Aesop` from files that are early in the import hierarchy by refactoring the `aesop` proofs.
This shortens the long pole, as `Mathlib.Data.Set.Operations` used to be part of the long pole, and now isn't anymore.
This makes use of `attribute [local grind norm] Prod.forall`. It might be useful to add this option globally. Note that this was recently added for `Subtype.forall` and `Subtype.exists` in https://github.com/leanprover/lean4/pull/15748
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-data |
7/10 |
Mathlib/Data/Part.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Data/Set/Subsingleton.lean,Mathlib/Data/SubtypeNeLift.lean |
5 |
3 |
['JovanGerb', 'github-actions', 'leanprover-radar'] |
nobody |
1-6812 1 day ago |
1-12202 1 day ago |
1-11879 1 day |
0 |
| 45003 |
vihdzp author:vihdzp |
refactor(Algebra/Order/Archimedean/Basic): change `nat` → `natCast` in 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]
-->
This came up in #44992. |
t-order |
191/140 |
Counterexamples/SeparableNotSecondCountable.lean,Counterexamples/SorgenfreyLine.lean,Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/Archimedean/Hom.lean,Mathlib/Algebra/Order/Archimedean/Real/Basic.lean,Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Analysis/AbsoluteValue/Equivalence.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Normed/Field/Lemmas.lean,Mathlib/Analysis/SpecialFunctions/Pow/Asymptotics.lean,Mathlib/Basic/ENNReal/Basic.lean,Mathlib/Basic/NNReal/Defs.lean,Mathlib/Basic/Real/Embedding.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean,Mathlib/MeasureTheory/Function/AbsolutelyContinuous.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/MeasureTheory/Measure/Decomposition/Lebesgue.lean,Mathlib/MeasureTheory/VectorMeasure/Decomposition/Hahn.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/Padics/RingHoms.lean,Mathlib/NumberTheory/Real/Irrational.lean,Mathlib/NumberTheory/Transcendental/Liouville/Measure.lean,Mathlib/Probability/Kernel/Disintegration/CDFToKernel.lean,Mathlib/Probability/Kernel/Disintegration/MeasurableStieltjes.lean,Mathlib/Probability/Kernel/Disintegration/StandardBorel.lean,Mathlib/Probability/Kernel/Representation.lean,Mathlib/Probability/Moments/SubGaussian.lean,Mathlib/Topology/Algebra/Order/Archimedean.lean,Mathlib/Topology/Instances/ENNReal/Lemmas.lean,Mathlib/Topology/Instances/EReal/Lemmas.lean,Mathlib/Topology/Instances/Rat.lean,Mathlib/Topology/Instances/Real/Lemmas.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean,Mathlib/Topology/Order/Real.lean |
37 |
2 |
['github-actions'] |
nobody |
1-3225 1 day ago |
2-4494 2 days ago |
2-4171 2 days |
0 |
| 45042 |
YaelDillies author:YaelDillies |
feat(Util/Notation3): don't try matching tactic blocks |
This means that `notation3` can e.g. be used to create a delaborator for concrete cycle notation `c[...]` whereas previously it would fail due to the `by decide` in the expansion.
This is best effort, in the sense that eluding a proof in pretty-printing is necessarily a loss, unless we somehow run the tactic block while pretty-printing to determine whether the proof could have come from the tactic or had been hand-provided by the user.
Remove the `(prettyPrint := false)` flag in concrete cycle notation and the application of `Cycle.nodup_coe_iff` in the default proof term: the decidability instance applies it automatically anyway.
Generated by Claude Opus, hand-edited by myself afterwards.
Assisted-by: Claude Opus 5.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]
-->
|
LLM-generated
t-meta
|
29/15 |
Mathlib/GroupTheory/Perm/Cycle/Concrete.lean,Mathlib/Util/Notation3.lean,MathlibTest/Util/Notation3.lean |
3 |
3 |
['JovanGerb', 'YaelDillies', 'github-actions'] |
nobody |
1-924 1 day ago |
1-10359 1 day ago |
1-10036 1 day |
0 |
| 44898 |
Vierkantor author:Vierkantor |
fix(Tactic/CrossRefAttribute): add cross-reference tag to Verso docstring |
This PR fixes the issue where a cross-reference tag (e.g. Stacks, Kerodon, Wikidata, ...) overwrites Verso docstrings with a link to the tag. The issue is that the attribute would write to the Markdown docstring extension, which takes priority over the Verso docstring extension. To fix it, we write the tag to the Verso docstring based on the value of the `doc.verso` option.
Note that a declaration docstring, whether Markdown or Verso, is still incompatible with an attribute-generated docstring, since they are written in two different threads. This PR merely makes the Verso case broken in the same way as the Markdown case.
See Zulip: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Cross-reference.20attributes.20don.27t.20change.20the.20docstring/with/631861749
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
documentation
t-meta
|
77/2 |
Mathlib/Tactic/CrossRefAttribute.lean,MathlibTest/CrossRefAttribute.lean |
2 |
2 |
['Vierkantor', 'github-actions'] |
nobody |
0-85183 23 hours ago |
0-85485 23 hours ago |
5-5298 5 days |
0 |
| 45034 |
mkaratarakis author:mkaratarakis |
feat(Combinatorics/Quiver/Path): simple paths, cycles and acyclic quivers |
`Quiver.Path.IsSimple` and `Quiver.Path.IsCycle`, plus `Quiver.IsAcyclic`, modelled on what we already have for `SimpleGraph.Walk`.
The main result is that a path revisiting a vertex can be shortened by cutting out the loop. In particular, a shortest nontrivial loop is a cycle.
---
Split from #39916.
|
t-combinatorics |
142/0 |
Mathlib.lean,Mathlib/Combinatorics/Quiver/Path/Cycle.lean |
2 |
10 |
['Jun2M', 'YaelDillies', 'github-actions', 'mkaratarakis'] |
YaelDillies assignee:YaelDillies |
0-79626 22 hours ago |
1-4002 1 day ago |
1-4034 1 day |
1 |
| 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 |
0-79515 22 hours ago |
0-79709 22 hours ago |
1-6033 1 day |
0 |
| 45044 |
grunweg author:grunweg |
chore: remove various superfluous set options |
- The `header` doesn't fire on import-only files any more, so need not be disabled there.
- One comment is obsolete, as the linter has also been fixed.
- Another option is superfluous; two more are easy to fix.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
|
4/24 |
Mathlib/CategoryTheory/Idempotents/FunctorExtension.lean,Mathlib/Probability/Process/Filtration.lean,Mathlib/RingTheory/Valuation/LocalSubring.lean,Mathlib/Tactic/CancelDenoms.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Monotonicity.lean,Mathlib/Tactic/NormNum.lean,Mathlib/Tactic/Positivity.lean,Mathlib/Tactic/Ring.lean,Mathlib/Tactic/ToAdditive.lean,MathlibTest/FunPropMinimal.lean |
11 |
1 |
['github-actions'] |
nobody |
0-78451 21 hours ago |
0-78506 21 hours ago |
0-78183 21 hours |
0 |
| 45055 |
grunweg author:grunweg |
feat: bundled symmetric linear maps |
We construct bundled symmetric linear maps with their basic operations. The design follows the corresponding file on alternating linear maps closely.
This is the first step towards the vector bundle of symmetric maps, which features in one possible definition of jet spaces and jet bundles.
This work was partially conducted at the workshop
"Techniques and Tools for the Formalization of Analysis" at ICERM in May 2026.
While at it, we remove two outdated items from the module doc-string of the alternating maps' file.
---
Best reviewed by diffing with the alternating file, and then thinking about any reasons for divergences.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 label:t-algebra$ |
836/10 |
Mathlib.lean,Mathlib/LinearAlgebra/Alternating/Basic.lean,Mathlib/LinearAlgebra/Symmetric/Basic.lean |
3 |
1 |
['github-actions'] |
nobody |
0-73853 20 hours ago |
0-74053 20 hours ago |
0-73730 20 hours |
4 |
| 43871 |
manman4 author:manman4 |
feat(PowerSeries): add Lagrange inversion formula |
## What this PR adds
This PR formalizes the Lagrange inversion formula for formal power series over commutative rings without additive torsion (`HasUniqueDiv R`), together with divided versions over characteristic-zero fields.
For formal power series `P`, `Y`, and `H` over such a ring, suppose `Y = X * P.subst Y`. Then, for every natural number `n`, the Lagrange–Bürmann formula states:
```
(n + 1)[X^{n + 1}]H(Y) = [X^n](H' P^{n + 1}).
```
The brackets denote coefficient extraction, and `H'` denotes the formal derivative of `H`. Over a characteristic-zero field, dividing by `n + 1` gives the usual coefficient formula.
## Proof and scope
The proof follows the inductive argument of Surya and Warnke. The torsion-free assumption is used to cancel multiplication by positive natural numbers.
Following the review suggestions, this PR is restricted to the torsion-free version.
## Motivation
Lagrange inversion is a classical tool in enumerative combinatorics, treated for example in Section 5.4 of Richard P. Stanley’s *Enumerative Combinatorics*, Volume 2. It gives coefficient formulas for implicitly defined generating functions, with applications to counting rooted trees and other recursively defined combinatorial structures.
My motivation was to make this tool, which is also used in competitive programming, available in Mathlib.
## LLM
We (Julian and I) used Aristotle and Codex for code generation and ChatGPT and Claude for cleanup.
|
t-ring-theory
new-contributor
LLM-generated
|
212/0 |
Mathlib.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/Derivative.lean,Mathlib/RingTheory/PowerSeries/LagrangeInversion.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean,docs/references.bib |
6 |
126 |
['JX-Mo', 'Julian-Kuelshammer', 'github-actions', 'manman4', 'wwylele'] |
nobody |
0-73806 20 hours ago |
0-74010 20 hours ago |
33-68621 33 days |
0 |
| 45057 |
mortarsanjaya author:mortarsanjaya |
feat(Algebra/CharP/LocalRing): replace existing proof with number-theoretic proof |
This PR concerns the proof of `charP_zero_or_prime_power`, which says that the characteristic of a local ring is either zero or a prime power. The old proof considers the case analysis on the characteristic of the residue field, while the new proof uses number theory via considering the factorization of the characteristic of the ring itself. The initial intention is to weaken the hypothesis that the local ring is commutative, but this proof also reduces the import, as it does not require us to know the definition of residue field of a local (semi)ring.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 line of attack here is as follows: Pick a prime divisor of the characteristic $q$, say $p$, and write $q = p^n k$ with $p \nmid k$. Then $p^n$ and $k$ are coprime (over $\mathbb{Z}$) and their product is $0$ on $R$. Since $R$ is local then one of $p^n$ or $k$ is zero in $R$ and the other is a unit, and it is easy to see afterwards that $k = 1$.
Another line of attack I'm thinking of is to show that an integer $n$ is a prime power if and only if $n > 1$ and $n$ is not the product of two coprime positive integers (and have this added to Mathlib API), but I somehow feel that this lemma would not significantly reduce the code for this proof...
Clearly, `Ring` can be weakened to `Semiring`, but at this point, we should just provide a `Ring` instance on a `Semiring` with positive characteristic (as a theorem). |
t-algebra label:t-algebra$ |
34/40 |
Mathlib/Algebra/CharP/LocalRing.lean,Mathlib/Algebra/CharP/MixedCharZero.lean |
2 |
1 |
['github-actions'] |
nobody |
0-72434 20 hours ago |
0-72616 20 hours ago |
0-72293 20 hours |
0 |
| 41816 |
tb65536 author:tb65536 |
chore(GroupTheory/PGroup): reorder lemmas |
This PR reorders the `iff` lemmas in `GroupTheory/PGroup.lean` to allow for some golfing.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
large-import
|
48/45 |
Mathlib/GroupTheory/Exponent.lean,Mathlib/GroupTheory/PGroup.lean |
2 |
4 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'tb65536'] |
riccardobrasca assignee:riccardobrasca |
0-69987 19 hours ago |
0-70181 19 hours ago |
76-34451 76 days |
0 |
| 43811 |
emlis42 author:emlis42 |
feat(Analysis/SpecialFunctions): add complex Lambert W function |
This PR adds complex Lambert W function, and proves basic bijectivity.
## Main definitions
* `Complex.LambertW.domain k`: the domain of the `k`-th branch in the z-plane.
* `Complex.LambertW.range k`: the range of the `k`-th branch in the w-plane.
* `Complex.LambertW.index hw`: the unique index of the branch containing `w ≠ -1`.
* `Complex.lambertW k`: the `k`-th branch `W_ k` of the Lambert W function.
## Main results
* `Complex.LambertW.existsUnique_mem_range_mul_exp_eq`: every point in the domain of a branch has a
unique preimage in its range.
* `Complex.LambertW.bijOn_mul_exp_range_domain`:
`w ↦ w * cexp w` is a bijection from `range k` to `domain k`.
* `Complex.lambertW_mul_exp_of_mem_range`:
`W_ k (w * cexp w) = w` for `w ∈ range k`.
* `Complex.lambertW_mul_exp_lambertW_of_mem_domain`:
`W_ k z * cexp (W_ k z) = z` for `z ∈ domain k`.
* `Complex.eq_mul_exp_iff_exists_eq_lambertW`: `z = w * cexp w` if and only if `w = W_ k z` for
some branch `k` with `z ∈ domain k`.
* `Complex.eq_index_of_mem_lambertW`: the branch index in the previous statement is
unique whenever `w ≠ -1`.
## Notations
* `W_ k` is `Complex.lambertW k`.
* `W₀` is the principal branch `W_ 0`.
* `W₋₁` is `W_ (-1)`.
Discussed here: [adding the Complex LambertW function](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/adding.20the.20Complex.20LambertW.20function/with/622137962)
---
I asked LLM some proof details like `im_eq_zero_of_arg_add_im_eq_pi_of_mul_exp_mem` |
t-analysis |
1059/0 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Exp.lean,Mathlib/Analysis/SpecialFunctions/LambertW/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,docs/references.bib |
6 |
11 |
['Multramate', 'SnirBroshi', 'emlis42', 'github-actions', 'wwylele'] |
nobody |
0-69666 19 hours ago |
0-69929 19 hours ago |
35-34107 35 days |
2 |
| 44531 |
emlis42 author:emlis42 |
feat(Analysis/SpecialFunctions): add the polylogarithm function |
This PR adds the polylogarithm function $$\mathrm{Li}_ s(z)$$, together with its integral representation, power series, the recurrence `z * deriv (Li_ (s + 1)) z = Li_ s z`, and analyticity off the branch cut.
## Main definitions
* `Complex.polylogKernel`: the integrand `polylogKernel z t = z / (cexp t - z)`.
* `Complex.polylogIntegral`: the integral representation
$$
\mathrm{Li}_ s(z) = \dfrac{1}{\Gamma(s)}\int_0^{\infty}t ^ {s - 1} \dfrac{z}{e^z -z} \mathrm{d}t
$$
* `Complex.polylogSeries`: the power series
$$
\mathrm{Li}_ s(z) = \sum_{n = 1}^{\infty} \dfrac{z^n}{n^s}
$$
* `Complex.polylog`: the polylogarithm `Li_ s z`.
## Main statements
* `Complex.polylog_eq_polylogSeries`: `Li_ s z = polylogSeries s z` for `‖z‖ < 1`.
* `Complex.summable_polylogSeries_of_norm_lt` and `_of_norm_le`: the defining series
is summable for `‖z‖ < 1`, resp. for `‖z‖ ≤ 1` when `1 < s.re`.
* `Complex.polylog_eq_polylogIntegral`: `Li_ s z = polylogIntegral s z` for `0 < s.re`
and `z` off the branch cut.
* `Complex.mul_deriv_polylog_add_one`: the recurrence
`z * deriv (Li_ (s + 1)) z = Li_ s z` for `z` off the branch cut.
* `Complex.analyticOnNhd_polylog_right`: `Li_ s` is analytic off the branch cut.
## Implementation notes
The definition follows DLMF 25.12: `Li_ s z` is defined on the complement of the
branch cut `Ici 1 ×ℂ {0}` via the integral representation for `0 < s.re`, and extended to
general `s` by repeatedly applying the recurrence
`Li_ s = z * deriv (Li_ (s + 1))` until the real part becomes positive.
On the branch cut itself we take the limit from the lower half-plane.
---
I used an LLM agent only to verify the definitions in this work. I did not use any LLM-generated code. |
t-analysis |
624/0 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Polylog/Basic.lean,Mathlib/Topology/Separation/Hausdorff.lean |
3 |
2 |
['emlis42', 'github-actions'] |
nobody |
0-68955 19 hours ago |
0-69131 19 hours ago |
14-32871 14 days |
0 |
| 44814 |
BryceT233 author:BryceT233 |
feat(Algebra/TotalMonoidAlgebra): definitions and basic coefficient API |
Add the definitions and basic coefficient API of total monoid algebras.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 is a split of #41472 |
t-algebra
maintainer-merge
label:t-algebra$ |
331/0 |
Mathlib.lean,Mathlib/Algebra/TotalMonoidAlgebra/Defs.lean |
2 |
3 |
['YaelDillies', 'github-actions'] |
nobody |
0-66777 18 hours ago |
0-66967 18 hours ago |
7-61267 7 days |
1 |
| 45047 |
JX-Mo author:JX-Mo |
feat(RingTheory/SimpleModule): simple modules over a simple Artinian ring are isomorphic |
|
t-ring-theory |
15/4 |
Mathlib/RingTheory/SimpleModule/Isotypic.lean,Mathlib/RingTheory/SimpleModule/WedderburnArtin.lean |
2 |
1 |
['github-actions'] |
nobody |
0-65515 18 hours ago |
0-65579 18 hours ago |
1-3247 1 day |
1 |
| 42624 |
xgenereux author:xgenereux |
perf(IntermediateField/Basic): algebra instance for IntermediateField.restrictScalars |
Add `Algebra` / `IsScalarTower` instance for `IntermediateField.restrictScalars`.
This simplifies a proof in `FunctionField.lean`.
I also tried to hunt for another similar application and found one in `Mathlib.FieldTheory.Extension`.
AI disclaimer: I asked an AI assistant to suggest an improvement to the proof in the FunctionField.lean file. This PR is the result of this discussion.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
9/12 |
Mathlib/FieldTheory/Extension.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean,Mathlib/NumberTheory/FunctionField.lean |
3 |
6 |
['github-actions', 'leanprover-radar', 'xgenereux'] |
ocfnash assignee:ocfnash |
0-64861 18 hours ago |
70-72186 70 days ago |
70-73323 70 days |
0 |
| 44026 |
kim-em author:kim-em |
chore: remove backward.privateInPublic in category theory, topology and analysis |
This PR removes the `backward.privateInPublic` option in 6 files across category theory, topology and analysis. In each case a private definition appeared in the statement of a public declaration, so it was already part of the public interface in all but name. The fix is to drop `private` from those definitions (and from the auxiliary definitions their bodies depend on in exposed sections), adding docstrings where they were missing. In `Analysis/InnerProductSpace/OfNorm` the auxiliary inner product `inner_` moves into the `InnerProductSpaceable` namespace rather than becoming a root-level name; the public lemmas `inner_.norm_sq`, `inner_.conj_symm` and `Continuous.inner_` already carried its name. In `Topology/Category/Compactum` the helper `cl` gets a mathematical docstring, and the two lemmas about it that are only used in proofs stay private.
Files where a private *lemma* appeared in a public statement, and the files with file-wide `public section` restructuring, are handled in #44032. Names are otherwise kept as they were; suggestions for better names are welcome but are not needed for this PR.
🤖 Prepared with Claude Code |
tech debt |
19/63 |
Mathlib/Analysis/InnerProductSpace/OfNorm.lean,Mathlib/CategoryTheory/Monoidal/Internal/FunctorCategory.lean,Mathlib/FieldTheory/Galois/Profinite.lean,Mathlib/Topology/Category/Compactum.lean,Mathlib/Topology/Category/TopCat/Limits/Konig.lean,Mathlib/Topology/MetricSpace/GromovHausdorff.lean |
6 |
1 |
['github-actions'] |
JovanGerb assignee:JovanGerb |
0-64859 18 hours ago |
29-34014 29 days ago |
29-46450 29 days |
0 |
| 45019 |
JX-Mo author:JX-Mo |
feat(RingTheory/SimpleModule): add Schur's lemma for non-isomophic simple modules |
It's not clear to me that which `IsEmpty (M ≃ₗ[R] N) ↔ ∀ f : M →ₗ[R] N, f = 0 ↔ Subsingleton (M →ₗ[R] N)` should be the main API, but let's add iff lemmas first. |
t-ring-theory |
16/0 |
Mathlib/RingTheory/SimpleModule/Basic.lean |
1 |
2 |
['github-actions'] |
nobody |
0-64490 17 hours ago |
0-64623 17 hours ago |
1-32245 1 day |
0 |
| 41327 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Subgraph): `induce` lemmas |
`Subgraph.induce` API for sup / inf / iSup / iInf / inter / iUnion / iInter (union already exists)
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
58/0 |
Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
1 |
1 |
['github-actions'] |
nobody |
0-63960 17 hours ago |
109-11502 109 days ago |
109-11179 109 days |
0 |
| 41336 |
SnirBroshi author:SnirBroshi |
chore(Combinatorics/SimpleGraph/Girth): golf `egirth_top` using `cycleGraph` |
Golf `egirth_top` (#38529) using `cycleGraph_isContained_iff` (#35255)
Co-authored-by: Vlad Tsyrklevich <vlad@tsyrklevi.ch>
---
Speeds up the proof from ~120ms to ~30ms
(although it used to be ~600ms, not sure what happened, perhaps toolchains sped it up already)
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
5/11 |
Mathlib/Combinatorics/SimpleGraph/Girth.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
0-63959 17 hours ago |
20-69255 20 days ago |
108-63407 108 days |
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 |
0-63958 17 hours ago |
42-81335 42 days ago |
93-40575 93 days |
0 |
| 43440 |
Raph-DG author:Raph-DG |
feat(AlgebraicGeometry): serre's R_k condition for schemes |
In this PR, we define Serre's R_k condition. We also show that R_1 is equivalent to all local rings in codimension one being DVRs, though we show this under the assumption that the local rings are all domains. This assumption can be dropped once #28683 is merged.
AI disclosure: 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-algebraic-geometry |
104/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/RegularInCodimension.lean |
2 |
14 |
['Brian-Nugent', 'Raph-DG', 'github-actions', 'justus-springer'] |
nobody |
0-63957 17 hours ago |
35-75400 35 days ago |
45-55117 45 days |
0 |
| 41260 |
SnirBroshi author:SnirBroshi |
feat(GroupTheory/Exponent): the order of a group divides a power of its exponent |
For finite groups:
- `(Monoid.exponent G).primeFactors = (Nat.card G).primeFactors`
- `Nat.card G ∣ Monoid.exponent G ^ Nat.card G`
---
This requires importing Cauchy's theorem (`GroupTheory.Perm.Cycle.Type`) in `Exponent.lean` which I'm not sure about, but the alternatives are either moving the theorems to `PGroup.lean`, or creating a new file with a strange name like `ExponentLemmas.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-group-theory
large-import
|
27/3 |
Mathlib/GroupTheory/Exponent.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean |
2 |
14 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'ocfnash', 'tb65536'] |
nobody |
0-63956 17 hours ago |
22-8690 22 days ago |
109-73866 109 days |
0 |
| 45037 |
felixpernegger author:felixpernegger |
chore: fix mergewithgrind exceptions |
This fixes the warnings from the `mergeWithGrind` linter, as reported [here]([#mathlib4 > Weekly linting log @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Weekly.20linting.20log/near/632946433)) by @SnirBroshi.
Some files become a bit slower, see radar output below, but nothing significant IMO.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
9/47 |
Mathlib/Algebra/Notation/Support.lean,Mathlib/Algebra/QuadraticAlgebra/Discriminant.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/AlgebraicTopology/SimplexCategory/ToMkOne.lean,Mathlib/AlgebraicTopology/SimplicialObject/ChainHomotopy.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/RingInverseOrder.lean,Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Tutte.lean,Mathlib/Data/Finsupp/Pointwise.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/Multiset/Find.lean,Mathlib/Data/PFun.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean,Mathlib/LinearAlgebra/RootSystem/Base.lean,Mathlib/MeasureTheory/VectorMeasure/IntegrationByParts.lean,Mathlib/NumberTheory/FundamentalDiscriminant.lean,Mathlib/NumberTheory/Height/EllipticCurve.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/Order/Interval/Finset/Gaps.lean,Mathlib/Topology/Instances/AddCircle/Defs.lean |
26 |
14 |
['JovanGerb', 'SnirBroshi', 'felixpernegger', 'github-actions', 'leanprover-radar'] |
nobody |
0-63662 17 hours ago |
1-8473 1 day ago |
1-8150 1 day |
0 |
| 45062 |
Parcly-Taxel author:Parcly-Taxel |
chore: remove more `defeqAttrib` options |
This is the result of a run of `rm_set_option` on my laptop with #45027, but before #45039. |
tech debt |
16/1297 |
Mathlib/Algebra/Category/AlgCat/FilteredColimits.lean,Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean,Mathlib/Algebra/Category/Grp/AB.lean,Mathlib/Algebra/Category/Grp/Colimits.lean,Mathlib/Algebra/Category/Grp/Yoneda.lean,Mathlib/Algebra/Category/ModuleCat/Biproducts.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/FilteredColimits.lean,Mathlib/Algebra/Category/ModuleCat/Kernels.lean,Mathlib/Algebra/Category/ModuleCat/LeftResolution.lean,Mathlib/Algebra/Category/ModuleCat/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/ColimitFunctor.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pushforward.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafification.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackContinuous.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackFree.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean,Mathlib/Algebra/Category/ModuleCat/Stalk.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Homology.lean,Mathlib/Algebra/Category/ModuleCat/Ulift.lean,Mathlib/Algebra/Category/MonCat/Colimits.lean,Mathlib/Algebra/Category/MonCat/FilteredColimits.lean,Mathlib/Algebra/Category/MonCat/Limits.lean,Mathlib/Algebra/Category/MonCat/Yoneda.lean,Mathlib/Algebra/Category/Ring/Adjunctions.lean,Mathlib/Algebra/Category/Ring/Colimits.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/Category/Ring/FinitePresentation.lean,Mathlib/Algebra/Category/Ring/Under/Limits.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/Homology/AlternatingConst.lean,Mathlib/Algebra/Homology/BifunctorAssociator.lean,Mathlib/Algebra/Homology/BifunctorShift.lean,Mathlib/Algebra/Homology/CommSq.lean,Mathlib/Algebra/Homology/DerivedCategory/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/DerivabilityStructureInjectives.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/ExtClass.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Map.lean,Mathlib/Algebra/Homology/DerivedCategory/HomologySequence.lean,Mathlib/Algebra/Homology/DerivedCategory/Plus.lean,Mathlib/Algebra/Homology/DerivedCategory/ShortExact.lean,Mathlib/Algebra/Homology/DerivedCategory/TStructure.lean,Mathlib/Algebra/Homology/Embedding/Extend.lean,Mathlib/Algebra/Homology/Embedding/ExtendHomology.lean,Mathlib/Algebra/Homology/Embedding/HomEquiv.lean,Mathlib/Algebra/Homology/Embedding/IsSupported.lean,Mathlib/Algebra/Homology/Embedding/TruncGEHomology.lean,Mathlib/Algebra/Homology/Factorizations/CM5a.lean,Mathlib/Algebra/Homology/HomologicalComplexLimits.lean,Mathlib/Algebra/Homology/HomologySequence.lean,Mathlib/Algebra/Homology/HomologySequenceLemmas.lean,Mathlib/Algebra/Homology/Homotopy.lean,Mathlib/Algebra/Homology/HomotopyCategory.lean,Mathlib/Algebra/Homology/HomotopyCategory/DegreewiseSplit.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/MappingCocone.lean,Mathlib/Algebra/Homology/HomotopyCategory/MappingCone.lean,Mathlib/Algebra/Homology/HomotopyCategory/Plus.lean,Mathlib/Algebra/Homology/HomotopyCategory/Pretriangulated.lean,Mathlib/Algebra/Homology/HomotopyCategory/ShiftSequence.lean,Mathlib/Algebra/Homology/HomotopyCategory/ShortExact.lean,Mathlib/Algebra/Homology/HomotopyCategory/SingleFunctors.lean,Mathlib/Algebra/Homology/HomotopyCofiber.lean,Mathlib/Algebra/Homology/HomotopyFiber.lean,Mathlib/Algebra/Homology/LeftResolution/Basic.lean,Mathlib/Algebra/Homology/LeftResolution/Transport.lean,Mathlib/Algebra/Homology/Localization.lean,Mathlib/Algebra/Homology/ModelCategory/Injective.lean,Mathlib/Algebra/Homology/ModelCategory/Lifting.lean,Mathlib/Algebra/Homology/Monoidal.lean,Mathlib/Algebra/Homology/ShortComplex/Ab.lean,Mathlib/Algebra/Homology/ShortComplex/ConcreteCategory.lean,Mathlib/Algebra/Homology/ShortComplex/Exact.lean,Mathlib/Algebra/Homology/ShortComplex/FunctorEquivalence.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/ModuleCat.lean,Mathlib/Algebra/Homology/ShortComplex/PreservesHomology.lean,Mathlib/Algebra/Homology/ShortComplex/Retract.lean,Mathlib/Algebra/Homology/ShortComplex/RightHomology.lean,Mathlib/Algebra/Homology/Single.lean,Mathlib/Algebra/Homology/SpectralObject/Basic.lean,Mathlib/Algebra/Homology/SpectralObject/Cycles.lean,Mathlib/Algebra/Homology/SpectralObject/Differentials.lean,Mathlib/Algebra/Homology/SpectralObject/Page.lean,Mathlib/Algebra/Homology/SpectralObject/SpectralSequence.lean,Mathlib/Algebra/Homology/TotalComplexShift.lean,Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/AlgebraicGeometry/AffineSpace.lean,Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean,Mathlib/AlgebraicGeometry/AlgClosed/Basic.lean,Mathlib/AlgebraicGeometry/Birational/Composition.lean,Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean,Mathlib/AlgebraicGeometry/Gluing.lean |
499 |
1 |
['github-actions'] |
nobody |
0-57326 15 hours ago |
0-57520 15 hours ago |
0-57197 15 hours |
0 |
| 45022 |
Parcly-Taxel author:Parcly-Taxel |
chore: remove some tech debt |
The removals in this PR are `backward.defeqAttrib.useBackward`, some adaptation notes from the upgrade to 4.30.0-rc1 and one `backward.isDefEq.respectTransparency.types`. |
tech debt |
21/63 |
Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Algebra/QuaternionBasis.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arctan.lean,Mathlib/CategoryTheory/SmallObject/Construction.lean,Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean,Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Tutte.lean,Mathlib/LinearAlgebra/Determinant.lean,Mathlib/LinearAlgebra/Finsupp/LSum.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Pi.lean,Mathlib/Order/CompleteLattice/Basic.lean |
15 |
1 |
['github-actions'] |
nobody |
0-57029 15 hours ago |
0-57078 15 hours ago |
0-68317 18 hours |
0 |
| 44757 |
mycaule author:mycaule |
feat(LinearAlgebra/ExteriorPower/Basis): the Cauchy–Binet formula |
Add to `Mathlib/LinearAlgebra/ExteriorPower/Basis.lean`, for matrices over a commutative ring with `ι` finite and linearly ordered:
`Matrix.det_mul_eq_sum_powersetCard`: for `A : Matrix (Fin n) ι R` and `B : Matrix ι (Fin n) R`, `det (A * B) = ∑ s : powersetCard ι n, det (A.submatrix id s) * det (B.submatrix s id)`, each `s` enumerated in increasing order (`powersetCard.ofFinEmbEquiv.symm s`)
`Matrix.det_submatrix_mul`: the same for the minors of `A * B` on rows `I : Fin n → l` and columns `K : Fin n → o`.
---
Mathlib has `det_mul` for square matrices but no Cauchy–Binet formula. #40473 and #44209 (both closed) proved it by direct computation with permutations, and the review of #40473 pointed to exterior powers instead. Here the square case applies `exteriorPower.pairingDual` to the expansion of `ιMulti R n (rows of A)` in `Module.Basis.exteriorPower` (`Basis.sum_repr`); the minors version follows from it through `Matrix.submatrix_mul`.
Questions for reviewers: the names; whether the sum should be over `Fin n ↪o ι` instead of `powersetCard ι n`.
AI disclosure: the Lean proof was written by an AI model (Claude, Anthropic) under my direction, with the proof of the square case suggested in review. I have read and checked it and will handle the review.
|
t-algebra
new-contributor
LLM-generated
label:t-algebra$ |
29/0 |
Mathlib/LinearAlgebra/ExteriorPower/Basis.lean |
1 |
17 |
['github-actions', 'mycaule', 'themathqueen', 'wwylele'] |
nobody |
0-56285 15 hours ago |
6-1288 6 days ago |
9-15105 9 days |
0 |
| 44572 |
bryangingechen author:bryangingechen |
ci: rely on new bors functionality to block dependent PRs instead of label |
Currently, PRs that are labeled with `blocked-by-other-PR` cannot be merged, due to it being in `block_labels` in `bors.toml`. This is an issue for PRs that have been bundled using `bors stack` or `bors link` since if they list their dependencies in the PR, the dependent-issues workflow comes and adds that label. (cf. https://github.com/leanprover-community/mathlib4/pull/42976#issuecomment-5356848581 and [this zulip message](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Stacked.20pull.20requests/near/629173087)).
A new bors feature that should solve this has been deployed (https://github.com/leanprover-community/bors-ng/pull/67). The new `[dependencies]` settings in `bors.toml` tell bors to read dependencies from the PR body with the same keywords as the dependent-issues action, and then bors will ensure that the listed PRs are all merged, closed, or in the same bundle before putting the PR on the queue. This PR contains the adaptations necessary to make use of this feature.
It also includes a bump to the leanprover-community/dependent-issues action to include some parsing fixes: https://github.com/leanprover-community/dependent-issues/pull/1.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
CI
LLM-generated
|
18/3 |
.github/workflows/dependent-issues.yml,bors.toml,docs/workflows.md |
3 |
5 |
['bryangingechen', 'github-actions', 'joneugster'] |
joneugster assignee:joneugster |
0-56269 15 hours ago |
0-56331 15 hours ago |
3-13434 3 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
|
168/21 |
Mathlib.lean,Mathlib/RingTheory/Jacobson/Opposite.lean,Mathlib/RingTheory/SimpleModule/WedderburnArtin.lean,MathlibTest/JacobsonOpposite.lean,Wanted.lean,Wanted/RingTheory/SimpleModule/WedderburnArtin.lean |
6 |
2 |
['github-actions'] |
nobody |
0-55611 15 hours ago |
0-55664 15 hours ago |
12-30968 12 days |
0 |
| 42067 |
themathqueen author:themathqueen |
feat(RingTheory): define Frobenius algebras |
A `FrobeniusAlgebra` is an algebra that is equipped with a `dual : Module.Dual R A` such that the bilinear form `(LinearMap.mul R A).compr₂ dual` is bijective.
A straightforward example: a matrix over a field with the trace as its dual is a Frobenius algebra. (Not an instance because there can be other choices of the dual.)
A `FrobeniusAlgebra` induces a coalgebra such that it satisfies the Frobenius equations (`Coalgebra.IsFrobenius`).
Note that this is not an instance since you can have a different coalgebra that is not equal to this one (for example, if you have a `Bialgebra R A` where `A` is not isomorphic to `R` then the coalgebra cannot satisfy the Frobenius equations, so this is not equal to the coalgebra coming from a `FrobeniusAlgebra R A`).
A coalgebra that satisfies the Frobenius equations (`Coalgebra.IsFrobenius`) naturally induces a Frobenius algebra (`FrobeniusAlgebra`).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to 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: #27493
- [x] depends on: #42077
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
331/21 |
Mathlib.lean,Mathlib/RingTheory/Coalgebra/IsFrobenius.lean,Mathlib/RingTheory/FrobeniusAlgebra/Basic.lean,Mathlib/RingTheory/FrobeniusAlgebra/IsFrobenius.lean |
4 |
21 |
['JX-Mo', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'themathqueen'] |
nobody |
0-50963 14 hours ago |
8-10706 8 days ago |
29-16504 29 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 |
0-50430 14 hours ago |
0-50654 13 hours ago |
65-37309 65 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 |
0-49434 13 hours ago |
0-49700 13 hours ago |
0-49626 13 hours |
0 |
| 45068 |
thorimur author:thorimur |
feat(Tactic/Linter/Header): profile the header linter |
This PR puts the header linter (which is really a collection of linters) into its own profiling category.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
easy
t-linter
|
1/0 |
Mathlib/Tactic/Linter/Header.lean |
1 |
3 |
['github-actions', 'leanprover-radar', 'thorimur'] |
nobody |
0-46661 12 hours ago |
0-46718 12 hours ago |
0-46395 12 hours |
0 |
| 41555 |
BryceT233 author:BryceT233 |
feat(Algebra/Order/Antidiagonal): connect `Finset.HasAntidiagonal` with `Filter.TendstoCofinite` |
This PR connects `Finset.HasAntidiagonal` with `Filter.TendstoCofinite` and cleans up `TendstoCofinite.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: #41521
[](https://gitpod.io/from-referrer/)
|
tech debt
t-algebra
label:t-algebra$ |
34/12 |
Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Order/Filter/TendstoCofinite.lean |
2 |
14 |
['BryceT233', 'github-actions', 'jcommelin', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'plp127'] |
nobody |
0-45746 12 hours ago |
0-45849 12 hours ago |
46-41694 46 days |
0 |
| 44428 |
kebekus author:kebekus |
feat: behavior of zero/pole divisors of meromorphic functions under differentiation |
Relate the divisor of `deriv f` to the divisor of a meromorphic function `f`, and deduce the corresponding statements for the logarithmic counting functions of Value Distribution Theory.
This material is used in [Project VD](https://github.com/kebekus/ProjectVD), formalizing Value Distribution Theory for meromorphic functions on the complex plane. Claude Code was used to create this PR.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
|
152/0 |
Mathlib/Analysis/Complex/ValueDistribution/LogCounting/Truncated.lean,Mathlib/Analysis/Meromorphic/Divisor.lean,Mathlib/Analysis/Meromorphic/Order.lean |
3 |
1 |
['github-actions'] |
nobody |
0-41145 11 hours ago |
0-41197 11 hours ago |
17-10403 17 days |
0 |
| 43985 |
kebekus author:kebekus |
feat: API for working with canonical factors |
To prepare for upcoming work in Value Distribution Theory, add three elementary lemmas on canonical factors and their derivatives.
This material is used in [Project VD](https://github.com/kebekus/ProjectVD), formalizing Value Distribution Theory for meromorphic functions on the complex plane. Claude Code was used to create this PR.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
LLM-generated
|
86/0 |
Mathlib/Analysis/Complex/CanonicalDecomposition.lean |
1 |
1 |
['github-actions'] |
nobody |
0-41035 11 hours ago |
0-41284 11 hours ago |
30-33241 30 days |
0 |
| 44629 |
kebekus author:kebekus |
feat: behavior of order in polymomial expressions of meromorphic functions |
Establish standard formulae for the behavior of order in finite sums and polynomial expressions of meromorphic functions.
This material is used in [Project VD](https://github.com/kebekus/ProjectVD), formalizing Value Distribution Theory for meromorphic functions on the complex plane. Claude Code was used to create this PR.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
|
223/0 |
Mathlib/Analysis/Meromorphic/Divisor.lean,Mathlib/Analysis/Meromorphic/Order.lean |
2 |
1 |
['github-actions'] |
nobody |
0-40950 11 hours ago |
0-41208 11 hours ago |
12-47537 12 days |
0 |
| 43859 |
kebekus author:kebekus |
feat: Jensen-Type Inequality for Circle Averages |
In preparation for the upcoming proof of Nevanlinna's "Lemma on Logarithmic Derivatives", establish a Jensen-type inequality for circle averages, where the positive part of the logarithm plays the role of the concave function.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
LLM-generated
|
93/0 |
Mathlib.lean,Mathlib/Analysis/Complex/ValueDistribution/LogDerivLemma.lean,Mathlib/Analysis/Convex/SpecificFunctions/Basic.lean,Mathlib/MeasureTheory/Integral/CircleIntegral.lean |
4 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
RemyDegenne assignee:RemyDegenne |
0-40822 11 hours ago |
0-40987 11 hours ago |
33-48772 33 days |
0 |
| 43958 |
kebekus author:kebekus |
feat: simplify computations in complex analysis by extracting frequently-used lemmas |
Simplify several computations in complex analysis by extracting lemmas that are used more than once. At present, the gain is real but modest. It will become more visible as more computations are added.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
LLM-generated
|
57/56 |
Mathlib/Analysis/Complex/JensenFormula.lean,Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/SpecialFunctions/Complex/CircleMap.lean,Mathlib/Analysis/SpecialFunctions/Integrals/PosLog.lean |
4 |
1 |
['github-actions'] |
nobody |
0-40801 11 hours ago |
0-40860 11 hours ago |
31-30673 31 days |
0 |
| 43373 |
Parcly-Taxel author:Parcly-Taxel |
feat: `2 ^ n ≤ lcmUpto n` for `7 ≤ n` |
This proof is even more elementary than Nair's proof (_American Mathematical Monthly_ **89** (2), February 1982, 126–129). Inspired by [this Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Bounds.20of.20Chebyshev.20Functions/with/621120558).
Co-authored-by: Aristotle (Harmonic) <aristotle-harmonic@harmonic.fun>
The original Aristotle run is [here](https://aristotle.harmonic.fun/dashboard/requests/9fd88021-f5b1-4e7f-99fc-450d5edc9590).
We also add a slightly stronger lower bound on the prime-counting function based on the new result as `pi_ge_of_four_le`. |
t-number-theory
LLM-generated
maintainer-merge
|
69/16 |
Mathlib/Data/Nat/Choose/Central.lean,Mathlib/Data/Nat/Choose/Factorization.lean,Mathlib/NumberTheory/Chebyshev.lean |
3 |
9 |
['Parcly-Taxel', 'SnirBroshi', 'github-actions', 'loefflerd', 'mathlib-merge-conflicts'] |
loefflerd assignee:loefflerd |
0-39362 10 hours ago |
0-58141 16 hours ago |
46-12305 46 days |
0 |
| 45033 |
mkaratarakis author:mkaratarakis |
feat(Combinatorics/Quiver/Path): iterated composition of a loop |
`Quiver.Path.replicate`, the `n`-fold composition of a loop with itself, and its length.
---
Split from #39916.
|
t-combinatorics |
46/0 |
Mathlib.lean,Mathlib/Combinatorics/Quiver/Path/Replicate.lean |
2 |
4 |
['YaelDillies', 'github-actions', 'mkaratarakis'] |
YaelDillies assignee:YaelDillies |
0-37889 10 hours ago |
1-4003 1 day ago |
1-4124 1 day |
0 |
| 40922 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra/Module): minimal generators of module over local ring |
In this PR, we proved for fg module over local ring, "two set of minimal generators can be transported by an invertible matrix", implemented as the commuting morphism between the source of the two surjection must be bijective.
(The last lemma is for transport between Koszul complex form two set of generators)
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
101/0 |
Mathlib.lean,Mathlib/Algebra/Module/MinimalGenerators.lean |
2 |
9 |
['Thmoas-Guan', 'github-actions', 'jjdishere'] |
nobody |
0-37176 10 hours ago |
0-37176 10 hours ago |
116-72466 116 days |
2 |
| 44968 |
SnirBroshi author:SnirBroshi |
feat(LinearAlgebra/Finsupp/LinearCombination): bundle `linearCombination` as an `AddMonoidHom` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 label:t-algebra$ |
43/48 |
Mathlib/LinearAlgebra/Dimension/Basic.lean,Mathlib/LinearAlgebra/Dimension/StrongRankCondition.lean,Mathlib/LinearAlgebra/Finsupp/LinearCombination.lean,Mathlib/RingTheory/Ideal/Basic.lean,Mathlib/RingTheory/MvPolynomial/Groebner.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean,Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean,Mathlib/RingTheory/Unramified/Finite.lean |
8 |
4 |
['Hagb', 'SnirBroshi', 'github-actions'] |
nobody |
0-37064 10 hours ago |
0-38981 10 hours ago |
2-66121 2 days |
0 |
| 45048 |
JX-Mo author:JX-Mo |
chore(RingTheory/SimpleModule): replace `DecidableEq` by `Classical` |
Downstreams have to carry `DecidableEq` instance whenever one needs the fact that the endomorphism ring of a simple module is a division ring. However this instance itself is noncomputable anyway. |
t-algebra
easy
label:t-algebra$ |
4/3 |
Mathlib/RingTheory/SimpleModule/Basic.lean |
1 |
9 |
['JX-Mo', 'eric-wieser', 'github-actions', 'grunweg', 'vihdzp'] |
nobody |
0-36866 10 hours ago |
0-66942 18 hours ago |
1-852 1 day |
0 |
| 44511 |
eric-wieser author:eric-wieser |
chore: more filter generalizations in tsum/tprod lemmas |
The new statements are syntactically more general than the old ones.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-topology
easy
maintainer-merge
|
30/18 |
Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Countable.lean,Mathlib/Topology/Algebra/InfiniteSum/Basic.lean |
4 |
2 |
['YaelDillies', 'github-actions'] |
nobody |
0-36236 10 hours ago |
14-41657 14 days ago |
14-44257 14 days |
0 |
| 44969 |
tb65536 author:tb65536 |
feat(Analysis/Matrix/Normed): prove `‖A i j‖ ≤ ‖A‖` for the operator norm |
This PR proves the bound `‖A i j‖ ≤ ‖A‖` for the operator norm.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-analysis
maintainer-merge
|
24/6 |
Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/Matrix/Normed.lean,Mathlib/NumberTheory/NumberField/House.lean,Mathlib/NumberTheory/SiegelsLemma.lean |
4 |
8 |
['github-actions', 'tb65536', 'themathqueen'] |
nobody |
0-35086 9 hours ago |
0-35577 9 hours ago |
3-13867 3 days |
1 |
| 44994 |
TJHeeringa author:TJHeeringa |
feat(Analysis/InnerProductSpace): add Trace for continuousLinearMaps between Hilbert spaces |
Schatten p-norm is based on the trace for continuous linear maps between Hilbert spaces. This PR adds that trace.
---
This PR is split of from #44525, which is a draft for the Schatten operators.
Mathlib has an existing trace operator for linear maps. That trace has differing requirements from this trace. The existing trace requires `Fintype \iota`, but this trace works for infinite dimensional spaces too. Conversely, this trace requires topological properties that the existing trace doesn't require. Hence, this is not a generalization of the existing trace.
An argument can be made that this should be placed in `InnerProductSpace/Trace` instead of `InnerProductSpace/Schatten`. However, I placed it here due to the aforementioned incompatibilities between the two trace definitions.
When writing this message I saw the PR #44636. My impression is that that generalization doesn't cover this case.
The API I put here is limited as this is all what is needed to define the Schatten p-norms. If more is desired in this PR, then I'd be happy to add it.
**AI usage**:
I used an LLM to a proof for `_root_.Summable.of_add_nonneg` and then cleaned it up manually. I also used it as support in the second branch of the `by_cases` in `traceOfBasis_eq`. I also used an LLM in parts of #44525, but I don't think any bits of that usage remain.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
153/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Schatten.lean |
2 |
5 |
['JX-Mo', 'TJHeeringa', 'github-actions', 'mcdoll'] |
nobody |
0-34909 9 hours ago |
0-35088 9 hours ago |
1-31063 1 day |
0 |
| 33369 |
Thmoas-Guan author:Thmoas-Guan |
feat(Homology): `Ext` commute with flat base change |
In this PR, using the linear map `Ext(M,N) => Ext(F(M), F(N))` when `F` is exact functor, we prove that `Ext` commute with flat base change if the ring is noetherian and two modules are finitely generated, stated using `IsBaseChange`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #31046
- [x] depends on: #31222
- [x] depends on: #32316
[](https://gitpod.io/from-referrer/)
|
t-topology
increases-technical-debt
|
376/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Ext/BaseChange.lean |
2 |
13 |
['Multramate', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
urkud assignee:urkud |
0-33959 9 hours ago |
0-34019 9 hours ago |
73-72124 73 days |
6 |
| 42647 |
martinwintermath author:martinwintermath |
feat(Geometry/Convex): add polytopes |
This PR adds the predicate `IsPolytope` for a subset of a `ConvexSpace`.
This is the first PR in a series of PRs implementing polytope theory.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
140/0 |
Mathlib.lean,Mathlib/Geometry/Convex/Polytope/Basic.lean,docs/references.bib |
3 |
66 |
['Parcly-Taxel', 'YaelDillies', 'faenuccio', 'github-actions', 'grunweg', 'martinwintermath', 'ooovi', 'vihdzp', 'wwylele'] |
faenuccio assignee:faenuccio |
0-33675 9 hours ago |
0-34122 9 hours ago |
63-19963 63 days |
0 |
| 45029 |
YaelDillies author:YaelDillies |
feat(Util): support `noWS` in `notation3` |
... and use it to define the conditional probability notation `μ[|s]`.
Generated by Claude Opus, reviewed line-by-line by myself.
Zulip: [#mathlib reviewers > status of `notation3` @ 💬](https://leanprover.zulipchat.com/#narrow/channel/345428-mathlib-reviewers/topic/status.20of.20.60notation3.60/near/632986954)
Assisted-by: Claude Opus 5.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]
-->
|
LLM-generated
maintainer-merge
t-meta
|
40/34 |
Mathlib/Probability/ConditionalProbability.lean,Mathlib/Util/Notation3.lean,MathlibTest/Util/Notation3.lean |
3 |
17 |
['JovanGerb', 'YaelDillies', 'eric-wieser', 'github-actions', 'grunweg'] |
nobody |
0-32893 9 hours ago |
0-35869 9 hours ago |
0-58192 16 hours |
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 |
0-30956 8 hours ago |
0-30973 8 hours ago |
0-30928 8 hours |
0 |
| 44524 |
Thmoas-Guan author:Thmoas-Guan |
refactor(RingTheory): make `ModuleCat.smulShortComplex` implicit reducible |
Currently, we are facing trouble on identification of `X_1` and `X_2` in short complex `M => M => M/xM => 0`. An direct benefit of this change can be seen in #32098
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-ring-theory |
1/1 |
Mathlib/RingTheory/Regular/Category.lean |
1 |
3 |
['Thmoas-Guan', 'github-actions', 'leanprover-radar'] |
nobody |
0-29479 8 hours ago |
15-11592 15 days ago |
15-11269 15 days |
0 |
| 35561 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): power series over regular local ring |
In this PR, we proved that power series over regular local ring is again regular local ring.
Same for finite multivariable power series.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #28682
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
70/0 |
Mathlib.lean,Mathlib/RingTheory/RegularLocalRing/PowerSeries.lean |
2 |
6 |
['github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-28651 7 hours ago |
0-28716 7 hours ago |
56-7920 56 days |
1 |
| 43707 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): definition of Koszul cocomplex |
Definition of Koszul complex.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
172/0 |
Mathlib.lean,Mathlib/RingTheory/KoszulComplex/Cocomplex.lean |
2 |
1 |
['github-actions'] |
nobody |
0-28483 7 hours ago |
0-28674 7 hours ago |
39-25887 39 days |
2 |
| 43719 |
Thmoas-Guan author:Thmoas-Guan |
feat(LinearAlgebra): add API for exterior algebra of ring itself |
In this PR, we added some API for handling `ExteriorAlgebra R R`.
AI disclosure: the proof in section "self" is generated by AI after providing the final target definition and characterizing lemma.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
61/0 |
Mathlib/LinearAlgebra/ExteriorAlgebra/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
0-27687 7 hours ago |
0-27760 7 hours ago |
39-13975 39 days |
2 |
| 40948 |
Thmoas-Guan author:Thmoas-Guan |
feat(LinearAlgebra): exterior power commute with base change |
In this PR, we added the commute of exterior power and base change.
AI usage: filling in construction of the final equivalence with lemmas decribing it, all the preliminary constructions are refactored by human later.
Co-authored-by: Zichen Wang <zichenwang25@stu.pku.edu.cn>
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #44604
[](https://gitpod.io/from-referrer/)
|
t-algebra
LLM-generated
label:t-algebra$ |
166/0 |
Mathlib.lean,Mathlib/LinearAlgebra/ExteriorPower/BaseChange.lean |
2 |
19 |
['Thmoas-Guan', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'ocfnash'] |
joelriou assignee:joelriou |
0-27680 7 hours ago |
0-27868 7 hours ago |
113-3439 113 days |
1 |
| 43773 |
justus-springer author:justus-springer |
feat(Algebra/Group/Pointwise/Set/SelfInv): a few more lemmas about self-inverse sets |
`IsSelfInv` and `IsSelfNeg` got added recently (#42611). This is a follow-up that adds just a few more lemmas, which will get used to refactor a few in #43774.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #43792
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
58/0 |
Mathlib.lean,Mathlib/Algebra/Group/Pointwise/Finset/SelfInv.lean,Mathlib/Algebra/Group/Pointwise/Set/SelfInv.lean |
3 |
5 |
['eric-wieser', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-27081 7 hours ago |
0-27131 7 hours ago |
24-34638 24 days |
1 |
| 37953 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory/Smooth): transcendental separable extension is formally smooth |
In this PR, we proved that transcendental separable extension is formally smooth via reduction to fg cases.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #37934
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
141/3 |
Mathlib/RingTheory/Smooth/Field.lean |
1 |
4 |
['Thmoas-Guan', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-26390 7 hours ago |
0-26448 7 hours ago |
43-77246 43 days |
2 |
| 37838 |
Thmoas-Guan author:Thmoas-Guan |
feat(FieldTheory): basic theories about transcendental separable extension |
The formalization of [Stacks 030W] via [Stacks 030U].
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [x] depends on: #37934
- [x] depends on: #39138
- [x] depends on: #39740
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
label:t-algebra$ |
475/16 |
Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/FieldTheory/TranscendentalSeparable.lean,Mathlib/RingTheory/LocalProperties/Reduced.lean |
3 |
29 |
['Multramate', 'Thmoas-Guan', 'github-actions', 'jjdishere', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-26241 7 hours ago |
0-26298 7 hours ago |
39-74308 39 days |
1 |
| 45038 |
justus-springer author:justus-springer |
refactor(LinearAlgebra/FreeModule/PID): extract lemma from `basisOfFiniteTypeTorsionFree` |
The proof of `Module. basisOfFiniteTypeTorsionFree` (a finite torsion free module over a PID is free) contains a construction of a submodule `N` such that `A • M ⊆ N` for some `A ≠ 0`. I extract (and slightly golf) this construction into its own lemma `exists_linearIndepOn_smul_mem_span` because I want to use the same construction elsewhere.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
|
40/43 |
Mathlib/LinearAlgebra/FreeModule/PID.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean |
2 |
1 |
['github-actions'] |
nobody |
0-25278 7 hours ago |
0-25340 6 hours ago |
0-25017 6 hours |
0 |
| 43802 |
justus-springer author:justus-springer |
feat(Tactic/Linter): syntax linter for deprecation date format |
A syntax linter checking that deprecation dates in `since := ...` fields have the form `YYYY-MM-DD`.
My motivation for this that I always forget what the correct format is when writing deprecations. ~~There is actually one instance of a malformed date in mathlib in `AlgebraicTopology/SimplicialNerve.lean`, which I fixed.~~ (edit: It got removed independently).
Generative AI was used to get a working draft, on which I then iterated by hand.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
t-linter
|
152/1 |
Mathlib.lean,Mathlib/Init.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/DeprecationDate.lean,Mathlib/Tactic/Linter/Lint.lean,MathlibTest/Attribute/ToAdditive/Basic.lean,MathlibTest/Linter/DeprecationDate.lean,MathlibTest/Linter/DupNamespace.lean |
8 |
11 |
['github-actions', 'joneugster', 'justus-springer', 'leanprover-radar', 'mathlib-merge-conflicts', 'thorimur'] |
joneugster and thorimur assignee:joneugster assignee:thorimur |
0-24990 6 hours ago |
0-25204 6 hours ago |
31-71220 31 days |
0 |
| 37724 |
xgenereux author:xgenereux |
feat(UniqueFactorizationDomain/Multiplicity): `WfDvdMonoid.max_power_factor` for finsupp |
A version of `WfDvdMonoid.max_power_factor` for finsets/finsupp. That is, we take the highest power which divides everything in the finset.
AI disclaimer: I asked Claude Code to simplify the proofs at commit https://github.com/leanprover-community/mathlib4/pull/37724/changes/579eceaad06e32941615830e6838547d464d28b6.
Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@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 |
70/12 |
Mathlib/RingTheory/UniqueFactorizationDomain/Multiplicity.lean |
1 |
8 |
['chrisflav', 'github-actions', 'mathlib-merge-conflicts', 'riccardobrasca', 'xgenereux'] |
riccardobrasca assignee:riccardobrasca |
0-24927 6 hours ago |
0-29029 7 hours ago |
85-18455 85 days |
0 |
| 44773 |
justus-springer author:justus-springer |
doc(*): add bib entries for free-text references |
The result of an LLM-assisted audit to find free-text references with no entry in `references.bib`. Most bib entries come from zbmath (those have a `zbl` entry). A few didn't have an entry there, so they come from other sources.
Some small notes:
- I added the other authors to `boldetal2017`,
- In `LinearAlgebra/Matrix/Polynomial.lean`, my LLM flagged that Section 5.3 is probably not the appropriate section to cite for this file, and in fact, it seems to be a historical artifact. I checked the paper and Proposition 2.2 fits much better here, so I changed it.
- Wittlich's Master thesis is not available online, but the docstring came from a trustworthy source so I just used the details given there for the bib entry.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
257/34 |
Mathlib/Analysis/CStarAlgebra/Module/Defs.lean,Mathlib/Analysis/InnerProductSpace/Defs.lean,Mathlib/Analysis/InnerProductSpace/Projection/Basic.lean,Mathlib/CategoryTheory/Adjunction/Lifting/Left.lean,Mathlib/CategoryTheory/Adjunction/Lifting/Right.lean,Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean,Mathlib/Combinatorics/Additive/CauchyDavenport.lean,Mathlib/Combinatorics/Compactness.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean,Mathlib/Geometry/Euclidean/Angle/Oriented/Basic.lean,Mathlib/InformationTheory/Coding/Kraft.lean,Mathlib/InformationTheory/Coding/KraftMcMillan.lean,Mathlib/LinearAlgebra/Matrix/Adjugate.lean,Mathlib/LinearAlgebra/Matrix/Polynomial.lean,Mathlib/MeasureTheory/Measure/Haar/Basic.lean,Mathlib/Probability/Independence/Basic.lean,Mathlib/Topology/Algebra/InfiniteSum/Defs.lean,Mathlib/Topology/Category/Compactum.lean,docs/references.bib |
20 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
0-24816 6 hours ago |
0-24976 6 hours ago |
6-45573 6 days |
0 |
| 42771 |
xgenereux author:xgenereux |
feat(RingTheory/DedekindDomain/AdicValuation): adic valuations are trivial on subfields |
Two lemmas about height one primes and their behaviors on a subfield `k` of `R`.
- Its associated valuation is trivial on `k`.
- Its nonzero elements are transcendental over `k`
AI disclaimer: I used AI to suggest placement in the file and docstring. Lemmas are mine.
Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@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 |
22/0 |
Mathlib/RingTheory/Algebraic/Integral.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation/Valuation.lean |
2 |
5 |
['github-actions', 'mathlib-merge-conflicts', 'tb65536', 'xgenereux'] |
nobody |
0-24269 6 hours ago |
0-24330 6 hours ago |
54-21006 54 days |
0 |
| 44323 |
marcelolynch author:marcelolynch |
chore(Init): stop setting a default library suggestions engine |
This PR removes `public import Lean.LibrarySuggestions.Default` from `Mathlib.Init`. Thus Mathlib no longer sets a default library suggestions engine. Since leanprover/lean4#15159, the default engine builds its index on the first query in each process, and with `import Mathlib` this takes minutes. The Lean maintainers consider the feature unused.
Without an engine, the `+suggestions` modes of `grind`, `simp?`, `simp_all?` and `solve_by_elim` fail until the file adds `import Lean.LibrarySuggestions.Default` or `set_library_suggestions`. `try?` continues to work.
The PR also removes the outdated `set_library_suggestions` override from `MathlibTest/RegisterTryTactic.lean`, and replaces the `grind +suggestions` docstring examples with `grind`. `Mathlib.Tactic.DuplicateDecls` now imports `Lean.Meta.CompletionName` directly.
Discussion: [#lean4 > lean4#15159 causes significant regression in MathlibTests](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/lean4.2315159.20causes.20significant.20regression.20in.20MathlibTests)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
t-meta
LLM-generated
maintainer-merge
|
4/11 |
Mathlib/Init.lean,Mathlib/Tactic/DuplicateDecls.lean,Mathlib/Tactic/TacticAnalysis/Declarations.lean,MathlibTest/RegisterTryTactic.lean |
4 |
6 |
['JovanGerb', 'github-actions', 'joneugster', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
0-21531 5 hours ago |
0-21769 5 hours ago |
20-35714 20 days |
0 |
| 34138 |
pfaffelh author:pfaffelh |
feat(MeasureTheory): Introduce `DiscreteMeasure α` giving rise to a `Measure α` as a sum of `dirac`s |
Define `DiscreteMeasure α` as a structure with `weight : α → ℝ≥0∞`
Define `toMeasure (w : DiscreteMeasure α) : Measure α` as a sum of diracs
Show properties of the resulting objects
This PR intends to start a more userfriendly interaction with discrete probability (measure) theory, in contrast to probability mass functions (`PMF`). There are two main differences between `DiscreteMeasure` and `PMF`:
* Every `PMF` hast the additional property `HasSum 1`, making the resulting measure a probability measure. (For `DiscreteMeasure`, I intend to use the typeclass `IsProbabilityMeasure`in a later PR instead.)
* The `toMeasure` function of `MassFunction` defines the measure as a sum of diracs, which immediately makes computations possible.
Discussion thread on [zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/PMF.20Refactor.3A.20FunLike.20vs.20Definition.20Change)
- depends on: #37060
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
|
215/0 |
Mathlib.lean,Mathlib/Algebra/GroupWithZero/Indicator.lean,Mathlib/Data/Set/Pairwise/Basic.lean,Mathlib/MeasureTheory/Measure/DiscreteMeasure.lean |
4 |
27 |
['DavidLedvinka', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'metakunt', 'ocfnash', 'pfaffelh'] |
nobody |
0-21376 5 hours ago |
0-21430 5 hours ago |
82-16369 82 days |
2 |
| 45078 |
xroblot author:xroblot |
chore(NumberTheory/Cyclotomic/Gal): remove simp lemmas for `autEquivPow` |
The simp lemmas `IsCyclotomicExtension.autEquivPow_apply` and `IsCyclotomicExtension.autEquivPow_symm_apply` generated by `@[simps]` unfold `autEquivPow` to `autToPow` and `PowerBasis.equivOfMinpoly`, which are not useful normal forms. They are replaced by the following non-simp lemmas:
- `IsCyclotomicExtension.autEquivPow_apply`: `autEquivPow L h f` is `(zeta_spec n K L).autToPow K f`.
- `IsCyclotomicExtension.autEquivPow_apply_zeta`: `f (zeta n K L) = zeta n K L ^ (autEquivPow L h f : ZMod n).val`.
- `IsCyclotomicExtension.autEquivPow_symm_apply_zeta`: `(autEquivPow L h).symm t (zeta n K L) = zeta n K L ^ (t : ZMod n).val`.
The lemma `autEquivPow_symm_apply` is deprecated.
Prepared with Claude Code 🤖
---
|
t-number-theory |
20/10 |
Mathlib/NumberTheory/Cyclotomic/Gal.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Galois.lean |
2 |
1 |
['github-actions'] |
nobody |
0-20633 5 hours ago |
0-20688 5 hours ago |
0-20365 5 hours |
0 |
| 45081 |
mcdoll author:mcdoll |
chore: use `IsApply` for `ZeroAtInfty` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
large-import |
101/64 |
Mathlib/Algebra/GroupWithZero/FunLike.lean,Mathlib/Algebra/Ring/FunLike.lean,Mathlib/Analysis/Fourier/PoissonSummation.lean,Mathlib/NumberTheory/Padics/MahlerBasis.lean,Mathlib/NumberTheory/Padics/Measure/AmiceTransform.lean,Mathlib/Topology/ContinuousMap/ZeroAtInfty.lean |
6 |
1 |
['github-actions'] |
nobody |
0-20599 5 hours ago |
0-20766 5 hours ago |
0-20443 5 hours |
0 |
| 44283 |
xroblot author:xroblot |
feat(NumberTheory/RamificationInertia): degrees of decomposition and inertia rings |
Let `B` be an extension of a ring `A` with Galois group `G`, let `P` be a prime ideal of `B` lying over a prime ideal `p` of `A`, and let `R`, `R'` be a decomposition ring and an inertia ring of `P`. This PR computes the degrees in the tower `A ⊆ R ⊆ R' ⊆ B` in terms of the ramification index of `p` in `B`, its inertia degree and the number of prime ideals of `B` lying over `p`.
Prepared with Claude Code 🤖
---
- [x] depends on: #44282
|
t-number-theory |
80/1 |
Mathlib/NumberTheory/RamificationInertia/HilbertTheory.lean |
1 |
4 |
['github-actions', 'mathlib-dependent-issues', 'tb65536', 'xroblot'] |
tb65536 assignee:tb65536 |
0-20486 5 hours ago |
0-20732 5 hours ago |
16-17695 16 days |
8 |
| 45083 |
fpvandoorn author:fpvandoorn |
perf: lower prio of expensive instance |
* Lower priority of rarely-used instance
* Also remove a superfluous variable block (these variables were already declared)
Other attempts: #45080 (don't import this file); #45084 (other attempted fix, no speedup).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 label:t-algebra$ |
2/5 |
Mathlib/Algebra/Order/Quantale.lean |
1 |
3 |
['fpvandoorn', 'github-actions', 'leanprover-radar'] |
nobody |
0-19388 5 hours ago |
0-19564 5 hours ago |
0-19241 5 hours |
0 |
| 45089 |
justus-springer author:justus-springer |
refactor(Topology/Algebra/OpenSubgroup): drop T1 assumption in `tendsto_coe_cofinite_of_isDiscrete` |
This lemma was previously proved using `isClosed_of_isDiscrete`, which needs `[T1Space G]`. But actually, there's a direct proof avoiding that assumption, using `exists_nhds_eq_one_of_image_mulRight_inter_nonempty` and `compact_covered_by_mul_left_translates`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-topology |
10/4 |
Mathlib/Topology/Algebra/OpenSubgroup.lean |
1 |
1 |
['github-actions'] |
nobody |
0-19155 5 hours ago |
0-19557 5 hours ago |
0-19234 5 hours |
0 |
| 45005 |
SnirBroshi author:SnirBroshi |
feat(NumberTheory/ArithmeticFunction/Misc): `ω n = n.primeFactors.card` |
and golf a couple of proofs.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-number-theory |
16/12 |
Mathlib/Algebra/Order/Antidiag/Nat.lean,Mathlib/NumberTheory/ArithmeticFunction/Misc.lean |
2 |
2 |
['github-actions', 'loefflerd'] |
nobody |
0-18976 5 hours ago |
0-19332 5 hours ago |
1-85015 1 day |
0 |
| 45053 |
tomaz1502 author:tomaz1502 |
feat(Analysis/Polynomial): the jump of a real rational function and the Cauchy index |
This PR defines `Polynomial.jumpVal p q x : ℤ`, the jump of the rational function `q / p` at a
point `x`: `1` if it goes from `-∞` to `+∞`, `-1` if it goes from `+∞` to `-∞`, and `0` otherwise.
The definition is algebraic: `q / p` changes sign at `x` exactly when
`rootMultiplicity x p - rootMultiplicity x q` is odd, and the direction of the jump is then
`signRight x (p * q)`. It develops the API of `jumpVal` needed for the Sturm–Tarski theorem:
* `jumpVal_of_eval_ne_zero`, `jumpVal_of_rootMultiplicity_le`: there is no jump where `q / p` has
no pole;
* `jumpVal_mul_mul`: a common factor of `p` and `q` does not change the jump;
* `jumpVal_mod`: `q` can be replaced by `q % p`;
* `jumpVal_C_mul`: scaling `q` by `c` scales the jump by `sign c`;
* `jumpVal_of_isCoprime`, `jumpVal_mul_one`: jumps of products of coprime polynomials;
* `jumpVal_derivative_mul`: at a root `x` of `p`, the jump of `derivative p * q / p` is
`sign (q.eval x)`. This is what links the Cauchy index to the signs of `q` at the roots of `p`.
It also defines `Polynomial.rootsInInterval p a b`, the distinct roots of `p` in `(a, b)`, and the
Cauchy index `Polynomial.cauchyIndex p q a b`, the sum of `jumpVal p q x` over those roots, with
a few basic lemmas (`cauchyIndex_zero_left`, `cauchyIndex_zero_right`, `cauchyIndex_C`,
`cauchyIndex_mul_mul`, `cauchyIndex_mod`, `cauchyIndex_C_mul`), which follow directly from the
corresponding `jumpVal` lemmas. The main results about the Cauchy index (its relation to sign
changes and to Tarski queries) will follow in the next PR of the series.
One small addition to existing files:
* `Polynomial.rootMultiplicity_C_mul` in `RingDivision.lean`: multiplying by a nonzero constant
does not change root multiplicities;
This is the fourth PR of a series formalising the Sturm-Tarski theorem, following #43783
(`List.signVariations`), #43954 (`Polynomial.sturmSeq`) and #44248 (`Polynomial.signRight`).
As in #44248, everything is stated over `ℝ` because `signRight` is; apart from `signRight`, the
proofs only use the algebra of polynomials over a field.
Co-authored-by: Pedro Saccomani <psaccomani15@gmail.com>
Co-authored-by: Sarah Pereira <sarahcomh@proton.me>
---
The definitions and the original proofs, ported from Wenda Li's Isabelle/AFP entry, were written
by hand. We used Claude to review the code, suggest improvements and help in the preparation
of the PR. |
new-contributor |
274/0 |
Mathlib.lean,Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/Analysis/Polynomial/CauchyIndex.lean |
3 |
2 |
['github-actions'] |
nobody |
0-17807 4 hours ago |
0-78810 21 hours ago |
0-78487 21 hours |
0 |
| 44690 |
vihdzp author:vihdzp |
feat: prime subfield as a finset |
We introduce `Subfield.botFinset F p`, which is the `Finset F` containing the prime subfield of the characteristic `p` field `F`. We use this to generalize various results that were previously stated only for `⊥ : Subfield 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]
-->
|
t-algebra
maintainer-merge
label:t-algebra$ |
56/16 |
Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/FieldTheory/Finite/GaloisField.lean |
2 |
22 |
['artie2000', 'github-actions', 'mathlib-merge-conflicts', 'plp127', 'tb65536', 'vihdzp'] |
faenuccio assignee:faenuccio |
0-16334 4 hours ago |
0-74851 20 hours ago |
10-37909 10 days |
3 |
| 44978 |
ArtificialZeng author:ArtificialZeng |
feat(Analysis/Normed/Module): uniform bounds for compact injective families |
A continuous family of injective continuous linear maps, with finite-dimensional source over a complete nontrivially normed field, has a uniform positive lower bound on a compact parameter set. A second lemma gives a uniform operator-norm perturbation radius preserving injectivity; the perturbing family need not be continuous.
These estimates support compact-family derivative perturbation arguments. The proof uses `LinearMap.exists_antilipschitzWith` and `IsCompact.induction_on`, adds no imports, and does not require the target to be finite-dimensional or complete.
---
Local validation on base `4c71e7e7e5f99e938e520c4242aaf2522a594953`, Lean 4.36.0-rc1:
- `lake build Mathlib.Analysis.Normed.Module.FiniteDimension` passed after refreshing the base's dependency cache.
- Standard Mathlib source linters and examples covering a nonconstant compact family, empty sets, and a zero-dimensional source passed.
- A separate fresh compilation and axiom queries passed; both lemmas use only `propext`, `Classical.choice`, and `Quot.sound`.
- The same new proofs and a downstream derivative-estimate consumer also compiled against the pinned Lean 4.35.0 baseline.
AI disclosure: OpenAI Codex generated and adapted the proofs and performed automated source review and local checks. This draft is pending human review of the mathematics and API choices. Automated checks and AI review do not replace that review. Full upstream CI is still required. |
t-analysis
LLM-generated
new-contributor
|
57/0 |
Mathlib/Analysis/Normed/Module/FiniteDimension.lean |
1 |
3 |
['ArtificialZeng', 'github-actions'] |
nobody |
0-14529 4 hours ago |
0-14602 3 hours ago |
3-3481 3 days |
0 |
| 26479 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat(Analysis/Complex/CauchyIntegral): Cauchy–Goursat for Unbounded Rectangles |
In this PR, we prove versions of the Cauchy-Goursat theorem where the contours in question are rectangular and unbounded (ie, where the contours look like the $\bigsqcup$ symbol). I am not sure if I have formalised these in the best way, or if `Analysis.Complex.CauchyIntegral` is the best place for them (it might be prudent to reorganise the file into multiple files at some point), but I believe this is a useful result. Suggestions welcome.
---
<!-- 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/)
|
new-contributor
t-analysis
sphere-packing
maintainer-merge
|
169/0 |
Mathlib/Analysis/Complex/CauchyIntegral.lean |
1 |
53 |
['github-actions', 'j-loreaux', 'loefflerd', 'mathlib-splicebot', 'mathlib4-merge-conflict-bot', 'ocfnash', 'thefundamentaltheor3m', 'themathqueen', 'wwylele'] |
j-loreaux assignee:j-loreaux |
0-13691 3 hours ago |
0-13943 3 hours ago |
147-44222 147 days |
0 |
| 44355 |
artie2000 author:artie2000 |
chore(Order): move Order/CompleteLattice/SetLike.lean to more descriptive location |
Order/CompleteLattice/SetLike.lean -> Order/CompleteSublattice/SetLike.lean
Order/CompleteSublattice.lean -> Order/CompleteSublattice/Basic.lean
This clears the file location for the material in #44253
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-order
|
5/5 |
Mathlib.lean,Mathlib/Order/CompleteSublattice/Basic.lean,Mathlib/Order/CompleteSublattice/SetLike.lean,Mathlib/RingTheory/SimpleModule/Isotypic.lean,Mathlib/SetTheory/Descriptive/Tree.lean |
5 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
0-12795 3 hours ago |
0-13030 3 hours ago |
18-8548 18 days |
1 |
| 43841 |
tb65536 author:tb65536 |
feat(Analysis/Normed/Ring/WithAbs): more API for `AbsoluteValue.under` |
This PR adds more API for `AbsoluteValue.under`, following the analogous API for `Ideal.under`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
maintainer-merge
|
32/0 |
Mathlib/Analysis/Normed/Ring/WithAbs.lean |
1 |
9 |
['github-actions', 'tb65536', 'themathqueen'] |
nobody |
0-12105 3 hours ago |
3-27783 3 days ago |
35-12601 35 days |
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
|
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 |
2 |
['github-actions', 'martinwintermath', 'mathlib-merge-conflicts'] |
nobody |
0-11099 3 hours ago |
0-21674 5 hours ago |
1-4831 1 day |
1 |
| 44304 |
robin-carlier author:robin-carlier |
chore(Order): make intervals implicit_reducible |
A bunch of `set_option backward.isDefEq.respectsTransparency false` I ran into could be removed by this:
In some personal project, automation got stuck because of the difference between `j ≤ i` and `j ∈ Set.Iic i` at implicit_reducible transparency.
I’m myself not convinced making these intervals `implicit_reducible` is the best, but declaring `j ≤ i = j ∈ Set.Iic i` as a true defeq-abuse (and hunting down every instance of this, adding `Set.mem_Iic.mpr <|` in every place that needs it) seems like overkill and a net regression on user experience.
Note that more generally, the question could arise for every semireducible declaration of type `Set α` where the body is `{ x | P x}` for some `P : α → Prop`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-order |
8/5 |
Mathlib/Order/Interval/Set/Defs.lean |
1 |
10 |
['JX-Mo', 'SnirBroshi', 'github-actions', 'leanprover-radar', 'robin-carlier'] |
nobody |
0-9858 2 hours ago |
0-9929 2 hours ago |
19-55362 19 days |
1 |
| 45077 |
EtienneC30 author:EtienneC30 |
feat: use `IsApply` for `SimpleFunc` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
maintainer-merge
|
140/166 |
Mathlib/Analysis/Fourier/PoissonSummation.lean,Mathlib/Analysis/SpecialFunctions/MulExpNegMulSqIntegral.lean,Mathlib/Geometry/Euclidean/Volume/Measure.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/PullOut.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Integral/Bochner/L1.lean,Mathlib/MeasureTheory/Integral/Bochner/Set.lean,Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean,Mathlib/MeasureTheory/Integral/FinMeasAdditive.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Countable.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean,Mathlib/Probability/Kernel/Composition/CompProd.lean,Mathlib/Probability/Kernel/MeasurableLIntegral.lean,Mathlib/Probability/StrongLaw.lean |
19 |
6 |
['EtienneC30', 'github-actions', 'mcdoll'] |
nobody |
0-9729 2 hours ago |
0-9963 2 hours ago |
0-23105 6 hours |
4 |
| 44676 |
JovanGerb author:JovanGerb |
feat(UnusedTacticLinter): lint `try`, `all_goals`, `any_goals` |
This PR extends the unused tactic linter to lint some tactic combinators: `all_goals`, `on_goals`, `try`, each with their own bespoke check. Before this PR, there was already special behaviour for `<;>` and `swap_vars`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #44709
- [x] depends on: #44771
- [x] depends on: #45073
|
|
144/46 |
Archive/Examples/Kuratowski.lean,Mathlib/Tactic/Linter/UnusedTactic.lean,MathlibTest/Linter/Flexible/Basic.lean,MathlibTest/Linter/Multigoal.lean,MathlibTest/Linter/UnusedTactic.lean,MathlibTest/Tactic/BasicTactics.lean,MathlibTest/TacticAnalysis.lean,MathlibTest/Widget/CalcQuestionMark.lean |
8 |
4 |
['JovanGerb', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-9017 2 hours ago |
0-9163 2 hours ago |
0-8840 2 hours |
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 |
0-8682 2 hours ago |
5-3765 5 days ago |
5-3442 5 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 |
0-8607 2 hours ago |
0-8837 2 hours ago |
0-11497 3 hours |
0 |
| 28013 |
astrainfinita author:astrainfinita |
feat: Lindemann-Weierstrass Theorem |
This PR continues the work from #6718.
--------
- [x] depends on: #18693
- [x] depends on: #29121
- [x] depends on: #36762
- [x] depends on: #37797
- [x] depends on: #37811
- [x] depends on: #39237
- [x] depends on: #39238
- [x] depends on: #42864
- [x] depends on: #43091
- [x] depends on: #43092
- [x] depends on: #43093
- [x] depends on: #43501
- [x] depends on: #43515 |
t-number-theory
large-import
|
582/2 |
Mathlib.lean,Mathlib/Data/Finsupp/Quotient.lean,Mathlib/NumberTheory/Transcendental/Lindemann/AlgebraicPart.lean,Mathlib/NumberTheory/Transcendental/Lindemann/Basic.lean,docs/100.yaml,docs/1000.yaml |
6 |
94 |
['astrainfinita', 'github-actions', 'grunweg', 'j-loreaux', 'jcommelin', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib-splicebot', 'mathlib4-merge-conflict-bot', 'ocfnash'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
0-8055 2 hours ago |
0-8418 2 hours ago |
40-73835 40 days |
0 |
| 42110 |
Zeta-Wu author:Zeta-Wu |
feat: add path length for paths in pseudo emetric spaces |
This PR defines the length of a path in a `PseudoEMetricSpace` as its variation on the unit interval.
It proves the basic properties of path length:
- the endpoint distance is bounded by the length;
- the constant path has length zero;
- reversing a path preserves its length;
- concatenating two paths adds their lengths.
Main declarations:
- `Path.length`
- `Path.edist_le_length`
- `Path.length_refl`
- `Path.length_symm`
- `Path.length_trans`
This is intended as a first step toward a broader theory of rectifiable paths, including later results on invariance of length under monotone reparametrization, and shortest paths are line segments up to monotone reparametrization in strict convex spaces.
--------
This PR was discussed on Zulip [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/PR.20.2342110.3A.20Path.2Elength.20in.20PseudoEMetricSpace).
AI disclosure: I used an agent called ReasLingo to generate those codes. After the codes are generated I read them line by line and ask the agent to rewrite some proofs when I think it is a bad code. For design decisions, I asked the agent to give me several versions, and I manually picked one of them to make sure it fits human understanding.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
LLM-generated
|
231/0 |
Mathlib.lean,Mathlib/Topology/EMetricSpace/ArcLength.lean,Mathlib/Topology/EMetricSpace/PathLength.lean,Mathlib/Topology/Path.lean,Mathlib/Topology/UnitInterval.lean |
5 |
129 |
['CoolRmal', 'SnirBroshi', 'Zeta-Wu', 'felixpernegger', 'github-actions', 'pelicanhere', 'scholzhannah'] |
ADedecker assignee:ADedecker |
0-7817 2 hours ago |
16-12393 16 days ago |
74-40852 74 days |
0 |
| 45025 |
NirvanaC93 author:NirvanaC93 |
feat(Algebra/Group/Even): a unit is a square iff its underlying element is a square |
Coauthored by María Inés de Frutos-Fernández [88536493+mariainesdff@users.noreply.github.com](mailto:88536493+mariainesdff@users.noreply.github.com)
Added a simple but useful lemma (needed in our Hasse Principle project):
```isSquare_coe_units_iff``` saying that an element in the units of a monoid is a square
if and only if its underlying element in the monoid is a square.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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$ |
14/0 |
Mathlib/Algebra/Group/Even.lean |
1 |
7 |
['NirvanaC93', 'github-actions', 'plp127'] |
nobody |
0-5712 1 hour ago |
0-5985 1 hour ago |
1-17953 1 day |
0 |
| 43157 |
NoahW314 author:NoahW314 |
feat(Algebra/Category): divisible R-modules over a PID are injective |
This generalizes the existing result that divisible groups that injective to hold over any principal ideal ring. The same proof works with only minor modifications.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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-algebra
label:t-algebra$ |
27/16 |
Mathlib/Algebra/Category/Grp/Injective.lean,Mathlib/Algebra/Category/ModuleCat/Injective.lean,Mathlib/Algebra/Module/CharacterModule.lean |
3 |
3 |
['NoahW314', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
0-5581 1 hour ago |
0-5656 1 hour ago |
43-30868 43 days |
0 |
| 45085 |
grunweg author:grunweg |
feat(rm_set_option): scan for options of any value |
Allow any value passed to a `set_option` command (except for options set to a string value using quotes, which should hopefully never occur in practice).
In return, we remove the configurability of the script: it will now always look for every possible option value.
---
- [x] depends on: #45074 for simplicity
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
CI |
26/29 |
scripts/rm_set_option.py,scripts/set_option_utils.py |
2 |
4 |
['SnirBroshi', 'github-actions', 'mathlib-dependent-issues'] |
nobody |
0-4196 1 hour ago |
0-4579 1 hour ago |
0-4354 1 hour |
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
|
8/30 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean |
2 |
8 |
['Fieldnote-Echo', 'Parcly-Taxel', 'SnirBroshi', 'github-actions'] |
nobody |
0-3562 59 minutes ago |
0-3830 58 minutes ago |
0-14581 4 hours |
0 |
| 44940 |
marcelolynch author:marcelolynch |
fix(Cache): retry uploads and report missing transfers |
The cache retries failed uploads and reports missing transfers. `MATHLIB_CACHE_PARALLEL_MAX` controls parallel uploads and downloads.
Uploads require curl 8.20 or later. CI installs a pinned binary from `leanprover-community/static-curl`. On Linux, downloads use the static binary 8.23.0 when the system curl is too old or is 8.18 or 8.19, which hang on parallel retries. Other platforms run serial downloads in that case.
Cache uploads have a 20-minute timeout. Post-build checks have a 30-minute timeout.
The cache tests workflow gains a `cache-get` job. It runs `lake exe cache get` on Ubuntu 26.04, where the tool must replace curl 8.18, and on Windows.
The cache tests and the [CI upload check](https://github.com/leanprover-community/mathlib4/actions/runs/39428504802) pass.
🤖
|
CI |
164/75 |
.github/actionlint.yaml,.github/workflows/build_template.yml,.github/workflows/cache_test.yml,Cache/CI.md,Cache/IO.lean,Cache/Main.lean,Cache/README.md,Cache/Requests.lean,Cache/Test.lean,Cache/Upload/Curl.lean,docs/workflows.md |
11 |
11 |
['bryangingechen', 'github-actions', 'marcelolynch'] |
nobody |
0-2159 35 minutes ago |
0-3687 56 minutes ago |
3-56495 3 days |
1 |
| 42825 |
wwylele author:wwylele |
feat(Analysis/SpecialFunctions): derivative of Bessel function of the first kind |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 #42760
- [x] depends on #42829
- [x] depends on #43853
[](https://gitpod.io/from-referrer/)
|
t-analysis |
111/2 |
Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/SpecialFunctions/Bessel.lean,Mathlib/Analysis/SpecialFunctions/RegularizedHypergeometric.lean |
3 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
0-1249 20 minutes ago |
0-13479 3 hours ago |
31-15381 31 days |
1 |
| 42541 |
NoahW314 author:NoahW314 |
feat: add `CharZero`/`CharP` instances on `OrderDual` and `Lex` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 label:t-algebra$ |
42/0 |
Mathlib.lean,Mathlib/Algebra/CharP/Synonym.lean |
2 |
2 |
['NoahW314', 'eric-wieser', 'github-actions'] |
eric-wieser assignee:eric-wieser |
0-804 13 minutes ago |
0-804 8 minutes ago |
73-86330 73 days |
0 |
| 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 |
| 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
|
360/0 |
Mathlib.lean,Mathlib/Geometry/Polygon/Boundary.lean,Mathlib/Geometry/Polygon/Simple.lean,Mathlib/Logic/Equiv/Fin/Rotate.lean |
4 |
30 |
['A-M-Berns', 'eric-wieser', 'github-actions', 'joneugster', 'jsm28', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp', 'wwylele'] |
nobody |
150-63958 4 months ago |
236-82473 236 days ago |
239-31145 239 days |
0 |
| 36813 |
AlexeyMilovanov author:AlexeyMilovanov |
feat(Computability.Encoding): add self-delimiting unary and pair encodings |
Adds self-delimiting boolean encodings to `Mathlib.Computability.Encoding`.
**Key changes:**
* **`unaryPrefixEncodingNat`**: A self-delimiting unary `Encoding ℕ Bool`, using the code $1^n0$.
* **`encodingProdBool`**: Builds an `Encoding (α × β) Bool` from boolean encodings of `α` and `β`, by prefixing the length of the first encoded component.
* **`encodingListBool`**: Builds an `Encoding (List α) Bool` from a boolean encoding of `α`, using self-delimiting element encodings.
* **`UnaryPrefix` helpers**: Internal-style helper API for the underlying length-prefixed boolean-list encoding and decoding. |
t-computability
new-contributor
|
98/0 |
Mathlib/Computability/Encoding.lean |
1 |
6 |
['AlexeyMilovanov', 'Komyyy', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
104-10380 3 months ago |
104-10380 104 days ago |
120-51576 120 days |
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 |
96-61679 3 months ago |
96-61766 96 days ago |
104-41575 104 days |
0 |
| 41934 |
NickKobs author:NickKobs |
feat(Order/Nucleus): a nucleus on a Boolean algebra is closed |
Adds `Mathlib/Order/Nucleus/Boolean.lean` — the Boolean specialization of the nucleus API:
```lean
theorem Nucleus.apply_eq_sup_apply_bot [BooleanAlgebra X] (n : Nucleus X) (a : X) :
n a = a ⊔ n ⊥
theorem Nucleus.isClosed_of_booleanAlgebra [BooleanAlgebra X] (n : Nucleus X) :
⇑n = fun a => a ⊔ n ⊥
theorem Nucleus.eq_of_apply_bot_eq [BooleanAlgebra X] {m n : Nucleus X} (h : m ⊥ = n ⊥) :
m = n
```
**Why.** `Mathlib.Order.Nucleus` provides the frame / Heyting-algebra structure of `Nucleus X`, the closure-operator view (`toClosureOperator`), and the pointwise `le_apply` / `idempotent` / `map_inf` API, but no Boolean specialization. On a Boolean algebra every nucleus is *closed* — completely determined by its value at `⊥` — which is the pointwise algebraic core of the classical fact that the assembly `N(L)` is Boolean iff `L` is (Beazer–Macnab; Simmons; Johnstone, *Stone Spaces*, II.2). It is the natural companion to the existing frame structure and a common building block in point-free topology.
**Proof.** `n a = n a ⊓ (a ⊔ aᶜ) = (n a ⊓ a) ⊔ (n a ⊓ aᶜ)`; the left join-and is `a` (inflationarity), the right is `≤ n a ⊓ n aᶜ = n (a ⊓ aᶜ) = n ⊥` (inflationarity of `aᶜ` + `map_inf`). The reverse inequality is inflationarity plus monotonicity applied to `⊥ ≤ a`. No completeness is needed — the statement is pointwise, so `[BooleanAlgebra X]` (not a complete Boolean algebra) suffices.
**References.**
* R. Beazer, D. S. Macnab, *Modal extensions of Heyting algebras*.
* H. Simmons, *A framework for topology*, Logic Colloquium '77.
* P. T. Johnstone, *Stone Spaces*, CUP (1982), II.2.
**Provenance.** The theorem was first mechanized (Mathlib-free, over a finite Boolean frame) in the BETTI/Araksha refusal-algebra work; this PR is the generalization to an arbitrary `BooleanAlgebra` against Mathlib's own `Nucleus` API. The result is classical open mathematics, cited above. An earlier revision of the file was compiled clean against master `c81c5cbb` (Lean `v4.33.0-rc1`); this revision adapts the header to the module system (`module` / `public import` / `@[expose] public section`).
|
t-order
new-contributor
LLM-generated
|
71/0 |
Mathlib.lean,Mathlib/Order/Nucleus/Boolean.lean |
2 |
5 |
['felixpernegger', 'github-actions'] |
nobody |
92-64715 3 months ago |
92-77982 92 days ago |
92-77659 92 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 |
83-37104 2 months ago |
83-37170 83 days ago |
83-36847 83 days |
0 |
| 42223 |
cameronfreer author:cameronfreer |
feat(Computability/Reduce): the halting problem is many-one complete |
`Mathlib/Computability/Halting.lean` proves that the halting problem is recursively enumerable (`ComputablePred.halting_problem_re`) and not computable (`ComputablePred.halting_problem`), but not that it is complete: there is no `REPred R → R ≤₀ K`, and neither `Halting.lean` nor `RE.lean` mentions `≤₀`.
This PR adds three results:
```lean
theorem REPred.manyOneReducible_halting_problem {R : ℕ → Prop} (h : REPred R) (n : ℕ) :
R ≤₀ fun c : Code => (Code.eval c n).Dom
theorem halting_problem_manyOneEquiv_halting_problem₂ (n : ℕ) :
ManyOneEquiv (fun c : Code => (Code.eval c n).Dom)
(fun p : Code × ℕ => (Code.eval p.1 p.2).Dom)
theorem REPred.manyOneReducible_halting_problem₂ {R : ℕ → Prop} (h : REPred R) :
R ≤₀ fun p : Code × ℕ => (Code.eval p.1 p.2).Dom
```
(I've stated the results in `Reduce.lean` rather than alongside the other halting-problem results because `≤₀` is defined here, and `Reduce` imports `Halting` rather than the other way around.)
🤖 These proofs were written with the assistance of Claude Opus 5 high and reviewed by GPT Sol 5.6 xhigh.
|
t-computability
new-contributor
LLM-generated
|
41/0 |
Mathlib/Computability/Reduce.lean |
1 |
3 |
['cameronfreer', 'github-actions'] |
nobody |
82-13793 2 months ago |
83-34698 83 days ago |
83-39316 83 days |
0 |
| 42189 |
cameronfreer author:cameronfreer |
feat(ModelTheory/Basic): add characterization of languages with countably many symbols |
`Language.Countable.countable_functions` currently projects `Countable L.Symbols` onto the function symbols, but there is no counterpart for relations. This PR adds the missing instance; in doing so it relates the two ways that Mathlib already expresses "countable language": the bundled `Language.card ≤ ℵ₀` and the unbundled `Countable (Σ l, L.Functions l)` / `Countable (Σ l, L.Relations l)` hypotheses that model-theoretic statements tend to carry separately.
* `Countable.countable_relations`, `countable_symbols_iff`, and `card_le_aleph0_iff_countable` connect the bundled and unbundled formulations of symbol countability.
* `Countable.countable_sum`, `Countable.countable_constantsOn`, and `Countable.countable_withConstants` centralize countability instances for language constructors and remove the corresponding local instances from `Encoding.lean`.
## Motivation
Following review feedback from @NoneMore, this PR now also simplifies existing Mathlib code: generic countability instances for `Language.sum`, `constantsOn`, and `withConstants` live beside those constructors, so `Encoding.lean` no longer needs its own cardinal-arithmetic proofs for them.
The broader motivation comes from projects in infinitary model theory that build on Mathlib, in which one typically needs to carry around a hypothesis about countability of the set of symbols.
Specifically, in [cameronfreer/infinitary-logic](https://github.com/cameronfreer/infinitary-logic) the two sorts are carried unbundled and independently throughout; there are roughly 180 occurrences of the relation-symbol hypothesis and 24 of the function-symbol one. Here are a few examples:
* [`Methods/Henkin/ModelExistence.lean#L60`](https://github.com/cameronfreer/infinitary-logic/blob/1a478e80794080a536931c029281bb65266b3171/InfinitaryLogic/Methods/Henkin/ModelExistence.lean#L60): model existence, carrying both hypotheses side by side;
* [`Admissible/Compactness.lean#L90`](https://github.com/cameronfreer/infinitary-logic/blob/1a478e80794080a536931c029281bb65266b3171/InfinitaryLogic/Admissible/Compactness.lean#L90): Barwise completeness, likewise;
* [`Descriptive/Polish.lean#L46`](https://github.com/cameronfreer/infinitary-logic/blob/1a478e80794080a536931c029281bb65266b3171/InfinitaryLogic/Descriptive/Polish.lean#L46): a section variable assuming only the relation symbols are countable, which is where one notices the missing companion instance;
* [`Methods/LopezEscobar/CodeClass.lean#L29`](https://github.com/cameronfreer/infinitary-logic/blob/1a478e80794080a536931c029281bb65266b3171/InfinitaryLogic/Methods/LopezEscobar/CodeClass.lean#L29): a custom `Countable (Σ n, L.Functions n)` instance for relational languages, which is an example of the bookkeeping that arises from the two sorts not being related by a single lemma.
(Note that the `countable_functions` and `countable_relations` instances only project *out of* `Countable L.Symbols` into a summand; the converse direction is stated as a theorem rather than an instance, so there is no risk of an instance cycle.)
🤖 These proofs were written with the assistance of Claude Opus 5 high and reviewed by GPT Sol 5.6 xhigh.
|
t-logic
new-contributor
LLM-generated
|
33/12 |
Mathlib/ModelTheory/Basic.lean,Mathlib/ModelTheory/Encoding.lean,Mathlib/ModelTheory/LanguageMap.lean |
3 |
5 |
['NoneMore', 'cameronfreer', 'github-actions'] |
nobody |
82-13767 2 months ago |
83-40028 83 days ago |
83-39705 83 days |
0 |
| 42178 |
cameronfreer author:cameronfreer |
feat(Computability/Primrec/List): add theorems showing that List.all, List.any and List.sum are primitive recursive |
Add the parameterized `list_all`, `list_any` and natural-number `list_sum`, in the style of the existing `list_map`, `list_foldr` and `list_findIdx`.
Mathlib already has a parameterized core, but no direct lemmas for these standard list operations, so downstream developments tend to reconstruct them from `list_foldr` at each use site. In the course of writing [cameronfreer/computable-analysis](https://github.com/cameronfreer/computable-analysis) I ended up needing this in three places, all of which can now make use of the results here instead (see [a6898b5](https://github.com/cameronfreer/computable-analysis/commit/a6898b5), in particular `Weihrauch/Principles/Limit.lean:117`, `TypeTwo/PrefixTable.lean:334,351,369`, and `Measure/DisintegrateLower.lean:877,902`).
:robot: These proofs were written with the assistance of Claude Opus 5 high and reviewed by GPT Sol 5.6 xhigh. |
t-computability
new-contributor
LLM-generated
|
21/1 |
Mathlib/Computability/Primrec/List.lean |
1 |
4 |
['cameronfreer', 'github-actions'] |
nobody |
82-13760 2 months ago |
84-33166 84 days ago |
84-32843 84 days |
0 |
| 40741 |
AntoineduFresne author:AntoineduFresne |
feat(order): dilworth's and mirsky's theorems for finite orders |
I add Dilworth's theorem and its order dual, Mirsky's theorem, for finite subsets of a partial order, together with the order-theoretic lemmas they rest on.
A prior external formalization by Vlad Tsyrklevich is linked from `1000.yaml`; this is an independent `Finset`-based development using Galvin's proof, and I agreed the `1000.yaml` update with him.
I split the min-max content, as for Hall's marriage theorem, into a weak-duality inequality and a strong-duality existence of a matching pair, so I never define an extremal quantity over families of sets (no `Finset.min'` / `Finset.max'`):
- `dilworth` / `mirsky` — an antichain and a chain cover (resp. a chain and an antichain cover) of equal size;
- `antichain_le_chain_cover` / `chain_le_antichain_cover` — the weak-duality inequalities, for an arbitrary relation;
- `dilworth_partition` / `mirsky_partition` — the same with a pairwise-disjoint partition.
For Dilworth I use Galvin's induction (gluing step `chainCover_glue`); I avoid the König /
bipartite-matching route since König isn't in Mathlib yet (at least last time I checked). I prove Mirsky directly (peeling off minimal elements) rather than via `OrderDual`, since the direct induction seems simpler to me and the two proofs already share their foundations (the closure lemmas and the injective weak dualities).
Internally I work with an injection `f : α → Finset α` on the antichain rather than with the
`Finset (Finset α)` cover directly, so distinctness of the chains comes from the antichain property instead of a separate bookkeeping.
## Questions I'd like input on
1. Explicit min-max? I give weak duality plus a matching pair, from which "largest antichain = smallest chain cover" follows; I do not state that equality as a single theorem (doing so would, I think, mean defining the extremal quantities I wanted to avoid). Would you also like an explicit min-max statement?
2. Two layers of weak duality. I expose it twice: an injective form (`IsAntichain.exists_injOn_mem_chains`, over an arbitrary relation and an arbitrary index type, no finiteness) and a `Finset` cardinality form (`antichain_le_chain_cover`), the latter a one-line specialization of the former. I'm not sure whether exposing both is right, or whether one of them should be canonical. And is there appetite to push the general core to an `ℕ∞` / infinite version, or is the finite form the right scope here?
3. `[DecidableEq α]` on the main theorems. It comes only from writing the cover as
`s = 𝒞.biUnion id` (`Finset.biUnion` needs it); a membership-form coverage condition such as `∀ x, x ∈ s ↔ ∃ C ∈ 𝒞, x ∈ C` would drop the assumption, though it seems to me a bit less readable. Which do you prefer? (I think the injective-form weak dualities assume neither order, finiteness, nor `DecidableEq`.)
4. Naming. I use `C` / `A` for a chain / antichain and `𝒞` / `𝒜` for a chain / antichain cover (for hopefully obvious reason). Happy to change these if you would prefer something else.
## Open questions
- File placement (`Mathlib/Order/Dilworth.lean`?), and whether the general lemmas (the injective transversal and the weak dualities) should live in `Mathlib/Order/Antichain.lean` rather than in a new file.
The maximal-antichain closure lemma that was originally here has been split out into #42590.
Zulip: https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Antoine.20du.20Fresne.20von.20Hohenesche/with/604112426
AI use: I worked out all proofs on paper first and most of the design structure of the file. I then used Claude Code (Claude Opus) to transcribe my paper proofs into Lean, weaken hypotheses, reduce redundancy, and fix comment typos.
|
t-order
new-contributor
LLM-generated
|
568/3 |
Mathlib.lean,Mathlib/Order/Dilworth.lean,docs/1000.yaml |
3 |
18 |
['AntoineduFresne', 'SnirBroshi', 'github-actions', 'tdwag123'] |
nobody |
72-33674 2 months ago |
72-33727 72 days ago |
124-33908 124 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 |
68-27625 2 months ago |
68-31635 68 days ago |
68-31312 68 days |
0 |
| 42343 |
brianrabern author:brianrabern |
feat(Combinatorics/SimpleGraph): extend a coloring to one more vertex |
Add `Colorable.of_induce_compl_singleton`: if deleting a vertex `v` leaves an `n`-colourable graph and `deg(v) < n`, then `G` itself is `n`-colourable.
This is a local colouring-extension / induction step (colour `G - v`, then assign `v` a free colour). It is useful for inductive arguments such as Brooks' theorem. The global greedy bound `χ ≤ Δ + 1` is developed separately in #38357.
AI assistance: LLM was used to smooth it out and put things in the expected style
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/) |
t-combinatorics
new-contributor
LLM-generated
|
35/0 |
Mathlib/Combinatorics/SimpleGraph/Coloring/Vertex.lean |
1 |
11 |
['Parcly-Taxel', 'SnirBroshi', 'bocowgill', 'brianrabern', 'github-actions'] |
nobody |
67-75987 2 months ago |
73-45357 73 days ago |
79-81001 79 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 |
66-9091 2 months ago |
66-9200 66 days ago |
66-10473 66 days |
0 |
| 42758 |
cameronfreer author:cameronfreer |
feat(ModelTheory): add syntax and semantics for infinitary logic |
Add basic syntax and semantics for infinitary model theory of L∞ω (and Lω₁ω).
The new `BoundedFormulaInf L ι α n` uses index type `ι` for all of a formula's infinitary conjunctions and disjunctions, and the definitional
```lean
abbrev BoundedFormulaω (α : Type u') (n : ℕ) := L.BoundedFormulaInf ℕ α n
```
lands in exactly the universe of the finitary `BoundedFormula`, as suggested by @plp127 in [#mathlib4 > ModelTheory: API for infinitary formulas of L_{∞,ω} @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/ModelTheory.3A.20API.20for.20infinitary.20formulas.20of.20L_.7B.E2.88.9E.2C.CF.89.7D/near/613390601).
This PR contains `iSup`/`iInf` constructors, derived connectives together with `alls`/`exs`, `Realize` with `simp` lemmas for every constructor and derived connective, and the embedding `BoundedFormula.toInf` with `realize_toInf`.
I developed this with extensive assistance from several Claude and GPT models along with [lean4-skills](https://github.com/cameronfreer/lean4-skills) and [lean-lsp-mcp](https://github.com/oOo0oOo/lean-lsp-mcp) as part of the ongoing project [cameronfreer/infinitary-logic](https://github.com/cameronfreer/infinitary-logic/). |
t-logic
LLM-generated
new-contributor
|
446/0 |
Mathlib.lean,Mathlib/ModelTheory/Infinitary/Semantics.lean,Mathlib/ModelTheory/Infinitary/Syntax.lean,MathlibTest/InfinitarySyntax.lean |
4 |
4 |
['cameronfreer', 'github-actions'] |
nobody |
65-80129 2 months ago |
65-83032 65 days ago |
67-61671 67 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 |
64-31487 2 months ago |
64-31547 64 days ago |
73-47164 73 days |
0 |
| 42775 |
hawkrobe author:hawkrobe |
feat(RingTheory/HopfAlgebra): construct Hopf algebras from generators |
Upgrade a bialgebra to a Hopf algebra from antipode data on an algebra-generating set (`HopfAlgebra.ofGenerators`), plus the primitive-element form `HopfAlgebra.ofPrimitives`. Split out of #39841.
This looks more elegant using Sweedler notation (this proof was taken from a comment in #31898) but mathlib doesn't have the notation available as far as I know.
- [x] depends on: #39841 |
t-ring-theory
new-contributor
|
153/6 |
Mathlib.lean,Mathlib/RingTheory/HopfAlgebra/Generators.lean,Mathlib/RingTheory/HopfAlgebra/Primitive.lean |
3 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
63-33310 2 months ago |
63-33374 63 days ago |
64-56709 64 days |
1 |
| 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 |
51-77904 1 month ago |
51-78091 51 days ago |
78-82631 78 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 |
49-37326 1 month ago |
49-37393 49 days ago |
65-22382 65 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 |
49-20421 1 month ago |
55-29161 55 days ago |
55-29416 55 days |
4 |
| 42468 |
Cobord author:Cobord |
feat: added lambda rings |
Description:
This does lambda rings. It is mostly over rationals so we can concern ourselves only with the psi^n operations and not the more complicated lambda^n operations. Doing the more general case could be another PR. This also includes the Getzler type formulation as the map involving Lambda_R the ring of symmetric functions in countably many variables (which again because R is assumed as [Algebra Q R] is described with it's power sum generators). That is to say the Plethystic action. Homomorphisms of such lambda rings are also covered. In particular, those of inclusions of subrings closed under those psi^n operations. In addition, one of the primary motivating examples of K(GL(n)/P) otimes_Z Q is described as such an instance to provide an example that is not Lambda_R.
This was done with Claude Code for generating initial versions but I had not given a good full prompt about prefering psi^n over lambda^n or using a structure instead of a prop in AdamsHom so I ended up rewriting most of those parts by hand anyway. The exception is the PrimeExtend file which is about only giving the psi^p instead of all of the psi^n, but abstracted away from those particular details per clarifying instructions after an initial version.
Because PrimeExtend is so much, this has a tag of
LLM-generated
In addition even though it is in RingTheory it is highly relevant to
t-combinatorics
in the sense of algebraic combinatorics due to use of ring of symmetric functions in countably many variables. |
t-ring-theory
new-contributor
t-combinatorics
LLM-generated
|
898/0 |
Mathlib.lean,Mathlib/RingTheory/LambdaRing/AdamsHom.lean,Mathlib/RingTheory/LambdaRing/AdamsOperations.lean,Mathlib/RingTheory/LambdaRing/KFlagExample.lean,Mathlib/RingTheory/LambdaRing/PrimeExtend.lean,Mathlib/RingTheory/LambdaRing/SymmetricFunctions.lean |
6 |
4 |
['Cobord', 'github-actions'] |
nobody |
48-69018 1 month ago |
48-69235 48 days ago |
71-7605 71 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. |
new-contributor
t-algebra
label:t-algebra$ |
87/0 |
Mathlib.lean,Mathlib/RepresentationTheory/Hecke/Basic.lean |
2 |
8 |
['JX-Mo', 'Whysoserioushah', 'github-actions'] |
nobody |
46-40473 1 month ago |
46-40629 46 days ago |
57-15449 57 days |
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 |
40-15481 1 month ago |
40-15644 40 days ago |
40-15321 40 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 |
39-85038 1 month ago |
39-85138 39 days ago |
66-63029 66 days |
0 |
| 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
|
227/0 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/BinaryEntropy/Diagonal.lean,docs/references.bib |
3 |
5 |
['Harmenszoon', 'Timeroot', 'github-actions'] |
nobody |
39-63957 1 month ago |
102-84683 102 days ago |
103-51274 103 days |
0 |
| 43621 |
Whning0513 author:Whning0513 |
feat(Data/List): add basic API for toChunks |
Adds basic API lemmas for `List.toChunks`: flattening recovers the input, chunks are nonempty sublists, and their lengths are bounded by the chunk size.
This addresses the `Data/List/Basic: SP: toChunks` item in #7987.
Tests:
- `lake env lean Mathlib/Data/List/ToChunks.lean`
- `lake build Mathlib.Data.List.ToChunks`
- `lake exe runLinter Mathlib.Data.List.ToChunks`
AI use: OpenAI Codex was used to rebase the branch, run the checks above, and submit this pull request. The code and proofs were written and reviewed by the author. |
t-data
new-contributor
|
119/0 |
Mathlib.lean,Mathlib/Data/List/ToChunks.lean |
2 |
8 |
['copilot-pull-request-reviewer', 'github-actions', 'theebayuser'] |
nobody |
39-49677 1 month ago |
39-49916 39 days ago |
41-18086 41 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 |
39-28038 1 month ago |
39-28168 39 days ago |
59-2773 59 days |
1 |
| 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 |
39-9055 1 month ago |
39-9213 39 days ago |
39-49441 39 days |
0 |
| 42313 |
deancureton author:deancureton |
feat(RingTheory): embDomain composition and range, Laurent series expansion |
Add to the Hahn series API:
- `embDomain_embDomain` (composition of domain embeddings)
- `mem_range_embDomain_iff` (range of `embDomain` is characterized by support containment)
Add to the Laurent series API:
- the expansion ring endomorphism `LaurentSeries.expand` with its monomial and `orderTop` lemmas
- follows the pattern of `Polynomial.expand`, `MvPolynomial.expand`, `PowerSeries.expand`
- its opposite `LaurentSeries.contract`, with the decomposition of a Laurent series by exponent residues mod `n` (`sum_single_mul_expand_contract`) and its uniqueness (`contract_eq_of_sum_eq`)
- `exists_ofPowerSeries_eq_of_orderTop_nonneg`
This is the first of a series of PRs formalizing Puiseux series and Puiseux's theorem (entry 41 of Freek Wiedijk's 100 theorems list). |
t-ring-theory
new-contributor
LLM-generated
|
116/0 |
Mathlib/RingTheory/HahnSeries/Basic.lean,Mathlib/RingTheory/LaurentSeries.lean |
2 |
16 |
['deancureton', 'github-actions', 'wwylele'] |
nobody |
39-2412 1 month ago |
39-2673 39 days ago |
80-65698 80 days |
0 |
| 41241 |
intgrah author:intgrah |
feat(Order/Category): cartesian closed and distributive structure on PartOrd and Preord |
Give `PartOrd` and `Preord` `CartesianMonoidalCategory`, `MonoidalClosed`, and `IsCartesianDistributive` instances.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
|
267/0 |
Mathlib.lean,Mathlib/Order/Category/PartOrd/CartesianClosed.lean,Mathlib/Order/Category/PartOrd/Colimits.lean,Mathlib/Order/Category/PartOrd/Reflective.lean,Mathlib/Order/Category/Preord/CartesianClosed.lean,Mathlib/Order/Category/Preord/Colimits.lean,Mathlib/Order/Category/Preord/Reflective.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean |
8 |
7 |
['github-actions', 'intgrah', 'thomaskwaring'] |
nobody |
39-1354 1 month ago |
40-64225 40 days ago |
111-7583 111 days |
0 |
| 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 |
36-74816 1 month ago |
36-75021 36 days ago |
79-44786 79 days |
1 |
| 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 |
30-66648 1 month ago |
84-15614 84 days ago |
84-15291 84 days |
0 |
| 42971 |
ashebson author:ashebson |
fix(ProfiniteGrp): simplify explicit limit projections |
The naturality proof for `ProfiniteCompletion.lift` previously needed a brittle pointwise `change`. The underlying problem was that simplification crossed several semireducible diagram/forgetful-functor boundaries at once, producing terms that are definitionally equal but no longer type-correct at implicit transparency.
This PR:
- makes the two finite-quotient diagram composites reducible abbreviations;
- states `quotientMap` using the diagram object types and maps it through the existing `FiniteGrp ⥤ ProfiniteGrp` forgetful functor;
- adds a pointwise rewrite lemma for an explicit limit projection followed by a mapped finite-group morphism (with its additive counterpart); and
- rewrites `ProfiniteCompletion.lift` naturality through that API while keeping the limit point bundled, removing the problematic pointwise `change`.
--------
## AI disclosure
AI (OpenAI Codex) was used extensively for this PR. It was used to:
- investigate the original TODO and reproduce why `dsimp` failed;
- explore and discard several possible fixes;
- identify the semireducible diagram/forgetful-functor boundaries involved;
- design and implement the final `ProfiniteGrp` API simplification and `ProfiniteCompletion.lift` proof changes;
- run the relevant Lean builds and direct compilation checks; and
- draft the commit message and PR description.
The final changes were reviewed through the resulting diff and verified locally.
|
t-topology
new-contributor
LLM-generated
|
29/12 |
Mathlib/Topology/Algebra/Category/ProfiniteGrp/Basic.lean,Mathlib/Topology/Algebra/Category/ProfiniteGrp/Completion.lean,Mathlib/Topology/Algebra/Category/ProfiniteGrp/Limits.lean |
3 |
9 |
['ashebson', 'github-actions', 'grunweg', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
30-40548 1 month ago |
30-41323 30 days ago |
43-80231 43 days |
0 |
| 43886 |
gabriel-turinici author:gabriel-turinici |
feat(Analysis/Asymptotics): add Filter.Tendsto.weighted_cesaro_smul |
Adds `Filter.Tendsto.weighted_cesaro_smul`, a weighted (Toeplitz-type) generalization of `Filter.Tendsto.cesaro_smul`: if `S k → L` and `w k ≥ 0` has divergent partial sums, the weighted running average of `S` w.r.t. `w` also tends to `L`. Recovers `cesaro_smul` as the `w ≡ 1` case. Also adds `weighted_cesaro`, the real-valued convenience wrapper mirroring `cesaro`.
This is a small building block toward a planned follow-up PR formalizing Kronecker's lemma, at its turn needed in some stochastic analysis setting.
---
**AI disclosure**: this proof was developed using formatting assistance, library search and code corrections from Claude Code (Claude Sonnet 5) and a personal LLM automation. Alternative, shorter, proofs can be obtained with `IsLittleO`-style but that style seems too recent for me now.
[](https://gitpod.io/from-referrer/) |
t-analysis
new-contributor
LLM-generated
|
81/0 |
Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean |
1 |
2 |
['github-actions'] |
nobody |
30-19857 1 month ago |
33-74544 33 days ago |
33-74221 33 days |
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 |
30-4775 1 month ago |
120-3398 120 days ago |
258-9498 258 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 |
29-81918 29 days ago |
29-81971 29 days ago |
36-76128 36 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 |
29-63959 29 days ago |
86-50814 86 days ago |
110-32472 110 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 |
29-21871 29 days ago |
29-22400 29 days ago |
31-46232 31 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 |
29-11134 29 days ago |
29-11685 29 days ago |
92-40518 92 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 |
27-64725 27 days ago |
27-65312 27 days ago |
27-64989 27 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 |
27-63040 27 days ago |
27-63497 27 days ago |
27-63174 27 days |
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'] |
nobody |
27-53866 27 days ago |
30-45739 30 days ago |
59-54377 59 days |
0 |
| 44137 |
MrBrain295 author:MrBrain295 |
chore(Combinatorics/SimpleGraph): golf `Coloring.odd_length_iff_not_c… |
…ongr`
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-combinatorics
new-contributor
|
1/2 |
Mathlib/Combinatorics/SimpleGraph/Coloring/Constructions.lean |
1 |
2 |
['github-actions'] |
nobody |
27-10144 27 days ago |
27-10798 27 days ago |
27-10475 27 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 |
25-63956 25 days ago |
61-13168 61 days ago |
61-12845 61 days |
3 |
| 44221 |
SamuelSchlesinger author:SamuelSchlesinger |
feat(Combinatorics/SetFamily): erdős–rado sunflower lemma |
Define `Set.IsSunflower`, a family of elements of a meet-semilattice whose distinct members pairwise meet in a fixed kernel, with a basic API around it, and then prove the Erdős–Rado sunflower lemma: a family of more than `(p - 1) ^ r * r !` finsets of size at most `r` contains a sunflower with `p` petals, together with the uniform special case.
I use this downstream to show circuit lower bounds on the clique language, but it is used in various areas of complexity and combinatorics.
This PR was assisted by Claude Opus 5.5. In particular, I extracted this from another formalization project that was also assisted by AI.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-combinatorics
new-contributor
LLM-generated
|
215/0 |
Mathlib.lean,Mathlib/Combinatorics/SetFamily/Sunflower.lean,docs/references.bib |
3 |
4 |
['SamuelSchlesinger', 'github-actions'] |
nobody |
24-45418 24 days ago |
24-47200 24 days ago |
24-46877 24 days |
0 |
| 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 |
24-44630 24 days ago |
24-44959 24 days ago |
24-44636 24 days |
0 |
| 37456 |
Robertboy18 author:Robertboy18 |
feat(LinearAlgebra/AffineSpace): add parallel form of Desargues's theorem |
This PR adds an affine parallel form of the Desargues theorem, following the related Rocq/Coq affine-geometry statement.
**Main changes**
- New file `Mathlib/LinearAlgebra/AffineSpace/Desargues.lean` with `parallel_third_side_of_perspective`.
- Add the corresponding `public import` to `Mathlib.lean`.
**Proof idea**
The proof compares side vectors using `exists_eq_smul_of_parallel` for the two given pairs of parallel sides. The shared comparison along `SA` forces the same scalar, which gives parallelism of the third pair of sides.
Tests: `lake build Mathlib.LinearAlgebra.AffineSpace.Desargues`
AI disclosure: GPT-5.2 Pro was used for assistance with web search/background details about the theorem and for finding useful existing Mathlib lemmas. The theorem statement and Lean formalization were written and checked by hand.
---
[](https://gitpod.io/from-referrer/) |
t-algebra
new-contributor
LLM-generated
label:t-algebra$ |
133/0 |
Mathlib.lean,Mathlib/LinearAlgebra/AffineSpace/Desargues.lean |
2 |
22 |
['Robertboy18', 'SnirBroshi', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'wwylele'] |
nobody |
23-63959 23 days ago |
42-34801 42 days ago |
70-26700 70 days |
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 |
22-45040 22 days ago |
68-29189 68 days ago |
68-28866 68 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 |
20-79185 20 days ago |
20-79709 20 days ago |
21-82221 21 days |
0 |
| 42895 |
cameronfreer author:cameronfreer |
feat(SetTheory/Ordinal): add lift_sSup and lift_iSup |
Add `InitialSeg.map_sSup` and `InitialSeg.map_iSup` for conditionally complete linear orders with bottom. Specializing these to `Ordinal.liftInitialSeg` gives `Ordinal.lift_sSup`, `Ordinal.lift_iSup`, `Ordinal.lift_iSup_le`, and `Ordinal.lift_iSup_le_iff`.
The `sSup` theorem handles the empty set using preservation of bottom and the nonempty case using normality. The `iSup` theorem is derived from it. Both use an explicit boundedness hypothesis; in particular, `lift_iSup` assumes `BddAbove (Set.range f)` rather than requiring the index type to be small.
🤖 This PR was developed with assistance from Claude and GPT models, using [lean4-skills](https://github.com/cameronfreer/lean4-skills) and [lean-lsp-mcp](https://github.com/oOo0oOo/lean-lsp-mcp).
|
t-set-theory
new-contributor
LLM-generated
|
40/0 |
Mathlib/Order/IsNormal.lean,Mathlib/SetTheory/Ordinal/Family.lean |
2 |
11 |
['cameronfreer', 'github-actions', 'plp127', 'vihdzp'] |
nobody |
20-63956 20 days ago |
63-10261 63 days ago |
63-17948 63 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 |
20-14897 20 days ago |
20-14965 20 days ago |
34-60112 34 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 |
18-4290 18 days ago |
18-4357 18 days ago |
18-4034 18 days |
0 |
| 44379 |
JokerXin2025 author:JokerXin2025 |
fix(tactic): skip implementation-detail declarations in `specialize_all` |
This commit fixes a bug in the `specialize_all` tactic that causes incorrect behavior in `specialize_all; assumption`.
In the original implementation of `specialize_all`, the statement `for h in ← getLCtx do` iterates over the entire local context without filtering out auxiliary declarations, particularly the theorem currently being proved. This allows the subsequent `assumption` tactic to directly use the local hypothesis produced by specializing that declaration, recursively “proving” the current theorem. This issue makes `tauto_set` unusable in many cases where it successfully executes `specialize_all` internally.
Here are some examples of the bug in `specialize_all` (before the fix):
```lean
import Mathlib.Tactic.TautoSet
/-- error: fail to show termination for
_example
with errors
failed to infer structural recursion:
Cannot use parameter x:
failed to eliminate recursive application
_example x✝ rfl -/
#guard_msgs (substring := true) in
example (x : ℕ) : {x} ⊆ Set.univ := by tauto_set
/-- error: fail to show termination for
_example -/
#guard_msgs (substring := true) in
example {α : Type} : α → False := by
intro x
specialize_all x
assumption
```
This issue does not cause Lean to accept the invalid proof, because it is rejected by the termination checker.
I fixed this issue by adding
```lean
unless h.isImplementationDetail do
```
after the loop statement above to filter out all implementation-detail hypotheses, including the auxiliary declaration for the current theorem. I also added three regression tests in `MathlibTest/Tactic/TautoSet.lean`. All three compile successfully now, but fail with `error: fail to show termination for ...` before the fix.
GPT-6-Astra was used to help locate the bug and translate the PR description to English.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-meta
new-contributor
maintainer-merge
|
21/2 |
Mathlib/Tactic/TautoSet.lean,MathlibTest/Tactic/TautoSet.lean |
2 |
11 |
['JokerXin2025', 'JovanGerb', 'github-actions', 'grunweg', 'plp127'] |
nobody |
17-82226 17 days ago |
18-36772 18 days ago |
18-71912 18 days |
0 |
| 38223 |
Deicyde author:Deicyde |
feat(Geometry/Manifold): add `MfldCat`, the category of `C^n` manifolds |
Defines `MfldCat 𝕜 n`: the category of `C^n` manifolds over a field `𝕜`, in which the model with corners is allowed to vary between objects. An object bundles a model vector space `E`, a model space `H`, a model with corners `I : ModelWithCorners 𝕜 E H` and a term of `ModelWithCorners.MfldCat I n`--see #41109. This includes manifolds with boundary / corners.
For more discussion see this Zulip thread: [#PR reviews > #38223 The Category of C^n Manifolds](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2338223.20The.20Category.20of.20C.5En.20Manifolds/with/587038032)
Also added: `ContMDiffMap.id_apply`, `.coe_id` and `.coe_comp` which are comparable to `ContinuousMap` API.
### Future work
- ✅ Define a Monoidal structure via product manifolds, analogous to `Manifold.Topology.Category.TopCat.Monoidal` #38560
- ✅ Define the tangent functor: `M ↦ TM`, `F ↦ F.tangentMap` from `MfldCat (n+1) 𝕜` to `MfldCat n 𝕜` #38270
- Functor `FGModuleCat 𝕜 ⥤ MfldCat 𝕜 n` sending a finite-dimensional `𝕜`-vector space to the manifold modeled on itself. Left as `TODO`.
- Define `FGModuleCat 𝕜` as an enriched category over `MfldCat n 𝕜`. Then _smooth functors_ can be realized as endofunctors on the enriched category. This is the main motivation for this construction.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [x] depends on: #41109 [The category of `C^n` manifolds on a fixed model]
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
new-contributor
t-category-theory
|
210/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Category/MfldCat/Basic.lean,Mathlib/Geometry/Manifold/ContMDiffMap.lean |
3 |
63 |
['Deicyde', 'chrisflav', 'dagurtomas', 'github-actions', 'idontgetoutmuch', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'peabrainiac'] |
ocfnash assignee:ocfnash |
17-64861 17 days ago |
40-25338 40 days ago |
99-58580 99 days |
2 |
| 42831 |
ray-shang author:ray-shang |
feat(CategoryTheory/Preadditive): category ring of preadditive category |
Given a preadditive category `C`, its category ring `CategoryRing C` is the non-unital ring
whose underlying additive group is the direct sum of all of its morphism groups `X ⟶ Y`, and
whose multiplication is induced by composition: the product of a morphism `f : X ⟶ Y` with a
morphism `g : Z ⟶ W` is `f ≫ g` when `Y = Z`, and `0` otherwise. When `C` is `R`-linear this ring
is a (non-unital) `R`-algebra, and when `C` has finitely many objects it is unital, with
unit `∑ X, 𝟙 X`.
This file formalizes `CategoryRing C` and its structure and universal property
when `C` is preadditive, `R`-linear, finite type, and both finite type and `R`-linear. For example,
when `C` is merely preadditive, the universal property of `CategoryRing C` is: non-unital ring
homomorphisms out of `CategoryRing C` correspond to `LiftData`, the data of a
compatible family of additive maps `(X ⟶ Y) →+ A` for a `NonUnitalNonAssocSemiring A`.
AI Usage: Gemini 3.1 Pro Extended Thinking is in use to generate proof terms for the custom induction principle to unwrap the nested direct sums of the category algebra. Human oversight and work determines the most efficient proof term.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-category-theory
new-contributor
|
706/0 |
Mathlib.lean,Mathlib/CategoryTheory/Preadditive/CategoryRing.lean |
2 |
11 |
['b-reinke', 'github-actions', 'joelriou', 'ray-shang', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
16-64858 16 days ago |
19-61951 19 days ago |
32-31588 32 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 |
16-63958 16 days ago |
21-57149 21 days ago |
38-47374 38 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
|
159/0 |
Mathlib.lean,Mathlib/MeasureTheory/Measure/Haar/AutomaticContinuity.lean |
2 |
10 |
['certik', 'github-actions', 'mathlib-merge-conflicts', 'wwylele'] |
nobody |
16-63957 16 days ago |
109-50272 109 days ago |
117-63646 117 days |
0 |
| 41729 |
vaca22 author:vaca22 |
feat(RingTheory/DedekindDomain): add divisor group core |
Add the divisor group of a Dedekind domain as a formal-sum model, together with the additive equivalence to the multiplicative group of nonzero fractional ideals.
**Relation to what Mathlib already has.** As pointed out on Zulip, Mathlib already knows that fractional ideals factor: `FractionalIdeal.count` gives the exponent of a height-one prime, and `ClassGroup` is built from fractional ideals directly. This PR does not re-prove any of that — it reuses `count` and `finite_factors` verbatim. What it adds is the *additive* packaging:
* `IsDedekindDomain.Divisor R := HeightOneSpectrum R →₀ ℤ`, so a divisor is a finitely supported integer-valued function and one can write `D₁ + D₂`, `-D`, `D v`, and use the whole `Finsupp` API (`support`, `sum`, induction on the support);
* `FractionalIdeal.divisorEquiv`, an `AddEquiv` from `(FractionalIdeal R⁰ K)ˣ` to `Divisor R`, turning ideal multiplication into divisor addition.
The multiplicative view is the right one for the class group; the additive one is what divisor-theoretic arguments are written in, where one constantly forms `D - D'`, compares coefficients prime by prime, and does induction over `D.support`. Having both, related by a single `AddEquiv`, means neither side has to be re-derived.
**Downstream use.** This is the bottom layer of a formalization of Riemann–Roch for algebraic function fields (announced in `#AI authored projects > Riemann–Roch for function fields`): `L(D)`, `deg D`, and the statement `ℓ(D) = deg D + 1 - g + ℓ(W - D)` are all phrased in terms of additive divisors, and the degree map is defined by summing coefficients over `D.support`.
Happy to reshape the API — in particular whether `Divisor` should be an `abbrev` or a structure, and whether this belongs next to `Factorization` rather than in its own file.
AI usage: LLM-generated, disclosed per the AI policy.
|
t-ring-theory
new-contributor
LLM-generated
|
100/0 |
Mathlib.lean,Mathlib/RingTheory/DedekindDomain/Divisor.lean |
2 |
4 |
['github-actions', 'grunweg', 'vaca22'] |
mattrobball assignee:mattrobball |
15-64859 15 days ago |
95-74827 95 days ago |
97-71219 97 days |
0 |
| 42630 |
will1491 author:will1491 |
feat(Analysis/Complex): define Wirtinger derivatives |
Define the Wirtinger derivatives `Complex.wirtingerDeriv` and `Complex.wirtingerDerivBar` from `fderiv ℝ`, and prove: the Cauchy-Riemann characterization of complex differentiability (pointwise and on open sets), agreement of `wirtingerDeriv` with `deriv` for holomorphic functions, additivity, Leibniz product rules, conjugation identities, both Wirtinger chain rules, and the Wirtinger decomposition of a real-linear map `ℂ →L[ℝ] ℂ`.
Extracted from https://github.com/will1491/RiemannDynamics, where it underlies the Beltrami-equation and Cauchy/Beurling-transform theory used in the proof of the measurable Riemann mapping theorem.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
|
253/0 |
Mathlib.lean,Mathlib/Analysis/Complex/Wirtinger.lean |
2 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
urkud assignee:urkud |
15-64854 15 days ago |
39-78436 39 days ago |
70-53235 70 days |
0 |
| 40967 |
Formalistic03 author:Formalistic03 |
feat(Combinatorics/SimpleGraph/Paths): some lemmas about inducing walks |
Could also be done via `SimpleGraph.Walk.map_induce`, but I thought that doing it directly is not much worse.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
maintainer-merge
|
59/0 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Maps.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/Sym/Sym2.lean |
4 |
34 |
['Formalistic03', 'SnirBroshi', 'github-actions'] |
b-mehta assignee:b-mehta |
14-74113 14 days ago |
15-26084 15 days ago |
109-610 109 days |
0 |
| 43104 |
elazarg author:elazarg |
feat(InformationTheory/KullbackLeibler): finite Kullback-Leibler divergence |
Add finite-sum formulas for `InformationTheory.klDiv` on finite measurable spaces, including equal-mass and probability-measure specializations and formulas for sums of weighted Dirac measures. Provide both `ℝ≥0∞`-valued and `toReal` versions.
Supporting API includes a formula for the Radon–Nikodym derivative at points of nonzero reference-measure mass, a finite-sum formula for the integral of the log-likelihood ratio, and singleton-mass and absolute-continuity lemmas for sums of weighted Dirac measures.
---
Continuing #42584, another part of https://github.com/elazarg/kraft.
Following review, this uses the existing `klDiv` instead of introducing `klDivFin`. The `toReal` formulas connect it to real-valued sums in downstream code.
For measures of unequal mass, the formulas retain the correction term `ν.real univ - μ.real univ`.
The KL formulas are in `KullbackLeibler/Basic.lean`; the supporting lemmas are in the corresponding measure-theory modules.
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
LLM-generated
|
100/1 |
Mathlib/InformationTheory/KullbackLeibler/Basic.lean,Mathlib/MeasureTheory/Measure/Decomposition/RadonNikodym.lean,Mathlib/MeasureTheory/Measure/Dirac/Basic.lean,Mathlib/MeasureTheory/Measure/LogLikelihoodRatio.lean |
4 |
9 |
['EtienneC30', 'elazarg', 'github-actions', 'vlad902'] |
RemyDegenne assignee:RemyDegenne |
14-64857 14 days ago |
36-84243 36 days ago |
45-64601 45 days |
0 |
| 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 |
14-49457 14 days ago |
17-33209 17 days ago |
17-71933 17 days |
1 |
| 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 |
14-48143 14 days ago |
14-48332 14 days ago |
14-48009 14 days |
0 |
| 43539 |
abhijitaj1997 author:abhijitaj1997 |
feat(CategoryTheory/Monoidal/Cartesian/Endomorphism): add ring and semiring structures |
Given two monoidal object in a nice enough category, this show that the monoidal morphisms between then forms an additive group. This additive group is part of a larger semiring structure.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-category-theory
|
165/0 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Endomorphism.lean |
2 |
36 |
['Multramate', 'abhijitaj1997', 'alreadydone', 'github-actions', 'joelriou', 'robin-carlier'] |
joelriou assignee:joelriou |
13-64856 13 days ago |
13-78911 13 days ago |
41-53890 41 days |
0 |
| 44269 |
ROTARTSI82 author:ROTARTSI82 |
feat(Dynamics): periodic orbits must jump up and down |
If x is a periodic point and not a fixed point, there exists some b in its periodic orbit such that b < f b, and some b' such that f b' < b'.
---
This change was motivated by the following proof, a special case of Sharkovskii's theorem:
```lean
theorem exists_isFixedPt_of_continuous_of_mem_periodicPts' {α : Type*}
[ConditionallyCompleteLinearOrder α] [TopologicalSpace α] [OrderTopology α] [DenselyOrdered α]
{f : α → α} {x₀ : α} (hx₀ : x₀ ∈ periodicPts f)
(hf : Continuous f) :
∃(c : α), IsFixedPt f c := by
by_cases hfixed : IsFixedPt f x₀
· exact ⟨x₀, hfixed⟩
obtain ⟨a, _, ha⟩ := exists_lt_map_of_mem_periodicPts hx₀ hfixed
obtain ⟨b, _, hb⟩ := exists_map_lt_of_mem_periodicPts hx₀ hfixed
obtain ⟨c, _, hc⟩ := exists_mem_uIcc_isFixedPt hf.continuousOn ha.le hb.le
exact ⟨c, hc⟩
```
Would this theorem itself or something similar be wanted in 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]
-->
|
new-contributor
t-dynamics
|
39/0 |
Mathlib/Dynamics/PeriodicPts/Defs.lean,Mathlib/Order/Monotone/Basic.lean |
2 |
3 |
['ROTARTSI82', 'github-actions'] |
urkud assignee:urkud |
13-64853 13 days ago |
21-68014 21 days ago |
22-42061 22 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 |
13-7263 13 days ago |
19-11936 19 days ago |
19-11613 19 days |
0 |
| 44613 |
keithadler author:keithadler |
feat(RepresentationTheory): irreducible representations are bounded by conjugacy classes |
For a finite group `G` and an algebraically closed field `k` in which `|G|` is invertible, `Representation.char_orthonormal` gives orthogonality of irreducible characters. This PR adds the consequence that is used in practice:
* `Representation.classFunction ρ : ConjClasses G → k`, the character as a class function;
* `Representation.linearIndependent_classFunction`: the class functions of a family of pairwise non-isomorphic irreducible representations are linearly independent;
* `Representation.card_le_card_conjClasses`: such a family has at most `Nat.card (ConjClasses G)` members.
This is the upper-bound half of "the number of irreducible representations equals the number of conjugacy classes" (the other half, that characters span the class functions, is not yet in Mathlib). The bound is exactly what is needed to show that an explicit list of `Nat.card (ConjClasses G)` pairwise non-isomorphic irreducibles is complete; e.g. with the companion PR on conjugacy classes of `Perm α`, that the Specht modules exhaust the irreducible representations of `S_n` (used downstream in https://github.com/keithadler/saxl-lean).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---
|
t-algebra
new-contributor
LLM-generated
label:t-algebra$ |
118/0 |
Mathlib.lean,Mathlib/RepresentationTheory/CharacterCount.lean |
2 |
2 |
['github-actions'] |
nobody |
12-72950 12 days ago |
12-82736 12 days ago |
12-82413 12 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 |
12-72886 12 days ago |
12-73683 12 days ago |
12-73360 12 days |
0 |
| 42357 |
SynBurz author:SynBurz |
feat: the Krull dimension of the product of finitely many rings is equal to the maximum of Krull dimensions of the factors |
Add `ringKrullDim_pi_eq_iSup_ringKrullDim`. Also add useful defs: `LTSeries.sigmaEquiv`, `PrimeSpectrum.sigmaToPiOrderIso`, and lemmas `PrimeSpectrum.sigmaToPiOrderIso_apply`, Pi.not_comap_evalRingHom_le_comap_of_neq`, `LTSeries.sigma_fst_eq_fst`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
93/0 |
Mathlib/Order/RelSeries.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean |
3 |
6 |
['SynBurz', 'github-actions', 'mathlib-merge-conflicts', 'wwylele'] |
nobody |
12-72630 12 days ago |
12-72694 12 days ago |
41-78398 41 days |
0 |
| 41904 |
rshlyakh author:rshlyakh |
feat(RingTheory/KrullDimension): add Krull dimension preservation under injective integral extensions |
This proves that an injective integral homomorphism of commutative rings
preserves Krull dimension, based on the `Algebra.HasGoingUp` infrastructure from #40911. It includes:
- `RingHom.IsIntegral.ringKrullDim_eq_of_injective`: injective integral homomorphisms of
commutative rings preserve Krull dimension.
- `RingHom.IsIntegral.ringKrullDim_quotient_ker_eq`: for an integral extension `f : A →+* B`,
the Krull dimension of `B` is equal to the Krull dimension of `A ⧸ RingHom.ker f`.
- [x] depends on: #40911
- [x] depends on: #41058
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
|
77/12 |
Mathlib.lean,Mathlib/RingTheory/Ideal/HasGoingUp.lean,Mathlib/RingTheory/KrullDimension/Integral.lean |
3 |
14 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'rshlyakh', 'vlad902'] |
mariainesdff assignee:mariainesdff |
12-64856 12 days ago |
49-58171 49 days ago |
93-42217 93 days |
1 |
| 42786 |
rshlyakh author:rshlyakh |
feat(Data/Finsupp/NatCard): count finsupps of bounded degree |
Adds the formula that the number of finitely-supported functions `α →₀ ℕ` with degree less than or equal to `n` is equal to `Nat.choose (Nat.card α + n) n`. The proof is by establishing an equivalence `Sym (Option α) n ≃ {f : α →₀ ℕ // f.degree ≤ n}` and using the stars-and-bars formula `Sym.equivNatSum.`
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
|
56/0 |
Mathlib.lean,Mathlib/Data/Finsupp/NatCard.lean |
2 |
2 |
['github-actions'] |
TwoFX assignee:TwoFX |
12-64852 12 days ago |
66-60132 66 days ago |
66-59809 66 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 |
12-12171 12 days ago |
28-18299 28 days ago |
29-52027 29 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 |
11-8229 11 days ago |
11-8472 11 days ago |
11-8178 11 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 |
11-7047 11 days ago |
11-7141 11 days ago |
22-65193 22 days |
0 |
| 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 |
10-80349 10 days ago |
10-80424 10 days ago |
10-82109 10 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 |
10-80228 10 days ago |
10-80334 10 days ago |
10-82316 10 days |
0 |
| 41426 |
gmcninch-prof author:gmcninch-prof |
feat: add symmetric multilinear maps |
Define `SymmetricMap R M N ι`, the type of symmetric `R`-multilinear maps
from `ι → M` to `N` (i.e. multilinear maps invariant under permutation of
their arguments).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
The code is adapted from Kenny Lau's work
[here](https://github.com/kckennylau/EllipticCurve/blob/master/EllipticCurve/ProjectiveSpace/TensorProduct/SymmetricMap.lean)
-- see [`SymmetricMap`](https://github.com/gmcninch-prof/mathlib4/blob/symmetric-power-lift/Mathlib/LinearAlgebra/TensorProduct/SymmetricMap.lean).
This PR previously also contained the universal property / `lift` for
`SymmetricPower` (relating linear maps out of `Sym[R]^n M` to symmetric
multilinear maps), but per reviewer feedback on Zulip that work has been
split into a separate PR that depends on this one.
Zulip discussion [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/SymmetricPower.20universal.20property/near/608532652)
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
397/0 |
Mathlib.lean,Mathlib/LinearAlgebra/TensorProduct/SymmetricMap.lean |
2 |
10 |
['github-actions', 'gmcninch-prof', 'jcommelin'] |
kim-em assignee:kim-em |
10-64857 10 days ago |
99-82706 99 days ago |
101-50685 101 days |
1 |
| 41882 |
theebayuser author:theebayuser |
feat(Data/List): decidability of HasPeriod and periods of repeated lists |
Hello, this PR extends `Mathlib/Data/List/PeriodicityLemma.lean` with:
* a `Decidable (List.HasPeriod w p)` instance (it is a prefix test), and
* two directions that relate periods to repetition:
* `hasPeriod_flatten_replicate` — `(replicate n l).flatten` has period `l.length`
* `eq_flatten_replicate_of_hasPeriod` — a word with period `p` and length `r * p` is the `r`-fold repetition of its length-`p` prefix.
This characterizes `r`-th powers of words by a period plus a length constraint, which a future follow-up PR that I plan to work on will use.
AI disclosure: This code was mostly generated by Claude Fable 5 and Opus 4.8 as part of my larger project on combinatorics on words, which I then reviewed and revised to contribute to mathlib.
|
t-data
LLM-generated
new-contributor
|
56/1 |
Mathlib/Data/List/PeriodicityLemma.lean |
1 |
8 |
['SnirBroshi', 'github-actions', 'theebayuser'] |
nobody |
10-49205 10 days ago |
10-49297 10 days ago |
94-38669 94 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 |
10-45181 10 days ago |
10-78984 10 days ago |
10-80601 10 days |
0 |
| 41781 |
teng10 author:teng10 |
feat(Algebra/Representation): add abstract permutation action in TensorPower |
Hello, I'm a new contributor. I had an introduction here on [zulip](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Introduction.3A.20Schur.20Weyl.20Duality/with/607194314)
This PR is a first step in formalizing Shur Weyl duality, which I got feedback that it would be useful to mathlib. The final statement I had in mind has the form
/--
The centralizer of `{g^{⊗k} | g ∈ End(V)}`equals `Span{W_σ | σ ∈ S_k}`, for all dimensions `d` and tensor powers `k`.
---/
This PR tries to define permutation action on TensorPower; define permutation image space.
An initial version of the definition is more specific to the Euclidean space (for reference I list them below)
```
open scoped TensorProduct
variable {d : ℕ} {k : ℕ}
/-- The `k`-fold tensor power of `ℂ^d`, defined as `⨂[ℂ] (i : Fin k), (Fin d → ℂ)`. -/
abbrev PiTensorPower (d k : ℕ) : Type :=
PiTensorProduct ℂ (fun (_ : Fin k) => (Fin d → ℂ))
/-- The permutation operator `W_σ` on the tensor power `V^{⊗k}`.
Given `σ : Equiv.Perm (Fin k)`, this acts by permuting the tensor factors:
`W_σ (v₁ ⊗ ⋯ ⊗ vₖ) = v_{σ⁻¹(1)} ⊗ ⋯ ⊗ v_{σ⁻¹(k)}`. -/
def permAction (d : ℕ) {k : ℕ} (σ : Equiv.Perm (Fin k)) :
PiTensorPower d k ≃ₗ[ℂ] TensV d k :=
PiTensorProduct.reindex ℂ (fun (_ : Fin k) => (Fin d → ℂ)) σ
/-- The set of permutation operators in `End(V^{⊗k})`. -/
def permImage (d k : ℕ) : Set (Module.End ℂ (TensV d k)) :=
Set.range (fun σ : Equiv.Perm (Fin k) => (permAction d σ).toLinearMap)
```
LLM acknowledgement: I have used aristotle to write these definitions. However, I am very motivated to learn how to write proper code. I have looked more into `PiTensorProduct` and `TensorPower` module and came to the abstract version in the PR. I tried to ask aristotle about how it's defining things and whether it's suitable for mathlib.
And I would very much appreciate your thoughts on how appropriate these definitions are. Thanks for your time!
Yanting
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
will-close-soon
label:t-algebra$ |
22/0 |
Mathlib/LinearAlgebra/TensorPower/Basic.lean |
1 |
5 |
['github-actions', 'joelriou', 'teng10'] |
kim-em assignee:kim-em |
9-64856 9 days ago |
97-9608 97 days ago |
97-9285 97 days |
0 |
| 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 |
9-64850 9 days ago |
25-46962 25 days ago |
32-74379 32 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 |
9-49137 9 days ago |
9-49245 9 days ago |
9-48922 9 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 |
9-19622 9 days ago |
9-19678 9 days ago |
9-19355 9 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 |
8-69984 8 days ago |
8-70034 8 days ago |
8-71037 8 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 |
8-64859 8 days ago |
15-18942 15 days ago |
84-57621 84 days |
0 |
| 44786 |
ZRTMRH author:ZRTMRH |
feat(Lean/Quote): restore `Quote` instances for `Int` and `Rat` |
Add `Quote Int` and `Quote Rat` instances, analogous to core's `Quote Nat`.
They turn a number into numeral syntax without a type ascription (e.g. `quote (-7 / 2 : ℚ)` is `-7 / 2`), so the result elaborates at the expected type. These could later be upstreamed to Lean core.
These instances were added in #942 as part of `polyrith`, fixed in #24470, and removed together with the implementation of `polyrith` in #29547. This PR restores them unchanged (apart from naming) in their own file. Tests provided.
Motivated from the project of `maximize` / `minimize` tactics (PR to follow) which print a computed rational bound in a "Try this" suggestion such as `have : 4 * x + y ≤ 7 / 2 := by linarith`. Discussed on Zulip: [maximize / minimize tactic for linear optimization](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/maximize.20.2F.20minimize.20tactic.20for.20linear.20optimization).
The test file is refined with AI assistance (Claude) and has been reviewed by the author.
Co-authored-by: Mario Carneiro <di.gama@gmail.com>
Co-authored-by: Aaron Liu <aaronliu2008@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]
-->
|
t-meta
LLM-generated
new-contributor
|
164/0 |
Mathlib.lean,Mathlib/Lean/Quote.lean,MathlibTest/Quote.lean |
3 |
3 |
['ZRTMRH', 'github-actions'] |
nobody |
8-61114 8 days ago |
8-61174 8 days ago |
8-60851 8 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 |
8-57844 8 days ago |
8-57967 8 days ago |
18-64331 18 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 |
8-43443 8 days ago |
8-43567 8 days ago |
9-41246 9 days |
0 |
| 44734 |
mycaule author:mycaule |
feat(RingTheory/LocalProperties/Semilocal): semilocal rings have stable range one |
Add `IsCoprime.exists_isUnit_add_mul` to `Mathlib/RingTheory/LocalProperties/Semilocal.lean`: in a commutative ring `R` with finitely many maximal ideals (`[Finite (MaximalSpectrum R)]`), if `a` and `b` are coprime, then `a + t * b` is a unit for some `t ∈ R`. In other words, a semilocal ring has stable range one (Bass, *K-theory and stable algebra*, 1964). The proof applies the Chinese remainder theorem (`Ideal.exists_forall_sub_mem_ideal`) to the maximal ideals: `t ≡ 0` modulo those containing `b`, and `t ≡ b⁻¹ (1 - a)` modulo the others. `docs/references.bib` gains Bass (1964).
Questions for reviewers: whether this belongs in `LocalProperties/Semilocal.lean` (which is about local properties) or next to the Chinese remainder theorem in `RingTheory/Ideal/Quotient/Operations.lean`; whether a `StableRange` definition would be wanted, with this as its first instance.
AI disclosure: the Lean proof was written by an AI model (Claude, Anthropic) under my direction. I have read and checked it and will handle the review. It builds against current master.
|
t-ring-theory
new-contributor
LLM-generated
|
42/0 |
Mathlib/RingTheory/LocalProperties/Semilocal.lean,docs/references.bib |
2 |
5 |
['github-actions', 'mycaule', 'vlad902'] |
nobody |
8-23721 8 days ago |
8-43277 8 days ago |
9-43951 9 days |
0 |
| 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 |
7-74346 7 days ago |
7-74346 7 days ago |
7-81686 7 days |
0 |
| 42353 |
sankalpsthakur author:sankalpsthakur |
feat(RingTheory): add nilpotence lemmas for zero sums |
In a commutative semiring, adds:
- `sq_eq_sq_of_add_eq_zero`: if `x + y = 0` then `x^2 = y^2`
- `IsNilpotent.of_add_eq_zero_left`: if `x + y = 0` and `y` is nilpotent, so is `x`
- `isNilpotent_iff_of_add_eq_zero`: under `x + y = 0`, `x` is nilpotent iff `y` is
Motivated by #10539.
### Validation
Built locally: `lake build Mathlib.RingTheory.Nilpotent.Basic` — succeeds.
Closes #10539
### AI/LLM disclosure
AI coding tools were used to help draft this change and PR description. I reviewed the complete change, understand the reasoning, and verified the build locally before submitting. |
t-ring-theory
new-contributor
LLM-generated
|
49/0 |
Mathlib/RingTheory/Nilpotent/Basic.lean |
1 |
29 |
['github-actions', 'sankalpsthakur', 'tb65536'] |
nobody |
7-70760 7 days ago |
54-26496 54 days ago |
60-19373 60 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 |
7-64861 7 days ago |
22-85232 22 days ago |
130-24583 130 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 |
7-63474 7 days ago |
7-63531 7 days ago |
7-63208 7 days |
0 |
| 44117 |
zblore author:zblore |
feat(Topology/Algebra): quotient topology on projective space and open quotient map |
This gives `ℙ K V` the quotient topology and shows `Projectivization.mk'` is an open quotient map when the units of `K` act continuously on `V`. It also adds the two instances the proof needs to `Topology/Algebra/MulAction.lean`. A `SubMulAction` inherits `ContinuousConstSMul`, and `Kˣ` acts continuously on the nonzero vectors.
This is the first step towards the Fubini-Study metric and measure on `ℂℙⁿ`. I discussed it on Zulip here https://leanprover.zulipchat.com/#narrow/id/617154981 and here https://leanprover.zulipchat.com/#narrow/id/625402419
I used Claude to draft the Lean against the existing Mathlib API. I've reworked and checked every line myself and can explain all of it.
---
|
t-topology
new-contributor
LLM-generated
|
116/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Projectivization/Basic.lean,Mathlib/Topology/Algebra/MulAction.lean,Mathlib/Topology/Algebra/Projectivization.lean |
4 |
7 |
['gasparattila', 'github-actions', 'zblore'] |
nobody |
7-38692 7 days ago |
7-39125 7 days ago |
27-24257 27 days |
0 |
| 43280 |
idontgetoutmuch author:idontgetoutmuch |
feat(Topology/VectorBundle): coordinate lemmas for the bundle of bilinear forms |
Two coordinate-level identities for the bundle of scalar-valued bilinear forms
`fun x ↦ E₁ x →L[𝕜] E₁ x →L[𝕜] 𝕜` over a vector bundle, added to
`Mathlib/Topology/VectorBundle/Hom.lean`:
- `inCoordinates_apply_eq₂_bilin`: specialisation of `inCoordinates_apply_eq₂` to
scalar-valued forms on a single bundle (`E₂ = E₁`, `E₃ = Bundle.Trivial B 𝕜`);
- `trivializationAt_symm_apply_bilin`: the inverse trivialization of the bilinear-forms
bundle, applied to fibre vectors, equals the model form on their images under
`continuousLinearMapAt`.
`Hom.lean` now imports `Mathlib.Topology.VectorBundle.Constructions`, which is needed
for the `Bundle.Trivial` instances used in these statements.
`inCoordinates_apply_eq₂_bilin` is used to simplify six proof steps in
`Mathlib/Topology/VectorBundle/Riemannian.lean`, which previously applied
`inCoordinates_apply_eq₂ h h (Set.mem_univ _)` and then simplified away the trivial-bundle
`linearMapAt` by hand. Two ad hoc `convert!` proofs there are replaced by the existing
`Trivialization.symm_linearMapAt`.
This is the first piece split out of #33714 (existence of a Riemannian metric on a
manifold), which will be rebased on top of this PR. |
t-topology
new-contributor
|
45/20 |
Mathlib/Topology/VectorBundle/Hom.lean,Mathlib/Topology/VectorBundle/Riemannian.lean |
2 |
21 |
['github-actions', 'grunweg', 'idontgetoutmuch'] |
grunweg assignee:grunweg |
7-13505 7 days ago |
27-10909 27 days ago |
49-24144 49 days |
0 |
| 40727 |
pepamontero author:pepamontero |
feat(Geometry/Manifold/Instances/Quotient): quotients of manifolds by smooth free properly discontinuous group actions are manifolds |
Add smooth manifold structure on orbit space `orbitRel.Quotient G M`.
This PR is a follow-up to #35653, which equipped `orbitRel.Quotient G M` with a `ChartedSpace` structure. Here we promote that to an `IsManifold I n` instance, assuming M itself is an `IsManifold I n` and `G` acts by
`ContMDiffConstSMul`.
This PR:
* Changes the charted space instance to use `IsLocalHomeomorph.chartedSpaceOfRightInverse` applied to `Quotient.out_eq`, so the charts come from an explicit local section `orbitRel.Quotient.localInverseAt x` of the quotient map at `x.out`.
* Adds some API on `localInverseAt` that is only relevant when we have an action (`localInverseAt_apply_mk_eq_smul`, `localInverseAt_symm_trans_eqOn_smul`, `exists_smul_mem_localInverseAt_target`)
* Defines the `transitionMap` between the charts of the quotient, and adds `transitionMap_locally_smul` which shows each transition map agrees near any point with `φ x⁻¹ ≫ (g • ·) ≫ φ y` for a single `g : G`.
* Uses the above to prove `isManifold_quotient_of_contMDiffSMul`.
This started as an ItaLean2025 project; here is the [Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/541885-ItaLean-2025/topic/Projects.3A.20Quotient.20Manifolds/with/575121158) dedicated to it.
Co-authored by: Enrique Díaz Blanco <qdiazblanco@gmail.com>
Co-authored by: Archie Browne <ajb421@ic.ac.uk>
--------
- [x] depends on: #41832
- [x] depends on: #41835
- [x] depends on: #42436
- [x] depends on: #42502
- [x] depends on: #41534
- [x] depends on: #43717
**Questions for reviewers**:
1. Should the acting group be `Γ` rather than `G`? Here `G` has no topology, and in other files `Γ` is used in this case.
2. Should `localInverseAt` be a `def` instead of an `abbrev`? It is an `abbrev` because there is already API for `IsLocalHomeomorph.localInverseAt` that I need.
3. Is changing the `ChartedSpace` instance to `Quotient.out` the right decision?
4. Should I write a definition for `(chartAt H x.out).symm ≫ₕ (g • ·) ≫ₕ chartAt H y.out` , similar to `transitionMap`?
|
new-contributor
large-import
t-differential-geometry
maintainer-merge
|
131/6 |
Mathlib/Geometry/Manifold/Instances/Quotient.lean |
1 |
87 |
['Deicyde', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'pepamontero', 'scholzhannah'] |
grunweg assignee:grunweg |
7-6401 7 days ago |
8-15723 8 days ago |
58-54914 58 days |
1 |
| 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 |
6-64861 6 days ago |
99-71946 99 days ago |
103-68493 103 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 |
6-63950 6 days ago |
65-25320 65 days ago |
65-24997 65 days |
0 |
| 42802 |
Zeta-Wu author:Zeta-Wu |
feat(CategoryTheory): relate equivalences and skeletons |
This PR supersedes the previously closed PR #42789.
It adds several related characterizations of equivalences of categories, together with an API showing that an equivalence induces an isomorphism between the corresponding skeletons.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
|
66/8 |
Mathlib/CategoryTheory/EssentiallySmall.lean,Mathlib/CategoryTheory/Skeletal.lean |
2 |
36 |
['Zeta-Wu', 'github-actions', 'joelriou', 'robin-carlier'] |
joelriou assignee:joelriou |
6-52246 6 days ago |
6-52310 6 days ago |
57-81704 57 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 |
6-40992 6 days ago |
6-41043 6 days ago |
66-77056 66 days |
0 |
| 44798 |
3y3y3y-huaiji author:3y3y3y-huaiji |
style(Order/Heyting): rename inf_himp to inf_himp_self |
Rename `inf_himp` to `inf_himp_self` to align with its dual `sup_sdiff_self` and companion lemma `himp_inf_self`, resolving an in-code TODO. Add a deprecated alias `inf_himp`.
---
> [!NOTE]
> **LLM Disclosure / AI Use**: This PR was prepared with the assistance of an LLM (`LLM-generated`). All proofs and statements have been formally verified by Lean 4 and checked with linters.
|
t-order
LLM-generated
new-contributor
|
5/4 |
Mathlib/Order/Heyting/Basic.lean |
1 |
3 |
['3y3y3y-huaiji', 'github-actions', 'plp127', 'vihdzp'] |
nobody |
6-37836 6 days ago |
7-23493 7 days ago |
7-84693 7 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
|
19/4 |
Mathlib/Order/BooleanAlgebra/Set.lean |
1 |
4 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
6-33614 6 days ago |
6-33671 6 days ago |
41-83455 41 days |
0 |
| 44831 |
scottdhughes author:scottdhughes |
feat(Analysis/MeanInequalitiesPow): add a real power difference bound |
Add `Real.abs_rpow_sub_rpow_le` in `Mathlib/Analysis/MeanInequalitiesPow.lean`: for nonnegative real bases and `0 ≤ p ≤ 1`,
```lean
|a ^ p - b ^ p| ≤ |a - b| ^ p
```
Provide a direct scalar API for downstream fractional-power regularity estimates. Derive the bound from the neighboring `Real.rpow_add_le_add_rpow`, then handle the two input orders. Include both exponent endpoints. Add one lemma and its docstring, with no new imports.
---
Local validation on Lean/Mathlib 4.35.0:
- `lake build Mathlib.Analysis.MeanInequalitiesPow`
- `lake exe lint-style Mathlib.Analysis.MeanInequalitiesPow`
- Fresh source elaboration, exported-type and axiom checks, plus all 15 default declaration linters for the new lemma.
The axiom check reports only `propext`, `Classical.choice` and `Quot.sound`.
AI assistance: Codex adapted an existing downstream proof, searched Mathlib and relevant open PRs, drafted this description, and ran the local checks.
|
t-analysis
new-contributor
LLM-generated
|
19/0 |
Mathlib/Analysis/MeanInequalitiesPow.lean |
1 |
3 |
['copilot-pull-request-reviewer', 'github-actions', 'scottdhughes'] |
nobody |
6-3074 6 days ago |
7-6238 7 days ago |
7-5915 7 days |
0 |
| 44730 |
mycaule author:mycaule |
feat(Analysis/Real/OfDigits): rationals have eventually periodic digits |
Characterise rational numbers by their positional expansion, using the existing `Real.digits` / `Real.ofDigits` API:
* `Real.digits_ratCast_eventually_periodic`: for `q : ℚ` with `0 ≤ q`, there are `N` and `p > 0` with `digits q b (n + p) = digits q b n` for all `n ≥ N`.
* `Real.exists_ratCast_eq_ofDigits_of_eventually_periodic`: if `1 < b` and a digit sequence `a : ℕ → Fin b` is eventually periodic, then `ofDigits a` is rational.
* `Real.exists_ratCast_eq_iff_digits_eventually_periodic`: for `x ∈ [0, 1)` and `1 < b`, `x` is rational iff its digits are eventually periodic.
Proof sketch. For `x = r / s`, the `n`-th digit equals `(r * b ^ n % s) * b / s`, so it only depends on the remainder `r * b ^ n % s`; these remainders live in `Fin s`, hence repeat by pigeonhole, and from then on the sequence is periodic. Conversely, splitting `ofDigits` after `N` digits (`ofDigits_eq_sum_add_ofDigits`), the purely periodic tail `y` satisfies `y = S + b⁻ᵖ y` with `S` a finite rational sum, so `y = S / (1 - b⁻ᵖ)`.
"Eventually periodic" is spelled out as `∃ N p, 0 < p ∧ ∀ n ≥ N, …`; I'm happy to switch to an existing predicate if reviewers prefer one. Adds a (private) import of `Mathlib.Algebra.Order.Floor.Semifield` for `Nat.floor_div_eq_div`.
AI disclosure: the statements and proofs were drafted with Claude (Claude Code) and checked by compiling against Mathlib; I have reviewed them.
---
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
new-contributor
t-analysis
LLM-generated
|
101/0 |
Mathlib/Analysis/Real/OfDigits.lean,Mathlib/Data/Nat/Init.lean |
2 |
18 |
['github-actions', 'mycaule', 'themathqueen', 'vihdzp'] |
nobody |
6-1248 6 days ago |
6-1248 6 days ago |
8-51920 8 days |
0 |
| 42693 |
justin-palumbo author:justin-palumbo |
feat(Topology/MetricSpace): a Gδ subset of a Polish space is Polish |
Adds `IsGδ.polishSpace`: a Gδ subset of a Polish space is Polish, which strengthens the existing IsOpen.polishSpace.
The proof follows the outline in Anush Tserunyan's descriptive set theory notes, https://www.math.mcgill.ca/atserunyan/Teaching_notes/dst_lectures.pdf where it is attributed to A. Bernshteyn. The "usual" approach (as in Kechris's Classical Descriptive Set Theory) constructs a complete compatible metric (the "Alexandrov metric"). The approach taken here is snappier to formalize - the idea is to give a closed embeddding from the G\delta set into another Polish space, and appeal to the fact closed subsets of Polish spaces are Polish. [Note the Alexandrov metric is recoverable from the embedding via the induced complete metrics on the product topology.]
---
Question: `IsOpen.polishSpace` could now be proven directly from`isGδ.polishSpace`, and `CompleteCopy` completely retired. That feels cleaner to me, given `CompleteCopy` has had no users since it was ported along with everything else in 2023: #3357. The main argument for keeping is that leveraging `CompleteCopy` is slightly more explicit in proving that open subsets are Polish. Happy to remove in a follow-up, in this PR, or not at all :)
(Update: For now, marking as deprecated based on suggestion from @j-loreaux )
LLM usage disclaimer: I wrote an original local version of this PR myself, and then used Claude Opus to double-check / simplify / help me pull out names of relevant theorems from mathlib. The primary non-trivial contribution from LLM was idea of leveraging isClosed_eq (ie proving closure of range by framing the range of the embedding as a countable intersection of pairs satisfying closed equations). I take full responsibility for the code here |
new-contributor
t-topology
|
94/14 |
Mathlib/Topology/MetricSpace/Polish.lean |
1 |
21 |
['felixpernegger', 'github-actions', 'j-loreaux', 'justin-palumbo'] |
j-loreaux assignee:j-loreaux |
5-85698 5 days ago |
5-85716 5 days ago |
67-13920 67 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 |
5-70509 5 days ago |
5-70612 5 days ago |
13-69523 13 days |
0 |
| 43040 |
Qinghev author:Qinghev |
feat(Analysis/Convex): add center mass residual identity |
This adds `Finset.sum_smul_sub_centerMass_eq_zero`, stating that the weighted sum of displacements from a finite center of mass is zero whenever the total weight is nonzero.
---
Codex assisted with drafting and verification. |
t-analysis
new-contributor
|
5/0 |
Mathlib/Analysis/Convex/Combination.lean |
1 |
2 |
['github-actions'] |
ADedecker assignee:ADedecker |
5-64859 5 days ago |
59-39889 59 days ago |
59-39566 59 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 |
5-63954 5 days ago |
22-24180 22 days ago |
60-49574 60 days |
0 |
| 43281 |
keyframe41 author:keyframe41 |
feat(NumberTheory/DiophantineApproximation): prove Hurwitz's approximation theorem |
Prove **Hurwitz's approximation theorem**: for irrational `ξ`, the set of rationals `q` with `|ξ - q| < 1 / (√5 * q.den ^ 2)` is infinite.
This strengthens `Real.infinite_rat_abs_sub_lt_one_div_den_sq_of_irrational` from`Mathlib/NumberTheory/DiophantineApproximation/Basic.lean`, which gives the same statement with constant `1` instead of `√5`. The constant `√5` is optimal, though the sharpness (using the golden ratio) is not included here.
The proof avoids continued fractions and opts for Farey brackets (quadruples `p/q < ξ < r/s` with `q * r - p * s = 1`) packaged as `Real.Hurwitz.IsFarey`. It uses the fact that at least one of `p/q`, `r/s`, and the mediant `(p + r)/(q + s)` satisfies the bound, as if not, we can contradict the irrationality of `√5`. By creating brackets of arbitrarily small width, infinitude follows by the same argument as in `Basic.lean`.
Some design choices:
* No `GenContFract` to avoid continued fractions/recursive sequences. This also follows the spirit of `Basic.lean`, which defines its own `Real.convergent` rather than building Legendre's theorem on `GenContFract.convs`.
* `Real.Hurwitz` namespace. Mirrors `Real.ContfracLegendre` in `Basic.lean` by putting the main result in `Real` and the technical material in a secondary namespace.
* `IsGoodApprox` is stated without division ** as `|y * ξ - x| * y * √5 < 1` for easier manipulation and linked to the quotient form in the actual theorem using `Real.Hurwitz.isGoodApprox_div_bound`.
---
I used Claude which suggested the overall strategy/lemmas and reviewed naming and documentation against the mathlib conventions. All proofs are my own. As a first-time contributor, AI was also used to help in learning 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-number-theory
new-contributor
|
359/0 |
Mathlib.lean,Mathlib/NumberTheory/DiophantineApproximation/Hurwitz.lean |
2 |
11 |
['SnirBroshi', 'github-actions'] |
nobody |
5-63951 5 days ago |
23-15666 23 days ago |
49-39306 49 days |
0 |
| 44885 |
3y3y3y-huaiji author:3y3y3y-huaiji |
feat(Combinatorics/Quiver/Path): monotonicity of valuations and cycle obstruction |
Define monotonicity of vertex valuations along paths in a quiver and deduce that
strict valuations rule out non-trivial cycles. As a consequence, `Reachable` is a
partial order when such a valuation exists.
---
> [!NOTE]
> **LLM Disclosure / AI Use**: This PR was prepared with the assistance of an LLM
> (`LLM-generated`). All proofs and statements have been formally verified by Lean 4
> and checked with linters. |
t-combinatorics
LLM-generated
new-contributor
|
64/1 |
Mathlib/Combinatorics/Quiver/Path.lean |
1 |
3 |
['3y3y3y-huaiji', 'github-actions'] |
nobody |
5-47307 5 days ago |
5-47307 5 days ago |
5-46984 5 days |
0 |
| 44634 |
3y3y3y-huaiji author:3y3y3y-huaiji |
refactor(RingTheory/Ideal): deprecate Ideal.mul_eq_inf_of_coprime |
Deprecate `Ideal.mul_eq_inf_of_coprime` in favor of `Ideal.mul_eq_inf_of_isCoprime`, resolving the TODO in `Mathlib/RingTheory/Ideal/Operations.lean`.
---
> [!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-ring-theory
LLM-generated
new-contributor
|
10/8 |
Mathlib/RingTheory/Ideal/Operations.lean |
1 |
4 |
['3y3y3y-huaiji', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
5-30709 5 days ago |
5-30807 5 days ago |
11-42705 11 days |
0 |
| 44810 |
zixiaowang17 author:zixiaowang17 |
feat(Combinatorics): add abstract graphical Markov properties |
Introduce the global, local, and pairwise Markov properties for undirected graphs, and prove
the forward implications global → local → pairwise under the semigraphoid axioms.
The implementation is a single module importing `Mathlib.Combinatorics.SimpleGraph.Walk.Basic`.
The current framework allows arbitrary vertex types, including infinite and uncountable types.
Reference: David Montague and Bala Rajaratnam, *Graphical Markov models for infinitely many
variables*, *Transactions of the American Mathematical Society* **370** (2018), no. 11,
7557–7603. [doi:10.1090/tran/7048](https://doi.org/10.1090/tran/7048).
---
I want to introduce “a graphical framework in which we can analyze the Markov properties
from a purely set theoretic perspective which is independent of probability theory,” as
described in [Section 4](https://arxiv.org/pdf/1501.07878#page=8).
Motivation: I was trying to provide a common foundation connecting graphical models in
statistics, random fields, and percolation on lattices. Along the way, I found that most of
the materials I read assumed finite vertex sets. However, I want to understand better what
drives the equivalence of the Markov properties, so that we can talk about theorems with
more flexibility. I then found this paper, which, in Section 4, takes a purely set-theoretic approach
to independence and graphical Markov properties, separately from its treatment of
measure-theoretic conditional independence in probabilistic models.
If this PR meets the requirements and is in the right direction, I plan to finish proving
the equivalence of the pairwise, local, and global Markov properties for ternary relations
under suitable intersection assumptions. In the long term, I plan to connect conditional
independence in probability with graphical models, including DAGs.
AI assistance: OpenAI Codex assisted with the Lean definitions and proofs. I checked every
line of the code. |
t-combinatorics
LLM-generated
new-contributor
|
138/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Markov.lean,docs/references.bib |
3 |
4 |
['github-actions', 'zixiaowang17'] |
nobody |
5-19347 5 days ago |
5-77542 5 days ago |
7-66528 7 days |
0 |
| 44906 |
yudukikun5120 author:yudukikun5120 |
feat(Archive): formalize negation in vector logic |
This adds a formalization of negation in Mizraji's two-valued vector logic to `Archive/VectorLogic.lean`, using mathlib's matrix and real-number APIs.
For two orthonormal real vectors `s` and `n` in an arbitrary finite-dimensional coordinate space, define `N = nsᵀ + snᵀ` and the logical identity `I₂ = ssᵀ + nnᵀ`. Prove that negation exchanges the truth vectors, exchanges the coefficients of their linear combinations, and satisfies `N * N = I₂`. Double negation fixes every linear combination of the truth vectors. The formalization also shows that negation annihilates vectors orthogonal to both, so it does not assert that `N²` is the ambient identity in higher dimension.
The definitions follow Eduardo Mizraji's *Vector logics: The matrix-vector representation of logical calculus* (1992), as reproduced in §4.2, equations (15)–(16), of his 2016 paper: https://doi.org/10.1387/theoria.13959.
---
This is a draft for feedback on whether this paper-specific formalization is suitable for `Archive`; its placement has not been agreed with maintainers.
Validation on macOS arm64 with Lean 4.35.0:
- `lake build Archive.VectorLogic`
- `lake exe lint-style Archive.VectorLogic`
- `lake exe mk_all --lib Archive --check`
- Separate local checks with a three-dimensional truth pair, including a counterexample to the ambient identity assertion.
AI disclosure: OpenAI Codex generated the implementation, proofs, and this PR description, and ran the local validation. The changes are marked as LLM-generated. This description does not claim completion of independent human review.
|
LLM-generated
new-contributor
|
102/0 |
Archive.lean,Archive/VectorLogic.lean |
2 |
3 |
['github-actions', 'yudukikun5120'] |
nobody |
5-14698 5 days ago |
5-14707 5 days ago |
5-14384 5 days |
0 |
| 44878 |
scottdhughes author:scottdhughes |
feat(NumberTheory/Divisors): add a divisor-count doubling bound |
Adds `Nat.two_mul_card_divisors_le_card_divisors_mul_of_not_dvd`:
```lean
theorem Nat.two_mul_card_divisors_le_card_divisors_mul_of_not_dvd {a b : ℕ}
(hb : b ≠ 0) (hnot : ¬ b ∣ a) :
2 * a.divisors.card ≤ (a * b).divisors.card
```
The proof places the divisors of `a` and their images under multiplication by `b` inside the divisors of `a * b`. These sets are disjoint because `b ∤ a`, and multiplication by nonzero `b` preserves cardinality. The hypothesis `a ≠ 0` follows from nondivisibility; no coprimality hypothesis is needed.
Motivated by work on Erdős problem 647. The addition uses the existing finite-divisor API in `Mathlib/NumberTheory/Divisors.lean` and introduces no imports.
### Validation
- Fresh affected-module build with warnings treated as failures; style and default declaration linters passed.
- Checked the exported type, the original three-premise consumer interface, and boundary examples, including the sharp noncoprime case `(a, b) = (2, 4)`. The theorem uses only `propext`, `Classical.choice` and `Quot.sound`.
- Aggregate-import and diff checks passed. Whole-library builds and full hosted CI have not been run locally.
### AI disclosure
OpenAI Codex generated the standalone Lean proof from an existing lemma in our Erdős problem 647 development and assisted with API and overlapping-PR searches, integration, and local validation. Codex also drafted this description and performed an additional source review; that review did not include separate compilation. This contribution contains LLM-generated code.
|
t-number-theory
new-contributor
LLM-generated
|
28/0 |
Mathlib/NumberTheory/Divisors.lean |
1 |
2 |
['copilot-pull-request-reviewer', 'github-actions'] |
nobody |
5-7343 5 days ago |
5-7456 5 days ago |
5-7133 5 days |
0 |
| 44723 |
mycaule author:mycaule |
feat(CategoryTheory/Adjunction/Idempotent): fixed points and idempotent adjunctions |
New file `Mathlib/CategoryTheory/Adjunction/Idempotent.lean`. For `adj : L ⊣ R` with unit `η` and counit `ε`:
`Adjunction.idempotent_tfae`: the four conditions `ηR`, `Rε`, `εL`, `Lη` invertible are equivalent
`Adjunction.map_map_unit_app_of_idempotent`, `Adjunction.map_map_counit_app_of_idempotent`: `RLη_X = η_{RLX}` and `LRε_Y = ε_{LRY}` in the idempotent case
`Adjunction.fixedLeft`, `Adjunction.fixedRight`: the objects at which `η`, resp. `ε`, is an isomorphism (closed under isomorphisms; `fixedLeft_iff_exists`, `fixedRight_iff_exists`)
`Adjunction.fixedEquiv`: for any adjunction, `L` and `R` restrict to an equivalence `adj.fixedLeft.FullSubcategory ≌ adj.fixedRight.FullSubcategory`
`Adjunction.fixedLeftAdjunction`, `Adjunction.fixedLeftReflective`: if the adjunction is idempotent, `fixedLeft` is reflective in `C` with reflector `L ⋙ R`
`Adjunction.fixedRightAdjunction`, `Adjunction.fixedRightCoreflective`: dually, `fixedRight` is coreflective in `D` with coreflector `R ⋙ L`
`map_map_unit_app_of_idempotent` is the generalization asked for by the TODO above `unit_obj_eq_map_unit` in `Adjunction/Reflective.lean` (from reflective to idempotent adjunctions).
Then `PreservesColimits` of the reflector, `HasColimits` of the fixed part (`hasColimits_of_reflective`) and the localization property (`Adjunction.isLocalization`) follow from existing mathlib lemmas.
Questions for reviewers: names (`fixedLeft`/`fixedRight`, or e.g. `unitIsIso`/`counitIsIso`); whether to add a class `Adjunction.IsIdempotent` (one of the four conditions) with instances for reflective and coreflective adjunctions, in this PR or a follow-up; and whether to add `IsIso adj.toMonad.μ ↔ idempotent` next to `μ_iso_of_reflective`.
AI disclosure: the Lean proof was written by an AI model (Claude, Anthropic) under my direction. I have read and checked it and will handle the review. It builds against current master.
|
t-category-theory
new-contributor
LLM-generated
|
257/0 |
Mathlib.lean,Mathlib/CategoryTheory/Adjunction/Idempotent.lean |
2 |
2 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
4-83306 4 days ago |
4-83531 4 days ago |
9-30236 9 days |
0 |
| 42912 |
justin-palumbo author:justin-palumbo |
feat(Topology/GDelta): a completely metrizable subspace of a T6 space is Gδ |
Adds TopologicalSpace.IsCompletelyMetrizableSpace.isGδ: a completely metrizable subspace of a T6 space is Gδ
This is one direction of a foundational fact in descriptive set theory --- the Polish subspaces of a Polish space are exactly the Gδ subsets.
The proof here is modeled on the exposition in Anush Tserunyan's descriptive set theory notes https://www.math.mcgill.ca/atserunyan/Teaching_notes/dst_lectures.pdf, with one adjustment; to make the formalization easier and avoid having multiple distance metrics instantiated at the same time, instead of directly defining open `U_n` with `s = ⋂ n, U` define them such that `s = closure s ∩ ⋂ n, U n` and then appeal to the fact closed sets are Gδ in a perfectly normal space.
---
- [x] depends on: #42896 [which fixes buggy naming present in Topology/Metrizable/CompletelyMetrizable]
This can be viewed as a companion to #42693, which - under the stronger assumption of the ambient space being Polish - establishes the other direction --- a Gδ subspace of a Polish space is itself Polish.
Together, these give Alexandrov's theorem, characterizing the Polish subspaces of an ambient Polish space as exactly the Gδ ones, and (via `Metric.PiNatEmbed.exists_embedding_to_hilbert_cube`) Polish spaces as exactly the Gδ subsets of the Hilbert cube. If and when both these PRs are committed, I anticipate adding these consequences to Topology/MetricSpace/Polish.lean
LLM usage: I wrote the initial version myself, while using Google's free "AI mode" to help me find relevant lemma names in the codebase, and afterward used helped Claude Opus to review, which led to simplifying some of the arguments. I take full responsibility for the code here
|
t-topology
new-contributor
|
91/0 |
Mathlib.lean,Mathlib/Topology/GDelta/CompletelyMetrizable.lean |
2 |
8 |
['github-actions', 'justin-palumbo', 'mathlib-dependent-issues', 'plp127'] |
nobody |
4-63958 4 days ago |
61-27870 61 days ago |
62-19884 62 days |
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 |
4-63954 4 days ago |
93-25461 93 days ago |
93-30914 93 days |
1 |
| 42380 |
matt-w-horn author:matt-w-horn |
feat(Algebra/Ring): add sum_range_mul_geometric_add |
Over a `CommRing`: `∑ k < m, k * (x ^ k * (1 - x)) + m * x ^ m = ∑ k ∈ Icc 1 m, x ^ k`. Summation by parts for the geometric sum; it computes the mean of a censored geometric distribution, which #42381 adds.
Used in Overload, a library on retry and overload dynamics, where it's stated over `ℝ` with a side condition that turns out to be unnecessary: https://github.com/matt-w-horn/overload/blob/4ecbebf/Overload/Retry/Amplification.lean
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-algebra
new-contributor
LLM-generated
label:t-algebra$ |
11/0 |
Mathlib/Algebra/Ring/GeomSum.lean |
1 |
7 |
['github-actions', 'matt-w-horn', 'themathqueen'] |
nobody |
4-60667 4 days ago |
4-60719 4 days ago |
68-42782 68 days |
0 |
| 42355 |
sankalpsthakur author:sankalpsthakur |
fix(NormNum): error if remaining at locations are unused |
`norm_num at h1 h2 ...` (and other tactics built on `Lean.Elab.Tactic.withNondepPropLocation`) unconditionally processed every hypothesis in the location list, then the target. If an earlier hypothesis closed the goal (e.g. `norm_num` found `h1` to already be `False`), processing continued against an already-closed goal instead of stopping.
Unused `at` locations now error if an earlier location closed the goal.
Closes #28703.
---------
Note. `withNondepPropLocation` currently has no other callers in the Mathlib tree besides its own definition file.
AI coding tools were used to help draft this change and PR description. I reviewed the complete change, understand the reasoning, and verified the build locally before submitting. |
new-contributor
LLM-generated
t-meta
maintainer-merge
|
32/2 |
Mathlib/Util/AtLocation.lean,MathlibTest/Tactic/NormNum/Basic.lean |
2 |
25 |
['github-actions', 'grunweg', 'joneugster', 'mathlib-merge-conflicts', 'sankalpsthakur', 'thorimur'] |
joneugster assignee:joneugster |
4-38140 4 days ago |
38-40070 38 days ago |
58-46097 58 days |
0 |
| 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 |
4-37286 4 days ago |
4-37539 4 days ago |
78-60837 78 days |
0 |
| 38369 |
quantumsnow author:quantumsnow |
feat(AlgebraicTopology): Eilenberg Steenrod axioms |
This introduces the Eilenberg-Steenrod axioms for a homology theory.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #36621
- [x] depends on: #39236
- [x] depends on: #44044
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebraic-topology
large-import
increases-technical-debt
|
258/18 |
Mathlib/AlgebraicTopology/EilenbergSteenrod.lean,Mathlib/Topology/Category/TopPair.lean |
2 |
115 |
['Multramate', 'chrisflav', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'quantumsnow'] |
robin-carlier assignee:robin-carlier |
4-27489 4 days ago |
4-27489 4 days ago |
80-6600 80 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 |
4-24992 4 days ago |
4-23707 4 days ago |
4-23384 4 days |
0 |
| 44934 |
CollinYuanjieRen author:CollinYuanjieRen |
fix(linter): ignore declaration names in flexible linter |
Skip the declaration name when collecting stained locations from `letIdDecl`. This prevents `simp at h; let h := 3` (and the corresponding `have`) from being reported as a use of the old `h`, while preserving warnings for references in the declaration type or right-hand side.
Addresses the third example in #32257. Includes six regression cases.
---
Validation: `MathlibTest/Linter/Flexible/Basic.lean` passes on Lean 4.35.0. With the original implementation, the two new shadowing cases fail; the four true-reference controls pass.
AI assistance: Codex assisted with the fix and regression tests.
|
t-linter
LLM-generated
new-contributor
|
74/0 |
Mathlib/Tactic/Linter/FlexibleLinter.lean,MathlibTest/Linter/Flexible/Basic.lean |
2 |
3 |
['CollinYuanjieRen', 'github-actions'] |
nobody |
4-23605 4 days ago |
4-23665 4 days ago |
4-23342 4 days |
0 |
| 44721 |
mycaule author:mycaule |
feat(Geometry/Euclidean/Projection): distance to a hyperplane via its normal vector |
Add the closed formula for the distance from a point to an affine hyperplane given by a normal vector, stated in the Euclidean-geometry normal form (distance to the orthogonal projection):
```lean
theorem EuclideanGeometry.dist_orthogonalProjection_eq_abs_inner_div_norm
(s : AffineSubspace ℝ P) [Nonempty s] [s.direction.HasOrthogonalProjection]
{n : V} (hn : s.directionᗮ = ℝ ∙ n) {q : P} (hq : q ∈ s) (p : P) :
dist p (orthogonalProjection s p) = |⟪n, p -ᵥ q⟫| / ‖n‖
```
Proof: `p -ᵥ orthogonalProjection s p = t • n` since it lies in `s.directionᗮ = ℝ ∙ n`, and `⟪n, p -ᵥ q⟫ = ⟪n, t • n⟫` because `orthogonalProjection s p -ᵥ q ∈ s.direction` is orthogonal to `n`. No hypothesis `n ≠ 0` is needed. The `Metric.infDist` form follows from `dist_orthogonalProjection_eq_infDist`.
As a corollary, without any new definition (the plane through `q` with normal vector `n` is `AffineSubspace.mk' q (ℝ ∙ n)ᗮ`):
```lean
theorem EuclideanGeometry.dist_orthogonalProjection_mk'_eq_abs_inner_div_norm (q : P) (n : V) (p : P) :
dist p (orthogonalProjection (AffineSubspace.mk' q (ℝ ∙ n)ᗮ) p) = |⟪n, p -ᵥ q⟫| / ‖n‖
```
together with an instance `(AffineSubspace.mk' q K).direction.HasOrthogonalProjection` for `K.HasOrthogonalProjection` (as for `perpBisector`). This adds a (non-public) import of `Mathlib.Analysis.InnerProductSpace.Projection.Submodule` for `Submodule.orthogonal_orthogonal`.
Context: this is the distance from a point to a plane `ax + by + cz + d = 0` as taught in the French high-school curriculum, `|ax₀ + by₀ + cz₀ + d| / √(a² + b² + c²)`.
AI disclosure: the statement and proof were drafted with Claude (Claude Code) and checked by compiling against Mathlib; I have reviewed them.
---
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
t-euclidean-geometry
new-contributor
LLM-generated
|
37/2 |
Mathlib/Geometry/Euclidean/Projection.lean |
1 |
18 |
['github-actions', 'jsm28', 'mycaule', 'vihdzp', 'wwylele'] |
jsm28 assignee:jsm28 |
4-22050 4 days ago |
4-22144 4 days ago |
9-58321 9 days |
0 |
| 44726 |
mycaule author:mycaule |
feat(CategoryTheory/Idempotents/FunctorExtension): additive functors on the Karoubi envelope |
Add to `Mathlib/CategoryTheory/Idempotents/FunctorExtension.lean`:
`Karoubi.hom_eq_decompId_i_comp`: every morphism of `Karoubi C` is `P.decompId_i ≫ (toKaroubi C).map f.f ≫ Q.decompId_p`
`additive_of_toKaroubi_comp`, `additive_iff_toKaroubi_comp`: for `C`, `D` preadditive, `F : Karoubi C ⥤ D` is additive iff `toKaroubi C ⋙ F` is
`whiskeringLeftToKaroubiAdditive C D : (Karoubi C ⥤+ D) ⥤ (C ⥤+ D)`, fully faithful (`whiskeringLeftToKaroubiAdditiveFullyFaithful`), and an equivalence when `D` is idempotent complete
`karoubiUniversalAdditive C D : C ⥤+ D ≌ Karoubi C ⥤+ D`
This is the additive form of the universal property of the idempotent completion. Applied to `Cᵒᵖ`, it says that additive presheaves on `C` and on `Karoubi C` agree (Morita invariance), with values in any idempotent-complete preadditive category, e.g. `ModuleCat R`.
Mathlib has `karoubiUniversal C D : (C ⥤ D) ≌ (Karoubi C ⥤ D)` for idempotent-complete `D`, but not its restriction to additive functors.
Questions for reviewers: names (`whiskeringLeftToKaroubiAdditive`, `karoubiUniversalAdditive`); whether to also add `Karoubi.opEquivalence : Karoubi Cᵒᵖ ≌ (Karoubi C)ᵒᵖ` (compatible with `toKaroubi` on the nose) here or in a separate PR.
AI disclosure: the Lean proof was written by an AI model (Claude, Anthropic) under my direction. I have read and checked it and will handle the review. It builds against current master.
|
new-contributor
t-category-theory
LLM-generated
|
67/0 |
Mathlib/CategoryTheory/Idempotents/FunctorExtension.lean |
1 |
2 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
4-21957 4 days ago |
4-22060 4 days ago |
9-29394 9 days |
0 |
| 44941 |
CollinYuanjieRen author:CollinYuanjieRen |
feat(Data/Finset/Sort): add filtering and greatest insertion lemmas |
Prove that filtering commutes with `Finset.sort`, and that inserting a new greatest element appends it to the sorted list. Both lemmas work for general total, transitive, antisymmetric relations.
Continues the sorting portion of #9605 by @davikrehalt.
Codex (GPT-6 Astra) assisted with the Lean proofs.
|
t-data
LLM-generated
new-contributor
|
13/0 |
Mathlib/Data/Finset/Sort.lean |
1 |
3 |
['CollinYuanjieRen', 'github-actions'] |
nobody |
4-20293 4 days ago |
4-20355 4 days ago |
4-20032 4 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 |
4-9131 4 days ago |
4-9196 4 days ago |
5-24993 5 days |
0 |
| 43758 |
joelcanary author:joelcanary |
feat(NumberTheory/ArithmeticFunction): the Redheffer determinant equals the Mertens function |
This PR adds the zeta (divisibility) matrix, the Redheffer matrix and the Mertens function, and proves **Redheffer's theorem** (1977): the determinant of the `(n+1) × (n+1)` Redheffer matrix equals the Mertens function `M(n+1) = ∑_{k ≤ n+1} μ(k)`.
In `Mathlib/NumberTheory/ArithmeticFunction/Moebius.lean`:
- `ArithmeticFunction.sum_divisors_moebius (k) : ∑ d ∈ k.divisors, μ d = if k = 1 then 1 else 0`, the pointwise form of `moebius_mul_coe_zeta`.
New file `Mathlib/NumberTheory/ArithmeticFunction/Redheffer.lean`:
- `ArithmeticFunction.mertens : ArithmeticFunction ℤ`, the summatory function of `μ`, with `mertens_apply : mertens n = ∑ k ∈ Icc 1 n, μ k`, `mertens_one`, `mertens_add_one` and `mertens_eq_sum_fin` (the `0`-based form `∑ i : Fin n, μ (i + 1)` used on the matrix side);
- `Matrix.zetaMatrix R n : Matrix (Fin n) (Fin n) R` for any `R` with `0` and `1` (entry `1` iff `i + 1 ∣ j + 1`), with `zetaMatrix_apply` (simp), `zetaMatrix_isUpperTriangular` and, for `CommRing R`, `det_zetaMatrix : det = 1` and `det_zetaMatrix_updateCol : det (updateCol 0 u) = ∑ j, μ (j + 1) * u j` (the first row of the inverse is `(μ 1, …, μ n)`);
- `Matrix.redheffer R n` (the zeta matrix with its first column set to ones), with `redheffer_apply` (simp) and `redheffer_eq_updateCol`;
- `Matrix.det_redheffer (n) : (redheffer R (n + 1)).det = mertens (n + 1)` for any `CommRing R` (with `mertens` cast into `R`).
The remaining declarations (the row vector `(μ 1, …, μ n)`, the reindexing of a `Fin n`-sum over divisibility as a sum over `m.divisors`, and three intermediate steps) are `private`: they are proof scaffolding, not API.
Proof sketch: by linearity of `det` in the first column, `det (redheffer R (n+1)) = det (zetaMatrix R (n+1)) + det (zetaMatrix with first column (0,1,…,1))`. The first term is `1`; by Cramer's rule (`det_smul_inv_mulVec_eq_cramer`) the second is the first row of the inverse of the zeta matrix dotted with `(0,1,…,1)`, and that row is `(μ 1, …, μ (n+1))` because `μ * ζ = 1` (`moebius_mul_coe_zeta`, via `sum_divisors_moebius`). The remaining sum `μ 2 + ⋯ + μ (n+1)` is `mertens (n+1) - 1`.
The ring `R` is an explicit argument of `zetaMatrix` and `redheffer` since nothing else determines it. Neither the Mertens function nor the Redheffer matrix currently appear in Mathlib. The new file imports only `LinearAlgebra.Matrix.Block` and `NumberTheory.ArithmeticFunction.Moebius`. References added to `docs/references.bib`: `redheffer1977` (the theorem) and `odlyzko1985` (cited in the module docstring for the disproof of the Mertens conjecture).
AI use: the Lean code and this description were written with an AI agent (Claude) under my direction, from a proof in my own project; I reviewed every declaration, and the branch was checked locally with `lake build`, `lake exe lint-style` and `lake exe runLinter` before each push.
|
t-number-theory
new-contributor
LLM-generated
|
238/0 |
Mathlib.lean,Mathlib/NumberTheory/ArithmeticFunction/Moebius.lean,Mathlib/NumberTheory/ArithmeticFunction/Redheffer.lean,docs/references.bib |
4 |
15 |
['Parcly-Taxel', 'github-actions', 'joelcanary', 'wwylele'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
4-4551 4 days ago |
4-5564 4 days ago |
37-74112 37 days |
2 |
| 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 |
4-1383 4 days ago |
4-1444 4 days ago |
12-23782 12 days |
0 |
| 44829 |
pelicanhere author:pelicanhere |
refactor(Analysis/Normed): generalize scalar distance and diameter lemmas |
Generalize scalar distance and diameter lemmas to `NormedRing`, and drop the nonzero assumption from `infDist_smul₀`.
|
t-analysis
new-contributor
|
21/27 |
Mathlib/Analysis/Normed/Group/AddCircle.lean,Mathlib/Analysis/Normed/Module/Ball/Pointwise.lean |
2 |
5 |
['github-actions', 'leanprover-radar', 'pelicanhere', 'tb65536'] |
nobody |
4-1125 4 days ago |
4-1192 4 days ago |
7-7479 7 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 |
3-77461 3 days ago |
3-77699 3 days ago |
3-77376 3 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 |
3-64855 3 days ago |
88-62094 88 days ago |
88-61771 88 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 |
3-64853 3 days ago |
36-54945 36 days ago |
74-81383 74 days |
0 |
| 42142 |
philipp-svinger author:philipp-svinger |
feat(Analysis/ODE): peano existence theorem, Tonelli approximation 1 |
Add Tonelli approximation method for ODEs.
Implement the structure IsPeano similar to IsPicardLindelof. Construct a sequence of approximations using Tonelli technique.
First step towards Peano existence
Co-authored-by: Florian Grube <fgrube@math.uni-bielefeld.de>
Co-authored-by: Paul Niessner <pniessner@math.uni-bielefeld.de>
Co-authored-by: Julian Rolfes <jrolfes@math.uni-bielefeld.de>
Co-authored-by: Luke Schleef <lschleef@math.uni-bielefeld.de>
Co-authored-by: Philipp Svinger <psvinger@math.uni-bielefeld.de>
---
We want to add the proof of the Peano existence theorem for ODEs, using Tonelli approximations.
This will be a series of PRs working towards this goal. In this first PR, we
implement the structure IsPeano similar to IsPicardLindelof and construct a sequence of approximations using Tonelli technique. See our further PRs for more information, last: #42148
---
The statements, definitions and proofs were written without AI.
AI was used afterwards to help us to adapt our code to the style and naming conventions.
We also used it in the process of writing a documentation.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
|
207/0 |
Mathlib.lean,Mathlib/Analysis/ODE/Peano.lean |
2 |
24 |
['github-actions', 'mcdoll', 'philipp-svinger', 'sgouezel'] |
nobody |
3-63953 3 days ago |
24-83292 24 days ago |
81-44177 81 days |
5 |
| 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 |
3-49225 3 days ago |
3-49283 3 days ago |
117-24959 117 days |
0 |
| 40448 |
ChiCubed author:ChiCubed |
feat(LinearAlgebra/Dimension): tower law for algebraic extensions |
We generalise the tower law for `Module.rank` to the situation of a module over an algebraic extension of domains.
---
See [the Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Tower.20law.20for.20.60Module.2Erank.60/) for some associated discussion.
I am not sure about in which file these results should live, or what their names should be. For the file I have gone with `LinearAlgebra/Dimension/Algebraic.lean` for now, because these feel more like dimension theorems than `Algebra.IsAlgebraic` theorems, and IMO do not logically fit into the other existing files in `LinearAlgebra/Dimension`.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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$ |
297/11 |
Mathlib.lean,Mathlib/Algebra/Group/Action/Faithful.lean,Mathlib/LinearAlgebra/Dimension/Domain.lean,Mathlib/LinearAlgebra/Dimension/Free.lean,Mathlib/RingTheory/Algebraic/Integral.lean,Mathlib/RingTheory/Localization/FractionRing.lean |
6 |
63 |
['ChiCubed', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'tb65536', 'themathqueen'] |
kim-em assignee:kim-em |
3-36954 3 days ago |
3-46614 3 days ago |
126-78606 126 days |
0 |
| 44955 |
user202729 author:user202729 |
chore: change all occurrences of equational lemma to equation lemma |
Change all occurrences of "equational lemma" to "equation lemma". Also add a missing apostrophe.
---
As far as I can tell, both are grammatical: the "equation" in "equation lemma" is a noun adjunct, while "equational" is an adjective. It feels like noun adjunct is "more advanced English" though.
Before this pull request: ("equation lemma" is more popular than "equational lemma")
```
[mathlib4]$ rg 'equational lemma'|wc -l
10
[mathlib4]$ rg 'equation lemma'|wc -l
31
[mathlib4]$ rg 'equational theorem'|wc -l
6
[mathlib4]$ rg 'equation theorem'|wc -l
2
```
and in Lean: (same, but only slightly)
```
[lean4]$ rg 'equational lemma'|wc -l
16
[lean4]$ rg 'equation lemma'|wc -l
20
[lean4]$ rg 'equational theorem'|wc -l
85
[lean4]$ rg 'equation theorem'|wc -l
38
```
Not sure if it's worth unifying the theorem case (probably yes. But in this case, apparently "equational theorem" is more popular than "equation theorem".), and/or unify lemma and theorem (probably not, mathlib distinguishes lemmas and theorems).
|
new-contributor |
10/10 |
Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/MappingCone.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Sites/CoversTop/Basic.lean,Mathlib/CategoryTheory/Sites/Hypercover/One.lean,Mathlib/Data/Nat/Fib/Zeckendorf.lean,Mathlib/Tactic/Eqns.lean,Mathlib/Tactic/Translate/ToAdditive.lean,docs/Conv/Guide.lean |
9 |
3 |
['SnirBroshi', 'github-actions'] |
nobody |
3-33507 3 days ago |
3-37914 3 days ago |
3-37591 3 days |
0 |
| 44959 |
user202729 author:user202729 |
doc: add more examples to SimpRw documentation |
---
Previously, the documentation was hard to understand for me, since it does not explain _why_ neither `simp` nor `rw` solves the example. (Actually `simp` does solve it, as I pointed out in the edited comment. I think the actual advantage of `simp_rw` over `simp` is (some) predictability…?)
Not sure if "pass options to `simp only`" is an intended feature, though it works now. Feels odd. I don't think it would or should be used much, if this tactic is meant to be something `rw`-like. |
t-meta
new-contributor
|
52/2 |
Mathlib/Tactic/SimpRw.lean |
1 |
7 |
['SnirBroshi', 'github-actions', 'user202729'] |
nobody |
3-25278 3 days ago |
3-25333 3 days ago |
3-30480 3 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
|
33/15 |
Mathlib/Algebra/Group/End.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean |
2 |
11 |
['Formalistic03', 'github-actions', 'tb65536', 'wwylele'] |
nobody |
3-18865 3 days ago |
3-18865 3 days ago |
18-32925 18 days |
0 |
| 44769 |
mycaule author:mycaule |
feat: volume of solids of revolution and of cones |
A new file `Mathlib/MeasureTheory/Measure/Lebesgue/SolidOfRevolution.lean` with the disc method for volumes of solids of revolution, in `ℝ × EuclideanSpace ℝ (Fin 2)`, and the volume of cones:
* `MeasureTheory.Measure.prod_setOf_mem_closedBall`: Cavalieri's principle for regions whose slices are closed balls, for any product `μ.prod ν` (`ν` s-finite, `E` a pseudometric space with `OpensMeasurableSpace`):
`μ.prod ν {p | p.1 ∈ s ∧ p.2 ∈ closedBall c (r p.1)} = ∫⁻ x in s, ν (closedBall c (r x)) ∂μ`.
* `EuclideanSpace.volume_setOf_mem_norm_le`: `volume {p : ℝ × ℝ² | p.1 ∈ s ∧ ‖p.2‖ ≤ r p.1} = ∫⁻ x in s, ENNReal.ofReal (r x) ^ 2 * ENNReal.ofReal π` (no sign condition on `r` is needed).
* `EuclideanSpace.volume_solidOfRevolution`: if `f` is continuous and nonnegative on `[a, b]`, then the solid of revolution has volume `ENNReal.ofReal (π * ∫ x in a..b, f x ^ 2)`.
* `MeasureTheory.Measure.volume_prod_convexJoin_singleton_prod`: for `F` a finite-dimensional real normed space with an additive Haar measure `μ`, `B ⊆ F` measurable, any apex `a : ℝ × F` and any `c : ℝ`, the cone `convexJoin ℝ {a} ({c} ×ˢ B)` has measure `μ B * ENNReal.ofReal (|c - a.1| / (finrank ℝ F + 1))`. Proved by slicing the height-1 cone with apex `0` (`Measure.prod_apply`, `addHaar_smul`), then a translation and the linear map `(t, y) ↦ ((c - a.1) t, y)` (`measure_vadd`, `addHaar_image_linearMap`). The simplex formula `Affine.Simplex.euclideanHausdorffMeasure_closedInterior` is a cone over a face and could be derived from it in a follow-up.
* `EuclideanSpace.volume_cone`: the cone of radius `R` and height `H` has volume `π * R ^ 2 * H / 3`, now a corollary of the previous theorem (the cone is `convexJoin ℝ {0} ({H} ×ˢ closedBall 0 R)`).
The solid of revolution is proved with `Measure.prod_apply` (slices are balls) and `EuclideanSpace.volume_closedBall_fin_two`.
Happy to change the ambient space (e.g. `EuclideanSpace ℝ (Fin 3)` with rotation around a coordinate axis) or the file location if reviewers prefer.
AI disclosure: the statements and proofs were drafted with Claude (Claude Code) and checked by compiling against Mathlib; I have reviewed them.
---
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
t-measure-probability
LLM-generated
new-contributor
|
192/0 |
Mathlib.lean,Mathlib/MeasureTheory/Measure/Lebesgue/SolidOfRevolution.lean |
2 |
14 |
['github-actions', 'mycaule', 'vihdzp', 'wwylele'] |
nobody |
3-10271 3 days ago |
3-10379 3 days ago |
9-7400 9 days |
0 |
| 44853 |
dkaysin author:dkaysin |
feat(Geometry/Group): relate the word metric to the Cayley graph distance |
This PR constructs the Cayley graph (realized as a `SimpleGraph`) for a group `G` with respect to a generating family `P : Group.Generators G ι`, implements the link between walks in the Cayley graph and words, and establishes equivalence of the word metric and the distance on the Cayley graph.
---
Resolves TODO from [#43118](https://github.com/leanprover-community/mathlib4/pull/43118).
Implementation details:
* `SimpleGraph` was chosen vs `Quiver/Schreier` because it has a more comprehensive API at the moment. More context: [Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Relate.20the.20word.20metric.20to.20the.20distance.20in.20the.20Cayley.20graph/with/631376709).
* To accommodate possible future implementation for `Quiver/Schreier`, I've included "Simple" in the names of definitions and theorems (e.g., `cayleySimpleGraph`).
* Because simple graph has no loops, in several places we have to check that a letter/generator is not trivial.
Use of AI: I used Claude Opus 5.5 to help me with gathering context, designing API and implementation of several proofs.
* I used AI to brainstorm and compare API design ideas based on the context from previous Zulip threads and existing repo code.
* I used AI for suggesting parts of the proofs for `exists_walk_of_word` and `exists_word_of_walk` lemmas.
* I used AI for checking 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]
-->
|
t-geometric-group-theory
new-contributor
LLM-generated
|
225/16 |
Mathlib.lean,Mathlib/Geometry/Group/CayleySimpleGraph.lean,Mathlib/Geometry/Group/README.md,Mathlib/Geometry/Group/WordMetric.lean,Mathlib/Geometry/Group/WordProd.lean,Mathlib/GroupTheory/Generators.lean |
6 |
12 |
['dkaysin', 'github-actions', 'tb65536', 'vlad902'] |
nobody |
2-84370 2 days ago |
2-84582 2 days ago |
6-32686 6 days |
0 |
| 40266 |
WangJiabai author:WangJiabai |
feat(RingTheory/MvPolynomial): define generic determinantal ideals |
This PR adds a foundational API for determinantal ideals of the generic matrix.
It defines `Matrix.MinorIndex`, the corresponding minors of the existing generic
matrix `Matrix.mvPolynomialX`, the finite set of all `t × t` generic minors, and
the ideal generated by these minors in `MvPolynomial (Fin m × Fin n) R`.
It also proves basic membership, evaluation, coefficient-map/base-change, and
finite-generation lemmas.
This PR intentionally does not include the Sturmfels/KRS/straightening/Groebner
part of the development.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
Additional context:
This is extracted and refactored from a standalone project on determinantal
ideals and the Gröbner-basis theorem for generic determinantal ideals:
https://github.com/WangJiabai/Determinantal-Ideals-Formalization
The current PR is intentionally limited to the small foundational API for
generic minors and generic determinantal ideals.
AI use:
ChatGPT was used for planning/refactoring discussion, and Codex was used to
draft some proof scripts. I reviewed the statements and proofs and am
responsible for the submitted code.
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
LLM-generated
|
147/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean,Mathlib/RingTheory/MvPolynomial/DeterminantalIdeal.lean |
3 |
45 |
['WangJiabai', 'github-actions', 'jjdishere', 'tb65536'] |
jjdishere assignee:jjdishere |
2-78518 2 days ago |
2-78518 2 days ago |
136-4114 136 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 |
2-76756 2 days ago |
2-76965 2 days ago |
38-15544 38 days |
0 |
| 40368 |
Sanghyeok0 author:Sanghyeok0 |
feat: add confluence predicates for relations |
This PR adds a minimal relation-level API for confluence-style properties:
* `Relation.IsDiamond`
* `Relation.IsConfluent`
* `Relation.IsChurchRosser`
It also adds the basic API connecting these predicates:
* `Relation.ReflTransGen.to_eqvGen`
* `Relation.Join.le_eqvGen`
* `Relation.IsChurchRosser.isConfluent`
* `Relation.IsConfluent.isChurchRosser`
* `Relation.IsChurchRosser.join_reflTransGen_eq_eqvGen`
The main downstream application is the polynomial-reduction development in
#41475. There, polynomial reduction is treated as an ordinary relation on
`MvPolynomial`, and these predicates are used to formulate confluence and the
Church--Rosser property.
A more general rewriting API exists in CSLib. This PR does not attempt to
upstream that API wholesale; its scope is intentionally limited to the
declarations needed by the downstream polynomial application.
The earlier version of this PR also introduced
`Relation.StronglyConfluent` and additional equivalence packaging. Those
declarations have been removed to keep this PR small and application-driven.
Reference: Becker, Weispfenning, and Kredel,
*Gröbner Bases: A Computational Approach to Commutative Algebra*.
AI usage disclosure:
I used OpenAI Codex to generate initial drafts of the definitions, theorem statements, proof scripts, and docstrings. I made the final decisions on the mathematical scope and API design, reviewed the generated code and final changes, and made a few edits to statements and docstrings.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-logic
new-contributor
tech debt
LLM-generated
|
103/25 |
Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/Logic/Relation.lean |
2 |
36 |
['Sanghyeok0', 'SnirBroshi', 'chenson2018', 'github-actions', 'mathlib-merge-conflicts'] |
jjdishere assignee:jjdishere |
2-64858 2 days ago |
42-72969 42 days ago |
115-43113 115 days |
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 |
2-64857 2 days ago |
6-33899 6 days ago |
106-15156 106 days |
1 |
| 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
|
283/0 |
Mathlib.lean,Mathlib/Analysis/Fourier/FiniteAbelian/DonohoStark.lean |
2 |
4 |
['YaelDillies', 'copilot-pull-request-reviewer', 'felixpernegger', 'github-actions'] |
nobody |
2-63957 2 days ago |
110-70090 110 days ago |
110-69767 110 days |
0 |
| 44727 |
mycaule author:mycaule |
feat(CategoryTheory/Monad/Monadicity): state the (co)monadicity theorem as an iff |
Add:
`Monad.isEquivalence_comparison_iff`: for `adj : F ⊣ G`, `(Monad.comparison adj).IsEquivalence` iff `G` reflects isomorphisms and, for every `G`-split pair `u, v`, `HasCoequalizer u v` and `PreservesColimit (parallelPair u v) G`
`Comonad.isEquivalence_comparison_iff`: the dual statement
instances `Monad.reflectsIsomorphisms_of_monadicRightAdjoint` and `Comonad.reflectsIsomorphisms_of_comonadicLeftAdjoint` (priority 100)
The forward direction uses `createsGSplitCoequalizersOfMonadic` (resp. `createsFSplitEqualizersOfComonadic`). The backward direction is `monadicOfHasPreservesGSplitCoequalizersOfReflectsIsomorphisms` (resp. its dual). The module docstrings list the new statements.
Mathlib has the backward direction as the definitions `monadicOfHasPreservesGSplitCoequalizersOfReflectsIsomorphisms` and `comonadicOfHasPreservesFSplitEqualizersOfReflectsIsomorphisms`, and the forward ingredients `createsGSplitCoequalizersOfMonadic` and `createsFSplitEqualizersOfComonadic`, but no iff.
Questions for reviewers: whether the instances belong in `Monad/Adjunction.lean` next to `MonadicRightAdjoint`; whether to state the iff with the existing classes `HasCoequalizerOfIsSplitPair` / `PreservesColimitOfIsSplitPair` instead of the explicit `∀`.
AI disclosure: the Lean proof was written by an AI model (Claude, Anthropic) under my direction. I have read and checked it and will handle the review. It builds against current master.
|
new-contributor
t-category-theory
LLM-generated
|
73/0 |
Mathlib/CategoryTheory/Monad/Comonadicity.lean,Mathlib/CategoryTheory/Monad/Monadicity.lean,docs/references.bib |
3 |
2 |
['github-actions'] |
robin-carlier assignee:robin-carlier |
2-34824 2 days ago |
2-35169 2 days ago |
9-29712 9 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 |
2-31825 2 days ago |
2-31918 2 days ago |
2-80984 2 days |
0 |
| 41053 |
hawkrobe author:hawkrobe |
refactor(RingTheory): bialgebra and Hopf algebra structures on RingCon quotients |
---
Since #40451, SymmetricAlgebra R M is (symRingCon R M).Quotient, a quotient by a ring congruence over a commutative semiring, which the ideal quotients of #39790 don't cover. This adds the congruence-level constructions, so SymmetricAlgebra's bialgebra and Hopf algebra structures can descend from TensorAlgebra as suggested in #39579, once #31898 lands.
- [x] depends on: #41052
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
154/41 |
Mathlib/RingTheory/Bialgebra/Quotient.lean,Mathlib/RingTheory/HopfAlgebra/Quotient.lean |
2 |
6 |
['github-actions', 'hawkrobe', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
1-74315 1 day ago |
1-74401 1 day ago |
1-78004 1 day |
0 |
| 42365 |
hawkrobe author:hawkrobe |
feat(LinearAlgebra/TensorProduct): tensor product of graded modules is graded |
---
Split from #39849, also a first step toward the TODO in `LinearAlgebra/TensorProduct/Graded/Internal.lean` (the tensor product of graded algebras is graded.) I tried to model it after [AddMonoidAlgebra.gradeBy](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/MonoidAlgebra/Grading.html#AddMonoidAlgebra.gradeBy).
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
159/0 |
Mathlib/Data/DFinsupp/Defs.lean,Mathlib/LinearAlgebra/TensorProduct/Decomposition.lean,Mathlib/LinearAlgebra/TensorProduct/Map.lean |
3 |
2 |
['github-actions'] |
ocfnash assignee:ocfnash |
1-72024 1 day ago |
1-72117 1 day ago |
78-66352 78 days |
2 |
| 42047 |
LegaSage author:LegaSage |
feat(RingTheory): add locally nilpotent derivations |
This introduces `Derivation.IsLocallyNilpotent` and basic iteration lemmas for locally nilpotent derivations. The main result is the method-style theorem `Derivation.IsLocallyNilpotent.apply_eq_zero_of_dvd`: over a characteristic-zero domain, if `f ∣ D f` for a locally nilpotent derivation `D`, then `D f = 0`.
The proof uses the iterated Leibniz rule and the top nonvanishing iterates of the two factors.
-----
The implementation and PR text were prepared with assistance from OpenAI Codex. |
t-ring-theory
new-contributor
LLM-generated
|
167/0 |
Mathlib.lean,Mathlib/RingTheory/Derivation/LocallyNilpotent.lean |
2 |
2 |
['github-actions'] |
mattrobball assignee:mattrobball |
1-64856 1 day ago |
88-62134 88 days ago |
88-61811 88 days |
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 |
1-64855 1 day ago |
85-17222 85 days ago |
85-41136 85 days |
0 |
| 42265 |
cameronfreer author:cameronfreer |
chore(RingTheory/PowerSeries): simplify coeff_inv_aux |
This replaces the hand-written `Finset.sum_nbij'` in `coeff_inv_aux` with `simp_rw` + `simp`, via `Finsupp.antidiagonal_single`, the same rewrite that `PowerSeries.coeff_mul` already uses.
:robot: Golfing target found by GPT Pro 5.6 Sol, initial version of code written by Opus 5 high, refined by GPT 5.6 Sol xhigh, then again by Opus 5 high following @felixpernegger's review suggestion. |
t-ring-theory
new-contributor
LLM-generated
|
2/19 |
Mathlib/RingTheory/PowerSeries/Inverse.lean |
1 |
8 |
['cameronfreer', 'felixpernegger', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
mattrobball assignee:mattrobball |
1-64854 1 day ago |
70-5931 70 days ago |
82-32029 82 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 |
1-64850 1 day ago |
14-48178 14 days ago |
14-47855 14 days |
0 |
| 43183 |
BorisTheBrave author:BorisTheBrave |
fix(Tactic/Linarith): carry `!` and the configuration into `linarith?… |
`linarith?` uses the same configuration as `linarith`,
but previously printed a bare `linarith only [...]` suggestion regardless
of the configuration.
Now all config options except `minimize` are carried into the suggestion.
---
Note: #42588 has a [test](https://github.com/leanprover-community/mathlib4/pull/42588/files#diff-3657543f804f0a57e384f6a9338cc53803a50bebdfb16c1ecd0b514f3fda332fR863) that
unintentionally highlights the problem:
```lean
/--
info: Try this:
[apply] linarith only [hne, hle]
-/
#guard_msgs in
example (a b : ℚ) (hne : a ≠ b) (hle : a ≥ b) (junk : (0:ℚ) < 1) : b < a := by
linarith? +splitNe
```
This suggestion doesn't actually close the proof.
It should suggest `linarith +splitNE only [hne, hle]`.
Should we be using `says` syntax for these tests? I'm unclear on the rule here.
Note: `simp?` has very similar code, `filterSuggestionsAndLocalsFromSimpConfig`, that this PR was modelled after.
AI disclosure:
Claude Code (Fable) first flagged this problem to me, and wrote the first draft. I
made some tweaks to better fit mathlib's style, and wrote all the prose.
[](https://gitpod.io/from-referrer/) |
t-meta
new-contributor
maintainer-merge
|
68/6 |
Mathlib/Tactic/Linarith/Frontend.lean,MathlibTest/Tactic/Linarith/Basic.lean |
2 |
18 |
['BorisTheBrave', 'JovanGerb', 'github-actions', 'joneugster', 'sharky564'] |
nobody |
1-63959 1 day ago |
21-9042 21 days ago |
53-16141 53 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 |
1-63957 1 day ago |
22-46394 22 days ago |
35-73776 35 days |
0 |
| 45008 |
mycaule author:mycaule |
feat(LinearAlgebra/Matrix/Block): the symmetric Pascal matrix has determinant one |
This adds
* `Matrix.isLowerTriangular_choose (n : ℕ) : (of fun i j : Fin n ↦ (i : ℕ).choose j).IsLowerTriangular`
* `Matrix.choose_mul_transpose_choose (n : ℕ) : (of fun i j : Fin n ↦ (i : ℕ).choose j) * (of fun i j : Fin n ↦ (i : ℕ).choose j)ᵀ = of fun i j : Fin n ↦ (i + j : ℕ).choose i`
* `Matrix.det_pascal (R) [CommRing R] (n : ℕ) : (of fun i j : Fin n ↦ ((i + j : ℕ).choose i : R)).det = 1`
The first two are stated over `ℕ`. The product identity is, entrywise, Vandermonde's identity `(i + j).choose i = ∑ k, i.choose k * j.choose k` (`Nat.add_choose_eq`). `det_pascal` maps it to `R` along `Nat.castRingHom R` (`Matrix.map_mul`), and the cast of `L i j = i.choose j` is lower unitriangular, so its determinant is `1` by `Matrix.det_of_isLowerTriangular`. `R` stays in `det_pascal` because `Matrix.det` needs a commutative ring, so there is no determinant over `ℕ` to transport. A consequence is that this matrix is invertible over every commutative ring.
On the placement: the triangular determinant lemmas live in `Mathlib/LinearAlgebra/Matrix/Block.lean`, and `Mathlib/Data/Nat/Choose/Vandermonde.lean` only imports `Mathlib.Algebra.Polynomial.Coeff`, which is already in the import closure of `Block.lean`. So the lemmas go right after `det_of_isLowerTriangular`, with a private (non-`public`) `import Mathlib.Data.Nat.Choose.Vandermonde` that adds a single small module and nothing to the public interface. `Determinant/Misc.lean` would be a closer thematic fit but cannot import `Block.lean` (it has `assert_not_exists TwoSidedIdeal`). I am happy to move them to a new file `Mathlib/LinearAlgebra/Matrix/Pascal.lean`, or to rename them, if reviewers prefer.
Reference (added to `docs/references.bib`): A. Edelman and G. Strang, "Pascal matrices", Amer. Math. Monthly 111 (2004), no. 3, 189–197, doi:10.1080/00029890.2004.11920065.
AI disclosure: Claude (Anthropic's Claude Code) wrote the code, the proof and this description under my supervision. The lemma was first proved in a separate project of mine and then restated in Mathlib's conventions.
LLM-generated
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
t-algebra
new-contributor
LLM-generated
label:t-algebra$ |
46/0 |
Mathlib/LinearAlgebra/Matrix/Block.lean,docs/references.bib |
2 |
5 |
['eric-wieser', 'github-actions', 'mycaule'] |
nobody |
1-36222 1 day ago |
1-36322 1 day ago |
1-35999 1 day |
0 |
| 44993 |
benpigchu author:benpigchu |
feat(Data): add theorem about `List.count` of `List.ofFn` |
This PR add the theorem said that List.count of List.ofFn of a map equal to card of the FInset.univ filtered by the condition that the map equals the value, with the `List.Vector` version and `List.CountP` versions.
---
This theorem comes from https://github.com/dwrensha/compfiles/blob/238644f6625b17f1cb069e8313bb2a81220347f0/Compfiles/Imo2022P1.lean#L104 , the implementation in this PR is much simpler than that.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-data
new-contributor
maintainer-merge
|
28/3 |
Mathlib/Data/Fintype/Fin.lean |
1 |
22 |
['SnirBroshi', 'YaelDillies', 'benpigchu', 'github-actions'] |
nobody |
1-35334 1 day ago |
1-35499 1 day ago |
2-20950 2 days |
0 |
| 45018 |
aimmerwahr author:aimmerwahr |
doc(TensorProduct): correct a few typos in docstrings |
While reading this file I saw a few places where it's written
```
For a surjective `f : N → P`
```
when it should be
```
For a surjective `g : N → P`
```
which was confusing, so I corrected them as well as a few other docstrings.
(The short exact sequence in question is `variable {f : M →ₗ[R] N} {g : N →ₗ[R] P}`)
------
AI disclaimer: no AI. |
t-algebra
easy
new-contributor
label:t-algebra$ |
10/12 |
Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean |
1 |
4 |
['aimmerwahr', 'github-actions'] |
nobody |
1-33672 1 day ago |
1-41172 1 day ago |
1-40849 1 day |
0 |
| 44756 |
mycaule author:mycaule |
feat(Algebra/Polynomial/RingDivision): polynomials coprime to `X - C a` |
Add to `Mathlib/Algebra/Polynomial/RingDivision.lean`, over a commutative ring:
`Polynomial.isCoprime_X_sub_C_iff`: `IsCoprime (X - C a) p ↔ IsUnit (p.eval a)`
`Polynomial.isCoprime_X_sub_C_iff_isUnit_sub`: `IsCoprime (X - C a) (X - C b) ↔ IsUnit (a - b)`; it replaces `isCoprime_X_sub_C_of_isUnit_sub`, which becomes a deprecated alias (its two uses in Mathlib are updated)
`Polynomial.isCoprime_X_iff`: `IsCoprime X p ↔ IsUnit (p.coeff 0)`
For the converse direction of the first lemma, evaluate a Bézout relation at `a`. For the direct one, write `p = (X - C a) * q + C (p.eval a)` (`X_sub_C_dvd_sub_C_eval`). Mathlib had `isCoprime_X_sub_C_of_isUnit_sub` (the case `p = X - C b`, one direction only) but not the general criterion.
AI disclosure: the Lean proof was written by an AI model (Claude, Anthropic) under my direction. I have read and checked it and will handle the review.
|
t-algebra
new-contributor
LLM-generated
label:t-algebra$ |
20/10 |
Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/Analysis/Complex/Polynomial/Basic.lean |
2 |
20 |
['github-actions', 'mycaule', 'themathqueen', 'vihdzp'] |
nobody |
1-23789 1 day ago |
1-23914 1 day ago |
9-3308 9 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 |
0-79515 22 hours ago |
0-79709 22 hours ago |
1-6033 1 day |
0 |
| 43871 |
manman4 author:manman4 |
feat(PowerSeries): add Lagrange inversion formula |
## What this PR adds
This PR formalizes the Lagrange inversion formula for formal power series over commutative rings without additive torsion (`HasUniqueDiv R`), together with divided versions over characteristic-zero fields.
For formal power series `P`, `Y`, and `H` over such a ring, suppose `Y = X * P.subst Y`. Then, for every natural number `n`, the Lagrange–Bürmann formula states:
```
(n + 1)[X^{n + 1}]H(Y) = [X^n](H' P^{n + 1}).
```
The brackets denote coefficient extraction, and `H'` denotes the formal derivative of `H`. Over a characteristic-zero field, dividing by `n + 1` gives the usual coefficient formula.
## Proof and scope
The proof follows the inductive argument of Surya and Warnke. The torsion-free assumption is used to cancel multiplication by positive natural numbers.
Following the review suggestions, this PR is restricted to the torsion-free version.
## Motivation
Lagrange inversion is a classical tool in enumerative combinatorics, treated for example in Section 5.4 of Richard P. Stanley’s *Enumerative Combinatorics*, Volume 2. It gives coefficient formulas for implicitly defined generating functions, with applications to counting rooted trees and other recursively defined combinatorial structures.
My motivation was to make this tool, which is also used in competitive programming, available in Mathlib.
## LLM
We (Julian and I) used Aristotle and Codex for code generation and ChatGPT and Claude for cleanup.
|
t-ring-theory
new-contributor
LLM-generated
|
212/0 |
Mathlib.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/Derivative.lean,Mathlib/RingTheory/PowerSeries/LagrangeInversion.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean,docs/references.bib |
6 |
126 |
['JX-Mo', 'Julian-Kuelshammer', 'github-actions', 'manman4', 'wwylele'] |
nobody |
0-73806 20 hours ago |
0-74010 20 hours ago |
33-68621 33 days |
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 |
0-63958 17 hours ago |
42-81335 42 days ago |
93-40575 93 days |
0 |
| 44757 |
mycaule author:mycaule |
feat(LinearAlgebra/ExteriorPower/Basis): the Cauchy–Binet formula |
Add to `Mathlib/LinearAlgebra/ExteriorPower/Basis.lean`, for matrices over a commutative ring with `ι` finite and linearly ordered:
`Matrix.det_mul_eq_sum_powersetCard`: for `A : Matrix (Fin n) ι R` and `B : Matrix ι (Fin n) R`, `det (A * B) = ∑ s : powersetCard ι n, det (A.submatrix id s) * det (B.submatrix s id)`, each `s` enumerated in increasing order (`powersetCard.ofFinEmbEquiv.symm s`)
`Matrix.det_submatrix_mul`: the same for the minors of `A * B` on rows `I : Fin n → l` and columns `K : Fin n → o`.
---
Mathlib has `det_mul` for square matrices but no Cauchy–Binet formula. #40473 and #44209 (both closed) proved it by direct computation with permutations, and the review of #40473 pointed to exterior powers instead. Here the square case applies `exteriorPower.pairingDual` to the expansion of `ιMulti R n (rows of A)` in `Module.Basis.exteriorPower` (`Basis.sum_repr`); the minors version follows from it through `Matrix.submatrix_mul`.
Questions for reviewers: the names; whether the sum should be over `Fin n ↪o ι` instead of `powersetCard ι n`.
AI disclosure: the Lean proof was written by an AI model (Claude, Anthropic) under my direction, with the proof of the square case suggested in review. I have read and checked it and will handle the review.
|
t-algebra
new-contributor
LLM-generated
label:t-algebra$ |
29/0 |
Mathlib/LinearAlgebra/ExteriorPower/Basis.lean |
1 |
17 |
['github-actions', 'mycaule', 'themathqueen', 'wwylele'] |
nobody |
0-56285 15 hours ago |
6-1288 6 days ago |
9-15105 9 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
|
168/21 |
Mathlib.lean,Mathlib/RingTheory/Jacobson/Opposite.lean,Mathlib/RingTheory/SimpleModule/WedderburnArtin.lean,MathlibTest/JacobsonOpposite.lean,Wanted.lean,Wanted/RingTheory/SimpleModule/WedderburnArtin.lean |
6 |
2 |
['github-actions'] |
nobody |
0-55611 15 hours ago |
0-55664 15 hours ago |
12-30968 12 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 |
0-50430 14 hours ago |
0-50654 13 hours ago |
65-37309 65 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 |
0-49434 13 hours ago |
0-49700 13 hours ago |
0-49626 13 hours |
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 |
0-30956 8 hours ago |
0-30973 8 hours ago |
0-30928 8 hours |
0 |
| 34138 |
pfaffelh author:pfaffelh |
feat(MeasureTheory): Introduce `DiscreteMeasure α` giving rise to a `Measure α` as a sum of `dirac`s |
Define `DiscreteMeasure α` as a structure with `weight : α → ℝ≥0∞`
Define `toMeasure (w : DiscreteMeasure α) : Measure α` as a sum of diracs
Show properties of the resulting objects
This PR intends to start a more userfriendly interaction with discrete probability (measure) theory, in contrast to probability mass functions (`PMF`). There are two main differences between `DiscreteMeasure` and `PMF`:
* Every `PMF` hast the additional property `HasSum 1`, making the resulting measure a probability measure. (For `DiscreteMeasure`, I intend to use the typeclass `IsProbabilityMeasure`in a later PR instead.)
* The `toMeasure` function of `MassFunction` defines the measure as a sum of diracs, which immediately makes computations possible.
Discussion thread on [zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/PMF.20Refactor.3A.20FunLike.20vs.20Definition.20Change)
- depends on: #37060
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
|
215/0 |
Mathlib.lean,Mathlib/Algebra/GroupWithZero/Indicator.lean,Mathlib/Data/Set/Pairwise/Basic.lean,Mathlib/MeasureTheory/Measure/DiscreteMeasure.lean |
4 |
27 |
['DavidLedvinka', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'metakunt', 'ocfnash', 'pfaffelh'] |
nobody |
0-21376 5 hours ago |
0-21430 5 hours ago |
82-16369 82 days |
2 |
| 45053 |
tomaz1502 author:tomaz1502 |
feat(Analysis/Polynomial): the jump of a real rational function and the Cauchy index |
This PR defines `Polynomial.jumpVal p q x : ℤ`, the jump of the rational function `q / p` at a
point `x`: `1` if it goes from `-∞` to `+∞`, `-1` if it goes from `+∞` to `-∞`, and `0` otherwise.
The definition is algebraic: `q / p` changes sign at `x` exactly when
`rootMultiplicity x p - rootMultiplicity x q` is odd, and the direction of the jump is then
`signRight x (p * q)`. It develops the API of `jumpVal` needed for the Sturm–Tarski theorem:
* `jumpVal_of_eval_ne_zero`, `jumpVal_of_rootMultiplicity_le`: there is no jump where `q / p` has
no pole;
* `jumpVal_mul_mul`: a common factor of `p` and `q` does not change the jump;
* `jumpVal_mod`: `q` can be replaced by `q % p`;
* `jumpVal_C_mul`: scaling `q` by `c` scales the jump by `sign c`;
* `jumpVal_of_isCoprime`, `jumpVal_mul_one`: jumps of products of coprime polynomials;
* `jumpVal_derivative_mul`: at a root `x` of `p`, the jump of `derivative p * q / p` is
`sign (q.eval x)`. This is what links the Cauchy index to the signs of `q` at the roots of `p`.
It also defines `Polynomial.rootsInInterval p a b`, the distinct roots of `p` in `(a, b)`, and the
Cauchy index `Polynomial.cauchyIndex p q a b`, the sum of `jumpVal p q x` over those roots, with
a few basic lemmas (`cauchyIndex_zero_left`, `cauchyIndex_zero_right`, `cauchyIndex_C`,
`cauchyIndex_mul_mul`, `cauchyIndex_mod`, `cauchyIndex_C_mul`), which follow directly from the
corresponding `jumpVal` lemmas. The main results about the Cauchy index (its relation to sign
changes and to Tarski queries) will follow in the next PR of the series.
One small addition to existing files:
* `Polynomial.rootMultiplicity_C_mul` in `RingDivision.lean`: multiplying by a nonzero constant
does not change root multiplicities;
This is the fourth PR of a series formalising the Sturm-Tarski theorem, following #43783
(`List.signVariations`), #43954 (`Polynomial.sturmSeq`) and #44248 (`Polynomial.signRight`).
As in #44248, everything is stated over `ℝ` because `signRight` is; apart from `signRight`, the
proofs only use the algebra of polynomials over a field.
Co-authored-by: Pedro Saccomani <psaccomani15@gmail.com>
Co-authored-by: Sarah Pereira <sarahcomh@proton.me>
---
The definitions and the original proofs, ported from Wenda Li's Isabelle/AFP entry, were written
by hand. We used Claude to review the code, suggest improvements and help in the preparation
of the PR. |
new-contributor |
274/0 |
Mathlib.lean,Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/Analysis/Polynomial/CauchyIndex.lean |
3 |
2 |
['github-actions'] |
nobody |
0-17807 4 hours ago |
0-78810 21 hours ago |
0-78487 21 hours |
0 |
| 44978 |
ArtificialZeng author:ArtificialZeng |
feat(Analysis/Normed/Module): uniform bounds for compact injective families |
A continuous family of injective continuous linear maps, with finite-dimensional source over a complete nontrivially normed field, has a uniform positive lower bound on a compact parameter set. A second lemma gives a uniform operator-norm perturbation radius preserving injectivity; the perturbing family need not be continuous.
These estimates support compact-family derivative perturbation arguments. The proof uses `LinearMap.exists_antilipschitzWith` and `IsCompact.induction_on`, adds no imports, and does not require the target to be finite-dimensional or complete.
---
Local validation on base `4c71e7e7e5f99e938e520c4242aaf2522a594953`, Lean 4.36.0-rc1:
- `lake build Mathlib.Analysis.Normed.Module.FiniteDimension` passed after refreshing the base's dependency cache.
- Standard Mathlib source linters and examples covering a nonconstant compact family, empty sets, and a zero-dimensional source passed.
- A separate fresh compilation and axiom queries passed; both lemmas use only `propext`, `Classical.choice`, and `Quot.sound`.
- The same new proofs and a downstream derivative-estimate consumer also compiled against the pinned Lean 4.35.0 baseline.
AI disclosure: OpenAI Codex generated and adapted the proofs and performed automated source review and local checks. This draft is pending human review of the mathematics and API choices. Automated checks and AI review do not replace that review. Full upstream CI is still required. |
t-analysis
LLM-generated
new-contributor
|
57/0 |
Mathlib/Analysis/Normed/Module/FiniteDimension.lean |
1 |
3 |
['ArtificialZeng', 'github-actions'] |
nobody |
0-14529 4 hours ago |
0-14602 3 hours ago |
3-3481 3 days |
0 |
| 26479 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat(Analysis/Complex/CauchyIntegral): Cauchy–Goursat for Unbounded Rectangles |
In this PR, we prove versions of the Cauchy-Goursat theorem where the contours in question are rectangular and unbounded (ie, where the contours look like the $\bigsqcup$ symbol). I am not sure if I have formalised these in the best way, or if `Analysis.Complex.CauchyIntegral` is the best place for them (it might be prudent to reorganise the file into multiple files at some point), but I believe this is a useful result. Suggestions welcome.
---
<!-- 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/)
|
new-contributor
t-analysis
sphere-packing
maintainer-merge
|
169/0 |
Mathlib/Analysis/Complex/CauchyIntegral.lean |
1 |
53 |
['github-actions', 'j-loreaux', 'loefflerd', 'mathlib-splicebot', 'mathlib4-merge-conflict-bot', 'ocfnash', 'thefundamentaltheor3m', 'themathqueen', 'wwylele'] |
j-loreaux assignee:j-loreaux |
0-13691 3 hours ago |
0-13943 3 hours ago |
147-44222 147 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 |
0-8682 2 hours ago |
5-3765 5 days ago |
5-3442 5 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 |
0-8607 2 hours ago |
0-8837 2 hours ago |
0-11497 3 hours |
0 |
| 42110 |
Zeta-Wu author:Zeta-Wu |
feat: add path length for paths in pseudo emetric spaces |
This PR defines the length of a path in a `PseudoEMetricSpace` as its variation on the unit interval.
It proves the basic properties of path length:
- the endpoint distance is bounded by the length;
- the constant path has length zero;
- reversing a path preserves its length;
- concatenating two paths adds their lengths.
Main declarations:
- `Path.length`
- `Path.edist_le_length`
- `Path.length_refl`
- `Path.length_symm`
- `Path.length_trans`
This is intended as a first step toward a broader theory of rectifiable paths, including later results on invariance of length under monotone reparametrization, and shortest paths are line segments up to monotone reparametrization in strict convex spaces.
--------
This PR was discussed on Zulip [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/PR.20.2342110.3A.20Path.2Elength.20in.20PseudoEMetricSpace).
AI disclosure: I used an agent called ReasLingo to generate those codes. After the codes are generated I read them line by line and ask the agent to rewrite some proofs when I think it is a bad code. For design decisions, I asked the agent to give me several versions, and I manually picked one of them to make sure it fits human understanding.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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
LLM-generated
|
231/0 |
Mathlib.lean,Mathlib/Topology/EMetricSpace/ArcLength.lean,Mathlib/Topology/EMetricSpace/PathLength.lean,Mathlib/Topology/Path.lean,Mathlib/Topology/UnitInterval.lean |
5 |
129 |
['CoolRmal', 'SnirBroshi', 'Zeta-Wu', 'felixpernegger', 'github-actions', 'pelicanhere', 'scholzhannah'] |
ADedecker assignee:ADedecker |
0-7817 2 hours ago |
16-12393 16 days ago |
74-40852 74 days |
0 |
| 45025 |
NirvanaC93 author:NirvanaC93 |
feat(Algebra/Group/Even): a unit is a square iff its underlying element is a square |
Coauthored by María Inés de Frutos-Fernández [88536493+mariainesdff@users.noreply.github.com](mailto:88536493+mariainesdff@users.noreply.github.com)
Added a simple but useful lemma (needed in our Hasse Principle project):
```isSquare_coe_units_iff``` saying that an element in the units of a monoid is a square
if and only if its underlying element in the monoid is a square.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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$ |
14/0 |
Mathlib/Algebra/Group/Even.lean |
1 |
7 |
['NirvanaC93', 'github-actions', 'plp127'] |
nobody |
0-5712 1 hour ago |
0-5985 1 hour ago |
1-17953 1 day |
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
|
8/30 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean |
2 |
8 |
['Fieldnote-Echo', 'Parcly-Taxel', 'SnirBroshi', 'github-actions'] |
nobody |
0-3562 59 minutes ago |
0-3830 58 minutes ago |
0-14581 4 hours |
0 |
This page collects anonymous visit counts for usage reporting (no cookies, no IP addresses stored). See the Mathlib Initiative privacy policy.