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 |
171-35624 5 months ago |
296-52732 296 days ago |
296-52686 296 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 |
113-33346 3 months ago |
113-33867 113 days ago |
121-16782 121 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 |
110-67900 3 months ago |
110-67900 110 days ago |
110-67854 110 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 |
90-81064 2 months ago |
91-2143 91 days ago |
91-4647 91 days |
1 |
| 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 |
86-9241 2 months ago |
86-10969 86 days ago |
86-13956 86 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 |
86-5812 2 months ago |
86-22419 86 days ago |
86-24411 86 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 |
84-85692 2 months ago |
85-3776 85 days ago |
85-3730 85 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 |
82-67158 2 months ago |
82-69853 82 days ago |
82-69927 82 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 |
81-3154 2 months ago |
87-6864 87 days ago |
90-25010 90 days |
0 |
| 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 |
76-61623 2 months ago |
78-50171 78 days ago |
78-50125 78 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 |
73-70132 2 months ago |
85-49822 85 days ago |
85-58515 85 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 |
72-43902 2 months ago |
72-46817 72 days ago |
72-54069 72 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 |
72-7078 2 months ago |
72-7812 72 days ago |
72-7766 72 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 |
66-43649 2 months ago |
66-78444 66 days ago |
66-78398 66 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 |
66-8993 2 months ago |
66-47453 66 days ago |
82-4442 82 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 |
65-78488 2 months ago |
72-2590 72 days ago |
72-2640 72 days |
4 |
| 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 |
63-56702 2 months ago |
63-67532 63 days ago |
63-68323 63 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 |
62-85489 2 months ago |
63-68863 63 days ago |
63-68817 63 days |
0 |
| 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 |
61-83228 2 months ago |
61-84597 61 days ago |
61-84551 61 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 |
61-79467 2 months ago |
61-80245 61 days ago |
61-80199 61 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 |
61-26428 2 months ago |
61-27173 61 days ago |
61-27269 61 days |
0 |
| 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 |
60-17674 1 month ago |
60-32574 60 days ago |
60-32528 60 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 |
59-64284 1 month ago |
59-66271 59 days ago |
61-58801 61 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 |
58-12297 1 month ago |
58-15408 58 days ago |
63-20682 63 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 |
57-21602 1 month ago |
64-28440 64 days ago |
64-28394 64 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 |
57-12223 1 month ago |
59-35403 59 days ago |
71-4129 71 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 |
56-73548 1 month ago |
56-76082 56 days ago |
56-76036 56 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 |
56-56705 1 month ago |
56-61162 56 days ago |
83-45678 83 days |
0 |
| 43702 |
theebayuser author:theebayuser |
feat(LinearAlgebra/AffineSpace): add Varignon's theorem |
Hello, this PR introduces Varignon's theorem.
Varignon's theorem states that the midpoints of the sides of a quadrilateral form a parallelogram. More precisely, `midpoint_midpoint_midpoint_rotate` states: the two diagonals of the midpoint quadrilateral have the same midpoint.
This PR was written with AI assistance (Claude Code)
|
t-algebra
new-contributor
LLM-generated
label:t-algebra$ |
22/2 |
Mathlib/LinearAlgebra/AffineSpace/Midpoint.lean,docs/1000.yaml |
2 |
7 |
['github-actions', 'theebayuser', 'wwylele'] |
nobody |
55-67122 1 month ago |
56-26794 56 days ago |
56-26748 56 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 |
54-8562 1 month ago |
54-10079 54 days ago |
54-10033 54 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 |
54-7182 1 month ago |
54-7961 54 days ago |
54-7915 54 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 |
53-53156 1 month ago |
53-55517 53 days ago |
53-55471 53 days |
0 |
| 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 |
52-55677 1 month ago |
52-56478 52 days ago |
129-11646 129 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 |
52-33619 1 month ago |
52-35817 52 days ago |
52-35771 52 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 |
52-26263 1 month ago |
56-58771 56 days ago |
56-59570 56 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 |
52-25304 1 month ago |
52-26077 52 days ago |
75-9143 75 days |
0 |
| 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 |
52-21298 1 month ago |
56-58775 56 days ago |
60-69733 60 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 |
52-16062 1 month ago |
52-65159 52 days ago |
52-74372 52 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 |
51-77581 1 month ago |
51-82653 51 days ago |
157-2173 157 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 |
51-51985 1 month ago |
51-54098 51 days ago |
51-67990 51 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 |
51-12166 1 month ago |
51-12360 51 days ago |
51-56886 51 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 |
51-10729 1 month ago |
51-11539 51 days ago |
51-11493 51 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 |
49-64539 1 month ago |
51-11140 51 days ago |
53-71117 53 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 |
49-64007 1 month ago |
83-80418 83 days ago |
83-80372 83 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 |
49-63953 1 month ago |
86-4627 86 days ago |
86-6144 86 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 |
48-3485 1 month ago |
48-8169 48 days ago |
48-8150 48 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 |
47-82906 1 month ago |
47-84172 47 days ago |
47-84212 47 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 |
47-65460 1 month ago |
49-22471 49 days ago |
49-27736 49 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 |
47-3562 1 month ago |
101-80993 101 days ago |
101-80947 101 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 |
47-2965 1 month ago |
68-85827 68 days ago |
101-79976 101 days |
1 |
| 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 |
46-69509 1 month ago |
79-44323 79 days ago |
79-44562 79 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 |
46-62842 1 month ago |
137-71064 137 days ago |
274-74766 274 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 |
46-53585 1 month ago |
53-51555 53 days ago |
53-51865 53 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 |
46-35626 1 month ago |
103-23664 103 days ago |
127-6953 127 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 |
46-17073 1 month ago |
46-18440 46 days ago |
46-18394 46 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 |
45-79938 1 month ago |
46-40557 46 days ago |
48-34647 48 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 |
45-65203 1 month ago |
45-67253 45 days ago |
69-58032 69 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 |
45-32048 1 month ago |
45-36404 45 days ago |
47-54596 47 days |
0 |
| 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 |
45-10874 1 month ago |
45-16453 45 days ago |
90-67664 90 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 |
44-78022 1 month ago |
57-14825 57 days ago |
60-73496 60 days |
1 |
| 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 |
44-36392 1 month ago |
44-37622 44 days ago |
44-37576 44 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 |
44-34707 1 month ago |
44-35966 44 days ago |
44-36217 44 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 |
44-27262 1 month ago |
97-54274 97 days ago |
97-55438 97 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 |
44-21696 1 month ago |
44-26068 44 days ago |
44-35943 44 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 |
43-57215 1 month ago |
43-67364 43 days ago |
43-67318 43 days |
1 |
| 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 |
43-41075 1 month ago |
43-44091 43 days ago |
63-84042 63 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 |
42-61484 1 month ago |
42-62522 42 days ago |
72-8850 72 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 |
42-61453 1 month ago |
43-68880 43 days ago |
43-69456 43 days |
0 |
| 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 |
42-57530 1 month ago |
42-62071 42 days ago |
68-23184 68 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 |
42-55952 1 month ago |
42-61103 42 days ago |
62-74103 62 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 |
42-35623 1 month ago |
77-71235 77 days ago |
77-71189 77 days |
3 |
| 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 |
41-16297 1 month ago |
41-17218 41 days ago |
41-17172 41 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 |
41-4246 1 month ago |
41-83393 41 days ago |
41-83347 41 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 |
40-76727 1 month ago |
41-83388 41 days ago |
41-83342 41 days |
2 |
| 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 |
40-14702 1 month ago |
41-32619 41 days ago |
41-32573 41 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 |
40-1234 1 month ago |
40-3478 40 days ago |
40-3432 40 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 |
39-63430 1 month ago |
41-28461 41 days ago |
61-16726 61 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 |
39-30396 1 month ago |
39-31535 39 days ago |
57-40158 57 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 |
39-16707 1 month ago |
85-2562 85 days ago |
85-2516 85 days |
0 |
| 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 |
38-69721 1 month ago |
38-75742 38 days ago |
41-71252 41 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 |
38-68229 1 month ago |
38-69351 38 days ago |
83-48994 83 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 |
38-63577 1 month ago |
38-64382 38 days ago |
38-64336 38 days |
0 |
| 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 |
38-61411 1 month ago |
49-80266 49 days ago |
49-81136 49 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 |
37-50852 1 month ago |
37-60145 37 days ago |
37-67857 37 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 |
37-47899 1 month ago |
37-57937 37 days ago |
37-57891 37 days |
0 |
| 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 |
37-42200 1 month ago |
50-66446 50 days ago |
65-84420 65 days |
1 |
| 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 |
37-34120 1 month ago |
41-35872 41 days ago |
41-37080 41 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 |
36-78248 1 month ago |
36-82314 36 days ago |
36-82268 36 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 |
36-72964 1 month ago |
38-75865 38 days ago |
51-38634 51 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 |
36-68715 1 month ago |
36-69790 36 days ago |
36-70795 36 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 |
36-63016 1 month ago |
36-63650 36 days ago |
211-85335 211 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 |
36-45488 1 month ago |
36-68540 36 days ago |
36-71620 36 days |
0 |
| 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 |
35-80426 1 month ago |
43-45017 43 days ago |
43-44971 43 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 |
35-72286 1 month ago |
36-53061 36 days ago |
36-53100 36 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 |
35-70763 1 month ago |
35-71857 35 days ago |
59-64209 59 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 |
35-64635 1 month ago |
35-67303 35 days ago |
97-39811 97 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 |
35-59241 1 month ago |
63-66954 63 days ago |
63-66908 63 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 |
35-56029 1 month ago |
35-57725 35 days ago |
35-57943 35 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 |
35-40922 1 month ago |
35-45345 35 days ago |
36-43286 36 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 |
35-29829 1 month ago |
39-31520 39 days ago |
43-79646 43 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 |
35-17791 1 month ago |
35-24666 35 days ago |
35-24746 35 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 |
34-62357 1 month ago |
34-63108 34 days ago |
34-63062 34 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 |
33-35625 1 month ago |
55-25110 55 days ago |
55-25064 55 days |
0 |
| 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 |
31-66117 1 month ago |
31-68869 31 days ago |
31-68824 31 days |
0 |
| 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 |
31-26280 1 month ago |
31-28162 31 days ago |
43-64775 43 days |
1 |
| 44440 |
vincentqb author:vincentqb |
feat(Computability/TuringMachine): bound the output length of a TM2 run |
This PR bounds the output length of a TM2 run by the input length plus a machine constant times the step count. It deduces `TM2ComputableInPolyTime.length_le`, the polynomial output-length bound used in composition.
It also adds step-count induction and defines `initList` and `haltList` using `Function.update`.
---
Relates to #7172 #33132 #35366
The code, the testing, and this description were prepared with the help of an AI coding assistant (Codex).
|
t-computability
LLM-generated
new-contributor
|
82/7 |
Mathlib/Computability/StateTransition.lean,Mathlib/Computability/TuringMachine/Computable.lean,Mathlib/Computability/TuringMachine/StackTuringMachine.lean |
3 |
3 |
['github-actions', 'vincentqb'] |
nobody |
31-21124 1 month ago |
34-44498 34 days ago |
34-44452 34 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 |
31-19810 1 month ago |
31-20067 31 days ago |
31-20021 31 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 |
31-7096 1 month ago |
44-66437 44 days ago |
44-66391 44 days |
1 |
| 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 |
30-83982 30 days ago |
126-68345 126 days ago |
126-68574 126 days |
0 |
| 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 |
30-69975 30 days ago |
49-71644 49 days ago |
49-72023 49 days |
4 |
| 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 |
29-65330 29 days ago |
35-71472 35 days ago |
35-71426 35 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 |
29-44553 29 days ago |
29-47684 29 days ago |
29-49853 29 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 |
29-44513 29 days ago |
45-36333 45 days ago |
45-37472 45 days |
0 |
| 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 |
29-23655 29 days ago |
32-3414 32 days ago |
34-68959 34 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 |
29-8575 29 days ago |
44-78477 44 days ago |
44-78431 44 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 |
28-76472 28 days ago |
29-32381 29 days ago |
29-44437 29 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 |
28-70238 28 days ago |
44-76989 44 days ago |
46-25196 46 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 |
28-48132 28 days ago |
28-48793 28 days ago |
28-51075 28 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 |
28-48007 28 days ago |
29-66285 29 days ago |
37-74295 37 days |
2 |
| 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 |
27-66296 27 days ago |
27-67023 27 days ago |
27-67072 27 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 |
27-65114 27 days ago |
27-65809 27 days ago |
39-38350 39 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 |
27-52016 27 days ago |
27-52619 27 days ago |
27-55196 27 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 |
27-51895 27 days ago |
27-52524 27 days ago |
27-55349 27 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 |
27-48747 27 days ago |
27-49686 27 days ago |
45-44309 45 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 |
27-31187 27 days ago |
65-68087 65 days ago |
65-68041 65 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 |
27-16848 27 days ago |
27-52370 27 days ago |
27-55325 27 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 |
26-77314 26 days ago |
26-77314 26 days ago |
41-19684 41 days |
0 |
| 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 |
26-35623 26 days ago |
63-54293 63 days ago |
64-8774 64 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 |
26-28782 26 days ago |
27-79529 27 days ago |
27-80125 27 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 |
26-26952 26 days ago |
39-31526 39 days ago |
57-39566 57 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 |
26-20804 26 days ago |
26-24473 26 days ago |
26-24427 26 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 |
26-6765 26 days ago |
26-7339 26 days ago |
42-22605 42 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 |
25-84172 25 days ago |
25-86053 25 days ago |
26-34438 26 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 |
25-78283 25 days ago |
26-1630 26 days ago |
26-1837 26 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 |
25-77689 25 days ago |
25-78257 25 days ago |
25-78605 25 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 |
25-65440 25 days ago |
25-65443 25 days ago |
25-77914 25 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 |
25-41651 25 days ago |
25-44768 25 days ago |
25-44722 25 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 |
25-37065 25 days ago |
46-58136 46 days ago |
50-53945 50 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 |
25-29511 25 days ago |
25-32168 25 days ago |
35-45456 35 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 |
25-24280 25 days ago |
27-509 27 days ago |
27-463 27 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 |
25-18615 25 days ago |
26-45572 26 days ago |
26-45526 26 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 |
25-15110 25 days ago |
25-15796 25 days ago |
26-28645 26 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 |
24-46013 24 days ago |
24-46013 24 days ago |
24-54323 24 days |
0 |
| 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 |
24-18867 24 days ago |
27-24659 27 days ago |
31-64457 31 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 |
24-18000 24 days ago |
24-18549 24 days ago |
69-5772 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 |
24-15978 24 days ago |
24-16581 24 days ago |
44-18565 44 days |
1 |
| 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 |
24-1098 24 days ago |
24-4477 24 days ago |
57-19142 57 days |
1 |
| 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 |
23-45842 23 days ago |
23-47345 23 days ago |
23-48677 23 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 |
23-43651 23 days ago |
23-45126 23 days ago |
23-46993 23 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 |
23-40713 23 days ago |
23-43596 23 days ago |
45-74719 45 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 |
23-37512 23 days ago |
23-41002 23 days ago |
32-71336 32 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 |
23-32470 23 days ago |
23-33766 23 days ago |
23-34664 23 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 |
23-28676 23 days ago |
45-32388 45 days ago |
45-32342 45 days |
2 |
| 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 |
23-3545 23 days ago |
23-4822 23 days ago |
23-4776 23 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 |
23-2060 23 days ago |
23-4726 23 days ago |
23-5329 23 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 |
22-61141 22 days ago |
23-64305 23 days ago |
23-64259 23 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 |
22-42176 22 days ago |
27-29376 27 days ago |
30-42605 30 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 |
22-33925 22 days ago |
22-35658 22 days ago |
22-77050 22 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 |
22-9639 22 days ago |
22-10791 22 days ago |
22-10746 22 days |
1 |
| 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 |
21-85126 21 days ago |
71-55639 71 days ago |
71-55593 71 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 |
21-76214 21 days ago |
21-77176 21 days ago |
21-77130 21 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 |
21-35621 21 days ago |
109-83979 109 days ago |
109-84433 109 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 |
21-35100 21 days ago |
23-22393 23 days ago |
23-23936 23 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 |
21-34689 21 days ago |
21-54890 21 days ago |
21-56159 21 days |
1 |
| 42225 |
matt-w-horn author:matt-w-horn |
feat(Order): Knaster–Tarski fixed points on an interval |
`lfpIcc f a b` and `gfpIcc f a b`: least and greatest fixed points of `f` on `Set.Icc a b` in a conditionally complete lattice, for `f` monotone on the interval and mapping it into itself. Also interval membership, endpoint-iterate bounds, and monotonicity in `f`.
`OrderHom.lfp` gives this through the complete-lattice instance on the subtype, but wants a `Fact (a ≤ b)` and returns subtype elements. These take `MonotoneOn` and `MapsTo` directly and stay in `α`. Bridge lemmas between the two are a follow-up.
Used on intervals of ℝ in Overload, a sorry-free Lean library on retry and overload dynamics: https://github.com/matt-w-horn/overload/tree/main/Overload
Claude Fable wrote the Lean from a spec I gave it. I reviewed and tested it myself, including adversarial tests and the suites in the library above, and did the same for its dependencies.
Assisted-by: Claude Fable 5 |
t-order
new-contributor
LLM-generated
|
166/0 |
Mathlib.lean,Mathlib/Order/FixedPointsIcc.lean |
2 |
7 |
['github-actions', 'matt-w-horn', 'wwylele'] |
nobody |
21-8953 21 days ago |
95-35480 95 days ago |
95-35434 95 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 |
20-78360 20 days ago |
20-79962 20 days ago |
20-79916 20 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 |
20-67198 20 days ago |
21-86279 21 days ago |
21-86233 21 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 |
20-56751 20 days ago |
20-57567 20 days ago |
96-46840 96 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 |
20-49128 20 days ago |
20-49895 20 days ago |
20-49849 20 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 |
20-36522 20 days ago |
105-34311 105 days ago |
105-34265 105 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 |
20-36520 20 days ago |
53-28758 53 days ago |
91-57069 91 days |
0 |
| 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 |
20-35621 20 days ago |
41-54977 41 days ago |
58-9152 58 days |
0 |
| 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 |
20-31197 20 days ago |
20-33935 20 days ago |
20-33889 20 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 |
19-78052 19 days ago |
26-7448 26 days ago |
26-7402 26 days |
0 |
| 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 |
19-73686 19 days ago |
20-1152 20 days ago |
39-68698 39 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 |
19-69550 19 days ago |
21-77847 21 days ago |
21-77801 21 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 |
19-61558 19 days ago |
19-77903 19 days ago |
19-78220 19 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 |
19-48423 19 days ago |
19-48632 19 days ago |
55-7986 55 days |
0 |
| 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 |
19-36528 19 days ago |
119-84332 119 days ago |
123-42613 123 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 |
19-36522 19 days ago |
22-53599 22 days ago |
22-53554 22 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 |
19-29642 19 days ago |
19-30244 19 days ago |
72-44485 72 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 |
19-9167 19 days ago |
19-9835 19 days ago |
19-9789 19 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 |
19-3492 19 days ago |
19-53924 19 days ago |
19-53878 19 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 |
18-35624 18 days ago |
39-40841 39 days ago |
52-51605 52 days |
0 |
| 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 |
18-19278 18 days ago |
19-66628 19 days ago |
58-80720 58 days |
2 |
| 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 |
17-84091 17 days ago |
27-85024 27 days ago |
27-86046 27 days |
0 |
| 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 |
17-76798 17 days ago |
36-69750 36 days ago |
55-23128 55 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 |
17-67448 17 days ago |
92-84488 92 days ago |
197-77684 197 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 |
17-51293 17 days ago |
17-62069 17 days ago |
17-63894 17 days |
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 |
17-51182 17 days ago |
17-51876 17 days ago |
17-65388 17 days |
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 |
17-45520 17 days ago |
17-47141 17 days ago |
17-47095 17 days |
4 |
| 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 |
17-40622 17 days ago |
17-42333 17 days ago |
31-12561 31 days |
0 |
| 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 |
17-36528 17 days ago |
87-47264 87 days ago |
87-47218 87 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 |
17-36526 17 days ago |
46-19749 46 days ago |
46-19703 46 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 |
17-22630 17 days ago |
45-76953 45 days ago |
45-77068 45 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 |
17-22097 17 days ago |
41-68803 41 days ago |
82-13469 82 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 |
17-21101 17 days ago |
17-22718 17 days ago |
17-22672 17 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 |
17-12812 17 days ago |
33-69319 33 days ago |
33-69273 33 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 |
17-12702 17 days ago |
47-5682 47 days ago |
47-5636 47 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 |
17-12617 17 days ago |
29-20029 29 days ago |
29-19983 29 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 |
17-9556 17 days ago |
17-62070 17 days ago |
17-63322 17 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 |
17-8533 17 days ago |
17-64197 17 days ago |
17-64151 17 days |
0 |
| 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 |
17-6576 17 days ago |
17-11894 17 days ago |
18-4741 18 days |
0 |
| 45076 |
vdelbarc author:vdelbarc |
feat(Algebra/Lie/SemiDirect): add natural ideal and subalgebra; add equivalences |
Define the left ideal and right subalgebra of a semidirect product of Lie
algebras. Give characterizations through natural inclusion/projection maps.
Co-authored by: Gustavo Infanti, Exequiel Rivas and Paul Schwahn
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
new-contributor
t-algebra
label:t-algebra$ |
88/0 |
Mathlib/Algebra/Lie/SemiDirect.lean |
1 |
2 |
['github-actions'] |
nobody |
17-2623 17 days ago |
17-2640 17 days ago |
17-3256 17 days |
0 |
| 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 |
17-150 17 days ago |
56-1530 56 days ago |
56-1484 56 days |
4 |
| 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 |
16-85754 16 days ago |
55-74667 55 days ago |
55-74621 55 days |
4 |
| 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 |
16-77222 16 days ago |
16-78621 16 days ago |
16-78575 16 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 |
16-66674 16 days ago |
16-66904 16 days ago |
16-69330 16 days |
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 |
16-63648 16 days ago |
16-64292 16 days ago |
60-4970 60 days |
0 |
| 45099 |
vihdzp author:vihdzp |
feat: many `simp` theorems for `Ordinal.lift` |
This PR does two things:
- Reorganize and rename some badly named `simp` theorems for `Cardinal.lift`
- Prove the analogous theorems on `Ordinal.lift`
These are used in the CGT repo.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
187/51 |
Mathlib/LinearAlgebra/Dimension/Constructions.lean,Mathlib/LinearAlgebra/Dimension/Finite.lean,Mathlib/LinearAlgebra/Dimension/LinearMap.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean |
6 |
8 |
['github-actions', 'plp127', 'vihdzp'] |
nobody |
16-38366 16 days ago |
16-41691 16 days ago |
16-56120 16 days |
0 |
| 34138 |
pfaffelh author:pfaffelh |
feat(MeasureTheory): Introduce `DiscreteMeasure α` giving rise to a `Measure α` as a sum of `dirac`s |
Define `DiscreteMeasure α` as a structure with `weight : α → ℝ≥0∞`
Define `toMeasure (w : DiscreteMeasure α) : Measure α` as a sum of diracs
Show properties of the resulting objects
This PR intends to start a more userfriendly interaction with discrete probability (measure) theory, in contrast to probability mass functions (`PMF`). There are two main differences between `DiscreteMeasure` and `PMF`:
* Every `PMF` hast the additional property `HasSum 1`, making the resulting measure a probability measure. (For `DiscreteMeasure`, I intend to use the typeclass `IsProbabilityMeasure`in a later PR instead.)
* The `toMeasure` function of `MassFunction` defines the measure as a sum of diracs, which immediately makes computations possible.
Discussion thread on [zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/PMF.20Refactor.3A.20FunLike.20vs.20Definition.20Change)
- depends on: #37060
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
|
215/0 |
Mathlib.lean,Mathlib/Algebra/GroupWithZero/Indicator.lean,Mathlib/Data/Set/Pairwise/Basic.lean,Mathlib/MeasureTheory/Measure/DiscreteMeasure.lean |
4 |
27 |
['DavidLedvinka', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'metakunt', 'ocfnash', 'pfaffelh'] |
RemyDegenne assignee:RemyDegenne |
16-36528 16 days ago |
16-81482 16 days ago |
99-16921 99 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'] |
b-mehta assignee:b-mehta |
16-36526 16 days ago |
42-60654 42 days ago |
122-5358 122 days |
1 |
| 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'] |
b-mehta assignee:b-mehta |
16-36525 16 days ago |
110-67457 110 days ago |
122-11473 122 days |
1 |
| 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'] |
mattrobball assignee:mattrobball |
16-36524 16 days ago |
98-13844 98 days ago |
98-13850 98 days |
1 |
| 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'] |
nobody |
16-35627 16 days ago |
36-65407 36 days ago |
82-50949 82 days |
0 |
| 45112 |
ZRTMRH author:ZRTMRH |
feat(MeasureTheory/Integral): sharp error bound for Riemann sums of periodic BV functions |
Add a strict error bound for estimating `1`-periodic function using Riemann sum. This is the equally-spaced case of Koksma's inequality, with the sharp constant. The proof is elementary.
* `Function.Periodic.abs_sum_sub_integral_le_eVariationOn`
The bound is added as a new file `Mathlib/MeasureTheory/Integral/IntervalIntegral/PeriodicRiemannSum.lean`. Two supporting lemmas on the variation of a periodic function go into `Mathlib/Analysis/BoundedVariation.lean`.
* `Function.Periodic.eVariationOn_Icc_add_int`
* `Function.Periodic.eVariationOn_Icc_add_one`
Discussion on Zulip: [Riemann sums of periodic bounded-variation functions](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Riemann.20sums.20of.20periodic.20bounded-variation.20functions/with/624474372)
This PR was written with AI assistance (Claude for first draft, Codex for refinement). The code has been reviewed by the authors.
Co-authored-by: Xichen Tang xichen.tang@duke.edu
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-measure-probability
LLM-generated
new-contributor
|
194/0 |
Mathlib.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/PeriodicRiemannSum.lean |
3 |
3 |
['ZRTMRH', 'github-actions'] |
nobody |
16-27096 16 days ago |
16-27861 16 days ago |
16-27815 16 days |
0 |
| 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 |
454/0 |
Mathlib.lean,Mathlib/RingTheory/Regular/InjectiveDimension.lean |
2 |
9 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
16-20282 16 days ago |
65-82547 65 days ago |
65-84560 65 days |
6 |
| 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/31 |
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 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
16-9042 16 days ago |
16-10337 16 days ago |
22-74477 22 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 |
16-4743 16 days ago |
21-64422 21 days ago |
21-68137 21 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 |
16-2206 16 days ago |
25-17183 25 days ago |
25-17285 25 days |
0 |
| 45111 |
will1491 author:will1491 |
feat(Topology/ContinuousMap): define normal families |
Define `IsNormalFamily` for families of continuous maps into `OnePoint Y` as compactness of their closure in the compact-open topology.
The one-point compactification is chosen for applications in complex dynamics. See the [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Geometry.20and.20complex.20dynamics.20formalization/with/615696635) for the definition and design discussion.
Co-authored-by: Lasse Rempe <lasse.rempe@manchester.ac.uk>
Co-authored-by: Filip Moruś <filip.morus@postgrad.manchester.ac.uk>
--- |
t-topology
new-contributor
|
30/0 |
Mathlib.lean,Mathlib/Topology/ContinuousMap/NormalFamily.lean |
2 |
3 |
['JX-Mo', 'github-actions'] |
nobody |
15-82573 15 days ago |
16-30872 16 days ago |
16-30826 16 days |
0 |
| 43973 |
grunweg author:grunweg |
feat: mvfderiv_const_smul and friends |
This specialises the lemma `mvfderiv_smul` to the case of the first factor being a constant. Proper version of #34262.
This was developed as part of the path to the Levi-Civita connection, but wound up not being strictly necessary for its development.
Co-authored-by: Patrick Massot [patrickmassot@free.fr](mailto:patrickmassot@free.fr)
---
- [x] depends on: #43986
- [x] depends on: #43987
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below 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 |
31/0 |
Mathlib/Algebra/Group/Action/Pi.lean,Mathlib/Geometry/Manifold/MFDeriv/NormedSpace.lean |
2 |
6 |
['github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
15-81213 15 days ago |
15-83260 15 days ago |
15-83322 15 days |
0 |
| 45130 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Basic): `commonNeighbors` is a strict subset of `neighborSet` for adjacent vertices |
Add `G.Adj u v → G.commonNeighbors u v ⊂ G.neighborSet u` and use it to golf `Adj.card_commonNeighbors_lt_degree`.
---
Also reworded the docstring because `card_commonNeighbors_le_degree` does not exist (never did) and it confused me. This is from leanprover-community/mathlib3#5789.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
14/7 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean |
2 |
1 |
['github-actions'] |
nobody |
15-76484 15 days ago |
15-77187 15 days ago |
15-77141 15 days |
1 |
| 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 |
7 |
['Multramate', 'WilliamCoram', 'faenuccio', 'github-actions', 'jjdishere'] |
nobody |
15-70254 15 days ago |
58-74350 58 days ago |
58-74543 58 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 |
94/1 |
Mathlib/Analysis/SpecialFunctions/Bessel.lean,Mathlib/Analysis/SpecialFunctions/RegularizedHypergeometric.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
15-63622 15 days ago |
47-76825 47 days ago |
47-76779 47 days |
1 |
| 45139 |
mortarsanjaya author:mortarsanjaya |
feat(Algebra/Order/Ring/Cast): weaken hypothesis on lemmas about `Int.cast` |
This PR mainly weakens the assumption on the lemmas on `Int.cast`; except for the last theorem `Int.nonneg_mul_add_of_sq_of_abs_le_one`, the lemmas only require the underlying type to be an additive group with one (not even commutative). The `IsStrictOrderedRing R` assumption is also weakened accordingly; we also do this for `Int.nonneg_mul_add_of_sq_of_abs_le_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]
-->
|
t-algebra label:t-algebra$ |
30/24 |
Mathlib/Algebra/Order/Ring/Cast.lean |
1 |
1 |
['github-actions'] |
nobody |
15-56568 15 days ago |
15-59672 15 days ago |
15-61800 15 days |
0 |
| 45135 |
rmcrkd author:rmcrkd |
feat(Analysis/Calculus/Deriv/Inverse): add HasDerivWithinAt.of_local_left_inverse |
Add lemma `HasDerivWithinAt.of_local_left_inverse`, following the existing pattern via `HasDerivWithinAt.hasFDerivWithinAt_equiv`.
Assisted by Claude (found the gap, helped with learning and examples, linting and building).
---
[#mathlib4 > HasDerivWithinAt.of_local_left_inverse](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/HasDerivWithinAt.2Eof_local_left_inverse/with/633245785) |
t-analysis
new-contributor
|
18/0 |
Mathlib/Analysis/Calculus/Deriv/Inverse.lean |
1 |
9 |
['github-actions', 'grunweg', 'rmcrkd'] |
nobody |
15-50504 15 days ago |
15-50504 15 days ago |
15-51493 15 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'] |
mattrobball assignee:mattrobball |
15-36515 15 days ago |
61-70920 61 days ago |
76-29016 76 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'] |
nobody |
15-35623 15 days ago |
37-34502 37 days ago |
91-38648 91 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$ |
115/0 |
Mathlib.lean,Mathlib/RepresentationTheory/Hecke/LeftFiniteDoubleCoset.lean |
2 |
1 |
['github-actions'] |
nobody |
15-22377 15 days ago |
15-23021 15 days ago |
65-29718 65 days |
4 |
| 45156 |
mcdoll author:mcdoll |
feat: the Fourier transform from L1 to C0 and simplification of Riemann-Lebesgue |
---
The deprecated theorems amount to roughly 120 lines of code less.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
large-import
|
89/31 |
Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Fourier.lean,Mathlib/Analysis/Fourier/LpSpace.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Topology/ContinuousMap/ZeroAtInfty.lean |
5 |
1 |
['github-actions'] |
nobody |
15-17540 15 days ago |
15-18304 15 days ago |
15-18258 15 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
maintainer-merge
|
5/11 |
Mathlib/Combinatorics/SimpleGraph/Girth.lean |
1 |
3 |
['YaelDillies', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
15-10759 15 days ago |
52-28525 52 days ago |
125-37494 125 days |
0 |
| 44983 |
tb65536 author:tb65536 |
feat(Analysis/Normed/Unbundled/GelfandRadiusNorm): the Gelfand radius as an algebra norm |
This PR uses the Gelfand radius to construct an algebra norm. This is used in #42985 to construct extensions of absolute values.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [x] depends on: #44973
|
t-analysis
tech debt
|
101/0 |
Mathlib.lean,Mathlib/Analysis/Normed/Unbundled/GelfandRadiusNorm.lean |
2 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
15-5467 15 days ago |
15-6290 15 days ago |
15-6257 15 days |
1 |
| 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 |
14-81662 14 days ago |
31-14924 31 days ago |
44-6345 44 days |
11 |
| 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]
-->
- [x] 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 |
14-81341 14 days ago |
25-75927 25 days ago |
60-53694 60 days |
4 |
| 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 |
14-81213 14 days ago |
62-27488 62 days ago |
72-68415 72 days |
3 |
| 42247 |
marcelolynch author:marcelolynch |
chore(Analysis/Asymptotics/Defs): scope and rename variable `E'''` |
The variable block at the top of the file declares `E'''` and `[SeminormedAddGroup E''']`. Only `isBigO_iff'` and `isBigO_iff''` use them. The instance binder is a candidate in every typeclass search in the file.
This PR moves the type and the instance into a section around the two theorems. The section calls the type `F`.
-------
The two statements do not change. A dump of all constant types in the module shows that every other declaration keeps its exact type. The two theorems keep the same hypotheses, and neither one has explicit arguments. Only the name and the position of the implicit type change.
Standalone elaboration of the file does not change measurably: 3.700 s here against 3.696 s on master, as medians of 6 interleaved runs.
Same mechanism as #42214 and #42238.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
t-analysis
LLM-generated
|
10/4 |
Mathlib/Analysis/Asymptotics/Defs.lean |
1 |
8 |
['github-actions', 'grunweg', 'marcelolynch', 'mathlib-merge-conflicts'] |
nobody |
14-76123 14 days ago |
14-77197 14 days ago |
24-30179 24 days |
0 |
| 39387 |
marcelolynch author:marcelolynch |
feat(Tactic/Linter): add superfluousExpose linter |
This PR adds the `linter.superfluousExpose` linter, the dual of `privateModule`. The linter warns on an `@[expose] public section` where no declaration benefits from the `@[expose]` modifier, and suggests that you remove the modifier. Downstream code typechecks the same after the removal.
## Which declarations benefit from `@[expose]`
A section-level `@[expose]` exposes the bodies of the `def` declarations in the section. A declaration benefits from the modifier when it is a `def` with an exposed body (`Environment.hasExposedBody`) and Lean does not expose that body without the modifier. The linter skips generated declarations (`isAutoDecl`).
These declarations do not benefit from the modifier:
- Declarations without an exposed body: theorems, `opaque` and `partial def`s, private declarations, propositional instances, `@[no_expose]` and `meta` defs, and the parser descriptors of `notation` and `syntax`.
- Declarations from an `abbrev` command. Lean exposes the body of an `abbrev` by its keyword, not by its reducibility, so a `@[reducible] def` benefits.
- Instances (`isInstanceCore`) from an `instance`, `deriving instance`, `inductive`, `class inductive`, or `structure` command. An `@[instance] def` follows the rules of a `def`.
- Structure projections.
Lean exposes the bodies in the last three cases in every public section. The linter reads the command kind through `set_option … in` and `open … in` wrappers. A `mutual` block or a macro gets no exemption.
Every other exposed `def` benefits from the modifier. Thus the linter is silent when in doubt, and a change to a reported section is safe.
## Implementation
The linter is a stateful linter (leanprover/lean4#14357). It tracks the regions where the scope is public and has `expose`. It classifies the constants of each command while the scopes of that command are active. As a result:
- Each expose section gets its own verdict.
- `scoped` and `local` instances get the correct classification.
- The warning points at the section header.
The known limitations cause false negatives only, and the module docstring lists them. The main case is a hand-written meta-code def, such as a `def` of type `Simproc`. The linter counts it as an ordinary def.
The test files cover positive and negative cases, with one file per case. The first cleanup sweep, #39388, applied an earlier version of these suggestions to 136 files.
Zulip thread: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Removing.20unnecessary.20.60.40.5Bexpose.5D.60/with/595180230
|
t-linter
LLM-generated
|
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 |
14-69619 14 days ago |
52-69718 52 days ago |
85-74554 85 days |
0 |
| 43817 |
marcelolynch author:marcelolynch |
chore: remove superfluous `@[expose]` modifiers from public sections |
This PR removes `@[expose]` from 91 public sections where it has no effect. A section-level `@[expose]` only changes the bodies of `def`s. These sections hold theorems, instances, abbrevs, structures, inductives, notation, or defs whose bodies Lean keeps private without the modifier.
The `superfluousExpose` linter from #39387 flagged 73 of the 4915 files that open an `@[expose] public section`. A scan of master found 23 more files whose sections contain no `def`.
To check each removal independently of the linter, a script compiles the module with and without the modifier and compares the results. In all 91 cases, the `.olean`, `.olean.private` and `.olean.server` files are byte-identical, and so are the compiler messages.
Five files are left out:
- Three files that the linter flags contain `@[no_expose]` declarations. Without the section `@[expose]`, Lean reports each `@[no_expose]` as redundant, so these files need a second edit. One of them has `@[no_expose, simps! -isSimp app]`, where the attribute still has an effect.
- `Mathlib/Lean/Elab/InfoTree.lean` and `Mathlib/Lean/Elab/Tactic/Meta.lean` cannot import the linter, because `Mathlib.Init` imports them. A direct comparison shows that the removal changes their `.olean`, so they keep the modifier.
#39388 was the first round of this cleanup.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
tech debt
LLM-generated
|
91/91 |
Mathlib/Algebra/Category/ModuleCat/Ext/Baer.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/OfCommRing.lean,Mathlib/Algebra/Field/Rat.lean,Mathlib/Algebra/Group/Commute/Defs.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/IsCommutative.lean,Mathlib/Algebra/Group/Semiconj/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/Regular.lean,Mathlib/Algebra/GroupWithZero/FunLike.lean,Mathlib/Algebra/HierarchyDesign.lean,Mathlib/Algebra/Homology/HomotopyCategory/ChainComplex.lean,Mathlib/Algebra/Notation/Pi/Defs.lean,Mathlib/Algebra/Order/Archimedean/Real/Basic.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Nonneg/Lattice.lean,Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean,Mathlib/Algebra/QuadraticAlgebra/AlgHom.lean,Mathlib/AlgebraicTopology/Quasicategory/TwoTruncatedQuasicategory.lean,Mathlib/Analysis/Asymptotics/Arith.lean,Mathlib/Analysis/Asymptotics/Basic.lean,Mathlib/Analysis/Asymptotics/Prod.lean,Mathlib/Analysis/Asymptotics/Ring.lean,Mathlib/Analysis/InnerProductSpace/Coalgebra.lean,Mathlib/Analysis/LocallyConvex/Asymptotics.lean,Mathlib/Analysis/Meromorphic/LogDeriv.lean,Mathlib/Analysis/Normed/Operator/Fredholm/Open.lean,Mathlib/Analysis/ODE/ExistUnique.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Measurable.lean,Mathlib/CategoryTheory/Abelian/OrthogonalClosed.lean,Mathlib/CategoryTheory/Adhesive/PushoutProduct.lean,Mathlib/CategoryTheory/ComposableArrows/Two.lean,Mathlib/CategoryTheory/Functor/Derived/RightDerivedCompositionCommShift.lean,Mathlib/CategoryTheory/Galois/FullSubcategory.lean,Mathlib/CategoryTheory/Limits/ConstructLimitMap.lean,Mathlib/CategoryTheory/MorphismProperty/LocalClosure.lean,Mathlib/CategoryTheory/ObjectProperty/FiniteLimits.lean,Mathlib/CategoryTheory/ObjectProperty/IsClosedUnderCardinalFilteredColimits.lean,Mathlib/CategoryTheory/ObjectProperty/OrthogonalLimits.lean,Mathlib/CategoryTheory/ObjectProperty/Subobject.lean,Mathlib/CategoryTheory/Presentable/Basic.lean,Mathlib/CategoryTheory/Presentable/IsDiscrete.lean,Mathlib/CategoryTheory/Presentable/PreservesCardinalPresentable.lean,Mathlib/CategoryTheory/Presentable/SolutionSetCondition.lean,Mathlib/CategoryTheory/Presentable/Uniformization.lean,Mathlib/CategoryTheory/Profunctor/Bicategory.lean,Mathlib/CategoryTheory/Triangulated/TStructure/TExact.lean,Mathlib/Data/ENat/Pow.lean,Mathlib/Data/EReal/BigOperators.lean,Mathlib/Data/NNRat/Floor.lean,Mathlib/Data/Nat/Cast/Pi.lean,Mathlib/Data/Rat/Floor.lean,Mathlib/FieldTheory/TranscendentalSeparable.lean,Mathlib/Geometry/Convex/AffineMap/Defs.lean,Mathlib/GroupTheory/FiniteAbelian/Basic.lean,Mathlib/GroupTheory/Finiteness.lean,Mathlib/GroupTheory/SpecificGroups/VirtuallyCyclic.lean,Mathlib/LinearAlgebra/Matrix/Echelon/Pivot.lean,Mathlib/MeasureTheory/Integral/MeanInequalities.lean,Mathlib/MeasureTheory/Integral/SetToL1/ChangeMeasure.lean,Mathlib/MeasureTheory/Integral/SetToL1/DominatedConvergence.lean,Mathlib/MeasureTheory/Measure/Dirac/Basic.lean,Mathlib/NumberTheory/LSeries/PrimesInAP.lean,Mathlib/NumberTheory/LSeries/RiemannZetaLogDeriv.lean,Mathlib/NumberTheory/NumberField/FiniteAdeleRing.lean,Mathlib/Order/CompleteBooleanAlgebra.lean,Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/Defs/Lattice.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Lattice/Nat.lean,Mathlib/Order/Sigma.lean,Mathlib/Order/SuccPred/CompleteLinearOrder.lean,Mathlib/Order/SuccPred/ENat.lean,Mathlib/RingTheory/Coalgebra/CoassocSimps.lean,Mathlib/RingTheory/LocalRing/ResidueField/Separable.lean,Mathlib/RingTheory/Localization/Saturation.lean,Mathlib/RingTheory/MvPowerSeries/Ideal.lean,Mathlib/RingTheory/QuadraticAlgebra.lean,Mathlib/RingTheory/QuasiFinite/Basic.lean,Mathlib/RingTheory/QuasiFinite/Weakly.lean,Mathlib/RingTheory/Radical/NatInt.lean,Mathlib/SetTheory/Ordinal/Family.lean,Mathlib/SetTheory/Ordinal/FundamentalSequence.lean,Mathlib/Tactic/Inclusion/Extension/IntervalDyadicReal/Basic.lean,Mathlib/Tactic/Inclusion/Extension/IntervalDyadicReal/Hypotheses.lean,Mathlib/Tactic/Inclusion/Extension/IntervalDyadicReal/Init.lean,Mathlib/Tactic/SimpLibraryNote.lean,Mathlib/Topology/Category/DeltaGenerated.lean,Mathlib/Topology/Category/TopCommRingCat.lean,Mathlib/Topology/EMetricSpace/Weak.lean,Mathlib/Topology/List.lean,Mathlib/Topology/MetricSpace/CoveringExponent.lean |
91 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
14-69506 14 days ago |
14-77185 14 days ago |
39-38307 39 days |
0 |
| 45176 |
marcelolynch author:marcelolynch |
ci: shake Archive and Counterexamples in the weekly shake job |
This PR adds `Archive` and `Counterexamples` to the weekly `lake shake` job. The job fetches their oleans with `lake exe cache get Archive.lean Counterexamples.lean` and builds them before it runs `lake shake`.
Five files get `shake: keep` annotations. `lake shake` does not see the uses inside `example` declarations or the `deriving Fintype` handler. Without the annotations, its edits break these files. With the annotations, the 76 shake edits to `Archive` and `Counterexamples` build.
A fork PR runs the workflow file from `master`, so this PR cannot test the workflow change in CI.
🤖
|
new-contributor |
10/10 |
.github/workflows/shake.yaml,Archive/Examples/Eisenstein.lean,Archive/Imo/Imo1988Q6.lean,Archive/Wiedijk100Theorems/Konigsberg.lean,Counterexamples/OrderedCancelAddCommMonoidWithBounds.lean,Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean |
6 |
2 |
['github-actions'] |
nobody |
14-68540 14 days ago |
14-68540 14 days ago |
14-68494 14 days |
0 |
| 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 |
6 |
['JX-Mo', 'github-actions', 'mathlib-splicebot'] |
nobody |
14-67225 14 days ago |
49-68743 49 days ago |
49-68795 49 days |
0 |
| 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 of 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 |
14-41353 14 days ago |
21-72065 21 days ago |
22-64095 22 days |
1 |
| 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'] |
sgouezel assignee:sgouezel |
14-36523 14 days ago |
27-49501 27 days ago |
75-43114 75 days |
1 |
| 43908 |
BryceT233 author:BryceT233 |
feat(Analysis/Normed/Module): real scalars on a complete normed `ℚ`-algebra |
We show that a complete normed `ℚ`-algebra carries a unique `NormedAlgebra ℝ 𝔸` 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]
-->
This arose as a byproduct of a personal project formalizing the Lie–Trotter formula. Along the way, I needed `exp (log x) = x` near the identity. I proved this using an ODE-based argument, which turned out to require somewhat less code. The real scalar structure is needed to carry out that argument in a complete normed `ℚ`-algebra without strengthening the assumptions to a normed `ℝ`-algebra.
For Mathlib, however, GPT-Astra suggested an alternative approach via `FormalMultilinearSeries` and `PowerSeries`. Although it requires more infrastructure upfront, it would yield useful general-purpose results such as `PowerSeries.coeff_subst_eq_sum_composition`, `HasFPowerSeriesWithinOnBall.hasSum_comp_of_summable` and `FormalMultilinearSeries.ofScalars_comp`.
[](https://gitpod.io/from-referrer/)
|
t-analysis |
65/0 |
Mathlib/Analysis/Normed/Module/Completion.lean |
1 |
1 |
['github-actions'] |
nobody |
14-14064 14 days ago |
16-37635 16 days ago |
48-55556 48 days |
0 |
| 45210 |
dongxuelian2 author:dongxuelian2 |
feat(LinearAlgebra/Matrix/Charpoly): finite determination of matrix power sequences |
Add finite-determination criteria for matrix sequences `C * A ^ k * B`, allowing the two square matrices to have different index types.
`Matrix.mul_pow_mul_eq_of_aeval_eq_zero` uses a common monic annihilating polynomial: agreement below its degree implies agreement at every natural exponent. `Matrix.mul_pow_mul_eq_of_lt_card_add` applies this to the product of the characteristic polynomials, giving the bound `Fintype.card ι + Fintype.card κ`.
The statements work over commutative rings and allow empty state index types. The proof reduces `X ^ k` modulo the common polynomial and uses `Polynomial.sum_modByMonic_coeff`, which handles degree zero without a separate dimension case split. This adds two theorems to the existing matrix-power reduction API without introducing imports or definitions.
The proof is adapted from [LeanForControl's finite-determination result](https://github.com/dongxuelian2/LeanForControl/blob/kalman-structural-completion/LeanForControl/LinearSystems/Realization/FiniteDetermination.lean).
---
### Validation
Checked locally with Lean v4.36.0-rc1 against mathlib master `3d14fd9a313ac35ed4b5c653ed5d99157c9e29f6`:
- `lake build Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff`
- `lake exe batteries/runLinter --no-build Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff`
- Direct invocation of the upstream text linters and module-name checks.
- Separate local examples for the requested field/`Fin` statement, either or both dimensions zero, degree-zero and degree-one common annihilators, and matching nonzero sequences in dimensions 1 and 2.
- `#print axioms` for both theorems reports only `propext`, `Classical.choice`, and `Quot.sound`.
- `git diff --check`.
The standalone `lint-style` launcher failed while loading Lake's workspace on Windows; its text linters passed when invoked directly. A clean full `lake shake` run was not obtained: the initial run needed uncached modules outside the targeted dependencies, and the forced run reported suggestions throughout the existing dependency closure. Imports are unchanged from upstream. No full-library build is claimed.
### AI use
OpenAI Codex was used to audit nearby APIs and possible duplicates, extract and generalize the LeanForControl proof, write the Lean code and local examples, run validation, and prepare this PR description.
|
t-algebra
LLM-generated
new-contributor
label:t-algebra$ |
44/0 |
Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean |
1 |
3 |
['dongxuelian2', 'github-actions'] |
nobody |
14-10976 14 days ago |
14-12139 14 days ago |
14-12093 14 days |
0 |
| 44028 |
alreadydone author:alreadydone |
feat(Topology): add `Homeomorph.Isotopy` and `MappingClassGroup` |
Also defines action of `MappingClassGroup` on singular homology, which can be used to define Torelli groups.
Note: for an orientable surface (or manifold) it's common in the literature to refer to the subgroup consisting of orientation-preserving (equivalently, acting trivially on top homology) homeomorphisms as the mapping class group. In our setup, this can be obtained by `(MappingClassGroup.toAutSingularHomology n).ker`, where `n` is the dimension.
TODO: define relative `Isotopy` (similar to `HomotopyRel`) and relative MCG.
Homotopy invariance of relative singular homology is at https://github.com/TauCetiProject/TauCeti/pull/7266.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below 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
t-topology
|
236/2 |
Mathlib.lean,Mathlib/AlgebraicTopology/SingularHomology/Basic.lean,Mathlib/AlgebraicTopology/SingularHomology/HomotopyInvariance.lean,Mathlib/Topology/Category/TopCat/Basic.lean,Mathlib/Topology/ContinuousMap/Basic.lean,Mathlib/Topology/Homotopy/Basic.lean,Mathlib/Topology/Homotopy/Equiv.lean,Mathlib/Topology/Homotopy/Isotopy.lean |
8 |
4 |
['github-actions', 'joelriou', 'mathlib-merge-conflicts'] |
nobody |
14-5938 14 days ago |
14-54795 14 days ago |
22-56357 22 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 |
17 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vlad902'] |
nobody |
14-2831 14 days ago |
14-3502 14 days ago |
61-85274 61 days |
0 |
| 41402 |
vlad902 author:vlad902 |
feat(RingTheory): compute the height of the ideal spanning a (sub)set of indeterminates in a polynomial ring |
The main theorem is that `(Ideal.span (MvPolynomial.X '' s)).height = s.encard` where `s` is an index set of indeterminates over a Noetherian polynomial ring..
---
AI disclosure: AI helped review and golf the 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]
-->
- [x] depends on: #41401
- [x] depends on: #41399
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
80/0 |
Mathlib.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/MvPolynomial/Height.lean,Mathlib/RingTheory/MvPolynomial/Ideal.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
13-85888 13 days ago |
16-49745 16 days ago |
16-50305 16 days |
0 |
| 45202 |
Hagb author:Hagb |
feat(RingTheory/MvPolynomial/MonomialOrder): some lemmas about `withBotDegree` |
It is lemmas used in #45208.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
50/0 |
Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean |
1 |
4 |
['github-actions', 'vlad902'] |
nobody |
13-70320 13 days ago |
14-13656 14 days ago |
14-13795 14 days |
1 |
| 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$ |
47/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 |
9 |
['Hagb', 'SnirBroshi', 'github-actions', 'leanprover-radar', 'themathqueen'] |
nobody |
13-62748 13 days ago |
17-51486 17 days ago |
19-48835 19 days |
0 |
| 45226 |
vihdzp author:vihdzp |
feat: ordinal lift commutes with 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]
-->
I got curious and decided to gave the Tau Ceti ordinal folder a read. It has exactly one theorem, and it's `lift_iSup`! So I figured I'd generalize, clean, and upstream it. |
t-set-theory |
9/0 |
Mathlib/SetTheory/Ordinal/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
13-61359 13 days ago |
13-63485 13 days ago |
13-63439 13 days |
0 |
| 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 |
13-55094 13 days ago |
41-48794 41 days ago |
122-86228 122 days |
1 |
| 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 |
13-38791 13 days ago |
39-74236 39 days ago |
54-52059 54 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'] |
nobody |
13-35625 13 days ago |
86-47556 86 days ago |
86-47510 86 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'] |
nobody |
13-35624 13 days ago |
44-11950 44 days ago |
76-24077 76 days |
0 |
| 43643 |
Sanghyeok0 author:Sanghyeok0 |
refactor(Logic/Relation): move inclusion lemmas out of EqvGen |
This refactor was split out from #40368 following the review discussion there.
Following further review, I moved all lemmas from the `Relation.EqvGen` namespace to `Relation`, except for `is_equivalence`, `setoid`, and `mono`, which retain their original names.
The old names are preserved as deprecated aliases for backward compatibility. I also updated the reference in `Mathlib/Order/JordanHolder.lean` to use `Relation.eqvGen_le` instead of the deprecated name.
**Changes:**
* `Relation.EqvGen.eqvGen_le` → `Relation.eqvGen_le`
* `Relation.EqvGen.eqvGen_mono` → `Relation.eqvGen_mono`
* `Relation.EqvGen.reflGen_le_eqvGen` → `Relation.reflGen_le_eqvGen`
* `Relation.EqvGen.symmGen_le_eqvGen` → `Relation.symmGen_le_eqvGen`
* `Relation.EqvGen.transGen_le_eqvGen` → `Relation.transGen_le_eqvGen`
* `Relation.EqvGen.reflTransGen_le_eqvGen` → `Relation.reflTransGen_le_eqvGen`
* `Relation.EqvGen.eqvGen_reflGen` → `Relation.eqvGen_reflGen`
* `Relation.EqvGen.eqvGen_transGen` → `Relation.eqvGen_transGen`
* `Relation.EqvGen.eqvGen_symmGen` → `Relation.eqvGen_symmGen`
* `Relation.EqvGen.eqvGen_reflTransGen` → `Relation.eqvGen_reflTransGen`
* `Relation.EqvGen.eqvGen_eq_reflTransGen` → `Relation.eqvGen_eq_reflTransGen`
* `Relation.EqvGen.reflTransGen_symmGen` → `Relation.reflTransGen_symmGen`
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-logic
new-contributor
|
53/20 |
Mathlib/Algebra/RingQuot.lean,Mathlib/Data/PFunctor/Multivariate/M.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/Logic/Relation.lean,Mathlib/Order/JordanHolder.lean |
5 |
17 |
['Sanghyeok0', 'github-actions', 'j-loreaux', 'themathqueen'] |
nobody |
13-30356 13 days ago |
13-34035 13 days ago |
39-10640 39 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
|
368/189 |
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 |
14 |
['github-actions', 'kbuzzard', 'leanprover-radar', 'mathlib-merge-conflicts', 'sharky564'] |
eric-wieser assignee:eric-wieser |
13-28343 13 days ago |
13-30140 13 days ago |
79-80976 79 days |
0 |
| 40204 |
Jun2M author:Jun2M |
feat(Combinatorics/HypergraphLike): add HypergraphLike class |
Introduces `HypergraphLike V I E G`, an object-indexed incidence interface for developing common graph theory across different representations.
Defines links and adjacency, incidence maps and fibers, and sets of incident vertices and edges. The basic API provides membership characterizations, fiber disjointness and union identities, and relationships between incidence data, links, and adjacency.
Codex assisted with the initial implementation and review; the code was subsequently revised by me.
The following is a longer write-up about what this PR is for, what this PR has, and why it is in this shape.
## Considerations
1. The main consideration for this PR is to create a common language different graph types can use to communicate their structure. The data in the type class is deliberately chosen to be as general as possible, accommodating hypergraphs, digraphs, simple graphs, and more.
2. (Hyper)Graphs are used both as a setting in which vertices, edges, walks, and colorings live, and as an algebraic object that can be modified. These two viewpoints can sometimes be at odds with each other. This typeclass is an acknowledgement that these two viewpoints are different, and both need to be fully supported separately with explicit connection. `HypergraphLike` is the way to view a graph as a setting. Various different graph structures are ways to view a graph as an algebraic object.
3. Graph theory has a lot of uses outside of graph theory. For example, group theory, topology, and more. The type class is designed to be easily applied to an arbitrary object that can be associated with a graph structure.
## Contents
The definition consists of:
| Data | Meaning |
| --- | --- |
| `V`, `I`, `E` | Ambient types of vertex, incidence, and edge labels |
| `V(G)`, `I(G)`, `E(G)` | The set of objects of the (hyper)graph structure |
| `attach'`, `edgeMap'` | The vertex and edge assigned to each incidence |
| `IsSource`, `IsTarget` | The directions in which an incidence can be traversed |
Every incidence is a source, a target, or both. This allows directed and undirected incidences in the same object. Distinct incidences may belong to the same vertex and edge.
`HypergraphLike` does not require the object to be a graph or hypergraph, or to be related to one. Any object can be associated with a (hyper)graph structure and use the graph theory API as such via a `HypergraphLike` instance. As a result, it is possible for an arbitrary object to be associated with a graph structure that it has nothing to do with.
- **`Link G e u v`:** a traversal of `e` from `u` to `v`, retaining a source incidence and a distinct target incidence. Distinctness prevents entering and leaving an undirected edge through the same incidence.
- **`IsLink` and `Adj`:** the existence of a link through a specified edge, and the existence of an edge linking two vertices.
- **`attach` and `edgeMap`:** total extensions of the incidence maps when the corresponding types are nonempty.
- **`edgeFiber` and `vertexFiber`:** the incidences belonging to an edge or vertex.
- **`incVerts` and `incEdges`:** the vertices incident to an edge and the edges incident to a vertex.
Apart from operations, graph API should be built on this type class. More specialized theories can add assumptions such as undirectedness, looplessness, or restrictions on the incidences of each edge. See PRs #43768, #43748 and more to come.
## Design decisions
### Why not require one concrete representation?
Alternative approach to unify various graph structures is to have one very general hypergraph definition and put all possible API there. By extending the definition with other conditions, you can inherit all the API while describing the graph class you want.
This is not used here because
1. It either loses the expected extensionality or restricts which representations can use the API.
2. The API can be inherited using the current instance method more generally (you don't need to `extend` the particular def to inherit them)
3. These two approaches have virtually no difference in formalization cost.
Asterisk for number 3 is that I have not tried to formalize every part of graph theory so it should be taken with a grain of salt. Nevertheless, I have not found cases where `extend` method reduces the formalization cost significantly.
The generality of application is the strong suit of the current approach. The discussion that led to this PR started with efforts to unify different graph structures in Mathlib and future structures to be implemented. The instance method allows even more flexibility. We could talk about a group (with a chosen generating set) being `HypergraphLike` by associating it with a Cayley graph, a CW complex with its 1-skeleton graph, or a lattice with its Hasse graph, in the same manner `SimpleGraph` is `HypergraphLike`. With `extend`, these will require a separate, bespoke association with the appropriate graph structure.
So, it suffices to argue that number 1 is true. The difficulty comes from the fact that the child structures have to contain additional data and therefore additional freedom that it really doesn't need. Consider two simple graphs `G` and `H`, each with vertex set `{u, v}` and single edge between them. In the naive approach where you define `SimpleGraph` like this:
```lean
structure SimpleGraph (ν ι ε : Type*) extends undirected ν ι ε, noMultiEdges ν ι ε ... where
```
Then, `G = H` may not hold. They could have different edge type, incidence type, edge set, incidence set, etc. That is, we have extensionality issue.
The fix is to constrain further until simple graph structure uniquely determines the rest. Here is one possible definition:
```lean
structure SimpleGraph (ν : Type*) extends undirected ν (ν × ν) (Sym2 ν), noMultiEdges ν (ν × ν) (Sym2 ν) ... where
edgeMap'_eq (i) : edgeMap' i = Sym2.mk i.val.fst i.val.snd
attach'_eq (i) : attach' i = i.val.fst
```
Now, any `multigraph` that happens to be a simple graph cannot use `SimpleGraph` results without going through the normalization function, showing that normalization only changed the labels and showing that the normalization function preserves whatever properties, etc. Results that depend on simplicity should be available for arbitrary incidence representations satisfying simplicity, rather than only for a canonical `SimpleGraph` representation. This happens every time a canonical form is chosen to resolve extensionality issues.
### Why per-object indexing?
Indexing by graph type was something I have adopted from `HasAdj` PR (#35776) without critical thinking. In the discussion for `Quiver` (#45034), as soon as I wrote "HypergraphLike expects you to know the edge type before you know what graph you are working with.", I started to think why this is necessary. It is not.
All the code I have about HypergraphLike can be migrated to per-object indexing very easily. The statements did get longer due to adding `HypergraphLike` instance to each graph object but virtually all proofs worked without any changes.
Philosophically, it makes the role of `HypergraphLike` clearer. `HypergraphLike` is defined to have one common language between different graph structures and that common language is the label types and incidence data. Merely belonging to the same Lean type should not impose additional uniformity. Where a result needs shared labels or compatible incidence maps, it can state those requirements explicitly.
In the cases of `Quiver`, it can be supported by `HypergraphLike` as now we supply the edge type along with the specific `Quiver` instance, not before.
Another benefit is that you can use `HypergraphLike` even when not all elements of a type can be interpreted as a graph. This aligns with the rest of the type class hierarchy being built on `HypergraphLike`. (#43768, #43748) `G : Graph V E` could happen to be a simple graph. A subset of a plane could be graph-like.
### Why ambient labels and support sets?
The `id` function holds a special place in our heads. Consider `G`, K4 graph with vertex set `{1, 2, 3, 4}`, and `H`, K5 graph with vertex set `{1, 2, 3, 4, 5}`. Remove edge `s(1, 2)` from `H`. Up to isomorphism, `G` is still a subgraph of `H`. But, with respect to the `id` function, `G` is no longer a subgraph of `H`.
Without support sets, the vertex set is the whole type, so graphs on different vertex sets live on different types. Then only embeddings can be stated, and you lose the labelled subgraph relation. That is, without some special treatment for subtypes, `HypergraphLike` will say `G` is a subgraph of `H` as there exists embedding of `G` into `H`.
Support sets in the type class are exactly the mechanism that allows "special treatment" for subtypes.
## Related work (Not dependency)
- #36743
- [HasAdj discussion](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/HasAdj/with/575843445)
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
|
458/0 |
Mathlib.lean,Mathlib/Combinatorics/HypergraphLike/Basic.lean |
2 |
59 |
['Jun2M', 'SnirBroshi', 'YaelDillies', 'copilot-pull-request-reviewer', 'github-actions', 'tb65536'] |
nobody |
12-74688 12 days ago |
13-30047 13 days ago |
124-80803 124 days |
10 |
| 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 |
145/0 |
Mathlib.lean,Mathlib/Geometry/Convex/Polytope/Basic.lean,docs/references.bib |
3 |
72 |
['Parcly-Taxel', 'YaelDillies', 'faenuccio', 'github-actions', 'grunweg', 'martinwintermath', 'ooovi', 'vihdzp', 'wwylele'] |
faenuccio and grunweg assignee:grunweg assignee:faenuccio |
12-68590 12 days ago |
13-8558 13 days ago |
79-25227 79 days |
0 |
| 44913 |
Hagb author:Hagb |
chore(Algebra/MonoidAlgebra/Ideal): prove `AddMonoidAlgebra.mem_ideal_span_of'_image` with its `MonoidAlgebra` version |
Resolve the TODO in `AddMonoidAlgebra.mem_ideal_span_of'_image`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
large-import
label:t-algebra$ |
6/29 |
Mathlib/Algebra/MonoidAlgebra/Ideal.lean |
1 |
1 |
['github-actions'] |
nobody |
12-64054 12 days ago |
12-64056 12 days ago |
12-64321 12 days |
0 |
| 42702 |
artie2000 author:artie2000 |
chore(Data/SetLike): rename `IsConcreteLE` |
* Rename `IsConcreteLE` to `IsMemLE`, as disccused at https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/More.20.60IsConcrete.60.20classes.20for.20.60SetLike.60/with/622616098
* Move several lemmas that ended up in the `IsConcreteLE` namespace after #42666 into the root namespace, making the names longer to disambiguate them:
* `IsConcreteLE.le_iff` to `le_iff_mem_imp_mem`
* `IsConcreteLE.not_le_iff_exists` to `not_le_iff_exists_mem_notMem`
* `IsConcreteLE.lt_iff_le_and_exists` to `lt_iff_le_and_exists_mem_notMem`
* `IsConcreteLE.exists_of_lt` to `exists_mem_notMem_of_lt`
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below 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 |
221/218 |
Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/Algebra/Group/Submonoid/Basic.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/Submonoid/Support.lean,Mathlib/Algebra/Group/Subsemigroup/Defs.lean,Mathlib/Algebra/Lie/Engel.lean,Mathlib/Algebra/Lie/LieTheorem.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/Algebra/Module/Submodule/Equiv.lean,Mathlib/Algebra/Module/Submodule/Ker.lean,Mathlib/Algebra/Module/Submodule/Map.lean,Mathlib/Algebra/Module/Submodule/Range.lean,Mathlib/Algebra/Module/Torsion/PrimaryComponent.lean,Mathlib/Algebra/Pointwise/Stabilizer.lean,Mathlib/Algebra/Ring/NonZeroDivisors.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/AlgebraicGeometry/Sites/SmallAffineZariski.lean,Mathlib/AlgebraicTopology/SimplicialComplex/Basic.lean,Mathlib/Analysis/Calculus/TangentCone/Prod.lean,Mathlib/Analysis/Convex/Cone/Extension.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Basic/SetLike/Basic.lean,Mathlib/CategoryTheory/Groupoid/Subgroupoid.lean,Mathlib/CategoryTheory/Sites/Spaces.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/FieldTheory/Extension.lean,Mathlib/FieldTheory/Finite/Polynomial.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Basic.lean,Mathlib/FieldTheory/PurelyInseparable/Basic.lean,Mathlib/FieldTheory/RatFunc/IntermediateField.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean,Mathlib/Geometry/Euclidean/Incenter/SouthPole.lean,Mathlib/GroupTheory/FiniteAbelian/Basic.lean,Mathlib/GroupTheory/FiniteAbelian/Duality.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/Perm/MaximalSubgroups.lean,Mathlib/GroupTheory/SpecificGroups/Alternating/Centralizer.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/GroupTheory/SpecificGroups/ZGroup.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/GroupTheory/Torsion.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Basic.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean,Mathlib/LinearAlgebra/Basis/VectorSpace.lean,Mathlib/LinearAlgebra/Dual/Defs.lean,Mathlib/LinearAlgebra/Finsupp/Span.lean,Mathlib/LinearAlgebra/Finsupp/Supported.lean,Mathlib/LinearAlgebra/Pi.lean,Mathlib/LinearAlgebra/Prod.lean,Mathlib/LinearAlgebra/Projection.lean,Mathlib/LinearAlgebra/Projectivization/Subspace.lean,Mathlib/LinearAlgebra/Span/Basic.lean,Mathlib/LinearAlgebra/Span/Defs.lean,Mathlib/NumberTheory/ModularForms/Cusps.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Galois.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/Order/Atoms.lean,Mathlib/Order/PFilter.lean,Mathlib/Order/Sublattice.lean,Mathlib/RepresentationTheory/Stabilizer.lean,Mathlib/RingTheory/Conductor.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation/Valuation.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/DedekindDomain/Factorization.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/DedekindDomain/PID.lean,Mathlib/RingTheory/Extension/Cotangent/Basis.lean,Mathlib/RingTheory/Extension/Presentation/Core.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Finiteness.lean,Mathlib/RingTheory/Ideal/GoingUp.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Colon.lean,Mathlib/RingTheory/Ideal/NatInt.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean,Mathlib/RingTheory/Ideal/Norm/RelNorm.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/IntegralClosure/IntegrallyClosed.lean,Mathlib/RingTheory/Invariant/Basic.lean,Mathlib/RingTheory/KrullDimension/Zero.lean,Mathlib/RingTheory/Lasker.lean,Mathlib/RingTheory/LittleWedderburn.lean,Mathlib/RingTheory/Localization/AtPrime/Basic.lean,Mathlib/RingTheory/MvPolynomial/Ideal.lean,Mathlib/RingTheory/Nilpotent/Lemmas.lean,Mathlib/RingTheory/Polynomial/UniversalFactorizationRing.lean,Mathlib/RingTheory/SimpleModule/Isotypic.lean,Mathlib/RingTheory/SimpleRing/Basic.lean,Mathlib/RingTheory/Smooth/NoetherianDescent.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean,Mathlib/RingTheory/Support.lean |
106 |
16 |
['artie2000', 'github-actions', 'martinwintermath', 'mathlib-merge-conflicts'] |
nobody |
12-58429 12 days ago |
12-62173 12 days ago |
33-46221 33 days |
4 |
| 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 |
11 |
['MichaelStollBayreuth', 'amellendijk', 'github-actions', 'loefflerd', 'mathlib-dependent-issues', 'xroblot'] |
amellendijk assignee:amellendijk |
12-50833 12 days ago |
35-75171 35 days ago |
44-29219 44 days |
2 |
| 38223 |
Deicyde author:Deicyde |
feat(Geometry/Manifold): add `MfldCat`, the category of `C^n` manifolds |
Defines `MfldCat 𝕜 n`: the category of `C^n` manifolds over a field `𝕜`, in which the model with corners is allowed to vary between objects. An object bundles a model vector space `E`, a model space `H`, a model with corners `I : ModelWithCorners 𝕜 E H` and a term of `ModelWithCorners.MfldCat I n`--see #41109. This includes manifolds with boundary / corners.
For more discussion see this Zulip thread: [#PR reviews > #38223 The Category of C^n Manifolds](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2338223.20The.20Category.20of.20C.5En.20Manifolds/with/587038032)
Also added: `ContMDiffMap.id_apply`, `.coe_id` and `.coe_comp` which are comparable to `ContinuousMap` API.
### Future work
- ✅ Define a Monoidal structure via product manifolds, analogous to `Manifold.Topology.Category.TopCat.Monoidal` #38560
- ✅ Define the tangent functor: `M ↦ TM`, `F ↦ F.tangentMap` from `MfldCat (n+1) 𝕜` to `MfldCat n 𝕜` #38270
- Functor `FGModuleCat 𝕜 ⥤ MfldCat 𝕜 n` sending a finite-dimensional `𝕜`-vector space to the manifold modeled on itself. Left as `TODO`.
- Define `FGModuleCat 𝕜` as an enriched category over `MfldCat n 𝕜`. Then _smooth functors_ can be realized as endofunctors on the enriched category. This is the main motivation for this construction.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [x] depends on: #41109 [The category of `C^n` manifolds on a fixed model]
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
new-contributor
t-category-theory
|
210/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Category/MfldCat/Basic.lean,Mathlib/Geometry/Manifold/ContMDiffMap.lean |
3 |
63 |
['Deicyde', 'chrisflav', 'dagurtomas', 'github-actions', 'idontgetoutmuch', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'peabrainiac'] |
robin-carlier assignee:robin-carlier |
12-36528 12 days ago |
56-84022 56 days ago |
116-37815 116 days |
2 |
| 45266 |
RemyDegenne author:RemyDegenne |
feat(MeasureTheory): analytic sets wrt a paving |
Define analytic sets with respect to a paving (`IsPavingAnalytic`), which will be used to prove Choquet's capacitability theorem (the full proof is ready in the Brownian motion project).
These sets are not the same as `MeasureTheory.AnalyticSet`, although in Polish spaces they are closely related as described in the file docstring (this will be shown in 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]
-->
Most of the PR was written by hand first (notable exception: the lemma `IsPavingAnalyticFor.isPavingAnalyticFor_nat_nat`), but an LLM reviewed and golfed several proofs. |
brownian
LLM-generated
t-measure-probability
|
395/1 |
Mathlib.lean,Mathlib/MeasureTheory/PavingAnalytic.lean,Mathlib/Topology/Compactness/CompactSystem.lean,docs/references.bib |
4 |
1 |
['github-actions'] |
nobody |
12-13551 12 days ago |
12-14186 12 days ago |
12-14140 12 days |
0 |
| 45268 |
RemyDegenne author:RemyDegenne |
feat: bounds on covering numbers in finite dimensional spaces |
The main result is bounds of order `(r / ε) ^ d` on the covering numbers of a ball of radius `r` at scale `ε`.
Co-authored-by: Etienne Marion <66847262+EtienneC30@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]
-->
First written by hand for the `volume` measure in inner product spaces, then generalized with an LLM. |
LLM-generated
t-analysis
brownian
t-measure-probability
|
277/0 |
Mathlib.lean,Mathlib/Analysis/Normed/Module/Ball/Pointwise.lean,Mathlib/Basic/ENNReal/Inv.lean,Mathlib/MeasureTheory/Measure/Lebesgue/CoveringNumbers.lean,Mathlib/MeasureTheory/Measure/Lebesgue/EqHaar.lean,Mathlib/Topology/EMetricSpace/Defs.lean,Mathlib/Topology/MetricSpace/MetricSeparated.lean |
7 |
1 |
['github-actions'] |
nobody |
12-5713 12 days ago |
12-7074 12 days ago |
12-7028 12 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
maintainer-merge
|
15/3 |
Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
1 |
2 |
['YaelDillies', 'github-actions'] |
nobody |
12-4352 12 days ago |
117-29129 117 days ago |
117-29083 117 days |
0 |
| 45272 |
RemyDegenne author:RemyDegenne |
feat(Topology/EMetricSpace): chaining sequences |
Define a chaining sequence, which is a tool used to bound the supremum of stochastic processes.
Part of the proof of the Kolmogorov-Chentsov theorem.
Co-authored-by: Markus Himmel <markus@lean-fro.org>
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-topology
brownian
|
284/0 |
Mathlib.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/Topology/EMetricSpace/Chaining.lean |
3 |
1 |
['github-actions'] |
nobody |
12-1208 12 days ago |
12-2514 12 days ago |
12-2468 12 days |
0 |
| 38751 |
YaelDillies author:YaelDillies |
feat(Data/Finset/Density): more `NNRat.cast` lemmas |
From AddCombi
---
- [x] depends on: #38716
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below 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
label:t-algebra$ |
40/17 |
Mathlib/Data/Finset/Density.lean |
1 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
11-65321 11 days ago |
11-70248 11 days ago |
11-71211 11 days |
1 |
| 44810 |
zixiaowang17 author:zixiaowang17 |
feat(Combinatorics): add abstract graphical Markov properties |
Introduce the global, local, and pairwise Markov properties for undirected graphs, and prove
the forward implications global → local → pairwise under the semigraphoid axioms.
The implementation is a single module importing `Mathlib.Combinatorics.SimpleGraph.Walk.Basic`.
The current framework allows arbitrary vertex types, including infinite and uncountable types.
Reference: David Montague and Bala Rajaratnam, *Graphical Markov models for infinitely many
variables*, *Transactions of the American Mathematical Society* **370** (2018), no. 11,
7557–7603. [doi:10.1090/tran/7048](https://doi.org/10.1090/tran/7048).
---
I want to introduce “a graphical framework in which we can analyze the Markov properties
from a purely set theoretic perspective which is independent of probability theory,” as
described in [Section 4](https://arxiv.org/pdf/1501.07878#page=8).
Motivation: I was trying to provide a common foundation connecting graphical models in
statistics, random fields, and percolation on lattices. Along the way, I found that most of
the materials I read assumed finite vertex sets. However, I want to understand better what
drives the equivalence of the Markov properties, so that we can talk about theorems with
more flexibility. I then found this paper, which, in Section 4, takes a purely set-theoretic approach
to independence and graphical Markov properties, separately from its treatment of
measure-theoretic conditional independence in probabilistic models.
If this PR meets the requirements and is in the right direction, I plan to finish proving
the equivalence of the pairwise, local, and global Markov properties for ternary relations
under suitable intersection assumptions. In the long term, I plan to connect conditional
independence in probability with graphical models, including DAGs.
AI assistance: OpenAI Codex assisted with the Lean definitions and proofs. I checked every
line of the code. |
t-combinatorics
LLM-generated
new-contributor
|
231/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Markov.lean,docs/references.bib |
3 |
4 |
['github-actions', 'zixiaowang17'] |
nobody |
11-64895 11 days ago |
24-40345 24 days ago |
24-40299 24 days |
0 |
| 44978 |
ArtificialZeng author:ArtificialZeng |
feat(Analysis/Normed/Module): uniform bounds for compact injective families |
A continuous family of injective continuous linear maps, with finite-dimensional source over a complete nontrivially normed field, has a uniform positive lower bound on a compact parameter set. A second lemma gives a uniform operator-norm perturbation radius preserving injectivity; the perturbing family need not be continuous.
These estimates support compact-family derivative perturbation arguments. The proof uses `LinearMap.exists_antilipschitzWith` and `IsCompact.induction_on`, adds no imports, and does not require the target to be finite-dimensional or complete.
---
Local validation on base `4c71e7e7e5f99e938e520c4242aaf2522a594953`, Lean 4.36.0-rc1:
- `lake build Mathlib.Analysis.Normed.Module.FiniteDimension` passed after refreshing the base's dependency cache.
- Standard Mathlib source linters and examples covering a nonconstant compact family, empty sets, and a zero-dimensional source passed.
- A separate fresh compilation and axiom queries passed; both lemmas use only `propext`, `Classical.choice`, and `Quot.sound`.
- The same new proofs and a downstream derivative-estimate consumer also compiled against the pinned Lean 4.35.0 baseline.
AI disclosure: OpenAI Codex generated and adapted the proofs and performed automated source review and local checks. This draft is pending human review of the mathematics and API choices. Automated checks and AI review do not replace that review. Full upstream CI is still required. |
t-analysis
LLM-generated
new-contributor
|
57/0 |
Mathlib/Analysis/Normed/Module/FiniteDimension.lean |
1 |
3 |
['ArtificialZeng', 'github-actions'] |
nobody |
11-64679 11 days ago |
19-63570 19 days ago |
19-63524 19 days |
0 |
| 45204 |
Hagb author:Hagb |
feat(Combinatorics/Colex): `Colex (Finset _)` is well-founded |
It is used in #45208 to prove the termination of multivariate polynomial
reduction with decreasing `Colex` order on support of reduced polynomial w.r.t.
the monomial order.
(Lemmas about this fact are proved in #45206.)
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
t-combinatorics
|
74/0 |
Mathlib/Combinatorics/Colex.lean,Mathlib/Data/DFinsupp/WellFounded.lean,Mathlib/Order/PiLex.lean |
3 |
14 |
['Hagb', 'github-actions', 'vihdzp'] |
nobody |
11-63873 11 days ago |
14-22716 14 days ago |
14-22670 14 days |
1 |
| 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 |
11-62070 11 days ago |
38-40777 38 days ago |
39-44453 39 days |
1 |
| 44798 |
3y3y3y-huaiji author:3y3y3y-huaiji |
style(Order/Heyting): rename inf_himp to inf_himp_self |
Rename `inf_himp` to `inf_himp_self` to align with its dual `sup_sdiff_self` and companion lemma `himp_inf_self`, resolving an in-code TODO. Add a deprecated alias `inf_himp`.
---
> [!NOTE]
> **LLM Disclosure / AI Use**: This PR was prepared with the assistance of an LLM (`LLM-generated`). All proofs and statements have been formally verified by Lean 4 and checked with linters.
|
t-order
LLM-generated
new-contributor
|
5/4 |
Mathlib/Order/Heyting/Basic.lean |
1 |
4 |
['3y3y3y-huaiji', 'github-actions', 'plp127', 'vihdzp'] |
nobody |
11-59516 11 days ago |
24-61394 24 days ago |
24-61348 24 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 |
21 |
['YaelDillies', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
11-57272 11 days ago |
24-13184 24 days ago |
63-8435 63 days |
0 |
| 40368 |
Sanghyeok0 author:Sanghyeok0 |
feat: add confluence predicates for relations |
This PR adds a minimal relation-level API for confluence-style properties:
* `Relation.IsDiamond`
* `Relation.IsConfluent`
* `Relation.IsChurchRosser`
It also adds the basic API connecting these predicates:
* `Relation.ReflTransGen.to_eqvGen`
* `Relation.Join.le_eqvGen`
* `Relation.IsChurchRosser.isConfluent`
* `Relation.IsConfluent.isChurchRosser`
* `Relation.IsChurchRosser.join_reflTransGen_eq_eqvGen`
The main downstream application is the polynomial-reduction development in
#41475. There, polynomial reduction is treated as an ordinary relation on
`MvPolynomial`, and these predicates are used to formulate confluence and the
Church--Rosser property.
A more general rewriting API exists in CSLib. This PR does not attempt to
upstream that API wholesale; its scope is intentionally limited to the
declarations needed by the downstream polynomial application.
The earlier version of this PR also introduced
`Relation.StronglyConfluent` and additional equivalence packaging. Those
declarations have been removed to keep this PR small and application-driven.
Reference: Becker, Weispfenning, and Kredel,
*Gröbner Bases: A Computational Approach to Commutative Algebra*.
AI usage disclosure:
I used OpenAI Codex to generate initial drafts of the definitions, theorem statements, proof scripts, and docstrings. I made the final decisions on the mathematical scope and API design, reviewed the generated code and final changes, and made a few edits to statements and docstrings.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-logic
new-contributor
tech debt
LLM-generated
|
103/25 |
Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/Logic/Relation.lean |
2 |
38 |
['Hagb', 'Sanghyeok0', 'SnirBroshi', 'chenson2018', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
11-51979 11 days ago |
60-54009 60 days ago |
132-45237 132 days |
1 |
| 45287 |
JX-Mo author:JX-Mo |
feat(DoubleCoset): add `DoubleCoset.Quotient.inv` |
Add "the map sending `H₁gH₂` to `H₂g⁻¹H₁`" which is used to construct the involution of Hecke algebras. |
t-group-theory |
32/0 |
Mathlib/GroupTheory/DoubleCoset.lean |
1 |
1 |
['github-actions'] |
nobody |
11-48850 11 days ago |
11-49451 11 days ago |
11-49555 11 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, which the ideal quotients of #39790 don't cover. This PR adds the congruence-level constructions, so SymmetricAlgebra's bialgebra and Hopf algebra structures can descend from TensorAlgebra as suggested in #39579, once #31898 lands.
- [x] depends on: #41052
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
154/41 |
Mathlib/RingTheory/Bialgebra/Quotient.lean,Mathlib/RingTheory/HopfAlgebra/Quotient.lean |
2 |
6 |
['github-actions', 'hawkrobe', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
11-46845 11 days ago |
18-46523 18 days ago |
18-51901 18 days |
0 |
| 45288 |
JX-Mo author:JX-Mo |
feat(DoubleCoset): add `DoubleCoset.relPosition` |
This is used to analyze the decomposition of double coset. The main function is to switch the right coset to left coset. We have better API around left coset so it makes downstream proofs easier. If we doesn't want large import, we would have to give up `DoubleCoset.relPosition_smul`. But it seems reasonable here since `HgK` is the `H` orbit of `gK` and we will eventually want group action at some point. |
t-group-theory
large-import
|
27/1 |
Mathlib/GroupTheory/DoubleCoset.lean |
1 |
1 |
['github-actions'] |
nobody |
11-45914 11 days ago |
11-48792 11 days ago |
11-48930 11 days |
0 |
| 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'] |
thorimur assignee:thorimur |
11-36528 11 days ago |
42-61292 42 days ago |
103-31511 103 days |
0 |
| 40967 |
Formalistic03 author:Formalistic03 |
feat(Combinatorics/SimpleGraph/Paths): some lemmas about inducing walks |
Could also be done via `SimpleGraph.Walk.map_induce`, but I thought that doing it directly is not much worse.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
maintainer-merge
|
59/0 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Maps.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/Sym/Sym2.lean |
4 |
34 |
['Formalistic03', 'SnirBroshi', 'github-actions'] |
nobody |
11-35626 11 days ago |
32-54997 32 days ago |
125-68678 125 days |
0 |
| 45263 |
huntse author:huntse |
feat(Order/Filter/Cofinite): add `Filter.countable_sets_cofinite` |
My first attempt at a PR for mathlib so I apologize if I'm doing it wrong. I picked up a lemma in FLT that was marked
as TODO to upstream into mathlib (there it is Filter.cofinite.sets.countable in FLT/Mathlib/Order/Filter/Cofinite.lean)
and upstreamed it.
- I used a name which seemed more in keeping with mathlib convention but please lmk if I should rename it. Both
`countable_sets_cofinite` and `cofinite_sets_countable` seemed somewhat defensible.
- I changed it to a theorem since the neighbouring code seems to all be theorems.
- The actual lean proof is due to kbuzzard. I just copied it upstream and made the following tweaks:
- `(ι : Type*)` was not needed as that's mentioned higher in the file in a `variable` line
- I removed namespacing on Filter.cofinite as we're in that namespace here already
- I didn't use AI to generate this PR or description but since it's my first PR to mathlib and I'm a bit nervous I did
use AI to review the PR and give me suggestions. It suggested the name change and the removal of the redundant
namespacing and type info.
- FLT also has a Countable instance for ↥(cofinite).sets which I left there.
Co-authored-by: kbuzzard
|
t-order
FLT
new-contributor
|
5/0 |
Mathlib/Order/Filter/Cofinite.lean |
1 |
5 |
['github-actions', 'huntse', 'vihdzp'] |
nobody |
11-24920 11 days ago |
12-36625 12 days ago |
12-36579 12 days |
0 |
| 45136 |
raja-19 author:raja-19 |
chore(RingTheory/MvPolynomial/Homogeneous): add lemmas |
These lemmas are used in the proof that the Motzkin polynomial is not expressible as a polynomial sum of squares: #45138. |
t-ring-theory
new-contributor
|
52/0 |
Mathlib/RingTheory/MvPolynomial/Homogeneous.lean |
1 |
9 |
['github-actions', 'raja-19', 'vihdzp', 'wwylele'] |
nobody |
11-1394 11 days ago |
15-67961 15 days ago |
15-67915 15 days |
1 |
| 45137 |
raja-19 author:raja-19 |
chore(Algebra/Polynomial/BigOperators): add `natDegree_sum_pow_eq_of_even` |
This lemma is used in the proof that the Motzkin polynomial is not expressible as a polynomial sum of squares: #45138 . |
t-algebra
new-contributor
label:t-algebra$ |
125/0 |
Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/Order/WithBot.lean |
3 |
20 |
['SnirBroshi', 'github-actions', 'raja-19', 'wwylele'] |
nobody |
10-85779 10 days ago |
14-54697 14 days ago |
15-47307 15 days |
1 |
| 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 |
4 |
['Brian-Nugent', 'github-actions', 'justus-springer', 'mathlib-merge-conflicts'] |
nobody |
10-82473 10 days ago |
10-83033 10 days ago |
92-5711 92 days |
1 |
| 45306 |
JX-Mo author:JX-Mo |
feat(Group/Center): add `npow_mem_center` |
This is useful to cancel out the auto-generated `npow` instance diamond by manually providing the proof instead. |
t-algebra
easy
label:t-algebra$ |
4/0 |
Mathlib/Algebra/Group/Center.lean |
1 |
2 |
['JX-Mo', 'github-actions'] |
nobody |
10-81912 10 days ago |
10-84322 10 days ago |
10-84276 10 days |
0 |
| 44045 |
Whysoserioushah author:Whysoserioushah |
chore(NumberTheory/NumberField/Cyclotomic/Basic): remove all set_options from this file |
Co-authored-by: @riccardobrasca
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below 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
tech debt
|
73/49 |
Mathlib/NumberTheory/Cyclotomic/Basic.lean,Mathlib/NumberTheory/FLT/Three.lean,Mathlib/NumberTheory/GaussSum.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Basic.lean |
4 |
20 |
['Multramate', 'Whysoserioushah', 'github-actions', 'jjdishere', 'leanprover-radar', 'mathlib-merge-conflicts', 'riccardobrasca'] |
riccardobrasca assignee:riccardobrasca |
10-81478 10 days ago |
11-83594 11 days ago |
12-11578 12 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
maintainer-merge
|
32/9 |
Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean |
1 |
5 |
['YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
10-79641 10 days ago |
36-36904 36 days ago |
116-27089 116 days |
2 |
| 32840 |
joelriou author:joelriou |
refactor(CategoryTheory): remove the old Ext API |
As it is now possible to compute `Ext`-groups (defined using the derived category) using an injective resolution #32105 or a projective resolution #32816, the old `Ext` API (based on left derived functors) is removed.
---
- [x] depends on: #44124
- [x] depends on: #44190
- [x] depends on: #32816
- [x] depends on: #32105
- [x] depends on: #32814
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-category-theory
large-import
tech debt
|
285/29 |
Mathlib.lean,Mathlib/Algebra/Homology/Embedding/Basic.lean,Mathlib/Algebra/Homology/Embedding/CochainComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplexIsStrictlyGE.lean,Mathlib/Algebra/Homology/LinearYonedaObj.lean,Mathlib/Algebra/Homology/LocalCohomology.lean,Mathlib/CategoryTheory/Abelian/Ext.lean,Mathlib/CategoryTheory/Linear/Yoneda.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/Basic.lean,Mathlib/RepresentationTheory/Homological/Resolution.lean |
10 |
7 |
['github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
10-78205 10 days ago |
11-41767 11 days ago |
11-41878 11 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
maintainer-merge
|
36/0 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean |
1 |
3 |
['YaelDillies', 'github-actions'] |
nobody |
10-75083 10 days ago |
115-11706 115 days ago |
115-11660 115 days |
1 |
| 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$ |
453/16 |
Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/FieldTheory/TranscendentalSeparable.lean,Mathlib/RingTheory/LocalProperties/Reduced.lean |
3 |
38 |
['Multramate', 'Thmoas-Guan', 'github-actions', 'jjdishere', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
10-73294 10 days ago |
10-76377 10 days ago |
54-70101 54 days |
1 |
| 45245 |
YaelDillies author:YaelDillies |
feat(Algebra): right-divisibility under a hom |
Also move `map_dvd_iff` to the same file and deprecate `map_dvd_iff_dvd_symm` since it is stated in terms of `MulEquivClass.toMulEquiv` and is not essentially used 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 label:t-algebra$ |
21/28 |
Mathlib/Algebra/Divisibility/Hom.lean,Mathlib/Algebra/Ring/Divisibility/Basic.lean,Mathlib/RingTheory/UniqueFactorizationDomain/NormalizedFactors.lean |
3 |
3 |
['YaelDillies', 'github-actions', 'themathqueen'] |
nobody |
10-64702 10 days ago |
12-85687 12 days ago |
13-861 13 days |
2 |
| 42775 |
hawkrobe author:hawkrobe |
feat(RingTheory/HopfAlgebra): construct Hopf algebras from primitive generators |
Upgrade a bialgebra generated by primitive elements to a Hopf algebra (`HopfAlgebra.ofPrimitives`), given an anti-algebra hom `S : A →ₐ[R] Aᵐᵒᵖ` negating each generator, and show that such an `S` is the antipode (`HopfAlgebra.eq_antipodeAlgHomOp_of_primitives`). Both build on `HopfAlgebra.ofAntipodeOfAdjoin` from #41828, which superseded the generators construction this PR originally carried.
Split out of #39841. Claude Code was used to prepare this revision. |
t-ring-theory
new-contributor
|
31/4 |
Mathlib/RingTheory/HopfAlgebra/Primitive.lean |
1 |
3 |
['github-actions'] |
alreadydone assignee:alreadydone |
10-63498 10 days ago |
10-64039 10 days ago |
81-32625 81 days |
1 |
| 45290 |
Parcly-Taxel author:Parcly-Taxel |
feat: transitivity properties of graphs |
`isSymmetric_of_transitive_of_odd_degree` was first written by Codex (GPT-6.1 Sol), then heavily hand-optimised. The rest is entirely human-written. |
t-combinatorics
LLM-generated
|
228/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Transitive.lean,docs/references.bib |
4 |
23 |
['Parcly-Taxel', 'SnirBroshi', 'github-actions'] |
nobody |
10-62549 10 days ago |
10-71556 10 days ago |
11-17539 11 days |
1 |
| 45297 |
vihdzp author:vihdzp |
refactor: deprecate `DivisibleBy` in favor of a `Prop`-valued typeclass |
We deprecate `DivisibleBy` in favor of a new typeclass `IsDivisibleBy`, which is `Prop`-valued. This lets us avoid diamonds in circumstances where division is not unique or canonical, e.g. quotient groups. See [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Instances.20of.20DivisibleBy/with/566631239) for further discussion and motivation.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 deprecation linter doesn't seem to understand deprecations nested in `to_additive` attributes. Or maybe I'm doing them wrong? |
t-algebra
increases-technical-debt
label:t-algebra$ |
232/106 |
Mathlib/Algebra/Category/Grp/EnoughInjectives.lean,Mathlib/Algebra/Category/Grp/Injective.lean,Mathlib/Algebra/Group/Monoid.lean,Mathlib/Algebra/Module/CharacterModule.lean,Mathlib/Dynamics/Ergodic/AddCircle.lean,Mathlib/GroupTheory/Divisible.lean,Mathlib/GroupTheory/DivisibleHull.lean,Mathlib/MeasureTheory/Measure/Haar/Unique.lean,Mathlib/Topology/Instances/AddCircle/Defs.lean |
9 |
1 |
['github-actions'] |
nobody |
10-56226 10 days ago |
10-60098 10 days ago |
10-65923 10 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
|
151/5 |
Mathlib/Order/RelSeries.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
10-53605 10 days ago |
10-55800 10 days ago |
90-15887 90 days |
0 |
| 45326 |
hawkrobe author:hawkrobe |
feat(Algebra/DirectSum): internal direct sums under equivalences and fibrewise regrouping |
this PR gives two ways of producing internal direct sums.
* a direct sum is the internal direct sum of the images of its summands.
* regrouping an internal direct sum along the fibres of `f : ι → κ` gives an internal direct sum.
these are used in the proof that a tensor product of graded modules is graded (#42365).
Claude Code was used to prepare this PR.
|
t-algebra label:t-algebra$ |
89/1 |
Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Module.lean |
2 |
1 |
['github-actions'] |
nobody |
10-53500 10 days ago |
10-55769 10 days ago |
10-58212 10 days |
3 |
| 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 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
10-48422 10 days ago |
10-50878 10 days ago |
54-48453 54 days |
0 |
| 45133 |
SnirBroshi author:SnirBroshi |
feat(LinearAlgebra/Matrix/Rank): remove commutativity and finiteness requirements from `Matrix.rank` |
We have `Matrix.cRank` (`Cardinal`) / `Matrix.eRank` (`ENat`) / `Matrix.rank` (`Nat`), but the last one is defined differently (`finrank mulVecLin.range`) and so requires `[CommSemiring R]` and `[Fintype n]`.
This redefines `Matrix.rank` as `cRank.toNat` (equivalently, the `finrank` of the column space). This unifies the three rank definitions and lets us use similar proofs and keep similar APIs.
---
Since this causes a bit of a havoc in the file (thanks to the super useful `unusedFintypeInType` linter), I have not attempted to generalize theorems yet.
(except `rank_subsingleton`/`rank_one`/`rank_zero` since they were easy and right at the beginning)
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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$ |
147/126 |
Mathlib/LinearAlgebra/Matrix/Echelon/Decomposition.lean,Mathlib/LinearAlgebra/Matrix/Echelon/Pivot.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Card.lean,Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/Tactic/NormRank.lean |
5 |
4 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'themathqueen'] |
nobody |
10-48096 10 days ago |
10-48725 10 days ago |
15-55745 15 days |
0 |
| 45157 |
tb65536 author:tb65536 |
feat(Analysis/Matrix/Normed): non-archimedean operator norm inequality |
For matrices over a non-archimedean `SeminormedAddCommGroup`, the operator norm is not quite non-archimedean, but is at least non-archimedean up to multiplication by the number of columns (independent of the number of terms of the sum).
This is used in #42985 to prove that the Gelfand radius norm is nonarchimedean.
(I didn't bother adding the two-term version `‖M + N‖ ≤ Fintype.card β * max ‖M‖ ‖N‖` since it only beats the trivial bound `‖M + N‖ ≤ 2 * max ‖M‖ ‖N‖` when `β` is subsingleton).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
15/0 |
Mathlib/Analysis/Matrix/Normed.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
10-46159 10 days ago |
10-46840 10 days ago |
14-85854 14 days |
1 |
| 44021 |
mcdoll author:mcdoll |
feat(Analysis/Normed): boundedness of seminorms |
Define abstract boundedness and equivalence and use it to define both for seminorms. This has several aims: (a) do the same thing for families of seminorms and simplify some of the boundedness of linear maps construction (b) allow for equivalent norms of a normable space without any type synonyms (c) a streamlined version of `LinearMap.extendOfNorm` which hides most of the boilerplate.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below 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 |
277/0 |
Mathlib.lean,Mathlib/Algebra/Order/Module/Defs.lean,Mathlib/Analysis/Normed/Module/Seminorm/Bounded.lean |
3 |
1 |
['github-actions'] |
nobody |
10-36894 10 days ago |
10-38998 10 days ago |
10-41063 10 days |
0 |
| 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'] |
mattrobball assignee:mattrobball |
10-36528 10 days ago |
79-73502 79 days ago |
79-73458 79 days |
1 |
| 41729 |
vaca22 author:vaca22 |
feat(RingTheory/DedekindDomain): add divisor group core |
Add the divisor group of a Dedekind domain as a formal-sum model, together with the additive equivalence to the multiplicative group of nonzero fractional ideals.
**Relation to what Mathlib already has.** As pointed out on Zulip, Mathlib already knows that fractional ideals factor: `FractionalIdeal.count` gives the exponent of a height-one prime, and `ClassGroup` is built from fractional ideals directly. This PR does not re-prove any of that — it reuses `count` and `finite_factors` verbatim. What it adds is the *additive* packaging:
* `IsDedekindDomain.Divisor R := HeightOneSpectrum R →₀ ℤ`, so a divisor is a finitely supported integer-valued function and one can write `D₁ + D₂`, `-D`, `D v`, and use the whole `Finsupp` API (`support`, `sum`, induction on the support);
* `FractionalIdeal.divisorEquiv`, an `AddEquiv` from `(FractionalIdeal R⁰ K)ˣ` to `Divisor R`, turning ideal multiplication into divisor addition.
The multiplicative view is the right one for the class group; the additive one is what divisor-theoretic arguments are written in, where one constantly forms `D - D'`, compares coefficients prime by prime, and does induction over `D.support`. Having both, related by a single `AddEquiv`, means neither side has to be re-derived.
**Downstream use.** This is the bottom layer of a formalization of Riemann–Roch for algebraic function fields (announced in `#AI authored projects > Riemann–Roch for function fields`): `L(D)`, `deg D`, and the statement `ℓ(D) = deg D + 1 - g + ℓ(W - D)` are all phrased in terms of additive divisors, and the degree map is defined by summing coefficients over `D.support`.
Happy to reshape the API — in particular whether `Divisor` should be an `abbrev` or a structure, and whether this belongs next to `Factorization` rather than in its own file.
AI usage: LLM-generated, disclosed per the AI policy.
|
t-ring-theory
new-contributor
LLM-generated
|
100/0 |
Mathlib.lean,Mathlib/RingTheory/DedekindDomain/Divisor.lean |
2 |
4 |
['github-actions', 'grunweg', 'vaca22'] |
alreadydone assignee:alreadydone |
10-36523 10 days ago |
112-46494 112 days ago |
114-43651 114 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'] |
b-mehta assignee:b-mehta |
10-36519 10 days ago |
47-79403 47 days ago |
50-9842 50 days |
0 |
| 45324 |
joelriou author:joelriou |
feat(AlgebraicTopology): the model structure on Under categories |
This is dual to the existing construction for `Over` categories
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
117/3 |
Mathlib/AlgebraicTopology/ModelCategory/Over.lean,Mathlib/CategoryTheory/LiftingProperties/Over.lean,Mathlib/CategoryTheory/Limits/Over.lean,Mathlib/CategoryTheory/MorphismProperty/Comma.lean |
4 |
1 |
['FernandoChu', 'github-actions'] |
robin-carlier assignee:robin-carlier |
10-36514 10 days ago |
10-61164 10 days ago |
10-61118 10 days |
0 |
| 42912 |
justin-palumbo author:justin-palumbo |
feat(Topology/GDelta): a completely metrizable subspace of a T6 space is Gδ |
Adds TopologicalSpace.IsCompletelyMetrizableSpace.isGδ: a completely metrizable subspace of a T6 space is Gδ
This is one direction of a foundational fact in descriptive set theory --- the Polish subspaces of a Polish space are exactly the Gδ subsets.
The proof here is modeled on the exposition in Anush Tserunyan's descriptive set theory notes https://www.math.mcgill.ca/atserunyan/Teaching_notes/dst_lectures.pdf, with one adjustment; to make the formalization easier and avoid having multiple distance metrics instantiated at the same time, instead of directly defining open `U_n` with `s = ⋂ n, U` define them such that `s = closure s ∩ ⋂ n, U n` and then appeal to the fact closed sets are Gδ in a perfectly normal space.
---
- [x] depends on: #42896 [which fixes buggy naming present in Topology/Metrizable/CompletelyMetrizable]
This can be viewed as a companion to #42693, which - under the stronger assumption of the ambient space being Polish - establishes the other direction --- a Gδ subspace of a Polish space is itself Polish.
Together, these give Alexandrov's theorem, characterizing the Polish subspaces of an ambient Polish space as exactly the Gδ ones, and (via `Metric.PiNatEmbed.exists_embedding_to_hilbert_cube`) Polish spaces as exactly the Gδ subsets of the Hilbert cube. If and when both these PRs are committed, I anticipate adding these consequences to Topology/MetricSpace/Polish.lean
LLM usage: I wrote the initial version myself, while using Google's free "AI mode" to help me find relevant lemma names in the codebase, and afterward used helped Claude Opus to review, which led to simplifying some of the arguments. I take full responsibility for the code here
|
t-topology
new-contributor
|
91/0 |
Mathlib.lean,Mathlib/Topology/GDelta/CompletelyMetrizable.lean |
2 |
8 |
['github-actions', 'justin-palumbo', 'mathlib-dependent-issues', 'plp127'] |
felixpernegger assignee:felixpernegger |
10-30160 10 days ago |
78-79709 78 days ago |
78-79960 78 days |
0 |
| 43216 |
JadAbouHawili author:JadAbouHawili |
feat(Combinatorics/SimpleGraph/Clique): independence number is zero iff the graph has no vertices |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
62/11 |
Mathlib/Combinatorics/SimpleGraph/Clique.lean |
1 |
66 |
['JadAbouHawili', 'SnirBroshi', 'github-actions', 'mathlib-merge-conflicts'] |
SnirBroshi assignee:SnirBroshi |
10-8641 10 days ago |
12-18008 12 days ago |
57-50727 57 days |
0 |
| 42494 |
JadAbouHawili author:JadAbouHawili |
feat(Combinatorics/SimpleGraph/Connectivity): add edge reachability and connectivity numbers |
Define edge reachability and connectivity numbers with some basic API
Partially solves #34961
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
81/2 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean,Mathlib/Order/CompleteLattice/Lemmas.lean |
2 |
169 |
['JadAbouHawili', 'SnirBroshi', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
SnirBroshi assignee:SnirBroshi |
10-8634 10 days ago |
12-20032 12 days ago |
62-36772 62 days |
0 |
| 44885 |
3y3y3y-huaiji author:3y3y3y-huaiji |
feat(Combinatorics/Quiver/Path): monotonicity of valuations and cycle obstruction |
Define monotonicity of vertex valuations along paths in a quiver and deduce that
strict valuations rule out non-trivial cycles. As a consequence, `Reachable` is a
partial order when such a valuation exists.
---
> [!NOTE]
> **LLM Disclosure / AI Use**: This PR was prepared with the assistance of an LLM
> (`LLM-generated`). All proofs and statements have been formally verified by Lean 4
> and checked with linters. |
t-combinatorics
LLM-generated
new-contributor
|
65/2 |
Mathlib/Combinatorics/Quiver/Path.lean |
1 |
5 |
['3y3y3y-huaiji', 'github-actions', 'leanprover-radar'] |
nobody |
10-6681 10 days ago |
11-22951 11 days ago |
11-22905 11 days |
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/29 |
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 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
10-5099 10 days ago |
10-5744 10 days ago |
18-20341 18 days |
0 |
| 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 |
15 |
['JX-Mo', 'SnirBroshi', 'alreadydone', 'github-actions', 'grunweg', 'joelriou', 'leanprover-radar', 'robin-carlier', 'vihdzp'] |
nobody |
10-4749 10 days ago |
34-68888 34 days ago |
36-30076 36 days |
1 |
| 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$ |
130/108 |
Mathlib/LinearAlgebra/Matrix/Transvection.lean |
1 |
3 |
['Nicola9Falciola', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
10-3965 10 days ago |
10-5152 10 days ago |
43-17941 43 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
maintainer-merge
|
16/2 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
3 |
2 |
['YaelDillies', 'github-actions'] |
nobody |
10-3572 10 days ago |
113-52431 113 days ago |
113-52385 113 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
maintainer-merge
|
38/3 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Trails.lean |
2 |
5 |
['YaelDillies', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
10-3309 10 days ago |
52-25494 52 days ago |
114-23573 114 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
maintainer-merge
|
11/4 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean |
2 |
3 |
['YaelDillies', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
10-3133 10 days ago |
61-74532 61 days ago |
113-7192 113 days |
0 |
| 43427 |
smmercuri author:smmercuri |
feat: `LiesOver` valuations on `adicCompletion` |
---
- [x] depends on: #36769
- [x] depends on: #43428
- [x] depends on: #41702
- [x] depends on: #44279
- [x] depends on: #44666
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below 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 |
191/13 |
Mathlib/NumberTheory/NumberField/Completion/FinitePlace.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation/Completion.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation/Ramification.lean,Mathlib/RingTheory/Valuation/Extension.lean |
4 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'tb65536'] |
nobody |
10-1991 10 days ago |
10-2815 10 days ago |
10-13531 10 days |
2 |
| 45248 |
YaelDillies author:YaelDillies |
feat(Order): constructor for `OrderIso` from a bijective order-preserving map |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
20/0 |
Mathlib/Order/Hom/Basic.lean |
1 |
1 |
['github-actions', 'themathqueen'] |
nobody |
9-85702 9 days ago |
10-1993 10 days ago |
12-86317 12 days |
1 |
| 45175 |
marcelolynch author:marcelolynch |
chore(scripts): use the module system in scripts |
Convert seven `scripts/*.lean` files to the module system and remove `allowNonModules` from the `mk_all` and `check_title_labels` executables.
Notes:
- `main` is `public` in each executable. With a private `main`, the linker takes `main` from `libLeanExport` and the executable runs the wrong program without an error.
- `Mathlib.Util.GetAllModules` uses a `public section` instead of a `public meta section`, because `mk_all` calls it at run time.
- `lint-style` and `export_crossrefs` are not converted. `lint-style` uses `meta` declarations from `Mathlib.Tactic.Linter.TextBased`, and `export_crossrefs` reads declaration ranges, which a module import does not load.
🤖
|
|
46/25 |
Mathlib/Util/GetAllModules.lean,lakefile.lean,scripts/autolabel.lean,scripts/check_title_labels.lean,scripts/create_deprecated_modules.lean,scripts/extract-unique-nonascii.lean,scripts/find_command_range.lean,scripts/mk_all.lean,scripts/nightly-testing-checklist.lean |
9 |
3 |
['github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
grunweg assignee:grunweg |
9-74090 9 days ago |
9-77397 9 days ago |
11-5170 11 days |
0 |
| 45312 |
Nicola9Falciola author:Nicola9Falciola |
feat(LinearAlgebra): add det and charpoly of an endomorphism preserving complementary submodules and simplify proofs |
This PR adds the formulas for computing the determinant and the `charpoly` of a linear map when there exist
two complementary sub-modules stable with respect of that map. With this new lemmas I simplify the proof of `finrank_maxGenEigenspace_zero_eq ` that do not require anymore the choice of a basis.
It also adds the description of an endomorphism `f ` via the conjugation by `prodEquivOfIsCompl` as the product map of the restriction of `f` on the complementary sub-modules.
It also adds missing API for `.reflection` proving a simplification of the proof of `det_reflection` that do not requires the choice of a basis anymore.
Changes per file :
- Analysis/InnerProductSpace/Projection/FiniteDimensional : goofing of the proof of `det_reflection`
- Analysis/InnerProductSpace/Projection/Reflection : add missing API for the description of `K.reflection.toLinearMap` on `K` and its orthogonal complement and its restriction on the them.
- LinearAlgebra/Charpoly/ToMatrix : add the formula describing the charateristic polynomial of and endomorphism in terms
of the product of the charateristic polynomials of its restrictions.
- LinearAlgebra/Determinant : add the formula describing the determinant of and endomorphism in terms
of the product of the determinats of its restrictions.
- LinearAlgebra/Eigenspace/Zero : goofing the proof of `finrank_maxGenEigenspace_zero_eq`.
- LinearAlgebra/Projection : add the description of conjugation of the equivalence `prodEquivOfIsCompl.symm` on the endomorphisms of `E`.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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$ |
61/23 |
Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Analysis/InnerProductSpace/Projection/Reflection.lean,Mathlib/LinearAlgebra/Charpoly/ToMatrix.lean,Mathlib/LinearAlgebra/Determinant.lean,Mathlib/LinearAlgebra/Eigenspace/Zero.lean,Mathlib/LinearAlgebra/Projection.lean |
6 |
1 |
['github-actions'] |
nobody |
9-70693 9 days ago |
10-76861 10 days ago |
10-76815 10 days |
1 |
| 45363 |
Parcly-Taxel author:Parcly-Taxel |
chore: delete deprecated modules to April 2026 |
|
|
0/653 |
Mathlib.lean,Mathlib/Algebra/Field/Power.lean,Mathlib/AlgebraicTopology/SingularHomology/HomotopyInvarianceTopCat.lean,Mathlib/Analysis/Normed/Operator/Compact.lean,Mathlib/Analysis/Normed/Operator/FredholmAlternative.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Grp_.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Mod_.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Mon_.lean,Mathlib/CategoryTheory/Monoidal/Grp_.lean,Mathlib/CategoryTheory/Monoidal/Internal/Types/Grp_.lean,Mathlib/CategoryTheory/Monoidal/Mod_.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/Opposite/Mon_.lean,Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/ConcreteColorings.lean,Mathlib/Combinatorics/SimpleGraph/EdgeLabeling.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Counting.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Decomp.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Subwalks.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Traversal.lean,Mathlib/Condensed/CartesianClosed.lean,Mathlib/Condensed/Light/CartesianClosed.lean,Mathlib/Data/NNRat/Order.lean,Mathlib/Order/Bounded.lean,Mathlib/RingTheory/Regular/Depth.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean |
30 |
1 |
['github-actions'] |
nobody |
9-69800 9 days ago |
9-70432 9 days ago |
9-70386 9 days |
0 |
| 41241 |
intgrah author:intgrah |
feat(Order/Category): cartesian closed and distributive structure on PartOrd and Preord |
Give `PartOrd` and `Preord` `CartesianMonoidalCategory`, `MonoidalClosed`, and `IsCartesianDistributive` instances.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
maintainer-merge
|
311/0 |
Mathlib.lean,Mathlib/Order/Category/PartOrd/CartesianClosed.lean,Mathlib/Order/Category/PartOrd/Colimits.lean,Mathlib/Order/Category/PartOrd/Reflective.lean,Mathlib/Order/Category/Preord/CartesianClosed.lean,Mathlib/Order/Category/Preord/Colimits.lean,Mathlib/Order/Category/Preord/Reflective.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean |
8 |
27 |
['Vierkantor', 'YaelDillies', 'github-actions', 'intgrah', 'thomaskwaring'] |
nobody |
9-68039 9 days ago |
10-73607 10 days ago |
123-63406 123 days |
0 |
| 45371 |
felixpernegger author:felixpernegger |
feat(ci/weekly-lints): improve weekly linter formatting |
Enables new `BY_LINTER` and `LOCATIONS` modes of `zulip_build_report.sh` for the weekly linting report.
Merging this PR now ought to not cause issues, but it should be merged in parallel with https://github.com/leanprover-community/mathlib-ci/pull/93
See that PR for more info.
Made with 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
CI
|
2/0 |
.github/workflows/weekly-lints.yml |
1 |
1 |
['github-actions'] |
nobody |
9-67527 9 days ago |
9-67527 9 days ago |
9-67728 9 days |
0 |
| 42357 |
SynBurz author:SynBurz |
feat: the Krull dimension of the product of finitely many rings is equal to the maximum of Krull dimensions of the factors |
Add `ringKrullDim_pi_eq_iSup_ringKrullDim`. Also add useful defs: `LTSeries.sigmaEquiv`, `PrimeSpectrum.sigmaToPiOrderIso`, and lemmas `PrimeSpectrum.sigmaToPiOrderIso_apply`, Pi.not_comap_evalRingHom_le_comap_of_neq`, `LTSeries.sigma_fst_eq_fst`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
93/0 |
Mathlib/Order/RelSeries.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean |
3 |
7 |
['SynBurz', 'github-actions', 'mathlib-merge-conflicts', 'tb65536', 'wwylele'] |
nobody |
9-65893 9 days ago |
29-46162 29 days ago |
58-56931 58 days |
0 |
| 45220 |
xroblot author:xroblot |
feat(RingTheory/Polynomial/Cyclotomic/Eval): when is `ζ - 1` a unit |
For a primitive `n`-th root of unity `ζ` in a domain, `ζ - 1` is a unit precisely when the `n`-th cyclotomic polynomial takes a unit value at `1`. Consequently `ζ - 1` is a unit when `n > 1` is not a prime power, and, when `algebraMap ℤ R` is a local homomorphism (e.g. for rings of integers), only then. We also add `eval_one_cyclotomic_not_isPrimePow`, stated with `IsPrimePow`, and deduce the existing `eval_one_cyclotomic_not_prime_pow` from it.
:robot: This PR was extracted from the [SKW project](https://github.com/xroblot/SKW) by Claude.
|
t-ring-theory |
85/26 |
Mathlib/NumberTheory/NumberField/Cyclotomic/Basic.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Eval.lean,Mathlib/RingTheory/RootsOfUnity/CyclotomicUnits.lean |
3 |
10 |
['github-actions', 'tb65536', 'xroblot'] |
nobody |
9-64788 9 days ago |
9-68885 9 days ago |
10-72750 10 days |
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 |
197/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 |
7 |
['SnirBroshi', 'github-actions', 'themathqueen'] |
nobody |
9-64728 9 days ago |
9-64728 9 days ago |
13-44210 13 days |
0 |
| 44284 |
xroblot author:xroblot |
feat(NumberTheory/RamificationInertia): splitting of a prime in the decomposition ring |
If `𝓟` is the prime of the decomposition ring below `P`, then `P` is the only prime above `𝓟`, `𝓟` has the same ramification index and inertia degree in `B` as `p`, and both are `1` over `A`. The ramification index and inertia degree of `P` over the decomposition ring are computed as well.
The versions for the decomposition field are now deduced from these, and hold under weaker hypotheses than before.
Prepared with Claude Code 🤖
---
- [x] depends on: #44283
|
t-number-theory |
136/56 |
Mathlib/NumberTheory/RamificationInertia/HilbertTheory.lean |
1 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
tb65536 assignee:tb65536 |
9-64605 9 days ago |
9-64606 9 days ago |
9-65208 9 days |
7 |
| 45300 |
xroblot author:xroblot |
refactor(RingTheory/Ideal): generalize some absNorm lemmas and move primesEquiv |
This is the clean-up part of #42567, extracted so that the summability work can build on it.
Two divisibility and positivity results about the absolute norm of an ideal are generalized from `ℤ` to a Dedekind domain, and from prime ideals to proper ideals, with the earlier versions deprecated.
The equivalence between the height-one prime ideals of the integral closure of `ℤ` in `ℚ` and the prime numbers is moved to the Dedekind domain files, where it belongs, and redefined through the absolute norm rather than through a generator of the corresponding ideal of `ℤ`. It now assumes less, and the auxiliary API it used to be built from is deprecated without replacement.
Finally, the equivalence between the height-one spectra of two isomorphic rings is reworked so that the surjectivity proofs have the expected type, which removes the need for a `backward.isDefEq` option.
Prepared with Claude Code 🤖
|
tech debt |
136/71 |
Mathlib/NumberTheory/NumberField/Completion/FinitePlace.lean,Mathlib/NumberTheory/Padics/HeightOneSpectrum.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/Ideal/Int.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean |
5 |
1 |
['github-actions'] |
nobody |
9-62591 9 days ago |
10-78117 10 days ago |
10-78125 10 days |
1 |
| 45369 |
Multramate author:Multramate |
chore: fix stale file and module references in comments |
This updates references in comments and docstrings to files and modules that have been moved, renamed or deleted.
🤖 Generated with [Claude Code](https://claude.com/claude-code) |
LLM-generated |
38/44 |
Mathlib/Algebra/Group/TypeTags/Basic.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/Complex/JensenFormula.lean,Mathlib/Analysis/Convex/MetricSpace.lean,Mathlib/Analysis/InnerProductSpace/TensorProduct.lean,Mathlib/Analysis/Normed/Operator/BoundedLinearMaps.lean,Mathlib/Analysis/SpecialFunctions/Log/PosLog.lean,Mathlib/CategoryTheory/Bicategory/Functor/StrictPseudofunctor.lean,Mathlib/CategoryTheory/ConcreteCategory/Bundled.lean,Mathlib/CategoryTheory/EffectiveEpi/Basic.lean,Mathlib/CategoryTheory/Functor/FunctorHom.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Limits/Types/Products.lean,Mathlib/CategoryTheory/Monoidal/Closed/Enrichment.lean,Mathlib/CategoryTheory/Triangulated/Opposite/Pretriangulated.lean,Mathlib/CategoryTheory/Triangulated/TStructure/TruncLTGE.lean,Mathlib/Combinatorics/Enumerative/Pentagonal/Ring.lean,Mathlib/Data/List/TFAE.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/GroupTheory/GroupExtension/Defs.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,Mathlib/Probability/Independence/Conditional.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/Tactic/Basify.lean,Mathlib/Tactic/Basify/Attr.lean,Mathlib/Tactic/Ring/Compare.lean,Mathlib/Topology/Algebra/InfiniteSum/TsumUniformlyOn.lean,Mathlib/Topology/Algebra/Module/Spaces/WeakDual.lean |
28 |
6 |
['Multramate', 'felixpernegger', 'github-actions'] |
nobody |
9-60561 9 days ago |
9-68673 9 days ago |
9-68627 9 days |
0 |
| 45343 |
thinkthoughts author:thinkthoughts |
feat(Data/Nat/Totient): totient of a pairwise coprime product |
My PR adds a theorem for Euler's totient function over a product of natural numbers, where any two distinct factors have a greatest common divisor of 1.
It also adds a theorem for products of distinct primes, where each prime contributes its value minus one. The prime-specific result follows from the more general totient-product theorem.
Both results provide reusable statements in Mathlib using existing properties of Euler's totient function.
---
**Validation:** The revised PR passed all 12 applicable Mathlib CI checks, including build and lint checks. Two additional checks were skipped. No new imports or axioms introduced.
**Research context:** This comes from my work on the General Divisor Theorem and Lean prime-gap formalization; specifically consdering Euler's totient function and products of distinct primes.
General Divisor Theorem: https://github.com/thinkthoughts/general-divisor-theorem
Lean prime-gap formalization: https://github.com/thinkthoughts/lean-bgp212
Related (my initial) mathematical work: https://translatepi.ai/main.pdf
**AI assistance:** I used Claude to develop the Lean proofs, prepare the patch, and perform local compilation and lint checks. I used ChatGPT to review the mathematical specification and help identify a reusable Mathlib contribution. ChatGPT and DeepSeek also assisted with reviewing the sustainably optimized proof, and explaining its mathematical structure.
I read Cantor's diagonal argument in 2003 and have since directed my own work, and reviewed the results; so I'm responsible for the submitted work. And thanks for your help!
|
t-data
new-contributor
LLM-generated
|
18/0 |
Mathlib/Data/Nat/Totient.lean |
1 |
6 |
['SnirBroshi', 'github-actions', 'thinkthoughts'] |
nobody |
9-57385 9 days ago |
9-57385 9 days ago |
9-80849 9 days |
0 |
| 43539 |
abhijitaj1997 author:abhijitaj1997 |
feat(CategoryTheory/Monoidal/Cartesian/Endomorphism): add ring and semiring structures |
Given two monoidal object in a nice enough category, this show that the monoidal morphisms between then forms an additive group. This additive group is part of a larger semiring structure.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-category-theory
|
133/0 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Endomorphism.lean |
2 |
41 |
['Multramate', 'abhijitaj1997', 'alreadydone', 'github-actions', 'joelriou', 'robin-carlier'] |
joelriou assignee:joelriou |
9-54351 9 days ago |
9-54351 9 days ago |
58-13498 58 days |
0 |
| 45331 |
plp127 author:plp127 |
feat(RingTheory/Valuation): cardinality of a valued field is bounded by the cardinality of the residue field and value group |
We show the cardinality of a valued field is at most the cardinality of the residue field raised to the power of the cardinality of the value group.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
89/0 |
Mathlib.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/Cardinality.lean |
3 |
4 |
['github-actions', 'vihdzp'] |
nobody |
9-54144 9 days ago |
10-55379 10 days ago |
10-55333 10 days |
0 |
| 42189 |
cameronfreer author:cameronfreer |
feat(ModelTheory/Basic): add characterization of languages with countably many symbols |
Add the instance `Countable.countable_relations`, the counterpart of `Countable.countable_functions`, and relate `Countable L.Symbols` and `L.card ≤ ℵ₀` to the separate countability of function and relation symbols, which is how model-theoretic statements usually assume a countable language:
* `countable_symbols_iff : Countable L.Symbols ↔ Countable (Σ l, L.Functions l) ∧ Countable (Σ l, L.Relations l)`
* `card_le_aleph0_iff_countable : L.card ≤ ℵ₀ ↔ Countable (Σ l, L.Functions l) ∧ Countable (Σ l, L.Relations l)`
Also add a general instance `Countable.countable_sum` for `L.sum L'`, move the `constantsOn` instance from `Encoding.lean` to `LanguageMap.lean` as `Countable.countable_constantsOn`, and replace the `withConstants` instance in `Encoding.lean` with `Countable.countable_withConstants` in `LanguageMap.lean`, derived from the sum instance.
---
For example, [`Descriptive/Polish.lean#L46`](https://github.com/cameronfreer/infinitary-logic/blob/1a478e80794080a536931c029281bb65266b3171/InfinitaryLogic/Descriptive/Polish.lean#L46) in cameronfreer/infinitary-logic assumes only that the relation symbols are countable. Thanks to @NoneMore for suggesting the `Encoding.lean` cleanup.
🤖 These proofs were written with the assistance of Claude Opus 5 high and reviewed by GPT Sol 5.6 xhigh.
|
t-logic
new-contributor
LLM-generated
|
33/12 |
Mathlib/ModelTheory/Basic.lean,Mathlib/ModelTheory/Encoding.lean,Mathlib/ModelTheory/LanguageMap.lean |
3 |
5 |
['NoneMore', 'cameronfreer', 'github-actions'] |
nobody |
9-53627 9 days ago |
100-12206 100 days ago |
100-15368 100 days |
0 |
| 42758 |
cameronfreer author:cameronfreer |
feat(ModelTheory): add syntax and semantics for infinitary logic |
Add syntax and semantics for the infinitary logics L∞ω and Lω₁ω.
In `BoundedFormulaInf L ι α n`, the `iSup`/`iInf` constructors are indexed by a single type `ι`, which is used for every infinitary conjunction and disjunction in a formula. The specialization
```lean
abbrev BoundedFormulaω (α : Type u') (n : ℕ) := L.BoundedFormulaInf ℕ α n
```
lives in the same universe as the finitary `BoundedFormula`, as suggested by @plp127 in [#mathlib4 > ModelTheory: API for infinitary formulas of L_{∞,ω} @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/ModelTheory.3A.20API.20for.20infinitary.20formulas.20of.20L_.7B.E2.88.9E.2C.CF.89.7D/near/613390601).
Also add derived connectives with `alls`/`exs`, `Realize` with `simp` lemmas for each constructor and derived connective, and the embedding `BoundedFormula.toInf` with `realize_toInf`.
---
I developed this with extensive assistance from several Claude and GPT models along with [lean4-skills](https://github.com/cameronfreer/lean4-skills) and [lean-lsp-mcp](https://github.com/oOo0oOo/lean-lsp-mcp) as part of the ongoing project [cameronfreer/infinitary-logic](https://github.com/cameronfreer/infinitary-logic/).
|
t-logic
LLM-generated
new-contributor
|
446/0 |
Mathlib.lean,Mathlib/ModelTheory/Infinitary/Semantics.lean,Mathlib/ModelTheory/Infinitary/Syntax.lean,MathlibTest/InfinitarySyntax.lean |
4 |
4 |
['cameronfreer', 'github-actions'] |
nobody |
9-53617 9 days ago |
84-34697 84 days ago |
84-34651 84 days |
0 |
| 45385 |
vihdzp author:vihdzp |
feat: cofinality lemmas for ordinal arithmetic |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
37/0 |
Mathlib/SetTheory/Cardinal/Cofinality/Ordinal.lean |
1 |
1 |
['github-actions'] |
nobody |
9-48493 9 days ago |
9-49919 9 days ago |
9-49873 9 days |
0 |
| 29624 |
mcdoll author:mcdoll |
feat(LinearAlgebra/LinearPMap): add definition of resolvent and resolvent identities |
This PR defines the resolvent of an unbounded operator as a linear map. There are slight differences to the way the resolvent is defined in the literature: we use a purely algebraic description, in particular we do not assume that the operator is closed.
We prove the well-known first and second resolvent identities.
---
<!-- 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: #42423
- [x] depends on: #42425
- [x] depends on: #43923
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-analysis
label:t-algebra$ |
292/5 |
Mathlib.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/Resolvent.lean |
4 |
66 |
['YaelDillies', 'github-actions', 'j-loreaux', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'mcdoll', 'riccardobrasca'] |
nobody |
9-45011 9 days ago |
9-45011 9 days ago |
117-14396 117 days |
0 |
| 41882 |
theebayuser author:theebayuser |
feat(Data/List): decidability of HasPeriod and periods of repeated lists |
Hello, this PR extends `Mathlib/Data/List/PeriodicityLemma.lean` with:
* a `Decidable (List.HasPeriod w p)` instance (it is a prefix test), and
* two directions that relate periods to repetition:
* `hasPeriod_flatten_replicate` — `(replicate n l).flatten` has period `l.length`
* `eq_flatten_replicate_of_hasPeriod` — a word with period `p` and length `r * p` is the `r`-fold repetition of its length-`p` prefix.
This characterizes `r`-th powers of words by a period plus a length constraint, which a future follow-up PR that I plan to work on will use.
AI disclosure: This code was mostly generated by Claude Fable 5 and Opus 4.8 as part of my larger project on combinatorics on words, which I then reviewed and revised to contribute to mathlib.
|
t-data
LLM-generated
new-contributor
|
56/1 |
Mathlib/Data/List/PeriodicityLemma.lean |
1 |
8 |
['SnirBroshi', 'github-actions', 'theebayuser'] |
TwoFX assignee:TwoFX |
9-36507 9 days ago |
27-21524 27 days ago |
111-13230 111 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'] |
joelriou assignee:joelriou |
9-36500 9 days ago |
52-47604 52 days ago |
62-30365 62 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'] |
ADedecker assignee:ADedecker |
9-36499 9 days ago |
27-39468 27 days ago |
58-47925 58 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'] |
ADedecker assignee:ADedecker |
9-36498 9 days ago |
17-42709 17 days ago |
51-36360 51 days |
2 |
| 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'] |
ADedecker assignee:ADedecker |
9-36496 9 days ago |
50-46903 50 days ago |
50-46857 50 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'] |
kim-em assignee:kim-em |
9-36493 9 days ago |
25-33407 25 days ago |
25-33361 25 days |
0 |
| 45364 |
Parcly-Taxel author:Parcly-Taxel |
chore: delete deprecated declarations to April 2026 |
This deliberately excludes `Order.Bounded` with its 100% deprecated declaration proportion, which is handled in #45363. |
tech debt |
4/871 |
Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pushforward.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Free.lean,Mathlib/Algebra/Group/Pointwise/Finset/Scalar.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/LinearRecurrence.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Notation/Pi/Defs.lean,Mathlib/Algebra/Order/Ring/IsNonarchimedean.lean,Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean,Mathlib/Algebra/Ring/Int/Parity.lean,Mathlib/Analysis/Complex/UpperHalfPlane/MoebiusAction.lean,Mathlib/Basic/Logic/Basic.lean,Mathlib/CategoryTheory/ConcreteCategory/Basic.lean,Mathlib/CategoryTheory/ConcreteCategory/Forget.lean,Mathlib/CategoryTheory/Monad/Types.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Mod.lean,Mathlib/CategoryTheory/Monoidal/Mod.lean,Mathlib/Combinatorics/Additive/FreimanHom.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/Vertex.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Data/Finsupp/Indicator.lean,Mathlib/Data/Finsupp/Single.lean,Mathlib/Data/Finsupp/Weight.lean,Mathlib/Data/List/Basic.lean,Mathlib/FieldTheory/Galois/IsGaloisGroup.lean,Mathlib/GroupTheory/Divisible.lean,Mathlib/GroupTheory/SpecificGroups/Alternating.lean,Mathlib/GroupTheory/SpecificGroups/Alternating/Simple.lean,Mathlib/LinearAlgebra/AffineSpace/Combination.lean,Mathlib/LinearAlgebra/FreeModule/Basic.lean,Mathlib/LinearAlgebra/Matrix/ConjTranspose.lean,Mathlib/LinearAlgebra/Projection.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean,Mathlib/MeasureTheory/Integral/CircleIntegral.lean,Mathlib/NumberTheory/ModularForms/Discriminant.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean,Mathlib/Order/BooleanAlgebra/Basic.lean,Mathlib/Order/GaloisConnection/Basic.lean,Mathlib/Order/RelClasses.lean,Mathlib/Order/SuccPred/Basic.lean,Mathlib/Order/SuccPred/CompleteLinearOrder.lean,Mathlib/Order/SuccPred/Limit.lean,Mathlib/Order/SymmDiff.lean,Mathlib/Probability/Independence/Integration.lean,Mathlib/Probability/ProbabilityMassFunction/Binomial.lean,Mathlib/Probability/Process/Adapted.lean,Mathlib/Probability/Process/Predictable.lean,Mathlib/Probability/Process/Stopping.lean,Mathlib/RingTheory/Bialgebra/Equiv.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/IsGaloisGroup/Basic.lean,Mathlib/RingTheory/Localization/AtPrime/Basic.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean,Mathlib/RingTheory/Spectrum/Prime/RingHom.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/SetTheory/Ordinal/Family.lean,Mathlib/SetTheory/Ordinal/Univ.lean,Mathlib/Tactic/Core.lean,Mathlib/Topology/Algebra/Algebra.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean,Mathlib/Topology/Algebra/Order/ArchimedeanDiscrete.lean,Mathlib/Topology/CWComplex/Classical/Basic.lean,Mathlib/Topology/Category/DeltaGenerated.lean,Mathlib/Topology/Category/TopCat/Basic.lean,Mathlib/Topology/Compactification/OnePoint/ProjectiveLine.lean,Mathlib/Topology/Compactness/DeltaGeneratedSpace.lean,Mathlib/Topology/Order/Basic.lean |
73 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
9-36228 9 days ago |
9-38949 9 days ago |
9-68561 9 days |
0 |
| 45350 |
JovanGerb author:JovanGerb |
chore: decapitalize types in theorems |
According to the naming convention, types need to be decapitalized in theorem names. This PR fixes a few violations.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
|
69/35 |
Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/CategoryTheory/Extensive.lean,Mathlib/CategoryTheory/Monoidal/Comon_.lean,Mathlib/FieldTheory/IsAlgClosed/Classification.lean,Mathlib/GroupTheory/CosetCover.lean,Mathlib/MeasureTheory/Measure/PreVariation.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Basic.lean,Mathlib/Order/KrullDimension.lean,Mathlib/RingTheory/Regular/RegularSequence.lean,Mathlib/SetTheory/Cardinal/Embedding.lean |
10 |
5 |
['github-actions', 'grunweg'] |
grunweg assignee:grunweg |
9-35655 9 days ago |
9-35655 9 days ago |
9-35856 9 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'] |
nobody |
9-35625 9 days ago |
39-21867 39 days ago |
39-21821 39 days |
0 |
| 42353 |
sankalpsthakur author:sankalpsthakur |
feat(RingTheory): add nilpotence lemmas for zero sums |
In a semiring, adds:
- `sq_eq_sq_of_add_eq_zero`: if `x + y = 0` then `x^2 = y^2`
- `IsNilpotent.of_add_eq_zero_left`: if `x + y = 0` and `y` is nilpotent, so is `x`
- `isNilpotent_iff_of_add_eq_zero`: under `x + y = 0`, `x` is nilpotent iff `y` is
Motivated by #10539.
---
### Validation
Built locally: `lake build Mathlib.RingTheory.Nilpotent.Basic` succeeds.
### AI/LLM disclosure
AI coding tools were used to help draft this change and PR description. I reviewed the complete change, understand the reasoning, and verified the build locally before submitting. |
t-ring-theory
new-contributor
LLM-generated
|
49/0 |
Mathlib/RingTheory/Nilpotent/Basic.lean |
1 |
29 |
['github-actions', 'sankalpsthakur', 'tb65536'] |
mattrobball assignee:mattrobball |
9-34428 9 days ago |
72-13611 72 days ago |
78-21353 78 days |
0 |
| 32157 |
peabrainiac author:peabrainiac |
feat(Analysis/Calculus): Hadamard's lemma |
Add [Hadamard's lemma](https://en.wikipedia.org/wiki/Hadamard%27s_lemma) for functions from finite-dimensional normed spaces to Banach spaces.
---
<!-- 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: #31141
[](https://gitpod.io/from-referrer/)
|
t-analysis |
121/0 |
Mathlib.lean,Mathlib/Analysis/Calculus/Hadamard.lean |
2 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
9-34055 9 days ago |
9-34530 9 days ago |
9-35869 9 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-26474 9 days ago |
40-78484 40 days ago |
59-27792 59 days |
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/54 |
Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/DualNumber.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/Tutte.lean,Mathlib/LinearAlgebra/Determinant.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Pi.lean,Mathlib/Order/CompleteLattice/Basic.lean |
12 |
1 |
['github-actions'] |
nobody |
9-24465 9 days ago |
17-38657 17 days ago |
17-53031 17 days |
0 |
| 45404 |
davidiach author:davidiach |
feat(InformationTheory/KullbackLeibler): add restriction lemmas |
Restricting two finite measures to the same set decreases their KL divergence. This PR adds the integral identity that explains why, and the inequality that follows from it.
Neither lemma requires the set to be measurable. Both concern restrictions without normalization and build on the existing `klFun` API.
Verified against current mathlib on Lean 4.36.0-rc2, including builds, linters, and axiom checks.
AI assistance: Astra Pro identified the contribution; Codex extracted and refined the proofs, checked for duplicates, and ran verification.
|
t-measure-probability
LLM-generated
new-contributor
|
32/0 |
Mathlib/InformationTheory/KullbackLeibler/Basic.lean |
1 |
3 |
['davidiach', 'github-actions'] |
nobody |
9-7791 9 days ago |
9-8286 9 days ago |
9-8240 9 days |
0 |
| 44039 |
Nicola9Falciola author:Nicola9Falciola |
feat(LinearAlgebra/Matrix/GeneralLinearGroup/Card): add the cardinality of `GL n R` given `f : R →+* S` a local ring hom |
---
Add a new section `IsLocalHom`, given a local ring hom `f : R →+* S` we have that:
- The induced map on `GL n R →* GL n S` is surjective
- We can explicitly express its kernel
- We can thus write `Nat.card GL n R = Nat.card (RingHom.ker f) ^ (n ^ 2) * Nat.card GL n S`
This is needed to prove the formula for `GL n ZMod N`.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [x] depends on: #43845
- [x] depends on: #43898
- [x] depends on: #43945
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
36/0 |
Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Card.lean |
1 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
9-5655 9 days ago |
9-6106 9 days ago |
9-14046 9 days |
1 |
| 44841 |
grunweg author:grunweg |
feat: `ContDiffAt.hasStrictFDerivAt_fderiv_of_minSmoothness_le` |
Give a sufficient criterion for a derivative being a strict derivative: a map being `C^1` at a point suffices over the real or complex numbers, otherwise we need analyticity.
This will be used to generalise the inverse function theorem to analytic manifolds.
---
- [x] depends on: #44840
I added the new lemmas to a new file, as there was no existing module with the right set of imports. I'm happy to move it elsewhere (or give the file a better name) if preferred.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
112/4 |
Mathlib.lean,Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Analysis/Calculus/ContDiff/StrictFDerivAt.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
9-4406 9 days ago |
9-5042 9 days ago |
9-5514 9 days |
2 |
| 42821 |
EtienneC30 author:EtienneC30 |
chore: deprecate PMF |
Deprecate [PMF](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Probability/ProbabilityMassFunction/Basic.html#PMF). The preferred spelling is to use [MeasureTheory.Measure.sum](https://leanprover-community.github.io/mathlib4_docs/Mathlib/MeasureTheory/Measure/MeasureSpace.html#MeasureTheory.Measure.sum) and [MeasureTheory.Measure.dirac](https://leanprover-community.github.io/mathlib4_docs/Mathlib/MeasureTheory/Measure/Dirac.html#MeasureTheory.Measure.dirac), see how [ProbabilityTheory.poissonMeasure](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Probability/Distributions/Poisson/Basic.html#ProbabilityTheory.poissonMeasure) and [ProbabilityTheory.geometricMeasure](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Probability/Distributions/Geometric.html#ProbabilityTheory.geometricMeasure) are defined for instance.
This was discussed on Zulip among reviewers, and see also https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/generic.20shannon.20entropy.20formalization.20mathlib4/near/584361371 for pointers to some PRs where some discussion on the topic happened.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #42908
- [x] depends on: #42909
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
large-import
|
258/175 |
Mathlib/Probability/ProbabilityMassFunction/Basic.lean,Mathlib/Probability/ProbabilityMassFunction/Binomial.lean,Mathlib/Probability/ProbabilityMassFunction/Constructions.lean,Mathlib/Probability/ProbabilityMassFunction/Integrals.lean,Mathlib/Probability/ProbabilityMassFunction/Monad.lean |
5 |
7 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
RemyDegenne assignee:RemyDegenne |
8-83509 8 days ago |
8-84485 8 days ago |
28-56961 28 days |
0 |
| 45409 |
JackFeliks author:JackFeliks |
feat(Analysis/SpecificLimits): bound alternating series error from convergence |
Our change allows the same error bound to be used in more cases, for example when calculating π/4 using the Leibniz series. Existing uses continue to work.
---
I came up with this contribution while testing my own experimental stack of algorithms.
Codex prepared the code and tests, and Argon reviewed the proposal. |
t-analysis
LLM-generated
new-contributor
|
81/27 |
Mathlib/Analysis/Real/Pi/Leibniz.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,MathlibTest/AlternatingSeries.lean |
3 |
3 |
['JackFeliks', 'github-actions'] |
nobody |
8-81635 8 days ago |
8-85188 8 days ago |
8-85142 8 days |
0 |
| 45207 |
Hagb author:Hagb |
feat({Algebra/MonoidAlgebra,RingTheory/MvPolynomial}/Ideal): characterize membership of ideal generated by polynomial terms |
$p \in \langle {i | c_ix^{\alpha_i}} \rangle$ if and only if $\mathrm{coeff}_d(p) \in \langle c_i | \alpha_i \le d \rangle$.
It is used in #45208.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
large-import
|
76/27 |
Mathlib/Algebra/MonoidAlgebra/Ideal.lean,Mathlib/RingTheory/MvPolynomial/Ideal.lean |
2 |
1 |
['github-actions'] |
nobody |
8-80252 8 days ago |
12-63108 12 days ago |
12-63705 12 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
|
16/0 |
Mathlib/Analysis/Fourier/FourierTransform.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
8-80060 8 days ago |
27-76573 27 days ago |
39-7069 39 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 |
8-79729 8 days ago |
49-13987 49 days ago |
49-51724 49 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 |
8-79260 8 days ago |
46-71561 46 days ago |
46-71515 46 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
maintainer-merge
|
55/1 |
Mathlib/RingTheory/MvPowerSeries/Order.lean |
1 |
7 |
['Vierkantor', 'WenrongZou', 'github-actions', 'riccardobrasca'] |
nobody |
8-77324 8 days ago |
19-2274 19 days ago |
19-2228 19 days |
1 |
| 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 |
587/0 |
Mathlib.lean,Mathlib/Order/FreeModLatThree.lean |
2 |
24 |
['YaelDillies', 'alreadydone', 'github-actions', 'mathlib-merge-conflicts', 'plp127', 'tb65536'] |
YaelDillies assignee:YaelDillies |
8-68003 8 days ago |
9-63102 9 days ago |
114-17613 114 days |
0 |
| 45426 |
tb65536 author:tb65536 |
chore(RingTheory/DedekindDomain/AdicValuation/Ramification): remove usage of Ideal.ramificationIdx' |
This PR removes usages of `Ideal.ramificationIdx'` from `RingTheory/DedekindDomain/AdicValuation/Ramification`, preparing the way for the eventual deprecation of `Ideal.ramificationIdx'`.
The generalization `multiplicity_map_eq_mul` was suggested by AI. It looks a bit strange, but is exactly what's needed here, and I couldn't find a cleaner generalization.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
t-algebra
label:t-algebra$ |
38/5 |
Mathlib/RingTheory/DedekindDomain/AdicValuation/Ramification.lean,Mathlib/RingTheory/DiscreteValuationRing/Basic.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/RingTheory/RamificationInertia/Ramification.lean |
4 |
1 |
['github-actions'] |
nobody |
8-61491 8 days ago |
8-61539 8 days ago |
8-61495 8 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]
-->
- [x] depends on: #45359 [additivization of dependencies] |
t-geometric-group-theory
new-contributor
LLM-generated
|
161/3 |
Mathlib.lean,Mathlib/Geometry/Group/CayleySimpleGraph.lean,Mathlib/Geometry/Group/README.md,Mathlib/Geometry/Group/WordMetric.lean |
4 |
16 |
['dkaysin', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'tb65536', 'vlad902'] |
ADedecker assignee:ADedecker |
8-57874 8 days ago |
8-58455 8 days ago |
21-83183 21 days |
0 |
| 45437 |
zblore author:zblore |
feat(Analysis/Normed/Module): projective space is Hausdorff and compact |
This shows `ℙ K V` is Hausdorff when continuous linear forms separate the points of `V`. Here `K` is Hausdorff with continuous multiplication and each unit of `K` acts continuously on `V`. It also shows `ℙ K V` is compact when `V` is a finite-dimensional topological vector space over a locally compact nontrivially normed field like ℝ, ℂ or the p-adics.
Hausdorff uses the open quotient map from #44117. Two nonzero vectors span the same line exactly when `f v * g w = f w * g v` for all continuous linear forms `f` and `g`. The same-line relation is an intersection of closed sets. Compactness goes through the compact shell in a proper normed space and then a basis.
It also adds an instance that continuous linear forms separate points in a finite-dimensional Hausdorff topological vector space over a complete nontrivially normed field. Mathlib's existing instances need ℝ or ℂ. With it `ℙ K V` is compact and Hausdorff for every finite-dimensional Hausdorff topological vector space `V` over a complete locally compact nontrivially normed field.
The Hausdorff part is adapted from the Tau Ceti project's [projective space file](https://github.com/TauCetiProject/TauCeti/blob/06c598245d42977f79bf09aafd3154dd215c23cd/TauCeti/Topology/Algebra/Projectivization.lean). The compactness proof and the separating dual instance are new.
This covers the compactness and Hausdorff instances for real projective space in #25999 but not its main result.
This is the next step towards the Fubini-Study metric and measure. I asked on Zulip whether this file is in the right place: https://leanprover.zulipchat.com/#narrow/id/634983707
---
I used Claude to draft the Lean against the existing Mathlib API. I used Codex and Claude to review it. I've reworked and checked every line myself and can explain all of it.
|
t-topology
t-analysis
LLM-generated
new-contributor
|
151/0 |
Mathlib.lean,Mathlib/Analysis/Normed/Module/Projectivization.lean |
2 |
3 |
['github-actions', 'zblore'] |
nobody |
8-53502 8 days ago |
8-53502 8 days ago |
8-53456 8 days |
0 |
| 45429 |
JJYYY-JJY author:JJYYY-JJY |
feat(Probability/Martingale): add Ville's inequality |
Proves Ville's inequality: a nonnegative supermartingale `f` reaches a level `a > 0` with probability at most `μ[f 0] / a`, both up to a fixed time and over all natural-number times. Nonnegativity is only required almost everywhere. Also adds a supermartingale version of expected_stoppedValue_mono.
This is the first PR towards Freedman's inequality.
Plan:
- quadratic upper bounds for Real.exp and Bernstein's inequality;
- the predictable quadratic variation of a discrete-time process, the Bernstein exponential
supermartingale, and Freedman's inequality, proved by applying Ville's inequality from this PR.
Found #43185 which may cause conflict, willing to fix once it's merged.
AI usage: Codex and Claude were used to refined part of the proofs. |
t-measure-probability
LLM-generated
|
104/0 |
Mathlib.lean,Mathlib/Probability/Martingale/OptionalStopping.lean,Mathlib/Probability/Martingale/Ville.lean,docs/references.bib |
4 |
2 |
['github-actions'] |
nobody |
8-52245 8 days ago |
8-60044 8 days ago |
8-59998 8 days |
0 |
| 43857 |
vihdzp author:vihdzp |
feat: split `transfiniteIterate` into `sup` and `inf` versions |
We rename `transfiniteIterate` to `supTransfiniteIterate` and create the analogous `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 |
2 |
['YaelDillies', 'github-actions'] |
YaelDillies assignee:YaelDillies |
8-49970 8 days ago |
8-49970 8 days ago |
50-65912 50 days |
0 |
| 45419 |
themathqueen author:themathqueen |
feat(RingTheory): some API for `LinearMap.baseChange` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
45/0 |
Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/Flat/Equalizer.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean |
4 |
3 |
['github-actions', 'themathqueen'] |
nobody |
8-48976 8 days ago |
8-73713 8 days ago |
8-74650 8 days |
0 |
| 45443 |
janbernloehr author:janbernloehr |
feat(Analysis/ODE): add variable-coefficient integral Grönwall |
Add `le_mul_exp_integral_of_le_const_add_integral`, the integral Grönwall inequality with a continuous nonnegative variable coefficient. If `f t ≤ c + ∫ s in a..t, β s * f s` on `[a, b]`, conclude `f t ≤ c * exp (∫ s in a..t, β s)`. Require continuity only on the interval, with no sign assumptions on `f` or `c`.
Use interval FTC and derivative monotonicity on the dominating primitive times its integrating factor. Put the theorem in a separate integral module so existing importers of differential Grönwall do not acquire FTC dependencies.
This lemma is used in the formalization of my dissertation for Volterra inverse bounds and stability estimates; one concrete use is the [Volterra inverse bound](https://github.com/janbernloehr/diss-lean/blob/2091dba5870425e38372f9e0a9106c4214a1dfbe/NLS/ZakharovShabat/ClassicalVolterraL2Bound.lean#L41). Keeping the coefficient's integral in the exponential matters when integral norms are controlled but pointwise bounds are not uniform. For another contribution arising from the same dissertation formalization, see [#45441](https://github.com/leanprover-community/mathlib4/pull/45441), on compact remainders under one-sided inverses.
---
## Related work
The same integral statement was previously proposed in [#37287](https://github.com/leanprover-community/mathlib4/pull/37287), which was withdrawn and not merged. The stronger variable-forcing proposal [#38829](https://github.com/leanprover-community/mathlib4/pull/38829) is also closed unmerged. Open [#39871](https://github.com/leanprover-community/mathlib4/pull/39871) concerns uniform Grönwall; its internal exponential comparison is a potential consumer of this lemma. No PR dependencies.
## Validation
Checked using Lean `v4.36.0-rc2`:
- Affected-module build and direct source check with warnings treated as errors.
- `mk_all --lib Mathlib --check` and `lint-style`.
- Default semantic linters and documentation linters.
- Axiom inspection: only `propext`, `Classical.choice`, `Quot.sound`.
- Clean merge simulation, diff/whitespace checks, and separate Volterra-use examples.
## AI assistance
OpenAI Codex was used to write the Lean implementation. The proof design was informed by downstream proofs and the earlier proposals linked above. |
t-analysis
LLM-generated
new-contributor
|
70/0 |
Mathlib.lean,Mathlib/Analysis/ODE/GronwallIntegral.lean |
2 |
2 |
['github-actions'] |
nobody |
8-44388 8 days ago |
8-45140 8 days ago |
8-45094 8 days |
0 |
| 45376 |
plp127 author:plp127 |
feat(Order): `IsModularLattice` instances for `WithTop` and `WithBot` |
Provide `IsModularLattice` instances for `WithTop` and `WithBot` when the base type is a modular 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]
-->
|
t-order |
11/0 |
Mathlib/Order/ModularLattice.lean |
1 |
4 |
['github-actions', 'plp127', 'vihdzp'] |
nobody |
8-43828 8 days ago |
9-63210 9 days ago |
9-63164 9 days |
0 |
| 45441 |
janbernloehr author:janbernloehr |
feat(Analysis/Normed/Operator/Compact): preserve compact remainders under one-sided inverses |
Add `IsCompactOperator.sub_id_of_rightInverse` and `IsCompactOperator.sub_id_of_leftInverse`: if `f - id` is compact and `g` is a continuous linear right or left inverse of `f`, then `g - id` is compact.
Work over an arbitrary ring and a module whose underlying additive group is a topological group. The proofs use compactness under composition and negation, through the identities `(f - id) ∘L g = id - g` and `g ∘L (f - id) = id - g`.
These lemmas are used in my thesis formalization to show that compact derivative remainders are preserved under inverse coordinate changes. They package an elementary consequence of compactness being preserved under composition with continuous linear maps and negation.
---
Local validation passed with Lean `v4.36.0-rc2`: the affected-module build, style lint, axiom checks, standalone usage examples, and `git diff --check`. There are no PR dependencies.
AI assistance: OpenAI Codex was used when writing the Lean proofs.
Related background: #35048 (the existing Fredholm alternative), #39274 (broader Fredholm infrastructure), and #43906 (a closed, unmerged compact-perturbation development).
|
t-analysis
new-contributor
LLM-generated
|
37/0 |
Mathlib/Analysis/Normed/Operator/Compact/Basic.lean |
1 |
2 |
['github-actions'] |
nobody |
8-43577 8 days ago |
8-46952 8 days ago |
8-46906 8 days |
0 |
| 45444 |
janbernloehr author:janbernloehr |
feat(Analysis): characterize weighted summability by geometric tails |
Add `ENNReal.tsum_rpow_mul_lt_top_iff_geometric_tails`: for $f:I\to[0,\infty]$, a size map $\nu:I\to\mathbb N$, a real base $b>1$, a positive integer cutoff $M$, and real $t>0$, set
$$
\begin{aligned}
S&:=\sum_i f_i,
& W_t&:=\sum_i(1+\nu(i))^t f_i,\\
T_k&:=\sum_{\nu(i)\ge b^kM}f_i,
& G_t&:=\sum_{k=0}^{\infty}b^{kt}T_k.
\end{aligned}
$$
Prove the quantitative ENNReal estimates
$$
W_t\le(1+bM)^t(S+G_t),
\qquad
G_t\le\frac{b^t}{b^t-1}\,W_t,
$$
and hence the equivalence
$$
W_t<\infty
\quad\Longleftrightarrow\quad
S<\infty\;\land\;G_t<\infty.
$$
The estimates allow infinite coefficients and divergent sums; the first also holds at order zero. Use nonnegative double-sum interchange and finite geometric-series estimates, then derive the real-valued summability criteria as corollaries. No monotonicity of the coefficients or finiteness of the size-map fibers is required.
This criterion is used in the formalisation of my dissertation, in a weighted-regularity argument.
---
Local validation passed with Lean `v4.36.0-rc2`: the affected-module build, style lint, 15 linters, axiom checks, standalone usage examples (including the nonintegral base $b=3/2$ and natural-base specialisations), and `git diff --check`. There are no PR dependencies.
AI assistance: OpenAI Codex was used to adapt and generalize the proofs for the ENNReal formulation.
|
t-analysis
new-contributor
LLM-generated
|
274/0 |
Mathlib.lean,Mathlib/Analysis/SummableGeometricTails.lean |
2 |
2 |
['github-actions'] |
nobody |
8-43572 8 days ago |
8-44620 8 days ago |
8-44574 8 days |
0 |
| 45445 |
janbernloehr author:janbernloehr |
feat(Analysis/Normed/Lp): detect PiLp norms by conjugate pairings |
Add norm-attaining conjugate test vectors for finite real or complex `PiLp` spaces, and deduce a criterion for bounding the norm from all conjugate-unit-ball pairings. Include the corresponding Hölder bound, both endpoint pairs `(1, ∞)` and `(∞, 1)`, and empty index types.
Use the bilinear pairing `∑ i, a i * b i`, with conjugation incorporated into the test vector, so the results support holomorphic interpolation. Reuse `NNReal.isGreatest_Lp` for finite exponents and handle the endpoints explicitly.
These lemmas are used in the formalization of my dissertation to recover ℓp norm bounds from finite test-pairing estimates in the discrete Hilbert-transform argument.
---
## Dependencies and merge order
No prerequisite PRs. Merge this before #45447, which is stacked on this change. The coordinate-restriction contribution is independent.
## Validation
Checked using Lean `v4.36.0-rc2`:
- Module build, style linter and declaration linters.
- Real/complex examples, p=2, both conjugate endpoint pairs and an empty index type.
- Generated import and diff/whitespace checks.
- Axiom inspection: only `propext`, `Classical.choice`, `Quot.sound`.
## AI assistance
OpenAI Codex has been used in the writing of the Lean implementation.
|
t-analysis
LLM-generated
new-contributor
|
167/0 |
Mathlib.lean,Mathlib/Analysis/Normed/Lp/PiLpDual.lean |
2 |
2 |
['github-actions'] |
nobody |
8-43567 8 days ago |
8-44281 8 days ago |
8-44235 8 days |
0 |
| 45447 |
janbernloehr author:janbernloehr |
feat(Analysis/Normed/Lp): interpolate finite matrix bounds |
Add `Matrix.norm_sum_mulVec_interpolate` and `Matrix.norm_mulVec_interpolate`, giving sharp interpolation of finite complex matrix bounds. If `A` has nonnegative bounds `B₀` from `ℓp₀` to `ℓq₀` and `B₁` from `ℓp₁` to `ℓq₁`, conclude for `0 ≤ t ≤ 1`
$$
\|Ax\|_s \le B_0^{1-t} B_1^t \|x\|_r,
\qquad
\frac1r = \frac{1-t}{p_0}+\frac{t}{p_1},\quad
\frac1s = \frac{1-t}{q_0}+\frac{t}{q_1}.
$$
Use entire power families and Hadamard's three-lines theorem for the bilinear estimate, then conjugate norm detection for the operator bound. Endpoint input exponents are positive and finite, with `1 ≤ r < ∞`; output exponents are strictly greater than one and may be infinite.
This result is used in the formalization of my dissertation to interpolate finite matrix estimates for the discrete Hilbert transform. The dimension-independent constant keeps the bounds uniform as finite truncations grow.
---
## Dependencies and merge order
Depends on #45445 **merge that PR first, then this one**.
## Validation
Checked using Lean `v4.36.0-rc2`:
- Module build, style linter and declaration linters.
- Interpolation from 2 and 4 to 8/3, and from `1 → ∞` and `2 → 2` to `4/3 → 4`.
- Zero bounds, t=0 and t=1, empty index types, generated import and diff/whitespace checks.
- Axiom inspection: only `propext`, `Classical.choice`, `Quot.sound`.
## AI assistance
OpenAI Codex has been used to write the Lean implementation based on my dissertation proofs. |
t-analysis
LLM-generated
new-contributor
|
472/0 |
Mathlib.lean,Mathlib/Analysis/Normed/Lp/PiLpDual.lean,Mathlib/Analysis/Normed/Lp/PiLpInterpolation.lean |
3 |
2 |
['github-actions'] |
nobody |
8-43561 8 days ago |
8-44096 8 days ago |
8-44050 8 days |
0 |
| 45448 |
grunweg author:grunweg |
feat(Geometry/Manifold/VectorBundle/Basic): small missing API lemmas |
For all three of them, the analogous lemmas already exists for differentiable sections. From the project on the fundamental of Riemannian geometry: Ehresmann connections, curvature and geodesics.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
18/0 |
Mathlib/Geometry/Manifold/VectorBundle/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
8-42546 8 days ago |
8-43190 8 days ago |
8-43144 8 days |
1 |
| 36878 |
plp127 author:plp127 |
chore: override `npow` in compositional monoids |
If `FooHom` is the type of foo homomorphisms, then `FooHom A A` naturally gets the structure of a monoid by setting one to be the identity homomorphism and setting multiplication to be composition. This PR overrides the `npow` field of this `Monoid` to have `f ^ n` be definitionally equal to `f^[n]`. `FooEquiv A A` also naturally gets a group structure in the same way, this PR overrides the `npow` field to have `f ^ n` be definitionally equal to `f^[n]` and to have `f ^ (n + 1)` be definitionally equal to `f ^ n * f`. This does break one pre-existing definitional equality: when `e : Equiv.Perm α`, `e⁻¹ ^ n = (e ^ n)⁻¹` will no longer be definitional.
This PR also sets the `zpow` field of `Group (FooEquiv A A)` instances so that `(f ^ n).toEquiv` is definitionally equal to `f.toEquiv ^ n`.
The monoid and group instances to modify are found by searching loogle for `"one_apply"`.
The motivation is to make natural number powers commute definitionally with the coercion from `AlgEquiv` to `LinearMap`.
---
- [x] depends on: #45218
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them 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 |
206/66 |
Mathlib/Algebra/AddConstMap/Equiv.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/Order/Group/End.lean,Mathlib/Algebra/Ring/Aut.lean,Mathlib/Algebra/Ring/Hom/Defs.lean,Mathlib/Algebra/Star/MonoidHom.lean,Mathlib/Algebra/Star/StarAlgHom.lean,Mathlib/Algebra/Star/StarRingHom.lean,Mathlib/FieldTheory/Perfect.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/Coalgebra/Hom.lean,Mathlib/Topology/Algebra/Algebra.lean,Mathlib/Topology/Algebra/Module/ContinuousLinearMap/Basic.lean |
18 |
11 |
['eric-wieser', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'plp127'] |
nobody |
8-37654 8 days ago |
8-40240 8 days ago |
13-63404 13 days |
1 |
| 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'] |
ocfnash assignee:ocfnash |
8-36528 8 days ago |
61-66678 61 days ago |
87-2148 87 days |
0 |
| 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'] |
joelriou assignee:joelriou |
8-36525 8 days ago |
84-12836 84 days ago |
99-26132 99 days |
0 |
| 42142 |
philipp-svinger author:philipp-svinger |
feat(Analysis/ODE): peano existence theorem, Tonelli approximation 1 |
Add Tonelli approximation method for ODEs.
Implement the structure IsPeano similar to IsPicardLindelof. Construct a sequence of approximations using Tonelli technique.
First step towards Peano existence
Co-authored-by: Florian Grube <fgrube@math.uni-bielefeld.de>
Co-authored-by: Paul Niessner <pniessner@math.uni-bielefeld.de>
Co-authored-by: Julian Rolfes <jrolfes@math.uni-bielefeld.de>
Co-authored-by: Luke Schleef <lschleef@math.uni-bielefeld.de>
Co-authored-by: Philipp Svinger <psvinger@math.uni-bielefeld.de>
---
We want to add the proof of the Peano existence theorem for ODEs, using Tonelli approximations.
This will be a series of PRs working towards this goal. In this first PR, we
implement the structure IsPeano similar to IsPicardLindelof and construct a sequence of approximations using Tonelli technique. See our further PRs for more information, last: #42148
---
The statements, definitions and proofs were written without AI.
AI was used afterwards to help us to adapt our code to the style and naming conventions.
We also used it in the process of writing a documentation.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
|
207/0 |
Mathlib.lean,Mathlib/Analysis/ODE/Peano.lean |
2 |
24 |
['github-actions', 'mcdoll', 'philipp-svinger', 'sgouezel'] |
urkud assignee:urkud |
8-36524 8 days ago |
41-54959 41 days ago |
98-17950 98 days |
5 |
| 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 |
10 |
['JovanGerb', 'Vierkantor', 'github-actions', 'mathlib-merge-conflicts'] |
kim-em assignee:kim-em |
8-36518 8 days ago |
9-44059 9 days ago |
20-51120 20 days |
0 |
| 45450 |
mcdoll author:mcdoll |
chore(NumberTheory): replace anonymous constructor by .mk in `ArithmeticFunction` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
tech debt
|
24/27 |
Mathlib/NumberTheory/ArithmeticFunction/Defs.lean,Mathlib/NumberTheory/ArithmeticFunction/LFunction.lean,Mathlib/NumberTheory/ArithmeticFunction/Misc.lean,Mathlib/NumberTheory/ArithmeticFunction/Moebius.lean,Mathlib/NumberTheory/ArithmeticFunction/VonMangoldt.lean,Mathlib/NumberTheory/ArithmeticFunction/Zeta.lean,Mathlib/NumberTheory/LSeries/Convolution.lean |
7 |
1 |
['github-actions'] |
nobody |
8-36513 8 days ago |
8-37192 8 days ago |
8-37146 8 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'] |
nobody |
8-35627 8 days ago |
33-17420 33 days ago |
33-17374 33 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 |
8-31863 8 days ago |
21-3753 21 days ago |
21-4007 21 days |
1 |
| 45451 |
Parcly-Taxel author:Parcly-Taxel |
chore: remove transparency `set_option`s in `SimpleGraph`, part 1 |
These should be less controversial changes from #45430. |
tech debt
t-combinatorics
|
14/33 |
Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Ends/Defs.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/StronglyRegular.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
8 |
1 |
['github-actions'] |
nobody |
8-28350 8 days ago |
8-32041 8 days ago |
8-31995 8 days |
1 |
| 41466 |
EzequielS2 author:EzequielS2 |
feat(Algebra/Order): stronger sublist product inequality via diff |
## Summary
Add `Sublist.prod_le_prod'_of_mem_diff` and `Sublist.sum_le_sum_of_mem_diff`.
## Test plan
- [x] `lake build` and `lake exe runLinter` on `Mathlib.Algebra.Order.BigOperators.Group.List`
|
t-algebra
new-contributor
label:t-algebra$ |
12/4 |
Mathlib/Algebra/Order/BigOperators/Group/List.lean |
1 |
8 |
['EzequielS2', 'github-actions', 'mathlib-merge-conflicts', 'themathqueen', 'wwylele'] |
nobody |
8-27203 8 days ago |
8-28107 8 days ago |
49-45024 49 days |
0 |
| 41449 |
EzequielS2 author:EzequielS2 |
feat(Topology/ContinuousMap): domMulAct action on C(X, Y) |
## Summary
- Define the action of `Mᵈᵐᵃ` on `C(α, β)` when `M` acts continuously on `α`.
- Add `SMul`, `MulAction`, `SMulCommClass`, and `ContinuousSMul` instances.
- Closes #5379.
## Test plan
- [x] `lake build Mathlib.Topology.ContinuousMap.DomAct`
- [x] `lake exe runLinter Mathlib.Topology.ContinuousMap.DomAct`
|
t-topology
new-contributor
|
105/0 |
Mathlib.lean,Mathlib/Topology/ContinuousMap/DomAct.lean |
2 |
7 |
['EzequielS2', 'github-actions', 'j-loreaux'] |
nobody |
8-24997 8 days ago |
8-25805 8 days ago |
29-56943 29 days |
1 |
| 45454 |
artie2000 author:artie2000 |
feat(Algebra/Group/Submonoid): bot is pointed, top is not |
Unnecessary lemmas split from #36863 using ChatGPT 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]
-->
|
t-algebra label:t-algebra$ |
12/2 |
Mathlib/Algebra/Group/Submonoid/Support.lean |
1 |
1 |
['github-actions'] |
nobody |
8-24512 8 days ago |
8-26190 8 days ago |
8-26144 8 days |
0 |
| 45442 |
plp127 author:plp127 |
feat(Order/ModularLattice): dualize `IsModularLattice` |
Dualize `IsModularLattice.mk` and `IsModularLattice.sup_inf_le_assoc_of_le`, so that `@[to_dual]` can translate them properly.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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/9 |
Mathlib/Order/ModularLattice.lean |
1 |
1 |
['github-actions', 'vihdzp'] |
nobody |
8-19238 8 days ago |
8-46014 8 days ago |
8-45968 8 days |
0 |
| 45423 |
kebekus author:kebekus |
feat(Analysis/Meromorphic): characterize meromorphic functions vanishing along `codiscreteWithin` |
This PR characterizes the meromorphic functions on `U` whose germ along `Filter.codiscreteWithin U` is zero, and adds a connectedness-free version of `MeromorphicOn.mul_inv_eventuallyEq`. These results are the ingredients needed to show that germs of meromorphic functions along `codiscreteWithin U` form a field when `U` is connected — the zero germ is exactly the class of functions of infinite order, and every other germ is invertible via the pointwise inverse. That construction will follow in a later PR.
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
|
54/10 |
Mathlib/Analysis/Meromorphic/IsolatedZeros.lean,Mathlib/Analysis/Meromorphic/Order.lean |
2 |
1 |
['github-actions'] |
nobody |
8-18423 8 days ago |
8-18423 8 days ago |
8-18377 8 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
|
80/56 |
Mathlib/Analysis/Complex/JensenFormula.lean,Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Complex/CircleMap.lean,Mathlib/Analysis/SpecialFunctions/Integrals/PosLog.lean |
5 |
22 |
['github-actions', 'kebekus', 'themathqueen'] |
nobody |
8-16609 8 days ago |
8-16609 8 days ago |
47-40114 47 days |
0 |
| 45392 |
vihdzp author:vihdzp |
chore: state Borel isomorphism theorem using `Uncountable` |
We also deprecate the specialization of it to `ℕ → Bool`, after proving the instance that allows to infer the uncountability of this type automatically.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
tech debt
|
53/25 |
Mathlib/Basic/Countable/Defs.lean,Mathlib/LinearAlgebra/Dimension/ErdosKaplansky.lean,Mathlib/MeasureTheory/Constructions/Polish/Basic.lean,Mathlib/MeasureTheory/Constructions/Polish/EmbeddingReal.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Finite.lean |
6 |
1 |
['github-actions'] |
nobody |
8-13451 8 days ago |
9-21691 9 days ago |
9-29062 9 days |
0 |
| 45453 |
Parcly-Taxel author:Parcly-Taxel |
chore: remove transparency `set_option`s in `SimpleGraph`, part 2 |
More fixes from #45430.
* `ConnectedComponent.lift` now has `Reachable` in its hypotheses, which allows removing a `set_option`.
* There was a long-standing typo in the statement of `Walk.ofBoxProdRight_boxProdRight`, which has been corrected. Equational lemmas for `Walk.ofBoxProd{Left,Right}` have been added too.
* The golfed proof of `free_killCopies` was done by GPT-6.1 Sol, then hand-optimised. |
tech debt
t-combinatorics
LLM-generated
|
52/67 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Copy.lean,Mathlib/Combinatorics/SimpleGraph/Ends/Defs.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Combinatorics/SimpleGraph/Prod.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
6 |
1 |
['github-actions'] |
nobody |
8-8215 8 days ago |
8-26777 8 days ago |
8-26731 8 days |
1 |
| 44363 |
Parcly-Taxel author:Parcly-Taxel |
chore: remove `set_option` in `Order.Nucleus` |
|
tech debt
t-order
|
7/15 |
Mathlib/Order/Nucleus.lean |
1 |
13 |
['Parcly-Taxel', 'github-actions', 'grunweg', 'mathlib-merge-conflicts', 'mathlib-splicebot'] |
nobody |
8-567 8 days ago |
9-760 9 days ago |
34-58767 34 days |
0 |
| 43209 |
YaelDillies author:YaelDillies |
feat(Geometry/Convex): `WithTop X` is a convex space if `X` is |
... by setting any convex combination that puts positive weight on `⊤`/`⊥` to `⊤`/`⊥`.
This will be used to talk about convex/concave functions to the extended real numbers.
Generated by Claude Opus, largely rewritten by hand afterwards.
Assisted-by: Claude Opus 5
---
- [x] depends on: #43610
- [x] depends on: #43612
- [x] depends on: #43613
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below 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
|
176/1 |
Mathlib.lean,Mathlib/Data/Finsupp/Option.lean,Mathlib/Geometry/Convex/ConvexSpace/Defs.lean,Mathlib/Geometry/Convex/ConvexSpace/WithTop.lean |
4 |
37 |
['YaelDillies', 'b-mehta', 'eric-wieser', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
7-81928 7 days ago |
7-84223 7 days ago |
18-40232 18 days |
0 |
| 44588 |
xroblot author:xroblot |
feat(RingTheory/RootsOfUnity): generalize Ideal.rootsOfUnityMapQuot to commutative rings |
The morphism from the roots of unity of order `n` to the units of a quotient ring is currently stated for the ring of integers of a number field, although nothing about it needs more than a commutative ring. It is moved to a new file and stated in that generality.
It is injective as soon as `n` does not lie in the ideal, for any domain.
:robot: This PR was extracted from the [SKW project](https://github.com/xroblot/SKW) by Claude.
|
t-ring-theory |
146/61 |
Mathlib.lean,Mathlib/NumberTheory/NumberField/Ideal/Basic.lean,Mathlib/RingTheory/RootsOfUnity/Quotient.lean |
3 |
1 |
['github-actions'] |
nobody |
7-79567 7 days ago |
7-79567 7 days ago |
7-80694 7 days |
0 |
| 37579 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph/Girth): add lemmas about the length of a walk being equal to the girth |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #37561
- [x] depends on: #37577
- [x] depends on: #37574
- [x] depends on: #37562
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
30/0 |
Mathlib/Combinatorics/SimpleGraph/Girth.lean |
1 |
19 |
['IvanRenison', 'SnirBroshi', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
7-74083 7 days ago |
7-74619 7 days ago |
42-5047 42 days |
0 |
| 45465 |
xroblot author:xroblot |
feat(FieldTheory/Finite): sum of the powers of the elements of a finite field |
For `i ≠ 0`, the sum of `x ^ i` over all the elements `x` of a finite field with `q` elements is `-1` if `q - 1` divides `i`, and `0` otherwise. As a special case, the sum of all the elements of a finite field is `1` if it has two elements and `0` otherwise.
The PR also adds, for a finite group with zero, the identification of a product (or a sum) over the nonzero elements with a product over the units, and fixes the docstring of `sum_pow_units` and the module docstring, which gave the value `q - 1` instead of `-1`.
:robot: This PR was extracted from the [SKW project](https://github.com/xroblot/SKW) by Claude.
|
t-algebra label:t-algebra$ |
38/17 |
Mathlib/Algebra/GroupWithZero/Units/Fintype.lean,Mathlib/FieldTheory/Finite/Basic.lean |
2 |
4 |
['SnirBroshi', 'github-actions', 'xroblot'] |
nobody |
7-73339 7 days ago |
7-73380 7 days ago |
7-73378 7 days |
0 |
| 45154 |
chenson2018 author:chenson2018 |
fix: scope some pointwise `Set` instances |
While working on relation algebras in CSLib, I noticed that a few pointwise data carrying instances on `Set` were not scoped. In particular, this includes `Set.instInvolutiveStar`, `Set.involutiveInv`, `Set.sdiv`, and their `to_additive` equivalents. I have changed these to `instance_reducible` definitions that are scoped instances under `Pointwise`. The names remain the same, and the only other changes are to add `open scoped Pointwise` as required in a few modules.
I originally asked about this at [mathlib4 > unscoped pointwise instances on Set](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/unscoped.20pointwise.20instances.20on.20Set/with/633732819)
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
|
53/8 |
Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Scalar.lean,Mathlib/Algebra/Lie/Subalgebra.lean,Mathlib/Algebra/Module/Submodule/Basic.lean,Mathlib/Algebra/Order/Ring/Ordering/Defs.lean,Mathlib/Algebra/Star/Center.lean,Mathlib/Algebra/Star/Conjneg.lean,Mathlib/Algebra/Star/LinearMap.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/Algebra/Star/Pointwise.lean,Mathlib/Algebra/Star/Subalgebra.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/Fuglede.lean,Mathlib/Analysis/Convex/Extreme.lean,Mathlib/Combinatorics/Additive/Dissociation.lean,Mathlib/Combinatorics/SimpleGraph/Cayley.lean,Mathlib/Combinatorics/SimpleGraph/Circulant.lean,Mathlib/FieldTheory/Minpoly/ConjRootClass.lean,Mathlib/GroupTheory/Coxeter/Basic.lean,Mathlib/LinearAlgebra/AffineSpace/AffineMap.lean,Mathlib/LinearAlgebra/Matrix/Cartan/Realisation.lean,Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean,Mathlib/MeasureTheory/Group/Integral.lean,Mathlib/Topology/Algebra/ValuativeRel/Completion.lean |
24 |
2 |
['github-actions', 'mathlib-merge-conflicts', 'thomaskwaring'] |
nobody |
7-69665 7 days ago |
7-72448 7 days ago |
15-27928 15 days |
0 |
| 45221 |
Nicola9Falciola author:Nicola9Falciola |
feat(Algebra/Algebra/Subalgebra/Basic): `Algebra R (p.compatibleMaps p)` and `Module.End.restrictAlgHom` |
---
This PR resolves TODO in `Algebra/Module/Submodule/LinearMap` (line 242).
It adds :
- API lemmas for `compatibleMaps`.
- The `SemiRing` and `Algebra` instances for `q.compatibleMaps.q` and relative API.
- The `AlgHom` version of `LinearMap.restric` and relative API.
- Fixes the docstring of `Submodule.compatibleMaps`, which referred to the wrong variable
names and said "ring" instead of "semiring".
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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$ |
53/1 |
Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Module/Submodule/LinearMap.lean |
2 |
13 |
['Nicola9Falciola', 'github-actions', 'mathlib-splicebot', 'ocfnash'] |
ocfnash assignee:ocfnash |
7-61927 7 days ago |
13-65707 13 days ago |
13-67265 13 days |
0 |
| 45455 |
artie2000 author:artie2000 |
feat(Algebra/Ring/Subsemiring): more properties of pointed, spanning subsemiring |
* Pointed subsemiring (ring cone) does not contain $$-1$$
* Spanning subsemiring preserved by map and comap
Unnecessary lemmas split from #36863 using ChatGPT 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]
-->
- [x] depends on: #36863 |
t-algebra label:t-algebra$ |
13/0 |
Mathlib/Algebra/Ring/Subsemiring/Support.lean |
1 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
7-61369 7 days ago |
7-61795 7 days ago |
7-62240 7 days |
0 |
| 45456 |
artie2000 author:artie2000 |
feat(Algebra/Order/Ring): more constructors for ring (pre)orderings |
Unnecessary lemmas split from #36863 using ChatGPT 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]
-->
- [x] depends on: #36863 |
t-algebra label:t-algebra$ |
18/0 |
Mathlib/Algebra/Order/Ring/Ordering/Basic.lean |
1 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
7-61317 7 days ago |
7-61813 7 days ago |
7-62159 7 days |
0 |
| 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
- [x] depends on: #45461
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below 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$ |
169/22 |
Mathlib/FieldTheory/KummerExtension.lean,Mathlib/FieldTheory/KummerPolynomial.lean |
2 |
9 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'plp127', 'tb65536', 'vihdzp'] |
nobody |
7-58292 7 days ago |
7-62405 7 days ago |
33-66435 33 days |
0 |
| 45227 |
artie2000 author:artie2000 |
chore(Algebra/Group/Subgroup): deprecate HasMemOrNegMem |
All usages of this class have been removed in favour of the definition `AddSubmonoid.IsSpanning`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #36863
- [x] depends on: #37298 |
t-algebra
increases-technical-debt
label:t-algebra$ |
10/6 |
Mathlib/Algebra/Group/Subgroup/Defs.lean |
1 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
7-55107 7 days ago |
7-57438 7 days ago |
7-59252 7 days |
0 |
| 45412 |
JadAbouHawili author:JadAbouHawili |
doc(Order/RelIso): fix docstrings in RelEmbedding and RelIso |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
4/3 |
Mathlib/Order/RelIso/Basic.lean |
1 |
5 |
['chenson2018', 'github-actions', 'themathqueen'] |
nobody |
7-54092 7 days ago |
7-58403 7 days ago |
8-83163 8 days |
0 |
| 45479 |
Jun2M author:Jun2M |
feat(Logic/Function): factor functions along surjections |
Define `Function.Surjective.factor`. If `g.FactorsThrough f`, this gives the unique function `d` satisfying `d ∘ f = g`.
Adapted from the [Matroid repository](https://github.com/apnelson1/Matroid).
Codex was used for review.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
|
94/0 |
Mathlib/Data/Set/Image.lean,Mathlib/Logic/Function/Basic.lean |
2 |
1 |
['github-actions'] |
nobody |
7-48605 7 days ago |
7-52717 7 days ago |
7-52671 7 days |
0 |
| 45483 |
chenle02 author:chenle02 |
feat(MeasureTheory/Function/ConvergenceInDistribution): the Billingsley approximation theorem |
## Statement
`tendstoInDistribution_of_approx` (Billingsley, *Convergence of Probability Measures*, 2nd ed.,
Theorem 3.2). Let `E` be a separable pseudometric space with its Borel σ-algebra, `l` a countably
generated filter on `ι` and `l'` a nontrivial filter on `κ`. Let `U i, X k i : Ω i → E` (on the
probability spaces `(Ω i, μ i)`), `Y k : Ωκ k → E` (on `(Ωκ k, ν k)`) and `Z : Ω' → E`. If
* `X k i` converges in distribution to `Y k` along `l`, for each `k`,
* `Y k` converges in distribution to `Z` along `l'`,
* `U i` is a.e.-measurable for each `i`, and
* for every `δ > 0`, `limsup_{i → l} μ i {ω | δ ≤ dist (U i ω) (X k i ω)}` tends to `0` along `l'`,
then `U i` converges in distribution to `Z` along `l`.
```lean
theorem tendstoInDistribution_of_approx {κ : Type*} {Ωκ : κ → Type*}
{mκ : ∀ k, MeasurableSpace (Ωκ k)} {ν : (k : κ) → Measure (Ωκ k)}
[∀ k, IsProbabilityMeasure (ν k)] {l' : Filter κ} [l'.NeBot] [l.IsCountablyGenerated]
{X : κ → (i : ι) → Ω i → E} {Y : (k : κ) → Ωκ k → E} {U : (i : ι) → Ω i → E}
(hX : ∀ k, TendstoInDistribution (X k) l (Y k) μ (ν k))
(hY : TendstoInDistribution Y l' Z ν μ') (hU : ∀ i, AEMeasurable (U i) (μ i))
(h_approx : ∀ δ > 0, Tendsto
(fun k ↦ limsup (fun i ↦ μ i {ω | δ ≤ dist (U i ω) (X k i ω)}) l) l' (𝓝 0)) :
TendstoInDistribution U l Z μ μ'
```
Two auxiliary results are added:
* `tendstoInDistribution_iff_forall_lipschitz_integral_tendsto`: the `TendstoInDistribution`
version of `tendsto_iff_forall_lipschitz_integral_tendsto` (bounded Lipschitz test functions),
analogous to the existing `tendstoInDistribution_iff_forall_integral_rclike_tendsto`.
* `abs_integral_sub_integral_le_of_lipschitzWith`: for `F` `L`-Lipschitz with oscillation at most
`M`, `|∫ F ∘ A ∂μ - ∫ F ∘ B ∂μ| ≤ L * δ + M * μ.real {δ ≤ dist A B}` (`δ ≥ 0`). This estimate
was previously inlined in the proof of `tendstoInDistribution_of_tendstoInMeasure_sub`; that
proof now calls the lemma (about 45 lines removed there), with no change to its statement.
## Proof idea
Test against a bounded `L`-Lipschitz `F` (oscillation `≤ M`). For any `k`, `δ`,
`|E F(U i) - E F(Z)| ≤ L δ + M P(δ ≤ dist (U i) (X k i)) + |E F(X k i) - E F(Y k)| + |E F(Y k) - E F(Z)|`.
Given `η > 0`, choose `δ` with `L δ < η/4`, then (using `l'.NeBot`) a single `k` for which the
last term is `< η/4` and `limsup_i P(δ ≤ dist (U i) (X k i)) < ε` with `M ε ≤ η/4`; for this `k`,
eventually in `i` the probability is `< ε` and the third term is `< η/4`.
## Relation to existing results
* Slutsky-type lemma `tendstoInDistribution_of_tendstoInMeasure_sub` is the special case
`X k = X`, `Y k = Z` (one prelimit space). The new theorem is more general in three ways: the
prelimit spaces `Ω i` may depend on `i` (matching the definition of `TendstoInDistribution`), the
approximating limits `Y k` live on their own spaces `Ωκ k`, and `E` only needs to be a separable
pseudometric space rather than a seminormed group. The statement and proof of the Slutsky lemma
are left as they are apart from extracting the comparison estimate; if reviewers prefer, it
could instead be derived from the new theorem (with `κ = Unit`, `l' = ⊤`).
* #37279 (multivariate CLT) also edits this file: it adds `:= by fun_prop` to
`forall_aemeasurable`, switches the `tendsto` field to `Measure.toProbabilityMeasure`, adds
`TendstoInDistribution.const_const`, removes some `set_option`s and adapts the proofs of
`congr`, `continuous_comp` and `tendstoInDistribution_of_ae_tendsto`. It contains nothing like the
approximation theorem. Its hunks are all above `TendstoInMeasure.tendstoInDistribution`, while
this PR inserts below it and edits the body of `tendstoInDistribution_of_tendstoInMeasure_sub`.
`git apply --check` of the #37279 hunks for this file on top of this branch succeeds (offset
only). The new proofs reach the `ProbabilityMeasure` coercion only through `simpa` and the
existing `tendstoInDistribution_iff_forall_integral_rclike_tendsto`, so they should not depend
on the representation that #37279 changes; this has not been compiled against #37279.
## Reference
P. Billingsley, *Convergence of Probability Measures*, 2nd ed., Wiley, 1999, Theorem 3.2.
AI tools (Claude and Codex) were used to port and adapt this proof to Mathlib; the author reviewed it.
|
t-measure-probability
new-contributor
LLM-generated
|
152/49 |
Mathlib/MeasureTheory/Function/ConvergenceInDistribution.lean |
1 |
4 |
['github-actions', 'lua-vr'] |
nobody |
7-42566 7 days ago |
7-46276 7 days ago |
7-46230 7 days |
0 |
| 45482 |
chenle02 author:chenle02 |
feat(Analysis/Distribution/SchwartzSpace): the Schwartz space on a finite-dimensional space is separable |
## What is proved
In `Mathlib/Analysis/Distribution/SchwartzSpace/Separable.lean`:
```lean
instance SchwartzMap.instSecondCountableTopology
{E F : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F]
[NormedSpace ℝ F] [FiniteDimensional ℝ E] [SecondCountableTopology F] :
SecondCountableTopology 𝓢(E, F)
```
so `SeparableSpace 𝓢(E, F)` is found by instance search, for example for
`𝓢(EuclideanSpace ℝ (Fin d), ℂ)`, and in particular for `𝓢(ℝ, ℝ)`.
There are two supporting instances, both stated in general form:
```lean
-- Mathlib/Topology/Compactification/OnePoint/Basic.lean
instance OnePoint.instSecondCountableTopology [WeaklyLocallyCompactSpace X] [R1Space X]
[SecondCountableTopology X] : SecondCountableTopology (OnePoint X)
-- Mathlib/Analysis/Distribution/SchwartzSpace/Separable.lean
instance ContinuousMultilinearMap.instSecondCountableTopologyFin [FiniteDimensional 𝕜 E]
[SecondCountableTopology F] (n : ℕ) : SecondCountableTopology (E [×n]→L[𝕜] F)
```
## Proof idea
* For `f : 𝓢(E, F)`, the function `x ↦ ‖x‖ ^ k • iteratedFDeriv ℝ n f x` tends to `0` along
`cocompact E`, because it is bounded by `‖x‖⁻¹ * seminorm (k + 1) n f`. It therefore extends
by `0` to a continuous function on `OnePoint E`, and the sup norm of that extension is exactly
`SchwartzMap.seminorm ℝ k n f`.
* The resulting map `𝓢(E, F) →L[ℝ] Π (k, n), C(OnePoint E, E [×n]→L[ℝ] F)` is inducing,
because each Schwartz seminorm is the norm of one coordinate.
* Its target is second countable. `OnePoint E` is compact and second countable (new instance),
`E [×n]→L[ℝ] F` is second countable (new instance, proved by induction via currying from the
existing `E →L[𝕜] F` instance), and `ContinuousMap.instSecondCountableTopology` gives the rest.
## History of this PR
The first version of this PR proved only the case `E = ℝ`, by bounding each Schwartz seminorm
by the `L¹` norm of a derivative (`norm_le_integral_norm_deriv`, `derivCLM_pow_apply`). The
general argument above covers `E = ℝ`, so that `L¹` proof and its two auxiliary lemmas have
been removed. The file now depends only on `SchwartzSpace.Basic`, not on `SchwartzSpace.Deriv`
and the integration library.
## Follow-ups
* `ContinuousMultilinearMap.instSecondCountableTopologyFin` could be moved next to the
`E →L[𝕜] F` instance in `Mathlib/Analysis/Normed/Module/FiniteDimension.lean`, possibly in a
more general form (a `Fintype` index with finite-dimensional factors). It sits in this file for
now so that the PR does not trigger a rebuild of most of the analysis library.
* Consequences that need separability, for example for tempered distributions.
AI tools (Claude and Codex) were used to port and adapt this proof to Mathlib; the author reviewed it.
|
t-analysis
new-contributor
LLM-generated
|
177/0 |
Mathlib.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Separable.lean,Mathlib/Topology/Compactification/OnePoint/Basic.lean |
3 |
3 |
['github-actions', 'lua-vr'] |
nobody |
7-42472 7 days ago |
7-49660 7 days ago |
7-49614 7 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 |
5 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
7-37621 7 days ago |
7-38057 7 days ago |
34-50084 34 days |
1 |
| 44906 |
yudukikun5120 author:yudukikun5120 |
feat(Archive): formalize negation in vector logic |
This adds a formalization of negation in Mizraji's two-valued vector logic to `Archive/VectorLogic.lean`, using mathlib's matrix and real-number APIs.
For two orthonormal real vectors `s` and `n` in an arbitrary finite-dimensional coordinate space, define `N = nsᵀ + snᵀ` and the logical identity `I₂ = ssᵀ + nnᵀ`. Prove that negation exchanges the truth vectors, exchanges the coefficients of their linear combinations, and satisfies `N * N = I₂`. Double negation fixes every linear combination of the truth vectors. The formalization also shows that negation annihilates vectors orthogonal to both, so it does not assert that `N²` is the ambient identity in higher dimension.
The definitions follow Eduardo Mizraji's *Vector logics: The matrix-vector representation of logical calculus* (1992), as reproduced in §4.2, equations (15)–(16), of his 2016 paper: https://doi.org/10.1387/theoria.13959.
---
This is a draft for feedback on whether this paper-specific formalization is suitable for `Archive`; its placement has not been agreed with maintainers.
Validation on macOS arm64 with Lean 4.35.0:
- `lake build Archive.VectorLogic`
- `lake exe lint-style Archive.VectorLogic`
- `lake exe mk_all --lib Archive --check`
- Separate local checks with a three-dimensional truth pair, including a counterexample to the ambient identity assertion.
AI disclosure: OpenAI Codex generated the implementation, proofs, and this PR description, and ran the local validation. The changes are marked as LLM-generated. This description does not claim completion of independent human review.
|
LLM-generated
new-contributor
t-data
|
102/0 |
Archive.lean,Archive/VectorLogic.lean |
2 |
3 |
['github-actions', 'yudukikun5120'] |
nobody |
7-36985 7 days ago |
21-72774 21 days ago |
21-72728 21 days |
0 |
| 44148 |
wwylele author:wwylele |
refactor(Geometry/Euclidean): promote Heron's formula to main mathlib |
Now we have a proper definition of triangle's area, we can make Heron's formula an official theorem in the main library. The original proof was mostly unchanged, with only the following modification
**1. Index change**
The naming and indexing was changed from
```
let a := dist p₁ p₂
let b := dist p₃ p₂
let c := dist p₁ p₃
```
to
```
let a := dist p₁ p₂
let b := dist p₁ p₃
let c := dist p₂ p₃
```
This is to follow the existing indexing convention of "1-2, 1-3, 2-3" for triangles. We have similar order for `h₁₂ h₁₃ h₂₃`
**2. Generalized to all degenerate cases**: Removed `(h1 : p₁ ≠ p₂) (h2 : p₃ ≠ 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]
-->
- [x] depends on: #41220 |
file-removed
t-euclidean-geometry
maintainer-merge
|
72/72 |
Archive.lean,Archive/Wiedijk100Theorems/HeronsFormula.lean,Mathlib/Geometry/Euclidean/Volume/Triangle.lean,docs/100.yaml |
4 |
9 |
['SnirBroshi', 'copilot-pull-request-reviewer', 'github-actions', 'jsm28', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'wwylele'] |
jsm28 assignee:jsm28 |
7-36889 7 days ago |
9-36519 9 days ago |
9-37704 9 days |
2 |
| 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'] |
mariainesdff assignee:mariainesdff |
7-36526 7 days ago |
45-82166 45 days ago |
85-34258 85 days |
2 |
| 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/)
|
t-data |
37/39 |
Mathlib/Algebra/Lie/LieTheorem.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/RuleOfSigns.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/Nth.lean,Mathlib/FieldTheory/Separable.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Defs.lean,Mathlib/NumberTheory/Bernoulli.lean,Mathlib/NumberTheory/BernoulliPolynomials.lean,Mathlib/NumberTheory/ModularForms/LevelOne/DimensionFormula.lean,Mathlib/Order/Fin/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Nilpotent.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/Nilpotent.lean,Mathlib/RingTheory/WittVector/Frobenius.lean,Mathlib/SetTheory/Cardinal/NatCard.lean |
29 |
5 |
['github-actions', 'mathlib-merge-conflicts'] |
TwoFX assignee:TwoFX |
7-36525 7 days ago |
9-30840 9 days ago |
86-26109 86 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'] |
ocfnash assignee:ocfnash |
7-36523 7 days ago |
23-72578 23 days ago |
23-72784 23 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'] |
joelriou assignee:joelriou |
7-36522 7 days ago |
29-78106 29 days ago |
29-78060 29 days |
0 |
| 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'] |
nobody |
7-35627 7 days ago |
29-35552 29 days ago |
29-38940 29 days |
1 |
| 45470 |
benpigchu author:benpigchu |
feat(Data): theorem about `List.splitBy` of `List.append` when `getLast` of the first list and `head` of the second list are related |
This PR add a theorem describing the behaviour of `List.splitBy` of `List.append` when the `ha` assumption in `List.splitBy_append` does not hold.
---
This theorem came from https://github.com/dwrensha/compfiles/blob/1745e6ced3e671bd74417548494b034eb2c87da8/Compfiles/Imo2022P1.lean#L148
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-data
new-contributor
|
59/0 |
Mathlib/Data/List/SplitBy.lean |
1 |
2 |
['github-actions'] |
nobody |
7-29358 7 days ago |
7-70538 7 days ago |
7-70492 7 days |
0 |
| 44939 |
JX-Mo author:JX-Mo |
feat(RepresentationTheory): add Schur's lemma for central elements |
We add a bridge lemma saying that central elements act as scalars on simple modules. |
t-algebra label:t-algebra$ |
7/0 |
Mathlib/RepresentationTheory/AlgebraRepresentation/Basic.lean |
1 |
12 |
['JX-Mo', 'alreadydone', 'github-actions', 'themathqueen'] |
nobody |
7-25576 7 days ago |
7-26052 7 days ago |
20-52042 20 days |
1 |
| 45242 |
Nicola9Falciola author:Nicola9Falciola |
chore(LinearAlgebra/Matrix/SpecialLinearGroup): add missing api |
---
This PR adds missing API for `SpecialLinearGroup`.
- For `coe_mk_mul_mk` both `simp` and ` rw [coe_mul, coe_mk, coe_mk]` fail.
- For `coe_inv_mk` both `simp` and ` rw [coe_inv, coe_mk]` fail.
- For `map_mk_apply` `simp` fails.
Without this API is dealing with matrix literals in `SL` is quite annoying.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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$ |
12/0 |
Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean |
1 |
4 |
['Nicola9Falciola', 'github-actions', 'themathqueen'] |
nobody |
7-6214 7 days ago |
7-7066 7 days ago |
12-50115 12 days |
0 |
| 45497 |
chenle02 author:chenle02 |
feat(MeasureTheory): tightness in separable Hilbert spaces |
This PR adds a tightness criterion for measures on a Hilbert space, stated with a Hilbert basis. It also adds the "tight + unique cluster point ⇒ convergence" step that usually follows Prokhorov's theorem.
**(A) Tightness in a Hilbert space.** New file `Mathlib/MeasureTheory/Measure/TightHilbert.lean`. Here `b : HilbertBasis ι ℝ E` and `S : Set (Measure E)`.
* `HilbertBasis.isCompact_closedBall_inter_iInter`: if `ε m → 0`, then
`closedBall 0 r ∩ ⋂ m, {x | ‖x - ∑ i ∈ s m, ⟪b i, x⟫ • b i‖ ≤ ε m}` is compact.
* `HilbertBasis.isTightMeasureSet_of_tendsto_measure`: `S` is tight if both of these hold:
- the norms are bounded in probability uniformly over `S`:
`Tendsto (fun r ↦ ⨆ μ ∈ S, μ {x | r < ‖x‖}) atTop (𝓝 0)`;
- for every `ε > 0`,
`Tendsto (fun s : Finset ι ↦ ⨆ μ ∈ S, μ {x | ε < ‖x - ∑ i ∈ s, ⟪b i, x⟫ • b i‖}) atTop (𝓝 0)`.
This needs no measurability assumption.
* `HilbertBasis.isTightMeasureSet_of_lintegral`: the second-moment version. It assumes
`⨆ μ ∈ S, ∫⁻ x, ‖x‖ₑ ^ 2 ∂μ ≠ ∞` and that the tails `⨆ μ ∈ S, ∫⁻ x, ‖x - ∑ i ∈ s, ⟪b i, x⟫ • b i‖ₑ ^ 2 ∂μ` tend to `0`.
* `HilbertBasis.isTightMeasureSet_of_lintegral_inner_sq_le`: for `[Countable ι]`, assume `∫⁻ x, ‖⟪b i, x⟫‖ₑ ^ 2 ∂μ ≤ c i` for all `μ ∈ S` and all `i`, with `∑' i, c i ≠ ∞`. Then `S` is tight.
* Supporting lemmas:
- `HilbertBasis.hasSum_inner_sq` (Parseval);
- `HilbertBasis.hasSum_indicator_inner_sq` and `HilbertBasis.tsum_indicator_enorm_inner_sq` (the tail outside `s` is `‖x - ∑ i ∈ s, ⟪b i, x⟫ • b i‖ ^ 2`);
- `HilbertBasis.completeSpace`;
- `HilbertBasis.countable` and `Orthonormal.countable` (in a separable space).
**(B) Tight + unique cluster point ⇒ convergence.**
* In `Prokhorov.lean`, for `E` T2 with its Borel σ-algebra:
- `ProbabilityMeasure.tendsto_of_isTightMeasureSet_of_forall_mapClusterPt`: if `{μ i | i}` is tight and every cluster point of `μ` along `l` equals `ν`, then `Tendsto μ l (𝓝 ν)`;
- `ProbabilityMeasure.exists_tendsto_of_isTightMeasureSet`: if `l` is `NeBot`, the family is tight and any two cluster points are equal, then the family converges.
* In `LevyConvergence.lean`:
- `TendstoInDistribution.of_isTightMeasureSet_of_forall_mapClusterPt`;
- `ProbabilityMeasure.tendsto_of_isTightMeasureSet_of_tendsto_charFunDual` (separable Banach space): a tight family whose `charFunDual` converge pointwise to that of `ν₀` converges to `ν₀`. This is the infinite-dimensional form of Lévy's theorem, where tightness has to be assumed;
- `ProbabilityMeasure.tendsto_of_isTightMeasureSet_of_tendsto_charFun` (complete separable inner product space; the same statement with `charFun`);
- `TendstoInDistribution.of_isTightMeasureSet_of_tendsto_charFunDual`.
**Proof idea.**
* (A): Fix `ε`.
- Pick `r` with `μ {r < ‖x‖} ≤ ε / 2` for all `μ ∈ S`.
- For each `m`, pick `s m` with `μ {1/(m+1) < dist(x, span (b '' s m))} ≤ δ m`, where `∑ δ m < ε / 2`.
- The resulting set `K` is closed. It is totally bounded: its points are within `δ / 2` of a bounded subset of a finite-dimensional subspace. Since `E` is complete, `K` is compact, and the union bound gives `μ Kᶜ ≤ ε`.
- The moment versions follow by Markov's inequality, Parseval and `lintegral_tsum`.
* (B): By Prokhorov (`isCompact_closure_of_isTightMeasureSet`), the closure of the family is compact. `IsCompact.tendsto_nhds_of_unique_mapClusterPt` then gives convergence. For the characteristic-functional corollaries, a cluster point has the limiting `charFunDual`, because `P ↦ ∫ probCharDual L ∂P` is continuous. `Measure.ext_of_charFunDual` then identifies the cluster point.
**Relation to existing Mathlib and open PRs.**
* `TightNormed.lean` treats proper and finite-dimensional spaces: tightness from norms, or from inner products against an orthonormal basis. In infinite dimensions closed balls are not compact, so those criteria do not apply; (A) is the infinite-dimensional analogue. I put it in a new file to keep `TightNormed.lean` (and its importers) free of the `l2Space` import.
* `ProbabilityMeasure.tendsto_of_tight_of_separatesPoints` (`LevyConvergence.lean`) is close to (B) but uses a separating subalgebra and a Polish space. (B) is the purely topological step: it needs only T2 and a Borel σ-algebra, works along any filter, and takes the cluster-point identification as a hypothesis.
* #45375 (refactor of the proof of Prokhorov's theorem) only changes the interior of `Prokhorov.lean`, up to the end of the `Forward` section. It contains neither (A) nor (B). The new lemmas here are appended after the `Backward` section, plus one docstring bullet. `git merge-tree` against the PR head reports a clean merge.
* #37279 (multivariate CLT) changes `TendstoInDistribution` to use `Measure.toProbabilityMeasure` and edits one line of `LevyConvergence.lean`. It contains neither (A) nor (B). The additions here are at the end of `LevyConvergence.lean` and already state the cluster-point hypothesis with `toProbabilityMeasure`; `git merge-tree` reports a clean merge.
* A search of open PRs found nothing else with a Hilbert-space tightness criterion or a "tight + unique cluster point" lemma.
**References.**
* Yu. V. Prokhorov, *Convergence of random processes and limit theorems in probability theory*, Theory Probab. Appl. 1 (1956).
* K. R. Parthasarathy, *Probability measures on metric spaces*, Academic Press (1967), Chapter VI (Probability measures in a Hilbert space).
* V. I. Bogachev, *Measure theory, Vol. II*, Springer (2007): Definition 8.6.1 (uniform tightness, p. 202); Theorem 8.6.2 (Prokhorov's theorem, p. 202); Example 8.6.5(i) (tightness from a uniform moment bound, p. 205); Theorem 8.6.7 (a uniformly bounded, uniformly tight family has compact closure in the weak topology, p. 206). This is the `[bogachev2007]` key cited in `TightHilbert.lean`.
AI tools (Claude and Codex) were used to port and adapt this proof to Mathlib; the author reviewed it.
|
t-measure-probability
new-contributor
LLM-generated
|
375/0 |
Mathlib.lean,Mathlib/MeasureTheory/Measure/LevyConvergence.lean,Mathlib/MeasureTheory/Measure/Prokhorov.lean,Mathlib/MeasureTheory/Measure/TightHilbert.lean |
4 |
2 |
['github-actions'] |
nobody |
6-81115 6 days ago |
7-42608 7 days ago |
7-42562 7 days |
0 |
| 45494 |
chenle02 author:chenle02 |
feat(MeasureTheory): the cylinder σ-algebra on the weak dual |
This PR adds `Mathlib/MeasureTheory/Constructions/WeakDual.lean`, which defines the cylinder σ-algebra on `WeakDual 𝕜 E` (the σ-algebra generated by the evaluations `T ↦ T x`) and proves that a finite measure for it is determined by its finite-dimensional marginals.
## Statements
The setting is the general one of `WeakDual`: `𝕜` a commutative topological semiring with `[MeasurableSpace 𝕜]`, and `E` a topological `𝕜`-module.
* `WeakDual.cylinderMeasurableSpace 𝕜 E : MeasurableSpace (WeakDual 𝕜 E)`, defined as `MeasurableSpace.comap (fun T x ↦ T x) MeasurableSpace.pi`. This mirrors the definition of the weak-* topology as an induced topology.
* `cylinderMeasurableSpace_eq_iSup`: it equals `⨆ x, MeasurableSpace.comap (fun T ↦ T x) ‹_›`.
* `measurable_cylinder_iff`: a map `f : α → WeakDual 𝕜 E` is measurable iff `fun a ↦ f a x` is measurable for every `x`. Also `measurable_eval_cylinder` and `measurable_coeFn_cylinder`.
* `cylinderMeasurableSpace_le_borel` (needs `[BorelSpace 𝕜]`): it is contained in `borel (WeakDual 𝕜 E)`. `cylinderMeasurableSpace_le` gives the same for any `OpensMeasurableSpace` structure.
* `ext_of_forall_finset_map_eq`: two measures `μ ν`, with `μ` finite, are equal if `μ.map (fun T (x : I) ↦ T x) = ν.map (fun T (x : I) ↦ T x)` for every `I : Finset E`.
* `map_eq_iff_forall_finset_map_eq`: two a.e.-measurable random elements `X : Ω → WeakDual 𝕜 E` and `Y : Ω' → WeakDual 𝕜 E` (under a finite `P` and `P'`) have the same law iff they have the same finite-dimensional laws. This is the analogue of `ProbabilityTheory.map_eq_iff_forall_finset_map_restrict_eq` for processes.
* `cylinderMeasurableSpace_eq_comap_of_denseRange` (needs `[FrechetUrysohnSpace E] [PseudoMetrizableSpace 𝕜] [BorelSpace 𝕜]`): for any `d : ι → E` with `DenseRange d`, the σ-algebra is `comap (fun T i ↦ T (d i)) pi`.
* `ext_of_forall_finset_map_eq_of_denseRange`: under the same hypotheses, it is enough to compare finite-dimensional marginals along `d`.
* `countablyGenerated_cylinderMeasurableSpace`: if in addition `E` is separable and `𝕜` is countably generated, then the cylinder σ-algebra is countably generated.
## Design: a `def`, not an instance
The measurable structure of a topological type in Mathlib is normally its Borel σ-algebra, and lemmas such as `Continuous.measurable` rely on `OpensMeasurableSpace`. On `WeakDual 𝕜 E` the cylinder σ-algebra is contained in the Borel σ-algebra, but the two are different in general. Equality needs extra hypotheses, for instance E separable Fréchet/nuclear, and that is not proved here. A global instance would therefore close off the Borel choice for every user of `WeakDual`. So the σ-algebra is a `def` marked `@[instance_reducible]`, in the same way as `borel` and `cylinderEvents`, and users enable it with `attribute [local instance] WeakDual.cylinderMeasurableSpace`.
This adds no global instance and creates no diamond. `WeakDual` is a non-reducible `def`, so the norm-Borel instance `ContinuousLinearMap.instMeasurableSpace` on `E →L[𝕜] F` (for normed `E`) does not apply to it. I checked that `MeasurableSpace (WeakDual ℝ ℝ)` still fails to synthesize after importing that file. A downstream project that wants an instance can set `instance : MeasurableSpace (WeakDual 𝕜 E) := WeakDual.cylinderMeasurableSpace 𝕜 E` on its own type synonym. Projects that do this all get the same σ-algebra.
## Proof idea
The coercion `F : T ↦ (x ↦ T x)` generates the σ-algebra by definition. Hence `μ.map F` and `ν.map F` are both projective limits of the same family of finite-dimensional laws, and `IsProjectiveLimit.unique` makes them equal. Every measurable set has the form `F ⁻¹' t`, so `μ = ν` follows. For the dense-range version, `T x` is the limit of `T (d (j n))` along a sequence (Fréchet–Urysohn, and each `T` is continuous), so `measurable_of_tendsto_metrizable` shows that the evaluations along `d` already generate the σ-algebra.
## Prior art
* Two projects outside Mathlib already define this σ-algebra, each as a global instance:
* mrdouglasny/gaussian-field defines `instMeasurableSpaceConfiguration` on `Configuration E := WeakDual ℝ E` as `comap (fun ω f ↦ ω f) pi`. It proves `configuration_measurable_of_eval_measurable` and, for Gaussian measures, `pushforward_eq_of_eval_eq`.
* mrdouglasny/bochner (`Minlos/NuclearSpace.lean`) defines an instance on `WeakDual ℝ E` as `⨆ f, (borel ℝ).comap (· f)`.
These two definitions are not defeq, so importing both projects fails to synthesize instances; gaussian-field's notes record this. A shared definition in Mathlib avoids that diamond. No code was taken from either project.
* Mathlib has `cylinderEvents` and `measurableCylinders` on product types, and `ProbabilityTheory.map_eq_iff_forall_finset_map_restrict_eq` for processes. Neither covers `WeakDual`, and Mathlib has no `MeasurableSpace` on `WeakDual`, `WeakBilin` or `WeakSpace`.
* Open PRs: a search for WeakDual measurable, cylinder, Minlos, nuclear, "random distribution" and "measure on dual" found no overlapping PR. #42278 (nuclear spaces) touches no measurable structure on duals, but it would be a natural input to a later Minlos theorem. #44909 (Kolmogorov extension) covers existence on product spaces, so it complements the uniqueness result here.
* Zulip could only be searched through the public web archive, which showed no prior thread.
## Follow-ups
* The Bochner–Minlos theorem on duals of nuclear spaces, stated for this σ-algebra.
* Borel = cylinder on `WeakDual 𝕜 E` under suitable separability hypotheses (e.g. separable Fréchet `E`). This would allow a `BorelSpace` statement for the cylinder σ-algebra.
* Tempered distributions: once the `SeparableSpace 𝓢(ℝ, ℝ)` instance (#45482) lands, `countablyGenerated_cylinderMeasurableSpace` and `ext_of_forall_finset_map_eq_of_denseRange` apply directly to `WeakDual ℝ 𝓢(ℝ, ℝ)`. `SchwartzMap` is already first-countable on master.
AI tools (Claude and Codex) were used to port and adapt this proof to Mathlib; the author reviewed it.
|
t-measure-probability
new-contributor
LLM-generated
|
245/0 |
Mathlib.lean,Mathlib/MeasureTheory/Constructions/WeakDual.lean |
2 |
2 |
['github-actions'] |
nobody |
6-81094 6 days ago |
7-44691 7 days ago |
7-44645 7 days |
0 |
| 45487 |
chenle02 author:chenle02 |
feat(Probability/Distributions/Poisson): higher moments of the Poisson distribution |
This PR adds a new file `Mathlib/Probability/Distributions/Poisson/Moments.lean` with the
moments of the Poisson distribution `poissonMeasure r`, `r : ℝ≥0`.
Main statements (namespace `ProbabilityTheory`):
* `hasSum_mul_descFactorial_poissonMeasure` and `integral_descFactorial_poissonMeasure`:
the factorial moments, `∫ n, (n.descFactorial k : ℝ) ∂Po(r) = r ^ k`.
* `integrable_exp_mul_map_cast_poissonMeasure`, `integrableExpSet_id_map_cast_poissonMeasure`:
`x ↦ exp (t * x)` is integrable for every `t`, so `integrableExpSet id Po(ℝ, r) = univ`.
* `memLp_id_map_cast_poissonMeasure (p : ℝ≥0) : MemLp id p Po(ℝ, r)` and
`integrable_pow_map_cast_poissonMeasure : Integrable (fun x ↦ x ^ k) Po(ℝ, r)`.
* `hasSum_mul_pow_poissonMeasure` and `integral_pow_map_cast_poissonMeasure`: the raw moments are
the Touchard polynomials, `∫ x, x ^ k ∂Po(ℝ, r) = ∑ j ∈ range (k + 1), S(k, j) * r ^ j` with
`S(k, j) = Nat.stirlingSecond k j`.
* `integral_id_map_cast_poissonMeasure : ∫ x, x ∂Po(ℝ, r) = r`
* `integral_pow_two_map_cast_poissonMeasure : ∫ x, x ^ 2 ∂Po(ℝ, r) = r ^ 2 + r`
* `integral_pow_three_map_cast_poissonMeasure : ∫ x, x ^ 3 ∂Po(ℝ, r) = r ^ 3 + 3 * r ^ 2 + r`
* `integral_pow_four_map_cast_poissonMeasure :
∫ x, x ^ 4 ∂Po(ℝ, r) = r ^ 4 + 6 * r ^ 3 + 7 * r ^ 2 + r`
* `variance_id_map_cast_poissonMeasure : Var[id; Po(ℝ, r)] = r`
* `centralMoment_three_map_cast_poissonMeasure : centralMoment id 3 Po(ℝ, r) = r`
* `centralMoment_four_map_cast_poissonMeasure : centralMoment id 4 Po(ℝ, r) = 3 * r ^ 2 + r`
Proof idea: the factorial moment sum is reindexed by `n ↦ n + k` (the first `k` terms vanish)
and becomes `r ^ k` times the total mass of `Po(r)`. Writing `n ^ k` in terms of falling factorials
with `Nat.pow_eq_sum_stirlingSecond_mul_descFactorial` gives the general raw moment; the moments
of order 1 to 4 are its special cases. The central moments follow by expanding `(x - r) ^ j` into
raw moments, adding the corresponding `HasSum` statements and `ring`. Integrability comes from finiteness
of the moment generating function via `memLp_of_mem_interior_integrableExpSet`.
---
Relation to #33688: that PR adds `HasSum`/`tsum` expectation lemmas for the old `poissonPMF` /
`poissonPMFReal` API in `Mathlib/Probability/Distributions/Poisson.lean`. Those declarations
and that file are no longer on master (the distribution is now `poissonMeasure` in
`Poisson/Basic.lean`), and #33688 is labelled `merge-conflict` / `awaiting-author`. This PR
states the mean at the level of `poissonMeasure` in the same style as `integral_id_binomial`
and `integral_id_gaussianReal`; it does not depend on #33688 and touches different files.
AI tools (Claude and Codex) were used to port and adapt this proof to Mathlib; the author reviewed it.
|
t-measure-probability
new-contributor
LLM-generated
|
187/0 |
Mathlib.lean,Mathlib/Probability/Distributions/Poisson/Moments.lean |
2 |
2 |
['github-actions'] |
nobody |
6-81086 6 days ago |
7-45696 7 days ago |
7-45650 7 days |
0 |
| 45384 |
vihdzp author:vihdzp |
feat: type alias for overriding the order instance of a type |
See the module docstring for motivation. This is intended as a stepping stone towards switching the ordinal API to bundled relations (see #44009, #44010), while still allowing the usage of unbundled relations when they're needed (see e.g. #38357).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
97/0 |
Mathlib.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/SuccPred/Basic.lean,Mathlib/Order/WellFounded.lean,Mathlib/Order/WithLT.lean |
5 |
5 |
['SnirBroshi', 'github-actions', 'vihdzp'] |
nobody |
6-74891 6 days ago |
8-18023 8 days ago |
8-28328 8 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 |
12 |
['chrisflav', 'github-actions', 'mathlib-merge-conflicts', 'riccardobrasca', 'xgenereux'] |
riccardobrasca assignee:riccardobrasca |
6-74003 6 days ago |
17-2414 17 days ago |
101-83814 101 days |
0 |
| 44583 |
CBirkbeck author:CBirkbeck |
chore(Analysis/Distribution/SchwartzSpace/Deriv): define `derivCLM` via `lineDerivOpCLM` |
Define `SchwartzMap.derivCLM` as `lineDerivOpCLM 𝕜 𝓢(ℝ, F) 1` instead of building it from scratch. Its name, signature and `derivCLM_apply` are unchanged.
---
<!--redteam:v1 {"owner":"AI-DOOM-97fce5ac-e255-4515-b311-12ecf245ce72","findings":["RT-20261007-498fbf"],"patterns":["clm-rebuilt-instead-of-composed"],"severity":"MAJOR"}-->
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
t-analysis
LLM-generated
|
7/15 |
Mathlib/Analysis/Distribution/SchwartzSpace/Deriv.lean |
1 |
4 |
['CBirkbeck', 'eric-wieser', 'github-actions', 'tb65536'] |
nobody |
6-69853 6 days ago |
6-70881 6 days ago |
6-70835 6 days |
0 |
| 44599 |
CBirkbeck author:CBirkbeck |
chore(CategoryTheory/Limits/Shapes/Equalizers): deprecate duplicate `parallelPairIsoMk` |
Deprecate `parallelPairIsoMk`, a duplicate of `parallelPair.ext` (they are equal by `rfl`), and use `parallelPair.ext` instead. `IsKernel.ofIso` and `IsCokernel.ofIso` are now the (co)kernel cases of `Fork.isLimitOfIsos` and `Cofork.isColimitOfIsos`.
---
<!--redteam:v1 {"owner":"AI-DOOM-97fce5ac-e255-4515-b311-12ecf245ce72","findings":["RT-20261007-e6d8f0"],"patterns":["second-construction-same-file"],"severity":"MAJOR"}-->
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
LLM-generated |
14/26 |
Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean |
3 |
4 |
['github-actions', 'mathlib-merge-conflicts', 'tb65536'] |
nobody |
6-67725 6 days ago |
6-70915 6 days ago |
6-70869 6 days |
0 |
| 44582 |
CBirkbeck author:CBirkbeck |
chore(Tactic/Inclusion): inline the dyadic midpoint using core's `Dyadic.shiftRight` |
Remove `Inclusion.IntervalDyadicReal.midpoint`, which re-implemented core's `Dyadic.shiftRight`, and write the midpoint in `binarySplitMap` as `(l + u) >>> 1`.
---
The tactic's tests (`MathlibTest/Tactic/Inclusion/Basic.lean`) take the same time as with the old `midpoint`: about 3.6 s either way, over five runs each.
<!--redteam:v1 {"owner":"AI-DOOM-97fce5ac-e255-4515-b311-12ecf245ce72","findings":["RT-20261006-3d9a05"],"patterns":["reimplements-core-function"],"severity":"MAJOR"}-->
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
t-meta
LLM-generated
|
3/8 |
Mathlib/Tactic/Inclusion/Extension/IntervalDyadicReal/BinarySplit.lean |
1 |
4 |
['DavidLedvinka', 'github-actions', 'tb65536'] |
nobody |
6-65617 6 days ago |
6-68045 6 days ago |
6-69652 6 days |
0 |
| 45270 |
YaelDillies author:YaelDillies |
feat(Order): quotienting by the trivial equivalence relation does nothing |
This is already the content of `quotientBotEquiv`, but it is syntactically specialised to `\bot`, while I want to apply it to `Associates.setoid M` where `M` has a single unit.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
19/6 |
Mathlib/Order/Setoid/Basic.lean |
1 |
1 |
['artie2000', 'github-actions', 'vihdzp'] |
nobody |
6-63689 6 days ago |
12-4992 12 days ago |
12-4946 12 days |
1 |
| 44613 |
keithadler author:keithadler |
feat(RepresentationTheory): irreducible representations are bounded by conjugacy classes |
For a finite group `G` and an algebraically closed field `k` in which `|G|` is invertible, `Representation.char_orthonormal` gives orthogonality of irreducible characters. This PR adds the consequence that is used in practice:
* `Representation.classFunction ρ : ConjClasses G → k`, the character as a class function;
* `Representation.linearIndependent_classFunction`: the class functions of a family of pairwise non-isomorphic irreducible representations are linearly independent;
* `Representation.card_le_card_conjClasses`: such a family has at most `Nat.card (ConjClasses G)` members.
This is the upper-bound half of "the number of irreducible representations equals the number of conjugacy classes" (the other half, that characters span the class functions, is not yet in Mathlib). The bound is exactly what is needed to show that an explicit list of `Nat.card (ConjClasses G)` pairwise non-isomorphic irreducibles is complete; e.g. with the companion PR on conjugacy classes of `Perm α`, that the Specht modules exhaust the irreducible representations of `S_n` (used downstream in https://github.com/keithadler/saxl-lean).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---
|
t-algebra
new-contributor
LLM-generated
label:t-algebra$ |
118/0 |
Mathlib.lean,Mathlib/RepresentationTheory/CharacterCount.lean |
2 |
3 |
['artie2000', 'github-actions'] |
nobody |
6-63264 6 days ago |
29-54941 29 days ago |
29-54895 29 days |
0 |
| 44207 |
urkud author:urkud |
chore(Calculus/FDeriv/Comp): reorganize the file |
Cleanup `Calculus/FDeriv/Comp` and prepare it to generalizing to TVS.
- split the file into sections `TwoFunctions` and `Iterate`; in the future, these sections will have different typeclass assumptions;
- move the typeclass assumptions and the variables about `f`, `g`, `s`,
`t`, `x`, `y` to `variable` lines, so that they don't have to be
repeated in every theorem;
- move the lemmas about `fderiv`/`fderivWithin` of a composition after
the lemmas about `Differentiable*`;
- use `@[to_fun]` to generate the eta-expanded versions of the lemmas
about `g ∘ f` instead of writing some of them down and leaving the rest
absent;
- state `HasStrictFDerivAt.comp` about `g ∘ f`, like all the other chain
rules in the file.
The last two items change API:
* `DifferentiableAt.fun_comp'` is renamed to `DifferentiableAt.fun_comp`,
which is the name `to_fun` generates, with a deprecated alias for the
old one.
* the eta-expanded form of `HasStrictFDerivAt.comp` is now
`HasStrictFDerivAt.fun_comp`. The call sites that need that form are
adjusted; note that a goal need not mention `fun x ↦ _` to need it,
e.g. `HasStrictFDerivAt (c • f) _ _` unfolds to the eta-expanded form
and not to `_ ∘ _`.
Extracted by Claude from a larger refactor written by Yury.
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
|
t-analysis
LLM-generated
|
94/113 |
Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/FDeriv/Bilinear.lean,Mathlib/Analysis/Calculus/FDeriv/Comp.lean,Mathlib/Analysis/Calculus/FDeriv/CompCLM.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousAlternatingMap.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousMultilinearMap.lean,Mathlib/Analysis/Calculus/FDeriv/Mul.lean,Mathlib/Analysis/Calculus/FDeriv/Norm.lean,Mathlib/Analysis/Calculus/FDeriv/WithLp.lean,Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Complex/RealDeriv.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean,Mathlib/Analysis/SpecialFunctions/Exponential.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean |
14 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
6-54551 6 days ago |
6-69344 6 days ago |
6-69298 6 days |
0 |
| 45420 |
PSchwahn author:PSchwahn |
feat(Algebra): define sets of finite products in a magma |
This PR adds a file `Algebra/Products.lean` containing declarations about products of tuples of elements in a magma, together with some basic API. We plan to expand on this later. Ultimately we plan to use these to prove results about [Leibniz algebras](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Leibniz.20algebras/with/598438796).
We note that `Fin.prod` (from `Batteries.Data.Fin.Basic`) provides a similar functionality as our declaration `OrderedLeftProduct`. However `Fin.prod` requires a multiplicative unit on the magma and it associates the products to the right, whereas `OrderedLeftProduct` is associated to the left and works for any magma. This will become important because we work with non-associative operations and in the future would like to align with the literature (e.g. on Leibniz algebras).
Co-authored by: Viviana del Barco, Gustavo Infanti, Artem Lopatin, Exequiel Rivas
---
|
t-algebra
new-contributor
label:t-algebra$ |
162/0 |
Mathlib.lean,Mathlib/Algebra/Products.lean |
2 |
2 |
['github-actions'] |
nobody |
6-53764 6 days ago |
8-56877 8 days ago |
8-57427 8 days |
0 |
| 44208 |
urkud author:urkud |
chore(Calculus/FDeriv/Prod): reorganize the file |
Prepare `Calculus/FDeriv/Prod` for generalizing to topological vector spaces.
- replace the anonymous sections by `section Prod` (covering the lemmas
about `E × F`) and rename the inner `section Prod` to `section ProdMk`;
- move the variables about `f`, `f'`, `s`, `x`, `L` to the sections that
use them, so that `section Pi` and `section PiFin` are independent of
the rest of the file;
- move `hasFDerivAt_prodMk_left`/`hasFDerivAt_prodMk_right` out of
`section ProdMk`, `HasFDerivAtFilter.fst` before `HasStrictFDerivAt.fst`,
and `fderiv.snd` after `fderivWithin_snd`.
This order reduced `diff` to the TVS version to actual typeclass assumptions changes.
No lemma is added, removed, or restated.
Extracted by Claude from a larger refactor written by Yury.
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
---
|
t-analysis
LLM-generated
|
37/41 |
Mathlib/Analysis/Calculus/FDeriv/Prod.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
6-53148 6 days ago |
6-69342 6 days ago |
19-17998 19 days |
0 |
| 44204 |
urkud author:urkud |
feat(Calculus/FDeriv): chain rules for continuous linear maps |
Add special cases of the chain rule for composition with a continuous
linear map on the left (`ContinuousLinearMap.comp_hasFDerivAtFilter` and
friends) and on the right (`HasFDerivAtFilter.comp_continuousLinearMap`
and friends).
Also add `ContinuousLinearEquiv.comp_hasFDerivAtFilter_iff` and use it to
golf the `comp_has*FDeriv*_iff` lemmas, and use the new lemmas in a few
places.
Extracted by Claude from a larger refactor written by Yury.
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
---
Preparation for generalizing `Mathlib/Analysis/Calculus/FDeriv/` to
topological vector spaces: with these lemmas available, the lemmas about
`Prod.fst`/`Prod.snd`/`Prod.map` and about `c • f` can avoid the general
chain rule and thus avoid its typeclass assumptions.
The new lemmas are deliberately stated for `NormedAddCommGroup` +
`NormedSpace`, even though their proofs do not need it, so that this PR
does not change which instances Lean generates in downstream files. They
are generalized together with the rest of the chain rule in a later PR,
so that the effect of that change can be benchmarked on its own.
|
t-analysis
LLM-generated
|
157/22 |
Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousAlternatingMap.lean,Mathlib/Analysis/Calculus/FDeriv/Equiv.lean,Mathlib/Analysis/Calculus/FDeriv/Linear.lean,Mathlib/Analysis/Calculus/Implicit.lean |
5 |
4 |
['github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'urkud'] |
nobody |
6-49223 6 days ago |
6-69341 6 days ago |
19-40712 19 days |
0 |
| 45514 |
PSchwahn author:PSchwahn |
feat(Logic/Equiv/Fin/Basic): extension/deletion operations on permutations on `Fin n` |
Add basic operations on permutations on `Fin n`:
- `Fin.Perm.castSucc`: extend a permutation on `Fin n` to one on `Fin (n + 1)` in the obvious way.
- `Fin.Perm.removeNth`: removes a given position in a permutation on `Fin (n + 1)`, and collapses the domain and range to `Fin n`. Useful in conjunction with `Fin.succAbove`.
Along this, add some API theorems:
- `removeNth_of_castSucc_lt₁`, `removeNth_of_castSucc_lt₂`, `removeNth_of_le_castSucc₁` and `removeNth_of_le_castSucc₂` are analogous to [Fin.succAbove_of_castSucc_lt](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Fin/SuccPred.html#Fin.succAbove_of_castSucc_lt) resp. [Fin.succAbove_of_le_castSucc](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Fin/SuccPred.html#Fin.succAbove_of_le_castSucc).
- `succAbove_removeNth` shows how `Fin.Perm.removeNth` interacts with [Fin.succAbove](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Fin/SuccPred.html#Fin.succAbove).
- `castSucc_zero` and `castSucc_succ` are simp lemmas for `Fin.Perm.castSucc`.
--- |
new-contributor
t-logic
|
130/0 |
Mathlib/Logic/Equiv/Fin/Basic.lean |
1 |
3 |
['github-actions'] |
nobody |
6-47753 6 days ago |
6-50487 6 days ago |
6-50441 6 days |
0 |
| 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'] |
riccardobrasca assignee:riccardobrasca |
6-36525 6 days ago |
21-32491 21 days ago |
85-15935 85 days |
0 |
| 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'] |
eric-wieser assignee:eric-wieser |
6-36522 6 days ago |
83-32388 83 days ago |
83-34976 83 days |
0 |
| 43104 |
elazarg author:elazarg |
feat(InformationTheory/KullbackLeibler): finite Kullback-Leibler divergence |
Add finite-sum formulas for `InformationTheory.klDiv` on finite measurable spaces, including equal-mass and probability-measure specializations and formulas for sums of weighted Dirac measures. Provide both `ℝ≥0∞`-valued and `toReal` versions.
Supporting API includes a formula for the Radon–Nikodym derivative at points of nonzero reference-measure mass, a finite-sum formula for the integral of the log-likelihood ratio, and singleton-mass and absolute-continuity lemmas for sums of weighted Dirac measures.
---
Continuing #42584, another part of https://github.com/elazarg/kraft.
Following review, this uses the existing `klDiv` instead of introducing `klDivFin`. The `toReal` formulas connect it to real-valued sums in downstream code.
For measures of unequal mass, the formulas retain the correction term `ν.real univ - μ.real univ`.
The KL formulas are in `KullbackLeibler/Basic.lean`; the supporting lemmas are in the corresponding measure-theory modules.
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
LLM-generated
|
100/1 |
Mathlib/InformationTheory/KullbackLeibler/Basic.lean,Mathlib/MeasureTheory/Measure/Decomposition/RadonNikodym.lean,Mathlib/MeasureTheory/Measure/Dirac/Basic.lean,Mathlib/MeasureTheory/Measure/LogLikelihoodRatio.lean |
4 |
9 |
['EtienneC30', 'elazarg', 'github-actions', 'vlad902'] |
urkud assignee:urkud |
6-36521 6 days ago |
53-55910 53 days ago |
62-37542 62 days |
0 |
| 45523 |
kim-em author:kim-em |
feat(Tactic): add opt-in droppable hypothesis linter |
Add the opt-in `linter.droppableHypotheses` linter. Lean's unused-variable linter detects unused parameters; this also finds parameters the existing proof uses but can replace when re-elaborated. For example, after removing `[Nonempty α]`, `infer_instance` can derive it from `[Inhabited α]`.
```lean
import Mathlib.Tactic.Linter.DroppableHypotheses
set_option linter.droppableHypotheses true
```
Each trial deletes one theorem parameter and re-elaborates the unchanged statement and proof in isolated command state. Section variables and grouped binders are supported. Trials reject `sorry` dependencies and changed statements. Findings are independent; reported parameters may not all be removable together. Options control heartbeats and JSONL survey output.
---
Known limitation: dropping a category instance in `CategoryTheory/Sites/Descent/IsPrestack.lean` triggers exponential metavariable dependency traversal in Lean and still times out. Large surveys need an external process timeout. A dependent-section guard avoids leanprover/lean4#16125. Arbitrary IO during replay is not undone.
:robot: Prepared with Codex.
|
LLM-generated
t-linter
|
617/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/DroppableHypotheses.lean,MathlibTest/Linter/DroppableHypotheses.lean,MathlibTest/Linter/DroppableHypothesesCategoryTheory.lean |
5 |
1 |
['github-actions'] |
nobody |
6-28711 6 days ago |
6-29121 6 days ago |
6-29622 6 days |
0 |
| 42029 |
NoneMore author:NoneMore |
feat(ModelTheory): add elementary chains |
This PR adds the definition of elementary chains and construct their direct limits, shows that the canonical maps and compatible cocone lifts are elementary and derives theory preservation and cardinality bounds for the limit.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #42125
AI disclosure: Most declarations, comments, and documentation in this PR were generated with Codex. Some proofs were structurally simplified using the `/golf` command from Lean 4 Skills. I reviewed the resulting code and documentation and can vouch for all submitted content.
[](https://gitpod.io/from-referrer/)
|
t-logic |
312/0 |
Mathlib.lean,Mathlib/ModelTheory/ElementaryChain.lean |
2 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
6-14612 6 days ago |
6-18700 6 days ago |
6-23853 6 days |
1 |
| 39037 |
JovanGerb author:JovanGerb |
chore(CategoryTheory): improve some `ConcreteCategory` instances |
Two instances involving concrete categories have the wrong synthesis order. This is fixed by using a different binder info for the `FunLike` instance.
Previously, type class search would end up with a goal of the form `∀ x y, FunLike (?FV x y) _ _`. The metavariable then caused the type class search to explode.
Lean has an algorithm for determining the right synthOrder, which usually works well, but failed in these two cases. This is becase the type `FV` appears in the conclusion, so it thinks that the `?FV` metavariable will get assigned. But it ends up not being assigned in practice.
The `FunLike` parameter of `ConcreteCategory` is an `outParam`, which means that it can be inferred by synthesizing the `ConcreteCategory` 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]
-->
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
9/2 |
Mathlib/CategoryTheory/Action/Concrete.lean,Mathlib/CategoryTheory/Limits/Shapes/ConcreteCategory.lean |
2 |
14 |
['JovanGerb', 'Vierkantor', 'github-actions', 'grunweg', 'leanprover-radar', 'mathlib-bors'] |
Vierkantor and kim-em assignee:kim-em assignee:Vierkantor |
6-4515 6 days ago |
9-35902 9 days ago |
35-67 35 days |
0 |
| 44955 |
user202729 author:user202729 |
chore: change all occurrences of equational lemma to equation lemma |
Change all occurrences of "equational lemma" to "equation lemma". Also add a missing apostrophe.
---
As far as I can tell, both are grammatical: the "equation" in "equation lemma" is a noun adjunct, while "equational" is an adjective. It feels like noun adjunct is "more advanced English" though.
Before this pull request: ("equation lemma" is more popular than "equational lemma")
```
[mathlib4]$ rg 'equational lemma'|wc -l
10
[mathlib4]$ rg 'equation lemma'|wc -l
31
[mathlib4]$ rg 'equational theorem'|wc -l
6
[mathlib4]$ rg 'equation theorem'|wc -l
2
```
and in Lean: (same, but only slightly)
```
[lean4]$ rg 'equational lemma'|wc -l
16
[lean4]$ rg 'equation lemma'|wc -l
20
[lean4]$ rg 'equational theorem'|wc -l
85
[lean4]$ rg 'equation theorem'|wc -l
38
```
Not sure if it's worth unifying the theorem case (probably yes. But in this case, apparently "equational theorem" is more popular than "equation theorem".), and/or unify lemma and theorem (probably not, mathlib distinguishes lemmas and theorems).
|
new-contributor |
10/10 |
Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/MappingCone.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Sites/CoversTop/Basic.lean,Mathlib/CategoryTheory/Sites/Hypercover/One.lean,Mathlib/Data/Nat/Fib/Zeckendorf.lean,Mathlib/Tactic/Eqns.lean,Mathlib/Tactic/Translate/ToAdditive.lean,docs/Conv/Guide.lean |
9 |
4 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
6-986 6 days ago |
6-4349 6 days ago |
15-52497 15 days |
0 |
| 45528 |
joelriou author:joelriou |
chore(CategoryTheory/Limits): remove set_option for multiequalizers |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
tech debt
|
36/80 |
Mathlib/CategoryTheory/Limits/Preserves/Shapes/Multiequalizer.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Limits/Shapes/Multiequalizer.lean,Mathlib/Order/CompleteLattice/MulticoequalizerDiagram.lean |
4 |
1 |
['github-actions'] |
nobody |
5-84603 5 days ago |
6-122 6 days ago |
6-76 6 days |
5 |
| 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 |
31 |
['Ljon4ik4', 'Ruben-VandeVelde', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'ocfnash', 'themathqueen'] |
eric-wieser assignee:eric-wieser |
5-83974 5 days ago |
5-83974 5 days ago |
105-74342 105 days |
0 |
| 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]
-->
- [x] depends on: #44604
[](https://gitpod.io/from-referrer/)
|
t-algebra
LLM-generated
label:t-algebra$ |
157/0 |
Mathlib.lean,Mathlib/LinearAlgebra/ExteriorAlgebra/Grading.lean,Mathlib/LinearAlgebra/ExteriorPower/BaseChange.lean |
3 |
25 |
['Thmoas-Guan', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'ocfnash', 'robin-carlier'] |
joelriou assignee:joelriou |
5-77880 5 days ago |
5-77880 5 days ago |
128-85567 128 days |
3 |
| 45493 |
CoolRmal author:CoolRmal |
feat(MeasureTheory): simple functions from finite-range monotone maps |
Add `SimpleFunc.ofMonotone` and `SimpleFunc.ofAntitone`, bundling finite-range monotone and antitone maps as simple functions.
The domain is a linear order with `OrderClosedTopology` and `OpensMeasurableSpace`. The codomain needs only a partial order.
This is a prerequisite for #34716.
Developed with assistance from Codex.
|
LLM-generated
t-measure-probability
|
23/0 |
Mathlib/MeasureTheory/Function/SimpleFunc.lean |
1 |
6 |
['CoolRmal', 'RemyDegenne', 'github-actions'] |
nobody |
5-47890 5 days ago |
5-49170 5 days ago |
7-4807 7 days |
1 |
| 41426 |
gmcninch-prof author:gmcninch-prof |
feat: add symmetric multilinear maps |
Define `SymmetricMap R M N ι`, the type of symmetric `R`-multilinear maps
from `ι → M` to `N` (i.e. multilinear maps invariant under permutation of
their arguments).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
The code is adapted from Kenny Lau's work
[here](https://github.com/kckennylau/EllipticCurve/blob/master/EllipticCurve/ProjectiveSpace/TensorProduct/SymmetricMap.lean)
-- see [`SymmetricMap`](https://github.com/gmcninch-prof/mathlib4/blob/symmetric-power-lift/Mathlib/LinearAlgebra/TensorProduct/SymmetricMap.lean).
This PR previously also contained the universal property / `lift` for
`SymmetricPower` (relating linear maps out of `Sym[R]^n M` to symmetric
multilinear maps), but per reviewer feedback on Zulip that work has been
split into a separate PR that depends on this one.
Zulip discussion [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/SymmetricPower.20universal.20property/near/608532652)
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
397/0 |
Mathlib.lean,Mathlib/LinearAlgebra/TensorProduct/SymmetricMap.lean |
2 |
10 |
['github-actions', 'gmcninch-prof', 'jcommelin'] |
riccardobrasca assignee:riccardobrasca |
5-36528 5 days ago |
116-54373 116 days ago |
118-22629 118 days |
1 |
| 44822 |
William7743 author:William7743 |
feat(Geometry/Euclidean/Inversion): affine limits and filter identities |
Adds filter-level limit and continuity lemmas for `EuclideanGeometry.inversion` in
`Geometry/Euclidean/Inversion/Basic.lean`:
* `not_continuousAt_inversion_center_of_neBot` — nonzero-radius inversion is
discontinuous at a non-isolated center (`[NeBot (𝓝[≠] c)]`).
* `continuousAt_inversion_iff` — inversion is continuous at `x` iff `x ≠ c ∨ R = 0`.
* `tendsto_inversion_cobounded_nhds_center` /
`tendsto_inversion_cobounded_nhdsNE_center` — as the argument tends to infinity,
inversion tends to the center, resp. its punctured neighborhood for nonzero radius.
* `map_inversion_cobounded` / `map_inversion_nhdsNE_center` — for nonzero radius,
inversion pushes the cobounded filter exactly to `𝓝[≠] c` and back, via its
involutivity.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-euclidean-geometry
LLM-generated
new-contributor
|
53/0 |
Mathlib/Geometry/Euclidean/Inversion/Basic.lean |
1 |
6 |
['SnirBroshi', 'William7743', 'github-actions'] |
jsm28 assignee:jsm28 |
5-36524 5 days ago |
6-19167 6 days ago |
6-21786 6 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'] |
kim-em assignee:kim-em |
5-36518 5 days ago |
17-73603 17 days ago |
17-73557 17 days |
0 |
| 45529 |
joelriou author:joelriou |
feat(CategoryTheory/MorphismProperty): images of pushouts by functors |
If `P : MorphismProperty C` and `F : C ⥤ D` is a functor which preserves pushouts, we show `P.pushouts.map F ≤ (P.map F).pushouts`. Similar results are obtained for other shapes.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
79/2 |
Mathlib/CategoryTheory/MorphismProperty/Limits.lean,Mathlib/CategoryTheory/MorphismProperty/TransfiniteComposition.lean |
2 |
1 |
['github-actions'] |
robin-carlier assignee:robin-carlier |
5-36515 5 days ago |
5-86362 5 days ago |
5-86316 5 days |
3 |
| 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'] |
nobody |
5-35626 5 days ago |
59-4904 59 days ago |
104-47362 104 days |
0 |
| 42608 |
Deicyde author:Deicyde |
doc: add wikidata attributes |
This PR adds a batch of 10 `@[wikidata]` attributes.
Claude helped generate the list of crossrefs (by scanning Wikidata + Mathlib). Comments are generated by [crossref-report](https://github.com/jcommelin/mathlib-crossref-report) and Wikilean.
See https://wikilean.jackmccarthy.org/review?pr=42608 for reviewer UI.
---
|
LLM-generated |
18/3 |
Mathlib/Analysis/Convex/Segment.lean,Mathlib/Analysis/Convex/SimplicialComplex/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Data/Matrix/Diagonal.lean,Mathlib/Data/Set/Defs.lean,Mathlib/Order/Defs/PartialOrder.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean,Mathlib/Topology/Constructions.lean |
9 |
19 |
['Deicyde', 'SnirBroshi', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
5-24461 5 days ago |
5-26649 5 days ago |
54-3782 54 days |
0 |
| 45552 |
JX-Mo author:JX-Mo |
chore(RepresentationTheory): fix docstring of `indResHomEquiv` |
|
t-algebra
easy
label:t-algebra$ |
1/1 |
Mathlib/RepresentationTheory/Induced.lean |
1 |
2 |
['JX-Mo', 'github-actions'] |
nobody |
5-21189 5 days ago |
5-21645 5 days ago |
5-21621 5 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
|
11/39 |
.github/workflows/update_dependencies_zulip.yml,docs/workflows.md |
2 |
3 |
['bryangingechen', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
5-21115 5 days ago |
5-21554 5 days ago |
17-51831 17 days |
0 |
| 45553 |
JX-Mo author:JX-Mo |
chore(RepresentationTheory): fix docstring of Schur's lemma |
|
t-algebra
easy
label:t-algebra$ |
2/2 |
Mathlib/RepresentationTheory/AlgebraRepresentation/Basic.lean |
1 |
2 |
['JX-Mo', 'github-actions'] |
nobody |
5-20988 5 days ago |
5-21491 5 days ago |
5-21445 5 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 |
5 |
['SnirBroshi', 'github-actions', 'plp127', 'themathqueen'] |
nobody |
5-18943 5 days ago |
76-68282 76 days ago |
76-68236 76 days |
0 |
| 42630 |
will1491 author:will1491 |
feat(Analysis/Complex): define Wirtinger derivatives |
Define the Wirtinger derivatives `Complex.wirtingerDeriv` and `Complex.wirtingerDerivBar` from `fderiv ℝ`, and prove: the Cauchy-Riemann characterization of complex differentiability (pointwise and on open sets), agreement of `wirtingerDeriv` with `deriv` for holomorphic functions, additivity, Leibniz product rules, conjugation identities, both Wirtinger chain rules, and the Wirtinger decomposition of a real-linear map `ℂ →L[ℝ] ℂ`.
Extracted from https://github.com/will1491/RiemannDynamics, where it underlies the Beltrami-equation and Cauchy/Beurling-transform theory used in the proof of the measurable Riemann mapping theorem.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
|
253/0 |
Mathlib.lean,Mathlib/Analysis/Complex/Wirtinger.lean |
2 |
6 |
['Maldooor', 'github-actions', 'mathlib-merge-conflicts', 'will1491'] |
felixpernegger assignee:felixpernegger |
5-15459 5 days ago |
56-50611 56 days ago |
87-26206 87 days |
0 |
| 44404 |
peabrainiac author:peabrainiac |
feat(Topology): σ-locally finite families of sets |
Define σ-locally finite families of sets, i.e. families that consist of countably many locally finite families, and provide API for them analogous to some of the existing API for `LocallyFinite`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
For some mathematical context, σ-locally finite families generalise both countable and locally finite families but are incomparable to locally countable families - that is, not every locally countable family is σ-locally finite, and not every σ-locally finite family is locally countable. While local countability might seem like a more natural condition in a vacuum, the reason σ-locally finite families are of interest is that they show up in several point-set topological applications:
- In order for a regular space to be paracompact, it suffices for open covers of it to admit σ-locally finite open refinements instead of locally finite ones; we prove this and conclude that regular Lindelöf spaces are paracompact in the follow-up PR #44411. This characterisation is also useful e.g. for proving that Fσ subsets of regular paracompact spaces are paracompact, which is one way to prove paracompactness of Milnor's $EG$ and $BG$ for compact Hausdorff groups.
- In order for a cover to be numerable (i.e. admit a subordinate partition of unity) it suffices for it to be refined by a σ-locally finite cover by cozero sets. This is important for e.g. proving the stacking lemma for numerable covers, which was useful for proving homotopy invariance of numerable fibre bundles in [classifying-bundles](https://peabrainiac.github.io/classifying-bundles/docs/ClassifyingBundles/NumerableBundle.html).
- Cozero sets and Fσ sets are both closed under σ-locally finite unions but not e.g. locally countable ones.
Since Engelking's general topology book introduces σ-locally finite families and proves several theorems about them, among others the mentioned paracompactness criterion, we list it as a reference in the file. The term is not exclusive to the book though, see e.g. nlab [here](https://ncatlab.org/nlab/show/countably+locally+finite+set+of+subsets) and pi-base [here](https://topology.pi-base.org/properties/P000054). |
t-topology |
150/0 |
Mathlib.lean,Mathlib/Data/Set/Restrict.lean,Mathlib/Topology/SigmaLocallyFinite.lean |
3 |
17 |
['github-actions', 'peabrainiac', 'peakpoint'] |
nobody |
5-13941 5 days ago |
5-13988 5 days ago |
12-38225 12 days |
3 |
| 44632 |
skwh54 author:skwh54 |
feat(RingTheory): prove semiprimary rings are closed under opposites |
This PR proves that a ring is semiprimary if and only if its opposite ring is semiprimary, resolving the three proof_wanted declarations in Wanted/RingTheory/SimpleModule/WedderburnArtin.lean.
It adds the required Jacobson radical symmetry and quotient-ring equivalence, and includes the Artinian/Noetherian consequence as an example in MathlibTest.
The Jacobson radical symmetry proof is adapted from [Haruhisa Enomoto's Lean 3 formalization](https://github.com/haruhisa-enomoto/lean-noncommutative-ring/blob/master/src/nc_jacobson_ideal.lean).
This PR was created with assistance from Codex. |
file-removed
t-ring-theory
new-contributor
LLM-generated
|
174/21 |
Mathlib.lean,Mathlib/Algebra/Ring/Units.lean,Mathlib/RingTheory/Jacobson/Opposite.lean,Mathlib/RingTheory/SimpleModule/WedderburnArtin.lean,MathlibTest/JacobsonOpposite.lean,Wanted.lean,Wanted/RingTheory/SimpleModule/WedderburnArtin.lean |
7 |
6 |
['github-actions', 'skwh54', 'tb65536'] |
nobody |
5-6811 5 days ago |
17-27807 17 days ago |
25-26087 25 days |
0 |
| 45556 |
JX-Mo author:JX-Mo |
feat(RingTheory/TensorProduct): add base change for the center of algebras |
We compare the base change of the center and the center of the base change for a given algebra.
Opus 5.5 comes up the idea of introducing the helper `δ` as a linear map to simplify the last proof. |
t-ring-theory
LLM-generated
|
86/0 |
Mathlib.lean,Mathlib/RingTheory/TensorProduct/Center.lean |
2 |
2 |
['JX-Mo', 'github-actions'] |
nobody |
5-4211 5 days ago |
5-4650 5 days ago |
5-4638 5 days |
0 |
| 43280 |
idontgetoutmuch author:idontgetoutmuch |
feat(Topology/VectorBundle): coordinate lemmas for the bundle of bilinear forms |
Coordinate lemmas for bundles of continuous linear maps.
Bundle.Trivialization.continuousLinearMap_symm_apply, hom_trivializationAt_symm_apply: the inverse of the trivialization of the bundle fun x ↦ E₁ x →SL[σ] E₂ x sends a model map L to v ↦ e₂⁻¹ (L (e₁ v)).
inCoordinates_apply_eq₂_of_trivial: inCoordinates_apply_eq₂ when the target bundle is trivial.
trivializationAt_symm_apply_bilin: the same for bilinear maps into a fixed space, deduced from hom_trivializationAt_symm_apply.
Motivation: in #33714 (existence of a Riemannian metric), the local metric is defined as the inverse trivialization applied to the inner product on the model fibre, and trivializationAt_symm_apply_bilin rewrites it as ⟪e u, e v⟫, from which symmetry and positivity follow. This PR is the first piece split out of #33714, which will be rebased on it. |
t-topology
new-contributor
|
68/20 |
Mathlib/Topology/VectorBundle/Hom.lean,Mathlib/Topology/VectorBundle/Riemannian.lean |
2 |
29 |
['github-actions', 'grunweg', 'idontgetoutmuch'] |
grunweg assignee:grunweg |
5-2893 5 days ago |
5-3037 5 days ago |
62-26015 62 days |
0 |
| 45550 |
user202729 author:user202729 |
refactor(AlgebraicGeometry/EllipticCurve): make baseChange transparent notation |
- Make `baseChange` an `abbrev`, so the user doesn't need to explicitly unfold `baseChange`.
- Explicitly document that `W⁄A` is equivalent to `W.map <| algebraMap R A`, so users seeing a `map` lemma applied on `W⁄S` at a use site can see why.
- Rename `S` to `A` for consistency.
---
As discussed in https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Expose.20public.20section.20bad.3F/with/635418753 , `W⁄A` is meant to be transparent, so I think this change is appropriate.
This explicitly changes the meaning of `baseChange`, making code that previously name `baseChange` explicitly backwards incompatible, but I think this is fine.
The affected proofs are fixed. I think the impact is rather minimal.
The four copies of the notation in fact return the same thing, but for example `Affine R` is defined to be an `abbrev` of `WeierstrassCurve R`, so if one writes `(W⁄S).map`, the method `map` is looked up in namespace `Affine`. Without the notation in namespace `Affine`, it would implicitly convert `W` to `WeierstrassCurve`, then lookup the method `map` in namespace `WeierstrassCurve`.
The `name` is added to the notation that needs linking from `baseChangeAux` to make the link in the HTML page works. (Similar to https://github.com/leanprover-community/mathlib4/pull/45129)
|
t-algebraic-geometry
new-contributor
|
29/41 |
Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/LFunction.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean |
6 |
7 |
['JX-Mo', 'github-actions', 'user202729'] |
nobody |
5-2703 5 days ago |
5-24346 5 days ago |
5-24300 5 days |
0 |
| 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 |
116/0 |
Mathlib.lean,Mathlib/RingTheory/GlobalDimension.lean |
2 |
37 |
['Thmoas-Guan', 'erdOne', 'github-actions', 'jjdishere', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'vlad902'] |
jjdishere assignee:jjdishere |
5-892 5 days ago |
5-893 5 days ago |
92-53543 92 days |
8 |
| 43758 |
joelcanary author:joelcanary |
feat(NumberTheory/ArithmeticFunction): the Redheffer determinant equals the Mertens function |
This PR adds the zeta (divisibility) matrix, the Redheffer matrix and the Mertens function, and proves **Redheffer's theorem** (1977): the determinant of the `(n+1) × (n+1)` Redheffer matrix equals the Mertens function `M(n+1) = ∑_{k ≤ n+1} μ(k)`.
In `Mathlib/NumberTheory/ArithmeticFunction/Moebius.lean`:
- `ArithmeticFunction.sum_divisors_moebius (k) : ∑ d ∈ k.divisors, μ d = if k = 1 then 1 else 0`, the pointwise form of `moebius_mul_coe_zeta`.
New file `Mathlib/NumberTheory/ArithmeticFunction/Redheffer.lean`:
- `ArithmeticFunction.mertens : ArithmeticFunction ℤ`, the summatory function of `μ`, with `mertens_apply : mertens n = ∑ k ∈ Icc 1 n, μ k`, `mertens_one`, `mertens_add_one` and `mertens_eq_sum_fin` (the `0`-based form `∑ i : Fin n, μ (i + 1)` used on the matrix side);
- `Matrix.zetaMatrix R n : Matrix (Fin n) (Fin n) R` for any `R` with `0` and `1` (entry `1` iff `i + 1 ∣ j + 1`), with `zetaMatrix_apply` (simp), `zetaMatrix_isUpperTriangular` and, for `CommRing R`, `det_zetaMatrix : det = 1` and `det_zetaMatrix_updateCol : det (updateCol 0 u) = ∑ j, μ (j + 1) * u j` (the first row of the inverse is `(μ 1, …, μ n)`);
- `Matrix.redheffer R n` (the zeta matrix with its first column set to ones), with `redheffer_apply` (simp) and `redheffer_eq_updateCol`;
- `Matrix.det_redheffer (n) : (redheffer R (n + 1)).det = mertens (n + 1)` for any `CommRing R` (with `mertens` cast into `R`).
The remaining declarations (the row vector `(μ 1, …, μ n)`, the reindexing of a `Fin n`-sum over divisibility as a sum over `m.divisors`, and three intermediate steps) are `private`: they are proof scaffolding, not API.
Proof sketch: by linearity of `det` in the first column, `det (redheffer R (n+1)) = det (zetaMatrix R (n+1)) + det (zetaMatrix with first column (0,1,…,1))`. The first term is `1`; by Cramer's rule (`det_smul_inv_mulVec_eq_cramer`) the second is the first row of the inverse of the zeta matrix dotted with `(0,1,…,1)`, and that row is `(μ 1, …, μ (n+1))` because `μ * ζ = 1` (`moebius_mul_coe_zeta`, via `sum_divisors_moebius`). The remaining sum `μ 2 + ⋯ + μ (n+1)` is `mertens (n+1) - 1`.
The ring `R` is an explicit argument of `zetaMatrix` and `redheffer` since nothing else determines it. Neither the Mertens function nor the Redheffer matrix currently appear in Mathlib. The new file imports only `LinearAlgebra.Matrix.Block` and `NumberTheory.ArithmeticFunction.Moebius`. References added to `docs/references.bib`: `redheffer1977` (the theorem) and `odlyzko1985` (cited in the module docstring for the disproof of the Mertens conjecture).
AI use: the Lean code and this description were written with an AI agent (Claude) under my direction, from a proof in my own project; I reviewed every declaration, and the branch was checked locally with `lake build`, `lake exe lint-style` and `lake exe runLinter` before each push.
|
t-number-theory
new-contributor
LLM-generated
|
238/0 |
Mathlib.lean,Mathlib/NumberTheory/ArithmeticFunction/Moebius.lean,Mathlib/NumberTheory/ArithmeticFunction/Redheffer.lean,docs/references.bib |
4 |
17 |
['MichaelStollBayreuth', 'Parcly-Taxel', 'github-actions', 'joelcanary', 'mathlib-merge-conflicts', 'wwylele'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
4-78700 4 days ago |
16-3110 16 days ago |
54-17986 54 days |
2 |
| 45560 |
artie2000 author:artie2000 |
feat(Algebra/Order): bijections between order structures and positive cones |
* Bundle the constructors between pointed (and also spanning) submonoids and subsemirings - ie, group and ring cones - and (linear) order structures on groups and rings, respectively, into equivalences.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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$ |
102/0 |
Mathlib/Algebra/Order/Group/Cone.lean,Mathlib/Algebra/Order/Ring/Cone.lean |
2 |
1 |
['github-actions'] |
nobody |
4-60778 4 days ago |
4-61315 4 days ago |
4-61366 4 days |
0 |
| 40644 |
j-loreaux author:j-loreaux |
refactor: use `LinearMap.IsWeak` for `WeakBilin` |
This introduces `WeakBilin.linearEquiv : WeakBilin B ≃ₗ[𝕜] E` as the canonical map between a space `E` and its type synonym `WeakBilin B`, for `B : E →ₗ[𝕜] F →ₗ[𝕜] 𝕜`. This serves to provides an abstraction barrier between these defeq types.
We then add `WeakBilin.pairing : WeakBilin B →ₗ[𝕜] F →ₗ[𝕜] 𝕜` as a copy of the bilinear map `B` where we exchange the domain via `LinearEquiv.arrowCongr`.
Finally, we provide an instance of `LinearMap.IsWeak (WeakBilin.pairing B)`. This allows us to remove abuse of definitional equality in the API for `WeakBilin`, and to deprecate most of the basic results in favor of their `LinearMap.IsWeak` variants.
The one result which we don't deprecate is `WeakBilin.continuous_of_continuous_eval`. This is because the specific version we can tag with `fun_prop`, but the more general version would not
be suitable as a `fun_prop` lemma because the linear map `B` inducing the topology would be a metavariable, and cannot be inferred from the type.
---
- [ ] depends on: #40489
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below 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
t-topology
tech debt
|
220/118 |
Mathlib/Analysis/LocallyConvex/Polar.lean,Mathlib/Analysis/LocallyConvex/WeakDual.lean,Mathlib/Analysis/LocallyConvex/WeakSpace.lean,Mathlib/Analysis/Normed/Module/WeakDual.lean,Mathlib/MeasureTheory/Measure/FiniteMeasure.lean,Mathlib/Topology/Algebra/Module/Spaces/CharacterSpace.lean,Mathlib/Topology/Algebra/Module/Spaces/PointwiseConvergenceCLM.lean,Mathlib/Topology/Algebra/Module/Spaces/WeakBilin.lean,Mathlib/Topology/Algebra/Module/Spaces/WeakDual.lean |
9 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
mcdoll assignee:mcdoll |
4-45605 4 days ago |
7-10294 7 days ago |
7-10249 7 days |
0 |
| 45413 |
joelriou author:joelriou |
feat(CategoryTheory/Abelian): monoidal abelian categories with functorial flat resolutions |
If `A` is a monoidal category, we introduce a property of objects `ObjectProperty.Monoidal.flat : ObjectProperty A` which is satisfied by objects `X : A` such that both functors `tensorLeft X : A ⥤ A` and `tensorRight X : A ⥤ A` are exact (i.e. preserve both finite limits and finite colimits).
Moreover, if `A` is an abelian category, we introduce a typeclass `Abelian.HasFunctorialFlatResolution A` which says that objects in `A` admit a functorial epimorphism from a flat object.
---
- [x] depends on: #45418
- [x] depends on: #45417
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
116/4 |
Mathlib.lean,Mathlib/CategoryTheory/Abelian/Flat/Basic.lean,Mathlib/CategoryTheory/Limits/ExactFunctor.lean,Mathlib/CategoryTheory/ObjectProperty/Retract.lean |
4 |
4 |
['github-actions', 'joelriou', 'mathlib-dependent-issues', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
4-45128 4 days ago |
6-57437 6 days ago |
6-58292 6 days |
0 |
| 45192 |
tb65536 author:tb65536 |
feat(Analysis/Normed/Field/WithAbs): the degree of an extension of absolute values |
This PR adds the definition of the degree of an extension of absolute values.
This is part of a larger project to formalize the general ramification theory of absolute values.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-algebra
t-analysis
label:t-algebra$ |
52/5 |
Mathlib/Analysis/Normed/Field/WithAbs.lean,Mathlib/Analysis/Normed/Ring/WithAbs.lean |
2 |
3 |
['github-actions', 'mathlib-merge-conflicts', 'themathqueen'] |
nobody |
4-42375 4 days ago |
4-42911 4 days ago |
12-31651 12 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'] |
riccardobrasca assignee:riccardobrasca |
4-36527 4 days ago |
42-54702 42 days ago |
42-59448 42 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'] |
jjdishere assignee:jjdishere |
4-36526 4 days ago |
106-18597 106 days ago |
106-21125 106 days |
7 |
| 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'] |
jjdishere assignee:jjdishere |
4-36524 4 days ago |
30-79169 30 days ago |
76-58929 76 days |
5 |
| 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'] |
jjdishere assignee:jjdishere |
4-36523 4 days ago |
41-25718 41 days ago |
82-74627 82 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'] |
mariainesdff assignee:mariainesdff |
4-36522 4 days ago |
84-10554 84 days ago |
90-8784 90 days |
0 |
| 42959 |
gasparattila author:gasparattila |
feat: add `fun_simp` tactic |
This PR adds a tactic and simp set `fun_simp` for simplifying bundled morphisms. The main use case is simplifying functions before calling `fun_prop`. In the future, this tactic could be added to `fun_prop` itself as a preprocessing step.
---
The idea of this tactic is based on #42516 by @mcdoll. Unlike #42516, which simply uses a simp set, this implementation has a preprocessing step to allow using applied forms of lemmas without eta-expanding.
The tests were written using Codex.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below 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
LLM-generated
|
485/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/FunSimp.lean,Mathlib/Tactic/FunSimp/Attr.lean,MathlibTest/FunSimp.lean |
5 |
2 |
['gasparattila', 'github-actions'] |
thorimur assignee:thorimur |
4-36521 4 days ago |
12-73584 12 days ago |
12-73538 12 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'] |
riccardobrasca assignee:riccardobrasca |
4-36519 4 days ago |
51-52890 51 days ago |
51-52845 51 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'] |
RemyDegenne assignee:RemyDegenne |
4-36517 4 days ago |
26-21951 26 days ago |
26-21905 26 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'] |
nobody |
4-35626 4 days ago |
52-35560 52 days ago |
52-37934 52 days |
1 |
| 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 |
4-32440 4 days ago |
27-78884 27 days ago |
68-32626 68 days |
1 |
| 45564 |
JovanGerb author:JovanGerb |
fix(ClickSuggestions): only show something if there is a tactic state |
This PR updates the behaviour of the `#click_suggestions` widget in the case that nothing is selectected. Previously, the message "Shift-click an expression in the tactic state to get suggestions." would always be present in the infoview, even if there was no tactic state at all. Now the message will only show up if there is at least one goal.
Note: we may turn this widget on globally in the future. In that case we might want to turn this message off altogether.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
1/0 |
Mathlib/Tactic/ClickSuggestions.lean |
1 |
1 |
['github-actions'] |
nobody |
4-31618 4 days ago |
4-65946 4 days ago |
4-65900 4 days |
0 |
| 41064 |
BryceT233 author:BryceT233 |
feat(RingTheory/LocalRing): `adjoinRoot` and local rings |
Given a commutative ring $R$ and a monic polynomial $p$ over $R$, we show that $R[X]/(p)$ is a local ring if and only if $R$ is a local ring and the reduction of $p$ modulo the maximal ideal of $R$ is a prime power in the polynomial ring over the residue field.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
- [x] depends on: #40590
- [x] depends on: #40857
- [x] depends on: #41065
- [x] depends on: #41066 |
t-ring-theory |
199/3 |
Mathlib.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/LocalRing/AdjoinRoot.lean,Mathlib/RingTheory/Nilpotent/Lemmas.lean,Mathlib/RingTheory/Radical/Basic.lean |
5 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
4-27035 4 days ago |
4-28272 4 days ago |
4-30098 4 days |
0 |
| 45571 |
JovanGerb author:JovanGerb |
feat(ClickSuggestions): better insertion logic |
This PR makes `#click_suggestions` insert its suggestions in the correct place, even if the cursor is not in the place where the tactic should go.
In particular, if the cursor is placed after a tactic, or at the start of a tactic, then the position of the insertion is made to align with that tactic syntax, instead of using the cursor position.
What is more difficult is to determine the appropriate indentation level after a loose `by`. So, the user still needs to manually add the newline after a `by` before using `#click_suggestions`. This might be improved in a future PR.
This PR adds a test file that tests the insertion behaviour. In addition to testing the new behaviour, we also tests some other behaviours that weren't previously tested.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
411/49 |
Mathlib/Tactic/ClickSuggestions.lean,Mathlib/Tactic/ClickSuggestions/Util.lean,MathlibTest/ClickSuggestions/Insertion.lean,MathlibTest/ClickSuggestions/TestImpl.lean |
4 |
1 |
['github-actions'] |
nobody |
4-24098 4 days ago |
4-32830 4 days ago |
4-32784 4 days |
0 |
| 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
|
210/14 |
Mathlib/Algebra/Order/GroupWithZero/Basic.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Geometry/Convex/ConvexSpace/AffineSpace.lean,Mathlib/Geometry/Convex/ConvexSpace/Defs.lean,Mathlib/Geometry/Convex/ConvexSpace/Module.lean,Mathlib/Geometry/Convex/ConvexSpace/Prod.lean,Mathlib/Geometry/Convex/Set.lean |
7 |
15 |
['YaelDillies', 'b-mehta', 'github-actions', 'martinwintermath', 'mathlib-merge-conflicts'] |
nobody |
4-10237 4 days ago |
4-11911 4 days ago |
58-84659 58 days |
2 |
| 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 |
4-9001 4 days ago |
34-8006 34 days ago |
51-47701 51 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 |
4-4552 4 days ago |
4-5096 4 days ago |
34-44536 34 days |
0 |
| 44600 |
artie2000 author:artie2000 |
feat(Algebra/Ring): properties of semireal rings |
* Prove that real rings are semireal and that semireal fields are real
* Prove that a ring has a preordering on it iff it's semireal
* Clean up some 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]
-->
|
t-algebra label:t-algebra$ |
63/1 |
Mathlib.lean,Mathlib/Algebra/Ring/IsFormallyReal.lean,Mathlib/Algebra/Ring/Semireal/Basic.lean,Mathlib/Algebra/Ring/Semireal/Defs.lean |
4 |
10 |
['artie2000', 'github-actions', 'vihdzp'] |
nobody |
3-81854 3 days ago |
4-72127 4 days ago |
29-63414 29 days |
0 |
| 45581 |
tb65536 author:tb65536 |
chore(Data/Nat/PadicValNat): deprecate `padicValNat` |
This PR deprecates `padicValNat` in favor of `multiplicity`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
t-algebra
label:t-algebra$ |
29/25 |
Mathlib/Data/Nat/PadicValNat.lean,Mathlib/NumberTheory/Padics/PadicVal/Defs.lean,Mathlib/NumberTheory/SumTwoSquares.lean,MathlibTest/MaxPowDiv.lean |
4 |
2 |
['github-actions', 'tb65536'] |
nobody |
3-80990 3 days ago |
3-81036 3 days ago |
3-80992 3 days |
0 |
| 43358 |
EtienneC30 author:EtienneC30 |
feat: strong measurability of a path-valued random variable |
If `X` is a right-continuous strongly adapted stochastic process, then it is strongly measurable when seen as a path-valued 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: #43352
- [x] depends on: #43525
- [x] depends on: #45077
Co-authored-by: @RemyDegenne
[](https://gitpod.io/from-referrer/)
|
brownian
t-measure-probability
|
203/0 |
Mathlib.lean,Mathlib/Probability/Process/StronglyMeasurablePath.lean,Mathlib/Topology/NhdsWithin.lean |
3 |
9 |
['EtienneC30', 'github-actions', 'jvanwinden', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
3-78444 3 days ago |
16-2788 16 days ago |
37-10727 37 days |
1 |
| 44584 |
CBirkbeck author:CBirkbeck |
chore(AlgebraicTopology/FundamentalGroupoid): deprecate `transReflReparamAux` in favor of `qRight` |
Deprecate `Path.Homotopy.transReflReparamAux` and its lemmas: the function is `fun t ↦ unitInterval.qRight (t, 0)`, which `trans_refl_reparam` and `transRefl` now use.
---
<!--redteam:v1 {"owner":"AI-DOOM-97fce5ac-e255-4515-b311-12ecf245ce72","findings":["RT-20261006-546cb9"],"patterns":["parallel-reparametrisation-helper"],"severity":"MAJOR"}-->
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
t-algebraic-topology
tech debt
LLM-generated
|
10/12 |
Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean |
1 |
1 |
['github-actions', 'tb65536'] |
nobody |
3-78126 3 days ago |
6-70888 6 days ago |
6-70842 6 days |
0 |
| 45545 |
joelriou author:joelriou |
feat(CategoryTheory/Presentable): prerequisites for the representation theorem |
This PR makes a few additions and some cleaning up. This will be used in the proof of the representation theorem for locally presentable categories #30847.
---
- [x] depends on: #45542
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
tech debt
maintainer-merge
|
181/111 |
Mathlib/CategoryTheory/Comma/StructuredArrow/Basic.lean,Mathlib/CategoryTheory/Comma/StructuredArrow/CommaMap.lean,Mathlib/CategoryTheory/Comma/StructuredArrow/Functor.lean,Mathlib/CategoryTheory/Comma/StructuredArrow/Small.lean,Mathlib/CategoryTheory/Limits/Types/Limits.lean,Mathlib/CategoryTheory/Limits/Yoneda.lean,Mathlib/CategoryTheory/ObjectProperty/IsClosedUnderCardinalFilteredColimits.lean,Mathlib/CategoryTheory/Presentable/LocallyPresentable.lean,Mathlib/CategoryTheory/Presentable/Presheaf.lean,Mathlib/CategoryTheory/ShrinkYoneda.lean |
10 |
7 |
['github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'robin-carlier'] |
nobody |
3-75880 3 days ago |
3-84633 3 days ago |
3-84623 3 days |
3 |
| 45583 |
ouboub author:ouboub |
feat(Analysis/ODE): Grönwall's inequality with a variable coefficient |
Title:
feat(Analysis/ODE): Grönwall's inequality with a variable coefficient- #45583
Description:
I believe I have successfully implemented and tested the differential form of Grönwall's inequality with variable coefficients.
Details can be found in
https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/Gronwall.27s.20inequality.3A.20differential.20form.2C.20variable.20coeff/with/636639527
which includes two PDFs with a more detailed description.
- Here is a short description:
Add Grönwall's inequality in differential form with a variable coefficient `K` and a
variable inhomogeneous term `ε`, both continuous and of arbitrary sign, for a function
with right derivatives: if `f` is continuous on `[a, b]`, `f' t ≤ K t * f t + ε t` on
`[a, b)` and `f a ≤ δ`, then on `[a, b]`
`f t ≤ (δ + ∫ s in a..t, ε s / exp (∫ r in a..s, K r)) * exp (∫ s in a..t, K s)`.
This addresses (for differentiable `f`) the TODO in `Mathlib/Analysis/ODE/Gronwall.lean`
asking for a variable coefficient `K x` of any sign.
The main results found in the new file `Mathlib/Analysis/ODE/GronwallVariableCoeff.lean` are
* `gronwallBoundVar`: the bound above;
* `le_gronwallBoundVar_of_deriv_right_le`: the inequality;
* `gronwallBoundVar_const`: for constant `K` and `ε`, `gronwallBoundVar` agrees with
the existing `gronwallBound`;
* `le_mul_exp_integral_of_deriv_right_le_mul`: the homogeneous case `ε = 0`.
The proof uses the integrating factor `exp (∫ s in a..t, K s)` and the comparison lemma
`image_le_of_deriv_right_le_deriv_boundary`.
- Some open problems:
1. The two auxiliary lemmas `continuousOn_primitive_of_continuousOn` and
`hasDerivWithinAt_Ici_primitive` (one-sided FTC) are stated here; I did not find them
in Mathlib. Should they move to `Mathlib/MeasureTheory/Integral/IntervalIntegral/`,
or into the `intervalIntegral` namespace?
2. I did not dare to put my results into `Mathlib/Analysis/ODE/Gronwall.lean` itself,
3. There might be another TODO in the module docstring: the energy form of Bahouri–Chemin–Danchin, Lemma 3.3.
At some point, I asked Claude for advice on the main lemma, but I didn't include syntax I don't understand or haven't tested. The code might be clumsy.
regards
Uwe Brauer
|
t-analysis
new-contributor
|
270/0 |
Mathlib.lean,Mathlib/Analysis/ODE/GronwallVariableCoeff.lean |
2 |
4 |
['github-actions', 'ouboub'] |
nobody |
3-75685 3 days ago |
4-864 4 days ago |
4-886 4 days |
0 |
| 45166 |
marcelolynch author:marcelolynch |
ci: update dependencies once per day |
The dependency update workflow runs every hour. A bot PR that bumps a dependency invalidates the cache of every Mathlib module, so the PR and its staging run rebuild Mathlib in full.
This PR runs the workflow once per day, at 00:17 UTC. `workflow_dispatch` keeps manual runs available, for example when a Mathlib PR waits on a Batteries change. A new state, `IDLE`, skips `create-pull-request` when there is no open bot PR and no update.
`docs/workflows.md` gives the daily schedule. |
CI |
8/5 |
.github/workflows/update_dependencies.yml,docs/workflows.md |
2 |
1 |
['github-actions'] |
nobody |
3-74381 3 days ago |
3-74381 3 days ago |
3-74335 3 days |
0 |
| 44651 |
marcelolynch author:marcelolynch |
ci: pair the prebuilt CI tools with the calling workflow's commit |
This PR makes `get-tools` use the prebuilt `tools-bin` artifact only when its tool sources match the tool sources of the calling workflow.
On master, `get-tools` compares the tool sources of the branch with the current master tip, not with the commit that the artifact comes from. Fork PRs skip the comparison. Thus, after a master push that changes the tools and a workflow together, CI can run the new workflow with the old tools until `publish_tools` finishes (about 1 min).
- `publish_tools.yml` builds `github.sha` instead of the `master` tip, so the head SHA of the run names the source of the artifact.
- `get-tools` compares the tool paths at that SHA with the tool paths at `github.workflow_sha`, for all callers. The tool paths are `Cache`, the two `lake-build-*` scripts, `lakefile.lean`, `lake-manifest.json` and `lean-toolchain`. If they differ, or the comparison fails, the action builds `cache` from source (about 30 s). The comparison fetches trees only (about 0.5 MB, 1 s).
- Fork PRs build from source at `github.workflow_sha` instead of `master`. This is the base-branch commit whose workflow `pull_request_target` runs, so fork code never builds the tools. For in-repo branches, `github.workflow_sha` is the branch commit under test.
- The `source_dir` input of `get-tools` is removed.
A fork PR runs the workflows of `master`, so the CI of this PR does not run the changed action. A local run of the resolve step selects the artifact when the workflow SHA is the artifact SHA. It builds from source for an older master commit with different tool paths, and for a SHA that does not exist.
🤖
|
CI |
58/59 |
.github/actions/get-tools/action.yml,.github/actions/setup-build-env/action.yml,.github/workflows/publish_tools.yml |
3 |
1 |
['github-actions'] |
nobody |
3-73535 3 days ago |
3-73535 3 days ago |
3-73489 3 days |
1 |
| 45590 |
justus-springer author:justus-springer |
refactor(Geometry/Convex/): generalize `parallelepiped` to linearly ordered fields |
Mathlib's `parallelepiped` is currently only defined for families of vectors in a real vector space. This PR generalized the definition to arbitrary linearly ordered fields, along with most of its API. Moreover, several proofs were significantly shortened and some new API lemmas were added for convenience.
New API lemmas:
* `parallelepiped_of_isEmpty`: the parallelepiped of an empty family is `{0}`
* `zero_mem_parallelepiped`
* `parallelepiped_unique`: a parallelepiped spanned by a single vector is a segment
* `parallelepiped_prod`: the parallelepiped of a family in `E × F` built from families in
`E` and `F` is the product of the parallelepipeds
Generative AI was used to find shorter proofs of the API 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]
-->
|
t-convex-geometry |
143/198 |
Mathlib.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Geometry/Convex/Parallelepiped.lean,Mathlib/Geometry/Euclidean/Volume/Measure.lean,Mathlib/MeasureTheory/Measure/Haar/InnerProductSpace.lean,Mathlib/MeasureTheory/Measure/Haar/OfBasis.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Measure/Lebesgue/EqHaar.lean |
8 |
2 |
['github-actions'] |
nobody |
3-69578 3 days ago |
3-70678 3 days ago |
3-70632 3 days |
2 |
| 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 |
5 |
['JovanGerb', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
3-68142 3 days ago |
3-70778 3 days ago |
31-85318 31 days |
0 |
| 45587 |
felixpernegger author:felixpernegger |
feat(Tactic): linter against long uncommented proofs |
Lints against proofs of length 100+ with less than 10 lines of comment (partial comment also counts).
off by default, currently this would fire 33 times.
Comes from [this]([#mathlib4 > Long proof linter](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Long.20proof.20linter/with/636720791)) Zulip discussion and partly based off #45388
Made with 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
|
323/0 |
Mathlib.lean,Mathlib/Init.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/LongUncommentedProof.lean,MathlibTest/Linter/LongUncommentedProof.lean |
6 |
4 |
['github-actions', 'grunweg', 'loefflerd'] |
nobody |
3-64227 3 days ago |
3-68465 3 days ago |
3-76855 3 days |
0 |
| 45595 |
IvanRenison author:IvanRenison |
feat(Data/Holor): define the Hadamard product for holors |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
45/0 |
Mathlib/Data/Holor.lean |
1 |
2 |
['github-actions'] |
nobody |
3-62172 3 days ago |
3-62699 3 days ago |
3-62653 3 days |
0 |
| 45596 |
marcelolynch author:marcelolynch |
ci: apply the file-removed label only to removed Lean files |
The `file-removed` label marks a PR that removes or renames a Lean module without a `deprecated_module` annotation. The check in `PR_summary.yml` reads every removed and renamed file. A PR that deletes only a workflow file or a JSON file therefore gets the label.
Restrict the removed-file and renamed-file lists to `*.lean` files. The lists are used only for the module deprecation check.
🤖
|
CI |
3/3 |
.github/workflows/PR_summary.yml |
1 |
1 |
['github-actions'] |
nobody |
3-60504 3 days ago |
3-60601 3 days ago |
3-60555 3 days |
0 |
| 45282 |
3y3y3y-huaiji author:3y3y3y-huaiji |
feat(Topology/Order): add zero-crossing for odd maps on antipodal paths |
Add `exists_zero_of_antipodal_path`: a continuous odd map (`f (τ x) = -f x`) along a path connecting antipodal points (`γ b = τ (γ a)`) must have a zero.
This provides a direct path-lifting bridge over `intermediate_value_Icc` for spaces with domain involutions.
* `exists_zero_of_antipodal_path`: main existence theorem.
* `IsOddMap`: anti-invariance predicate `f (τ x) = -f x`.
---
> [!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-topology
LLM-generated
new-contributor
|
71/0 |
Mathlib.lean,Mathlib/Topology/Order/Antipodal.lean |
2 |
5 |
['3y3y3y-huaiji', 'github-actions', 'leanprover-radar'] |
nobody |
3-59345 3 days ago |
3-59877 3 days ago |
11-25184 11 days |
0 |
| 45594 |
marcelolynch author:marcelolynch |
ci: retire the legacy Lean nightly pipeline |
Stop the daily merge into `mathlib4-nightly-testing`. Remove the legacy toolchain updater and the workflow that reports nightly results and creates tags and adaptation PRs.
The daily checks test `master` and the newest canonical `bump/v4.*.0` branch. Each run pins the bump commit and uses that commit in its Zulip reports. The `master` checks still run if branch resolution fails.
Move `AesopTest` from the fork-only step in `build_template.yml` into a separate daily job. Report success and failure to Zulip. Keep the daily leanchecker, test executable, and nanoda checks.
The scheduled checks test the canonical bump branch, which receives reviewed adaptations through `downstream-lean4`. Update the workflow reference and remove obsolete helper examples.
Validation: Actionlint and `git diff --check` pass. Branch resolution and the reporting changes passed focused review. Full scheduled builds await deployment.
Prepared with Codex to inspect the workflow dependencies and update the scheduled checks.
|
CI |
165/1136 |
.github/actions/get-mathlib-ci/README.md,.github/workflows/build_template.yml,.github/workflows/daily-master-tag.yml,.github/workflows/daily.yml,.github/workflows/decls-diff.yml,.github/workflows/nightly_bump_toolchain.yml,.github/workflows/nightly_detect_failure.yml,.github/workflows/nightly_merge_master.yml,.github/workflows/publish_tools.yml,.github/workflows/zulip_emoji_reconcile.yml,.github/zulip-emoji-config-nightly.json,docs/workflows.md |
12 |
1 |
['github-actions'] |
nobody |
3-53674 3 days ago |
3-60616 3 days ago |
3-63489 3 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
maintainer-merge
|
114/9 |
Mathlib/Combinatorics/SimpleGraph/Maps.lean |
1 |
3 |
['Ruben-VandeVelde', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
3-45419 3 days ago |
60-50672 60 days ago |
95-9423 95 days |
1 |
| 45591 |
DanielJHorton author:DanielJHorton |
feat(LinearAlgebra/ExteriorPower/WedgePairing): add lemma wedgePairing_apply |
This PR adds two lemmas:
- `wedgePairing_apply` in `LinearAlgebra/ExteriorPower/WedgePairing`
- `eqRec_apply` in `Algebra/Module/LinearMap/Baisc`
`eqRec_apply` is an analogue of `_root_.apply_eqRec` for linear maps and is used in the proof of `wedgePairing_apply`.
`wedgePairing_apply` unfolds and simplifies applications of `exteriorPower.wedgePairing`. It has no simp tag because `wedgePairing` is an abbrev (not a def), so the LHS is not in simp NF.
This PR was motivated by a project of mine where I had a proof that needed to expose the application of the underlying volume form in an expression containing `wedgePairing`.
I should probably mention here that there already exists a lemma `exteriorPower.apply_eqRec` in `LinearAlgebra/ExteriorPower/WedgePairing` (not to be confused with `_root_.apply_eqRec`) which is marked as private, but serves a vaguely similar purpose to this proposed `wedgePairing_apply` lemma. That said, it is more tailored to its use case later in the file and I don't think making it public is the way to go (especially if it has potential namespace conflicts with `_root_`).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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$ |
23/0 |
Mathlib/Algebra/Module/LinearMap/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/WedgePairing.lean |
2 |
1 |
['github-actions'] |
nobody |
3-44242 3 days ago |
3-45917 3 days ago |
3-50233 3 days |
0 |
| 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
maintainer-merge
|
59/0 |
Mathlib/RingTheory/PowerSeries/Derivative.lean |
1 |
5 |
['Ruben-VandeVelde', 'WenrongZou', 'github-actions'] |
nobody |
3-42486 3 days ago |
57-14027 57 days ago |
65-70502 65 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 |
65/14 |
Mathlib.lean,Mathlib/Order/RelSeries.lean,Mathlib/Order/RelSeries/Lemmas.lean |
3 |
4 |
['Ruben-VandeVelde', 'SnirBroshi', 'github-actions'] |
nobody |
3-40448 3 days ago |
3-41916 3 days ago |
76-24442 76 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'] |
TwoFX assignee:TwoFX |
3-36518 3 days ago |
77-26888 77 days ago |
77-26842 77 days |
0 |
| 45108 |
thorimur author:thorimur |
feat: revamp `mk_all` internals |
This PR revamps `mk_all` to
1. correctly find the source directory and paths from the (already available) `lean_lib`s and rely on more robust Lake API more broadly
2. use a `Config` internally that accounts for the mathlib-specific exceptions, so that in the future downstream projects could read this from json instead
3. checks that we are not overwriting a file that includes more than just imports, and demands `--clobber` to do so
4. (misc.) allow multiple libraries/roots to be specified with `--lib Foo,Bar,Baz`
This also generally refactors the code somewhat to make it more principled and (hopefully) maintainable.
We also change the behavior of API in `Mathlib.Util.GetAllModules` as appropriate in order to rely on more robust paths.
---
- [x] depends on: #45107
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
271/112 |
Mathlib/Util/GetAllModules.lean,lakefile.lean,scripts/README.md,scripts/mk_all.lean |
4 |
7 |
['github-actions', 'grunweg', 'mathlib-dependent-issues', 'thorimur'] |
kim-em assignee:kim-em |
3-36515 3 days ago |
13-48718 13 days ago |
13-48672 13 days |
0 |
| 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 |
2 |
['artie2000', 'github-actions'] |
nobody |
3-27028 3 days ago |
3-27531 3 days ago |
3-28412 3 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
|
149/94 |
Mathlib/ModelTheory/PartialEquiv.lean,Mathlib/Order/Cofinal.lean,Mathlib/Order/CountableDenseLinearOrder.lean,Mathlib/Order/Ideal.lean |
4 |
10 |
['github-actions', 'staroperator', 'vihdzp'] |
nobody |
3-26631 3 days ago |
3-27937 3 days ago |
32-32056 32 days |
1 |
| 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
maintainer-merge
|
151/0 |
Mathlib.lean,Mathlib/Combinatorics/Design/Defs.lean |
2 |
18 |
['Jun2M', 'Parcly-Taxel', 'YaelDillies', 'github-actions', 'tb65536'] |
nobody |
3-25036 3 days ago |
6-71395 6 days ago |
112-42508 112 days |
1 |
| 38393 |
staroperator author:staroperator |
refactor(ModelTheory): add typeclasses for algebraic symbols |
`Language.ring` and `Language.presburger` share the same symbols `0`, `1` and `+` and have duplicated instances on `Term` and `realize` simp lemmas. This PR makes these symbols certain typeclasses (similar to [`Language.IsOrdered`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/ModelTheory/Order.html#FirstOrder.Language.IsOrdered)) and removes the duplication.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below 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
tech debt
|
401/202 |
Mathlib.lean,Mathlib/ModelTheory/Algebra/Classes.lean,Mathlib/ModelTheory/Algebra/Field/IsAlgClosed.lean,Mathlib/ModelTheory/Algebra/Ring/Basic.lean,Mathlib/ModelTheory/Algebra/Ring/FreeCommRing.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Basic.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Definability.lean |
7 |
9 |
['fpvandoorn', 'github-actions', 'mathlib-merge-conflicts', 'staroperator'] |
fpvandoorn assignee:fpvandoorn |
3-24080 3 days ago |
3-24345 3 days ago |
40-18626 40 days |
1 |
| 45601 |
vihdzp author:vihdzp |
feat: grade of element is `⊥` iff element is `⊥` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #45585 |
t-order |
14/2 |
Mathlib/Order/Grade.lean |
1 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
3-20072 3 days ago |
3-20924 3 days ago |
3-21553 3 days |
0 |
| 40479 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat(LinearAlgebra/AffineSpace/Simplex/Standard): Define the standard $n$-simplex as an `Affine.Simplex` |
In this PR, we define a basis-dependent construction of an affine simplex, using which we define the standard $n$-simplex in `Fin n → k` in terms of `Pi.basisFun`.
The main constructions are `Affine.Simplex.mkOfAffineBasis` and `Affine.Simplex.mkOfBasis`. The former constructs a simplex from any affine basis of an affine space and the latter constructs an affine simplex in a vector space viewed as an affine space. We then relate the construction to `stdSimplex`, defined in `Analysis.Convex.StdSimplex`.
I wrote the definitions myself and used LLM help to develop 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/)
|
LLM-generated
new-contributor
t-algebra
label:t-algebra$ |
153/0 |
Mathlib.lean,Mathlib/LinearAlgebra/AffineSpace/Basis.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Standard.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean |
4 |
19 |
['github-actions', 'mathlib-splicebot', 'thefundamentaltheor3m', 'wwylele'] |
ocfnash assignee:ocfnash |
3-18618 3 days ago |
10-55176 10 days ago |
90-18847 90 days |
0 |
| 45602 |
vihdzp author:vihdzp |
feat: `ClosedIicTopology` on partial order is T0 |
We can't guarantee T1, take e.g. the Sierpinski topology.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-order
|
10/16 |
Mathlib/Topology/Order/OrderClosed.lean,Mathlib/Topology/Order/ScottTopology.lean |
2 |
1 |
['github-actions'] |
nobody |
3-15604 3 days ago |
3-31210 3 days ago |
3-31301 3 days |
0 |
| 45604 |
JovanGerb author:JovanGerb |
refactor(GRewrite): `mctx`/`lctx` management |
This PR refactors the way `grw` deals with local contexts/metavariable contexts. Previously, this was integrated in the congruence loop (the big `mutual` block). After this PR, it is part of the function that applies the rewrite lemma.
This refactor is necessary in order to support equality congruence in `grw` using `Lean.Meta.Simp.main`.
The new implementation works as follows. We keep a state of whether any rewrite has occurred.
To rewrite for the first time, we update the local contexts of the meta variables to match the current local context. If we succeed, then we keep this updated metavariable context.
We also check which free variables appear in the metavariable assignments. The rewrite only makes sense when these variables are in scope. So, to keep track of this, we store the *maximal free varaible*, i.e. the used free variable with the largest index in the local context. At any later point, we check whether the rewrite makes sense by checking if this maximal free variable is in scope.
This PR also fixes a few issues around synthesizing instances under binders, and adds tests for them:
- The function `postprocessAppMVars` needs to be run in the local context of the rewrite (with `withLCtx`). Otherwise, we can get an unknown free variable error. Thanks to Aaron Liu for reporting this failure.
- The returned local context of a rewrite is now the maximal one instead of the minimal one, so that type class search has more available local instances. This is useful for synthesizing instances under e.g. a `[...] → _` binder.
- When modifying the local context of a metavariable, we now also update the local instances. This is similarly useful for rewriting under a `[...] → _` binder.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
141/76 |
Mathlib/Tactic/GRewrite/Core.lean,Mathlib/Tactic/GRewrite/Elab.lean,MathlibTest/Tactic/GRewrite.lean |
3 |
3 |
['JovanGerb', 'github-actions', 'leanprover-radar'] |
nobody |
3-7059 3 days ago |
3-20301 3 days ago |
3-20255 3 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), see stacks project [04GG](https://stacks.math.columbia.edu/tag/04GG).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below 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 |
93/6 |
Mathlib/RingTheory/Henselian.lean |
1 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
3-1467 3 days ago |
3-42166 3 days ago |
68-61424 68 days |
0 |
| 45608 |
vdelbarc author:vdelbarc |
feat(Algebra/Algebra): add ideals and quotients for non-unital non-associative algebras |
Introduce `NonUnitalNonAssocAlgebra.TwoSidedIdeal R A` as an `R`-submodule closed under multiplication by arbitrary elements of `A` on either side. This provides scalar-closed ideals for quotient constructions in non-unital, non-associative algebras.
Add basic lemmas, together with a forgetful map to the existing ring-theoretic `TwoSidedIdeal A`.
Construct the quotient `A ⧸ I` using the underlying submodule quotient. Equip it with non-unital, non-associative ring and module structures, and provide the quotient map as a non-unital algebra homomorphism, computation lemmas, and an induction principle.
Show that `SMulCommClass R A A` and `IsScalarTower R A A`, when available, descend to the quotient.
Co-Authors: Gustavo Infanti, Exequiel Rivas, Paul Schwahn
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-algebra
new-contributor
label:t-algebra$ |
262/0 |
Mathlib.lean,Mathlib/Algebra/Algebra/NonUnitalIdeal.lean |
2 |
2 |
['github-actions'] |
nobody |
3-796 3 days ago |
3-1246 3 days ago |
3-2527 3 days |
0 |
| 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 |
59/0 |
Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/Padics/ValuativeRel.lean,Mathlib/Topology/Algebra/ValuativeRel/ValuativeTopology.lean |
3 |
5 |
['WenrongZou', 'github-actions', 'mathlib-merge-conflicts', 'tb65536'] |
nobody |
2-82475 2 days ago |
2-83181 2 days ago |
46-5004 46 days |
1 |
| 45540 |
arsmagic author:arsmagic |
feat(RingTheory/ZMod): odd-unit square criterion in ZMod (2^n) |
For an odd integer a, a is a square in ZMod (2^n) iff a ≡ 1 (mod 2^min(n,3)): case forms isSquare_two_pow_iff_of_odd_three_le (n≥3, mod 8) and isSquare_two_pow_iff_of_odd_le_three (n≤3, mod 2^n), plus the uniform form.
Discussed on Zulip (#Is there code for X? > Squares in ZMod (2^n) for odd units).
(https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Squares.20in.20ZMod.20.282.5En.29.20for.20odd.20units) (Xavier Roblot confirmed #45509 will not cover squares; split into two case forms per Snir Broshi's suggestion.)
Adds the characterization of squares among odd (unit) residues modulo a power of two.
For an odd integer a:
ZMod.isSquare_two_pow_iff_of_odd_three_le — for 3 ≤ n, IsSquare (a : ZMod (2^n)) ↔ a ≡ 1 [ZMOD 8].
ZMod.isSquare_two_pow_iff_of_odd_le_three — for n ≤ 3, ↔ a ≡ 1 [ZMOD 2^n].
ZMod.isSquare_two_pow_iff_of_odd — uniform form via min n 3.
Sufficiency is derived from `ZMod.isComplement'_zpowers_unitFive_neg_one` (#45509), and the custom Hensel lifting has been removed.
AI-tools used during preparation.
|
LLM-generated
t-data
new-contributor
|
128/0 |
Mathlib.lean,Mathlib/RingTheory/ZMod/IsSquare.lean |
2 |
21 |
['SnirBroshi', 'arsmagic', 'felixpernegger', 'github-actions', 'wwylele'] |
nobody |
2-73013 2 days ago |
5-61542 5 days ago |
5-62274 5 days |
0 |
| 45393 |
JovanGerb author:JovanGerb |
chore: golf some `conv` proofs |
This PR golfs many `conv` proofs. This is in preparation for #45124 (multigoal linter in `conv`). I used `enter` for these golfs and not `arg`/`lhs`/`rhs`/`ext`, because `enter` supersedes all of these.
Some of the golfs are not required by the new linter, such as for proofs that look like
```
congr
· skip
· rw [...]
```
But this can be cleaned up nonetheless.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
|
84/147 |
Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Mathlib/Algebra/BigOperators/Module.lean,Mathlib/Algebra/Lie/IdealOperations.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Degree.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Fourier/AddCircle.lean,Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/Normed/Group/AddCircle.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/FourierTransform.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ModuleEmbedding/GabrielPopescu.lean,Mathlib/CategoryTheory/Abelian/NonPreadditive.lean,Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean,Mathlib/CategoryTheory/Preadditive/Biproducts.lean,Mathlib/CategoryTheory/Subobject/Comma.lean,Mathlib/Data/Nat/Digits/Lemmas.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/Data/QPF/Multivariate/Constructions/Cofix.lean,Mathlib/Dynamics/Ergodic/AddCircle.lean,Mathlib/FieldTheory/Differential/Liouville.lean,Mathlib/FieldTheory/Fixed.lean,Mathlib/Geometry/Convex/ConvexSpace/AffineSpace.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/LinearAlgebra/AffineSpace/Combination.lean,Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean,Mathlib/MeasureTheory/VectorMeasure/Decomposition/Lebesgue.lean,Mathlib/NumberTheory/BernoulliPolynomials.lean,Mathlib/NumberTheory/Cyclotomic/PrimitiveRoots.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Basic.lean,Mathlib/NumberTheory/Padics/RingHoms.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/NumberTheory/Wilson.lean,Mathlib/NumberTheory/ZetaValues.lean,Mathlib/RepresentationTheory/Character.lean,Mathlib/RingTheory/Discriminant.lean,Mathlib/RingTheory/FractionalIdeal/Inverse.lean,Mathlib/RingTheory/Polynomial/Eisenstein/Basic.lean,Mathlib/RingTheory/Polynomial/Eisenstein/IsIntegral.lean,Mathlib/RingTheory/Polynomial/Vieta.lean,Mathlib/RingTheory/Trace/Basic.lean,Mathlib/Topology/Algebra/InfiniteSum/Ring.lean,Mathlib/Topology/Algebra/Valued/ValuedField.lean,Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean |
43 |
3 |
['github-actions', 'mathlib-merge-conflicts', 'themathqueen'] |
nobody |
2-67771 2 days ago |
2-70219 2 days ago |
8-27436 8 days |
1 |
| 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 |
98/123 |
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/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 |
36 |
14 |
['JovanGerb', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
2-66874 2 days ago |
2-70149 2 days ago |
29-30188 29 days |
0 |
| 45575 |
lua-vr author:lua-vr |
feat(Topology/Instances/AddCircle): `Infinite (AddCircle p)` for a densely ordered group |
---
Suggested in https://github.com/leanprover-community/mathlib4/pull/45360#discussion_r4408995830. If the scalars form an ordered group, then this version should be more general than using divisibility. CC @vihdzp
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
<!-- Message of single commit: --> |
t-topology
maintainer-merge
|
12/0 |
Mathlib/Topology/Instances/AddCircle/Defs.lean |
1 |
11 |
['felixpernegger', 'github-actions', 'lua-vr', 'vihdzp'] |
nobody |
2-65940 2 days ago |
2-67271 2 days ago |
3-81830 3 days |
2 |
| 45584 |
leomayer1 author:leomayer1 |
refactor(CategoryTheory): change `HasShift` monoid argument to `outParam` |
In current master, `HasShift` has type signature
```
CategoryTheory.HasShift.{v, u, u_2} (C : Type u) (A : Type u_2) [Category.{v, u} C] [AddMonoid A]
```
and the TriangulatedCategory library is full of expressions like `X⟦(1: ℤ)⟧`. The more natural expression `X⟦1⟧` raises an error when an instance of `HasShift C ℕ` cannot be inferred.
This PR changes the type signature of `HasShift` to
```
CategoryTheory.HasShift.{v, u, u_2} (C : Type u) (A : outParam (Type u_2)) [Category.{v, u} C] [AddMonoid A]
```
so that now from the expression `X⟦1⟧` Lean can find the instance `HasShift C ℤ` and infer that `1` should have type `ℤ`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-category-theory
|
236/230 |
Mathlib/CategoryTheory/DifferentialObject.lean,Mathlib/CategoryTheory/Localization/Triangulated.lean,Mathlib/CategoryTheory/ObjectProperty/Shift.lean,Mathlib/CategoryTheory/Shift/Basic.lean,Mathlib/CategoryTheory/Shift/CommShift.lean,Mathlib/CategoryTheory/Shift/Localization.lean,Mathlib/CategoryTheory/Shift/ShiftSequence.lean,Mathlib/CategoryTheory/Shift/ShiftedHomOpposite.lean,Mathlib/CategoryTheory/Shift/Twist.lean,Mathlib/CategoryTheory/Triangulated/Adjunction.lean,Mathlib/CategoryTheory/Triangulated/Basic.lean,Mathlib/CategoryTheory/Triangulated/Functor.lean,Mathlib/CategoryTheory/Triangulated/LocalizingSubcategory.lean,Mathlib/CategoryTheory/Triangulated/Opposite/Basic.lean,Mathlib/CategoryTheory/Triangulated/Opposite/Pretriangulated.lean,Mathlib/CategoryTheory/Triangulated/Opposite/Triangle.lean,Mathlib/CategoryTheory/Triangulated/Pretriangulated.lean,Mathlib/CategoryTheory/Triangulated/Rotate.lean,Mathlib/CategoryTheory/Triangulated/SpectralObject.lean,Mathlib/CategoryTheory/Triangulated/Subcategory.lean,Mathlib/CategoryTheory/Triangulated/TStructure/AbelianSubcategory.lean,Mathlib/CategoryTheory/Triangulated/TStructure/Basic.lean,Mathlib/CategoryTheory/Triangulated/TStructure/ETrunc.lean,Mathlib/CategoryTheory/Triangulated/TStructure/Induced.lean,Mathlib/CategoryTheory/Triangulated/TStructure/SpectralObject.lean,Mathlib/CategoryTheory/Triangulated/TStructure/TruncLEGT.lean,Mathlib/CategoryTheory/Triangulated/TStructure/TruncLTGE.lean,Mathlib/CategoryTheory/Triangulated/TriangleShift.lean,Mathlib/CategoryTheory/Triangulated/Triangulated.lean,Mathlib/CategoryTheory/Triangulated/Yoneda.lean |
30 |
8 |
['github-actions', 'joelriou', 'leanprover-radar', 'leomayer1', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
2-65313 2 days ago |
3-75919 3 days ago |
3-75873 3 days |
0 |
| 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, for `MonoidAlgebra` but also for `Polynomial`. The `Zero` instance is left exposed for now as no_exposing it would require a few more adaptations.
This PR modifies the implementation of `fast_instance%` in the same way that `inferInstanceAs` was changed recently in https://github.com/leanprover/lean4/pull/15216.
The `simpNF` linter has an exception for `rfl` lemmas (see also #44554). Some of these lints are hit by this PR because after this PR these are no longer `rfl` 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: #42291
[](https://gitpod.io/from-referrer/)
|
|
87/69 |
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 |
23 |
['JovanGerb', 'github-actions', 'kbuzzard', 'leanprover-radar', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
2-61306 2 days ago |
2-63335 2 days ago |
70-20994 70 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$ |
85/45 |
Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
2-56429 2 days ago |
2-58378 2 days ago |
25-64362 25 days |
0 |
| 45625 |
grunweg author:grunweg |
chore(Geometry/Manifold/VectorBundle): rename iff lemmas about differentiability to mention iff |
All these lemmas characterise differentiability using a trivialization, hence could mention `iff` as part of their name.
They should, since there exist conceivable statements of the same name without the `iff`
(e.g., about some section being differentiable).
This also increases naming consistency: a number of similar lemmas in that file already use the `iff` naming.
Zulip discussion supporting this: [#mathlib4 > Naming convention @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Naming.20convention/near/636496147)
Continuation of #45588.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
34/22 |
Mathlib/Geometry/Manifold/VectorBundle/ContinuousAlternatingMap.lean,Mathlib/Geometry/Manifold/VectorBundle/Hom.lean,Mathlib/Geometry/Manifold/VectorBundle/MDifferentiable.lean,Mathlib/Geometry/Manifold/VectorBundle/Riemannian.lean |
4 |
1 |
['github-actions'] |
nobody |
2-55471 2 days ago |
2-56875 2 days ago |
2-56829 2 days |
1 |
| 38231 |
NoneMore author:NoneMore |
feat(ModelTheory/Definablity): add syntax-to-definability bridge lemmas |
Add bridge lemmas from syntax to definability and refactor downstream proofs to 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]
-->
[](https://gitpod.io/from-referrer/) |
t-logic |
104/55 |
Mathlib/ModelTheory/Definability.lean,Mathlib/ModelTheory/ElementarySubstructures.lean |
2 |
3 |
['github-actions', 'mathlib-merge-conflicts', 'staroperator'] |
nobody |
2-55426 2 days ago |
3-17268 3 days ago |
92-58693 92 days |
0 |
| 45449 |
grunweg author:grunweg |
feat: more lemmas about differentiability of sections |
For each lemma, the analogous lemma about `C^n` sections already exists.
And make two arguments to `mdifferentiableWithinAt_totalSpace` implicit.
From the project on the fundamental of Riemannian geometry: Ehresmann connections, curvature and geodesics.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
71/15 |
Mathlib/Geometry/Manifold/VectorBundle/ContinuousAlternatingMap.lean,Mathlib/Geometry/Manifold/VectorBundle/Hom.lean,Mathlib/Geometry/Manifold/VectorBundle/LocalFrame.lean,Mathlib/Geometry/Manifold/VectorBundle/MDifferentiable.lean |
4 |
2 |
['github-actions', 'grunweg'] |
nobody |
2-54090 2 days ago |
2-56032 2 days ago |
5-9901 5 days |
1 |
| 45630 |
tb65536 author:tb65536 |
feat(RingTheory/Unramified/Finite): add `Algebra.FormallyUnramified.extendScalars` |
This PR adds `extendScalars : (M →ₗ[R] N) →ₗ[S] (M →ₗ[S] N)` for a formally unramified extension `S/R` of essentially finite type.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
t-algebra
label:t-algebra$ |
52/0 |
Mathlib/RingTheory/Unramified/Finite.lean |
1 |
1 |
['github-actions'] |
nobody |
2-52660 2 days ago |
2-52956 2 days ago |
2-52911 2 days |
1 |
| 45629 |
MichaelStollBayreuth author:MichaelStollBayreuth |
chore(Analysis/Fourier/AddCircle): move the Fourier series API into the `AddCircle` namespace |
The declarations about the monomials `fourier n`, Fourier coefficients and the Fourier basis of `AddCircle T` lived in the root namespace (this dates back to when this was the only Fourier theory in Mathlib). By now, some of the names clash with declarations in various namespaces, e.g., `fourier_zero`, `fourier_neg` and `fourier_add` clash with `FourierTransform.fourier_zero` etc., and `fourier` with the class field `FourierTransform.fourier.
This PR moves all 61 of these declarations into the namespace `AddCircle`. A few are renamed on the way for consistency:
* `fourierCoeff.add`, `.sum`, `.const_smul`, `.const_mul` → `fourierCoeff_add` etc.;
* `fourierCoeffOn.const_smul`, `.const_mul` → `fourierCoeffOn_const_smul`, `fourierCoeffOn_const_mul`;
* `has_pointwise_sum_fourier_series_of_summable` → `hasSum_fourier_series_apply_of_summable` (cf. `UnitAddTorus.hasSum_mFourier_series_apply_of_summable`);
* `has_antideriv_at_fourier_neg` → `hasDerivAt_div_mul_fourier_neg`.
The old names are deprecated aliases. This also adds `AddCircle.fourier_sub` for completeness, and updates the uses in Mathlib and the references in `docs/*.yaml`. Note that the clashes will persist until the deprecated names are removed; in particular, occurrences at many use sites need to be qualified now until the removal has happened. Unfortunately, this makes for a fairly large diff.
See [#mathlib4 > AddCircle Fourier declarations in the root namespace @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/AddCircle.20Fourier.20declarations.20in.20the.20root.20namespace/near/637205314).
:robot: Claude Code (Opus 5.5) was used to set up 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
|
242/123 |
Mathlib/Analysis/Fourier/AddCircle.lean,Mathlib/Analysis/Fourier/AddCircleMulti.lean,Mathlib/Analysis/Fourier/FourierTransformDeriv.lean,Mathlib/Analysis/Fourier/PoissonSummation.lean,Mathlib/Analysis/Polynomial/Fourier.lean,Mathlib/NumberTheory/ModularForms/Bounds.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean,Mathlib/NumberTheory/ZetaValues.lean,docs/100.yaml,docs/1000.yaml,docs/overview.yaml,docs/undergrad.yaml |
12 |
2 |
['MichaelStollBayreuth', 'github-actions'] |
nobody |
2-51686 2 days ago |
2-55316 2 days ago |
2-55270 2 days |
0 |
| 45579 |
lua-vr author:lua-vr |
feat(Topology/Instances/AddCircle): induced map between `AddCircle`s |
---
Suggested in #45360
AI-assisted (but 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: #45580
<!-- Message of single commit: --> |
LLM-generated |
35/0 |
Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/Topology/Instances/AddCircle/Defs.lean |
2 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
2-49775 2 days ago |
2-49778 2 days ago |
2-50729 2 days |
2 |
| 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 |
65/21 |
Mathlib/Tactic/ClickSuggestions/Util.lean,MathlibTest/ClickSuggestions/Deduplicate.lean |
2 |
3 |
['JovanGerb', 'github-actions', 'thorimur'] |
thorimur assignee:thorimur |
2-44880 2 days ago |
2-47888 2 days ago |
13-36423 13 days |
1 |
| 45637 |
marcelolynch author:marcelolynch |
fix(Cache): repeat `--repo` in suggested cache commands |
When the user passes `--repo`, the cache tool now repeats it in the commands that it suggests. This applies to the suggestions of `cache query` and to the missing-files hint of `cache get`. Without `--repo`, the suggested command reads the cache of the checkout's git remote, which is not the repository that the user asked for.
🤖
|
CI |
30/10 |
Cache/Main.lean,Cache/Query.lean,Cache/Test.lean,Cache/Warning.lean |
4 |
1 |
['github-actions'] |
nobody |
2-44503 2 days ago |
2-45276 2 days ago |
2-45230 2 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 |
250/23 |
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 |
19 |
['SnirBroshi', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'vihdzp'] |
alreadydone assignee:alreadydone |
2-37238 2 days ago |
8-38777 8 days ago |
19-61246 19 days |
3 |
| 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'] |
jjdishere assignee:jjdishere |
2-36527 2 days ago |
33-84192 33 days ago |
90-48105 90 days |
6 |
| 45620 |
ybenmeur author:ybenmeur |
refactor: redefine `Bimon` to use `BimonObj` |
Redefine `Bimon` to use `BimonObj`, and show that it is equivalent to the old definition `Comon (Mon C)`.
Also add some lemmas for `Hopf` and show `Functor.mapBimon` and `Functor.mapHopf`.
---
For now I have left most of the current code, having just replaced `Bimon C` by `Comon (Mon 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]
-->
|
increases-technical-debt
t-category-theory
|
333/64 |
Mathlib/CategoryTheory/Monoidal/Bimon_.lean,Mathlib/CategoryTheory/Monoidal/Hopf_.lean |
2 |
1 |
['github-actions'] |
robin-carlier assignee:robin-carlier |
2-36521 2 days ago |
2-58746 2 days ago |
2-59690 2 days |
2 |
| 45639 |
mcdoll author:mcdoll |
chore(NumberTheory/LSeries): make two proofs comprehensible |
---
Zulip: [#mathlib4 > Is long `rw` chain bad? @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Is.20long.20.60rw.60.20chain.20bad.3F/near/637349427)
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
8/10 |
Mathlib/NumberTheory/LSeries/HurwitzZetaValues.lean |
1 |
1 |
['github-actions'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
2-36520 2 days ago |
2-37783 2 days ago |
2-38271 2 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'] |
nobody |
2-35627 2 days ago |
116-46400 116 days ago |
120-49749 120 days |
0 |
| 45195 |
gasparattila author:gasparattila |
feat(Order): `DecidableLE` from `DecidableEq` in a semilattice |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
11/0 |
Mathlib/Order/Lattice.lean |
1 |
1 |
['github-actions', 'vihdzp'] |
nobody |
2-29750 2 days ago |
14-44044 14 days ago |
14-43998 14 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/20 |
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 |
10 |
['JX-Mo', 'Whysoserioushah', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
2-18186 2 days ago |
10-34943 10 days ago |
43-40847 43 days |
1 |
| 45607 |
JovanGerb author:JovanGerb |
chore(CategoryTheory/Limits/Shapes/Kernels): use `to_dual` |
This PR uses `to_dual` to generate `cokernel` from `kernel`, as well as the prerequisite material on preserving terminal objects and zero objects.
For now I've removed `colimit_ι_zero_cokernel_desc`, as its dual doesn't exist and it is not used. It was added in the port in #3638 with a porting note.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
195/678 |
Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/CategoryTheory/Abelian/CommSq.lean,Mathlib/CategoryTheory/Abelian/SerreClass/MorphismProperty.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Kernels.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Terminal.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Zero.lean,Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/IsPullback/Kernels.lean |
8 |
2 |
['github-actions', 'jcommelin'] |
nobody |
2-11075 2 days ago |
2-66107 2 days ago |
2-69576 2 days |
0 |
| 45574 |
loefflerd author:loefflerd |
refactor(Geometry/Manifold/Notation): split long def |
The function `findModelInner` that tries to find a model-with-corners instance on a given type is > 250 lines, hence triggers the new long-declarations linter. This PR splits it up by migrating (most of) the helper functions defined in `where` clauses into separate private declarations. (One helper has to stay part of the declaration, because it recursively calls `findModelInner`.)
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
324/299 |
Mathlib/Geometry/Manifold/Notation.lean |
1 |
6 |
['github-actions', 'grunweg', 'loefflerd', 'mathlib-merge-conflicts'] |
grunweg assignee:grunweg |
1-83947 1 day ago |
2-57606 2 days ago |
3-39072 3 days |
1 |
| 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.
Also rename `map_le_iff` to `map_le_map_iff` (with a deprecated alias), 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 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
|
10/3 |
Mathlib/Order/Hom/WithTopBot.lean,Mathlib/Order/WithBot.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
1-83177 1 day ago |
1-85349 1 day ago |
57-17526 57 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/)
|
|
58/37 |
Mathlib/Tactic/Algebraize.lean,Mathlib/Tactic/ApplyCongr.lean,Mathlib/Tactic/Bound.lean,Mathlib/Tactic/CategoryTheory/CheckCompositions.lean,Mathlib/Tactic/Conv.lean,Mathlib/Tactic/DSimpPercent.lean,Mathlib/Tactic/DeclarationNames.lean,Mathlib/Tactic/DepRewrite.lean,Mathlib/Tactic/FunProp/Attr.lean,Mathlib/Tactic/FunProp/Decl.lean,Mathlib/Tactic/FunProp/Elab.lean,Mathlib/Tactic/FunProp/FunctionData.lean,Mathlib/Tactic/FunProp/Mor.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/FunProp/ToBatteries.lean,Mathlib/Tactic/FunProp/Types.lean,Mathlib/Tactic/GuardGoalNums.lean,Mathlib/Tactic/GuardHypNums.lean,Mathlib/Tactic/Inhabit.lean,Mathlib/Tactic/Linarith.lean,Mathlib/Tactic/Linter/Style.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/Linter/UpstreamableDecl.lean,Mathlib/Tactic/NormNum/Core.lean,Mathlib/Tactic/NormNum/OfScientific.lean,Mathlib/Tactic/NormNum/Pow.lean,Mathlib/Tactic/NormNum/Result.lean,Mathlib/Tactic/Positivity/Basic.lean,Mathlib/Tactic/Positivity/Core.lean,Mathlib/Tactic/Ring/NamePolyVars.lean,Mathlib/Tactic/Ring/NamePowerVars.lean,Mathlib/Tactic/SplitIfs.lean,Mathlib/Tactic/Tauto.lean,Mathlib/Tactic/ToAdditive.lean,Mathlib/Tactic/ToDual.lean,Mathlib/Tactic/Widget/CommDiag.lean |
36 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
1-82331 1 day ago |
1-84574 1 day ago |
57-42321 57 days |
0 |
| 45405 |
tb65536 author:tb65536 |
chore(Topology/Algebra/Module/FiniteDimension): generalize Submodule.closed_of_finiteDimensional to IsModuleTopology |
This PR generalizes Submodule.closed_of_finiteDimensional to IsModuleTopology.
Zulip thread: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/IsModuleTopology.20for.20finite.20dimensional.20spaces/with/635177525
The proof of FiniteDimensional.complete is adapted from LLM-generated code from a larger project.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-topology
t-analysis
maintainer-merge
label:t-algebra$ |
132/87 |
Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Convex/Intrinsic.lean,Mathlib/Analysis/Convex/Measure.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/NormDet.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/InnerProductSpace/Positive.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Analysis/InnerProductSpace/l2Space.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Geometry/Euclidean/Volume/Measure.lean,Mathlib/MeasureTheory/Measure/Lebesgue/EqHaar.lean,Mathlib/NumberTheory/NumberField/Completion/FinitePlace.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean,Mathlib/Topology/UniformSpace/Cauchy.lean,docs/overview.yaml |
17 |
27 |
['github-actions', 'tb65536', 'themathqueen'] |
nobody |
1-81719 1 day ago |
2-44524 2 days ago |
7-56626 7 days |
0 |
| 42578 |
harahu author:harahu |
chore: avoid lazy continuation lines in markdown |
This PR fixes Markdown lazy continuation lines in documentation. The bulk of the changes are:
1. Continuation lines of a list item are indented to the item's content column instead of sitting flush with the marker.
2. A blank line is inserted where a paragraph following a list was being absorbed into the final list item.
This is done because lazy continuation can make it hard to understand the intent of the text when reading the raw source. It is also a source of flawed rendering, as in case 2 above.
One other minor change is also included:
- RingTheory/FormalGroup/Basic.lean: the qualifier "when F is a commutative formal group law" moves from AddMonoid to AddCommMonoid, which is where it belongs: instance : AddMonoid (F.Point σ) is unconditional, instance [F.IsComm] : AddCommMonoid (F.Point σ) is not.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
|
136/121 |
Mathlib/Algebra/Category/ModuleCat/Presheaf/ColimitFunctor.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Homology/SpectralSequence/ComplexShape.lean,Mathlib/Algebra/Lie/LieTheorem.lean,Mathlib/Algebra/Lie/Prod.lean,Mathlib/Algebra/LieRinehartAlgebra/Subalgebra.lean,Mathlib/Algebra/Notation/Bracket.lean,Mathlib/AlgebraicGeometry/EllipticCurve/LFunction.lean,Mathlib/AlgebraicGeometry/Gluing.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicTopology/Reedy/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/PushoutProduct.lean,Mathlib/AlgebraicTopology/SimplicialSet/Subdivision.lean,Mathlib/AlgebraicTopology/SimplicialSet/TopAdj.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/Normed/Field/Approximation.lean,Mathlib/Analysis/Normed/Field/Dense.lean,Mathlib/Analysis/Normed/Field/Krasner.lean,Mathlib/Analysis/Normed/Module/Bases.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Extremal.lean,Mathlib/CategoryTheory/Abelian/Preradical/Colon.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/ChosenPullback.lean,Mathlib/CategoryTheory/Sites/Point/OfIsCofiltered.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Finite.lean,Mathlib/Dynamics/SymbolicDynamics/Basic.lean,Mathlib/GroupTheory/FinitelyPresentedGroup.lean,Mathlib/GroupTheory/Generators.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/GroupTheory/Perm/Fin.lean,Mathlib/Lean/Meta/RefinedDiscrTree/Basic.lean,Mathlib/LinearAlgebra/InvariantBasisNumber.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/LinearAlgebra/SymplecticGroup.lean,Mathlib/Logic/Equiv/Array.lean,Mathlib/Logic/Equiv/Fin/Rotate.lean,Mathlib/NumberTheory/WellApproximable.lean,Mathlib/Probability/Process/Adapted.lean,Mathlib/RingTheory/FormalGroup/Basic.lean,Mathlib/Tactic/Algebra/Basic.lean,Mathlib/Tactic/Polynomial/Basic.lean,Mathlib/Topology/Category/LightProfinite/Injective.lean,Mathlib/Topology/Gluing.lean,Mathlib/Topology/MetricSpace/PiNat.lean,Mathlib/Topology/Sheaves/Presheaf.lean,Mathlib/Topology/Sion.lean |
47 |
4 |
['SnirBroshi', 'github-actions', 'harahu', 'mathlib-merge-conflicts'] |
nobody |
1-81434 1 day ago |
1-84440 1 day ago |
37-35885 37 days |
0 |
| 44123 |
TJHeeringa author:TJHeeringa |
chore(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.
NB: This change causes a breakage in behavior, as the `LinearMap.SeparatingLeft`, `LinearMap.SeparatingRight` and `LinearMap.Nondegenerate` now depend on two semirings instead of one commutative semiring. When assigning explicit values to the implicit ring, this leads to an error. The resulting error can be fixed by replacing `(R := X)` by `(S₁ := X) (S₂ := X)`.
---
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
maintainer-merge
label:t-algebra$ |
40/29 |
Mathlib/LinearAlgebra/Dual/Lemmas.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean |
3 |
15 |
['TJHeeringa', 'github-actions', 'themathqueen'] |
nobody |
1-81341 1 day ago |
2-56874 2 days ago |
42-1051 42 days |
0 |
| 45593 |
TJHeeringa author:TJHeeringa |
feat(Analysis/InnerProductSpace/Positive): add norm_map_le_iff_adjoint_comp_self(_le_id) |
This PR add the theorem `norm_map_le_iff_adjoint_comp_self`, which states that `‖p x‖ ≤ ‖q x‖` holds if and only if `adjoint p ∘L p ≤ adjoint q ∘L q` is true, and the corollary of this for `q = .id 𝕜 E` named `norm_map_le_iff_adjoint_comp_self_le_id`.
---
This is the contraction version of `norm_map_iff_adjoint_comp_self`.
This should probably go into dedicated to contractive maps, but that doesn't exist yet. 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]
-->
|
t-analysis
maintainer-merge
|
13/0 |
Mathlib/Analysis/InnerProductSpace/Positive.lean |
1 |
16 |
['TJHeeringa', 'github-actions', 'themathqueen'] |
nobody |
1-80636 1 day ago |
2-57295 2 days ago |
2-57698 2 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 |
5 |
['github-actions', 'josephlr', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
alreadydone assignee:alreadydone |
1-80396 1 day ago |
70-51916 70 days ago |
70-52274 70 days |
0 |
| 45473 |
xroblot author:xroblot |
feat(RingTheory/Multiplicity): `multiplicity_pow` without finiteness hypothesis |
The formula `multiplicity p (a ^ k) = k * multiplicity p a` for a prime `p` now holds without assuming that the multiplicity of `p` in `a` is finite. This PR adds `multiplicity_pow` and deprecates `FiniteMultiplicity.multiplicity_pow`.
As a consequence, the hypothesis `m ≠ 0` of `irrational_nrt_of_n_not_dvd_multiplicity` is no longer needed and is removed.
It also adds `FiniteMultiplicity.of_dvd` and `FiniteMultiplicity.of_pow` (finiteness of the multiplicity passes to divisors), and `Associated.finiteMultiplicity_iff_right`.
:robot: This PR was extracted from the [SKW project](https://github.com/xroblot/SKW) by Claude.
|
t-algebra
t-ring-theory
maintainer-merge
label:t-algebra$ |
28/10 |
Mathlib/NumberTheory/Real/Irrational.lean,Mathlib/RingTheory/Multiplicity.lean |
2 |
17 |
['JX-Mo', 'github-actions', 'tb65536', 'xroblot'] |
nobody |
1-80055 1 day ago |
1-80133 1 day ago |
7-46831 7 days |
0 |
| 45554 |
Thmoas-Guan author:Thmoas-Guan |
feat(Data/ENat): more lemma for WithBot ENat |
We plan to add more lemmas into this separate file, instead of only adding it in `ENat.Basic`.
There would be a porting PR later.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-data |
32/0 |
Mathlib.lean,Mathlib/Data/ENat/WithBot.lean,Mathlib/Order/WithBotTop.lean |
3 |
6 |
['SnirBroshi', 'Thmoas-Guan', 'github-actions', 'tb65536'] |
nobody |
1-78750 1 day ago |
5-13986 5 days ago |
5-13940 5 days |
19 |
| 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
|
26/0 |
Mathlib/NumberTheory/ModularForms/DedekindEta.lean,Mathlib/NumberTheory/ModularForms/Discriminant.lean |
2 |
7 |
['MichaelStollBayreuth', 'github-actions', 'mathlib-merge-conflicts', 'seewoo5'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
1-78209 1 day ago |
1-78209 1 day ago |
34-69492 34 days |
0 |
| 26462 |
PSchwahn author:PSchwahn |
feat(LinearAlgebra/Projection): add results about inverse of `Submodule.prodEquivOfIsCompl` |
Add two theorems `Submodule.prodEquivOfIsCompl_symm_apply` and `Submodule.prodEquivOfIsCompl_symm_add`, which are API for `Submodule.prodEquivOfIsCompl`.
We believe these theorems are useful; for example, we have used their statements in a [classification formalization project](https://github.com/LieLean/LowDimSolvClassification).
Co-authored by:
- [Viviana del Barco](https://github.com/vdelbarc)
- [Gustavo Infanti](https://github.com/GuQOliveira)
- [Exequiel Rivas](https://github.com/erivas)
---
I am not sure whether the `prodEquivOfIsCompl_symm_apply` theorem should be tagged with `@[simp]`; this might lead to confluence issues. Opinions are welcome!
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
10/0 |
Mathlib/LinearAlgebra/Projection.lean |
1 |
8 |
['PSchwahn', 'github-actions', 'joelriou', 'kckennylau'] |
joelriou assignee:joelriou |
1-75796 1 day ago |
3-86272 3 days ago |
77-42908 77 days |
0 |
| 43494 |
wrenna-robson author:wrenna-robson |
refactor: rename the `diag` name token to `diagonal` |
Per recent discussion on Zulip ([#mathlib4 > antidiagonal vs antidiag](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/antidiagonal.20vs.20antidiag/with/622080434)), we want to move away from using `diag` as a name token. This renames every declaration where `diag` abbreviates *diagonal* so that it is spelled out in full (`antidiag` → `antidiagonal`, `offDiag` → `offDiagonal`, `IsDiag` → `IsDiagonal`, `diagSet` → `diagonalSet`, …), with a `@[deprecated]` alias for each, including the lemmas generated by `@[simps]`. `Function.diag` becomes `Prod.diagonal` (still `protected`).
A few names were tidied while being touched, e.g. `mapRange_finsuppAntidiag_{subset,eq}` → `map_finsuppAntidiagonal_mapRange_{subset,eq}`, `{Set,Finset}.offDiag_mono` → `offDiagonal_monotone`, `Finset.diag_mono` → `diagonal_monotone`, `edgeSet_sdiff_sdiff_isDiag` → `edgeSet_sdiff_sdiff_diagonalSet`, `LinearMap.rank_diagonal` → `rank_toLin'_diagonal`, and `Functor.initial_diag_of_isFiltered` → `Functor.initial_diagonal_of_isCofiltered` (its hypothesis is cofilteredness). Some renamed instances were made anonymous instead (no deprecation, as they are instances).
I've tried to split it into reviewable commits by area (`Prod`/`offDiag`, `Sym2`/`Finset.diag`, `antidiag`, `CategoryTheory`, misc, leftovers).
## Left for follow-up PRs
1. **File and directory names.** Modules keep `Diag`/`Antidiag` in their paths (e.g. `Mathlib/Algebra/Order/Antidiag/`) so that git history is preserved; moving them (with deprecated module stubs) is a separate PR.
2. **`Set.diagonal` / `Prod.diagonalSet`**: #38380, which also adds a `Set.diagonal` matching `Finset.diagonal`.
3. **Diagonal entries of a matrix.** These are untouched pending a decision on the `Matrix.diag`/`Matrix.diagonal` naming:
- `Matrix.diag`, `blockDiag`, `blockDiag'`, `IsDiag` and their API (`diag_*`, `isDiag_*`, `IsDiag.*`, `diagAddMonoidHom`, `diagLinearMap`, `Continuous.matrix_diag`, `HasSum.matrix_diag`, …);
- the `Matrix.IsFiniteCartan` fields `diag`/`offDiag_nonpos`, and the Cartan matrix lemmas `{A,B,C,D,E,E₆,F₄,G₂}_diag`, `A_diag_eq_two` and `*_off_diag_nonpos`;
- `IsAdjMatrix.apply_diag_ne`, `compl_apply_diag`, `diag_adjMatrix`, `incMatrix_{mul_transpose,transpose_mul}_diag`, `det_ne_zero_of_sum_{row,col}_lt_diag`, `rowScale_apply_diag_of_ne`, `LDL.diag*`;
- determinant tactic internals: `certDiag`, `certifyDiagProd(List)`, `certifyLowerTriangularDiag(List)`, `diagProd`, `IsLowerTriangularDiagList`, `paper_eq3_eq5_off_diag`.
4. **`diag` meaning *diagram***, to be renamed to `diagram`: `(Co)limitPresentation.diag` and `changeDiag`, `Galois.EssSurj.quotientDiag` and `coconeQuotientDiag*`, `CommDiag`/`mkCommDiag`.
5. **Protecting `diagonal` defs.** Several namespaces now declare a `diagonal` (e.g. `TopPair.diagonal`); these could be made `protected` to avoid clashes under `open`.
Not planned: `List.mapDiagM'` mirrors `List.mapDiagM` upstream and should stay in step with it.
|
LLM-generated |
1845/1011 |
Archive/Imo/Imo1998Q2.lean,Archive/Wiedijk100Theorems/BallotProblem.lean,Counterexamples/SorgenfreyLine.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/BigOperators/Sym.lean,Mathlib/Algebra/DirectSum/LinearMap.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/Coeff.lean,Mathlib/Algebra/Order/Antidiag/Finsupp.lean,Mathlib/Algebra/Order/Antidiag/FinsuppEquiv.lean,Mathlib/Algebra/Order/Antidiag/Nat.lean,Mathlib/Algebra/Order/Antidiag/Pi.lean,Mathlib/Algebra/Order/BigOperators/Group/LocallyFinite.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/AlgebraicTopology/ModelCategory/Cylinder.lean,Mathlib/AlgebraicTopology/ModelCategory/PathObject.lean,Mathlib/AlgebraicTopology/Quasicategory/StrictSegal.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplicialObject/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/FundamentalGroupoid/Homotopy.lean,Mathlib/AlgebraicTopology/SimplicialSet/StrictSegal.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Basic/Finite/Prod.lean,Mathlib/CategoryTheory/Abelian/NonPreadditive.lean,Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/Filtered/Final.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts/BinaryProducts.lean,Mathlib/CategoryTheory/Limits/Sifted.lean,Mathlib/CategoryTheory/Monoidal/ExternalProduct/Basic.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/Limits/Colimits.lean,Mathlib/CategoryTheory/MorphismProperty/Representable.lean,Mathlib/CategoryTheory/Products/Basic.lean,Mathlib/CategoryTheory/Subterminal.lean,Mathlib/Combinatorics/Enumerative/Partition/Basic.lean,Mathlib/Combinatorics/Enumerative/Partition/GenFun.lean,Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Copy.lean,Mathlib/Combinatorics/SimpleGraph/DeleteEdges.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Energy.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Increment.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Removal.lean,Mathlib/Data/Fin/Tuple/NatAntidiagonal.lean,Mathlib/Data/Finset/Pi.lean,Mathlib/Data/Finset/Prod.lean,Mathlib/Data/Finset/Sym.lean,Mathlib/Data/Fintype/Pi.lean,Mathlib/Data/Fintype/Prod.lean,Mathlib/Data/List/OffDiag.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Data/QPF/Multivariate/Constructions/Cofix.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Data/Set/Prod.lean,Mathlib/Data/Sym/Card.lean,Mathlib/Data/Sym/NatCard.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/Data/Sym/Sym2/Card.lean,Mathlib/Data/TypeVec.lean,Mathlib/LinearAlgebra/ExteriorPower/Basis.lean,Mathlib/LinearAlgebra/Matrix/Cartan/Realisation.lean,Mathlib/LinearAlgebra/Matrix/Diagonal.lean,Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean,Mathlib/LinearAlgebra/Pi.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/QuadraticForm/Basis.lean,Mathlib/Logic/Function/Defs.lean,Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/NumberTheory/Divisors.lean,Mathlib/NumberTheory/HeckeRing/Defs.lean,Mathlib/NumberTheory/Height/Basic.lean,Mathlib/Order/Filter/Prod.lean,Mathlib/Order/FixedPoints.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Probability/Combinatorics/BinomialRandomGraph/Defs.lean,Mathlib/Probability/Kernel/Basic.lean,Mathlib/Probability/Kernel/Composition/MeasureCompProd.lean,Mathlib/Probability/Kernel/Condexp.lean,Mathlib/Probability/Kernel/Deterministic.lean,Mathlib/Probability/Moments/SubGaussian.lean,Mathlib/RingTheory/Coalgebra/Basic.lean,Mathlib/RingTheory/Discriminant.lean,Mathlib/RingTheory/MatrixPolynomialAlgebra.lean,Mathlib/RingTheory/MvPowerSeries/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Substitution.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/WittVector/InitTail.lean,Mathlib/RingTheory/WittVector/IsPoly.lean,Mathlib/SetTheory/Cardinal/Cofinality/Club.lean |
118 |
67 |
['SnirBroshi', 'github-actions', 'grunweg', 'kim-em', 'mathlib-merge-conflicts', 'themathqueen', 'wrenna-robson'] |
nobody |
1-74891 1 day ago |
2-40209 2 days ago |
8-53936 8 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]
-->
- [x] depends on: #45503 |
t-algebra
t-ring-theory
label:t-algebra$ |
57/27 |
Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Ring/Int/Parity.lean,Mathlib/Algebra/Ring/Parity.lean,Mathlib/RingTheory/Polynomial/UniqueFactorization.lean |
4 |
25 |
['artie2000', 'github-actions', 'mathlib-dependent-issues', 'tb65536', 'vihdzp'] |
nobody |
1-72732 1 day ago |
1-75331 1 day ago |
30-61399 30 days |
1 |
| 45656 |
sun123zxy author:sun123zxy |
chore(Algebra/Module/Projective): seperate `Projective.tensorProduct` from the definition of `Module.Projective` |
Move `Projective.tensorProduct` from `Algebra/Module/Projective.lean` to `LinearAlgebra/TensorProduct/Projective.lean` as it is not required to define the projectivity. This reduces `public import Mathlib.LinearAlgebra.TensorProduct.Basis`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
Part of #44636. It requires several new lemmas on the projectivity. Some clean up in advance might be beneficial. |
t-ring-theory
new-contributor
|
56/19 |
Mathlib.lean,Mathlib/Algebra/Azumaya/Matrix.lean,Mathlib/Algebra/Category/ModuleCat/Ext/DimensionShifting.lean,Mathlib/Algebra/Lie/TensorProduct.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Module/Projective.lean,Mathlib/LinearAlgebra/BilinearForm/TensorProduct.lean,Mathlib/LinearAlgebra/GeneralLinearGroup/AlgEquiv.lean,Mathlib/LinearAlgebra/Span/TensorProduct.lean,Mathlib/LinearAlgebra/TensorProduct/Matrix.lean,Mathlib/LinearAlgebra/TensorProduct/Projective.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/TensorProduct/Free.lean,Mathlib/RingTheory/Unramified/Finite.lean |
14 |
5 |
['github-actions', 'leanprover-radar', 'sun123zxy'] |
nobody |
1-72545 1 day ago |
1-75699 1 day ago |
1-75653 1 day |
2 |
| 45650 |
darkhipo author:darkhipo |
feat(MeasureTheory): potential-drift lemma (measure bound for sets of fast decrease) |
# PR_DRAFT — Potential drift lemma (Mathlib submission draft)
Project: `/private/tmp/drift-lemma/` · Lean 4 (`v4.34.1`) · Mathlib `d13f23b7` · build green, zero
sorries; `#print axioms` on all three theorems yields only `[propext, Classical.choice, Quot.sound]`.
## 1. Proposed file placement
**`Mathlib/MeasureTheory/Integral/IntervalIntegral/AbsolutelyContinuousFun.lean`** (extend the
existing file; add a closing section "Measure of fast-drift sets").
Justification:
- The main lemma is a *direct measure-theoretic consequence* of that file's headline result,
`AbsolutelyContinuousOnInterval.integral_deriv_eq_sub` (FTC for AC functions), plus its
companion `intervalIntegrable_deriv`. Colocating keeps the whole AC-on-interval calculus in one
place; no new imports needed (the file already sees everything the proof uses).
- The *conclusion* is a statement about Lebesgue measure (`(volume s).toReal ≤ _`), which fits
`MeasureTheory/` rather than `Analysis/Calculus/` — an Analysis placement would put a
measure-head conclusion in a calculus file.
- The `AntitoneOn.derivWithin_nonpos` bridge (used in the monotone corollary) lives in
`Analysis/Calculus/Deriv/Slope.lean`, which `MeasureTheory` may import (already does, via the
AC machinery).
Rejected alternative: a new `Mathlib/Analysis/Calculus/Drift.lean` — "drift" is not Mathlib
vocabulary, and the proof's spine is the FTC + set-integral machinery, not calculus.
## 2. Final statements (as proved)
```lean
/-- **Potential drift lemma**. If `f` is absolutely continuous on `uIcc a b`, `deriv f ≤ 0`
a.e. on `Icc a b`, and `deriv f ≤ -c` on a measurable set `s ⊆ Icc a b` (with `c > 0`),
then the Lebesgue measure of `s` is at most the total drop of `f` over `[a, b]`, divided
by `c`. -/
theorem AbsolutelyContinuousOnInterval.measure_toReal_le_of_deriv_le
(hab : a ≤ b) (hc : 0 < c) (hf : AbsolutelyContinuousOnInterval f a b)
(hle : ∀ᵐ x ∂volume, x ∈ Icc a b → deriv f x ≤ 0)
(hs : MeasurableSet s) (hssub : s ⊆ Icc a b)
(hbad : ∀ᵐ x ∂volume, x ∈ s → deriv f x ≤ -c) :
(volume s).toReal ≤ (f a - f b) / c
/-- Monotone form: the a.e. sign condition is derived from `AntitoneOn f (Icc a b)`. -/
theorem AbsolutelyContinuousOnInterval.measure_toReal_le_of_deriv_le_of_antitoneOn
(hab : a ≤ b) (hc : 0 < c) (hf : AbsolutelyContinuousOnInterval f a b)
(hanti : AntitoneOn f (Icc a b))
(hs : MeasurableSet s) (hssub : s ⊆ Icc a b)
(hbad : ∀ᵐ x ∂volume, x ∈ s → deriv f x ≤ -c) :
(volume s).toReal ≤ (f a - f b) / c
/-- **Escape-time corollary** (potential budget over escape rate), on the half-line. -/
theorem AbsolutelyContinuousOnInterval.measure_toReal_inter_Icc_le_of_deriv_le_of_antitoneOn
{T : ℝ} (hc : 0 < c) (hs : MeasurableSet s)
(hfT : ∀ T, 0 ≤ T → AbsolutelyContinuousOnInterval f 0 T)
(hanti : AntitoneOn f (Ici 0)) (hfnn : ∀ x ∈ Ici 0, 0 ≤ f x)
(hbad : ∀ᵐ x ∂volume, x ∈ s → deriv f x ≤ -c) :
(volume (s ∩ Icc 0 T)).toReal ≤ f 0 / c
```
## 3. Proof summary (5 lines)
1. Split `Ioc a b = (Ioc a b ∩ s) ∪ (Ioc a b \ s)` and integrate `deriv f` over both pieces
(`setIntegral_union`, integrability from `intervalIntegrable_deriv`).
2. On the bad piece, `deriv f ≤ -c` a.e. gives `∫ ≤ ∫ (-c) = -(volume (Ioc a b ∩ s)).toReal * c`
(`setIntegral_mono_on_ae`, `setIntegral_const`).
3. On the complement, `deriv f ≤ 0` a.e. gives the integral `≤ 0` (`setIntegral_nonneg_of_ae_restrict`
applied to `-deriv f`).
4. FTC for AC functions (`integral_deriv_eq_sub`) identifies the total with `f b - f a`; chaining
yields `c • volume (Ioc a b ∩ s) ≤ f a - f b`; `volume s = volume (Ioc a b ∩ s)` since the
difference is contained in the null set `{a}`.
5. The monotone corollary derives the a.e. sign condition from `ae_differentiableAt` +
`AntitoneOn.derivWithin_nonpos` (endpoints `{a, b}` are null); the escape-time corollary applies
the monotone form on `[0, T]` and drops `-f T / c` using nonnegativity (for `T < 0` the set is
empty).
## 4. PR title
```
feat(MeasureTheory/Integral/IntervalIntegral): potential drift lemma — measure bound for fast-drift sets of AC potentials
```
## 5. PR description (as I would submit)
> This PR adds a quantitative fundamental theorem of calculus for absolutely continuous real
> functions, in the new `AbsolutelyContinuousOnInterval` API: if a potential `f` is AC and
> nonincreasing on `[a, b]`, and `deriv f ≤ -c` (c > 0) on a measurable set `s ⊆ [a, b]`, then
> `volume s ≤ (f a - f b) / c`.
>
> The intuition is a budget/escape-rate trade: a potential can only "spend" a bounded amount of
> parameter/time in a region where it decreases faster than `c`. The escape-time corollary makes
> this literal: an antitone nonnegative potential on `[0, ∞)` with drift `≤ -c` on `s` satisfies
> `volume (s ∩ [0, T]) ≤ f 0 / c` for every horizon `T`.
>
> Three theorems:
> - `measure_toReal_le_of_deriv_le` — main lemma (sign condition `deriv ≤ 0` a.e. on `Icc a b`);
> - `measure_toReal_le_of_deriv_le_of_antitoneOn` — monotone form, sign condition discharged;
> - `measure_toReal_inter_Icc_le_of_deriv_le_of_antitoneOn` — half-line escape-time corollary.
>
> All proofs are sorry-free (`propext, Classical.choice, Quot.sound` only) and build on
> `integral_deriv_eq_sub`, `intervalIntegrable_deriv`, and `ae_differentiableAt` from the
> existing AC-on-interval API.
>
> (To reviewers: happy to restate the conclusion as `volume s ≤ ENNReal.ofReal ((f a - f b) / c)`
> if the toReal form is dispreferred, and to bikeshed names.)
## 6. Consumers (why Mathlib wants this)
The statement is the deterministic-measure backbone of three recurring "drift" arguments:
1. **Randomized-search drift analysis.** The additive drift theorem (He & Yao, *A study of drift
analysis for estimating computation time of evolutionary algorithms*, Artificial Intelligence
145 (2003); see also Lengler, *Drift Analysis*, Theory of Randomized Search Heuristics, 2020)
bounds expected hitting time `E[T] ≤ V₀/c` when a potential's expected one-step drift is `≥ c`
and `V ≥ 0`. The escape-time corollary is the continuous-time/a.e. analogue: total bad-time ≤
initial potential over drift rate. A formalized deterministic core is the natural first step
toward a Lean drift calculus.
2. **ODE / Lyapunov stability.** Time-in-a-region bounds via Lyapunov functions `V̇ ≤ -c` along
trajectories (Khalil, *Nonlinear Systems*, 3rd ed., §8.5: nonautonomous systems, dwell-time
and uniform boundedness arguments). The lemma is exactly the "integral of `V̇` over the bad
set vs. drop of `V`" step used whenever a strict Lyapunov function has a non-strict region.
3. **Convergence of continuous-time optimization dynamics.** Potential/energy-drop arguments for
gradient-flow and natural-algorithm dynamics, e.g. Physarum dynamics for shortest paths
(Chazelle, *Natural Algorithms*, SICOMP 39(5), 2012; Ito, Johansson, Yonezawa's
potential-function analyses) — bounding the time the dynamics can spend where the potential's
derivative is bounded away from zero.
## 7. Anticipated reviewer pushback (with responses)
- **toReal vs ofReal conclusion.** May be asked for `volume s ≤ ENNReal.ofReal _`; the toReal
form falls out of the proof and is more usable downstream; can ship both.
- **`hle` on `Icc a b` vs the FTC's `Ioc`.** Slight asymmetry forces the endpoint null-set dance;
could state `hle` on `Ioc a b` and shave a few lines, at the cost of a less natural hypothesis.
- **Naming.** `measure_toReal_le_of_deriv_le` is descriptive but long; expect proposals
(`volume_real_le_of_deriv_le`, root `MeasureTheory.` names instead of the ACI namespace).
- **Generality.** Requests for a `μ ≪ volume` version, vector-valued/norm drift `‖f'‖ ≥ c`, or a
signed variant (`deriv ≤ -c` on `s`, `deriv ≤ +d` elsewhere). All are easy add-ons on the same
skeleton; propose as follow-ups to keep this PR minimal.
- **Is the escape-time corollary Mathlib-worthy?** It is a two-line application; may be moved to
an example or dropped. Keeping it gives consumers the exact "budget over rate" phrasing.
|
t-measure-probability
new-contributor
|
176/2 |
Mathlib/MeasureTheory/Integral/IntervalIntegral/AbsolutelyContinuousFun.lean |
1 |
2 |
['github-actions'] |
nobody |
1-72370 1 day ago |
1-72886 1 day ago |
1-73056 1 day |
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$ |
87/24 |
Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/FieldTheory/Separable.lean,Mathlib/LinearAlgebra/Dimension/Finite.lean |
3 |
19 |
['artie2000', 'copilot-pull-request-reviewer', 'github-actions', 'mathlib-merge-conflicts', 'wwylele'] |
nobody |
1-71141 1 day ago |
27-42265 27 days ago |
68-38663 68 days |
0 |
| 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
maintainer-merge
label:t-algebra$ |
88/1 |
Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean |
1 |
29 |
['Nicola9Falciola', 'ShirinShafaie', 'eric-wieser', 'github-actions', 'themathqueen'] |
nobody |
1-71068 1 day ago |
6-9078 6 days ago |
43-61213 43 days |
2 |
| 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 label:t-algebra$ |
61/20 |
Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/FieldTheory/Finite/GaloisField.lean |
3 |
37 |
['artie2000', 'faenuccio', 'github-actions', 'mathlib-merge-conflicts', 'plp127', 'tb65536', 'vihdzp', 'wwylele'] |
faenuccio assignee:faenuccio |
1-70984 1 day ago |
4-50042 4 days ago |
16-83769 16 days |
3 |
| 45519 |
Nicola9Falciola author:Nicola9Falciola |
chore(LinearAlgebra/Matrix): add api for compatibility between `reindex` and `map` for `GL` and `Matrix` |
---
This PR adds two API lemmas for the compatibility between `reindex` and `map` following the discussion in #44094.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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$ |
16/0 |
Mathlib/LinearAlgebra/Matrix/Defs.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean |
2 |
6 |
['Nicola9Falciola', 'eric-wieser', 'github-actions', 'themathqueen'] |
nobody |
1-69193 1 day ago |
1-70467 1 day ago |
4-59975 4 days |
0 |
| 45199 |
stalex444 author:stalex444 |
feat(LinearAlgebra/Matrix/Reindex): add `Matrix.reindexStarAlgEquiv` |
This code was suggested by @j-loreaux in his review of #41847. It adds Matrix.reindexStarAlgEquiv, a relabeling the rows and columns of a square matrix as a star-algebra equivalence. Its simp lemmas are next to the existing reindexAlgEquiv.
This is the split that a previous reviewer asked for.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-algebra
LLM-generated
new-contributor
maintainer-merge
label:t-algebra$ |
59/0 |
Mathlib/LinearAlgebra/Matrix/Defs.lean,Mathlib/LinearAlgebra/Matrix/Reindex.lean |
2 |
9 |
['github-actions', 'stalex444', 'themathqueen'] |
nobody |
1-66530 1 day ago |
1-68957 1 day ago |
2-50974 2 days |
1 |
| 45276 |
JX-Mo author:JX-Mo |
feat(Algebra): add `Subalgebra.centerCongr` |
An isomorphism between `R-algebras` induces an `R-algebra` isomorphism between their centers. |
t-algebra
maintainer-merge
label:t-algebra$ |
21/0 |
Mathlib/Algebra/Algebra/Subalgebra/Basic.lean |
1 |
25 |
['JX-Mo', 'github-actions', 'themathqueen'] |
nobody |
1-66457 1 day ago |
7-25176 7 days ago |
8-31662 8 days |
0 |
| 45464 |
xroblot author:xroblot |
feat(Data/Nat/GCD): a ^ b - 1 ∣ a ^ c - 1 ↔ b ∣ c |
For a natural number `a > 1`, the number `a ^ b - 1` divides `a ^ c - 1` if and only if `b` divides `c`. Mathlib only had the forward direction.
:robot: This PR was extracted from the [SKW project](https://github.com/xroblot/SKW) by Claude. |
t-data
maintainer-merge
|
5/0 |
Mathlib/Data/Nat/GCD/Basic.lean |
1 |
2 |
['github-actions', 'tb65536'] |
nobody |
1-65938 1 day ago |
7-79228 7 days ago |
7-79228 7 days |
0 |
| 45667 |
amellendijk author:amellendijk |
fix(Tactic/Basify): strip metadata when identifying atoms |
The `basify` tactic does not strip metadata when deciding if an expression is an atom, meaning that `no_index 2` is treated as an atom rather than a numeral after the tactic fails to get the head constant's name.
We fix this by consuming the metadata when considering whether an expression is an atom.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 used Claude Opus 5.5 to minimize the test cases and identify the origin of this bug. |
t-meta |
21/3 |
Mathlib/Tactic/Basify.lean,MathlibTest/Tactic/Basify.lean |
2 |
1 |
['github-actions'] |
nobody |
1-65528 1 day ago |
1-66189 1 day ago |
1-66143 1 day |
0 |
| 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
maintainer-merge
|
59/0 |
Mathlib/Topology/Sets/VietorisTopology.lean |
1 |
11 |
['gasparattila', 'github-actions', 'themathqueen'] |
alreadydone assignee:alreadydone |
1-61942 1 day ago |
8-46186 8 days ago |
57-65102 57 days |
0 |
| 45655 |
vihdzp author:vihdzp |
doc: mention alternate name for Scott-Hausdorff topology |
This name comes from the paper [𝖣-completions and the 𝑑-topology](https://www.sciencedirect.com/science/article/pii/S0168007208001619) by Keimel and Lawson.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
|
3/2 |
Mathlib/Topology/Order/ScottTopology.lean |
1 |
2 |
['github-actions', 'themathqueen'] |
nobody |
1-61810 1 day ago |
2-3792 2 days ago |
2-3746 2 days |
0 |
| 38009 |
CBirkbeck author:CBirkbeck |
feat(RingTheory/Valuation): define the valuation spectrum and its topology |
Define the valuation spectrum `Spv A` of a commutative ring and equip it with the topology generated by basic open sets, following Wedhorn's *Adic Spaces*. Also define the pullback (`comap`) of a `ValuativeRel` along a ring homomorphism. This is preparation for later defining adic spaces.
Note the code was generated by claude code, but I have cleaned up and pre-reviewed the work.
---
**Refreshed 3 Sep 2026:** merged current master; `ValuativeRel.comap` and `not_vle_zero_of_isUnit` generalised to semirings (the class is stated for semirings); names aligned with `PrimeSpectrum` (`continuous_comap`, `isEmbedding_comap_quotientMk`, `range_comap_quotientMk`, `localization_comap_range`); `mem_basicOpen_iff`/`isOpen_basicOpen` added and `@[simp]` on the round-trip lemmas. Ported and exercised in TauCeti (`TauCeti/AlgebraicGeometry/AdicSpace/ValuationSpectrum.lean`), which builds Wedhorn §7 on top of this API.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01A6f2mYh682Cc9g7DbpQZ2k
|
t-ring-theory
LLM-generated
|
421/0 |
Mathlib.lean,Mathlib/RingTheory/Valuation/ValuationSpectrum.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Comap.lean |
3 |
80 |
['CBirkbeck', 'adamtopaz', 'chrisflav', 'dagurtomas', 'faenuccio', 'github-actions', 'jcommelin', 'jjdishere', 'riccardobrasca', 'sfingali', 'tb65536'] |
nobody |
1-61563 1 day ago |
1-62094 1 day ago |
168-44916 168 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 |
46 |
['LAC1213', 'NoahW314', 'github-actions', 'robin-carlier', 'tb65536'] |
mattrobball assignee:mattrobball |
1-61038 1 day ago |
101-76087 101 days ago |
102-14369 102 days |
0 |
| 45513 |
PSchwahn author:PSchwahn |
feat(Data/Fin/Tuple): add Fin.cons_cons_swap |
`Fin.cons_cons_swap` shows that composing `cons x (cons y q)` with the transposition swapping 0 and 1 yields `cons y (cons x q)`.
--- |
t-data
new-contributor
|
13/0 |
Mathlib/Data/Fin/Tuple/Basic.lean |
1 |
4 |
['PSchwahn', 'github-actions', 'themathqueen'] |
nobody |
1-60321 1 day ago |
6-53570 6 days ago |
6-53524 6 days |
0 |
| 44593 |
CBirkbeck author:CBirkbeck |
chore(Data/Vector/Zip): deprecate `List.Vector.zipWith` in favour of `List.Vector.map₂` |
Deprecate `List.Vector.zipWith`, a second definition of `List.Vector.map₂`, together with its lemmas, which are restated for `map₂`.
---
<!--redteam:v1 {"owner":"AI-DOOM-97fce5ac-e255-4515-b311-12ecf245ce72","findings":["RT-20261007-187ea0"],"patterns":["second-construction"],"severity":"MAJOR"}-->
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
t-data
LLM-generated
tech debt
|
25/46 |
Mathlib/Data/Vector/Basic.lean,Mathlib/Data/Vector/Zip.lean |
2 |
2 |
['CBirkbeck', 'github-actions', 'tb65536'] |
nobody |
1-59869 1 day ago |
6-70897 6 days ago |
6-70851 6 days |
0 |
| 45668 |
sun123zxy author:sun123zxy |
feat(Algebra/Module/Projective): projectivity is transitive along scalar towers |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
Split from #44636 |
t-algebra
new-contributor
label:t-algebra$ |
15/0 |
Mathlib/Algebra/Module/Projective.lean |
1 |
2 |
['github-actions'] |
nobody |
1-59584 1 day ago |
1-60747 1 day ago |
1-63477 1 day |
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 |
17 |
['EtienneC30', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'sgouezel'] |
RemyDegenne assignee:RemyDegenne |
1-59525 1 day ago |
3-75235 3 days ago |
35-84207 35 days |
1 |
| 41111 |
erdkocak author:erdkocak |
feat(ModelTheory): add cardinal-generated substructure API |
This is the first PR in a sequence splitting #40561.
It adds a `CardinalLTGenerated` predicate for substructures, basic closure and map lemmas, and the finitely generated specialization.
Co-authored-by: Yağız Kaan Aydoğdu <y.kaan.aydogdu@gmail.com>
Co-authored-by: Yusuf Demir <yusufdemir12610@gmail.com>
Advised-by: Ayhan Günaydın <ayhan.gunaydin@bogazici.edu.tr>
Advised-by: Metin Ersin Arıcan <metin.arican@bogazici.edu.tr>
Please note that we utilized agentic AI tools (Claude Opus, ChatGPT Codex) during the development of this PR. Most of the proofs of the major theorems are direct translations from human-language source material (see the diff in `references.bib`) into Lean proofs using the mentioned AI tools. However, all design and formalization decisions were made by us. |
t-logic
new-contributor
LLM-generated
|
38/0 |
Mathlib/ModelTheory/FinitelyGenerated.lean,Mathlib/ModelTheory/Substructures.lean |
2 |
23 |
['NoahW314', 'erdkocak', 'felixpernegger', 'github-actions', 'iosephusferrum', 'mathlib-merge-conflicts', 'staroperator'] |
nobody |
1-56145 1 day ago |
2-15510 2 days ago |
105-22307 105 days |
5 |
| 45660 |
felixpernegger author:felixpernegger |
feat(Data/Set/Card): remove redundant hypothesis |
This mostly works using the junk value `s.ncard = 0` for infinite `s`.
I also added a lemma i found useful (characterisation of `s.ncard = 0`, but didnt end up needing).
Since those changes would have brought the file over 1500, two old proofs were golfed to get under the limit.
These were found by Opus 5.5 but code is 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-data |
50/46 |
Mathlib/Data/Set/Card.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfFixingSubgroup.lean |
2 |
6 |
['felixpernegger', 'github-actions', 'themathqueen', 'vihdzp'] |
nobody |
1-54828 1 day ago |
1-79955 1 day ago |
1-80027 1 day |
0 |
| 44876 |
Nicola9Falciola author:Nicola9Falciola |
feat(LinearAlgebra/Matrix): add the `prodEquiv` for `Matrix`, `GL` and `SL` |
---
I am adding the equivalence for `Matrix` , `GL` and `SL` induced by taking the product of types:
- `prodEquiv` for `Matrix m n (α × β) ≃ (Matrix m n α) × (Matrix m n β)` and all its variants.
- API on the determinant for the compatibility between `det` and `prodEquiv`
- the equivalence for `GL n (R × S) ≃* GL n R × GL n S`
- the equivalence for `SL n (R × S) ≃* SL n R × SL n S`
This PR follows up from the discussion in #43945. I am also uniformizing the API of `Equiv` in `transpose`
and in `piEquiv`.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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$ |
158/9 |
Mathlib/Data/Matrix/Basic.lean,Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean,Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean |
4 |
76 |
['Nicola9Falciola', 'github-actions', 'mathlib-merge-conflicts', 'themathqueen'] |
nobody |
1-54647 1 day ago |
1-55682 1 day ago |
21-70413 21 days |
0 |
| 42808 |
rshlyakh author:rshlyakh |
feat(Algebra/MonoidAlgebra/Grading): add decomposition lemma |
Adds a `simp` lemma about the decomposition of the `AddMonoidAlgebra R M` grading.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
8/0 |
Mathlib/Algebra/MonoidAlgebra/Grading.lean |
1 |
8 |
['github-actions', 'rshlyakh', 'themathqueen', 'wwylele'] |
nobody |
1-53602 1 day ago |
1-53602 1 day ago |
45-29597 45 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$ |
180/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 |
49 |
['MichaelStollBayreuth', 'github-actions', 'mathlib-merge-conflicts', 'tb65536'] |
nobody |
1-53101 1 day ago |
1-55195 1 day ago |
21-64126 21 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 |
104/55 |
Mathlib/Logic/Hydra.lean |
1 |
8 |
['github-actions', 'mathlib-merge-conflicts', 'plp127', 'vihdzp'] |
nobody |
1-46623 1 day ago |
1-48953 1 day ago |
77-43685 77 days |
0 |
| 45658 |
harahu author:harahu |
feat(Logic/Relation): add `Equivalence.eqvGen_le` and `EqvGen.lift` |
Add `Equivalence.eqvGen_le`. This is the `Equivalence` counterpart of `EqvGen.eqvGen_le`.
Add `EqvGen.lift`, mirroring `TransGen.lift` and `ReflTransGen.lift`.
Deprecate `EqvGen.eqvGen_mono`, which duplicates `EqvGen.mono`.
Use the new lemmas to golf 11 proofs.
---
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
LLM-generated |
45/93 |
Mathlib/Algebra/RingQuot.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/IsConnected.lean,Mathlib/CategoryTheory/Limits/Types/Coequalizers.lean,Mathlib/CategoryTheory/Limits/Types/Filtered.lean,Mathlib/CategoryTheory/MorphismProperty/Quotient.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/Logic/Relation.lean,Mathlib/Order/Setoid/Basic.lean,Mathlib/Topology/Compactification/StoneCech.lean,Mathlib/Topology/Gluing.lean |
11 |
1 |
['github-actions'] |
nobody |
1-44228 1 day ago |
1-49039 1 day ago |
1-48993 1 day |
0 |
| 43238 |
teorth author:teorth |
feat(NumberTheory/LSeries): the (weak) prime number theorem |
This PR adds `Mathlib/NumberTheory/LSeries/WeakPNT.lean`, deducing the prime
number theorem from the Wiener–Ikehara Tauberian theorem (#43233):
- `Chebyshev.isEquivalent_psi_id`: `ψ x ~ x`
- `Chebyshev.isEquivalent_theta_id`: `θ x ~ x`
- `Chebyshev.isEquivalent_primeCounting`: **the prime number theorem** `π x ~ x / log x`
- `Mertens.isLittleO_M_id`: the Möbius form `∑_{n ≤ x} μ n = o(x)`
- consecutive-prime asymptotics and prime-gap existence
A version of the first item for arithmetic progressions is also given, but I did not develop analogues for the other four items (this would require extending the `Chebyshev` API to cover Dirichlet characters or arithmetic progressions) .
---
The milestone is recorded in `docs/1000.yaml` (Q386292).
The proofs are relatively short due to the Wiener-Ikehara theorem, which is then the main new addition to Mathlib. On the other hand, it does not lead to stronger versions of the PNT with better error terms; this would be a future task to add to Mathlib. However, I believe that having just these weak versions will already be useful for many downstream applications in formalizing results in analytic number theory.
- [x] depends on: #43233
- [X] depends on: #43207
- [X] depends on: #43215
The code here is derived from the PNT+ project, but has been heavily golfed by both myself and an AI agent. |
t-number-theory
t-analysis
|
374/0 |
Mathlib.lean,Mathlib/NumberTheory/Chebyshev.lean,Mathlib/NumberTheory/LSeries/WeakPNT.lean,docs/1000.yaml |
4 |
24 |
['Parcly-Taxel', 'github-actions', 'loefflerd', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'tb65536', 'teorth'] |
loefflerd assignee:loefflerd |
1-43761 1 day ago |
1-44239 1 day ago |
3-3906 3 days |
0 |
| 45537 |
wwylele author:wwylele |
feat(RingTheory/Valuation): more lemmas for ValuativeRel |
- lemma about additive negation
- more lemma about vle and veq
- `ValuativeRel.vle_one_or_inv_vlt_one` is the counterpart of `Valuation.val_le_one_or_val_inv_lt_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]
-->
|
t-ring-theory |
80/0 |
Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean |
1 |
11 |
['github-actions', 'plp127', 'vihdzp', 'wwylele'] |
nobody |
1-40782 1 day ago |
5-74603 5 days ago |
5-74557 5 days |
2 |
| 45677 |
fbarroero author:fbarroero |
feat(RingTheory/ClassGroup): when the class group is torsion ideals have some power that is principal |
Add `ClassGroup.exists_pow_eq_span_singleton`: if the class group of a Dedekind domain `R` is torsion, then every ideal `I` of `R` has a nonzero power `I ^ n` that is principal.
Use it to shorten the proof of `IsDedekindDomain.exists_mul_algebraMap_eq_algebraMap` in `Mathlib/RingTheory/DedekindDomain/SInteger.lean`.
---
Follow-up to #40848, as suggested by @xroblot in review.
🤖 Generated with [Claude Code](https://claude.com/claude-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-ring-theory |
18/9 |
Mathlib/RingTheory/ClassGroup/Basic.lean,Mathlib/RingTheory/DedekindDomain/SInteger.lean |
2 |
1 |
['github-actions'] |
nobody |
1-39557 1 day ago |
1-40118 1 day ago |
1-40072 1 day |
0 |
| 45679 |
felixpernegger author:felixpernegger |
chore(AlgebraicGeometry): remove unused hypothesis |
Removes unused hypothesis from #45673 in AlgebraicGeometry. |
t-algebraic-geometry
LLM-generated
|
6/2 |
Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Formula.lean |
1 |
1 |
['github-actions'] |
nobody |
1-36726 1 day ago |
1-36773 1 day ago |
1-37239 1 day |
1 |
| 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'] |
mattrobball assignee:mattrobball |
1-36528 1 day ago |
56-471 56 days ago |
75-77975 75 days |
1 |
| 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'] |
b-mehta assignee:b-mehta |
1-36526 1 day ago |
100-9337 100 days ago |
100-9291 100 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'] |
eric-wieser assignee:eric-wieser |
1-36525 1 day ago |
81-83901 81 days ago |
81-83855 81 days |
0 |
| 45646 |
Parcly-Taxel author:Parcly-Taxel |
feat: simultaneous Dirichlet approximation theorem |
I proved this along the way to proving Alon's result on [Erdős Problem 798](https://www.erdosproblems.com/forum/thread/798). Aristotle was only used for formalising _some_ parts of Alon's result – this was not one of those parts. |
t-number-theory |
31/1 |
Mathlib/NumberTheory/DiophantineApproximation/Basic.lean |
1 |
1 |
['github-actions'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
1-36524 1 day ago |
2-19303 2 days ago |
2-19257 2 days |
0 |
| 45689 |
felixpernegger author:felixpernegger |
chore(GroupTheory): remove unused hypothesis |
Removes unused hypothesis from #45673 in GroupTheory. |
LLM-generated
t-group-theory
|
36/17 |
Mathlib/GroupTheory/CommutingProbability.lean,Mathlib/GroupTheory/Exponent.lean,Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Concrete.lean,Mathlib/GroupTheory/Perm/Fin.lean |
6 |
1 |
['github-actions'] |
nobody |
1-36147 1 day ago |
1-36198 1 day ago |
1-36638 1 day |
1 |
| 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'] |
nobody |
1-35625 1 day ago |
124-42662 124 days ago |
124-42616 124 days |
1 |
| 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'] |
nobody |
1-35622 1 day ago |
23-13265 23 days ago |
83-50740 83 days |
0 |
| 45692 |
felixpernegger author:felixpernegger |
chore(NumberTheory): remove unused hypothesis |
Removes unused hypothesis from #45673 in NumberTheory. |
t-number-theory
LLM-generated
|
100/62 |
Mathlib/Data/Nat/Factorization/Defs.lean,Mathlib/NumberTheory/ArithmeticFunction/Defs.lean,Mathlib/NumberTheory/ArithmeticFunction/Misc.lean,Mathlib/NumberTheory/Chebyshev.lean,Mathlib/NumberTheory/Divisors.lean,Mathlib/NumberTheory/FLT/Polynomial.lean,Mathlib/NumberTheory/Height/NumberField.lean,Mathlib/NumberTheory/LegendreSymbol/Basic.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean,Mathlib/NumberTheory/NumberField/Ideal/Basic.lean,Mathlib/NumberTheory/Ostrowski.lean,Mathlib/NumberTheory/Padics/PadicNorm.lean,Mathlib/NumberTheory/Padics/PadicVal/Basic.lean,Mathlib/NumberTheory/Padics/PadicVal/Defs.lean,Mathlib/NumberTheory/PellMatiyasevic.lean,Mathlib/NumberTheory/PowModTotient.lean,Mathlib/NumberTheory/RamificationInertia/Ramification.lean,Mathlib/NumberTheory/Real/Irrational.lean |
19 |
1 |
['github-actions'] |
nobody |
1-34175 1 day ago |
1-34233 1 day ago |
1-34665 1 day |
1 |
| 45697 |
felixpernegger author:felixpernegger |
chore(SetTheory): remove unused hypothesis |
Removes unused hypothesis from #45673 in SetTheory. |
t-set-theory
LLM-generated
|
38/20 |
Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Embedding.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/CantorNormalForm.lean,Mathlib/SetTheory/Ordinal/Exponential.lean,Mathlib/SetTheory/Ordinal/FixedPoint.lean,Mathlib/SetTheory/Ordinal/Notation.lean,Mathlib/SetTheory/Ordinal/Principal.lean |
8 |
3 |
['felixpernegger', 'github-actions', 'vihdzp'] |
nobody |
1-32117 1 day ago |
1-34488 1 day ago |
1-34906 1 day |
1 |
| 45682 |
felixpernegger author:felixpernegger |
chore(Basic): deprecating (bad) trivial lemmas |
Removes unused hypothesis from #45673 in Basic.
More precisely, during the run it was discovered that here we have some lemmas that are true in more generality; i.e. something like
`example (p : NNReal) [ExampleClass p] : 0 \le p := sorry`
which already holds since `p : NNReal`
|
LLM-generated
t-data
|
6/0 |
Mathlib/Basic/Real/ConjExponents.lean |
1 |
3 |
['felixpernegger', 'github-actions', 'vihdzp'] |
nobody |
1-32067 1 day ago |
1-33008 1 day ago |
1-36351 1 day |
1 |
| 45672 |
plp127 author:plp127 |
chore(Data/Multiset/ZeroCons): rename arguments to `Multiset.rec` |
Name the motive `motive` and name the minor premises according to their contents. `cons_swap` was chosen in analogy to `Multiset.cons_swap`. Also rename arguments to `Multiset.induction`, `Multiset.induction_on`, `Multiset.induction_on'`, and `Multiset.recOn`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
169/178 |
Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Defs.lean,Mathlib/Algebra/GCDMonoid/Multiset.lean,Mathlib/Algebra/Module/BigOperators.lean,Mathlib/Algebra/Order/BigOperators/Ring/Multiset.lean,Mathlib/Algebra/Order/Group/Multiset.lean,Mathlib/Algebra/Order/Ring/IsNonarchimedean.lean,Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/Tropical/BigOperators.lean,Mathlib/Analysis/Normed/Group/Ultra.lean,Mathlib/Analysis/Polynomial/MahlerMeasure.lean,Mathlib/Data/DFinsupp/Defs.lean,Mathlib/Data/Finset/Insert.lean,Mathlib/Data/Multiset/AddSub.lean,Mathlib/Data/Multiset/Antidiagonal.lean,Mathlib/Data/Multiset/Bind.lean,Mathlib/Data/Multiset/Count.lean,Mathlib/Data/Multiset/DershowitzManna.lean,Mathlib/Data/Multiset/Filter.lean,Mathlib/Data/Multiset/Find.lean,Mathlib/Data/Multiset/Lattice.lean,Mathlib/Data/Multiset/MapFold.lean,Mathlib/Data/Multiset/Pi.lean,Mathlib/Data/Multiset/Powerset.lean,Mathlib/Data/Multiset/Sections.lean,Mathlib/Data/Multiset/UnionInter.lean,Mathlib/Data/Multiset/ZeroCons.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/FieldTheory/AbelRuffini.lean,Mathlib/FieldTheory/Differential/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/Logic/Hydra.lean,Mathlib/NumberTheory/ArithmeticFunction/Misc.lean,Mathlib/RingTheory/DiscreteValuationRing/TFAE.lean,Mathlib/RingTheory/Ideal/Basic.lean,Mathlib/RingTheory/Polynomial/ScaleRoots.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Basic.lean,Mathlib/RingTheory/UniqueFactorizationDomain/NormalizedFactors.lean |
42 |
1 |
['github-actions'] |
nobody |
1-28446 1 day ago |
1-51274 1 day ago |
1-51228 1 day |
0 |
| 45654 |
Parcly-Taxel author:Parcly-Taxel |
chore: make `Language` an `abbrev` |
It turns out that simply making `Language` an `abbrev` (not changing its type) allows removing all `set_options` other than those in `ContextFreeGrammar`. Smaller fixes implemented in this PR:
* `Symbol` is moved to its only user `ContextFreeGrammar`.
* `Sort v` becomes `Sort*`.
* Extraneous spaces in set-builder notation are removed.
See [#mathlib4 > The new `Language` @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/The.20new.20.60Language.60/near/637451301) |
t-computability
tech debt
|
38/56 |
Mathlib/Computability/ContextFreeGrammar.lean,Mathlib/Computability/DFA.lean,Mathlib/Computability/EpsilonNFA.lean,Mathlib/Computability/Language.lean,Mathlib/Computability/MyhillNerode.lean,Mathlib/Computability/NFA.lean,MathlibTest/Compactness.lean |
7 |
5 |
['Parcly-Taxel', 'ctchou', 'eric-wieser', 'github-actions'] |
nobody |
1-26429 1 day ago |
2-2782 2 days ago |
2-3101 2 days |
0 |
| 45702 |
mcdoll author:mcdoll |
feat(Analysis/Calculus): iterated derivatives of constant additions |
Mirroring the naming etc of the `fderiv` versions. Note that these don't assume that `f` is differentiable, so they cannot be deduced from `iteratedFDeriv_add`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
53/0 |
Mathlib/Analysis/Calculus/ContDiff/Operations.lean |
1 |
1 |
['github-actions'] |
nobody |
1-24513 1 day ago |
1-25389 1 day ago |
1-25343 1 day |
0 |
| 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 |
1-14045 1 day ago |
34-21234 34 days ago |
34-26266 34 days |
0 |
| 45512 |
riccardobrasca author:riccardobrasca |
feat: add various lemmas about cyclotomic extensions |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
|
189/0 |
Mathlib/NumberTheory/NumberField/Cyclotomic/Basic.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Ideal.lean,Mathlib/NumberTheory/NumberField/Norm.lean,Mathlib/RingTheory/DedekindDomain/Factorization.lean,Mathlib/RingTheory/NormTrace.lean |
5 |
11 |
['github-actions', 'riccardobrasca', 'xroblot'] |
nobody |
1-12924 1 day ago |
6-63222 6 days ago |
6-63176 6 days |
0 |
| 45610 |
vdelbarc author:vdelbarc |
feat(Algebra/Algebra/Leibniz): introduce Leibniz rings and algebras |
Introduce the basic theory of right Leibniz rings and algebras.
Define `IsLeibniz` by the identity `(x * y) * z = (x * z) * y + x * (y * z)`, and establish its basic consequences.
Design choices were briefly discussed in https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Leibniz.20algebras/near/611073252
Define `IsSkew` for multiplication satisfying `x * x = 0`. Construct Lie ring and Lie algebra structures on Leibniz rings and algebras satisfying this condition. Conversely, show that every Lie ring satisfies the right Leibniz identity when its bracket is used as multiplication.
More on two-sided ideals and quotients of Leibniz algebras to come after PR#45608 is merged, from which this PR is independent now.
Co-Authors: Gustavo Infanti, Exequiel Rivas, Paul Schwahn
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-algebra
new-contributor
label:t-algebra$ |
218/0 |
Mathlib.lean,Mathlib/Algebra/Algebra/Leibniz/Basic.lean |
2 |
7 |
['Julian-Kuelshammer', 'github-actions'] |
nobody |
1-12712 1 day ago |
3-718 3 days ago |
3-672 3 days |
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 |
1-12112 1 day ago |
5-86025 5 days ago |
50-74540 50 days |
0 |
| 45544 |
CoolRmal author:CoolRmal |
feat(Topology/Order/Cadlag): add `IsRightContinuousOn` |
Add `IsRightContinuousOn f s := ∀ a ∈ s, ContinuousWithinAt f (s ∩ Ioi a) a` and its dual `IsLeftContinuousOn` (via `to_dual`), with basic API modelled on `ContinuousOn` and on the existing `IsRightContinuous` API:
- `isRightContinuousOn_univ`, `IsRightContinuousOn.mono`, `IsRightContinuousOn.congr`, `isRightContinuousOn_congr`, `isRightContinuousOn_empty`, `isRightContinuousOn_singleton`;
- `IsRightContinuous.isRightContinuousOn`, `ContinuousOn.isRightContinuousOn`, `IsOpen.isRightContinuousOn_iff`;
- `isRightContinuousOn_iff_isRightContinuous_domRestrict`, `isRightContinuousOn_iff_continuousWithinAt_inter_Ici`;
- `continuous_comp`, `continuous_comp₂`, `const`, `id`, `mul`/`add`, `div'`/`sub`, `div`, `inv`/`neg`, `inv₀`, `const_smul`.
Also adds `tendsto_nhdsWithin_inter_iff_subtype` to `Topology/NhdsWithin` and `continuousWithinAt_inter_iff_continuousWithinAt_domRestrict` to `Topology/ContinuousOn`, and generates `IsCaglad.tendsto_nhdsGT_rightLim` from `IsCadlag.tendsto_nhdsLT_leftLim` with `to_dual`.
This will be used in #42164 for the separability of the image of a set under a right-continuous function.
---
Created with the help of Claude Code, carefully reviewed and golfed by myself.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
t-topology
LLM-generated
maintainer-merge
|
155/6 |
Mathlib/Topology/ContinuousOn.lean,Mathlib/Topology/NhdsWithin.lean,Mathlib/Topology/Order/Cadlag.lean |
3 |
9 |
['EtienneC30', 'SnirBroshi', 'github-actions'] |
EtienneC30 assignee:EtienneC30 |
1-8145 1 day ago |
1-56313 1 day ago |
5-37168 5 days |
3 |
| 45075 |
vdelbarc author:vdelbarc |
feat(LinearAlgebra): characterize submodules with rank-one quotients |
Add results on submodules whose quotient has rank one.
Show that a submodule with a rank-one quotient is a coatom, and that it
admits a complementary submodule spanned by a single nonzero element.
Also add a lemma establishing the existence of an element outside a
submodule when its quotient has positive rank.
Add supporting lemmas for expressing an element as the sum of its
projections onto complementary submodules, and for evaluating the
coordinate equivalence associated with a nonzero singleton span.
Co-authored by: Gustavo Infanti, Exequiel Rivas and Paul Schwahn
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-algebra
new-contributor
label:t-algebra$ |
36/0 |
Mathlib/LinearAlgebra/Projection.lean,Mathlib/LinearAlgebra/Span/Basic.lean,Mathlib/RingTheory/SimpleModule/Rank.lean |
3 |
18 |
['JX-Mo', 'alreadydone', 'artie2000', 'github-actions', 'themathqueen', 'vdelbarc'] |
nobody |
1-6429 1 day ago |
1-8169 1 day ago |
15-60159 15 days |
0 |
| 45249 |
YaelDillies author:YaelDillies |
feat(Order): transfer instances for complete lattices |
... while preserving the existing bounded lattice structure. For coframes, this is neatly packaged using the `Coframe.MinimalAxioms` structure and the associated constructor `Coframe.ofMinimalAxioms`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
38/0 |
Mathlib/Order/CompleteBooleanAlgebra.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Basic.lean |
3 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
1-2977 1 day ago |
1-4913 1 day ago |
10-76920 10 days |
1 |
| 45253 |
YaelDillies author:YaelDillies |
chore(Order/CompleteLattice): use `@[to_dual]` 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]
-->
|
t-order |
63/57 |
Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/WithTop.lean,Mathlib/Order/Heyting/Basic.lean |
4 |
2 |
['github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
1-2033 1 day ago |
1-4519 1 day ago |
10-56946 10 days |
1 |
| 45250 |
YaelDillies author:YaelDillies |
refactor(Order): generalise the `CompleteLattice` instance on `WithTop` |
We had two conflicting instances of `CompleteLattice (WithTop <| WithBot α)` from `CompleteLattice α`: one going through `ConditionallyCompleteLattice α` and adding the top and bottom elements simultaneously, and another one adding them one by one by first going through `CompleteLattice (WithBot α)`. These didn't agree because `sSup ∅` on `WithTop α` would be defined as a junk value even if `α` already happened to have a bottom element.
Changing `sSup ∅` on `WithTop α` to be a bottom element if one exists leads to a better solution: have an instance deducing `ConditionallyCompleteLattice (WithTop α)` from `ConditionallyCompleteLattice α`, and another one deducing `CompleteLattice (WithTop α)` from `ConditionallyCompleteLattice α` + `OrderBot α`, and similarly for `WithBot`.
This is strictly more general than the previous instances, and avoids the diamond.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
97/75 |
Mathlib/Basic/ENNReal/Basic.lean,Mathlib/Data/ENat/Lattice.lean,Mathlib/Dynamics/TopologicalEntropy/NetEntropy.lean,Mathlib/Order/ConditionallyCompleteLattice/WithTop.lean |
4 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
1-1999 1 day ago |
1-3560 1 day ago |
10-75479 10 days |
1 |
| 45252 |
YaelDillies author:YaelDillies |
feat(Order): `ι →₀ α` is conditionally complete when `α` is |
... and similarly for `DFinsupp`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
103/0 |
Mathlib.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Order/ConditionallyCompleteLattice/Finsupp.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean,Mathlib/Order/Preorder/Finsupp.lean |
5 |
4 |
['YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'wwylele'] |
nobody |
1-1999 1 day ago |
1-4021 1 day ago |
10-71257 10 days |
1 |
| 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
maintainer-merge
|
265/0 |
Mathlib.lean,Mathlib/Geometry/Convex/Segment.lean |
2 |
76 |
['YaelDillies', 'github-actions', 'martinwintermath', 'ooovi', 'vihdzp', 'vlad902'] |
vihdzp assignee:vihdzp |
0-85133 23 hours ago |
0-85133 23 hours ago |
8-39796 8 days |
1 |
| 45598 |
JunkaiWang-TheoPhy author:JunkaiWang-TheoPhy |
feat(Analysis/Fourier): translate frequency under character modulation |
## Summary
This PR adds the frequency-shift identity dual to the existing translation-to-phase identity for Fourier integrals. Modulating a function by an additive character translates its Fourier transform in frequency.
## Changes
- Add the general `VectorFourier.fourierIntegral_smul_addChar` identity.
- Add the scalar `Fourier.fourierIntegral_smul_addChar` specialization.
- Add the real inner-product-space theorem `Real.fourier_smul_fourierChar`.
- Add the corresponding inverse-transform identity `Real.fourierInv_smul_fourierChar`.
The general theorem is proved by pointwise equality of the integration kernels. It does not require integrability, continuity, Haar invariance, finite dimensionality, or a nondegenerate pairing beyond the assumptions already present in the Fourier integral definition. With the convention `𝓕 f w = ∫ e (-L v w) • f v`, the forward shift is `w - w₀`; the inverse-transform identity consequently uses `w + w₀`.
The change is confined to `Mathlib/Analysis/Fourier/FourierTransform.lean`. It adds no definitions, imports, instances, simp attributes, or dependencies.
## Validation
- `lake build Mathlib.Analysis.Fourier.FourierTransform Mathlib.Analysis.SpecialFunctions.Gaussian.FourierTransform Mathlib.Analysis.Fourier.FourierTransformDeriv` — passed (`Build completed successfully (6312 jobs)`).
- `lake exe batteries/runLinter --no-build Mathlib.Analysis.Fourier.FourierTransform` — passed.
- Standalone local examples covering zero modulation, degenerate pairings, non-Haar measures, non-integrable total-function cases, the inverse sign, and a modulated Gaussian derivation — passed with the repository Lean options.
- `#print axioms` for the four new declarations reports only `propext`, `Classical.choice`, and `Quot.sound`.
- Full `MathlibTest` and hosted CI have not been run locally; hosted CI should provide the final repository-level check.
## AI disclosure
Codex (gpt-6.1-sol) assisted with candidate discovery, Lean implementation, and local verification. I have reviewed the declarations and proofs, and I am responsible for understanding and explaining the mathematical design and sign conventions.
|
t-analysis
new-contributor
LLM-generated
|
35/2 |
Mathlib/Analysis/Fourier/FourierTransform.lean |
1 |
3 |
['JunkaiWang-TheoPhy', 'github-actions'] |
nobody |
0-81492 22 hours ago |
3-54780 3 days ago |
3-54734 3 days |
0 |
| 45684 |
felixpernegger author:felixpernegger |
chore(Combinatorics): remove unused hypothesis |
Removes unused hypothesis from #45673 in Combinatorics. |
t-combinatorics
LLM-generated
|
20/18 |
Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean,Mathlib/Combinatorics/Matroid/Circuit.lean,Mathlib/Combinatorics/SimpleGraph/Tutte.lean |
3 |
5 |
['felixpernegger', 'github-actions', 'vlad902'] |
nobody |
0-80856 22 hours ago |
1-36381 1 day ago |
1-36832 1 day |
1 |
| 45205 |
Hagb author:Hagb |
feat(Combinatorics/Colex): lemmas about `Colex (Finset _)` |
These lemmas are used in #45206
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
21/0 |
Mathlib/Combinatorics/Colex.lean |
1 |
2 |
['Hagb', 'github-actions', 'vihdzp'] |
nobody |
0-78339 21 hours ago |
14-22697 14 days ago |
14-22651 14 days |
2 |
| 45701 |
JovanGerb author:JovanGerb |
perf: remove `finsetNonempty` in favour of plain `simp` |
When making #45676 I noticed that everything in the `finsetNonempty` `aesop` rule set is also a global `simp` lemma or should be one. So, this PR adds `simp` to the few missing places, and deprecates the `finsetNonempty` rule 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]
-->
|
|
30/116 |
Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Finset/Scalar.lean,Mathlib/Algebra/Order/Monoid/Canonical/Basic.lean,Mathlib/CategoryTheory/MorphismProperty/OfObjectProperty.lean,Mathlib/Combinatorics/Compactness.lean,Mathlib/Computability/StateTransition.lean,Mathlib/Data/Finset/Attr.lean,Mathlib/Data/Finset/Basic.lean,Mathlib/Data/Finset/BooleanAlgebra.lean,Mathlib/Data/Finset/Empty.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/Finset/Insert.lean,Mathlib/Data/Finset/Lattice/Lemmas.lean,Mathlib/Data/Finset/NAry.lean,Mathlib/Data/Finset/Option.lean,Mathlib/Data/Finset/Pi.lean,Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Finset/Prod.lean,Mathlib/Data/Finset/Range.lean,Mathlib/Data/Finset/Sigma.lean,Mathlib/Data/Finset/Sups.lean,Mathlib/Data/Finset/Sym.lean,Mathlib/Data/Fintype/Pi.lean,Mathlib/Data/Fintype/Sets.lean,Mathlib/Data/Matrix/Auto.lean,Mathlib/Order/CompleteLattice/MulticoequalizerDiagram.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Order/Interval/Finset/Basic.lean,Mathlib/RingTheory/Congruence/Star.lean,Mathlib/Tactic/Algebra/Lemmas.lean,Mathlib/Tactic/FinCases.lean,Mathlib/Tactic/IntervalCases.lean,Mathlib/Tactic/Matrix/Parsing.lean,Mathlib/Tactic/Simproc/Divisors.lean |
34 |
4 |
['JovanGerb', 'github-actions', 'leanprover-radar'] |
nobody |
0-75182 20 hours ago |
1-24055 1 day ago |
1-25953 1 day |
0 |
| 45190 |
marcelolynch author:marcelolynch |
ci: replace the remaining Node 20 actions |
GitHub's runners force Node 20 actions onto Node 24 and warn on every run. This change replaces the two actions that target an older Node.
`gh-get-current-pr` has no Node 24 release. The local composite action `.github/actions/find-open-pr` replaces it in the post-CI job, `update_dependencies.yml`, and `remove_deprecated_decls.yml`. The bot workflows find the open PR from their branch. The post-CI job uses the PR from the event or from the pushed branch, and only when the PR head is the commit that CI built. A failed API call fails the step.
`sync-task-issues` targets Node 12. An `actions/github-script` step replaces it in `sync_closed_tasks.yaml`. The step checks the `- [ ] depends on: #N` items when #N closes, and unchecks them when #N reopens.
🤖
|
CI
maintainer-merge
|
139/39 |
.github/actions/find-open-pr/action.yml,.github/workflows/build_template.yml,.github/workflows/remove_deprecated_decls.yml,.github/workflows/sync_closed_tasks.yaml,.github/workflows/update_dependencies.yml,docs/workflows.md |
6 |
7 |
['github-actions', 'joneugster', 'marcelolynch'] |
nobody |
0-73734 20 hours ago |
10-70397 10 days ago |
11-79583 11 days |
0 |
| 45670 |
user202729 author:user202729 |
chore(AlgebraicGeometry/EllipticCurve/Projective): remove `erw` in `Formula.lean` |
Reducing tech debt.
The main reason why `erw` was needed in this file instead of `rw` is the following.
- Background: Each point is represented by a function `P : Fin 3 → R`, and there's local notation `x` being `(0 : Fin 3)`, similar for `y` and `z`. So `P x` is the first coordinate of `P`. For a curve `W'` and a point `P`, `W'.dblXYZ P` is another point, its double i.e. `2 • P`.
- There are functions to compute various operations on elliptic curves, for example, `W.dblY P` computes the `Y`-coordinate of `2 • P`. Of course, this can be equivalently written as `W.dblXYZ P y`.
- The two forms `W.dblY P` and `W.dblXYZ P y` are not definitionally equal at the default transparency level. Depends on which lemma we want to apply, we need to convert the goal to use one form or the other.
---
Personally, I think it's a better idea to normalize on the `W.dblXYZ P y` form, and keep the `W.dblY P` form as strictly an implementation detail if needed. In this case, the `XYZ` suffix wouldn't be needed either, and the main definitions would be:
```
* `WeierstrassCurve.Projective.neg`: The negation `-P` of a point `P`.
* `WeierstrassCurve.Projective.dbl`: The double `2 • P` of a point `P`.
* `WeierstrassCurve.Projective.negDbl`: The negated double `-(2 • P)` of a point `P`.
```
etc. Thoughts? Note that `W.dbl P y` is only 1 character longer than `W.dblY P`.
Most lemmas that we want to apply are already stated in term of the point (except that many use `W.negY P` instead of `W.neg P y`, though currently `W.neg` doesn't exist).
Also, there are (very) long `rw` chains. ([#mathlib4 > Is long `rw` chain bad?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Is.20long.20.60rw.60.20chain.20bad.3F/with/637217759)) Ideas?
Another idea: have a `array_index` tactic that evaluates `![a, b, c, d] 2` to `c` when the index is a known constant, for example. Currently there is `simp only [fin3_def_ext]` which obviously only works on length-3 arrays.
|
new-contributor
t-algebraic-geometry
tech debt
|
59/24 |
Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Formula.lean |
1 |
2 |
['github-actions'] |
nobody |
0-73231 20 hours ago |
1-64386 1 day ago |
1-64340 1 day |
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
AI-assisted, but 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 |
105/83 |
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 |
24 |
['EtienneC30', 'github-actions', 'lua-vr', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'sgouezel'] |
urkud assignee:urkud |
0-72049 20 hours ago |
0-72703 20 hours ago |
30-63768 30 days |
1 |
| 45696 |
felixpernegger author:felixpernegger |
chore(RingTheory): remove unused hypothesis |
Removes unused hypothesis from #45673 in RingTheory. |
t-ring-theory
LLM-generated
|
112/83 |
Mathlib/NumberTheory/Height/NumberField.lean,Mathlib/NumberTheory/NumberField/Completion/FinitePlace.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Basic.lean,Mathlib/NumberTheory/PrimesCongruentOne.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/ChainOfDivisors.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation/Valuation.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/FractionalIdeal/Inverse.lean,Mathlib/RingTheory/Ideal/Basic.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean,Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/RingTheory/MvPowerSeries/Expand.lean,Mathlib/RingTheory/MvPowerSeries/Trunc.lean,Mathlib/RingTheory/OrderOfVanishing/Basic.lean,Mathlib/RingTheory/OrderOfVanishing/Noetherian.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean,Mathlib/RingTheory/PowerSeries/Inverse.lean,Mathlib/RingTheory/PowerSeries/Schroder.lean,Mathlib/RingTheory/UniqueFactorizationDomain/FactorSet.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Multiplicity.lean,Mathlib/RingTheory/ZMod/UnitsCyclic.lean |
27 |
3 |
['github-actions', 'themathqueen', 'vlad902'] |
nobody |
0-70562 19 hours ago |
1-34748 1 day ago |
1-35169 1 day |
1 |
| 45480 |
RFT-SIRM author:RFT-SIRM |
feat(Matrix): add ordered trace expansion for powers of sums |
## Summary
This PR adds a reusable ordered-word expansion for traces of powers of a sum of square matrices.
- `Matrix.orderedWordExpansion A B p` lists products obtained by choosing either `A` or `B` at each of the `p` positions.
- `Matrix.sum_orderedWordExpansion` proves that the list sums to `(A + B)^p`.
- `Matrix.trace_orderedWordExpansion` gives the corresponding trace identity.
The construction preserves the exact order of factors and retains repeated words with their full multiplicity. It does not assume that `A` and `B` commute or identify cyclically equivalent trace terms.
## Motivation
For higher-moment trace identities, expanding `(A + B)^p` requires precise bookkeeping of ordered words before cyclic trace rotations and structural vanishing arguments can be applied. This generic expansion is useful for `p = 6` and for subsequent `p = 8, 10` developments without hard-coding a particular matrix model.
This PR contains only general matrix-algebra lemmas. It does not include application-specific graph operators or claim to prove a particular moment recurrence.
## Verification
The proofs use induction on `p`, right distributivity, and the existing `Matrix.trace_list_sum` theorem. Please run the full Mathlib build and style checks on this PR. |
t-algebra
new-contributor
label:t-algebra$ |
40/0 |
Mathlib/LinearAlgebra/Matrix/Trace.lean |
1 |
2 |
['github-actions'] |
nobody |
0-70241 19 hours ago |
7-51175 7 days ago |
7-52037 7 days |
0 |
| 45508 |
smmercuri author:smmercuri |
refactor: make `InfinitePlace.Completion` an `abbrev` |
#41543 turned `InfinitePlace.Completion` from an `abbrev` into a one-field structure around `AbsoluteValue.Completion` to improve performance. #45407 made `AbsoluteValue.Completion` a one-field structure around `UniformSpace.Completion`, so now `InfinitePlace.Completion` can become an `abbrev` again and inherit the abstract theory of `AbsoluteValue.Completion` (for example `LiesOverInstances.lean` can now be deprecated).
This PR also reverts an instance hack introduced in #45407 to resolve a diamond and instead fixes it by using `equivAux` instead of `equiv` in the transfer instances of `NormedField` and `Algebra` for `AbsoluteValue.Completion`. Tests are included in `MathlibTest` to show that the `nsmul` and `zsmul` diamonds remain fixed.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
maintainer-merge
t-number-theory
t-analysis
|
189/178 |
Mathlib/Analysis/Normed/Field/WithAbs.lean,Mathlib/NumberTheory/NumberField/Completion/InfinitePlace.lean,Mathlib/NumberTheory/NumberField/Completion/LiesOverInstances.lean,Mathlib/NumberTheory/NumberField/Completion/Ramification.lean,Mathlib/NumberTheory/NumberField/InfiniteAdeleRing.lean,MathlibTest/InstanceDiamonds/Analysis/Normed/Field/WithAbs.lean |
6 |
9 |
['JovanGerb', 'github-actions', 'leanprover-radar', 'smmercuri', 'tb65536'] |
nobody |
0-69999 19 hours ago |
6-69065 6 days ago |
6-69038 6 days |
0 |
| 45678 |
felixpernegger author:felixpernegger |
chore(Algebra): remove unused hypothesis |
Removes unused hypothesis from #45673 in Algebra. |
t-algebra
LLM-generated
label:t-algebra$ |
107/92 |
Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/Homology/SpectralObject/Differentials.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/CommRing.lean,Mathlib/Algebra/MvPolynomial/Eval.lean,Mathlib/Algebra/MvPolynomial/NoZeroDivisors.lean,Mathlib/Algebra/MvPolynomial/SchwartzZippel.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Lemmas.lean,Mathlib/Algebra/Polynomial/Derivation.lean,Mathlib/Algebra/Polynomial/Reverse.lean,Mathlib/Data/ZMod/ValMinAbs.lean,Mathlib/MeasureTheory/Covering/DensityTheorem.lean,Mathlib/RingTheory/EuclideanDomain.lean,Mathlib/RingTheory/PowerSeries/Derivative.lean |
21 |
4 |
['Deicyde', 'github-actions', 'themathqueen'] |
nobody |
0-68791 19 hours ago |
1-34428 1 day ago |
1-34896 1 day |
1 |
| 45566 |
PeaBrane author:PeaBrane |
feat(Analysis/Convex): limits and sums of convex functions |
Add pointwise-limit and summation lemmas for convex and concave functions.
* `convexOn_of_frequently_convexOn_of_tendsto`, `concaveOn_of_frequently_concaveOn_of_tendsto`:
if `F i` is frequently convex (concave) on `s` along a filter and `F i x → f x` for every
`x ∈ s`, then `f` is convex (concave) on `s`.
* `convexOn_finsetSum`, `concaveOn_finsetSum`: a finite sum of convex (concave) functions is convex
(concave).
* `convexOn_tsum`, `concaveOn_tsum`: a pointwise summable series of convex (concave) functions is
convex (concave).
These complement `isClosed_setOfPred_convexOn` from #37352. Closedness of the set of convex
functions covers limits in the product topology, which needs convergence at every point of the
domain. The new limit lemmas need convergence only on `s`, and only frequently along the filter,
following `monotoneOn_of_frequently_monotoneOn_of_tendsto`. Finite sums and series of convex
functions were not stated before; only `ConvexOn.add` existed. I needed the series version to show
that a periodic kernel defined by an image sum is convex.
`FunctionTopology.lean` now imports `Mathlib.Topology.Algebra.InfiniteSum.Defs` for `tsum`.
AI disclosure: the statements, the proofs, and a draft of this description were written with
Claude Code. I checked them against existing Mathlib conventions and built the changed files
locally.
---
|
t-analysis
LLM-generated
new-contributor
|
69/1 |
Mathlib/Analysis/Convex/Function.lean,Mathlib/Analysis/Convex/FunctionTopology.lean |
2 |
6 |
['PeaBrane', 'github-actions', 'wwylele'] |
nobody |
0-67477 18 hours ago |
1-57622 1 day ago |
4-53001 4 days |
0 |
| 45573 |
YaelDillies author:YaelDillies |
chore(Algebra/Polynomial): parse `R[X]` as `R` + `[` + `X` + `]` |
The current notation has several issues:
1. It accepts whitespace, so `R [X]` parses as `Polynomial R` too.
2. It makes `[X]` a token, so `simp [X]` parses as `simp` + `[X]` (a parse error) rather than the expected `simp` + `[` + `X` + `]` because of the longest parse rule.
Replacing the `notation` containing the `[X]` token by a `syntax` containing the `[`, `X`, `]` tokens separated by `noWs` fixes the second issue. Adding one more `noWs` before the `[` token fixes the first issue.
The priority of the syntax is decided in comparison to that of `AddMonoidAlgebra` (which is `high`) and `GetElem`.
Written by Claude Opus, tweaked by myself.
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]
-->
|
t-algebra
LLM-generated
t-meta
label:t-algebra$ |
22/8 |
Mathlib/Algebra/Polynomial/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
0-66611 18 hours ago |
0-67941 18 hours ago |
0-70565 19 hours |
0 |
| 45666 |
ldiedering author:ldiedering |
feat(MeasureTheory): add `IsAtom` and `NoAtoms` |
Define what an atom `s` of a measure `μ` is (`IsAtom μ s`), and define a nonatomic measure as a measure with no atoms (the new type class `NoAtoms`).
As discussed [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/MeasureTheory.2ENoAtoms/with/574638121), an older definition of `NoAtoms`, deprecated and renamed to `NullSingletonClass` in #40809 and #40815, was weaker than the standard notion under that name. This PR also removes the deprecation warnings. Follow-up PRs are planned to add more API for the new definitions.
------
Use of AI:
Based on suggestions from Zulip discussions, a first version of the new definitions and API was written manually as part of the Carleson project. Claude Code was then used to create a plan for upstreaming, suggest additional lemmas, golf proofs, write documentation, and remove the deprecation warnings. The new or changed statements and proofs were reviewed manually and again partially changed.
Deletions:
- MeasureTheory.NoAtoms (deprecated alias of NullSingletonClass; name reused for the new class)
- MeasureTheory.exists_accPt_of_noAtoms
- MeasureTheory.Measure.pi_noAtoms
- MeasureTheory.Measure.pi_noAtoms'
- MeasureTheory.Measure.noAtoms_hausdorff
- Real.noAtoms_volume
- MeasureTheory.noAtoms_withDensity
- MeasureTheory.IsHaarMeasure.noAtoms
- ProbabilityTheory.IsGaussian.noAtoms
- ProbabilityTheory.noAtoms_gaussianReal
- exists_eq_interval_average_of_noAtoms
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-measure-probability
LLM-generated
new-contributor
|
112/44 |
Mathlib/MeasureTheory/Constructions/Pi.lean,Mathlib/MeasureTheory/Group/Measure.lean,Mathlib/MeasureTheory/Integral/IntervalAverage.lean,Mathlib/MeasureTheory/Measure/Hausdorff.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Measure/Typeclasses/NoAtoms.lean,Mathlib/MeasureTheory/Measure/Typeclasses/NullSingletonClass.lean,Mathlib/MeasureTheory/Measure/WithDensity.lean,Mathlib/Probability/Distributions/Gaussian/Fernique.lean,Mathlib/Probability/Distributions/Gaussian/Real.lean |
10 |
13 |
['Deicyde', 'felixpernegger', 'github-actions', 'ldiedering', 'lua-vr'] |
nobody |
0-63835 17 hours ago |
1-66402 1 day ago |
1-66356 1 day |
0 |
| 45631 |
Nicola9Falciola author:Nicola9Falciola |
feat(LinearAlgebra/Matrix/UpdateSubmatrix): add a way to update a submatrix along embeddings and relative api |
---
This PR adds a new definition `updateSubmatrix` which allow to extend a general matrix `A : Matrix n m α` whenever we have two embeddings `eₙ : n ↪ o` and ` eₘ : m ↪ p`. This generalizes the already existing `updateRow` and `updateColums`.
Together with the definition I add the main API lemmas such as `_trans`, `_refl` , `_submatrix`, `_apply_embedding` , `_apply_of_notMem_left`, `_apply_of_notMem_right`, ` ext_..._iff`, ecc..
I have also added API relative to how this definition behave compared to already existing constructions such has taking the transposition, composing with `Matrix.map`, `fromBlocks` and `.inl` or `.inr` and `toSquareBlockProp` .
There is the sufficent API to compare the new definition with the existing `updateRow`, `updateColums` and with `reindex`.
I add also the `_add`, `_smul` and `_zero` API to define the bundled versions as ` Matrix n m α × Matrix o p α →+ Matrix o p α` and `Matrix n m α × Matrix o p α →ₗ[R] Matrix o p α`.
Using that I add `extendByOne` as an `abbrev` in the special case where `B = 1` with the relative API.
The construction is compatible with the identity and with matrix multiplication as proven by `_mul` `_one` `_one_iff`
and taking the inverses.
This allows to promote `extendedByOne` to a `MonoidHom` which also comes with its relative API .
It is my plan to follow up this PR with the relative construction for `GL` and `SL` and by cleaning up the already existing [Matrix.TransvectionStruct.sumInl](https://leanprover-community.github.io/mathlib4_docs/Mathlib/LinearAlgebra/Matrix/Transvection.html#Matrix.TransvectionStruct.sumInl), this will allow to construct induction arguments over the index type `n` for `GL` and `SL` and in the future introduce `GL R` and `SL R` as the colimits over the inclusion `Fin n ↦ Fin (n + 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]
-->
|
t-algebra label:t-algebra$ |
500/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Block.lean,Mathlib/LinearAlgebra/Matrix/UpdateSubmatrix.lean |
3 |
16 |
['Nicola9Falciola', 'github-actions', 'tb65536'] |
nobody |
0-63712 17 hours ago |
0-65654 18 hours ago |
1-61598 1 day |
2 |
| 45686 |
felixpernegger author:felixpernegger |
chore(Data): remove unused hypothesis |
Removes unused hypothesis from #45673 in Data. |
t-data
LLM-generated
t-measure-probability
|
55/32 |
Mathlib/Basic/Real/Embedding.lean,Mathlib/Data/ENat/Monoid.lean,Mathlib/Data/Fin/SuccPred.lean,Mathlib/Data/Int/Log.lean,Mathlib/Data/List/Cycle.lean,Mathlib/Data/List/MinMax.lean,Mathlib/Data/List/Permutation.lean,Mathlib/Data/Nat/Log.lean,Mathlib/Data/Nat/Squarefree.lean,Mathlib/Data/Rat/Lemmas.lean,Mathlib/Data/Set/Pairwise/Basic.lean,Mathlib/MeasureTheory/SetSemiring.lean |
12 |
4 |
['felixpernegger', 'github-actions', 'themathqueen'] |
nobody |
0-63697 17 hours ago |
1-33692 1 day ago |
1-34140 1 day |
1 |
| 45570 |
BryceT233 author:BryceT233 |
feat(Algebra/TotalMonoidAlgebra): add unit and multiplication |
We added unit and multiplication 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 label:t-algebra$ |
221/0 |
Mathlib/Algebra/TotalMonoidAlgebra/Defs.lean |
1 |
5 |
['BryceT233', 'YaelDillies', 'github-actions'] |
YaelDillies assignee:YaelDillies |
0-63351 17 hours ago |
3-28569 3 days ago |
3-53933 3 days |
1 |
| 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 |
7 |
['github-actions', 'mathlib-bors', 'riccardobrasca'] |
riccardobrasca assignee:riccardobrasca |
0-62841 17 hours ago |
69-80277 69 days ago |
84-81975 84 days |
1 |
| 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
maintainer-merge
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 |
53 |
['ADedecker', 'ChiCubed', 'Vierkantor', 'github-actions', 'jcommelin', 'riccardobrasca', 'tb65536', 'themathqueen', 'wwylele'] |
kim-em assignee:kim-em |
0-62524 17 hours ago |
20-22640 20 days ago |
133-50926 133 days |
0 |
| 45714 |
YaelDillies author:YaelDillies |
chore(Order): tweak naming and simp NF of some `OrderIso`s |
... following the post-merge comments on #45251.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
34/16 |
Mathlib/Order/Hom/Basic.lean,Mathlib/Order/RelIso/Basic.lean |
2 |
6 |
['YaelDillies', 'github-actions', 'themathqueen'] |
nobody |
0-62088 17 hours ago |
0-65002 18 hours ago |
0-68479 19 hours |
0 |
| 45572 |
jano-wol author:jano-wol |
feat(LinearAlgebra/Matrix): add strict block triangular 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]
-->
While working on the remaining TODO in Mathlib/Algebra/Lie/CartanCriterion.lean, I needed an API for strictly triangular matrices. This PR adds that API by introducing Matrix.StrictBlockTriangular and its strictly upper and lower triangular specializations. Although the PR is somewhat large, a large part of it directly follows the existing BlockTriangular API.
I am also planning a follow up PR for matrices whose entries vanish below a specified superdiagonal, with upper triangularity and strict upper triangularity as the n = 0 and n = 1 cases. Such a formulation will require additional structure on the indices to express offsets, beyond the order relations used here. |
t-algebra label:t-algebra$ |
183/1 |
Mathlib/Data/Matrix/Block.lean,Mathlib/LinearAlgebra/Matrix/Block.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Basic.lean |
3 |
5 |
['eric-wieser', 'github-actions', 'jano-wol'] |
nobody |
0-60515 16 hours ago |
4-12376 4 days ago |
4-12330 4 days |
0 |
| 45716 |
jesusvilela author:jesusvilela |
feat(SimpleGraph): add signed graph Laplacian matrices |
### **Summary**
Adds signed adjacency and Laplacian matrices for finite simple graphs, as a reusable Mathlib API.
It uses SimpleGraph.EdgeLabeling Bool to carry edge signs, false to possitive and true to negative edges.
Consider a signed Laplacian as Lσ = D − Aσ, D an ordinary degree matrix, Aσ a signed adjacency matrix.
### **Main changes:**
Add Mathlib/Combinatorics/SimpleGraph/SignedLapMatrix.lean with two definitions and 19 theorems:
1. Signed adjacency is symmetric, while the signed Laplacian is both symmetric and Hermitian.
2. Ordinary Laplacian is recovered for all positive signs, and the signless Laplacian for all negative signs.
3. Squared signed edge identities produce the quadratic energy identity.
4. Arbitrary Boolean edge signings are positive semidefinite, for arbitrary Boolean edge signings.
5. By edgewise compatibility, the kernel is characterized as: equal vertex values across the positive edges and opposite values across negative edges.
There is a double counting of undirected edges in a factor of 1/2, wich is accounted for in the quadratic energy formula.
It has been implemented using existing Mathlib graph and matrix interfaces, restricted to real-valued and Boolean signs.
### **Files changed:**
Mathlib/Combinatorics/SimpleGraph/SignedLapMatrix.lean — new module.
Mathlib.lean — import of the new module.
### **Verification:**
Commit a84939a using Lean v4.36.0-rc2
Verification run [[41879159967](https://github.com/jesusvilela/mathlib4/actions/runs/41879159967)] passed:
- Successful compilation and Mathlib linting.
- lake exe mk all --check
- Transitive axiom audit of 19 public theorems.
- Proof term checks (Lean default, Lean paranoid, lean4lean, nanoda, con-leche and con-ron)
Only axioms propext, Classical.choice and Quot.sound reported.
### **AI Assistance:**
Implemented with substantial usage for Lean, proof construction, migration and verification infraestructure. Models include GPT-family 5.6 to 6.1 Sol and Claude Opus 4.5 to 5.
LLM-generated label is therefore warranted.
Review considerations:
Constructive feedback welcome on the API, naming, generality and pertinent module placement. Wether definitions and associated theorems must be split into smaller contributions or should remain together.
|
t-combinatorics
new-contributor
|
361/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/SignedLapMatrix.lean |
2 |
2 |
['github-actions'] |
nobody |
0-59844 16 hours ago |
0-60320 16 hours ago |
0-60274 16 hours |
0 |
| 44836 |
cmhsu2012 author:cmhsu2012 |
feat(NumberTheory/Legendre/Basic): the legendre symbol for p-adics |
Co-authored-by: María Inés de Frutos-Fernández 88536493+mariainesdff@users.noreply.github.com
and Nirvana Coppola 58878663+NirvanaC93@users.noreply.github.com
In the ongoing formalization of the Hasse-Minkowski Theorem on quadratic forms, we need the Legendre symbol for the p-adics. The following declarations were added to the basic.lean file:
```def compMonoidHom``` an auxiliary definition: the composition between multiplicative characters and a local homomorphism
```def legendreSym``` the definition of the Legendre symbol for Z_p: composition of the reduction from Z_p to Z mod p and the usual Legendre symbol
```def hom``` The Legendre symbol is a homomorphism
The remaining lemmas are the API:
```lemma intCast```
```theorem eq_pow```
```theorem eq_on_or_neg_one```
```eq_neg_one_iff_not_one```
```theorem eq_zero_iff```
```theorem sq_one```
```theorem sq_one'```
```theorem eq_one_iff```
```theorem eq_neg_one_iff```
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-number-theory
new-contributor
|
124/2 |
Mathlib.lean,Mathlib/Algebra/Ring/Int/Units.lean,Mathlib/NumberTheory/MulChar/Basic.lean,Mathlib/NumberTheory/Padics/LegendreSymbol.lean |
4 |
45 |
['JX-Mo', 'NirvanaC93', 'cmhsu2012', 'github-actions', 'loefflerd', 'mariainesdff', 'tb65536'] |
loefflerd assignee:loefflerd |
0-57245 15 hours ago |
0-60096 16 hours ago |
9-37095 9 days |
0 |
| 45280 |
themathqueen author:themathqueen |
feat(LinearAlgebra): complexification of real spaces |
This provides the basic framework for complexifying spaces (module structures, star structures, and algebra structures). We also provide some API for complexifying linear operators.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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$ |
353/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Complexification/Basic.lean,docs/references.bib |
3 |
12 |
['eric-wieser', 'github-actions', 'themathqueen'] |
j-loreaux assignee:j-loreaux |
0-53405 14 hours ago |
0-55133 15 hours ago |
1-29643 1 day |
2 |
| 45644 |
wwylele author:wwylele |
feat(Analysis/Complex): arg(x*y) and log(x*y) for more cases |
Existing lemma only talks about `arg x + arg y ∈ Set.Ioc (-π) π`. Let's add other cases as well.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-analysis
maintainer-merge
|
40/0 |
Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Complex/Log.lean |
2 |
8 |
['copilot-pull-request-reviewer', 'github-actions', 'themathqueen', 'wwylele'] |
nobody |
0-53301 14 hours ago |
0-67034 18 hours ago |
2-15964 2 days |
1 |
| 45691 |
felixpernegger author:felixpernegger |
chore(MeasureTheory): remove unused hypothesis |
Removes unused hypothesis from #45673 in MeasureTheory. |
LLM-generated
t-measure-probability
|
103/75 |
Mathlib/MeasureTheory/Constructions/ProjectiveFamilyContent.lean,Mathlib/MeasureTheory/Function/EssSup.lean,Mathlib/MeasureTheory/Function/L1Space/HasFiniteIntegral.lean,Mathlib/MeasureTheory/Function/L1Space/Integrable.lean,Mathlib/MeasureTheory/Function/LpSeminorm/LpNorm.lean,Mathlib/MeasureTheory/Group/FundamentalDomain.lean,Mathlib/MeasureTheory/Integral/CircleIntegral.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/DerivIntegrable.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/TrapezoidalRule.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean,Mathlib/MeasureTheory/VectorMeasure/Basic.lean,Mathlib/MeasureTheory/VectorMeasure/Decomposition/Jordan.lean,Mathlib/MeasureTheory/VectorMeasure/Operations.lean,Mathlib/MeasureTheory/VectorMeasure/Order.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Basic.lean |
16 |
8 |
['felixpernegger', 'github-actions', 'lua-vr'] |
nobody |
0-50753 14 hours ago |
1-36302 1 day ago |
1-36737 1 day |
1 |
| 45694 |
felixpernegger author:felixpernegger |
chore(Probability): remove unused hypothesis |
Removes unused hypothesis from #45673 in Probability. |
LLM-generated
t-measure-probability
|
88/46 |
Mathlib/Probability/Decision/Risk/RiskIncrease.lean,Mathlib/Probability/HasCondDistrib.lean,Mathlib/Probability/Kernel/Composition/KernelLemmas.lean,Mathlib/Probability/Kernel/Composition/Lemmas.lean,Mathlib/Probability/Kernel/Composition/MeasureComp.lean,Mathlib/Probability/Kernel/Composition/MeasureCompProd.lean,Mathlib/Probability/Kernel/Composition/Prod.lean,Mathlib/Probability/Kernel/Composition/WithDensity.lean,Mathlib/Probability/Kernel/Disintegration/Unique.lean,Mathlib/Probability/Martingale/Upcrossing.lean |
10 |
2 |
['github-actions', 'lua-vr'] |
nobody |
0-50717 14 hours ago |
1-36360 1 day ago |
1-36786 1 day |
1 |
| 45708 |
mathlib-update-dependencies author:mathlib-update-dependencies |
chore: update Mathlib dependencies 2026-11-05 |
This PR updates the Mathlib dependencies.
It is not merged automatically: a maintainer should look at what the new
dependency revisions bring in before sending it to bors.
---
[workflow run for this PR](https://github.com/leanprover-community/mathlib4/actions/runs/42108796592) |
dependency-bump |
1/1 |
lake-manifest.json |
1 |
1 |
['github-actions'] |
nobody |
0-47453 13 hours ago |
1-3034 1 day ago |
1-2988 1 day |
0 |
| 42093 |
DrDMT-VR author:DrDMT-VR |
feat(Topology/Algebra/Ring): topological closure of a two-sided ideal |
Defines `TwoSidedIdeal.closure`, the topological closure of a two-sided ideal in a
topological ring, together with its basic API. This mirrors the existing one-sided
`Ideal.closure` (`Mathlib/Topology/Algebra/Ring/Ideal.lean`), but is stated in the
generality of non-unital non-associative topological rings (`IsTopologicalRing` over
`NonUnitalNonAssocRing`), where one-sided ideals are unavailable.
New declarations (namespace `TwoSidedIdeal`): `closure`, `coe_closure`,
`mem_closure_iff`, `le_closure`, `closure_mono`, `closure_minimal`, `isClosed_closure`,
`closure_eq_of_isClosed`, `closure_closure`, `closure_top`, and `closure_ne_top` (in a
unital ring whose units are open, e.g. a Banach algebra via `Units.isOpen`, the closure of
a proper two-sided ideal is proper).
Mathlib has no topological-closure API for `TwoSidedIdeal`. Closed two-sided ideals are
the basic objects of C*-algebra ideal theory, and `closure_ne_top` is the standard first
step toward "maximal two-sided ideals are closed".
------
- should the definition be called `topologicalClosure` instead? (The current name matches `Ideal.closure`.)
- Claude was utilized throughout the project. It helped with coding, syntax and running repetitive testing.
|
t-topology
new-contributor
LLM-generated
|
127/0 |
Mathlib.lean,Mathlib/Topology/Algebra/Ring/TwoSidedIdeal.lean |
2 |
16 |
['DrDMT-VR', 'FractalDevTeam', 'github-actions', 'grunweg', 'j-loreaux'] |
j-loreaux assignee:j-loreaux |
0-45152 12 hours ago |
9-49759 9 days ago |
47-41844 47 days |
0 |
| 42095 |
DrDMT-VR author:DrDMT-VR |
feat(Analysis/CStarAlgebra): the non-unital CFC maps into closed two-sided ideals |
## What
For a non-unital C*-algebra `A`, a closed two-sided ideal `I`, an element `a ∈ I`, and any
`f : ℝ → ℝ`, this proves `cfcₙ f a ∈ I`. No hypotheses on `f` are needed: whenever `cfcₙ`
would take its junk value (`f` not continuous on the quasispectrum, `f 0 ≠ 0`, or `a` not
selfadjoint) that value is `0 ∈ I`.
New declarations (namespace `TwoSidedIdeal`):
- `smul_mem_of_isClosed` — a closed two-sided ideal in a non-unital C*-algebra is closed
under the scalar action (proved via the canonical approximate unit `CStarAlgebra.approximateUnit`).
- `cfcₙHom_mem_of_isClosed` — for selfadjoint `a ∈ I`, every value of the underlying
homomorphism `cfcₙHom` lies in `I` (Weierstrass induction on `C(σₙ ℝ a, ℝ)₀`).
- `cfcₙ_mem_of_isClosed` — the main result.
## Why
Closed two-sided ideals of a C*-algebra are hereditary under the continuous functional
calculus; this is a basic tool for spectral-projection and ideal-membership arguments, and
complements the existing "cfc commutes with *-homomorphisms" results. `smul_mem_of_isClosed`
is of independent interest (a closed two-sided ideal is a submodule).
## Notes
This is my second contribution (see #42093). I checked the referenced cfc / approximate-unit
API against current master at the source level; CI is the first full build and I will fix
anything it flags. Suggested location `Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Ideal.lean`;
happy to relocate if preferred.
Parts of this contribution were developed with AI assistance (Claude). All statements are machine-checked by the Lean kernel; `#print axioms` on the new declarations reports only `[propext, Classical.choice, Quot.sound]`.
|
t-analysis
new-contributor
LLM-generated
|
92/0 |
Mathlib.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Ideal.lean |
2 |
5 |
['DrDMT-VR', 'github-actions', 'grunweg'] |
nobody |
0-45084 12 hours ago |
9-50284 9 days ago |
11-11630 11 days |
1 |
| 45010 |
loefflerd author:loefflerd |
feat(NumberTheory/ModularForms): q-expansions at irregular cusps |
The q-expansion of a modular form at an irregular cusp is supported on exponents of the same parity as the weight of the form. (This is a step in proving an "optimal" Sturm bound for general arithmetic subgroups.)
---
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.
- [x] depends on: #45009
|
t-number-theory |
39/0 |
Mathlib/Analysis/Complex/Periodic.lean,Mathlib/Analysis/Complex/UpperHalfPlane/MoebiusAction.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean |
3 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
0-44995 12 hours ago |
0-58853 16 hours ago |
0-59340 16 hours |
1 |
| 45427 |
emlis42 author:emlis42 |
feat(Tactic/Inclusion): add `Real.log` support to the `inclusion`/`dyadic_interval` tactic |
This PR adds a `Real.log` extension for the `dyadic_interval` tactic.
---
- [x] depends on: #45421
No AI was used to generate any code in this PR. |
large-import |
748/0 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Artanh.lean,Mathlib/Data/Dyadic.lean,Mathlib/Data/Rat/Floor.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Inclusion/Extension/Interval/Basic.lean,Mathlib/Tactic/Inclusion/Extension/IntervalDyadicReal/Basic.lean,Mathlib/Tactic/Inclusion/Extension/IntervalDyadicReal/Log.lean,MathlibTest/Tactic/Inclusion/Log.lean |
9 |
6 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'ocfnash', 'raoxiaojia'] |
ocfnash assignee:ocfnash |
0-44069 12 hours ago |
0-45243 12 hours ago |
0-45841 12 hours |
1 |
| 45719 |
plp127 author:plp127 |
chore(Data/Dyadic): deprecated module #45186 |
Adds deprecated module for #45186.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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 |
232/210 |
Mathlib.lean,Mathlib/Data/Dyadic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Inclusion/Extension/IntervalDyadicReal/Basic.lean,Mathlib/Tactic/Inclusion/Extension/IntervalDyadicReal/Dyadic.lean,Mathlib/Tactic/Inclusion/Extension/IntervalDyadicReal/Exp.lean,Mathlib/Tactic/Inclusion/Extension/IntervalDyadicReal/Init.lean |
7 |
1 |
['github-actions'] |
nobody |
0-43819 12 hours ago |
0-44273 12 hours ago |
0-44466 12 hours |
0 |
| 44997 |
TJHeeringa author:TJHeeringa |
feat(Analysis/InnerProductSpace): add abs for continuousLinearMaps between Hilbert spaces |
Schatten p-norm is based on the absolute value / modulus for continuous linear maps between Hilbert spaces. This PR adds that absolute value.
---
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 |
175/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Abs.lean,Mathlib/Analysis/InnerProductSpace/Positive.lean |
3 |
73 |
['TJHeeringa', 'github-actions', 'themathqueen'] |
nobody |
0-42191 11 hours ago |
0-45087 12 hours ago |
13-2056 13 days |
3 |
| 45722 |
thorimur author:thorimur |
chore: replace numeric projections in Mathlib/Algebra/* |
This PR replaces numeric projections with their field names in Mathlib/Algebra/*.
---
This PR converts numeric projections into the following field names:
<details>
```
app,
cast_eq_zero_iff,
cone,
cont,
elim,
exists_of_eq,
exists_pair_ne,
ge,
genWeightSpace_ne_bot',
head,
hom',
hom_inv_id,
im,
inj',
inv,
invFun,
inv_hom_id,
inv_val,
isColimit,
isOpen_preimage,
isTopologicalAddGroup,
isUnit_or_isUnit,
le,
left,
left_cancellation,
lower',
map_add,
map_add_const',
map_smul,
map_units,
monotone',
mulSaturated,
nodup,
not_isUnit,
obj,
out,
prop,
property,
pt,
re,
right,
smul_mem',
surj,
tail,
toAddSubmonoid,
toBialgHom',
toCoalgHom',
toComma,
toFun,
toIsComplex,
topologicalSpace,
upper',
val,
val_inv,
zero
```
</details>
All parts of the diff of this PR are replacements of a numeric projection with an identifier component, or are whitespace changes.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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$ |
208/197 |
Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/AddConstMap/Equiv.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/BigOperators/ModEq.lean,Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Algebra/Category/BialgCat/Basic.lean,Mathlib/Algebra/Category/BialgCat/Monoidal.lean,Mathlib/Algebra/Category/CoalgCat/Basic.lean,Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean,Mathlib/Algebra/Category/CoalgCat/Monoidal.lean,Mathlib/Algebra/Category/CommAlgCat/FiniteType.lean,Mathlib/Algebra/Category/Grp/LeftExactFunctor.lean,Mathlib/Algebra/Category/HopfAlgCat/Basic.lean,Mathlib/Algebra/Category/HopfAlgCat/Monoidal.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Generator.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafify.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Homology.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/Category/Ring/Epi.lean,Mathlib/Algebra/Category/Ring/FilteredColimits.lean,Mathlib/Algebra/Category/Ring/FilteredColimitsLocal.lean,Mathlib/Algebra/Central/Basic.lean,Mathlib/Algebra/Central/TensorProduct.lean,Mathlib/Algebra/CharP/Algebra.lean,Mathlib/Algebra/CharP/CharAndCard.lean,Mathlib/Algebra/CharP/LinearMaps.lean,Mathlib/Algebra/CharP/Quotient.lean,Mathlib/Algebra/Field/Equiv.lean,Mathlib/Algebra/Free.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/Group/ConjFinite.lean,Mathlib/Algebra/Group/Pi/Units.lean,Mathlib/Algebra/Group/Submonoid/BigOperators.lean,Mathlib/Algebra/Group/Submonoid/Saturation.lean,Mathlib/Algebra/Group/Submonoid/Units.lean,Mathlib/Algebra/Group/UniqueProds/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/Group/Units/Opposite.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/Homology/CochainComplexMinus.lean,Mathlib/Algebra/Homology/CochainComplexPlus.lean,Mathlib/Algebra/Homology/DerivedCategory/Plus.lean,Mathlib/Algebra/Homology/Embedding/TruncGEHomology.lean,Mathlib/Algebra/Homology/ExactSequence.lean,Mathlib/Algebra/Homology/Factorizations/CM5a.lean,Mathlib/Algebra/Homology/GrothendieckAbelian.lean,Mathlib/Algebra/Homology/Homotopy.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplexCohomology.lean,Mathlib/Algebra/Homology/LocalCohomology.lean,Mathlib/Algebra/Homology/ModelCategory/Lifting.lean,Mathlib/Algebra/Homology/ShortComplex/Abelian.lean,Mathlib/Algebra/Homology/ShortComplex/ExactFunctor.lean,Mathlib/Algebra/Homology/SpectralObject/Page.lean,Mathlib/Algebra/Lie/Weights/Basic.lean,Mathlib/Algebra/Lie/Weights/Chain.lean,Mathlib/Algebra/Lie/Weights/RootSystem.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/Algebra/Module/Projective.lean,Mathlib/Algebra/Module/Submodule/Invariant.lean,Mathlib/Algebra/Module/Torsion/Free.lean,Mathlib/Algebra/Module/ZLattice/Summable.lean,Mathlib/Algebra/Order/AddGroupWithTop.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean,Mathlib/Algebra/Order/Monoid/LocallyFiniteOrder.lean,Mathlib/Algebra/Order/Monoid/Unbundled/OrderDual.lean,Mathlib/Algebra/Order/Nonneg/Field.lean,Mathlib/Algebra/Order/UpperLower.lean,Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/QuadraticAlgebra/Defs.lean,Mathlib/Algebra/Ring/NonZeroDivisors.lean,Mathlib/Algebra/Ring/Regular.lean,Mathlib/Algebra/Ring/Subgroup.lean,Mathlib/Algebra/Squarefree/Basic.lean |
86 |
1 |
['github-actions'] |
nobody |
0-39709 11 hours ago |
0-42610 11 hours ago |
0-42564 11 hours |
2 |
| 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
large-import
label:t-algebra$ |
14/0 |
Mathlib/Algebra/Ring/IsFormallyReal.lean,Mathlib/Algebra/Ring/SumsOfSquares.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
0-39320 10 hours ago |
0-39775 11 hours ago |
38-62077 38 days |
0 |
| 45547 |
artie2000 author:artie2000 |
feat(Algebra/Order/Ring): ring preordering extends to ordering |
* Prove every preordering on a ring extends to an ordering.
* Characterise maximal 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]
-->
|
t-algebra label:t-algebra$ |
158/9 |
Mathlib.lean,Mathlib/Algebra/Order/Ring/Ordering/Basic.lean,Mathlib/Algebra/Order/Ring/Ordering/Extend.lean,Mathlib/Basic/SetLike/Basic.lean |
4 |
3 |
['artie2000', 'github-actions', 'vihdzp'] |
nobody |
0-37944 10 hours ago |
5-34621 5 days ago |
5-34637 5 days |
0 |
| 38813 |
CBirkbeck author:CBirkbeck |
feat(NumberTheory/ModularForms): `E₄` and `E₆` generate the graded ring of level-1 modular forms freely |
`E₄` and `E₆` are algebraically independent, so `ℂ[X₀, X₁] ≃ₐ[ℂ] ⨁ k, ModularForm 𝒮ℒ k` and this ring is a domain.
---
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
t-number-theory
LLM-generated
|
220/1 |
Mathlib/NumberTheory/ModularForms/LevelOne/GradedRing.lean |
1 |
21 |
['CBirkbeck', 'github-actions', 'mathlib-merge-conflicts', 'riccardobrasca'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
0-36528 10 hours ago |
1-61492 1 day ago |
1-61446 1 day |
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'] |
urkud assignee:urkud |
0-36527 10 hours ago |
22-75609 22 days ago |
107-32185 107 days |
0 |
| 41975 |
fbarroero author:fbarroero |
feat(NumberTheory/NumberField/Ostrowski): prove nonarchimedean Ostrowski's theorem |
This PR proves the nonarchimedean case of Ostrowski’s theorem for number fields. The main declaration is
```lean
theorem exists_heightOneSpectrum_equiv_adicAbv
{f : AbsoluteValue K ℝ} (hf_nonarch : IsNonarchimedean f) (hf_nontriv : f.IsNontrivial)
∃! P : HeightOneSpectrum (𝓞 K), f ≈ adicAbv K 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]
-->
- [x] depends on: #40848
[](https://gitpod.io/from-referrer/)
|
t-number-theory |
192/0 |
Mathlib.lean,Mathlib/NumberTheory/NumberField/Ostrowski.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation/Valuation.lean |
3 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
0-36525 10 hours ago |
1-41883 1 day ago |
1-46498 1 day |
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'] |
b-mehta assignee:b-mehta |
0-36524 10 hours ago |
83-36224 83 days ago |
96-27696 96 days |
1 |
| 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'] |
j-loreaux assignee:j-loreaux |
0-36523 10 hours ago |
47-13437 47 days ago |
60-58578 60 days |
0 |
| 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'] |
sgouezel assignee:sgouezel |
0-36521 10 hours ago |
47-52712 47 days ago |
48-61508 48 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'] |
sgouezel assignee:sgouezel |
0-36520 10 hours ago |
76-12635 76 days ago |
76-12589 76 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
increases-technical-debt
label:t-algebra$ |
181/0 |
Counterexamples.lean,Counterexamples/CommSemiring7InvertibleModule6.lean,Mathlib/RingTheory/Spectrum/Maximal/Basic.lean |
3 |
2 |
['github-actions', 'themathqueen'] |
riccardobrasca assignee:riccardobrasca |
0-36519 10 hours ago |
75-56345 75 days ago |
75-56299 75 days |
0 |
| 43087 |
JX-Mo author:JX-Mo |
feat(RepresentationTheory): add Hecke/Basic.lean |
This file defines `HeckeModule` of a representation `ρ` as `Hom_G(k[G ⧸ H], ρ)` and identifies it with the space of `H`-invariants.
We deliberately choose the intertwining model over the invariant model as the main API, for it has good defeq property when we define the mixed level Hecke action of Hecke operators which is just the composition of intertwining maps. This has significant technical advantage because it avoids proving associativity and compatibility combinarically which is nasty using the invariant model.
It is an `abbrev` for maximally reusing API from `ofMulAction` and `IntertwiningMap`. We remark that the abstract boundary will be cut out at `HeckeAlgera` which will be a `def` instead and we will provide an instance `Module HeckeAlgebra HeckeModule`. Before that, we need to develop representation theoretic lemmas about `HeckeModule` and `HeckeBimodule` first so `HeckeModule` should stay transparent. |
new-contributor
t-algebra
label:t-algebra$ |
84/0 |
Mathlib.lean,Mathlib/RepresentationTheory/Hecke/Basic.lean |
2 |
8 |
['JX-Mo', 'Whysoserioushah', 'github-actions'] |
riccardobrasca assignee:riccardobrasca |
0-36518 10 hours ago |
15-25525 15 days ago |
73-75442 73 days |
1 |
| 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'] |
j-loreaux assignee:j-loreaux |
0-36516 10 hours ago |
72-55904 72 days ago |
72-56031 72 days |
1 |
| 45647 |
chenguang2046 author:chenguang2046 |
feat: meromorphic continuation of Riemann zeta and Hurwitz zeta (even) |
Continues #45344 following @wwylele's suggestion.
This PR replaces the previous explicit series-based argument with the compact grind/un_prop proof suggested in review, and applies the same method to hurwitzZetaEven.
Main results (Mathlib/NumberTheory/LSeries/RiemannZetaMeromorphic.lean):
* meromorphicAt_riemannZeta_one
* meromorphicAt_hurwitzZetaEven_one
* meromorphic_riemannZeta
* meromorphic_hurwitzZetaEven
All verified locally with zero sorry (exit code 0). |
t-number-theory
new-contributor
LLM-generated
|
88/0 |
Mathlib.lean,Mathlib/NumberTheory/LSeries/RiemannZetaMeromorphic.lean |
2 |
4 |
['chenguang2046', 'github-actions'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
0-36515 10 hours ago |
2-15438 2 days ago |
2-15602 2 days |
0 |
| 45681 |
felixpernegger author:felixpernegger |
chore(Archive): remove unused hypothesis |
Removes unused hypothesis from #45673 in Archive. |
LLM-generated
IMO
|
39/13 |
Archive/Imo/Imo1982Q3.lean,Archive/Imo/Imo1985Q2.lean,Archive/Imo/Imo2006Q5.lean,Archive/Imo/Imo2013Q5.lean,Archive/Imo/Imo2024Q1.lean,Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Archive/Wiedijk100Theorems/HeronsFormula.lean,Archive/Wiedijk100Theorems/SolutionOfCubicQuartic.lean |
8 |
1 |
['github-actions'] |
jsm28 assignee:jsm28 |
0-36514 10 hours ago |
1-36624 1 day ago |
1-37083 1 day |
1 |
| 45724 |
vihdzp author:vihdzp |
feat: build equiv `SignType ≃ Ordering` |
The idea is that `orderingEquiv.symm (cmp x y)` is a more general way to write `sign (x - y)`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
t-data
|
86/1 |
Mathlib/Basic/Sign/Defs.lean |
1 |
1 |
['github-actions'] |
nobody |
0-35897 9 hours ago |
0-36987 10 hours ago |
0-36941 10 hours |
0 |
| 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'] |
nobody |
0-35627 9 hours ago |
25-546 25 days ago |
69-64650 69 days |
1 |
| 42534 |
gloges author:gloges |
feat(LinearAlgebra/MultilinearMap): generalize `MultilinearMap` with common `RingHom` |
Generalizes multilinear maps to multi-semilinear maps.
In analogy with `LinearMap σ M N`, `MultilinearMap σ M N` is the space of multilinear maps from the `R`-module `∀ i, M i` to the `S`-module `N` over a ring homomorphism `σ : R →+* S`: fixing all but one coordinate gives a map `M i →ₛₗ[σ] N`.
Adds the notation `(Π i, M i) →ₘₛₗ[σ] N` for `MultilinearMap σ M N`, complementing the notation `(Π i, M i) →ₘₗ[R] N` for the previous multilinear map which is the special case with `σ = RingHom.id R`.
**Breaking change**: to use the previous multilinear map, change `MultilinearMap R M N` to `MultilinearMap (.id R) M N` or `(Π i, M i) →ₘₗ[R] N`.
Both `ContinuousMultilinearMap` and `AlternatingMap` extend `MultilinearMap` and are left defined in terms of `RingHom.id`.
---
- [x] depends on: #43877
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
594/519 |
Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Normed/Module/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Alternating/Basic.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Multilinear/Basis.lean,Mathlib/LinearAlgebra/Multilinear/Curry.lean,Mathlib/LinearAlgebra/Multilinear/DFinsupp.lean,Mathlib/LinearAlgebra/Multilinear/DirectSum.lean,Mathlib/LinearAlgebra/Multilinear/FiniteDimensional.lean,Mathlib/LinearAlgebra/Multilinear/Pi.lean,Mathlib/LinearAlgebra/Multilinear/TensorProduct.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/DFinsupp.lean,Mathlib/LinearAlgebra/TensorPower/Symmetric.lean,Mathlib/RingTheory/PiTensorProduct.lean,Mathlib/Topology/Algebra/Module/Multilinear/Basic.lean,MathlibTest/LinearAlgebra/Multilinear.lean |
19 |
58 |
['eric-wieser', 'github-actions', 'gloges', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'themathqueen', 'winstonyin'] |
nobody |
0-35593 9 hours ago |
0-54243 15 hours ago |
35-34849 35 days |
0 |
| 45406 |
astrainfinita author:astrainfinita |
feat(Order/ConditionallyCompleteLattice/WithTop): `OrderSupSet` instances on `WithTop` |
Adds `OrderSupSet (WithTop α)` and `OrderInfSet (WithTop α)` instances (and their `WithBot` duals), and cleans up the API for `sSup` and `sInf` on `WithTop`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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: #45402 |
tech debt
t-order
|
144/144 |
Mathlib/Order/ConditionallyCompleteLattice/WithTop.lean |
1 |
10 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
0-33940 9 hours ago |
0-37507 10 hours ago |
0-43840 12 hours |
7 |
| 43232 |
Parcly-Taxel author:Parcly-Taxel |
refactor: `TrivSqZeroExt` extending `Prod` |
Define à la `Unitization` ([#mathlib4 > TrivSqZeroExt as a 2-field structure @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/TrivSqZeroExt.20as.20a.202-field.20structure/near/620183663))
```lean
structure TrivSqZeroExt (R : Type u) (M : Type v) extends R × M
```
This PR came out of investigating the source of the `DualQuaternion` slowdown in #43078. (`DualNumber R` is an abbrev for `TrivSqZeroExt R R`.)
`Topology.Instances.TrivSqZeroExt` and `Analysis.Normed.Algebra.TrivSqZeroExt` were filled in with significant help from GPT-6.1 Sol. |
t-algebra
tech debt
LLM-generated
label:t-algebra$ |
360/291 |
Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/DualQuaternion.lean,Mathlib/Algebra/TrivSqZeroExt/Basic.lean,Mathlib/Algebra/TrivSqZeroExt/Ideal.lean,Mathlib/Analysis/Normed/Algebra/TrivSqZeroExt.lean,Mathlib/LinearAlgebra/ExteriorAlgebra/Basic.lean,Mathlib/LinearAlgebra/Matrix/DualNumber.lean,Mathlib/LinearAlgebra/TensorAlgebra/Basic.lean,Mathlib/RingTheory/DualNumber.lean,Mathlib/Topology/Instances/TrivSqZeroExt.lean |
10 |
10 |
['Parcly-Taxel', 'github-actions', 'mathlib-merge-conflicts', 'plp127'] |
nobody |
0-33134 9 hours ago |
0-33629 9 hours ago |
9-53599 9 days |
0 |
| 39809 |
zcyemi author:zcyemi |
feat(LinearAlgebra/AffineSpace/Menelaus): add Menelaus' theorem |
Add Menelaus' theorem for both `AffineSpace` and `NormedAddTorsor`.
The `AffineSpace` version includes both the forward and converse directions, while the `NormedAddTorsor` version currently includes the forward direction.
For the converse direction in the `NormedAddTorsor` setting, I am still considering the most convenient formalization for future use. One possible approach is to use `sbtw` / `¬ sbtw` to distinguish the different positional cases for points on the edges of a triangle, but this seems too complicated under permutations of the triangle vertices.
|
t-euclidean-geometry |
373/0 |
Mathlib.lean,Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean,Mathlib/Analysis/Convex/Between.lean,Mathlib/Analysis/Normed/Affine/Menelaus.lean,Mathlib/LinearAlgebra/AffineSpace/Menelaus.lean,docs/1000.yaml |
6 |
11 |
['github-actions', 'jsm28', 'zcyemi'] |
nobody |
0-31615 8 hours ago |
0-54127 15 hours ago |
67-43992 67 days |
0 |
| 45725 |
plp127 author:plp127 |
feat(Logic/Equiv): `Equiv.Set.coe_univ` |
Prove theorem `Equiv.Set.coe_univ`, which applies in cases where `Equiv.Set.univ_apply` does not.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-logic
|
3/0 |
Mathlib/Logic/Equiv/Set.lean |
1 |
2 |
['JX-Mo', 'github-actions'] |
nobody |
0-19623 5 hours ago |
0-28795 7 hours ago |
0-28749 7 hours |
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$ |
11/13 |
Mathlib/RepresentationTheory/Coinduced.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/Functoriality.lean,Mathlib/RepresentationTheory/Rep/Res.lean |
3 |
12 |
['JX-Mo', 'Whysoserioushah', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
0-19472 5 hours ago |
0-19912 5 hours ago |
46-71096 46 days |
3 |
| 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.
---
Some transparency issues are fixed so that this PR does not contain any new `set_option`. All the `set_option` in the `Algebra/Homology/ShortComplex/` files are removed in a followup PR #44011. Almost all those in `Algebra/Homology/` are removed in #45277.
- [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
maintainer-merge
|
297/8 |
Mathlib.lean,Mathlib/Algebra/Homology/ShortComplex/Basic.lean,Mathlib/Algebra/Homology/ShortComplex/HomologicalComplex.lean,Mathlib/Algebra/Homology/ShortComplex/Homology.lean,Mathlib/Algebra/Homology/ShortComplex/HomologyCofork.lean,Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean,Mathlib/Algebra/Homology/ShortComplex/Linear.lean,Mathlib/Algebra/Homology/ShortComplex/RightHomology.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/HomologyFunctorAccessible.lean |
9 |
15 |
['github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
0-12621 3 hours ago |
0-43484 12 hours ago |
24-45218 24 days |
2 |
| 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
maintainer-merge
label:t-algebra$ |
2/5 |
Mathlib/Algebra/Order/Quantale.lean |
1 |
9 |
['adomani', 'aimmerwahr', 'bryangingechen', 'felixpernegger', 'fpvandoorn', 'github-actions', 'leanprover-radar'] |
nobody |
0-11003 3 hours ago |
16-79564 16 days ago |
16-79518 16 days |
0 |
| 45723 |
alexei-kopylov author:alexei-kopylov |
chore(LinearAlgebra/ExteriorPower/BilinForm): make bilinForm_ιMulti_ιMulti public |
`bilinForm_ιMulti_ιMulti` is currently invisible outside its own module, although `LinearMap.BilinForm.exteriorPower` and
`bijective_exteriorPower` are public, so no importer of this file can use the formula. The lemma is already marked `@[simp]`, but that marking has no effect for importers while the lemma itself is not public. I believe that this is an oversight, not intentional.
Making the lemma public exposes the evaluation formula, with no other change.
This restores the visibility the lemma had in #42889: it was made `public` in 93bf495 at a reviewer's request (mark `public` the declarations intended for export), then lost `public` in a829f41, a doc-comment cleanup whose diff bundles the drop with the deletion of the lemma's own docstring — no discussion in #42889 asks for the removal.
cc @kirill-kondrashov (author of #42889) |
t-algebra
new-contributor
label:t-algebra$ |
1/1 |
Mathlib/LinearAlgebra/ExteriorPower/BilinForm.lean |
1 |
4 |
['github-actions', 'kirill-kondrashov'] |
nobody |
0-10981 3 hours ago |
0-38065 10 hours ago |
0-38019 10 hours |
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$ |
92/1 |
Mathlib.lean,Mathlib/LinearAlgebra/ExteriorPower/HodgeStar.lean,Mathlib/LinearAlgebra/ExteriorPower/Orientation.lean |
3 |
10 |
['github-actions', 'kirill-kondrashov', 'ocfnash', 'themathqueen'] |
nobody |
0-7531 2 hours ago |
0-7531 2 hours ago |
28-29334 28 days |
0 |
| 45611 |
vihdzp author:vihdzp |
feat: all sets in a co-well-order are closed under 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]
-->
|
t-order
maintainer-merge
|
23/0 |
Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/DirSupClosed.lean |
2 |
2 |
['YaelDillies', 'github-actions'] |
nobody |
0-6919 1 hour ago |
2-83925 2 days ago |
2-83879 2 days |
3 |
| 42327 |
riccardobrasca author:riccardobrasca |
feat: add levelOne_qExpansionAlgHom_injective |
We prove that the `q`-expansion map `ModularForm.qExpansionAlgHom` is injective on the graded ring `⨁ k, ModularForm Γ k` of modular forms of level `Γ`, for any arithmetic subgroup `Γ` (`ModularForm.qExpansionAlgHom_injective`).
We also add various API lemmas to to `CongruenceSubgroups.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
maintainer-merge
|
257/20 |
Mathlib.lean,Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean,Mathlib/NumberTheory/ModularForms/Cusps.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean,Mathlib/NumberTheory/ModularForms/QExpansionInjective.lean |
5 |
18 |
['github-actions', 'loefflerd', 'mathlib-merge-conflicts', 'riccardobrasca'] |
loefflerd assignee:loefflerd |
0-6857 1 hour ago |
0-7392 2 hours ago |
10-23215 10 days |
0 |
| 45709 |
YaelDillies author:YaelDillies |
chore(Algebra/Order): make `Nonneg` a one-field structure |
The goal is to eventually make `NNRat` and `NNReal` `abbrev`s for `Nonneg Rat` and `Nonneg Real`, and deduplicate their API. This is currently not possible due to prohibitive slowdowns when making their definition in terms of `Subtype` visible to automation.
Generated by Claude Sonnet in many rounds of review by myself.
Assisted-by: Claude Sonnet 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]
-->
|
t-algebra
tech debt
t-order
large-import
LLM-generated
label:t-algebra$ |
650/254 |
Mathlib.lean,Mathlib/Algebra/Order/Nonneg/Basic.lean,Mathlib/Algebra/Order/Nonneg/Defs.lean,Mathlib/Algebra/Order/Nonneg/Field.lean,Mathlib/Algebra/Order/Nonneg/Floor.lean,Mathlib/Algebra/Order/Nonneg/Interval.lean,Mathlib/Algebra/Order/Nonneg/Lattice.lean,Mathlib/Algebra/Order/Nonneg/Order.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/CStarAlgebra/Hom.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/CStarAlgebra/Multiplier.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Complex/Norm.lean,Mathlib/Analysis/Complex/OperatorNorm.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Measure.lean,Mathlib/Analysis/ConstantSpeed.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/Analysis/Convex/SpecificFunctions/Pow.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/Matrix/Normed.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean,Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Group/Constructions.lean,Mathlib/Analysis/Normed/Group/Continuity.lean,Mathlib/Analysis/Normed/Group/Uniform.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Analysis/Normed/Operator/Mul.lean,Mathlib/Analysis/Normed/Operator/NNNorm.lean,Mathlib/Analysis/Normed/Operator/NormedSpace.lean,Mathlib/Analysis/Normed/Operator/Prod.lean,Mathlib/Analysis/Quaternion.lean,Mathlib/Basic/NNReal/Basic.lean,Mathlib/Basic/NNReal/Defs.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/Data/Rat/Cast/Lemmas.lean,Mathlib/Data/Rat/Init.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Basic.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Real.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Function/SpecialFunctions/Basic.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/SetToL1/L1.lean,Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/NumberTheory/Modular.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean,Mathlib/RingTheory/RootsOfUnity/Complex.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/Topology/Algebra/Field.lean,Mathlib/Topology/Algebra/Order/Module.lean,Mathlib/Topology/Algebra/Ring/Real.lean,Mathlib/Topology/Bornology/Real.lean,Mathlib/Topology/ContinuousMap/Bounded/Basic.lean,Mathlib/Topology/ContinuousMap/Bounded/Normed.lean,Mathlib/Topology/Instances/NNReal/Lemmas.lean,Mathlib/Topology/Instances/Rat.lean,Mathlib/Topology/MetricSpace/Basic.lean,Mathlib/Topology/MetricSpace/ProperSpace/Real.lean,Mathlib/Topology/MetricSpace/Pseudo/Constructions.lean,Mathlib/Topology/MetricSpace/Thickening.lean,Mathlib/Topology/Order/Nonneg.lean,Mathlib/Topology/UniformSpace/Real.lean |
70 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
0-5936 1 hour ago |
0-8649 2 hours ago |
0-36244 10 hours |
0 |
| 45129 |
user202729 author:user202729 |
doc(Tactic/Conv): add a header, minor fix |
Making the HTML page nicer to read. I checked that the documentation compiles and the links are clickable.
---
We may want to see if we want to add a `(name := )` to the ones with autogenerated names, or if the current state is fine.
For ease of reviewing, it would be nice if one of the CI build the changed documentation in some online page and link it from the pull request. SageMath have (had?) this. |
t-meta
new-contributor
documentation
maintainer-merge
|
32/8 |
Mathlib/Tactic/Conv.lean |
1 |
7 |
['github-actions', 'joneugster', 'user202729'] |
nobody |
0-1412 23 minutes ago |
5-71061 5 days ago |
11-68321 11 days |
0 |
| 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 `≠`. 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]
-->
|
t-order
t-meta
maintainer-merge
|
66/19 |
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/CompactSystem.lean,Mathlib/Topology/Compactness/Lindelof.lean,Mathlib/Topology/MetricSpace/Thickening.lean,Mathlib/Topology/Separation/Regular.lean,MathlibTest/Tactic/GRewrite.lean |
11 |
5 |
['github-actions', 'joneugster', 'leanprover-radar'] |
nobody |
0-1004 16 minutes ago |
9-65321 9 days ago |
37-42889 37 days |
1 |
| 44765 |
JovanGerb author:JovanGerb |
chore(Linter/Multigoal): remove some exclusions |
The multi goal linter has a list of excluded tactics, but it excludes too many tactics. This PR fixes this, and adapts mathlib to the stronger linter.
I also made it so that the linter excludes all atomic syntax, like `;` and `<;>`, so these now don't need to be excluded explicitly anymore.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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
maintainer-merge
|
123/148 |
Mathlib/Algebra/Category/ModuleCat/Subobject.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Kernels.lean,Mathlib/CategoryTheory/MorphismProperty/Descent.lean,Mathlib/Combinatorics/SetFamily/Shatter.lean,Mathlib/Data/Int/Lemmas.lean,Mathlib/Data/Nat/Choose/Basic.lean,Mathlib/Data/Nat/GCD/Basic.lean,Mathlib/Data/Vector/Basic.lean,Mathlib/FieldTheory/PurelyInseparable/Basic.lean,Mathlib/MeasureTheory/VectorMeasure/Decomposition/Hahn.lean,Mathlib/Order/Filter/ENNReal.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean,Mathlib/Tactic/Linter/Multigoal.lean,MathlibTest/Linter/Multigoal.lean |
15 |
19 |
['JovanGerb', 'github-actions', 'grunweg', 'joneugster', 'mathlib-merge-conflicts', 'mathlib-splicebot'] |
joneugster assignee:joneugster |
0-941 15 minutes ago |
0-941 14 minutes ago |
10-26745 10 days |
0 |
| 45357 |
JovanGerb author:JovanGerb |
chore(Util/Export): deprecate |
The file `Mathlib.Util.Export` defines an export format for Lean declarations. It is not documented, not tested, and seemingly not used. Nowadays, there is the alternative https://github.com/leanprover/lean4export. So, we deprecate 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]
-->
|
maintainer-merge
t-meta
|
5/0 |
Mathlib/Util/Export.lean |
1 |
3 |
['github-actions', 'j-loreaux', 'joneugster'] |
digama0 assignee:digama0 |
0-888 14 minutes ago |
9-75211 9 days ago |
9-75165 9 days |
0 |
| 45174 |
YaelDillies author:YaelDillies |
feat({Topology,MeasureTheory}): instances for `Additive`/`Multiplicative` |
This will help me deduce results about automatic continuity of `AddChar`s from the analogous ones for `AddMonoidHom`.
From MeanFourier
Generated by Claude Sonnet, reviewed line-by-line by myself.
Assisted-by: Claude Sonnet 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]
-->
|
t-topology
LLM-generated
t-measure-probability
maintainer-merge
|
45/0 |
Mathlib/MeasureTheory/Constructions/BorelSpace/Basic.lean,Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/MeasureTheory/MeasurableSpace/Embedding.lean,Mathlib/Topology/Bases.lean |
4 |
4 |
['EtienneC30', 'github-actions'] |
urkud assignee:urkud |
0-381 6 minutes ago |
14-72579 14 days ago |
14-72533 14 days |
1 |
| Number |
Author |
Title |
Description |
Labels |
+/- |
Modified files (first 100) |
📝 |
💬 |
All users who commented or reviewed |
Assignee(s) |
Updated |
Last status change |
total time in review |
blocks |
| 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 |
113-33346 3 months ago |
113-33867 113 days ago |
121-16782 121 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 |
84-85692 2 months ago |
85-3776 85 days ago |
85-3730 85 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 |
82-67158 2 months ago |
82-69853 82 days ago |
82-69927 82 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 |
81-3154 2 months ago |
87-6864 87 days ago |
90-25010 90 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 |
66-8993 2 months ago |
66-47453 66 days ago |
82-4442 82 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 |
65-78488 2 months ago |
72-2590 72 days ago |
72-2640 72 days |
4 |
| 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 |
56-73548 1 month ago |
56-76082 56 days ago |
56-76036 56 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 |
56-56705 1 month ago |
56-61162 56 days ago |
83-45678 83 days |
0 |
| 43702 |
theebayuser author:theebayuser |
feat(LinearAlgebra/AffineSpace): add Varignon's theorem |
Hello, this PR introduces Varignon's theorem.
Varignon's theorem states that the midpoints of the sides of a quadrilateral form a parallelogram. More precisely, `midpoint_midpoint_midpoint_rotate` states: the two diagonals of the midpoint quadrilateral have the same midpoint.
This PR was written with AI assistance (Claude Code)
|
t-algebra
new-contributor
LLM-generated
label:t-algebra$ |
22/2 |
Mathlib/LinearAlgebra/AffineSpace/Midpoint.lean,docs/1000.yaml |
2 |
7 |
['github-actions', 'theebayuser', 'wwylele'] |
nobody |
55-67122 1 month ago |
56-26794 56 days ago |
56-26748 56 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 |
46-62842 1 month ago |
137-71064 137 days ago |
274-74766 274 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 |
46-53585 1 month ago |
53-51555 53 days ago |
53-51865 53 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 |
46-35626 1 month ago |
103-23664 103 days ago |
127-6953 127 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 |
45-79938 1 month ago |
46-40557 46 days ago |
48-34647 48 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 |
44-36392 1 month ago |
44-37622 44 days ago |
44-37576 44 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 |
44-34707 1 month ago |
44-35966 44 days ago |
44-36217 44 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 |
42-35623 1 month ago |
77-71235 77 days ago |
77-71189 77 days |
3 |
| 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 |
41-16297 1 month ago |
41-17218 41 days ago |
41-17172 41 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 |
39-16707 1 month ago |
85-2562 85 days ago |
85-2516 85 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 |
37-50852 1 month ago |
37-60145 37 days ago |
37-67857 37 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 |
36-72964 1 month ago |
38-75865 38 days ago |
51-38634 51 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 |
34-62357 1 month ago |
34-63108 34 days ago |
34-63062 34 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 |
33-35625 1 month ago |
55-25110 55 days ago |
55-25064 55 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 |
31-21124 1 month ago |
34-44498 34 days ago |
34-44452 34 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 |
31-19810 1 month ago |
31-20067 31 days ago |
31-20021 31 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 |
29-65330 29 days ago |
35-71472 35 days ago |
35-71426 35 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 |
29-44553 29 days ago |
29-47684 29 days ago |
29-49853 29 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 |
28-70238 28 days ago |
44-76989 44 days ago |
46-25196 46 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 |
27-66296 27 days ago |
27-67023 27 days ago |
27-67072 27 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 |
27-65114 27 days ago |
27-65809 27 days ago |
39-38350 39 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 |
27-52016 27 days ago |
27-52619 27 days ago |
27-55196 27 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 |
27-51895 27 days ago |
27-52524 27 days ago |
27-55349 27 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 |
27-16848 27 days ago |
27-52370 27 days ago |
27-55325 27 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 |
26-20804 26 days ago |
26-24473 26 days ago |
26-24427 26 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 |
25-77689 25 days ago |
25-78257 25 days ago |
25-78605 25 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 |
25-41651 25 days ago |
25-44768 25 days ago |
25-44722 25 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 |
25-29511 25 days ago |
25-32168 25 days ago |
35-45456 35 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 |
25-15110 25 days ago |
25-15796 25 days ago |
26-28645 26 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 |
24-46013 24 days ago |
24-46013 24 days ago |
24-54323 24 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 |
22-61141 22 days ago |
23-64305 23 days ago |
23-64259 23 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 |
22-42176 22 days ago |
27-29376 27 days ago |
30-42605 30 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 |
21-35621 21 days ago |
109-83979 109 days ago |
109-84433 109 days |
1 |
| 42225 |
matt-w-horn author:matt-w-horn |
feat(Order): Knaster–Tarski fixed points on an interval |
`lfpIcc f a b` and `gfpIcc f a b`: least and greatest fixed points of `f` on `Set.Icc a b` in a conditionally complete lattice, for `f` monotone on the interval and mapping it into itself. Also interval membership, endpoint-iterate bounds, and monotonicity in `f`.
`OrderHom.lfp` gives this through the complete-lattice instance on the subtype, but wants a `Fact (a ≤ b)` and returns subtype elements. These take `MonotoneOn` and `MapsTo` directly and stay in `α`. Bridge lemmas between the two are a follow-up.
Used on intervals of ℝ in Overload, a sorry-free Lean library on retry and overload dynamics: https://github.com/matt-w-horn/overload/tree/main/Overload
Claude Fable wrote the Lean from a spec I gave it. I reviewed and tested it myself, including adversarial tests and the suites in the library above, and did the same for its dependencies.
Assisted-by: Claude Fable 5 |
t-order
new-contributor
LLM-generated
|
166/0 |
Mathlib.lean,Mathlib/Order/FixedPointsIcc.lean |
2 |
7 |
['github-actions', 'matt-w-horn', 'wwylele'] |
nobody |
21-8953 21 days ago |
95-35480 95 days ago |
95-35434 95 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 |
20-78360 20 days ago |
20-79962 20 days ago |
20-79916 20 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 |
20-67198 20 days ago |
21-86279 21 days ago |
21-86233 21 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 |
20-49128 20 days ago |
20-49895 20 days ago |
20-49849 20 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 |
20-36522 20 days ago |
105-34311 105 days ago |
105-34265 105 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 |
20-36520 20 days ago |
53-28758 53 days ago |
91-57069 91 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 |
19-48423 19 days ago |
19-48632 19 days ago |
55-7986 55 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 |
19-3492 19 days ago |
19-53924 19 days ago |
19-53878 19 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 |
18-35624 18 days ago |
39-40841 39 days ago |
52-51605 52 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 |
17-51182 17 days ago |
17-51876 17 days ago |
17-65388 17 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 |
17-22097 17 days ago |
41-68803 41 days ago |
82-13469 82 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 |
17-21101 17 days ago |
17-22718 17 days ago |
17-22672 17 days |
0 |
| 45076 |
vdelbarc author:vdelbarc |
feat(Algebra/Lie/SemiDirect): add natural ideal and subalgebra; add equivalences |
Define the left ideal and right subalgebra of a semidirect product of Lie
algebras. Give characterizations through natural inclusion/projection maps.
Co-authored by: Gustavo Infanti, Exequiel Rivas and Paul Schwahn
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
new-contributor
t-algebra
label:t-algebra$ |
88/0 |
Mathlib/Algebra/Lie/SemiDirect.lean |
1 |
2 |
['github-actions'] |
nobody |
17-2623 17 days ago |
17-2640 17 days ago |
17-3256 17 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 |
16-66674 16 days ago |
16-66904 16 days ago |
16-69330 16 days |
0 |
| 34138 |
pfaffelh author:pfaffelh |
feat(MeasureTheory): Introduce `DiscreteMeasure α` giving rise to a `Measure α` as a sum of `dirac`s |
Define `DiscreteMeasure α` as a structure with `weight : α → ℝ≥0∞`
Define `toMeasure (w : DiscreteMeasure α) : Measure α` as a sum of diracs
Show properties of the resulting objects
This PR intends to start a more userfriendly interaction with discrete probability (measure) theory, in contrast to probability mass functions (`PMF`). There are two main differences between `DiscreteMeasure` and `PMF`:
* Every `PMF` hast the additional property `HasSum 1`, making the resulting measure a probability measure. (For `DiscreteMeasure`, I intend to use the typeclass `IsProbabilityMeasure`in a later PR instead.)
* The `toMeasure` function of `MassFunction` defines the measure as a sum of diracs, which immediately makes computations possible.
Discussion thread on [zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/PMF.20Refactor.3A.20FunLike.20vs.20Definition.20Change)
- depends on: #37060
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
|
215/0 |
Mathlib.lean,Mathlib/Algebra/GroupWithZero/Indicator.lean,Mathlib/Data/Set/Pairwise/Basic.lean,Mathlib/MeasureTheory/Measure/DiscreteMeasure.lean |
4 |
27 |
['DavidLedvinka', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'metakunt', 'ocfnash', 'pfaffelh'] |
RemyDegenne assignee:RemyDegenne |
16-36528 16 days ago |
16-81482 16 days ago |
99-16921 99 days |
0 |
| 45112 |
ZRTMRH author:ZRTMRH |
feat(MeasureTheory/Integral): sharp error bound for Riemann sums of periodic BV functions |
Add a strict error bound for estimating `1`-periodic function using Riemann sum. This is the equally-spaced case of Koksma's inequality, with the sharp constant. The proof is elementary.
* `Function.Periodic.abs_sum_sub_integral_le_eVariationOn`
The bound is added as a new file `Mathlib/MeasureTheory/Integral/IntervalIntegral/PeriodicRiemannSum.lean`. Two supporting lemmas on the variation of a periodic function go into `Mathlib/Analysis/BoundedVariation.lean`.
* `Function.Periodic.eVariationOn_Icc_add_int`
* `Function.Periodic.eVariationOn_Icc_add_one`
Discussion on Zulip: [Riemann sums of periodic bounded-variation functions](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Riemann.20sums.20of.20periodic.20bounded-variation.20functions/with/624474372)
This PR was written with AI assistance (Claude for first draft, Codex for refinement). The code has been reviewed by the authors.
Co-authored-by: Xichen Tang xichen.tang@duke.edu
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-measure-probability
LLM-generated
new-contributor
|
194/0 |
Mathlib.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/PeriodicRiemannSum.lean |
3 |
3 |
['ZRTMRH', 'github-actions'] |
nobody |
16-27096 16 days ago |
16-27861 16 days ago |
16-27815 16 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 |
16-4743 16 days ago |
21-64422 21 days ago |
21-68137 21 days |
0 |
| 45111 |
will1491 author:will1491 |
feat(Topology/ContinuousMap): define normal families |
Define `IsNormalFamily` for families of continuous maps into `OnePoint Y` as compactness of their closure in the compact-open topology.
The one-point compactification is chosen for applications in complex dynamics. See the [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Geometry.20and.20complex.20dynamics.20formalization/with/615696635) for the definition and design discussion.
Co-authored-by: Lasse Rempe <lasse.rempe@manchester.ac.uk>
Co-authored-by: Filip Moruś <filip.morus@postgrad.manchester.ac.uk>
--- |
t-topology
new-contributor
|
30/0 |
Mathlib.lean,Mathlib/Topology/ContinuousMap/NormalFamily.lean |
2 |
3 |
['JX-Mo', 'github-actions'] |
nobody |
15-82573 15 days ago |
16-30872 16 days ago |
16-30826 16 days |
0 |
| 45135 |
rmcrkd author:rmcrkd |
feat(Analysis/Calculus/Deriv/Inverse): add HasDerivWithinAt.of_local_left_inverse |
Add lemma `HasDerivWithinAt.of_local_left_inverse`, following the existing pattern via `HasDerivWithinAt.hasFDerivWithinAt_equiv`.
Assisted by Claude (found the gap, helped with learning and examples, linting and building).
---
[#mathlib4 > HasDerivWithinAt.of_local_left_inverse](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/HasDerivWithinAt.2Eof_local_left_inverse/with/633245785) |
t-analysis
new-contributor
|
18/0 |
Mathlib/Analysis/Calculus/Deriv/Inverse.lean |
1 |
9 |
['github-actions', 'grunweg', 'rmcrkd'] |
nobody |
15-50504 15 days ago |
15-50504 15 days ago |
15-51493 15 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'] |
mattrobball assignee:mattrobball |
15-36515 15 days ago |
61-70920 61 days ago |
76-29016 76 days |
0 |
| 45176 |
marcelolynch author:marcelolynch |
ci: shake Archive and Counterexamples in the weekly shake job |
This PR adds `Archive` and `Counterexamples` to the weekly `lake shake` job. The job fetches their oleans with `lake exe cache get Archive.lean Counterexamples.lean` and builds them before it runs `lake shake`.
Five files get `shake: keep` annotations. `lake shake` does not see the uses inside `example` declarations or the `deriving Fintype` handler. Without the annotations, its edits break these files. With the annotations, the 76 shake edits to `Archive` and `Counterexamples` build.
A fork PR runs the workflow file from `master`, so this PR cannot test the workflow change in CI.
🤖
|
new-contributor |
10/10 |
.github/workflows/shake.yaml,Archive/Examples/Eisenstein.lean,Archive/Imo/Imo1988Q6.lean,Archive/Wiedijk100Theorems/Konigsberg.lean,Counterexamples/OrderedCancelAddCommMonoidWithBounds.lean,Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean |
6 |
2 |
['github-actions'] |
nobody |
14-68540 14 days ago |
14-68540 14 days ago |
14-68494 14 days |
0 |
| 45210 |
dongxuelian2 author:dongxuelian2 |
feat(LinearAlgebra/Matrix/Charpoly): finite determination of matrix power sequences |
Add finite-determination criteria for matrix sequences `C * A ^ k * B`, allowing the two square matrices to have different index types.
`Matrix.mul_pow_mul_eq_of_aeval_eq_zero` uses a common monic annihilating polynomial: agreement below its degree implies agreement at every natural exponent. `Matrix.mul_pow_mul_eq_of_lt_card_add` applies this to the product of the characteristic polynomials, giving the bound `Fintype.card ι + Fintype.card κ`.
The statements work over commutative rings and allow empty state index types. The proof reduces `X ^ k` modulo the common polynomial and uses `Polynomial.sum_modByMonic_coeff`, which handles degree zero without a separate dimension case split. This adds two theorems to the existing matrix-power reduction API without introducing imports or definitions.
The proof is adapted from [LeanForControl's finite-determination result](https://github.com/dongxuelian2/LeanForControl/blob/kalman-structural-completion/LeanForControl/LinearSystems/Realization/FiniteDetermination.lean).
---
### Validation
Checked locally with Lean v4.36.0-rc1 against mathlib master `3d14fd9a313ac35ed4b5c653ed5d99157c9e29f6`:
- `lake build Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff`
- `lake exe batteries/runLinter --no-build Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff`
- Direct invocation of the upstream text linters and module-name checks.
- Separate local examples for the requested field/`Fin` statement, either or both dimensions zero, degree-zero and degree-one common annihilators, and matching nonzero sequences in dimensions 1 and 2.
- `#print axioms` for both theorems reports only `propext`, `Classical.choice`, and `Quot.sound`.
- `git diff --check`.
The standalone `lint-style` launcher failed while loading Lake's workspace on Windows; its text linters passed when invoked directly. A clean full `lake shake` run was not obtained: the initial run needed uncached modules outside the targeted dependencies, and the forced run reported suggestions throughout the existing dependency closure. Imports are unchanged from upstream. No full-library build is claimed.
### AI use
OpenAI Codex was used to audit nearby APIs and possible duplicates, extract and generalize the LeanForControl proof, write the Lean code and local examples, run validation, and prepare this PR description.
|
t-algebra
LLM-generated
new-contributor
label:t-algebra$ |
44/0 |
Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean |
1 |
3 |
['dongxuelian2', 'github-actions'] |
nobody |
14-10976 14 days ago |
14-12139 14 days ago |
14-12093 14 days |
0 |
| 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 |
13-55094 13 days ago |
41-48794 41 days ago |
122-86228 122 days |
1 |
| 43643 |
Sanghyeok0 author:Sanghyeok0 |
refactor(Logic/Relation): move inclusion lemmas out of EqvGen |
This refactor was split out from #40368 following the review discussion there.
Following further review, I moved all lemmas from the `Relation.EqvGen` namespace to `Relation`, except for `is_equivalence`, `setoid`, and `mono`, which retain their original names.
The old names are preserved as deprecated aliases for backward compatibility. I also updated the reference in `Mathlib/Order/JordanHolder.lean` to use `Relation.eqvGen_le` instead of the deprecated name.
**Changes:**
* `Relation.EqvGen.eqvGen_le` → `Relation.eqvGen_le`
* `Relation.EqvGen.eqvGen_mono` → `Relation.eqvGen_mono`
* `Relation.EqvGen.reflGen_le_eqvGen` → `Relation.reflGen_le_eqvGen`
* `Relation.EqvGen.symmGen_le_eqvGen` → `Relation.symmGen_le_eqvGen`
* `Relation.EqvGen.transGen_le_eqvGen` → `Relation.transGen_le_eqvGen`
* `Relation.EqvGen.reflTransGen_le_eqvGen` → `Relation.reflTransGen_le_eqvGen`
* `Relation.EqvGen.eqvGen_reflGen` → `Relation.eqvGen_reflGen`
* `Relation.EqvGen.eqvGen_transGen` → `Relation.eqvGen_transGen`
* `Relation.EqvGen.eqvGen_symmGen` → `Relation.eqvGen_symmGen`
* `Relation.EqvGen.eqvGen_reflTransGen` → `Relation.eqvGen_reflTransGen`
* `Relation.EqvGen.eqvGen_eq_reflTransGen` → `Relation.eqvGen_eq_reflTransGen`
* `Relation.EqvGen.reflTransGen_symmGen` → `Relation.reflTransGen_symmGen`
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-logic
new-contributor
|
53/20 |
Mathlib/Algebra/RingQuot.lean,Mathlib/Data/PFunctor/Multivariate/M.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/Logic/Relation.lean,Mathlib/Order/JordanHolder.lean |
5 |
17 |
['Sanghyeok0', 'github-actions', 'j-loreaux', 'themathqueen'] |
nobody |
13-30356 13 days ago |
13-34035 13 days ago |
39-10640 39 days |
0 |
| 38223 |
Deicyde author:Deicyde |
feat(Geometry/Manifold): add `MfldCat`, the category of `C^n` manifolds |
Defines `MfldCat 𝕜 n`: the category of `C^n` manifolds over a field `𝕜`, in which the model with corners is allowed to vary between objects. An object bundles a model vector space `E`, a model space `H`, a model with corners `I : ModelWithCorners 𝕜 E H` and a term of `ModelWithCorners.MfldCat I n`--see #41109. This includes manifolds with boundary / corners.
For more discussion see this Zulip thread: [#PR reviews > #38223 The Category of C^n Manifolds](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2338223.20The.20Category.20of.20C.5En.20Manifolds/with/587038032)
Also added: `ContMDiffMap.id_apply`, `.coe_id` and `.coe_comp` which are comparable to `ContinuousMap` API.
### Future work
- ✅ Define a Monoidal structure via product manifolds, analogous to `Manifold.Topology.Category.TopCat.Monoidal` #38560
- ✅ Define the tangent functor: `M ↦ TM`, `F ↦ F.tangentMap` from `MfldCat (n+1) 𝕜` to `MfldCat n 𝕜` #38270
- Functor `FGModuleCat 𝕜 ⥤ MfldCat 𝕜 n` sending a finite-dimensional `𝕜`-vector space to the manifold modeled on itself. Left as `TODO`.
- Define `FGModuleCat 𝕜` as an enriched category over `MfldCat n 𝕜`. Then _smooth functors_ can be realized as endofunctors on the enriched category. This is the main motivation for this construction.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [x] depends on: #41109 [The category of `C^n` manifolds on a fixed model]
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
new-contributor
t-category-theory
|
210/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Category/MfldCat/Basic.lean,Mathlib/Geometry/Manifold/ContMDiffMap.lean |
3 |
63 |
['Deicyde', 'chrisflav', 'dagurtomas', 'github-actions', 'idontgetoutmuch', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'peabrainiac'] |
robin-carlier assignee:robin-carlier |
12-36528 12 days ago |
56-84022 56 days ago |
116-37815 116 days |
2 |
| 44810 |
zixiaowang17 author:zixiaowang17 |
feat(Combinatorics): add abstract graphical Markov properties |
Introduce the global, local, and pairwise Markov properties for undirected graphs, and prove
the forward implications global → local → pairwise under the semigraphoid axioms.
The implementation is a single module importing `Mathlib.Combinatorics.SimpleGraph.Walk.Basic`.
The current framework allows arbitrary vertex types, including infinite and uncountable types.
Reference: David Montague and Bala Rajaratnam, *Graphical Markov models for infinitely many
variables*, *Transactions of the American Mathematical Society* **370** (2018), no. 11,
7557–7603. [doi:10.1090/tran/7048](https://doi.org/10.1090/tran/7048).
---
I want to introduce “a graphical framework in which we can analyze the Markov properties
from a purely set theoretic perspective which is independent of probability theory,” as
described in [Section 4](https://arxiv.org/pdf/1501.07878#page=8).
Motivation: I was trying to provide a common foundation connecting graphical models in
statistics, random fields, and percolation on lattices. Along the way, I found that most of
the materials I read assumed finite vertex sets. However, I want to understand better what
drives the equivalence of the Markov properties, so that we can talk about theorems with
more flexibility. I then found this paper, which, in Section 4, takes a purely set-theoretic approach
to independence and graphical Markov properties, separately from its treatment of
measure-theoretic conditional independence in probabilistic models.
If this PR meets the requirements and is in the right direction, I plan to finish proving
the equivalence of the pairwise, local, and global Markov properties for ternary relations
under suitable intersection assumptions. In the long term, I plan to connect conditional
independence in probability with graphical models, including DAGs.
AI assistance: OpenAI Codex assisted with the Lean definitions and proofs. I checked every
line of the code. |
t-combinatorics
LLM-generated
new-contributor
|
231/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Markov.lean,docs/references.bib |
3 |
4 |
['github-actions', 'zixiaowang17'] |
nobody |
11-64895 11 days ago |
24-40345 24 days ago |
24-40299 24 days |
0 |
| 44978 |
ArtificialZeng author:ArtificialZeng |
feat(Analysis/Normed/Module): uniform bounds for compact injective families |
A continuous family of injective continuous linear maps, with finite-dimensional source over a complete nontrivially normed field, has a uniform positive lower bound on a compact parameter set. A second lemma gives a uniform operator-norm perturbation radius preserving injectivity; the perturbing family need not be continuous.
These estimates support compact-family derivative perturbation arguments. The proof uses `LinearMap.exists_antilipschitzWith` and `IsCompact.induction_on`, adds no imports, and does not require the target to be finite-dimensional or complete.
---
Local validation on base `4c71e7e7e5f99e938e520c4242aaf2522a594953`, Lean 4.36.0-rc1:
- `lake build Mathlib.Analysis.Normed.Module.FiniteDimension` passed after refreshing the base's dependency cache.
- Standard Mathlib source linters and examples covering a nonconstant compact family, empty sets, and a zero-dimensional source passed.
- A separate fresh compilation and axiom queries passed; both lemmas use only `propext`, `Classical.choice`, and `Quot.sound`.
- The same new proofs and a downstream derivative-estimate consumer also compiled against the pinned Lean 4.35.0 baseline.
AI disclosure: OpenAI Codex generated and adapted the proofs and performed automated source review and local checks. This draft is pending human review of the mathematics and API choices. Automated checks and AI review do not replace that review. Full upstream CI is still required. |
t-analysis
LLM-generated
new-contributor
|
57/0 |
Mathlib/Analysis/Normed/Module/FiniteDimension.lean |
1 |
3 |
['ArtificialZeng', 'github-actions'] |
nobody |
11-64679 11 days ago |
19-63570 19 days ago |
19-63524 19 days |
0 |
| 44798 |
3y3y3y-huaiji author:3y3y3y-huaiji |
style(Order/Heyting): rename inf_himp to inf_himp_self |
Rename `inf_himp` to `inf_himp_self` to align with its dual `sup_sdiff_self` and companion lemma `himp_inf_self`, resolving an in-code TODO. Add a deprecated alias `inf_himp`.
---
> [!NOTE]
> **LLM Disclosure / AI Use**: This PR was prepared with the assistance of an LLM (`LLM-generated`). All proofs and statements have been formally verified by Lean 4 and checked with linters.
|
t-order
LLM-generated
new-contributor
|
5/4 |
Mathlib/Order/Heyting/Basic.lean |
1 |
4 |
['3y3y3y-huaiji', 'github-actions', 'plp127', 'vihdzp'] |
nobody |
11-59516 11 days ago |
24-61394 24 days ago |
24-61348 24 days |
0 |
| 40368 |
Sanghyeok0 author:Sanghyeok0 |
feat: add confluence predicates for relations |
This PR adds a minimal relation-level API for confluence-style properties:
* `Relation.IsDiamond`
* `Relation.IsConfluent`
* `Relation.IsChurchRosser`
It also adds the basic API connecting these predicates:
* `Relation.ReflTransGen.to_eqvGen`
* `Relation.Join.le_eqvGen`
* `Relation.IsChurchRosser.isConfluent`
* `Relation.IsConfluent.isChurchRosser`
* `Relation.IsChurchRosser.join_reflTransGen_eq_eqvGen`
The main downstream application is the polynomial-reduction development in
#41475. There, polynomial reduction is treated as an ordinary relation on
`MvPolynomial`, and these predicates are used to formulate confluence and the
Church--Rosser property.
A more general rewriting API exists in CSLib. This PR does not attempt to
upstream that API wholesale; its scope is intentionally limited to the
declarations needed by the downstream polynomial application.
The earlier version of this PR also introduced
`Relation.StronglyConfluent` and additional equivalence packaging. Those
declarations have been removed to keep this PR small and application-driven.
Reference: Becker, Weispfenning, and Kredel,
*Gröbner Bases: A Computational Approach to Commutative Algebra*.
AI usage disclosure:
I used OpenAI Codex to generate initial drafts of the definitions, theorem statements, proof scripts, and docstrings. I made the final decisions on the mathematical scope and API design, reviewed the generated code and final changes, and made a few edits to statements and docstrings.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-logic
new-contributor
tech debt
LLM-generated
|
103/25 |
Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/Logic/Relation.lean |
2 |
38 |
['Hagb', 'Sanghyeok0', 'SnirBroshi', 'chenson2018', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
11-51979 11 days ago |
60-54009 60 days ago |
132-45237 132 days |
1 |
| 41053 |
hawkrobe author:hawkrobe |
refactor(RingTheory): bialgebra and Hopf algebra structures on RingCon quotients |
---
Since #40451, SymmetricAlgebra R M is (symRingCon R M).Quotient, which the ideal quotients of #39790 don't cover. This PR adds the congruence-level constructions, so SymmetricAlgebra's bialgebra and Hopf algebra structures can descend from TensorAlgebra as suggested in #39579, once #31898 lands.
- [x] depends on: #41052
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
154/41 |
Mathlib/RingTheory/Bialgebra/Quotient.lean,Mathlib/RingTheory/HopfAlgebra/Quotient.lean |
2 |
6 |
['github-actions', 'hawkrobe', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
11-46845 11 days ago |
18-46523 18 days ago |
18-51901 18 days |
0 |
| 40967 |
Formalistic03 author:Formalistic03 |
feat(Combinatorics/SimpleGraph/Paths): some lemmas about inducing walks |
Could also be done via `SimpleGraph.Walk.map_induce`, but I thought that doing it directly is not much worse.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
maintainer-merge
|
59/0 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Maps.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/Sym/Sym2.lean |
4 |
34 |
['Formalistic03', 'SnirBroshi', 'github-actions'] |
nobody |
11-35626 11 days ago |
32-54997 32 days ago |
125-68678 125 days |
0 |
| 45263 |
huntse author:huntse |
feat(Order/Filter/Cofinite): add `Filter.countable_sets_cofinite` |
My first attempt at a PR for mathlib so I apologize if I'm doing it wrong. I picked up a lemma in FLT that was marked
as TODO to upstream into mathlib (there it is Filter.cofinite.sets.countable in FLT/Mathlib/Order/Filter/Cofinite.lean)
and upstreamed it.
- I used a name which seemed more in keeping with mathlib convention but please lmk if I should rename it. Both
`countable_sets_cofinite` and `cofinite_sets_countable` seemed somewhat defensible.
- I changed it to a theorem since the neighbouring code seems to all be theorems.
- The actual lean proof is due to kbuzzard. I just copied it upstream and made the following tweaks:
- `(ι : Type*)` was not needed as that's mentioned higher in the file in a `variable` line
- I removed namespacing on Filter.cofinite as we're in that namespace here already
- I didn't use AI to generate this PR or description but since it's my first PR to mathlib and I'm a bit nervous I did
use AI to review the PR and give me suggestions. It suggested the name change and the removal of the redundant
namespacing and type info.
- FLT also has a Countable instance for ↥(cofinite).sets which I left there.
Co-authored-by: kbuzzard
|
t-order
FLT
new-contributor
|
5/0 |
Mathlib/Order/Filter/Cofinite.lean |
1 |
5 |
['github-actions', 'huntse', 'vihdzp'] |
nobody |
11-24920 11 days ago |
12-36625 12 days ago |
12-36579 12 days |
0 |
| 45136 |
raja-19 author:raja-19 |
chore(RingTheory/MvPolynomial/Homogeneous): add lemmas |
These lemmas are used in the proof that the Motzkin polynomial is not expressible as a polynomial sum of squares: #45138. |
t-ring-theory
new-contributor
|
52/0 |
Mathlib/RingTheory/MvPolynomial/Homogeneous.lean |
1 |
9 |
['github-actions', 'raja-19', 'vihdzp', 'wwylele'] |
nobody |
11-1394 11 days ago |
15-67961 15 days ago |
15-67915 15 days |
1 |
| 45137 |
raja-19 author:raja-19 |
chore(Algebra/Polynomial/BigOperators): add `natDegree_sum_pow_eq_of_even` |
This lemma is used in the proof that the Motzkin polynomial is not expressible as a polynomial sum of squares: #45138 . |
t-algebra
new-contributor
label:t-algebra$ |
125/0 |
Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/Order/WithBot.lean |
3 |
20 |
['SnirBroshi', 'github-actions', 'raja-19', 'wwylele'] |
nobody |
10-85779 10 days ago |
14-54697 14 days ago |
15-47307 15 days |
1 |
| 42775 |
hawkrobe author:hawkrobe |
feat(RingTheory/HopfAlgebra): construct Hopf algebras from primitive generators |
Upgrade a bialgebra generated by primitive elements to a Hopf algebra (`HopfAlgebra.ofPrimitives`), given an anti-algebra hom `S : A →ₐ[R] Aᵐᵒᵖ` negating each generator, and show that such an `S` is the antipode (`HopfAlgebra.eq_antipodeAlgHomOp_of_primitives`). Both build on `HopfAlgebra.ofAntipodeOfAdjoin` from #41828, which superseded the generators construction this PR originally carried.
Split out of #39841. Claude Code was used to prepare this revision. |
t-ring-theory
new-contributor
|
31/4 |
Mathlib/RingTheory/HopfAlgebra/Primitive.lean |
1 |
3 |
['github-actions'] |
alreadydone assignee:alreadydone |
10-63498 10 days ago |
10-64039 10 days ago |
81-32625 81 days |
1 |
| 41729 |
vaca22 author:vaca22 |
feat(RingTheory/DedekindDomain): add divisor group core |
Add the divisor group of a Dedekind domain as a formal-sum model, together with the additive equivalence to the multiplicative group of nonzero fractional ideals.
**Relation to what Mathlib already has.** As pointed out on Zulip, Mathlib already knows that fractional ideals factor: `FractionalIdeal.count` gives the exponent of a height-one prime, and `ClassGroup` is built from fractional ideals directly. This PR does not re-prove any of that — it reuses `count` and `finite_factors` verbatim. What it adds is the *additive* packaging:
* `IsDedekindDomain.Divisor R := HeightOneSpectrum R →₀ ℤ`, so a divisor is a finitely supported integer-valued function and one can write `D₁ + D₂`, `-D`, `D v`, and use the whole `Finsupp` API (`support`, `sum`, induction on the support);
* `FractionalIdeal.divisorEquiv`, an `AddEquiv` from `(FractionalIdeal R⁰ K)ˣ` to `Divisor R`, turning ideal multiplication into divisor addition.
The multiplicative view is the right one for the class group; the additive one is what divisor-theoretic arguments are written in, where one constantly forms `D - D'`, compares coefficients prime by prime, and does induction over `D.support`. Having both, related by a single `AddEquiv`, means neither side has to be re-derived.
**Downstream use.** This is the bottom layer of a formalization of Riemann–Roch for algebraic function fields (announced in `#AI authored projects > Riemann–Roch for function fields`): `L(D)`, `deg D`, and the statement `ℓ(D) = deg D + 1 - g + ℓ(W - D)` are all phrased in terms of additive divisors, and the degree map is defined by summing coefficients over `D.support`.
Happy to reshape the API — in particular whether `Divisor` should be an `abbrev` or a structure, and whether this belongs next to `Factorization` rather than in its own file.
AI usage: LLM-generated, disclosed per the AI policy.
|
t-ring-theory
new-contributor
LLM-generated
|
100/0 |
Mathlib.lean,Mathlib/RingTheory/DedekindDomain/Divisor.lean |
2 |
4 |
['github-actions', 'grunweg', 'vaca22'] |
alreadydone assignee:alreadydone |
10-36523 10 days ago |
112-46494 112 days ago |
114-43651 114 days |
0 |
| 42912 |
justin-palumbo author:justin-palumbo |
feat(Topology/GDelta): a completely metrizable subspace of a T6 space is Gδ |
Adds TopologicalSpace.IsCompletelyMetrizableSpace.isGδ: a completely metrizable subspace of a T6 space is Gδ
This is one direction of a foundational fact in descriptive set theory --- the Polish subspaces of a Polish space are exactly the Gδ subsets.
The proof here is modeled on the exposition in Anush Tserunyan's descriptive set theory notes https://www.math.mcgill.ca/atserunyan/Teaching_notes/dst_lectures.pdf, with one adjustment; to make the formalization easier and avoid having multiple distance metrics instantiated at the same time, instead of directly defining open `U_n` with `s = ⋂ n, U` define them such that `s = closure s ∩ ⋂ n, U n` and then appeal to the fact closed sets are Gδ in a perfectly normal space.
---
- [x] depends on: #42896 [which fixes buggy naming present in Topology/Metrizable/CompletelyMetrizable]
This can be viewed as a companion to #42693, which - under the stronger assumption of the ambient space being Polish - establishes the other direction --- a Gδ subspace of a Polish space is itself Polish.
Together, these give Alexandrov's theorem, characterizing the Polish subspaces of an ambient Polish space as exactly the Gδ ones, and (via `Metric.PiNatEmbed.exists_embedding_to_hilbert_cube`) Polish spaces as exactly the Gδ subsets of the Hilbert cube. If and when both these PRs are committed, I anticipate adding these consequences to Topology/MetricSpace/Polish.lean
LLM usage: I wrote the initial version myself, while using Google's free "AI mode" to help me find relevant lemma names in the codebase, and afterward used helped Claude Opus to review, which led to simplifying some of the arguments. I take full responsibility for the code here
|
t-topology
new-contributor
|
91/0 |
Mathlib.lean,Mathlib/Topology/GDelta/CompletelyMetrizable.lean |
2 |
8 |
['github-actions', 'justin-palumbo', 'mathlib-dependent-issues', 'plp127'] |
felixpernegger assignee:felixpernegger |
10-30160 10 days ago |
78-79709 78 days ago |
78-79960 78 days |
0 |
| 43216 |
JadAbouHawili author:JadAbouHawili |
feat(Combinatorics/SimpleGraph/Clique): independence number is zero iff the graph has no vertices |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
62/11 |
Mathlib/Combinatorics/SimpleGraph/Clique.lean |
1 |
66 |
['JadAbouHawili', 'SnirBroshi', 'github-actions', 'mathlib-merge-conflicts'] |
SnirBroshi assignee:SnirBroshi |
10-8641 10 days ago |
12-18008 12 days ago |
57-50727 57 days |
0 |
| 42494 |
JadAbouHawili author:JadAbouHawili |
feat(Combinatorics/SimpleGraph/Connectivity): add edge reachability and connectivity numbers |
Define edge reachability and connectivity numbers with some basic API
Partially solves #34961
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
81/2 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean,Mathlib/Order/CompleteLattice/Lemmas.lean |
2 |
169 |
['JadAbouHawili', 'SnirBroshi', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
SnirBroshi assignee:SnirBroshi |
10-8634 10 days ago |
12-20032 12 days ago |
62-36772 62 days |
0 |
| 44885 |
3y3y3y-huaiji author:3y3y3y-huaiji |
feat(Combinatorics/Quiver/Path): monotonicity of valuations and cycle obstruction |
Define monotonicity of vertex valuations along paths in a quiver and deduce that
strict valuations rule out non-trivial cycles. As a consequence, `Reachable` is a
partial order when such a valuation exists.
---
> [!NOTE]
> **LLM Disclosure / AI Use**: This PR was prepared with the assistance of an LLM
> (`LLM-generated`). All proofs and statements have been formally verified by Lean 4
> and checked with linters. |
t-combinatorics
LLM-generated
new-contributor
|
65/2 |
Mathlib/Combinatorics/Quiver/Path.lean |
1 |
5 |
['3y3y3y-huaiji', 'github-actions', 'leanprover-radar'] |
nobody |
10-6681 10 days ago |
11-22951 11 days ago |
11-22905 11 days |
0 |
| 41241 |
intgrah author:intgrah |
feat(Order/Category): cartesian closed and distributive structure on PartOrd and Preord |
Give `PartOrd` and `Preord` `CartesianMonoidalCategory`, `MonoidalClosed`, and `IsCartesianDistributive` instances.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
maintainer-merge
|
311/0 |
Mathlib.lean,Mathlib/Order/Category/PartOrd/CartesianClosed.lean,Mathlib/Order/Category/PartOrd/Colimits.lean,Mathlib/Order/Category/PartOrd/Reflective.lean,Mathlib/Order/Category/Preord/CartesianClosed.lean,Mathlib/Order/Category/Preord/Colimits.lean,Mathlib/Order/Category/Preord/Reflective.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean |
8 |
27 |
['Vierkantor', 'YaelDillies', 'github-actions', 'intgrah', 'thomaskwaring'] |
nobody |
9-68039 9 days ago |
10-73607 10 days ago |
123-63406 123 days |
0 |
| 42357 |
SynBurz author:SynBurz |
feat: the Krull dimension of the product of finitely many rings is equal to the maximum of Krull dimensions of the factors |
Add `ringKrullDim_pi_eq_iSup_ringKrullDim`. Also add useful defs: `LTSeries.sigmaEquiv`, `PrimeSpectrum.sigmaToPiOrderIso`, and lemmas `PrimeSpectrum.sigmaToPiOrderIso_apply`, Pi.not_comap_evalRingHom_le_comap_of_neq`, `LTSeries.sigma_fst_eq_fst`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
93/0 |
Mathlib/Order/RelSeries.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean |
3 |
7 |
['SynBurz', 'github-actions', 'mathlib-merge-conflicts', 'tb65536', 'wwylele'] |
nobody |
9-65893 9 days ago |
29-46162 29 days ago |
58-56931 58 days |
0 |
| 45343 |
thinkthoughts author:thinkthoughts |
feat(Data/Nat/Totient): totient of a pairwise coprime product |
My PR adds a theorem for Euler's totient function over a product of natural numbers, where any two distinct factors have a greatest common divisor of 1.
It also adds a theorem for products of distinct primes, where each prime contributes its value minus one. The prime-specific result follows from the more general totient-product theorem.
Both results provide reusable statements in Mathlib using existing properties of Euler's totient function.
---
**Validation:** The revised PR passed all 12 applicable Mathlib CI checks, including build and lint checks. Two additional checks were skipped. No new imports or axioms introduced.
**Research context:** This comes from my work on the General Divisor Theorem and Lean prime-gap formalization; specifically consdering Euler's totient function and products of distinct primes.
General Divisor Theorem: https://github.com/thinkthoughts/general-divisor-theorem
Lean prime-gap formalization: https://github.com/thinkthoughts/lean-bgp212
Related (my initial) mathematical work: https://translatepi.ai/main.pdf
**AI assistance:** I used Claude to develop the Lean proofs, prepare the patch, and perform local compilation and lint checks. I used ChatGPT to review the mathematical specification and help identify a reusable Mathlib contribution. ChatGPT and DeepSeek also assisted with reviewing the sustainably optimized proof, and explaining its mathematical structure.
I read Cantor's diagonal argument in 2003 and have since directed my own work, and reviewed the results; so I'm responsible for the submitted work. And thanks for your help!
|
t-data
new-contributor
LLM-generated
|
18/0 |
Mathlib/Data/Nat/Totient.lean |
1 |
6 |
['SnirBroshi', 'github-actions', 'thinkthoughts'] |
nobody |
9-57385 9 days ago |
9-57385 9 days ago |
9-80849 9 days |
0 |
| 43539 |
abhijitaj1997 author:abhijitaj1997 |
feat(CategoryTheory/Monoidal/Cartesian/Endomorphism): add ring and semiring structures |
Given two monoidal object in a nice enough category, this show that the monoidal morphisms between then forms an additive group. This additive group is part of a larger semiring structure.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-category-theory
|
133/0 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Endomorphism.lean |
2 |
41 |
['Multramate', 'abhijitaj1997', 'alreadydone', 'github-actions', 'joelriou', 'robin-carlier'] |
joelriou assignee:joelriou |
9-54351 9 days ago |
9-54351 9 days ago |
58-13498 58 days |
0 |
| 42189 |
cameronfreer author:cameronfreer |
feat(ModelTheory/Basic): add characterization of languages with countably many symbols |
Add the instance `Countable.countable_relations`, the counterpart of `Countable.countable_functions`, and relate `Countable L.Symbols` and `L.card ≤ ℵ₀` to the separate countability of function and relation symbols, which is how model-theoretic statements usually assume a countable language:
* `countable_symbols_iff : Countable L.Symbols ↔ Countable (Σ l, L.Functions l) ∧ Countable (Σ l, L.Relations l)`
* `card_le_aleph0_iff_countable : L.card ≤ ℵ₀ ↔ Countable (Σ l, L.Functions l) ∧ Countable (Σ l, L.Relations l)`
Also add a general instance `Countable.countable_sum` for `L.sum L'`, move the `constantsOn` instance from `Encoding.lean` to `LanguageMap.lean` as `Countable.countable_constantsOn`, and replace the `withConstants` instance in `Encoding.lean` with `Countable.countable_withConstants` in `LanguageMap.lean`, derived from the sum instance.
---
For example, [`Descriptive/Polish.lean#L46`](https://github.com/cameronfreer/infinitary-logic/blob/1a478e80794080a536931c029281bb65266b3171/InfinitaryLogic/Descriptive/Polish.lean#L46) in cameronfreer/infinitary-logic assumes only that the relation symbols are countable. Thanks to @NoneMore for suggesting the `Encoding.lean` cleanup.
🤖 These proofs were written with the assistance of Claude Opus 5 high and reviewed by GPT Sol 5.6 xhigh.
|
t-logic
new-contributor
LLM-generated
|
33/12 |
Mathlib/ModelTheory/Basic.lean,Mathlib/ModelTheory/Encoding.lean,Mathlib/ModelTheory/LanguageMap.lean |
3 |
5 |
['NoneMore', 'cameronfreer', 'github-actions'] |
nobody |
9-53627 9 days ago |
100-12206 100 days ago |
100-15368 100 days |
0 |
| 42758 |
cameronfreer author:cameronfreer |
feat(ModelTheory): add syntax and semantics for infinitary logic |
Add syntax and semantics for the infinitary logics L∞ω and Lω₁ω.
In `BoundedFormulaInf L ι α n`, the `iSup`/`iInf` constructors are indexed by a single type `ι`, which is used for every infinitary conjunction and disjunction in a formula. The specialization
```lean
abbrev BoundedFormulaω (α : Type u') (n : ℕ) := L.BoundedFormulaInf ℕ α n
```
lives in the same universe as the finitary `BoundedFormula`, as suggested by @plp127 in [#mathlib4 > ModelTheory: API for infinitary formulas of L_{∞,ω} @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/ModelTheory.3A.20API.20for.20infinitary.20formulas.20of.20L_.7B.E2.88.9E.2C.CF.89.7D/near/613390601).
Also add derived connectives with `alls`/`exs`, `Realize` with `simp` lemmas for each constructor and derived connective, and the embedding `BoundedFormula.toInf` with `realize_toInf`.
---
I developed this with extensive assistance from several Claude and GPT models along with [lean4-skills](https://github.com/cameronfreer/lean4-skills) and [lean-lsp-mcp](https://github.com/oOo0oOo/lean-lsp-mcp) as part of the ongoing project [cameronfreer/infinitary-logic](https://github.com/cameronfreer/infinitary-logic/).
|
t-logic
LLM-generated
new-contributor
|
446/0 |
Mathlib.lean,Mathlib/ModelTheory/Infinitary/Semantics.lean,Mathlib/ModelTheory/Infinitary/Syntax.lean,MathlibTest/InfinitarySyntax.lean |
4 |
4 |
['cameronfreer', 'github-actions'] |
nobody |
9-53617 9 days ago |
84-34697 84 days ago |
84-34651 84 days |
0 |
| 41882 |
theebayuser author:theebayuser |
feat(Data/List): decidability of HasPeriod and periods of repeated lists |
Hello, this PR extends `Mathlib/Data/List/PeriodicityLemma.lean` with:
* a `Decidable (List.HasPeriod w p)` instance (it is a prefix test), and
* two directions that relate periods to repetition:
* `hasPeriod_flatten_replicate` — `(replicate n l).flatten` has period `l.length`
* `eq_flatten_replicate_of_hasPeriod` — a word with period `p` and length `r * p` is the `r`-fold repetition of its length-`p` prefix.
This characterizes `r`-th powers of words by a period plus a length constraint, which a future follow-up PR that I plan to work on will use.
AI disclosure: This code was mostly generated by Claude Fable 5 and Opus 4.8 as part of my larger project on combinatorics on words, which I then reviewed and revised to contribute to mathlib.
|
t-data
LLM-generated
new-contributor
|
56/1 |
Mathlib/Data/List/PeriodicityLemma.lean |
1 |
8 |
['SnirBroshi', 'github-actions', 'theebayuser'] |
TwoFX assignee:TwoFX |
9-36507 9 days ago |
27-21524 27 days ago |
111-13230 111 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'] |
ADedecker assignee:ADedecker |
9-36496 9 days ago |
50-46903 50 days ago |
50-46857 50 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'] |
kim-em assignee:kim-em |
9-36493 9 days ago |
25-33407 25 days ago |
25-33361 25 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'] |
nobody |
9-35625 9 days ago |
39-21867 39 days ago |
39-21821 39 days |
0 |
| 42353 |
sankalpsthakur author:sankalpsthakur |
feat(RingTheory): add nilpotence lemmas for zero sums |
In a semiring, adds:
- `sq_eq_sq_of_add_eq_zero`: if `x + y = 0` then `x^2 = y^2`
- `IsNilpotent.of_add_eq_zero_left`: if `x + y = 0` and `y` is nilpotent, so is `x`
- `isNilpotent_iff_of_add_eq_zero`: under `x + y = 0`, `x` is nilpotent iff `y` is
Motivated by #10539.
---
### Validation
Built locally: `lake build Mathlib.RingTheory.Nilpotent.Basic` succeeds.
### AI/LLM disclosure
AI coding tools were used to help draft this change and PR description. I reviewed the complete change, understand the reasoning, and verified the build locally before submitting. |
t-ring-theory
new-contributor
LLM-generated
|
49/0 |
Mathlib/RingTheory/Nilpotent/Basic.lean |
1 |
29 |
['github-actions', 'sankalpsthakur', 'tb65536'] |
mattrobball assignee:mattrobball |
9-34428 9 days ago |
72-13611 72 days ago |
78-21353 78 days |
0 |
| 45404 |
davidiach author:davidiach |
feat(InformationTheory/KullbackLeibler): add restriction lemmas |
Restricting two finite measures to the same set decreases their KL divergence. This PR adds the integral identity that explains why, and the inequality that follows from it.
Neither lemma requires the set to be measurable. Both concern restrictions without normalization and build on the existing `klFun` API.
Verified against current mathlib on Lean 4.36.0-rc2, including builds, linters, and axiom checks.
AI assistance: Astra Pro identified the contribution; Codex extracted and refined the proofs, checked for duplicates, and ran verification.
|
t-measure-probability
LLM-generated
new-contributor
|
32/0 |
Mathlib/InformationTheory/KullbackLeibler/Basic.lean |
1 |
3 |
['davidiach', 'github-actions'] |
nobody |
9-7791 9 days ago |
9-8286 9 days ago |
9-8240 9 days |
0 |
| 45409 |
JackFeliks author:JackFeliks |
feat(Analysis/SpecificLimits): bound alternating series error from convergence |
Our change allows the same error bound to be used in more cases, for example when calculating π/4 using the Leibniz series. Existing uses continue to work.
---
I came up with this contribution while testing my own experimental stack of algorithms.
Codex prepared the code and tests, and Argon reviewed the proposal. |
t-analysis
LLM-generated
new-contributor
|
81/27 |
Mathlib/Analysis/Real/Pi/Leibniz.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,MathlibTest/AlternatingSeries.lean |
3 |
3 |
['JackFeliks', 'github-actions'] |
nobody |
8-81635 8 days ago |
8-85188 8 days ago |
8-85142 8 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]
-->
- [x] depends on: #45359 [additivization of dependencies] |
t-geometric-group-theory
new-contributor
LLM-generated
|
161/3 |
Mathlib.lean,Mathlib/Geometry/Group/CayleySimpleGraph.lean,Mathlib/Geometry/Group/README.md,Mathlib/Geometry/Group/WordMetric.lean |
4 |
16 |
['dkaysin', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'tb65536', 'vlad902'] |
ADedecker assignee:ADedecker |
8-57874 8 days ago |
8-58455 8 days ago |
21-83183 21 days |
0 |
| 45437 |
zblore author:zblore |
feat(Analysis/Normed/Module): projective space is Hausdorff and compact |
This shows `ℙ K V` is Hausdorff when continuous linear forms separate the points of `V`. Here `K` is Hausdorff with continuous multiplication and each unit of `K` acts continuously on `V`. It also shows `ℙ K V` is compact when `V` is a finite-dimensional topological vector space over a locally compact nontrivially normed field like ℝ, ℂ or the p-adics.
Hausdorff uses the open quotient map from #44117. Two nonzero vectors span the same line exactly when `f v * g w = f w * g v` for all continuous linear forms `f` and `g`. The same-line relation is an intersection of closed sets. Compactness goes through the compact shell in a proper normed space and then a basis.
It also adds an instance that continuous linear forms separate points in a finite-dimensional Hausdorff topological vector space over a complete nontrivially normed field. Mathlib's existing instances need ℝ or ℂ. With it `ℙ K V` is compact and Hausdorff for every finite-dimensional Hausdorff topological vector space `V` over a complete locally compact nontrivially normed field.
The Hausdorff part is adapted from the Tau Ceti project's [projective space file](https://github.com/TauCetiProject/TauCeti/blob/06c598245d42977f79bf09aafd3154dd215c23cd/TauCeti/Topology/Algebra/Projectivization.lean). The compactness proof and the separating dual instance are new.
This covers the compactness and Hausdorff instances for real projective space in #25999 but not its main result.
This is the next step towards the Fubini-Study metric and measure. I asked on Zulip whether this file is in the right place: https://leanprover.zulipchat.com/#narrow/id/634983707
---
I used Claude to draft the Lean against the existing Mathlib API. I used Codex and Claude to review it. I've reworked and checked every line myself and can explain all of it.
|
t-topology
t-analysis
LLM-generated
new-contributor
|
151/0 |
Mathlib.lean,Mathlib/Analysis/Normed/Module/Projectivization.lean |
2 |
3 |
['github-actions', 'zblore'] |
nobody |
8-53502 8 days ago |
8-53502 8 days ago |
8-53456 8 days |
0 |
| 45443 |
janbernloehr author:janbernloehr |
feat(Analysis/ODE): add variable-coefficient integral Grönwall |
Add `le_mul_exp_integral_of_le_const_add_integral`, the integral Grönwall inequality with a continuous nonnegative variable coefficient. If `f t ≤ c + ∫ s in a..t, β s * f s` on `[a, b]`, conclude `f t ≤ c * exp (∫ s in a..t, β s)`. Require continuity only on the interval, with no sign assumptions on `f` or `c`.
Use interval FTC and derivative monotonicity on the dominating primitive times its integrating factor. Put the theorem in a separate integral module so existing importers of differential Grönwall do not acquire FTC dependencies.
This lemma is used in the formalization of my dissertation for Volterra inverse bounds and stability estimates; one concrete use is the [Volterra inverse bound](https://github.com/janbernloehr/diss-lean/blob/2091dba5870425e38372f9e0a9106c4214a1dfbe/NLS/ZakharovShabat/ClassicalVolterraL2Bound.lean#L41). Keeping the coefficient's integral in the exponential matters when integral norms are controlled but pointwise bounds are not uniform. For another contribution arising from the same dissertation formalization, see [#45441](https://github.com/leanprover-community/mathlib4/pull/45441), on compact remainders under one-sided inverses.
---
## Related work
The same integral statement was previously proposed in [#37287](https://github.com/leanprover-community/mathlib4/pull/37287), which was withdrawn and not merged. The stronger variable-forcing proposal [#38829](https://github.com/leanprover-community/mathlib4/pull/38829) is also closed unmerged. Open [#39871](https://github.com/leanprover-community/mathlib4/pull/39871) concerns uniform Grönwall; its internal exponential comparison is a potential consumer of this lemma. No PR dependencies.
## Validation
Checked using Lean `v4.36.0-rc2`:
- Affected-module build and direct source check with warnings treated as errors.
- `mk_all --lib Mathlib --check` and `lint-style`.
- Default semantic linters and documentation linters.
- Axiom inspection: only `propext`, `Classical.choice`, `Quot.sound`.
- Clean merge simulation, diff/whitespace checks, and separate Volterra-use examples.
## AI assistance
OpenAI Codex was used to write the Lean implementation. The proof design was informed by downstream proofs and the earlier proposals linked above. |
t-analysis
LLM-generated
new-contributor
|
70/0 |
Mathlib.lean,Mathlib/Analysis/ODE/GronwallIntegral.lean |
2 |
2 |
['github-actions'] |
nobody |
8-44388 8 days ago |
8-45140 8 days ago |
8-45094 8 days |
0 |
| 45441 |
janbernloehr author:janbernloehr |
feat(Analysis/Normed/Operator/Compact): preserve compact remainders under one-sided inverses |
Add `IsCompactOperator.sub_id_of_rightInverse` and `IsCompactOperator.sub_id_of_leftInverse`: if `f - id` is compact and `g` is a continuous linear right or left inverse of `f`, then `g - id` is compact.
Work over an arbitrary ring and a module whose underlying additive group is a topological group. The proofs use compactness under composition and negation, through the identities `(f - id) ∘L g = id - g` and `g ∘L (f - id) = id - g`.
These lemmas are used in my thesis formalization to show that compact derivative remainders are preserved under inverse coordinate changes. They package an elementary consequence of compactness being preserved under composition with continuous linear maps and negation.
---
Local validation passed with Lean `v4.36.0-rc2`: the affected-module build, style lint, axiom checks, standalone usage examples, and `git diff --check`. There are no PR dependencies.
AI assistance: OpenAI Codex was used when writing the Lean proofs.
Related background: #35048 (the existing Fredholm alternative), #39274 (broader Fredholm infrastructure), and #43906 (a closed, unmerged compact-perturbation development).
|
t-analysis
new-contributor
LLM-generated
|
37/0 |
Mathlib/Analysis/Normed/Operator/Compact/Basic.lean |
1 |
2 |
['github-actions'] |
nobody |
8-43577 8 days ago |
8-46952 8 days ago |
8-46906 8 days |
0 |
| 45444 |
janbernloehr author:janbernloehr |
feat(Analysis): characterize weighted summability by geometric tails |
Add `ENNReal.tsum_rpow_mul_lt_top_iff_geometric_tails`: for $f:I\to[0,\infty]$, a size map $\nu:I\to\mathbb N$, a real base $b>1$, a positive integer cutoff $M$, and real $t>0$, set
$$
\begin{aligned}
S&:=\sum_i f_i,
& W_t&:=\sum_i(1+\nu(i))^t f_i,\\
T_k&:=\sum_{\nu(i)\ge b^kM}f_i,
& G_t&:=\sum_{k=0}^{\infty}b^{kt}T_k.
\end{aligned}
$$
Prove the quantitative ENNReal estimates
$$
W_t\le(1+bM)^t(S+G_t),
\qquad
G_t\le\frac{b^t}{b^t-1}\,W_t,
$$
and hence the equivalence
$$
W_t<\infty
\quad\Longleftrightarrow\quad
S<\infty\;\land\;G_t<\infty.
$$
The estimates allow infinite coefficients and divergent sums; the first also holds at order zero. Use nonnegative double-sum interchange and finite geometric-series estimates, then derive the real-valued summability criteria as corollaries. No monotonicity of the coefficients or finiteness of the size-map fibers is required.
This criterion is used in the formalisation of my dissertation, in a weighted-regularity argument.
---
Local validation passed with Lean `v4.36.0-rc2`: the affected-module build, style lint, 15 linters, axiom checks, standalone usage examples (including the nonintegral base $b=3/2$ and natural-base specialisations), and `git diff --check`. There are no PR dependencies.
AI assistance: OpenAI Codex was used to adapt and generalize the proofs for the ENNReal formulation.
|
t-analysis
new-contributor
LLM-generated
|
274/0 |
Mathlib.lean,Mathlib/Analysis/SummableGeometricTails.lean |
2 |
2 |
['github-actions'] |
nobody |
8-43572 8 days ago |
8-44620 8 days ago |
8-44574 8 days |
0 |
| 45445 |
janbernloehr author:janbernloehr |
feat(Analysis/Normed/Lp): detect PiLp norms by conjugate pairings |
Add norm-attaining conjugate test vectors for finite real or complex `PiLp` spaces, and deduce a criterion for bounding the norm from all conjugate-unit-ball pairings. Include the corresponding Hölder bound, both endpoint pairs `(1, ∞)` and `(∞, 1)`, and empty index types.
Use the bilinear pairing `∑ i, a i * b i`, with conjugation incorporated into the test vector, so the results support holomorphic interpolation. Reuse `NNReal.isGreatest_Lp` for finite exponents and handle the endpoints explicitly.
These lemmas are used in the formalization of my dissertation to recover ℓp norm bounds from finite test-pairing estimates in the discrete Hilbert-transform argument.
---
## Dependencies and merge order
No prerequisite PRs. Merge this before #45447, which is stacked on this change. The coordinate-restriction contribution is independent.
## Validation
Checked using Lean `v4.36.0-rc2`:
- Module build, style linter and declaration linters.
- Real/complex examples, p=2, both conjugate endpoint pairs and an empty index type.
- Generated import and diff/whitespace checks.
- Axiom inspection: only `propext`, `Classical.choice`, `Quot.sound`.
## AI assistance
OpenAI Codex has been used in the writing of the Lean implementation.
|
t-analysis
LLM-generated
new-contributor
|
167/0 |
Mathlib.lean,Mathlib/Analysis/Normed/Lp/PiLpDual.lean |
2 |
2 |
['github-actions'] |
nobody |
8-43567 8 days ago |
8-44281 8 days ago |
8-44235 8 days |
0 |
| 45447 |
janbernloehr author:janbernloehr |
feat(Analysis/Normed/Lp): interpolate finite matrix bounds |
Add `Matrix.norm_sum_mulVec_interpolate` and `Matrix.norm_mulVec_interpolate`, giving sharp interpolation of finite complex matrix bounds. If `A` has nonnegative bounds `B₀` from `ℓp₀` to `ℓq₀` and `B₁` from `ℓp₁` to `ℓq₁`, conclude for `0 ≤ t ≤ 1`
$$
\|Ax\|_s \le B_0^{1-t} B_1^t \|x\|_r,
\qquad
\frac1r = \frac{1-t}{p_0}+\frac{t}{p_1},\quad
\frac1s = \frac{1-t}{q_0}+\frac{t}{q_1}.
$$
Use entire power families and Hadamard's three-lines theorem for the bilinear estimate, then conjugate norm detection for the operator bound. Endpoint input exponents are positive and finite, with `1 ≤ r < ∞`; output exponents are strictly greater than one and may be infinite.
This result is used in the formalization of my dissertation to interpolate finite matrix estimates for the discrete Hilbert transform. The dimension-independent constant keeps the bounds uniform as finite truncations grow.
---
## Dependencies and merge order
Depends on #45445 **merge that PR first, then this one**.
## Validation
Checked using Lean `v4.36.0-rc2`:
- Module build, style linter and declaration linters.
- Interpolation from 2 and 4 to 8/3, and from `1 → ∞` and `2 → 2` to `4/3 → 4`.
- Zero bounds, t=0 and t=1, empty index types, generated import and diff/whitespace checks.
- Axiom inspection: only `propext`, `Classical.choice`, `Quot.sound`.
## AI assistance
OpenAI Codex has been used to write the Lean implementation based on my dissertation proofs. |
t-analysis
LLM-generated
new-contributor
|
472/0 |
Mathlib.lean,Mathlib/Analysis/Normed/Lp/PiLpDual.lean,Mathlib/Analysis/Normed/Lp/PiLpInterpolation.lean |
3 |
2 |
['github-actions'] |
nobody |
8-43561 8 days ago |
8-44096 8 days ago |
8-44050 8 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'] |
ocfnash assignee:ocfnash |
8-36528 8 days ago |
61-66678 61 days ago |
87-2148 87 days |
0 |
| 42142 |
philipp-svinger author:philipp-svinger |
feat(Analysis/ODE): peano existence theorem, Tonelli approximation 1 |
Add Tonelli approximation method for ODEs.
Implement the structure IsPeano similar to IsPicardLindelof. Construct a sequence of approximations using Tonelli technique.
First step towards Peano existence
Co-authored-by: Florian Grube <fgrube@math.uni-bielefeld.de>
Co-authored-by: Paul Niessner <pniessner@math.uni-bielefeld.de>
Co-authored-by: Julian Rolfes <jrolfes@math.uni-bielefeld.de>
Co-authored-by: Luke Schleef <lschleef@math.uni-bielefeld.de>
Co-authored-by: Philipp Svinger <psvinger@math.uni-bielefeld.de>
---
We want to add the proof of the Peano existence theorem for ODEs, using Tonelli approximations.
This will be a series of PRs working towards this goal. In this first PR, we
implement the structure IsPeano similar to IsPicardLindelof and construct a sequence of approximations using Tonelli technique. See our further PRs for more information, last: #42148
---
The statements, definitions and proofs were written without AI.
AI was used afterwards to help us to adapt our code to the style and naming conventions.
We also used it in the process of writing a documentation.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
|
207/0 |
Mathlib.lean,Mathlib/Analysis/ODE/Peano.lean |
2 |
24 |
['github-actions', 'mcdoll', 'philipp-svinger', 'sgouezel'] |
urkud assignee:urkud |
8-36524 8 days ago |
41-54959 41 days ago |
98-17950 98 days |
5 |
| 41466 |
EzequielS2 author:EzequielS2 |
feat(Algebra/Order): stronger sublist product inequality via diff |
## Summary
Add `Sublist.prod_le_prod'_of_mem_diff` and `Sublist.sum_le_sum_of_mem_diff`.
## Test plan
- [x] `lake build` and `lake exe runLinter` on `Mathlib.Algebra.Order.BigOperators.Group.List`
|
t-algebra
new-contributor
label:t-algebra$ |
12/4 |
Mathlib/Algebra/Order/BigOperators/Group/List.lean |
1 |
8 |
['EzequielS2', 'github-actions', 'mathlib-merge-conflicts', 'themathqueen', 'wwylele'] |
nobody |
8-27203 8 days ago |
8-28107 8 days ago |
49-45024 49 days |
0 |
| 41449 |
EzequielS2 author:EzequielS2 |
feat(Topology/ContinuousMap): domMulAct action on C(X, Y) |
## Summary
- Define the action of `Mᵈᵐᵃ` on `C(α, β)` when `M` acts continuously on `α`.
- Add `SMul`, `MulAction`, `SMulCommClass`, and `ContinuousSMul` instances.
- Closes #5379.
## Test plan
- [x] `lake build Mathlib.Topology.ContinuousMap.DomAct`
- [x] `lake exe runLinter Mathlib.Topology.ContinuousMap.DomAct`
|
t-topology
new-contributor
|
105/0 |
Mathlib.lean,Mathlib/Topology/ContinuousMap/DomAct.lean |
2 |
7 |
['EzequielS2', 'github-actions', 'j-loreaux'] |
nobody |
8-24997 8 days ago |
8-25805 8 days ago |
29-56943 29 days |
1 |
| 45483 |
chenle02 author:chenle02 |
feat(MeasureTheory/Function/ConvergenceInDistribution): the Billingsley approximation theorem |
## Statement
`tendstoInDistribution_of_approx` (Billingsley, *Convergence of Probability Measures*, 2nd ed.,
Theorem 3.2). Let `E` be a separable pseudometric space with its Borel σ-algebra, `l` a countably
generated filter on `ι` and `l'` a nontrivial filter on `κ`. Let `U i, X k i : Ω i → E` (on the
probability spaces `(Ω i, μ i)`), `Y k : Ωκ k → E` (on `(Ωκ k, ν k)`) and `Z : Ω' → E`. If
* `X k i` converges in distribution to `Y k` along `l`, for each `k`,
* `Y k` converges in distribution to `Z` along `l'`,
* `U i` is a.e.-measurable for each `i`, and
* for every `δ > 0`, `limsup_{i → l} μ i {ω | δ ≤ dist (U i ω) (X k i ω)}` tends to `0` along `l'`,
then `U i` converges in distribution to `Z` along `l`.
```lean
theorem tendstoInDistribution_of_approx {κ : Type*} {Ωκ : κ → Type*}
{mκ : ∀ k, MeasurableSpace (Ωκ k)} {ν : (k : κ) → Measure (Ωκ k)}
[∀ k, IsProbabilityMeasure (ν k)] {l' : Filter κ} [l'.NeBot] [l.IsCountablyGenerated]
{X : κ → (i : ι) → Ω i → E} {Y : (k : κ) → Ωκ k → E} {U : (i : ι) → Ω i → E}
(hX : ∀ k, TendstoInDistribution (X k) l (Y k) μ (ν k))
(hY : TendstoInDistribution Y l' Z ν μ') (hU : ∀ i, AEMeasurable (U i) (μ i))
(h_approx : ∀ δ > 0, Tendsto
(fun k ↦ limsup (fun i ↦ μ i {ω | δ ≤ dist (U i ω) (X k i ω)}) l) l' (𝓝 0)) :
TendstoInDistribution U l Z μ μ'
```
Two auxiliary results are added:
* `tendstoInDistribution_iff_forall_lipschitz_integral_tendsto`: the `TendstoInDistribution`
version of `tendsto_iff_forall_lipschitz_integral_tendsto` (bounded Lipschitz test functions),
analogous to the existing `tendstoInDistribution_iff_forall_integral_rclike_tendsto`.
* `abs_integral_sub_integral_le_of_lipschitzWith`: for `F` `L`-Lipschitz with oscillation at most
`M`, `|∫ F ∘ A ∂μ - ∫ F ∘ B ∂μ| ≤ L * δ + M * μ.real {δ ≤ dist A B}` (`δ ≥ 0`). This estimate
was previously inlined in the proof of `tendstoInDistribution_of_tendstoInMeasure_sub`; that
proof now calls the lemma (about 45 lines removed there), with no change to its statement.
## Proof idea
Test against a bounded `L`-Lipschitz `F` (oscillation `≤ M`). For any `k`, `δ`,
`|E F(U i) - E F(Z)| ≤ L δ + M P(δ ≤ dist (U i) (X k i)) + |E F(X k i) - E F(Y k)| + |E F(Y k) - E F(Z)|`.
Given `η > 0`, choose `δ` with `L δ < η/4`, then (using `l'.NeBot`) a single `k` for which the
last term is `< η/4` and `limsup_i P(δ ≤ dist (U i) (X k i)) < ε` with `M ε ≤ η/4`; for this `k`,
eventually in `i` the probability is `< ε` and the third term is `< η/4`.
## Relation to existing results
* Slutsky-type lemma `tendstoInDistribution_of_tendstoInMeasure_sub` is the special case
`X k = X`, `Y k = Z` (one prelimit space). The new theorem is more general in three ways: the
prelimit spaces `Ω i` may depend on `i` (matching the definition of `TendstoInDistribution`), the
approximating limits `Y k` live on their own spaces `Ωκ k`, and `E` only needs to be a separable
pseudometric space rather than a seminormed group. The statement and proof of the Slutsky lemma
are left as they are apart from extracting the comparison estimate; if reviewers prefer, it
could instead be derived from the new theorem (with `κ = Unit`, `l' = ⊤`).
* #37279 (multivariate CLT) also edits this file: it adds `:= by fun_prop` to
`forall_aemeasurable`, switches the `tendsto` field to `Measure.toProbabilityMeasure`, adds
`TendstoInDistribution.const_const`, removes some `set_option`s and adapts the proofs of
`congr`, `continuous_comp` and `tendstoInDistribution_of_ae_tendsto`. It contains nothing like the
approximation theorem. Its hunks are all above `TendstoInMeasure.tendstoInDistribution`, while
this PR inserts below it and edits the body of `tendstoInDistribution_of_tendstoInMeasure_sub`.
`git apply --check` of the #37279 hunks for this file on top of this branch succeeds (offset
only). The new proofs reach the `ProbabilityMeasure` coercion only through `simpa` and the
existing `tendstoInDistribution_iff_forall_integral_rclike_tendsto`, so they should not depend
on the representation that #37279 changes; this has not been compiled against #37279.
## Reference
P. Billingsley, *Convergence of Probability Measures*, 2nd ed., Wiley, 1999, Theorem 3.2.
AI tools (Claude and Codex) were used to port and adapt this proof to Mathlib; the author reviewed it.
|
t-measure-probability
new-contributor
LLM-generated
|
152/49 |
Mathlib/MeasureTheory/Function/ConvergenceInDistribution.lean |
1 |
4 |
['github-actions', 'lua-vr'] |
nobody |
7-42566 7 days ago |
7-46276 7 days ago |
7-46230 7 days |
0 |
| 45482 |
chenle02 author:chenle02 |
feat(Analysis/Distribution/SchwartzSpace): the Schwartz space on a finite-dimensional space is separable |
## What is proved
In `Mathlib/Analysis/Distribution/SchwartzSpace/Separable.lean`:
```lean
instance SchwartzMap.instSecondCountableTopology
{E F : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F]
[NormedSpace ℝ F] [FiniteDimensional ℝ E] [SecondCountableTopology F] :
SecondCountableTopology 𝓢(E, F)
```
so `SeparableSpace 𝓢(E, F)` is found by instance search, for example for
`𝓢(EuclideanSpace ℝ (Fin d), ℂ)`, and in particular for `𝓢(ℝ, ℝ)`.
There are two supporting instances, both stated in general form:
```lean
-- Mathlib/Topology/Compactification/OnePoint/Basic.lean
instance OnePoint.instSecondCountableTopology [WeaklyLocallyCompactSpace X] [R1Space X]
[SecondCountableTopology X] : SecondCountableTopology (OnePoint X)
-- Mathlib/Analysis/Distribution/SchwartzSpace/Separable.lean
instance ContinuousMultilinearMap.instSecondCountableTopologyFin [FiniteDimensional 𝕜 E]
[SecondCountableTopology F] (n : ℕ) : SecondCountableTopology (E [×n]→L[𝕜] F)
```
## Proof idea
* For `f : 𝓢(E, F)`, the function `x ↦ ‖x‖ ^ k • iteratedFDeriv ℝ n f x` tends to `0` along
`cocompact E`, because it is bounded by `‖x‖⁻¹ * seminorm (k + 1) n f`. It therefore extends
by `0` to a continuous function on `OnePoint E`, and the sup norm of that extension is exactly
`SchwartzMap.seminorm ℝ k n f`.
* The resulting map `𝓢(E, F) →L[ℝ] Π (k, n), C(OnePoint E, E [×n]→L[ℝ] F)` is inducing,
because each Schwartz seminorm is the norm of one coordinate.
* Its target is second countable. `OnePoint E` is compact and second countable (new instance),
`E [×n]→L[ℝ] F` is second countable (new instance, proved by induction via currying from the
existing `E →L[𝕜] F` instance), and `ContinuousMap.instSecondCountableTopology` gives the rest.
## History of this PR
The first version of this PR proved only the case `E = ℝ`, by bounding each Schwartz seminorm
by the `L¹` norm of a derivative (`norm_le_integral_norm_deriv`, `derivCLM_pow_apply`). The
general argument above covers `E = ℝ`, so that `L¹` proof and its two auxiliary lemmas have
been removed. The file now depends only on `SchwartzSpace.Basic`, not on `SchwartzSpace.Deriv`
and the integration library.
## Follow-ups
* `ContinuousMultilinearMap.instSecondCountableTopologyFin` could be moved next to the
`E →L[𝕜] F` instance in `Mathlib/Analysis/Normed/Module/FiniteDimension.lean`, possibly in a
more general form (a `Fintype` index with finite-dimensional factors). It sits in this file for
now so that the PR does not trigger a rebuild of most of the analysis library.
* Consequences that need separability, for example for tempered distributions.
AI tools (Claude and Codex) were used to port and adapt this proof to Mathlib; the author reviewed it.
|
t-analysis
new-contributor
LLM-generated
|
177/0 |
Mathlib.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Separable.lean,Mathlib/Topology/Compactification/OnePoint/Basic.lean |
3 |
3 |
['github-actions', 'lua-vr'] |
nobody |
7-42472 7 days ago |
7-49660 7 days ago |
7-49614 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
t-data
|
102/0 |
Archive.lean,Archive/VectorLogic.lean |
2 |
3 |
['github-actions', 'yudukikun5120'] |
nobody |
7-36985 7 days ago |
21-72774 21 days ago |
21-72728 21 days |
0 |
| 45470 |
benpigchu author:benpigchu |
feat(Data): theorem about `List.splitBy` of `List.append` when `getLast` of the first list and `head` of the second list are related |
This PR add a theorem describing the behaviour of `List.splitBy` of `List.append` when the `ha` assumption in `List.splitBy_append` does not hold.
---
This theorem came from https://github.com/dwrensha/compfiles/blob/1745e6ced3e671bd74417548494b034eb2c87da8/Compfiles/Imo2022P1.lean#L148
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-data
new-contributor
|
59/0 |
Mathlib/Data/List/SplitBy.lean |
1 |
2 |
['github-actions'] |
nobody |
7-29358 7 days ago |
7-70538 7 days ago |
7-70492 7 days |
0 |
| 45497 |
chenle02 author:chenle02 |
feat(MeasureTheory): tightness in separable Hilbert spaces |
This PR adds a tightness criterion for measures on a Hilbert space, stated with a Hilbert basis. It also adds the "tight + unique cluster point ⇒ convergence" step that usually follows Prokhorov's theorem.
**(A) Tightness in a Hilbert space.** New file `Mathlib/MeasureTheory/Measure/TightHilbert.lean`. Here `b : HilbertBasis ι ℝ E` and `S : Set (Measure E)`.
* `HilbertBasis.isCompact_closedBall_inter_iInter`: if `ε m → 0`, then
`closedBall 0 r ∩ ⋂ m, {x | ‖x - ∑ i ∈ s m, ⟪b i, x⟫ • b i‖ ≤ ε m}` is compact.
* `HilbertBasis.isTightMeasureSet_of_tendsto_measure`: `S` is tight if both of these hold:
- the norms are bounded in probability uniformly over `S`:
`Tendsto (fun r ↦ ⨆ μ ∈ S, μ {x | r < ‖x‖}) atTop (𝓝 0)`;
- for every `ε > 0`,
`Tendsto (fun s : Finset ι ↦ ⨆ μ ∈ S, μ {x | ε < ‖x - ∑ i ∈ s, ⟪b i, x⟫ • b i‖}) atTop (𝓝 0)`.
This needs no measurability assumption.
* `HilbertBasis.isTightMeasureSet_of_lintegral`: the second-moment version. It assumes
`⨆ μ ∈ S, ∫⁻ x, ‖x‖ₑ ^ 2 ∂μ ≠ ∞` and that the tails `⨆ μ ∈ S, ∫⁻ x, ‖x - ∑ i ∈ s, ⟪b i, x⟫ • b i‖ₑ ^ 2 ∂μ` tend to `0`.
* `HilbertBasis.isTightMeasureSet_of_lintegral_inner_sq_le`: for `[Countable ι]`, assume `∫⁻ x, ‖⟪b i, x⟫‖ₑ ^ 2 ∂μ ≤ c i` for all `μ ∈ S` and all `i`, with `∑' i, c i ≠ ∞`. Then `S` is tight.
* Supporting lemmas:
- `HilbertBasis.hasSum_inner_sq` (Parseval);
- `HilbertBasis.hasSum_indicator_inner_sq` and `HilbertBasis.tsum_indicator_enorm_inner_sq` (the tail outside `s` is `‖x - ∑ i ∈ s, ⟪b i, x⟫ • b i‖ ^ 2`);
- `HilbertBasis.completeSpace`;
- `HilbertBasis.countable` and `Orthonormal.countable` (in a separable space).
**(B) Tight + unique cluster point ⇒ convergence.**
* In `Prokhorov.lean`, for `E` T2 with its Borel σ-algebra:
- `ProbabilityMeasure.tendsto_of_isTightMeasureSet_of_forall_mapClusterPt`: if `{μ i | i}` is tight and every cluster point of `μ` along `l` equals `ν`, then `Tendsto μ l (𝓝 ν)`;
- `ProbabilityMeasure.exists_tendsto_of_isTightMeasureSet`: if `l` is `NeBot`, the family is tight and any two cluster points are equal, then the family converges.
* In `LevyConvergence.lean`:
- `TendstoInDistribution.of_isTightMeasureSet_of_forall_mapClusterPt`;
- `ProbabilityMeasure.tendsto_of_isTightMeasureSet_of_tendsto_charFunDual` (separable Banach space): a tight family whose `charFunDual` converge pointwise to that of `ν₀` converges to `ν₀`. This is the infinite-dimensional form of Lévy's theorem, where tightness has to be assumed;
- `ProbabilityMeasure.tendsto_of_isTightMeasureSet_of_tendsto_charFun` (complete separable inner product space; the same statement with `charFun`);
- `TendstoInDistribution.of_isTightMeasureSet_of_tendsto_charFunDual`.
**Proof idea.**
* (A): Fix `ε`.
- Pick `r` with `μ {r < ‖x‖} ≤ ε / 2` for all `μ ∈ S`.
- For each `m`, pick `s m` with `μ {1/(m+1) < dist(x, span (b '' s m))} ≤ δ m`, where `∑ δ m < ε / 2`.
- The resulting set `K` is closed. It is totally bounded: its points are within `δ / 2` of a bounded subset of a finite-dimensional subspace. Since `E` is complete, `K` is compact, and the union bound gives `μ Kᶜ ≤ ε`.
- The moment versions follow by Markov's inequality, Parseval and `lintegral_tsum`.
* (B): By Prokhorov (`isCompact_closure_of_isTightMeasureSet`), the closure of the family is compact. `IsCompact.tendsto_nhds_of_unique_mapClusterPt` then gives convergence. For the characteristic-functional corollaries, a cluster point has the limiting `charFunDual`, because `P ↦ ∫ probCharDual L ∂P` is continuous. `Measure.ext_of_charFunDual` then identifies the cluster point.
**Relation to existing Mathlib and open PRs.**
* `TightNormed.lean` treats proper and finite-dimensional spaces: tightness from norms, or from inner products against an orthonormal basis. In infinite dimensions closed balls are not compact, so those criteria do not apply; (A) is the infinite-dimensional analogue. I put it in a new file to keep `TightNormed.lean` (and its importers) free of the `l2Space` import.
* `ProbabilityMeasure.tendsto_of_tight_of_separatesPoints` (`LevyConvergence.lean`) is close to (B) but uses a separating subalgebra and a Polish space. (B) is the purely topological step: it needs only T2 and a Borel σ-algebra, works along any filter, and takes the cluster-point identification as a hypothesis.
* #45375 (refactor of the proof of Prokhorov's theorem) only changes the interior of `Prokhorov.lean`, up to the end of the `Forward` section. It contains neither (A) nor (B). The new lemmas here are appended after the `Backward` section, plus one docstring bullet. `git merge-tree` against the PR head reports a clean merge.
* #37279 (multivariate CLT) changes `TendstoInDistribution` to use `Measure.toProbabilityMeasure` and edits one line of `LevyConvergence.lean`. It contains neither (A) nor (B). The additions here are at the end of `LevyConvergence.lean` and already state the cluster-point hypothesis with `toProbabilityMeasure`; `git merge-tree` reports a clean merge.
* A search of open PRs found nothing else with a Hilbert-space tightness criterion or a "tight + unique cluster point" lemma.
**References.**
* Yu. V. Prokhorov, *Convergence of random processes and limit theorems in probability theory*, Theory Probab. Appl. 1 (1956).
* K. R. Parthasarathy, *Probability measures on metric spaces*, Academic Press (1967), Chapter VI (Probability measures in a Hilbert space).
* V. I. Bogachev, *Measure theory, Vol. II*, Springer (2007): Definition 8.6.1 (uniform tightness, p. 202); Theorem 8.6.2 (Prokhorov's theorem, p. 202); Example 8.6.5(i) (tightness from a uniform moment bound, p. 205); Theorem 8.6.7 (a uniformly bounded, uniformly tight family has compact closure in the weak topology, p. 206). This is the `[bogachev2007]` key cited in `TightHilbert.lean`.
AI tools (Claude and Codex) were used to port and adapt this proof to Mathlib; the author reviewed it.
|
t-measure-probability
new-contributor
LLM-generated
|
375/0 |
Mathlib.lean,Mathlib/MeasureTheory/Measure/LevyConvergence.lean,Mathlib/MeasureTheory/Measure/Prokhorov.lean,Mathlib/MeasureTheory/Measure/TightHilbert.lean |
4 |
2 |
['github-actions'] |
nobody |
6-81115 6 days ago |
7-42608 7 days ago |
7-42562 7 days |
0 |
| 45494 |
chenle02 author:chenle02 |
feat(MeasureTheory): the cylinder σ-algebra on the weak dual |
This PR adds `Mathlib/MeasureTheory/Constructions/WeakDual.lean`, which defines the cylinder σ-algebra on `WeakDual 𝕜 E` (the σ-algebra generated by the evaluations `T ↦ T x`) and proves that a finite measure for it is determined by its finite-dimensional marginals.
## Statements
The setting is the general one of `WeakDual`: `𝕜` a commutative topological semiring with `[MeasurableSpace 𝕜]`, and `E` a topological `𝕜`-module.
* `WeakDual.cylinderMeasurableSpace 𝕜 E : MeasurableSpace (WeakDual 𝕜 E)`, defined as `MeasurableSpace.comap (fun T x ↦ T x) MeasurableSpace.pi`. This mirrors the definition of the weak-* topology as an induced topology.
* `cylinderMeasurableSpace_eq_iSup`: it equals `⨆ x, MeasurableSpace.comap (fun T ↦ T x) ‹_›`.
* `measurable_cylinder_iff`: a map `f : α → WeakDual 𝕜 E` is measurable iff `fun a ↦ f a x` is measurable for every `x`. Also `measurable_eval_cylinder` and `measurable_coeFn_cylinder`.
* `cylinderMeasurableSpace_le_borel` (needs `[BorelSpace 𝕜]`): it is contained in `borel (WeakDual 𝕜 E)`. `cylinderMeasurableSpace_le` gives the same for any `OpensMeasurableSpace` structure.
* `ext_of_forall_finset_map_eq`: two measures `μ ν`, with `μ` finite, are equal if `μ.map (fun T (x : I) ↦ T x) = ν.map (fun T (x : I) ↦ T x)` for every `I : Finset E`.
* `map_eq_iff_forall_finset_map_eq`: two a.e.-measurable random elements `X : Ω → WeakDual 𝕜 E` and `Y : Ω' → WeakDual 𝕜 E` (under a finite `P` and `P'`) have the same law iff they have the same finite-dimensional laws. This is the analogue of `ProbabilityTheory.map_eq_iff_forall_finset_map_restrict_eq` for processes.
* `cylinderMeasurableSpace_eq_comap_of_denseRange` (needs `[FrechetUrysohnSpace E] [PseudoMetrizableSpace 𝕜] [BorelSpace 𝕜]`): for any `d : ι → E` with `DenseRange d`, the σ-algebra is `comap (fun T i ↦ T (d i)) pi`.
* `ext_of_forall_finset_map_eq_of_denseRange`: under the same hypotheses, it is enough to compare finite-dimensional marginals along `d`.
* `countablyGenerated_cylinderMeasurableSpace`: if in addition `E` is separable and `𝕜` is countably generated, then the cylinder σ-algebra is countably generated.
## Design: a `def`, not an instance
The measurable structure of a topological type in Mathlib is normally its Borel σ-algebra, and lemmas such as `Continuous.measurable` rely on `OpensMeasurableSpace`. On `WeakDual 𝕜 E` the cylinder σ-algebra is contained in the Borel σ-algebra, but the two are different in general. Equality needs extra hypotheses, for instance E separable Fréchet/nuclear, and that is not proved here. A global instance would therefore close off the Borel choice for every user of `WeakDual`. So the σ-algebra is a `def` marked `@[instance_reducible]`, in the same way as `borel` and `cylinderEvents`, and users enable it with `attribute [local instance] WeakDual.cylinderMeasurableSpace`.
This adds no global instance and creates no diamond. `WeakDual` is a non-reducible `def`, so the norm-Borel instance `ContinuousLinearMap.instMeasurableSpace` on `E →L[𝕜] F` (for normed `E`) does not apply to it. I checked that `MeasurableSpace (WeakDual ℝ ℝ)` still fails to synthesize after importing that file. A downstream project that wants an instance can set `instance : MeasurableSpace (WeakDual 𝕜 E) := WeakDual.cylinderMeasurableSpace 𝕜 E` on its own type synonym. Projects that do this all get the same σ-algebra.
## Proof idea
The coercion `F : T ↦ (x ↦ T x)` generates the σ-algebra by definition. Hence `μ.map F` and `ν.map F` are both projective limits of the same family of finite-dimensional laws, and `IsProjectiveLimit.unique` makes them equal. Every measurable set has the form `F ⁻¹' t`, so `μ = ν` follows. For the dense-range version, `T x` is the limit of `T (d (j n))` along a sequence (Fréchet–Urysohn, and each `T` is continuous), so `measurable_of_tendsto_metrizable` shows that the evaluations along `d` already generate the σ-algebra.
## Prior art
* Two projects outside Mathlib already define this σ-algebra, each as a global instance:
* mrdouglasny/gaussian-field defines `instMeasurableSpaceConfiguration` on `Configuration E := WeakDual ℝ E` as `comap (fun ω f ↦ ω f) pi`. It proves `configuration_measurable_of_eval_measurable` and, for Gaussian measures, `pushforward_eq_of_eval_eq`.
* mrdouglasny/bochner (`Minlos/NuclearSpace.lean`) defines an instance on `WeakDual ℝ E` as `⨆ f, (borel ℝ).comap (· f)`.
These two definitions are not defeq, so importing both projects fails to synthesize instances; gaussian-field's notes record this. A shared definition in Mathlib avoids that diamond. No code was taken from either project.
* Mathlib has `cylinderEvents` and `measurableCylinders` on product types, and `ProbabilityTheory.map_eq_iff_forall_finset_map_restrict_eq` for processes. Neither covers `WeakDual`, and Mathlib has no `MeasurableSpace` on `WeakDual`, `WeakBilin` or `WeakSpace`.
* Open PRs: a search for WeakDual measurable, cylinder, Minlos, nuclear, "random distribution" and "measure on dual" found no overlapping PR. #42278 (nuclear spaces) touches no measurable structure on duals, but it would be a natural input to a later Minlos theorem. #44909 (Kolmogorov extension) covers existence on product spaces, so it complements the uniqueness result here.
* Zulip could only be searched through the public web archive, which showed no prior thread.
## Follow-ups
* The Bochner–Minlos theorem on duals of nuclear spaces, stated for this σ-algebra.
* Borel = cylinder on `WeakDual 𝕜 E` under suitable separability hypotheses (e.g. separable Fréchet `E`). This would allow a `BorelSpace` statement for the cylinder σ-algebra.
* Tempered distributions: once the `SeparableSpace 𝓢(ℝ, ℝ)` instance (#45482) lands, `countablyGenerated_cylinderMeasurableSpace` and `ext_of_forall_finset_map_eq_of_denseRange` apply directly to `WeakDual ℝ 𝓢(ℝ, ℝ)`. `SchwartzMap` is already first-countable on master.
AI tools (Claude and Codex) were used to port and adapt this proof to Mathlib; the author reviewed it.
|
t-measure-probability
new-contributor
LLM-generated
|
245/0 |
Mathlib.lean,Mathlib/MeasureTheory/Constructions/WeakDual.lean |
2 |
2 |
['github-actions'] |
nobody |
6-81094 6 days ago |
7-44691 7 days ago |
7-44645 7 days |
0 |
| 45487 |
chenle02 author:chenle02 |
feat(Probability/Distributions/Poisson): higher moments of the Poisson distribution |
This PR adds a new file `Mathlib/Probability/Distributions/Poisson/Moments.lean` with the
moments of the Poisson distribution `poissonMeasure r`, `r : ℝ≥0`.
Main statements (namespace `ProbabilityTheory`):
* `hasSum_mul_descFactorial_poissonMeasure` and `integral_descFactorial_poissonMeasure`:
the factorial moments, `∫ n, (n.descFactorial k : ℝ) ∂Po(r) = r ^ k`.
* `integrable_exp_mul_map_cast_poissonMeasure`, `integrableExpSet_id_map_cast_poissonMeasure`:
`x ↦ exp (t * x)` is integrable for every `t`, so `integrableExpSet id Po(ℝ, r) = univ`.
* `memLp_id_map_cast_poissonMeasure (p : ℝ≥0) : MemLp id p Po(ℝ, r)` and
`integrable_pow_map_cast_poissonMeasure : Integrable (fun x ↦ x ^ k) Po(ℝ, r)`.
* `hasSum_mul_pow_poissonMeasure` and `integral_pow_map_cast_poissonMeasure`: the raw moments are
the Touchard polynomials, `∫ x, x ^ k ∂Po(ℝ, r) = ∑ j ∈ range (k + 1), S(k, j) * r ^ j` with
`S(k, j) = Nat.stirlingSecond k j`.
* `integral_id_map_cast_poissonMeasure : ∫ x, x ∂Po(ℝ, r) = r`
* `integral_pow_two_map_cast_poissonMeasure : ∫ x, x ^ 2 ∂Po(ℝ, r) = r ^ 2 + r`
* `integral_pow_three_map_cast_poissonMeasure : ∫ x, x ^ 3 ∂Po(ℝ, r) = r ^ 3 + 3 * r ^ 2 + r`
* `integral_pow_four_map_cast_poissonMeasure :
∫ x, x ^ 4 ∂Po(ℝ, r) = r ^ 4 + 6 * r ^ 3 + 7 * r ^ 2 + r`
* `variance_id_map_cast_poissonMeasure : Var[id; Po(ℝ, r)] = r`
* `centralMoment_three_map_cast_poissonMeasure : centralMoment id 3 Po(ℝ, r) = r`
* `centralMoment_four_map_cast_poissonMeasure : centralMoment id 4 Po(ℝ, r) = 3 * r ^ 2 + r`
Proof idea: the factorial moment sum is reindexed by `n ↦ n + k` (the first `k` terms vanish)
and becomes `r ^ k` times the total mass of `Po(r)`. Writing `n ^ k` in terms of falling factorials
with `Nat.pow_eq_sum_stirlingSecond_mul_descFactorial` gives the general raw moment; the moments
of order 1 to 4 are its special cases. The central moments follow by expanding `(x - r) ^ j` into
raw moments, adding the corresponding `HasSum` statements and `ring`. Integrability comes from finiteness
of the moment generating function via `memLp_of_mem_interior_integrableExpSet`.
---
Relation to #33688: that PR adds `HasSum`/`tsum` expectation lemmas for the old `poissonPMF` /
`poissonPMFReal` API in `Mathlib/Probability/Distributions/Poisson.lean`. Those declarations
and that file are no longer on master (the distribution is now `poissonMeasure` in
`Poisson/Basic.lean`), and #33688 is labelled `merge-conflict` / `awaiting-author`. This PR
states the mean at the level of `poissonMeasure` in the same style as `integral_id_binomial`
and `integral_id_gaussianReal`; it does not depend on #33688 and touches different files.
AI tools (Claude and Codex) were used to port and adapt this proof to Mathlib; the author reviewed it.
|
t-measure-probability
new-contributor
LLM-generated
|
187/0 |
Mathlib.lean,Mathlib/Probability/Distributions/Poisson/Moments.lean |
2 |
2 |
['github-actions'] |
nobody |
6-81086 6 days ago |
7-45696 7 days ago |
7-45650 7 days |
0 |
| 44613 |
keithadler author:keithadler |
feat(RepresentationTheory): irreducible representations are bounded by conjugacy classes |
For a finite group `G` and an algebraically closed field `k` in which `|G|` is invertible, `Representation.char_orthonormal` gives orthogonality of irreducible characters. This PR adds the consequence that is used in practice:
* `Representation.classFunction ρ : ConjClasses G → k`, the character as a class function;
* `Representation.linearIndependent_classFunction`: the class functions of a family of pairwise non-isomorphic irreducible representations are linearly independent;
* `Representation.card_le_card_conjClasses`: such a family has at most `Nat.card (ConjClasses G)` members.
This is the upper-bound half of "the number of irreducible representations equals the number of conjugacy classes" (the other half, that characters span the class functions, is not yet in Mathlib). The bound is exactly what is needed to show that an explicit list of `Nat.card (ConjClasses G)` pairwise non-isomorphic irreducibles is complete; e.g. with the companion PR on conjugacy classes of `Perm α`, that the Specht modules exhaust the irreducible representations of `S_n` (used downstream in https://github.com/keithadler/saxl-lean).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---
|
t-algebra
new-contributor
LLM-generated
label:t-algebra$ |
118/0 |
Mathlib.lean,Mathlib/RepresentationTheory/CharacterCount.lean |
2 |
3 |
['artie2000', 'github-actions'] |
nobody |
6-63264 6 days ago |
29-54941 29 days ago |
29-54895 29 days |
0 |
| 45420 |
PSchwahn author:PSchwahn |
feat(Algebra): define sets of finite products in a magma |
This PR adds a file `Algebra/Products.lean` containing declarations about products of tuples of elements in a magma, together with some basic API. We plan to expand on this later. Ultimately we plan to use these to prove results about [Leibniz algebras](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Leibniz.20algebras/with/598438796).
We note that `Fin.prod` (from `Batteries.Data.Fin.Basic`) provides a similar functionality as our declaration `OrderedLeftProduct`. However `Fin.prod` requires a multiplicative unit on the magma and it associates the products to the right, whereas `OrderedLeftProduct` is associated to the left and works for any magma. This will become important because we work with non-associative operations and in the future would like to align with the literature (e.g. on Leibniz algebras).
Co-authored by: Viviana del Barco, Gustavo Infanti, Artem Lopatin, Exequiel Rivas
---
|
t-algebra
new-contributor
label:t-algebra$ |
162/0 |
Mathlib.lean,Mathlib/Algebra/Products.lean |
2 |
2 |
['github-actions'] |
nobody |
6-53764 6 days ago |
8-56877 8 days ago |
8-57427 8 days |
0 |
| 45514 |
PSchwahn author:PSchwahn |
feat(Logic/Equiv/Fin/Basic): extension/deletion operations on permutations on `Fin n` |
Add basic operations on permutations on `Fin n`:
- `Fin.Perm.castSucc`: extend a permutation on `Fin n` to one on `Fin (n + 1)` in the obvious way.
- `Fin.Perm.removeNth`: removes a given position in a permutation on `Fin (n + 1)`, and collapses the domain and range to `Fin n`. Useful in conjunction with `Fin.succAbove`.
Along this, add some API theorems:
- `removeNth_of_castSucc_lt₁`, `removeNth_of_castSucc_lt₂`, `removeNth_of_le_castSucc₁` and `removeNth_of_le_castSucc₂` are analogous to [Fin.succAbove_of_castSucc_lt](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Fin/SuccPred.html#Fin.succAbove_of_castSucc_lt) resp. [Fin.succAbove_of_le_castSucc](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Fin/SuccPred.html#Fin.succAbove_of_le_castSucc).
- `succAbove_removeNth` shows how `Fin.Perm.removeNth` interacts with [Fin.succAbove](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Fin/SuccPred.html#Fin.succAbove).
- `castSucc_zero` and `castSucc_succ` are simp lemmas for `Fin.Perm.castSucc`.
--- |
new-contributor
t-logic
|
130/0 |
Mathlib/Logic/Equiv/Fin/Basic.lean |
1 |
3 |
['github-actions'] |
nobody |
6-47753 6 days ago |
6-50487 6 days ago |
6-50441 6 days |
0 |
| 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'] |
riccardobrasca assignee:riccardobrasca |
6-36525 6 days ago |
21-32491 21 days ago |
85-15935 85 days |
0 |
| 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'] |
eric-wieser assignee:eric-wieser |
6-36522 6 days ago |
83-32388 83 days ago |
83-34976 83 days |
0 |
| 43104 |
elazarg author:elazarg |
feat(InformationTheory/KullbackLeibler): finite Kullback-Leibler divergence |
Add finite-sum formulas for `InformationTheory.klDiv` on finite measurable spaces, including equal-mass and probability-measure specializations and formulas for sums of weighted Dirac measures. Provide both `ℝ≥0∞`-valued and `toReal` versions.
Supporting API includes a formula for the Radon–Nikodym derivative at points of nonzero reference-measure mass, a finite-sum formula for the integral of the log-likelihood ratio, and singleton-mass and absolute-continuity lemmas for sums of weighted Dirac measures.
---
Continuing #42584, another part of https://github.com/elazarg/kraft.
Following review, this uses the existing `klDiv` instead of introducing `klDivFin`. The `toReal` formulas connect it to real-valued sums in downstream code.
For measures of unequal mass, the formulas retain the correction term `ν.real univ - μ.real univ`.
The KL formulas are in `KullbackLeibler/Basic.lean`; the supporting lemmas are in the corresponding measure-theory modules.
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
LLM-generated
|
100/1 |
Mathlib/InformationTheory/KullbackLeibler/Basic.lean,Mathlib/MeasureTheory/Measure/Decomposition/RadonNikodym.lean,Mathlib/MeasureTheory/Measure/Dirac/Basic.lean,Mathlib/MeasureTheory/Measure/LogLikelihoodRatio.lean |
4 |
9 |
['EtienneC30', 'elazarg', 'github-actions', 'vlad902'] |
urkud assignee:urkud |
6-36521 6 days ago |
53-55910 53 days ago |
62-37542 62 days |
0 |
| 44955 |
user202729 author:user202729 |
chore: change all occurrences of equational lemma to equation lemma |
Change all occurrences of "equational lemma" to "equation lemma". Also add a missing apostrophe.
---
As far as I can tell, both are grammatical: the "equation" in "equation lemma" is a noun adjunct, while "equational" is an adjective. It feels like noun adjunct is "more advanced English" though.
Before this pull request: ("equation lemma" is more popular than "equational lemma")
```
[mathlib4]$ rg 'equational lemma'|wc -l
10
[mathlib4]$ rg 'equation lemma'|wc -l
31
[mathlib4]$ rg 'equational theorem'|wc -l
6
[mathlib4]$ rg 'equation theorem'|wc -l
2
```
and in Lean: (same, but only slightly)
```
[lean4]$ rg 'equational lemma'|wc -l
16
[lean4]$ rg 'equation lemma'|wc -l
20
[lean4]$ rg 'equational theorem'|wc -l
85
[lean4]$ rg 'equation theorem'|wc -l
38
```
Not sure if it's worth unifying the theorem case (probably yes. But in this case, apparently "equational theorem" is more popular than "equation theorem".), and/or unify lemma and theorem (probably not, mathlib distinguishes lemmas and theorems).
|
new-contributor |
10/10 |
Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/MappingCone.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Sites/CoversTop/Basic.lean,Mathlib/CategoryTheory/Sites/Hypercover/One.lean,Mathlib/Data/Nat/Fib/Zeckendorf.lean,Mathlib/Tactic/Eqns.lean,Mathlib/Tactic/Translate/ToAdditive.lean,docs/Conv/Guide.lean |
9 |
4 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
6-986 6 days ago |
6-4349 6 days ago |
15-52497 15 days |
0 |
| 41426 |
gmcninch-prof author:gmcninch-prof |
feat: add symmetric multilinear maps |
Define `SymmetricMap R M N ι`, the type of symmetric `R`-multilinear maps
from `ι → M` to `N` (i.e. multilinear maps invariant under permutation of
their arguments).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
The code is adapted from Kenny Lau's work
[here](https://github.com/kckennylau/EllipticCurve/blob/master/EllipticCurve/ProjectiveSpace/TensorProduct/SymmetricMap.lean)
-- see [`SymmetricMap`](https://github.com/gmcninch-prof/mathlib4/blob/symmetric-power-lift/Mathlib/LinearAlgebra/TensorProduct/SymmetricMap.lean).
This PR previously also contained the universal property / `lift` for
`SymmetricPower` (relating linear maps out of `Sym[R]^n M` to symmetric
multilinear maps), but per reviewer feedback on Zulip that work has been
split into a separate PR that depends on this one.
Zulip discussion [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/SymmetricPower.20universal.20property/near/608532652)
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
397/0 |
Mathlib.lean,Mathlib/LinearAlgebra/TensorProduct/SymmetricMap.lean |
2 |
10 |
['github-actions', 'gmcninch-prof', 'jcommelin'] |
riccardobrasca assignee:riccardobrasca |
5-36528 5 days ago |
116-54373 116 days ago |
118-22629 118 days |
1 |
| 44822 |
William7743 author:William7743 |
feat(Geometry/Euclidean/Inversion): affine limits and filter identities |
Adds filter-level limit and continuity lemmas for `EuclideanGeometry.inversion` in
`Geometry/Euclidean/Inversion/Basic.lean`:
* `not_continuousAt_inversion_center_of_neBot` — nonzero-radius inversion is
discontinuous at a non-isolated center (`[NeBot (𝓝[≠] c)]`).
* `continuousAt_inversion_iff` — inversion is continuous at `x` iff `x ≠ c ∨ R = 0`.
* `tendsto_inversion_cobounded_nhds_center` /
`tendsto_inversion_cobounded_nhdsNE_center` — as the argument tends to infinity,
inversion tends to the center, resp. its punctured neighborhood for nonzero radius.
* `map_inversion_cobounded` / `map_inversion_nhdsNE_center` — for nonzero radius,
inversion pushes the cobounded filter exactly to `𝓝[≠] c` and back, via its
involutivity.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-euclidean-geometry
LLM-generated
new-contributor
|
53/0 |
Mathlib/Geometry/Euclidean/Inversion/Basic.lean |
1 |
6 |
['SnirBroshi', 'William7743', 'github-actions'] |
jsm28 assignee:jsm28 |
5-36524 5 days ago |
6-19167 6 days ago |
6-21786 6 days |
0 |
| 42630 |
will1491 author:will1491 |
feat(Analysis/Complex): define Wirtinger derivatives |
Define the Wirtinger derivatives `Complex.wirtingerDeriv` and `Complex.wirtingerDerivBar` from `fderiv ℝ`, and prove: the Cauchy-Riemann characterization of complex differentiability (pointwise and on open sets), agreement of `wirtingerDeriv` with `deriv` for holomorphic functions, additivity, Leibniz product rules, conjugation identities, both Wirtinger chain rules, and the Wirtinger decomposition of a real-linear map `ℂ →L[ℝ] ℂ`.
Extracted from https://github.com/will1491/RiemannDynamics, where it underlies the Beltrami-equation and Cauchy/Beurling-transform theory used in the proof of the measurable Riemann mapping theorem.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
|
253/0 |
Mathlib.lean,Mathlib/Analysis/Complex/Wirtinger.lean |
2 |
6 |
['Maldooor', 'github-actions', 'mathlib-merge-conflicts', 'will1491'] |
felixpernegger assignee:felixpernegger |
5-15459 5 days ago |
56-50611 56 days ago |
87-26206 87 days |
0 |
| 44632 |
skwh54 author:skwh54 |
feat(RingTheory): prove semiprimary rings are closed under opposites |
This PR proves that a ring is semiprimary if and only if its opposite ring is semiprimary, resolving the three proof_wanted declarations in Wanted/RingTheory/SimpleModule/WedderburnArtin.lean.
It adds the required Jacobson radical symmetry and quotient-ring equivalence, and includes the Artinian/Noetherian consequence as an example in MathlibTest.
The Jacobson radical symmetry proof is adapted from [Haruhisa Enomoto's Lean 3 formalization](https://github.com/haruhisa-enomoto/lean-noncommutative-ring/blob/master/src/nc_jacobson_ideal.lean).
This PR was created with assistance from Codex. |
file-removed
t-ring-theory
new-contributor
LLM-generated
|
174/21 |
Mathlib.lean,Mathlib/Algebra/Ring/Units.lean,Mathlib/RingTheory/Jacobson/Opposite.lean,Mathlib/RingTheory/SimpleModule/WedderburnArtin.lean,MathlibTest/JacobsonOpposite.lean,Wanted.lean,Wanted/RingTheory/SimpleModule/WedderburnArtin.lean |
7 |
6 |
['github-actions', 'skwh54', 'tb65536'] |
nobody |
5-6811 5 days ago |
17-27807 17 days ago |
25-26087 25 days |
0 |
| 43280 |
idontgetoutmuch author:idontgetoutmuch |
feat(Topology/VectorBundle): coordinate lemmas for the bundle of bilinear forms |
Coordinate lemmas for bundles of continuous linear maps.
Bundle.Trivialization.continuousLinearMap_symm_apply, hom_trivializationAt_symm_apply: the inverse of the trivialization of the bundle fun x ↦ E₁ x →SL[σ] E₂ x sends a model map L to v ↦ e₂⁻¹ (L (e₁ v)).
inCoordinates_apply_eq₂_of_trivial: inCoordinates_apply_eq₂ when the target bundle is trivial.
trivializationAt_symm_apply_bilin: the same for bilinear maps into a fixed space, deduced from hom_trivializationAt_symm_apply.
Motivation: in #33714 (existence of a Riemannian metric), the local metric is defined as the inverse trivialization applied to the inner product on the model fibre, and trivializationAt_symm_apply_bilin rewrites it as ⟪e u, e v⟫, from which symmetry and positivity follow. This PR is the first piece split out of #33714, which will be rebased on it. |
t-topology
new-contributor
|
68/20 |
Mathlib/Topology/VectorBundle/Hom.lean,Mathlib/Topology/VectorBundle/Riemannian.lean |
2 |
29 |
['github-actions', 'grunweg', 'idontgetoutmuch'] |
grunweg assignee:grunweg |
5-2893 5 days ago |
5-3037 5 days ago |
62-26015 62 days |
0 |
| 45550 |
user202729 author:user202729 |
refactor(AlgebraicGeometry/EllipticCurve): make baseChange transparent notation |
- Make `baseChange` an `abbrev`, so the user doesn't need to explicitly unfold `baseChange`.
- Explicitly document that `W⁄A` is equivalent to `W.map <| algebraMap R A`, so users seeing a `map` lemma applied on `W⁄S` at a use site can see why.
- Rename `S` to `A` for consistency.
---
As discussed in https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Expose.20public.20section.20bad.3F/with/635418753 , `W⁄A` is meant to be transparent, so I think this change is appropriate.
This explicitly changes the meaning of `baseChange`, making code that previously name `baseChange` explicitly backwards incompatible, but I think this is fine.
The affected proofs are fixed. I think the impact is rather minimal.
The four copies of the notation in fact return the same thing, but for example `Affine R` is defined to be an `abbrev` of `WeierstrassCurve R`, so if one writes `(W⁄S).map`, the method `map` is looked up in namespace `Affine`. Without the notation in namespace `Affine`, it would implicitly convert `W` to `WeierstrassCurve`, then lookup the method `map` in namespace `WeierstrassCurve`.
The `name` is added to the notation that needs linking from `baseChangeAux` to make the link in the HTML page works. (Similar to https://github.com/leanprover-community/mathlib4/pull/45129)
|
t-algebraic-geometry
new-contributor
|
29/41 |
Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/LFunction.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean |
6 |
7 |
['JX-Mo', 'github-actions', 'user202729'] |
nobody |
5-2703 5 days ago |
5-24346 5 days ago |
5-24300 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 |
17 |
['MichaelStollBayreuth', 'Parcly-Taxel', 'github-actions', 'joelcanary', 'mathlib-merge-conflicts', 'wwylele'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
4-78700 4 days ago |
16-3110 16 days ago |
54-17986 54 days |
2 |
| 45583 |
ouboub author:ouboub |
feat(Analysis/ODE): Grönwall's inequality with a variable coefficient |
Title:
feat(Analysis/ODE): Grönwall's inequality with a variable coefficient- #45583
Description:
I believe I have successfully implemented and tested the differential form of Grönwall's inequality with variable coefficients.
Details can be found in
https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/Gronwall.27s.20inequality.3A.20differential.20form.2C.20variable.20coeff/with/636639527
which includes two PDFs with a more detailed description.
- Here is a short description:
Add Grönwall's inequality in differential form with a variable coefficient `K` and a
variable inhomogeneous term `ε`, both continuous and of arbitrary sign, for a function
with right derivatives: if `f` is continuous on `[a, b]`, `f' t ≤ K t * f t + ε t` on
`[a, b)` and `f a ≤ δ`, then on `[a, b]`
`f t ≤ (δ + ∫ s in a..t, ε s / exp (∫ r in a..s, K r)) * exp (∫ s in a..t, K s)`.
This addresses (for differentiable `f`) the TODO in `Mathlib/Analysis/ODE/Gronwall.lean`
asking for a variable coefficient `K x` of any sign.
The main results found in the new file `Mathlib/Analysis/ODE/GronwallVariableCoeff.lean` are
* `gronwallBoundVar`: the bound above;
* `le_gronwallBoundVar_of_deriv_right_le`: the inequality;
* `gronwallBoundVar_const`: for constant `K` and `ε`, `gronwallBoundVar` agrees with
the existing `gronwallBound`;
* `le_mul_exp_integral_of_deriv_right_le_mul`: the homogeneous case `ε = 0`.
The proof uses the integrating factor `exp (∫ s in a..t, K s)` and the comparison lemma
`image_le_of_deriv_right_le_deriv_boundary`.
- Some open problems:
1. The two auxiliary lemmas `continuousOn_primitive_of_continuousOn` and
`hasDerivWithinAt_Ici_primitive` (one-sided FTC) are stated here; I did not find them
in Mathlib. Should they move to `Mathlib/MeasureTheory/Integral/IntervalIntegral/`,
or into the `intervalIntegral` namespace?
2. I did not dare to put my results into `Mathlib/Analysis/ODE/Gronwall.lean` itself,
3. There might be another TODO in the module docstring: the energy form of Bahouri–Chemin–Danchin, Lemma 3.3.
At some point, I asked Claude for advice on the main lemma, but I didn't include syntax I don't understand or haven't tested. The code might be clumsy.
regards
Uwe Brauer
|
t-analysis
new-contributor
|
270/0 |
Mathlib.lean,Mathlib/Analysis/ODE/GronwallVariableCoeff.lean |
2 |
4 |
['github-actions', 'ouboub'] |
nobody |
3-75685 3 days ago |
4-864 4 days ago |
4-886 4 days |
0 |
| 45282 |
3y3y3y-huaiji author:3y3y3y-huaiji |
feat(Topology/Order): add zero-crossing for odd maps on antipodal paths |
Add `exists_zero_of_antipodal_path`: a continuous odd map (`f (τ x) = -f x`) along a path connecting antipodal points (`γ b = τ (γ a)`) must have a zero.
This provides a direct path-lifting bridge over `intermediate_value_Icc` for spaces with domain involutions.
* `exists_zero_of_antipodal_path`: main existence theorem.
* `IsOddMap`: anti-invariance predicate `f (τ x) = -f x`.
---
> [!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-topology
LLM-generated
new-contributor
|
71/0 |
Mathlib.lean,Mathlib/Topology/Order/Antipodal.lean |
2 |
5 |
['3y3y3y-huaiji', 'github-actions', 'leanprover-radar'] |
nobody |
3-59345 3 days ago |
3-59877 3 days ago |
11-25184 11 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'] |
TwoFX assignee:TwoFX |
3-36518 3 days ago |
77-26888 77 days ago |
77-26842 77 days |
0 |
| 40479 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat(LinearAlgebra/AffineSpace/Simplex/Standard): Define the standard $n$-simplex as an `Affine.Simplex` |
In this PR, we define a basis-dependent construction of an affine simplex, using which we define the standard $n$-simplex in `Fin n → k` in terms of `Pi.basisFun`.
The main constructions are `Affine.Simplex.mkOfAffineBasis` and `Affine.Simplex.mkOfBasis`. The former constructs a simplex from any affine basis of an affine space and the latter constructs an affine simplex in a vector space viewed as an affine space. We then relate the construction to `stdSimplex`, defined in `Analysis.Convex.StdSimplex`.
I wrote the definitions myself and used LLM help to develop 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/)
|
LLM-generated
new-contributor
t-algebra
label:t-algebra$ |
153/0 |
Mathlib.lean,Mathlib/LinearAlgebra/AffineSpace/Basis.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Standard.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean |
4 |
19 |
['github-actions', 'mathlib-splicebot', 'thefundamentaltheor3m', 'wwylele'] |
ocfnash assignee:ocfnash |
3-18618 3 days ago |
10-55176 10 days ago |
90-18847 90 days |
0 |
| 45608 |
vdelbarc author:vdelbarc |
feat(Algebra/Algebra): add ideals and quotients for non-unital non-associative algebras |
Introduce `NonUnitalNonAssocAlgebra.TwoSidedIdeal R A` as an `R`-submodule closed under multiplication by arbitrary elements of `A` on either side. This provides scalar-closed ideals for quotient constructions in non-unital, non-associative algebras.
Add basic lemmas, together with a forgetful map to the existing ring-theoretic `TwoSidedIdeal A`.
Construct the quotient `A ⧸ I` using the underlying submodule quotient. Equip it with non-unital, non-associative ring and module structures, and provide the quotient map as a non-unital algebra homomorphism, computation lemmas, and an induction principle.
Show that `SMulCommClass R A A` and `IsScalarTower R A A`, when available, descend to the quotient.
Co-Authors: Gustavo Infanti, Exequiel Rivas, Paul Schwahn
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-algebra
new-contributor
label:t-algebra$ |
262/0 |
Mathlib.lean,Mathlib/Algebra/Algebra/NonUnitalIdeal.lean |
2 |
2 |
['github-actions'] |
nobody |
3-796 3 days ago |
3-1246 3 days ago |
3-2527 3 days |
0 |
| 45540 |
arsmagic author:arsmagic |
feat(RingTheory/ZMod): odd-unit square criterion in ZMod (2^n) |
For an odd integer a, a is a square in ZMod (2^n) iff a ≡ 1 (mod 2^min(n,3)): case forms isSquare_two_pow_iff_of_odd_three_le (n≥3, mod 8) and isSquare_two_pow_iff_of_odd_le_three (n≤3, mod 2^n), plus the uniform form.
Discussed on Zulip (#Is there code for X? > Squares in ZMod (2^n) for odd units).
(https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Squares.20in.20ZMod.20.282.5En.29.20for.20odd.20units) (Xavier Roblot confirmed #45509 will not cover squares; split into two case forms per Snir Broshi's suggestion.)
Adds the characterization of squares among odd (unit) residues modulo a power of two.
For an odd integer a:
ZMod.isSquare_two_pow_iff_of_odd_three_le — for 3 ≤ n, IsSquare (a : ZMod (2^n)) ↔ a ≡ 1 [ZMOD 8].
ZMod.isSquare_two_pow_iff_of_odd_le_three — for n ≤ 3, ↔ a ≡ 1 [ZMOD 2^n].
ZMod.isSquare_two_pow_iff_of_odd — uniform form via min n 3.
Sufficiency is derived from `ZMod.isComplement'_zpowers_unitFive_neg_one` (#45509), and the custom Hensel lifting has been removed.
AI-tools used during preparation.
|
LLM-generated
t-data
new-contributor
|
128/0 |
Mathlib.lean,Mathlib/RingTheory/ZMod/IsSquare.lean |
2 |
21 |
['SnirBroshi', 'arsmagic', 'felixpernegger', 'github-actions', 'wwylele'] |
nobody |
2-73013 2 days ago |
5-61542 5 days ago |
5-62274 5 days |
0 |
| 45584 |
leomayer1 author:leomayer1 |
refactor(CategoryTheory): change `HasShift` monoid argument to `outParam` |
In current master, `HasShift` has type signature
```
CategoryTheory.HasShift.{v, u, u_2} (C : Type u) (A : Type u_2) [Category.{v, u} C] [AddMonoid A]
```
and the TriangulatedCategory library is full of expressions like `X⟦(1: ℤ)⟧`. The more natural expression `X⟦1⟧` raises an error when an instance of `HasShift C ℕ` cannot be inferred.
This PR changes the type signature of `HasShift` to
```
CategoryTheory.HasShift.{v, u, u_2} (C : Type u) (A : outParam (Type u_2)) [Category.{v, u} C] [AddMonoid A]
```
so that now from the expression `X⟦1⟧` Lean can find the instance `HasShift C ℤ` and infer that `1` should have type `ℤ`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on 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-category-theory
|
236/230 |
Mathlib/CategoryTheory/DifferentialObject.lean,Mathlib/CategoryTheory/Localization/Triangulated.lean,Mathlib/CategoryTheory/ObjectProperty/Shift.lean,Mathlib/CategoryTheory/Shift/Basic.lean,Mathlib/CategoryTheory/Shift/CommShift.lean,Mathlib/CategoryTheory/Shift/Localization.lean,Mathlib/CategoryTheory/Shift/ShiftSequence.lean,Mathlib/CategoryTheory/Shift/ShiftedHomOpposite.lean,Mathlib/CategoryTheory/Shift/Twist.lean,Mathlib/CategoryTheory/Triangulated/Adjunction.lean,Mathlib/CategoryTheory/Triangulated/Basic.lean,Mathlib/CategoryTheory/Triangulated/Functor.lean,Mathlib/CategoryTheory/Triangulated/LocalizingSubcategory.lean,Mathlib/CategoryTheory/Triangulated/Opposite/Basic.lean,Mathlib/CategoryTheory/Triangulated/Opposite/Pretriangulated.lean,Mathlib/CategoryTheory/Triangulated/Opposite/Triangle.lean,Mathlib/CategoryTheory/Triangulated/Pretriangulated.lean,Mathlib/CategoryTheory/Triangulated/Rotate.lean,Mathlib/CategoryTheory/Triangulated/SpectralObject.lean,Mathlib/CategoryTheory/Triangulated/Subcategory.lean,Mathlib/CategoryTheory/Triangulated/TStructure/AbelianSubcategory.lean,Mathlib/CategoryTheory/Triangulated/TStructure/Basic.lean,Mathlib/CategoryTheory/Triangulated/TStructure/ETrunc.lean,Mathlib/CategoryTheory/Triangulated/TStructure/Induced.lean,Mathlib/CategoryTheory/Triangulated/TStructure/SpectralObject.lean,Mathlib/CategoryTheory/Triangulated/TStructure/TruncLEGT.lean,Mathlib/CategoryTheory/Triangulated/TStructure/TruncLTGE.lean,Mathlib/CategoryTheory/Triangulated/TriangleShift.lean,Mathlib/CategoryTheory/Triangulated/Triangulated.lean,Mathlib/CategoryTheory/Triangulated/Yoneda.lean |
30 |
8 |
['github-actions', 'joelriou', 'leanprover-radar', 'leomayer1', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
2-65313 2 days ago |
3-75919 3 days ago |
3-75873 3 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'] |
nobody |
2-35627 2 days ago |
116-46400 116 days ago |
120-49749 120 days |
0 |
| 26462 |
PSchwahn author:PSchwahn |
feat(LinearAlgebra/Projection): add results about inverse of `Submodule.prodEquivOfIsCompl` |
Add two theorems `Submodule.prodEquivOfIsCompl_symm_apply` and `Submodule.prodEquivOfIsCompl_symm_add`, which are API for `Submodule.prodEquivOfIsCompl`.
We believe these theorems are useful; for example, we have used their statements in a [classification formalization project](https://github.com/LieLean/LowDimSolvClassification).
Co-authored by:
- [Viviana del Barco](https://github.com/vdelbarc)
- [Gustavo Infanti](https://github.com/GuQOliveira)
- [Exequiel Rivas](https://github.com/erivas)
---
I am not sure whether the `prodEquivOfIsCompl_symm_apply` theorem should be tagged with `@[simp]`; this might lead to confluence issues. Opinions are welcome!
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
10/0 |
Mathlib/LinearAlgebra/Projection.lean |
1 |
8 |
['PSchwahn', 'github-actions', 'joelriou', 'kckennylau'] |
joelriou assignee:joelriou |
1-75796 1 day ago |
3-86272 3 days ago |
77-42908 77 days |
0 |
| 45656 |
sun123zxy author:sun123zxy |
chore(Algebra/Module/Projective): seperate `Projective.tensorProduct` from the definition of `Module.Projective` |
Move `Projective.tensorProduct` from `Algebra/Module/Projective.lean` to `LinearAlgebra/TensorProduct/Projective.lean` as it is not required to define the projectivity. This reduces `public import Mathlib.LinearAlgebra.TensorProduct.Basis`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
Part of #44636. It requires several new lemmas on the projectivity. Some clean up in advance might be beneficial. |
t-ring-theory
new-contributor
|
56/19 |
Mathlib.lean,Mathlib/Algebra/Azumaya/Matrix.lean,Mathlib/Algebra/Category/ModuleCat/Ext/DimensionShifting.lean,Mathlib/Algebra/Lie/TensorProduct.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Module/Projective.lean,Mathlib/LinearAlgebra/BilinearForm/TensorProduct.lean,Mathlib/LinearAlgebra/GeneralLinearGroup/AlgEquiv.lean,Mathlib/LinearAlgebra/Span/TensorProduct.lean,Mathlib/LinearAlgebra/TensorProduct/Matrix.lean,Mathlib/LinearAlgebra/TensorProduct/Projective.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/TensorProduct/Free.lean,Mathlib/RingTheory/Unramified/Finite.lean |
14 |
5 |
['github-actions', 'leanprover-radar', 'sun123zxy'] |
nobody |
1-72545 1 day ago |
1-75699 1 day ago |
1-75653 1 day |
2 |
| 45650 |
darkhipo author:darkhipo |
feat(MeasureTheory): potential-drift lemma (measure bound for sets of fast decrease) |
# PR_DRAFT — Potential drift lemma (Mathlib submission draft)
Project: `/private/tmp/drift-lemma/` · Lean 4 (`v4.34.1`) · Mathlib `d13f23b7` · build green, zero
sorries; `#print axioms` on all three theorems yields only `[propext, Classical.choice, Quot.sound]`.
## 1. Proposed file placement
**`Mathlib/MeasureTheory/Integral/IntervalIntegral/AbsolutelyContinuousFun.lean`** (extend the
existing file; add a closing section "Measure of fast-drift sets").
Justification:
- The main lemma is a *direct measure-theoretic consequence* of that file's headline result,
`AbsolutelyContinuousOnInterval.integral_deriv_eq_sub` (FTC for AC functions), plus its
companion `intervalIntegrable_deriv`. Colocating keeps the whole AC-on-interval calculus in one
place; no new imports needed (the file already sees everything the proof uses).
- The *conclusion* is a statement about Lebesgue measure (`(volume s).toReal ≤ _`), which fits
`MeasureTheory/` rather than `Analysis/Calculus/` — an Analysis placement would put a
measure-head conclusion in a calculus file.
- The `AntitoneOn.derivWithin_nonpos` bridge (used in the monotone corollary) lives in
`Analysis/Calculus/Deriv/Slope.lean`, which `MeasureTheory` may import (already does, via the
AC machinery).
Rejected alternative: a new `Mathlib/Analysis/Calculus/Drift.lean` — "drift" is not Mathlib
vocabulary, and the proof's spine is the FTC + set-integral machinery, not calculus.
## 2. Final statements (as proved)
```lean
/-- **Potential drift lemma**. If `f` is absolutely continuous on `uIcc a b`, `deriv f ≤ 0`
a.e. on `Icc a b`, and `deriv f ≤ -c` on a measurable set `s ⊆ Icc a b` (with `c > 0`),
then the Lebesgue measure of `s` is at most the total drop of `f` over `[a, b]`, divided
by `c`. -/
theorem AbsolutelyContinuousOnInterval.measure_toReal_le_of_deriv_le
(hab : a ≤ b) (hc : 0 < c) (hf : AbsolutelyContinuousOnInterval f a b)
(hle : ∀ᵐ x ∂volume, x ∈ Icc a b → deriv f x ≤ 0)
(hs : MeasurableSet s) (hssub : s ⊆ Icc a b)
(hbad : ∀ᵐ x ∂volume, x ∈ s → deriv f x ≤ -c) :
(volume s).toReal ≤ (f a - f b) / c
/-- Monotone form: the a.e. sign condition is derived from `AntitoneOn f (Icc a b)`. -/
theorem AbsolutelyContinuousOnInterval.measure_toReal_le_of_deriv_le_of_antitoneOn
(hab : a ≤ b) (hc : 0 < c) (hf : AbsolutelyContinuousOnInterval f a b)
(hanti : AntitoneOn f (Icc a b))
(hs : MeasurableSet s) (hssub : s ⊆ Icc a b)
(hbad : ∀ᵐ x ∂volume, x ∈ s → deriv f x ≤ -c) :
(volume s).toReal ≤ (f a - f b) / c
/-- **Escape-time corollary** (potential budget over escape rate), on the half-line. -/
theorem AbsolutelyContinuousOnInterval.measure_toReal_inter_Icc_le_of_deriv_le_of_antitoneOn
{T : ℝ} (hc : 0 < c) (hs : MeasurableSet s)
(hfT : ∀ T, 0 ≤ T → AbsolutelyContinuousOnInterval f 0 T)
(hanti : AntitoneOn f (Ici 0)) (hfnn : ∀ x ∈ Ici 0, 0 ≤ f x)
(hbad : ∀ᵐ x ∂volume, x ∈ s → deriv f x ≤ -c) :
(volume (s ∩ Icc 0 T)).toReal ≤ f 0 / c
```
## 3. Proof summary (5 lines)
1. Split `Ioc a b = (Ioc a b ∩ s) ∪ (Ioc a b \ s)` and integrate `deriv f` over both pieces
(`setIntegral_union`, integrability from `intervalIntegrable_deriv`).
2. On the bad piece, `deriv f ≤ -c` a.e. gives `∫ ≤ ∫ (-c) = -(volume (Ioc a b ∩ s)).toReal * c`
(`setIntegral_mono_on_ae`, `setIntegral_const`).
3. On the complement, `deriv f ≤ 0` a.e. gives the integral `≤ 0` (`setIntegral_nonneg_of_ae_restrict`
applied to `-deriv f`).
4. FTC for AC functions (`integral_deriv_eq_sub`) identifies the total with `f b - f a`; chaining
yields `c • volume (Ioc a b ∩ s) ≤ f a - f b`; `volume s = volume (Ioc a b ∩ s)` since the
difference is contained in the null set `{a}`.
5. The monotone corollary derives the a.e. sign condition from `ae_differentiableAt` +
`AntitoneOn.derivWithin_nonpos` (endpoints `{a, b}` are null); the escape-time corollary applies
the monotone form on `[0, T]` and drops `-f T / c` using nonnegativity (for `T < 0` the set is
empty).
## 4. PR title
```
feat(MeasureTheory/Integral/IntervalIntegral): potential drift lemma — measure bound for fast-drift sets of AC potentials
```
## 5. PR description (as I would submit)
> This PR adds a quantitative fundamental theorem of calculus for absolutely continuous real
> functions, in the new `AbsolutelyContinuousOnInterval` API: if a potential `f` is AC and
> nonincreasing on `[a, b]`, and `deriv f ≤ -c` (c > 0) on a measurable set `s ⊆ [a, b]`, then
> `volume s ≤ (f a - f b) / c`.
>
> The intuition is a budget/escape-rate trade: a potential can only "spend" a bounded amount of
> parameter/time in a region where it decreases faster than `c`. The escape-time corollary makes
> this literal: an antitone nonnegative potential on `[0, ∞)` with drift `≤ -c` on `s` satisfies
> `volume (s ∩ [0, T]) ≤ f 0 / c` for every horizon `T`.
>
> Three theorems:
> - `measure_toReal_le_of_deriv_le` — main lemma (sign condition `deriv ≤ 0` a.e. on `Icc a b`);
> - `measure_toReal_le_of_deriv_le_of_antitoneOn` — monotone form, sign condition discharged;
> - `measure_toReal_inter_Icc_le_of_deriv_le_of_antitoneOn` — half-line escape-time corollary.
>
> All proofs are sorry-free (`propext, Classical.choice, Quot.sound` only) and build on
> `integral_deriv_eq_sub`, `intervalIntegrable_deriv`, and `ae_differentiableAt` from the
> existing AC-on-interval API.
>
> (To reviewers: happy to restate the conclusion as `volume s ≤ ENNReal.ofReal ((f a - f b) / c)`
> if the toReal form is dispreferred, and to bikeshed names.)
## 6. Consumers (why Mathlib wants this)
The statement is the deterministic-measure backbone of three recurring "drift" arguments:
1. **Randomized-search drift analysis.** The additive drift theorem (He & Yao, *A study of drift
analysis for estimating computation time of evolutionary algorithms*, Artificial Intelligence
145 (2003); see also Lengler, *Drift Analysis*, Theory of Randomized Search Heuristics, 2020)
bounds expected hitting time `E[T] ≤ V₀/c` when a potential's expected one-step drift is `≥ c`
and `V ≥ 0`. The escape-time corollary is the continuous-time/a.e. analogue: total bad-time ≤
initial potential over drift rate. A formalized deterministic core is the natural first step
toward a Lean drift calculus.
2. **ODE / Lyapunov stability.** Time-in-a-region bounds via Lyapunov functions `V̇ ≤ -c` along
trajectories (Khalil, *Nonlinear Systems*, 3rd ed., §8.5: nonautonomous systems, dwell-time
and uniform boundedness arguments). The lemma is exactly the "integral of `V̇` over the bad
set vs. drop of `V`" step used whenever a strict Lyapunov function has a non-strict region.
3. **Convergence of continuous-time optimization dynamics.** Potential/energy-drop arguments for
gradient-flow and natural-algorithm dynamics, e.g. Physarum dynamics for shortest paths
(Chazelle, *Natural Algorithms*, SICOMP 39(5), 2012; Ito, Johansson, Yonezawa's
potential-function analyses) — bounding the time the dynamics can spend where the potential's
derivative is bounded away from zero.
## 7. Anticipated reviewer pushback (with responses)
- **toReal vs ofReal conclusion.** May be asked for `volume s ≤ ENNReal.ofReal _`; the toReal
form falls out of the proof and is more usable downstream; can ship both.
- **`hle` on `Icc a b` vs the FTC's `Ioc`.** Slight asymmetry forces the endpoint null-set dance;
could state `hle` on `Ioc a b` and shave a few lines, at the cost of a less natural hypothesis.
- **Naming.** `measure_toReal_le_of_deriv_le` is descriptive but long; expect proposals
(`volume_real_le_of_deriv_le`, root `MeasureTheory.` names instead of the ACI namespace).
- **Generality.** Requests for a `μ ≪ volume` version, vector-valued/norm drift `‖f'‖ ≥ c`, or a
signed variant (`deriv ≤ -c` on `s`, `deriv ≤ +d` elsewhere). All are easy add-ons on the same
skeleton; propose as follow-ups to keep this PR minimal.
- **Is the escape-time corollary Mathlib-worthy?** It is a two-line application; may be moved to
an example or dropped. Keeping it gives consumers the exact "budget over rate" phrasing.
|
t-measure-probability
new-contributor
|
176/2 |
Mathlib/MeasureTheory/Integral/IntervalIntegral/AbsolutelyContinuousFun.lean |
1 |
2 |
['github-actions'] |
nobody |
1-72370 1 day ago |
1-72886 1 day ago |
1-73056 1 day |
0 |
| 45199 |
stalex444 author:stalex444 |
feat(LinearAlgebra/Matrix/Reindex): add `Matrix.reindexStarAlgEquiv` |
This code was suggested by @j-loreaux in his review of #41847. It adds Matrix.reindexStarAlgEquiv, a relabeling the rows and columns of a square matrix as a star-algebra equivalence. Its simp lemmas are next to the existing reindexAlgEquiv.
This is the split that a previous reviewer asked for.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-algebra
LLM-generated
new-contributor
maintainer-merge
label:t-algebra$ |
59/0 |
Mathlib/LinearAlgebra/Matrix/Defs.lean,Mathlib/LinearAlgebra/Matrix/Reindex.lean |
2 |
9 |
['github-actions', 'stalex444', 'themathqueen'] |
nobody |
1-66530 1 day ago |
1-68957 1 day ago |
2-50974 2 days |
1 |
| 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 |
46 |
['LAC1213', 'NoahW314', 'github-actions', 'robin-carlier', 'tb65536'] |
mattrobball assignee:mattrobball |
1-61038 1 day ago |
101-76087 101 days ago |
102-14369 102 days |
0 |
| 45513 |
PSchwahn author:PSchwahn |
feat(Data/Fin/Tuple): add Fin.cons_cons_swap |
`Fin.cons_cons_swap` shows that composing `cons x (cons y q)` with the transposition swapping 0 and 1 yields `cons y (cons x q)`.
--- |
t-data
new-contributor
|
13/0 |
Mathlib/Data/Fin/Tuple/Basic.lean |
1 |
4 |
['PSchwahn', 'github-actions', 'themathqueen'] |
nobody |
1-60321 1 day ago |
6-53570 6 days ago |
6-53524 6 days |
0 |
| 45668 |
sun123zxy author:sun123zxy |
feat(Algebra/Module/Projective): projectivity is transitive along scalar towers |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
Split from #44636 |
t-algebra
new-contributor
label:t-algebra$ |
15/0 |
Mathlib/Algebra/Module/Projective.lean |
1 |
2 |
['github-actions'] |
nobody |
1-59584 1 day ago |
1-60747 1 day ago |
1-63477 1 day |
1 |
| 41111 |
erdkocak author:erdkocak |
feat(ModelTheory): add cardinal-generated substructure API |
This is the first PR in a sequence splitting #40561.
It adds a `CardinalLTGenerated` predicate for substructures, basic closure and map lemmas, and the finitely generated specialization.
Co-authored-by: Yağız Kaan Aydoğdu <y.kaan.aydogdu@gmail.com>
Co-authored-by: Yusuf Demir <yusufdemir12610@gmail.com>
Advised-by: Ayhan Günaydın <ayhan.gunaydin@bogazici.edu.tr>
Advised-by: Metin Ersin Arıcan <metin.arican@bogazici.edu.tr>
Please note that we utilized agentic AI tools (Claude Opus, ChatGPT Codex) during the development of this PR. Most of the proofs of the major theorems are direct translations from human-language source material (see the diff in `references.bib`) into Lean proofs using the mentioned AI tools. However, all design and formalization decisions were made by us. |
t-logic
new-contributor
LLM-generated
|
38/0 |
Mathlib/ModelTheory/FinitelyGenerated.lean,Mathlib/ModelTheory/Substructures.lean |
2 |
23 |
['NoahW314', 'erdkocak', 'felixpernegger', 'github-actions', 'iosephusferrum', 'mathlib-merge-conflicts', 'staroperator'] |
nobody |
1-56145 1 day ago |
2-15510 2 days ago |
105-22307 105 days |
5 |
| 42808 |
rshlyakh author:rshlyakh |
feat(Algebra/MonoidAlgebra/Grading): add decomposition lemma |
Adds a `simp` lemma about the decomposition of the `AddMonoidAlgebra R M` grading.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
8/0 |
Mathlib/Algebra/MonoidAlgebra/Grading.lean |
1 |
8 |
['github-actions', 'rshlyakh', 'themathqueen', 'wwylele'] |
nobody |
1-53602 1 day ago |
1-53602 1 day ago |
45-29597 45 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'] |
mattrobball assignee:mattrobball |
1-36528 1 day ago |
56-471 56 days ago |
75-77975 75 days |
1 |
| 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'] |
b-mehta assignee:b-mehta |
1-36526 1 day ago |
100-9337 100 days ago |
100-9291 100 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'] |
eric-wieser assignee:eric-wieser |
1-36525 1 day ago |
81-83901 81 days ago |
81-83855 81 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'] |
nobody |
1-35622 1 day ago |
23-13265 23 days ago |
83-50740 83 days |
0 |
| 45610 |
vdelbarc author:vdelbarc |
feat(Algebra/Algebra/Leibniz): introduce Leibniz rings and algebras |
Introduce the basic theory of right Leibniz rings and algebras.
Define `IsLeibniz` by the identity `(x * y) * z = (x * z) * y + x * (y * z)`, and establish its basic consequences.
Design choices were briefly discussed in https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Leibniz.20algebras/near/611073252
Define `IsSkew` for multiplication satisfying `x * x = 0`. Construct Lie ring and Lie algebra structures on Leibniz rings and algebras satisfying this condition. Conversely, show that every Lie ring satisfies the right Leibniz identity when its bracket is used as multiplication.
More on two-sided ideals and quotients of Leibniz algebras to come after PR#45608 is merged, from which this PR is independent now.
Co-Authors: Gustavo Infanti, Exequiel Rivas, Paul Schwahn
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-algebra
new-contributor
label:t-algebra$ |
218/0 |
Mathlib.lean,Mathlib/Algebra/Algebra/Leibniz/Basic.lean |
2 |
7 |
['Julian-Kuelshammer', 'github-actions'] |
nobody |
1-12712 1 day ago |
3-718 3 days ago |
3-672 3 days |
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 |
1-12112 1 day ago |
5-86025 5 days ago |
50-74540 50 days |
0 |
| 45075 |
vdelbarc author:vdelbarc |
feat(LinearAlgebra): characterize submodules with rank-one quotients |
Add results on submodules whose quotient has rank one.
Show that a submodule with a rank-one quotient is a coatom, and that it
admits a complementary submodule spanned by a single nonzero element.
Also add a lemma establishing the existence of an element outside a
submodule when its quotient has positive rank.
Add supporting lemmas for expressing an element as the sum of its
projections onto complementary submodules, and for evaluating the
coordinate equivalence associated with a nonzero singleton span.
Co-authored by: Gustavo Infanti, Exequiel Rivas and Paul Schwahn
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-algebra
new-contributor
label:t-algebra$ |
36/0 |
Mathlib/LinearAlgebra/Projection.lean,Mathlib/LinearAlgebra/Span/Basic.lean,Mathlib/RingTheory/SimpleModule/Rank.lean |
3 |
18 |
['JX-Mo', 'alreadydone', 'artie2000', 'github-actions', 'themathqueen', 'vdelbarc'] |
nobody |
1-6429 1 day ago |
1-8169 1 day ago |
15-60159 15 days |
0 |
| 45598 |
JunkaiWang-TheoPhy author:JunkaiWang-TheoPhy |
feat(Analysis/Fourier): translate frequency under character modulation |
## Summary
This PR adds the frequency-shift identity dual to the existing translation-to-phase identity for Fourier integrals. Modulating a function by an additive character translates its Fourier transform in frequency.
## Changes
- Add the general `VectorFourier.fourierIntegral_smul_addChar` identity.
- Add the scalar `Fourier.fourierIntegral_smul_addChar` specialization.
- Add the real inner-product-space theorem `Real.fourier_smul_fourierChar`.
- Add the corresponding inverse-transform identity `Real.fourierInv_smul_fourierChar`.
The general theorem is proved by pointwise equality of the integration kernels. It does not require integrability, continuity, Haar invariance, finite dimensionality, or a nondegenerate pairing beyond the assumptions already present in the Fourier integral definition. With the convention `𝓕 f w = ∫ e (-L v w) • f v`, the forward shift is `w - w₀`; the inverse-transform identity consequently uses `w + w₀`.
The change is confined to `Mathlib/Analysis/Fourier/FourierTransform.lean`. It adds no definitions, imports, instances, simp attributes, or dependencies.
## Validation
- `lake build Mathlib.Analysis.Fourier.FourierTransform Mathlib.Analysis.SpecialFunctions.Gaussian.FourierTransform Mathlib.Analysis.Fourier.FourierTransformDeriv` — passed (`Build completed successfully (6312 jobs)`).
- `lake exe batteries/runLinter --no-build Mathlib.Analysis.Fourier.FourierTransform` — passed.
- Standalone local examples covering zero modulation, degenerate pairings, non-Haar measures, non-integrable total-function cases, the inverse sign, and a modulated Gaussian derivation — passed with the repository Lean options.
- `#print axioms` for the four new declarations reports only `propext`, `Classical.choice`, and `Quot.sound`.
- Full `MathlibTest` and hosted CI have not been run locally; hosted CI should provide the final repository-level check.
## AI disclosure
Codex (gpt-6.1-sol) assisted with candidate discovery, Lean implementation, and local verification. I have reviewed the declarations and proofs, and I am responsible for understanding and explaining the mathematical design and sign conventions.
|
t-analysis
new-contributor
LLM-generated
|
35/2 |
Mathlib/Analysis/Fourier/FourierTransform.lean |
1 |
3 |
['JunkaiWang-TheoPhy', 'github-actions'] |
nobody |
0-81492 22 hours ago |
3-54780 3 days ago |
3-54734 3 days |
0 |
| 45670 |
user202729 author:user202729 |
chore(AlgebraicGeometry/EllipticCurve/Projective): remove `erw` in `Formula.lean` |
Reducing tech debt.
The main reason why `erw` was needed in this file instead of `rw` is the following.
- Background: Each point is represented by a function `P : Fin 3 → R`, and there's local notation `x` being `(0 : Fin 3)`, similar for `y` and `z`. So `P x` is the first coordinate of `P`. For a curve `W'` and a point `P`, `W'.dblXYZ P` is another point, its double i.e. `2 • P`.
- There are functions to compute various operations on elliptic curves, for example, `W.dblY P` computes the `Y`-coordinate of `2 • P`. Of course, this can be equivalently written as `W.dblXYZ P y`.
- The two forms `W.dblY P` and `W.dblXYZ P y` are not definitionally equal at the default transparency level. Depends on which lemma we want to apply, we need to convert the goal to use one form or the other.
---
Personally, I think it's a better idea to normalize on the `W.dblXYZ P y` form, and keep the `W.dblY P` form as strictly an implementation detail if needed. In this case, the `XYZ` suffix wouldn't be needed either, and the main definitions would be:
```
* `WeierstrassCurve.Projective.neg`: The negation `-P` of a point `P`.
* `WeierstrassCurve.Projective.dbl`: The double `2 • P` of a point `P`.
* `WeierstrassCurve.Projective.negDbl`: The negated double `-(2 • P)` of a point `P`.
```
etc. Thoughts? Note that `W.dbl P y` is only 1 character longer than `W.dblY P`.
Most lemmas that we want to apply are already stated in term of the point (except that many use `W.negY P` instead of `W.neg P y`, though currently `W.neg` doesn't exist).
Also, there are (very) long `rw` chains. ([#mathlib4 > Is long `rw` chain bad?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Is.20long.20.60rw.60.20chain.20bad.3F/with/637217759)) Ideas?
Another idea: have a `array_index` tactic that evaluates `![a, b, c, d] 2` to `c` when the index is a known constant, for example. Currently there is `simp only [fin3_def_ext]` which obviously only works on length-3 arrays.
|
new-contributor
t-algebraic-geometry
tech debt
|
59/24 |
Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Formula.lean |
1 |
2 |
['github-actions'] |
nobody |
0-73231 20 hours ago |
1-64386 1 day ago |
1-64340 1 day |
0 |
| 45480 |
RFT-SIRM author:RFT-SIRM |
feat(Matrix): add ordered trace expansion for powers of sums |
## Summary
This PR adds a reusable ordered-word expansion for traces of powers of a sum of square matrices.
- `Matrix.orderedWordExpansion A B p` lists products obtained by choosing either `A` or `B` at each of the `p` positions.
- `Matrix.sum_orderedWordExpansion` proves that the list sums to `(A + B)^p`.
- `Matrix.trace_orderedWordExpansion` gives the corresponding trace identity.
The construction preserves the exact order of factors and retains repeated words with their full multiplicity. It does not assume that `A` and `B` commute or identify cyclically equivalent trace terms.
## Motivation
For higher-moment trace identities, expanding `(A + B)^p` requires precise bookkeeping of ordered words before cyclic trace rotations and structural vanishing arguments can be applied. This generic expansion is useful for `p = 6` and for subsequent `p = 8, 10` developments without hard-coding a particular matrix model.
This PR contains only general matrix-algebra lemmas. It does not include application-specific graph operators or claim to prove a particular moment recurrence.
## Verification
The proofs use induction on `p`, right distributivity, and the existing `Matrix.trace_list_sum` theorem. Please run the full Mathlib build and style checks on this PR. |
t-algebra
new-contributor
label:t-algebra$ |
40/0 |
Mathlib/LinearAlgebra/Matrix/Trace.lean |
1 |
2 |
['github-actions'] |
nobody |
0-70241 19 hours ago |
7-51175 7 days ago |
7-52037 7 days |
0 |
| 45566 |
PeaBrane author:PeaBrane |
feat(Analysis/Convex): limits and sums of convex functions |
Add pointwise-limit and summation lemmas for convex and concave functions.
* `convexOn_of_frequently_convexOn_of_tendsto`, `concaveOn_of_frequently_concaveOn_of_tendsto`:
if `F i` is frequently convex (concave) on `s` along a filter and `F i x → f x` for every
`x ∈ s`, then `f` is convex (concave) on `s`.
* `convexOn_finsetSum`, `concaveOn_finsetSum`: a finite sum of convex (concave) functions is convex
(concave).
* `convexOn_tsum`, `concaveOn_tsum`: a pointwise summable series of convex (concave) functions is
convex (concave).
These complement `isClosed_setOfPred_convexOn` from #37352. Closedness of the set of convex
functions covers limits in the product topology, which needs convergence at every point of the
domain. The new limit lemmas need convergence only on `s`, and only frequently along the filter,
following `monotoneOn_of_frequently_monotoneOn_of_tendsto`. Finite sums and series of convex
functions were not stated before; only `ConvexOn.add` existed. I needed the series version to show
that a periodic kernel defined by an image sum is convex.
`FunctionTopology.lean` now imports `Mathlib.Topology.Algebra.InfiniteSum.Defs` for `tsum`.
AI disclosure: the statements, the proofs, and a draft of this description were written with
Claude Code. I checked them against existing Mathlib conventions and built the changed files
locally.
---
|
t-analysis
LLM-generated
new-contributor
|
69/1 |
Mathlib/Analysis/Convex/Function.lean,Mathlib/Analysis/Convex/FunctionTopology.lean |
2 |
6 |
['PeaBrane', 'github-actions', 'wwylele'] |
nobody |
0-67477 18 hours ago |
1-57622 1 day ago |
4-53001 4 days |
0 |
| 45666 |
ldiedering author:ldiedering |
feat(MeasureTheory): add `IsAtom` and `NoAtoms` |
Define what an atom `s` of a measure `μ` is (`IsAtom μ s`), and define a nonatomic measure as a measure with no atoms (the new type class `NoAtoms`).
As discussed [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/MeasureTheory.2ENoAtoms/with/574638121), an older definition of `NoAtoms`, deprecated and renamed to `NullSingletonClass` in #40809 and #40815, was weaker than the standard notion under that name. This PR also removes the deprecation warnings. Follow-up PRs are planned to add more API for the new definitions.
------
Use of AI:
Based on suggestions from Zulip discussions, a first version of the new definitions and API was written manually as part of the Carleson project. Claude Code was then used to create a plan for upstreaming, suggest additional lemmas, golf proofs, write documentation, and remove the deprecation warnings. The new or changed statements and proofs were reviewed manually and again partially changed.
Deletions:
- MeasureTheory.NoAtoms (deprecated alias of NullSingletonClass; name reused for the new class)
- MeasureTheory.exists_accPt_of_noAtoms
- MeasureTheory.Measure.pi_noAtoms
- MeasureTheory.Measure.pi_noAtoms'
- MeasureTheory.Measure.noAtoms_hausdorff
- Real.noAtoms_volume
- MeasureTheory.noAtoms_withDensity
- MeasureTheory.IsHaarMeasure.noAtoms
- ProbabilityTheory.IsGaussian.noAtoms
- ProbabilityTheory.noAtoms_gaussianReal
- exists_eq_interval_average_of_noAtoms
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-measure-probability
LLM-generated
new-contributor
|
112/44 |
Mathlib/MeasureTheory/Constructions/Pi.lean,Mathlib/MeasureTheory/Group/Measure.lean,Mathlib/MeasureTheory/Integral/IntervalAverage.lean,Mathlib/MeasureTheory/Measure/Hausdorff.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Measure/Typeclasses/NoAtoms.lean,Mathlib/MeasureTheory/Measure/Typeclasses/NullSingletonClass.lean,Mathlib/MeasureTheory/Measure/WithDensity.lean,Mathlib/Probability/Distributions/Gaussian/Fernique.lean,Mathlib/Probability/Distributions/Gaussian/Real.lean |
10 |
13 |
['Deicyde', 'felixpernegger', 'github-actions', 'ldiedering', 'lua-vr'] |
nobody |
0-63835 17 hours ago |
1-66402 1 day ago |
1-66356 1 day |
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
maintainer-merge
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 |
53 |
['ADedecker', 'ChiCubed', 'Vierkantor', 'github-actions', 'jcommelin', 'riccardobrasca', 'tb65536', 'themathqueen', 'wwylele'] |
kim-em assignee:kim-em |
0-62524 17 hours ago |
20-22640 20 days ago |
133-50926 133 days |
0 |
| 45716 |
jesusvilela author:jesusvilela |
feat(SimpleGraph): add signed graph Laplacian matrices |
### **Summary**
Adds signed adjacency and Laplacian matrices for finite simple graphs, as a reusable Mathlib API.
It uses SimpleGraph.EdgeLabeling Bool to carry edge signs, false to possitive and true to negative edges.
Consider a signed Laplacian as Lσ = D − Aσ, D an ordinary degree matrix, Aσ a signed adjacency matrix.
### **Main changes:**
Add Mathlib/Combinatorics/SimpleGraph/SignedLapMatrix.lean with two definitions and 19 theorems:
1. Signed adjacency is symmetric, while the signed Laplacian is both symmetric and Hermitian.
2. Ordinary Laplacian is recovered for all positive signs, and the signless Laplacian for all negative signs.
3. Squared signed edge identities produce the quadratic energy identity.
4. Arbitrary Boolean edge signings are positive semidefinite, for arbitrary Boolean edge signings.
5. By edgewise compatibility, the kernel is characterized as: equal vertex values across the positive edges and opposite values across negative edges.
There is a double counting of undirected edges in a factor of 1/2, wich is accounted for in the quadratic energy formula.
It has been implemented using existing Mathlib graph and matrix interfaces, restricted to real-valued and Boolean signs.
### **Files changed:**
Mathlib/Combinatorics/SimpleGraph/SignedLapMatrix.lean — new module.
Mathlib.lean — import of the new module.
### **Verification:**
Commit a84939a using Lean v4.36.0-rc2
Verification run [[41879159967](https://github.com/jesusvilela/mathlib4/actions/runs/41879159967)] passed:
- Successful compilation and Mathlib linting.
- lake exe mk all --check
- Transitive axiom audit of 19 public theorems.
- Proof term checks (Lean default, Lean paranoid, lean4lean, nanoda, con-leche and con-ron)
Only axioms propext, Classical.choice and Quot.sound reported.
### **AI Assistance:**
Implemented with substantial usage for Lean, proof construction, migration and verification infraestructure. Models include GPT-family 5.6 to 6.1 Sol and Claude Opus 4.5 to 5.
LLM-generated label is therefore warranted.
Review considerations:
Constructive feedback welcome on the API, naming, generality and pertinent module placement. Wether definitions and associated theorems must be split into smaller contributions or should remain together.
|
t-combinatorics
new-contributor
|
361/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/SignedLapMatrix.lean |
2 |
2 |
['github-actions'] |
nobody |
0-59844 16 hours ago |
0-60320 16 hours ago |
0-60274 16 hours |
0 |
| 44836 |
cmhsu2012 author:cmhsu2012 |
feat(NumberTheory/Legendre/Basic): the legendre symbol for p-adics |
Co-authored-by: María Inés de Frutos-Fernández 88536493+mariainesdff@users.noreply.github.com
and Nirvana Coppola 58878663+NirvanaC93@users.noreply.github.com
In the ongoing formalization of the Hasse-Minkowski Theorem on quadratic forms, we need the Legendre symbol for the p-adics. The following declarations were added to the basic.lean file:
```def compMonoidHom``` an auxiliary definition: the composition between multiplicative characters and a local homomorphism
```def legendreSym``` the definition of the Legendre symbol for Z_p: composition of the reduction from Z_p to Z mod p and the usual Legendre symbol
```def hom``` The Legendre symbol is a homomorphism
The remaining lemmas are the API:
```lemma intCast```
```theorem eq_pow```
```theorem eq_on_or_neg_one```
```eq_neg_one_iff_not_one```
```theorem eq_zero_iff```
```theorem sq_one```
```theorem sq_one'```
```theorem eq_one_iff```
```theorem eq_neg_one_iff```
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-number-theory
new-contributor
|
124/2 |
Mathlib.lean,Mathlib/Algebra/Ring/Int/Units.lean,Mathlib/NumberTheory/MulChar/Basic.lean,Mathlib/NumberTheory/Padics/LegendreSymbol.lean |
4 |
45 |
['JX-Mo', 'NirvanaC93', 'cmhsu2012', 'github-actions', 'loefflerd', 'mariainesdff', 'tb65536'] |
loefflerd assignee:loefflerd |
0-57245 15 hours ago |
0-60096 16 hours ago |
9-37095 9 days |
0 |
| 42093 |
DrDMT-VR author:DrDMT-VR |
feat(Topology/Algebra/Ring): topological closure of a two-sided ideal |
Defines `TwoSidedIdeal.closure`, the topological closure of a two-sided ideal in a
topological ring, together with its basic API. This mirrors the existing one-sided
`Ideal.closure` (`Mathlib/Topology/Algebra/Ring/Ideal.lean`), but is stated in the
generality of non-unital non-associative topological rings (`IsTopologicalRing` over
`NonUnitalNonAssocRing`), where one-sided ideals are unavailable.
New declarations (namespace `TwoSidedIdeal`): `closure`, `coe_closure`,
`mem_closure_iff`, `le_closure`, `closure_mono`, `closure_minimal`, `isClosed_closure`,
`closure_eq_of_isClosed`, `closure_closure`, `closure_top`, and `closure_ne_top` (in a
unital ring whose units are open, e.g. a Banach algebra via `Units.isOpen`, the closure of
a proper two-sided ideal is proper).
Mathlib has no topological-closure API for `TwoSidedIdeal`. Closed two-sided ideals are
the basic objects of C*-algebra ideal theory, and `closure_ne_top` is the standard first
step toward "maximal two-sided ideals are closed".
------
- should the definition be called `topologicalClosure` instead? (The current name matches `Ideal.closure`.)
- Claude was utilized throughout the project. It helped with coding, syntax and running repetitive testing.
|
t-topology
new-contributor
LLM-generated
|
127/0 |
Mathlib.lean,Mathlib/Topology/Algebra/Ring/TwoSidedIdeal.lean |
2 |
16 |
['DrDMT-VR', 'FractalDevTeam', 'github-actions', 'grunweg', 'j-loreaux'] |
j-loreaux assignee:j-loreaux |
0-45152 12 hours ago |
9-49759 9 days ago |
47-41844 47 days |
0 |
| 42095 |
DrDMT-VR author:DrDMT-VR |
feat(Analysis/CStarAlgebra): the non-unital CFC maps into closed two-sided ideals |
## What
For a non-unital C*-algebra `A`, a closed two-sided ideal `I`, an element `a ∈ I`, and any
`f : ℝ → ℝ`, this proves `cfcₙ f a ∈ I`. No hypotheses on `f` are needed: whenever `cfcₙ`
would take its junk value (`f` not continuous on the quasispectrum, `f 0 ≠ 0`, or `a` not
selfadjoint) that value is `0 ∈ I`.
New declarations (namespace `TwoSidedIdeal`):
- `smul_mem_of_isClosed` — a closed two-sided ideal in a non-unital C*-algebra is closed
under the scalar action (proved via the canonical approximate unit `CStarAlgebra.approximateUnit`).
- `cfcₙHom_mem_of_isClosed` — for selfadjoint `a ∈ I`, every value of the underlying
homomorphism `cfcₙHom` lies in `I` (Weierstrass induction on `C(σₙ ℝ a, ℝ)₀`).
- `cfcₙ_mem_of_isClosed` — the main result.
## Why
Closed two-sided ideals of a C*-algebra are hereditary under the continuous functional
calculus; this is a basic tool for spectral-projection and ideal-membership arguments, and
complements the existing "cfc commutes with *-homomorphisms" results. `smul_mem_of_isClosed`
is of independent interest (a closed two-sided ideal is a submodule).
## Notes
This is my second contribution (see #42093). I checked the referenced cfc / approximate-unit
API against current master at the source level; CI is the first full build and I will fix
anything it flags. Suggested location `Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Ideal.lean`;
happy to relocate if preferred.
Parts of this contribution were developed with AI assistance (Claude). All statements are machine-checked by the Lean kernel; `#print axioms` on the new declarations reports only `[propext, Classical.choice, Quot.sound]`.
|
t-analysis
new-contributor
LLM-generated
|
92/0 |
Mathlib.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Ideal.lean |
2 |
5 |
['DrDMT-VR', 'github-actions', 'grunweg'] |
nobody |
0-45084 12 hours ago |
9-50284 9 days ago |
11-11630 11 days |
1 |
| 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'] |
b-mehta assignee:b-mehta |
0-36524 10 hours ago |
83-36224 83 days ago |
96-27696 96 days |
1 |
| 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'] |
j-loreaux assignee:j-loreaux |
0-36523 10 hours ago |
47-13437 47 days ago |
60-58578 60 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'] |
sgouezel assignee:sgouezel |
0-36520 10 hours ago |
76-12635 76 days ago |
76-12589 76 days |
0 |
| 43087 |
JX-Mo author:JX-Mo |
feat(RepresentationTheory): add Hecke/Basic.lean |
This file defines `HeckeModule` of a representation `ρ` as `Hom_G(k[G ⧸ H], ρ)` and identifies it with the space of `H`-invariants.
We deliberately choose the intertwining model over the invariant model as the main API, for it has good defeq property when we define the mixed level Hecke action of Hecke operators which is just the composition of intertwining maps. This has significant technical advantage because it avoids proving associativity and compatibility combinarically which is nasty using the invariant model.
It is an `abbrev` for maximally reusing API from `ofMulAction` and `IntertwiningMap`. We remark that the abstract boundary will be cut out at `HeckeAlgera` which will be a `def` instead and we will provide an instance `Module HeckeAlgebra HeckeModule`. Before that, we need to develop representation theoretic lemmas about `HeckeModule` and `HeckeBimodule` first so `HeckeModule` should stay transparent. |
new-contributor
t-algebra
label:t-algebra$ |
84/0 |
Mathlib.lean,Mathlib/RepresentationTheory/Hecke/Basic.lean |
2 |
8 |
['JX-Mo', 'Whysoserioushah', 'github-actions'] |
riccardobrasca assignee:riccardobrasca |
0-36518 10 hours ago |
15-25525 15 days ago |
73-75442 73 days |
1 |
| 45647 |
chenguang2046 author:chenguang2046 |
feat: meromorphic continuation of Riemann zeta and Hurwitz zeta (even) |
Continues #45344 following @wwylele's suggestion.
This PR replaces the previous explicit series-based argument with the compact grind/un_prop proof suggested in review, and applies the same method to hurwitzZetaEven.
Main results (Mathlib/NumberTheory/LSeries/RiemannZetaMeromorphic.lean):
* meromorphicAt_riemannZeta_one
* meromorphicAt_hurwitzZetaEven_one
* meromorphic_riemannZeta
* meromorphic_hurwitzZetaEven
All verified locally with zero sorry (exit code 0). |
t-number-theory
new-contributor
LLM-generated
|
88/0 |
Mathlib.lean,Mathlib/NumberTheory/LSeries/RiemannZetaMeromorphic.lean |
2 |
4 |
['chenguang2046', 'github-actions'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
0-36515 10 hours ago |
2-15438 2 days ago |
2-15602 2 days |
0 |
| 42534 |
gloges author:gloges |
feat(LinearAlgebra/MultilinearMap): generalize `MultilinearMap` with common `RingHom` |
Generalizes multilinear maps to multi-semilinear maps.
In analogy with `LinearMap σ M N`, `MultilinearMap σ M N` is the space of multilinear maps from the `R`-module `∀ i, M i` to the `S`-module `N` over a ring homomorphism `σ : R →+* S`: fixing all but one coordinate gives a map `M i →ₛₗ[σ] N`.
Adds the notation `(Π i, M i) →ₘₛₗ[σ] N` for `MultilinearMap σ M N`, complementing the notation `(Π i, M i) →ₘₗ[R] N` for the previous multilinear map which is the special case with `σ = RingHom.id R`.
**Breaking change**: to use the previous multilinear map, change `MultilinearMap R M N` to `MultilinearMap (.id R) M N` or `(Π i, M i) →ₘₗ[R] N`.
Both `ContinuousMultilinearMap` and `AlternatingMap` extend `MultilinearMap` and are left defined in terms of `RingHom.id`.
---
- [x] depends on: #43877
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
594/519 |
Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Normed/Module/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Alternating/Basic.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Multilinear/Basis.lean,Mathlib/LinearAlgebra/Multilinear/Curry.lean,Mathlib/LinearAlgebra/Multilinear/DFinsupp.lean,Mathlib/LinearAlgebra/Multilinear/DirectSum.lean,Mathlib/LinearAlgebra/Multilinear/FiniteDimensional.lean,Mathlib/LinearAlgebra/Multilinear/Pi.lean,Mathlib/LinearAlgebra/Multilinear/TensorProduct.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/DFinsupp.lean,Mathlib/LinearAlgebra/TensorPower/Symmetric.lean,Mathlib/RingTheory/PiTensorProduct.lean,Mathlib/Topology/Algebra/Module/Multilinear/Basic.lean,MathlibTest/LinearAlgebra/Multilinear.lean |
19 |
58 |
['eric-wieser', 'github-actions', 'gloges', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'themathqueen', 'winstonyin'] |
nobody |
0-35593 9 hours ago |
0-54243 15 hours ago |
35-34849 35 days |
0 |
| 45723 |
alexei-kopylov author:alexei-kopylov |
chore(LinearAlgebra/ExteriorPower/BilinForm): make bilinForm_ιMulti_ιMulti public |
`bilinForm_ιMulti_ιMulti` is currently invisible outside its own module, although `LinearMap.BilinForm.exteriorPower` and
`bijective_exteriorPower` are public, so no importer of this file can use the formula. The lemma is already marked `@[simp]`, but that marking has no effect for importers while the lemma itself is not public. I believe that this is an oversight, not intentional.
Making the lemma public exposes the evaluation formula, with no other change.
This restores the visibility the lemma had in #42889: it was made `public` in 93bf495 at a reviewer's request (mark `public` the declarations intended for export), then lost `public` in a829f41, a doc-comment cleanup whose diff bundles the drop with the deletion of the lemma's own docstring — no discussion in #42889 asks for the removal.
cc @kirill-kondrashov (author of #42889) |
t-algebra
new-contributor
label:t-algebra$ |
1/1 |
Mathlib/LinearAlgebra/ExteriorPower/BilinForm.lean |
1 |
4 |
['github-actions', 'kirill-kondrashov'] |
nobody |
0-10981 3 hours ago |
0-38065 10 hours ago |
0-38019 10 hours |
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$ |
92/1 |
Mathlib.lean,Mathlib/LinearAlgebra/ExteriorPower/HodgeStar.lean,Mathlib/LinearAlgebra/ExteriorPower/Orientation.lean |
3 |
10 |
['github-actions', 'kirill-kondrashov', 'ocfnash', 'themathqueen'] |
nobody |
0-7531 2 hours ago |
0-7531 2 hours ago |
28-29334 28 days |
0 |
| 45129 |
user202729 author:user202729 |
doc(Tactic/Conv): add a header, minor fix |
Making the HTML page nicer to read. I checked that the documentation compiles and the links are clickable.
---
We may want to see if we want to add a `(name := )` to the ones with autogenerated names, or if the current state is fine.
For ease of reviewing, it would be nice if one of the CI build the changed documentation in some online page and link it from the pull request. SageMath have (had?) this. |
t-meta
new-contributor
documentation
maintainer-merge
|
32/8 |
Mathlib/Tactic/Conv.lean |
1 |
7 |
['github-actions', 'joneugster', 'user202729'] |
nobody |
0-1412 23 minutes ago |
5-71061 5 days ago |
11-68321 11 days |
0 |
This page collects anonymous visit counts for usage reporting (no cookies, no IP addresses stored). See the Mathlib Initiative privacy policy.