Helping out: short tasks

Would you like to help out at a PR, differently from reviewing? Here are some ideas:

This dashboard was last updated on: November 09, 2026 at 14:46 UTC

PRs with just failing CI, but only often-spurious jobs

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
30451 kckennylau
author:kckennylau
feat(HomogeneousIdeal): generalize to homogeneous submodule Continuation of #30437 with permission from @jjaassoonn, which is a continuation of #9820 . The definitions, constructions and theorems in `HomogeneousIdeal.lean` are generalized to homogeneous submodules. Let `R` be a graded ring and `M` be a graded `R`-module. Say an `R`-submodule `N` of `M` is homogeneous if for every `x` in `N`, each projection of `x` to `M_i` is in `N`. None of this file's results depends on the grading on `R`, but we include the grading on `R` for technical reasons. We define the "homogeneous core" of a not necessarily homogeneous submodule N to be the biggest homogeneous submodule contained within N, and the "homogeneous hull" to be the smallest homogeneous submodule that contains N. All definitions/constructions/theorems are then copied for ideals/homogeneous ideals. The motivation of this generalization is graded quotient module. (#18716) --- <!-- 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] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory awaiting-author merge-conflict 581/185 Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Decomposition.lean,Mathlib/Algebra/DirectSum/Finsupp.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Basic.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Submodule.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean 10 23 ['github-actions', 'mariainesdff', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] mariainesdff
assignee:mariainesdff
229-24001
7 months ago
242-85960
242 days ago
22-55625
22 days
0
37556 edwin1729
author:edwin1729
feat(Topology/Order): Locale.localePointOfSpacePoint if we have a Scott Topology from an Algebraic DCPO (3/4) in a series of PRs proving that "Scott Topologies over Algebraic DCPOs are Sober" We prove here that the unit of the adjunction from `TopCat` to `Locale` defined in `Topology/Order/Category/FrameAdjunction.lean` is a surjective mapping, under the following condition: The underlying TopologicalSpace must be a Scott Topology generated with an underlying Algebraic DCPO structure. - [ ] depends on: #37445 --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology new-contributor blocked-by-other-PR merge-conflict 393/1 Mathlib.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib 4 5 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
195-54657
6 months ago
220-79157
220 days ago
0-562
9 minutes
0
39108 idontgetoutmuch
author:idontgetoutmuch
feat(Geometry/Manifold/GroupLieAlgebra): Add mfderiv_mul_left_mul and left-translate for integral curves Add the following: `mfderiv_mul_left_mul`: the derivative of left-multiplication satisfies a chain rule: $$d(L_{g \cdot h})_x = d(L_g)_{h \cdot x} \circ d(L_h)_x$$ `mulInvariantVectorField_mul`: the vector field at the translated point is the push forward of the vector field: $$V(g \cdot h) = d(L_g)_h(V(h))$$ `IsMIntegralCurve.left_translate`: using these, if $\gamma$ is an integral curve of $V$, then so is $t \mapsto g \bullet \gamma(t)$ for any $g \in G$, since: $$\frac{d}{dt}(g \bullet \gamma(t)) = d(L_g)_{\gamma(t)}\left(\frac{d\gamma}{dt}(t)\right) = d(L_g)_{\gamma(t)}(V(\gamma(t))) = V(g \bullet \gamma(t))$$ I argue (*) all the time with LLMs so this PR will certainly have had some input from them. Is that enough of a disclosure? (*) Like Lewis Carroll: In my youth said the sage I took to the law and argued each case with wife And the muscular strength that it gave to my jaw has lasted the rest of my life t-differential-geometry new-contributor awaiting-author LLM-generated 73/0 Mathlib/Geometry/Manifold/GroupLieAlgebra.lean 1 8 ['github-actions', 'grunweg'] nobody
183-74872
5 months ago
183-74937
183 days ago
0-37210
10 hours
0
34875 banrovegrie
author:banrovegrie
feat(LinearAlgebra/Matrix): add Sherman-Morrison formula Mathlib has the matrix determinant lemma (`det_add_replicateCol_mul_replicateRow` in SchurComplement.lean) but lacked the corresponding inverse formula. This PR fills that gap. - Add `Matrix.inv_add_vecMulVec`: Sherman-Morrison formula for `(A + uv^T)^{-1}` - Add `Matrix.inv_sub_vecMulVec`: subtraction variant - Add `Matrix.isUnit_det_add_vecMulVec`: invertibility under the formula's hypotheses ## Test plan - [x] `lake build` passes - [x] Lines within 100 char limit - [x] All declarations have docstrings **Any specific AI usage?**: Used Copilot for review purposes. t-algebra new-contributor awaiting-author
label:t-algebra$
135/0 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/ShermanMorrison.lean 2 15 ['Xxxjdjdid', 'banrovegrie', 'chrisflav', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'wwylele'] chrisflav
assignee:chrisflav
161-76453
5 months ago
207-77530
207 days ago
69-2479
69 days
0
40934 bwangpj
author:bwangpj
feat(NumberTheory/ModularForms): define (level-one) Hecke operators Attempt at defining Hecke operators on functions on the upper half-plane. t-number-theory awaiting-author 89/0 Mathlib.lean,Mathlib/NumberTheory/ModularForms/LevelOne/HeckeOperators.lean 2 9 ['CBirkbeck', 'MichaelStollBayreuth', 'github-actions', 'loefflerd'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
136-31276
4 months ago
137-5757
137 days ago
2-4328
2 days
0
26803 bjoernkjoshanssen
author:bjoernkjoshanssen
feat: second partial derivatives test We prove that if `f` is a real-valued function on `n`-dimensional Euclidean space with vanishing gradient at `x₀`, twice continuously differentiable at `x₀`, whose second Frechét derivative is positive definite at `x₀`, then `f` has local minimum at `x₀`. This project was started at the Lean for Mathematicians workshop hosted by the Simons Foundation in June 2025 in a group consisting of Bjørn Kjos-Hanssen, Erin Griffin, Asaf Kapota, and Janani Lakshmanan, see repo at https://github.com/bjoernkjoshanssen/secondpartial --- <!-- 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] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis awaiting-author 558/0 Mathlib.lean,Mathlib/Analysis/Calculus/PartialDerivativeTest.lean,Mathlib/Analysis/Normed/Operator/NormedSpace.lean 3 45 ['bjoernkjoshanssen', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot', 'themathqueen'] j-loreaux
assignee:j-loreaux
130-43680
4 months ago
131-53043
131 days ago
16-43905
16 days
0
39890 thorimur
author:thorimur
feat: overhaul `defsWithUnderscore` linter Modifies the behavior of the `defsWithUnderscore` linter to be more principled. - Instead of exempting parsers by namespace, exempts by type. - Exempt library notes by type (thus linting potential incorrect non-`LibraryNote` defs in the `LibraryNote` namespace). - Exempt deprecated declarations; these are not technical debt (at least, not for this reason). - Exempt `Prop`-typed defs; these may be made by `unif_hint`, for example, and are the resposibility of a different linter in any case. - Exempts `Formatter` and `Parenthesizer` declarations. - In the case that a definition is namespaceed under a theorem, exempts (only) the part of the declaration name that is a theorem. - Do not exempt on the basis of guillemets; this is an elaborator feature. - Do not exempt private declaration names. `isAutoDecl` (mistakenly?) considers all private names to be autogenerated, and we therefore need `isPrivateToUsername` beforehand. (Really, though, maybe this should be a batteries fix.) The reasoning here is that underscores are a *source readability* concern, not just a public interface concern, so private names are in scope for the linter as well. - Exempts all `_<number>` names, not just `_1` and `_2`. - Exempts decls ending in `_project` when they come from `Project`, using the same mechanism by which `_project` is appended. - Modifications to the meta code to module-proof the linter, in the eventuality that env_linters have to be modulized or we want to use this function in a syntax linter. --- - [x] depends on: #40125 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter tech debt awaiting-author merge-conflict 260/195 Mathlib/Tactic/Linter/Style.lean,MathlibTest/Linter/TextBased.lean,scripts/nolints.json 3 6 ['SnirBroshi', 'github-actions', 'joneugster', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
115-47047
3 months ago
119-79092
119 days ago
39-70541
39 days
0
34440 grunweg
author:grunweg
feat: linter for name components in uppercase Per the naming convention, these are errors (unless they are an abbreviation). Mathlib has *many* violations at the moment: for this reason, we add this as an environment linter and automatically add all current exceptions. Once these have been fixed, converting to a syntax linter is desirable. Until then, track the number of such exceptions as technical debt. --- [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/naming.20convention.20linter/with/570617527) Note to self: wait for CI, then do a final nolints update. and try to implement the follow-up soon #40977 is also rolled into this linter now: TODO update PR description! <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter awaiting-author awaiting-CI merge-conflict 1082/23 Mathlib/Init.lean,Mathlib/Tactic/Linter/Style.lean,MathlibTest/Linter/DoubleUnderscore.lean,MathlibTest/Linter/TextBased.lean,scripts/nolints.json 5 31 ['Vierkantor', 'github-actions', 'grunweg', 'joneugster', 'mathlib-merge-conflicts'] nobody
114-81020
3 months ago
264-20943
264 days ago
13-63250
13 days
0
38649 chrisflav
author:chrisflav
chore(RingTheory): equality of linear map with values in finite module spreads out We add some corollaries of `Module.Finite.exists_smul_of_comp_eq_of_isLocalizedModule`. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import merge-conflict 75/1 Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/Localization/Module.lean 3 3 ['github-actions', 'mathlib-merge-conflicts'] mariainesdff
assignee:mariainesdff
103-55852
3 months ago
103-55853
103 days ago
91-30358
91 days
1
41815 felixpernegger
author:felixpernegger
chore: remove redundant brackets Remove redundant `()` brackets. This is pretty minor, but still a strict style improvement, so I PR it --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 1019/1019 Archive/Imo/Imo1982Q1.lean,Archive/Imo/Imo2024Q5.lean,Archive/Imo/Imo2025Q3.lean,Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Counterexamples/NowhereDifferentiable.lean,Counterexamples/TopologistsSineCurve.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/MulOpposite.lean,Mathlib/Algebra/BigOperators/Group/List/Defs.lean,Mathlib/Algebra/Category/BoolRing.lean,Mathlib/Algebra/Category/Grp/Adjunctions.lean,Mathlib/Algebra/Category/Grp/Preadditive.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Free.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Submodule.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Abelian.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/LocallyFree.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean,Mathlib/Algebra/Category/Ring/Basic.lean,Mathlib/Algebra/CharZero/Defs.lean,Mathlib/Algebra/Field/Subfield/Defs.lean,Mathlib/Algebra/FreeMonoid/Count.lean,Mathlib/Algebra/Group/Center.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Even.lean,Mathlib/Algebra/Group/Subgroup/Order.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Group/Submonoid/Units.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean,Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/ExactSequences.lean,Mathlib/Algebra/Homology/DerivedCategory/ShortExact.lean,Mathlib/Algebra/Homology/Embedding/AreComplementary.lean,Mathlib/Algebra/Homology/Embedding/Basic.lean,Mathlib/Algebra/Homology/Embedding/CochainComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/Plus.lean,Mathlib/Algebra/Homology/HomotopyFiber.lean,Mathlib/Algebra/Homology/ShortComplex/Abelian.lean,Mathlib/Algebra/Homology/ShortComplex/Basic.lean,Mathlib/Algebra/Homology/ShortComplex/ConcreteCategory.lean,Mathlib/Algebra/Homology/ShortComplex/Exact.lean,Mathlib/Algebra/Homology/ShortComplex/ExactFunctor.lean,Mathlib/Algebra/Homology/ShortComplex/Homology.lean,Mathlib/Algebra/Homology/ShortComplex/RightHomology.lean,Mathlib/Algebra/Lie/Ideal.lean,Mathlib/Algebra/Lie/LieTheorem.lean,Mathlib/Algebra/Lie/SemiDirect.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/Presentation/Basic.lean,Mathlib/Algebra/Module/Presentation/Differentials.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/Algebra/Module/Submodule/Invariant.lean,Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/Order/Antidiag/Finsupp.lean,Mathlib/Algebra/Order/Antidiag/Nat.lean,Mathlib/Algebra/Order/Antidiag/Pi.lean,Mathlib/Algebra/Order/GroupWithZero/Lex.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean,Mathlib/Algebra/Order/Module/HahnEmbedding.lean,Mathlib/Algebra/Order/Monoid/Lex.lean,Mathlib/Algebra/Order/Positive/Ring.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Lemmas.lean,Mathlib/Algebra/QuadraticAlgebra/Basic.lean,Mathlib/Algebra/Quandle.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subring/MulOpposite.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/MulOpposite.lean,Mathlib/Algebra/Ring/ULift.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/Algebra/SkewPolynomial/Basic.lean,Mathlib/Algebra/Star/CentroidHom.lean,Mathlib/Algebra/Torsor/Basic.lean,Mathlib/Algebra/TrivSqZeroExt/Basic.lean,Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean,Mathlib/AlgebraicGeometry/Birational/RationalMap.lean,Mathlib/AlgebraicGeometry/EffectiveEpi.lean,Mathlib/AlgebraicGeometry/FunctionField.lean,Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean,Mathlib/AlgebraicGeometry/Gluing.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Functorial.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/AlgebraicGeometry/Morphisms/Affine.lean,Mathlib/AlgebraicGeometry/Morphisms/AffineAnd.lean,Mathlib/AlgebraicGeometry/Morphisms/ClosedImmersion.lean,Mathlib/AlgebraicGeometry/Morphisms/Finite.lean,Mathlib/AlgebraicGeometry/Morphisms/Flat.lean,Mathlib/AlgebraicGeometry/Morphisms/Immersion.lean,Mathlib/AlgebraicGeometry/Morphisms/IsIso.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiCompact.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiFinite.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean 657 9 ['SnirBroshi', 'felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts'] nobody
83-78858
2 months ago
83-78859
83 days ago
4-48242
4 days
0
42884 Rshin2024
author:Rshin2024
feat(Geometry/Manifold): equivalence of C^n structomorphisms and diffeomorphisms ## Summary For manifolds `M`, `M'` modelled on the same model with corners `I`, Mathlib has two notions of `C^n` isomorphism with no connection between them: `Structomorph (contDiffGroupoid n I) M M'` (a homeomorphism whose chart transports lie in the groupoid) and `M ≃ₘ^n⟮I, I⟯ M'` (`Diffeomorph`). This PR provides both directions of the equivalence, in a new module `Mathlib.Geometry.Manifold.ContMDiff.Structomorph`: * `Structomorph.liftPropOn` — a structomorphism satisfies the `IsLocalStructomorphWithinAt` lift property on its whole source: at each point the chart-composed structomorphism is *definitionally* the witness. * `Structomorph.contMDiff` / `Structomorph.toDiffeomorph` — via `isLocalStructomorphOn_contDiffGroupoid_iff`, the lift property converts to `ContMDiffOn` on `univ`, in both directions using `Structomorph.symm`. * `Diffeomorph.toStructomorph` — conversely, `ContMDiff` in both directions gives the lift property by the same `iff`; `LocalInvariantProp.liftPropWithinAt_indep_chart` re-expresses it in an arbitrary pair of atlas charts; and the resulting local groupoid elements glue by `StructureGroupoid.locality`, using `closedUnderRestriction'` and `StructureGroupoid.mem_of_eqOnSource`. ## Motivation These are the two isomorphism notions of the charted-space and manifold layers respectively; connecting them lets statements phrased at the groupoid level (e.g. transport of structure along homeomorphisms) be consumed at the `ContMDiff` level and vice versa. The two maps are packaged as `structomorphEquivDiffeomorph : Structomorph (contDiffGroupoid n I) M M' ≃ (M ≃ₘ^n⟮I, I⟯ M')`, with `rfl`-level inverse proofs via a new `Structomorph.toHomeomorph_injective`. Independent of #42847 (neither imports the other), though motivated by the same project. Compiles with the two imports `ContMDiff.Atlas` and `Diffeomorph`; current module boilerplate; no `sorry`, no new axioms; `lake exe mk_all --check` passes. Naming open to review. t-differential-geometry new-contributor awaiting-author 141/0 Mathlib.lean,Mathlib/Geometry/Manifold/ContMDiff/Structomorph.lean 2 6 ['felixpernegger', 'github-actions', 'grunweg'] nobody
83-18416
2 months ago
83-18416
83 days ago
0-42263
11 hours
0
42446 ipezygj
author:ipezygj
feat(Algebra/Order/Ring/Pow): bernoulli's inequality for a subtracted term Adds `one_sub_mul_le_pow`, the mirror of `one_add_mul_le_pow`: ```lean lemma one_sub_mul_le_pow (H : a ≤ 2) (n : ℕ) : 1 - n * a ≤ (1 - a) ^ n ``` `Mathlib/Algebra/Order/Ring/Pow.lean` already carries Bernoulli in the `1 + a` form and one reformulation of it (`one_add_mul_sub_le_pow`); this is the `1 - a` form, which is the shape that comes up when bounding a product of complements — for example showing that `1 - (1 - p) ^ n ≤ n * p`, the comparison between the Šidák and Bonferroni corrections in statistics, which follows immediately by `linarith`. The hypothesis `a ≤ 2` is exactly what `one_add_mul_le_pow`'s `-2 ≤ -a` becomes, and it is load-bearing rather than decorative: the inequality fails for `a > 2` (checked numerically over a grid before writing the proof). Proof is two lines and reduces directly to the existing lemma. This is my first contribution to mathlib, so please do point out anything that does not match the library's conventions. --- [Blueprint] not applicable. t-algebra new-contributor awaiting-author
label:t-algebra$
6/0 Mathlib/Algebra/Order/Ring/Pow.lean 1 4 ['github-actions', 'themathqueen'] nobody
65-13622
2 months ago
65-13622
65 days ago
31-62824
31 days
0
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] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
6/5 Mathlib/LinearAlgebra/Matrix/Defs.lean 1 3 ['github-actions'] nobody
60-1082
1 month ago
60-1245
60 days ago
60-1172
60 days
0
36896 PieterCuijpers
author:PieterCuijpers
feat (Algebra/Order/Quantale): isMulLeftsided, isMulRightsided, isMulTwosided and strict versions * Adding definitions of quantale elements being leftsided, rightsided, and twosided, and strict versions Should we include these definitions in the main Algebra/Order/Quantale.lean file, or start a separate file for them? I have a few basic theorems I would like to include on these notions, but invite suggestions. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor awaiting-author merge-conflict
label:t-algebra$
81/1 Mathlib/Algebra/Order/Quantale.lean 1 6 ['NoahW314', 'PieterCuijpers', 'chrisflav', 'github-actions', 'mathlib-merge-conflicts'] mariainesdff
assignee:mariainesdff
51-76391
1 month ago
194-83405
194 days ago
39-15412
39 days
0
42747 felixpernegger
author:felixpernegger
feat(Topology): generalise Dilation to `WeakPseudoEMetricSpace` and friends By Codex GPT 5.6 Sol, 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] --> - [ ] depends on: #42741 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) LLM-generated blocked-by-other-PR merge-conflict t-topology 381/321 Mathlib/Analysis/Normed/Field/Lemmas.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/AEMeasurable.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean,Mathlib/Topology/MetricSpace/Antilipschitz.lean,Mathlib/Topology/MetricSpace/Dilation.lean,Mathlib/Topology/MetricSpace/DilationEquiv.lean,Mathlib/Topology/MetricSpace/Isometry.lean 7 5 ['felixpernegger', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
50-51580
1 month ago
unknown
unknown
0
43625 b-mehta
author:b-mehta
feat(NumberTheory/Bernoulli): denominators of Bernoulli numbers are squarefree This PR adds some new public theorems for bernoulli numbers. The new results are typically viewed as corollaries of the von Staudt-Clausen theorem, but the implementation in mathlib means it's actually easier to prove them along the way, and we can obtain `rw` versions, or versions with weaker hypotheses than von Staudt-Clausen. In addition, the API changes have a secondary purpose: to act as a prereq for #42304. In principle these could be separate PRs, but the redefinition of the private abbrev `pIntegral` is mixed tightly with the new public API that it's difficult to make this PR into two. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory merge-conflict 148/79 Mathlib/NumberTheory/Bernoulli.lean 1 3 ['github-actions', 'mathlib-merge-conflicts'] nobody
47-68133
1 month ago
47-68134
47 days ago
13-15582
13 days
0
44099 xiahongchi
author:xiahongchi
feat: maximize concave functions at stationary points Adds two first-order maximum principles for real concave functions: * `ConcaveOn.le_of_hasDerivAt_eq_zero` * `ConcaveOn.isGreatest_of_hasDerivAt_eq_zero` They use the existing secant-slope bounds and require differentiability only at the candidate maximizer. Tested by compiling `Mathlib/Analysis/Convex/Deriv.lean` locally. t-analysis new-contributor 31/0 Mathlib/Analysis/Convex/Deriv.lean 1 3 ['github-actions'] nobody
47-50326
1 month ago
47-50913
47 days ago
47-50840
47 days
0
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
46-71149
1 month ago
46-80716
46 days ago
46-80643
46 days
1
42158 sweeneyde
author:sweeneyde
feat(AlgebraicTopology): natural transformation to nerve homotopy Given a natural transformation between two functors, we produce a homotopy between the maps they induce on nerve simplicial sets. --- Using `SmallCategory` instances made the proof easier--I had trouble with the universe levels involved when trying to use `Category.{v} C` instead. One could use [CategoryTheory.AsSmall](https://leanprover-community.github.io/mathlib4_docs/Mathlib/CategoryTheory/Category/ULift.html#CategoryTheory.AsSmall) to convert to a small category first. - [ ] depends on: #41963 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor blocked-by-other-PR t-algebraic-topology merge-conflict 119/0 Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveProduct.lean,Mathlib/CategoryTheory/ComposableArrows/Basic.lean,Mathlib/CategoryTheory/IsoCat.lean,Mathlib/CategoryTheory/Products/Basic.lean 5 5 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
42-35453
1 month ago
104-57512
104 days ago
0-29
29 seconds
0
43604 MetinovAdik
author:MetinovAdik
feat(Analysis): Laplacian and gradient under composition with a dilation feat(Analysis): Laplacian and gradient under composition with a dilation Two lemmas describing how the Laplacian and the gradient behave under pre-composition with `c • ·`, the missing companions of `fderiv_comp_smul` and `iteratedFDeriv_comp_const_smul`. * `InnerProductSpace.laplacian_comp_smul` (in `InnerProductSpace/Laplacian.lean`, next to `laplacian_smul`): for `f : E → F` with `ContDiff ℝ 2 f` and `c : ℝ`, `Δ (f <| c • ·) x = c ^ 2 • Δ f (c • x)`. Each of the two derivatives contributes one factor of `c`. Proof: `laplacian_eq_iteratedFDeriv_stdOrthonormalBasis` and `iteratedFDeriv_comp_const_smul`, in the style of `laplacian_smul`. * `gradient_comp_smul` (in `Calculus/Gradient/Basic.lean`): for `f : F → 𝕜` and `c : 𝕜`, `∇ (f <| c • ·) x = conj c • ∇ f (c • x)`. The derivative picks up `c` (`fderiv_comp_smul`) and the Riesz isomorphism is conjugate linear, hence `conj c`. No differentiability hypothesis: for `c = 0` both sides are `0`, exactly as in `fderiv_comp_smul`. Motivation: the parabolic scaling `v ↦ λ • v (λ • x) (λ² t)` of the Navier–Stokes equations, where every term acquires `λ³`. Establishing that in Lean required these two facts, which were the only missing pieces; the rest was already in Mathlib. Names follow `fderiv_comp_smul` rather than `iteratedFDeriv_comp_const_smul`; happy to switch if the other convention is preferred. --- Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> t-analysis new-contributor LLM-generated merge-conflict 20/0 Mathlib/Analysis/Calculus/Gradient/Basic.lean,Mathlib/Analysis/InnerProductSpace/Laplacian.lean 2 4 ['github-actions', 'mathlib-merge-conflicts'] nobody
42-10648
1 month ago
42-10649
42 days ago
19-11294
19 days
0
30637 strihanje01
author:strihanje01
feat(Combinatorics/SetFamily/Lindstrom): Lindström's theorem for subfamilies with equal unions add Lindstrom's theorem and its strengthening for equal intersections --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor awaiting-author 211/0 Mathlib.lean,Mathlib/Combinatorics/SetFamily/Lindstrom.lean 2 11 ['YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot'] YaelDillies
assignee:YaelDillies
39-32798
1 month ago
39-32901
39 days ago
123-28545
123 days
0
38671 dagurtomas
author:dagurtomas
chore(CategoryTheory): start using `mk_concrete_category` --- - [ ] depends on: #38587 - [x] depends on: #39005 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) LLM-generated blocked-by-other-PR tech debt merge-conflict 1252/1645 Mathlib.lean,Mathlib/Algebra/Category/AlgCat/Basic.lean,Mathlib/Algebra/Category/BoolRing.lean,Mathlib/Algebra/Category/CommAlgCat/Basic.lean,Mathlib/Algebra/Category/CommBialgCat.lean,Mathlib/Algebra/Category/FGModuleCat/Basic.lean,Mathlib/Algebra/Category/Grp/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Semi.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Basic.lean,Mathlib/Algebra/Category/MonCat/Basic.lean,Mathlib/Algebra/Category/Ring/Basic.lean,Mathlib/Algebra/Category/Semigrp/Basic.lean,Mathlib/AlgebraicGeometry/AffineSpace.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Subscheme.lean,Mathlib/AlgebraicGeometry/Morphisms/Smooth.lean,Mathlib/Analysis/Normed/Group/SemiNormedGrp.lean,Mathlib/Order/Category/BddDistLat.lean,Mathlib/Order/Category/BddLat.lean,Mathlib/Order/Category/BddOrd.lean,Mathlib/Order/Category/BoolAlg.lean,Mathlib/Order/Category/DistLat.lean,Mathlib/Order/Category/FinBddDistLat.lean,Mathlib/Order/Category/Frm.lean,Mathlib/Order/Category/HeytAlg.lean,Mathlib/Order/Category/Lat.lean,Mathlib/Order/Category/LinOrd.lean,Mathlib/Order/Category/PartOrd.lean,Mathlib/Order/Category/PartOrdEmb.lean,Mathlib/Order/Category/Preord.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/Functoriality.lean,Mathlib/RepresentationTheory/Rep/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/MkConcreteCategory.lean,Mathlib/Topology/Algebra/Category/ProfiniteGrp/Basic.lean,Mathlib/Topology/Category/TopCat/Basic.lean,Mathlib/Topology/Category/UniformSpace.lean,MathlibTest/CategoryTheory/MkConcreteCategory.lean 38 11 ['dagurtomas', 'github-actions', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
38-70981
1 month ago
unknown
unknown
0
41536 Mathias-Stout
author:Mathias-Stout
chore(Algebra): make quaternion directory We create separate directory for quaternions and move the two existing files into it. This prepares a follow-up PR proving that quaternions are central simple. Co-authored-by: Justus Springer <justusspringer@gmx.de> --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed new-contributor merge-conflict 12/9 Mathlib.lean,Mathlib/Algebra/DualQuaternion.lean,Mathlib/Algebra/Quaternion/Basic.lean,Mathlib/Algebra/Quaternion/Basis.lean,Mathlib/Analysis/Quaternion.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Equivs.lean,MathlibTest/Quaternion.lean 7 6 ['github-actions', 'mathlib-merge-conflicts'] nobody
34-71464
1 month ago
34-71465
34 days ago
44-18522
44 days
1
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
34-21030
1 month ago
47-79741
47 days ago
47-79668
47 days
1
44392 yhx-12243
author:yhx-12243
fix(Algebra/Polynomial/Roots): fix tendstoCofinite with normal generic universe Remove the extraneous accidentally {R : Type} [CommRing R] [IsDomain R] in the signature of `Polynomial.tendstoCofinite_of_natDegree_ne_zero`, make it generic. t-algebra new-contributor
label:t-algebra$
2/2 Mathlib/Algebra/Polynomial/Roots.lean 1 3 ['github-actions', 'plp127'] nobody
32-79264
1 month ago
38-83937
38 days ago
38-83864
38 days
0
42312 sfingali
author:sfingali
feat(Topology): Huber (f-adic) rings ### Summary Defines Huber (f-adic) rings: topological rings admitting an open subring whose subspace topology is the `I`-adic topology for a finitely generated ideal `I` (Wedhorn, *Adic Spaces*, arXiv:1910.05934, Prop. and Def. 6.1, p. 46). * `HuberRing.RingOfDefinition` — the pair of definition `(A₀, I)`: an open subring `A₀ ⊆ A` with `IsAdic I` for a finitely generated ideal `I` of `A₀` (data). * `HuberRing.IsHuberRing` — a topological ring admitting a ring of definition (property). * `HuberRing.ringOfDefinition_iff_open_adic` — Wedhorn, Lemma 6.2 (a) ↔ (b), p. 46: a subring is a ring of definition iff it is open and adic. This is the first step of a planned adic/perfectoid pipeline (Huber rings → Huber pairs → continuous valuations → Spa → perfectoid fields → tilting), following the design of the Lean 3 `lean-perfectoid-spaces` project (ring of definition as data, Huber ring as a property). Follow-ups (depending on #40013's boundedness): Lemma 6.2 (c) (ring of definition ⟺ open + bounded) and Cor. 6.4(3) (the power-bounded elements form a subring, the union of all rings of definition). ### References * T. Wedhorn, *Adic Spaces*, arXiv:1910.05934, Prop. and Def. 6.1, Lemma 6.2, Cor. 6.4 (pp. 46–47). t-topology new-contributor awaiting-author 84/0 Mathlib.lean,Mathlib/Topology/Algebra/Nonarchimedean/HuberRing.lean 2 8 ['acmepjz', 'github-actions', 'kbuzzard', 'pepamontero'] kbuzzard
assignee:kbuzzard
32-2960
1 month ago
40-27973
40 days ago
60-26614
60 days
0
40983 khwilson
author:khwilson
feat: lemmas to support F-space open mapping theorem In order to generalize the Banach open mapping theorem to a generic F-space, we need several leamms about balanced and absorbent sets in more arbitrary spaces. In particular, we need some key lemmas such as: - A closed absorbent set in a Baire space with countably generated cobounded filter has nonempty interior - A topological vector space has a basis of neighborhoods about 0 consisting of balanced sets AI Disclosure: Generated by Claude Code with specific prompts from me and edits by me. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology LLM-generated merge-conflict 119/11 Mathlib.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/BalancedCoreHull.lean,Mathlib/Analysis/LocallyConvex/Basic.lean,Mathlib/Topology/Algebra/Group/Pointwise.lean,Mathlib/Topology/Baire/Absorbent.lean,Mathlib/Topology/Bornology/Absorbs.lean,Mathlib/Topology/MetricSpace/Bounded.lean 8 24 ['felixpernegger', 'github-actions', 'j-loreaux', 'khwilson', 'mathlib-bors', 'mathlib-merge-conflicts', 'mcdoll', 'scholzhannah'] j-loreaux
assignee:j-loreaux
31-10164
1 month ago
31-10165
31 days ago
88-28860
88 days
1
44098 xiahongchi
author:xiahongchi
feat: add a translation lemma for absolute continuity on intervals Adds `AbsolutelyContinuousOnInterval.comp_add_right`, showing that translating both an interval and the input of a function preserves absolute continuity. The statement is polymorphic in the pseudometric codomain. Tested by compiling `Mathlib/MeasureTheory/Integral/IntervalIntegral/AbsolutelyContinuousFun.lean` locally. t-measure-probability new-contributor awaiting-author 37/0 Mathlib/MeasureTheory/Integral/IntervalIntegral/AbsolutelyContinuousFun.lean 1 4 ['SnirBroshi', 'github-actions'] nobody
30-86053
30 days ago
30-86053
30 days ago
16-51391
16 days
0
43231 E-M-Bailey
author:E-M-Bailey
feat(Analysis/Analytic): expand and update `AnalyticAt.comp_sub`-type theorems Adds `.comp_add` and biconditional versions of the `AnalyticAt.comp_sub`-type theorems. Also shortens the `.comp_sub` statements and simplifies a few of their proofs. --- The purpose of this minor change, and in particular the biconditional versions, is to make it more convenient to shift power series. For example, I am currently working on a proof with a hypothesis of type `∀ᶠ w in 𝓝 z, ∀ i, AnalyticAt ℂ (f <| update w i ·) (w i)`, and I wanted to simplify the proof by assuming `z = 0`. This makes the `wlog` step shorter. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor awaiting-author 202/32 Mathlib/Analysis/Analytic/Basic.lean 1 5 ['github-actions', 'j-loreaux'] j-loreaux
assignee:j-loreaux
26-84584
26 days ago
26-84584
26 days ago
43-82886
43 days
0
44697 grunweg
author:grunweg
feat: support quotient manifolds in differential geometry elaborators --- - [ ] depends on: #40727 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other 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 blocked-by-other-PR large-import t-meta 299/7 Mathlib/Geometry/Manifold/Instances/Quotient.lean,Mathlib/Geometry/Manifold/Notation.lean,MathlibTest/DifferentialGeometry/Notation/Quotient.lean 3 2 ['github-actions', 'mathlib-dependent-issues'] nobody
26-58728
26 days ago
unknown
unknown
0
44935 CollinYuanjieRen
author:CollinYuanjieRen
feat(ENNReal): commute toReal with liminf and limsup for eventually finite functions Add eventually-finite variants of `ENNReal.liminf_toReal_eq` and `ENNReal.limsup_toReal_eq`, allowing functions with no eventual uniform finite upper bound. The existing bounded variants are unchanged. Co-authored-by: Kalle Kytölä <kalle.kytola@aalto.fi> --- Continues the `toReal` portion of #15115, which its author marked `help-wanted`; this does not cover all of that PR. Validated the complete modified file with Lean 4.35.0. Codex assisted with the proofs. t-topology LLM-generated new-contributor 49/1 Mathlib/Topology/Instances/ENNReal/Lemmas.lean 1 3 ['CollinYuanjieRen', 'github-actions'] nobody
24-10593
24 days ago
24-9308
24 days ago
24-9235
24 days
0
41258 ungatz
author:ungatz
feat(Analysis/Fourier/FiniteAbelian): add the Donoho-Stark support uncertainty principle This adds the Donoho–Stark support uncertainty inequality for the unitary Fourier transform on a finite abelian group, plus the supporting Fourier-inversion machinery indexed by the Pontryagin dual `AddChar G ℂ`. The headline: > **Theorem `AddChar.donoho_stark`.** For nonzero `f : G → ℂ`, > `Fintype.card G ≤ (support f).ncard * (support (fourierTransform f)).ncard`, > where `fourierTransform f ψ = |G|^(-1/2) * ∑ g, conj (ψ g) * f g` ranges over `ψ : AddChar G ℂ`. The proof is the elementary (L¹, L∞) duality argument that any harmonic-analysis textbook gives for the classical `ZMod N` case; no Parseval or Cauchy–Schwarz is needed. The finite-abelian generalisation is folklore (stated in Tao–Vu *Additive Combinatorics* and Terras *Fourier Analysis on Finite Groups*); I did not find it formalised in Mathlib or any other major library. ### Why this belongs in Mathlib Mathlib already has the supporting infrastructure — character theory of finite abelian groups (`Mathlib.Algebra.Group.AddChar`), character orthogonality and Pontryagin duality (`Mathlib.Analysis.Fourier.FiniteAbelian.{Orthogonality, PontryaginDuality}`). The Donoho–Stark inequality is the canonical application of all three, and its absence is a real gap: I needed it for a downstream operator-uncertainty result (a diagonal-operator `rank * Pauli-support` bound on the finite Heisenberg group reduces to it) and ended up proving it from scratch. Beyond that use, it is a standard tool in compressed sensing on finite abelian groups, additive combinatorics, and discrete signal recovery (the 1989 paper has ~3500 citations). ### What's in this PR A single new file, `Mathlib/Analysis/Fourier/FiniteAbelian/DonohoStark.lean`: - `AddChar.fourierTransform` — the unitary (symmetric) Fourier transform indexed by `AddChar G ℂ`; - `AddChar.fourier_inversion` — the inversion formula; - `AddChar.norm_fourierTransform_le`, `AddChar.norm_le_sum_norm_fourierTransform` — the two `L∞ ≤ |G|^(-1/2) · L¹` triangle bounds; - `AddChar.donoho_stark` — the support uncertainty inequality. Design choices I expect questions on, and my defaults: - **`ℂ` rather than `RCLike`**: matches the cited literature and the cleanest home of `AddChar.norm_apply`; happy to generalise if preferred. - **`Set.ncard` for support sizes**: avoids needing `DecidableEq ℂ` in the statement. - **A new sibling file** of `Orthogonality.lean` / `PontryaginDuality.lean` rather than a subsection: orthogonality is the tool, Donoho–Stark is the application; can inline if preferred. Deliberately *not* included: the diagonal-operator `rank * Pauli-support ≥ 2^n` corollary from my workspace — the Pauli-word machinery has no natural home in `Analysis/Fourier` yet; happy to factor it into a follow-up if there is interest. ### AI usage disclosure Per the [AI contribution policy](https://leanprover-community.github.io/contribute/index.html): the original Lean proof was generated by **Aristotle** (Harmonic AI's automated proof system) from a dispatch containing the statement and the (L¹, L∞) proof strategy, as part of my PhD research workspace. I audited the delivery line by line against Donoho–Stark 1989 (the dispatch also produced a kernel-checked counterexample to a tempting wrong variant — replacing rank by the count of distinct eigenvalues — which the 2×2 identity falsifies). The file here is my adaptation to Mathlib conventions and to current master (module system, `Set.ncard` statement, robust cast handling in the inversion proof), with final tactic-level repairs done with the assistance of Claude (Anthropic). I understand and can defend every line without AI assistance. Please add the `LLM-generated` label (I cannot set labels myself). ### Test plan - [x] `lake build Mathlib.Analysis.Fourier.FiniteAbelian.DonohoStark` clean (0 errors, 0 warnings). - [x] `#print axioms` on all five declarations: `[propext, Classical.choice, Quot.sound]`. - [x] `lake exe lint-style` clean; all lines ≤ 100 chars. - [x] `Mathlib.lean` updated in alphabetical position. - [x] Imports minimal (`PontryaginDuality` + `RCLike.Basic` only). ### Reference Donoho, D. L. and Stark, P. B. (1989). *Uncertainty principles and signal recovery.* SIAM Journal on Applied Mathematics, **49**(3): 906–931. https://doi.org/10.1137/0149053 --- t-analysis new-contributor LLM-generated awaiting-author 283/0 Mathlib.lean,Mathlib/Analysis/Fourier/FiniteAbelian/DonohoStark.lean 2 4 ['YaelDillies', 'copilot-pull-request-reviewer', 'felixpernegger', 'github-actions'] YaelDillies
assignee:YaelDillies
18-15174
18 days ago
18-15174
18 days ago
112-40517
112 days
0
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
17-83440
17 days ago
17-81345
17 days ago
42-39585
42 days
0
41667 alreadydone
author:alreadydone
feat(GCDMonoid): `Associates` form `DistribLattice` Co-authored-by: Aaron Liu @plp127 Import increase to two modified files are 2~3%, maybe I'll create another file GCDMonoid.Lattice for the new results. --- - [ ] depends on: #45187 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra blocked-by-other-PR merge-conflict
label:t-algebra$
231/54 Mathlib.lean,Mathlib/Algebra/GCDMonoid/Lattice.lean,Mathlib/Order/Lattice.lean,Mathlib/Order/Lattice/Constructor.lean,Mathlib/Order/ModularLattice.lean 5 4 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
17-71839
17 days ago
unknown
unknown
0
41339 mkaratarakis
author:mkaratarakis
feat(ComputablePolynomial): define SparsePoly, a computable univariate polynomial `SparsePoly R` is a computable, kernel-reducible representation of univariate polynomials over a commutative ring `R` with `DecidableEq R`: a list of `(exponent, coefficient)` pairs with strictly decreasing exponents and nonzero coefficients, making the representation canonical. This first part defines the structure, the semantics `toPoly : SparsePoly R → Polynomial R`, and addition. Started by Mario Carneiro at the Hausdorff Institute (June 2024) with design notes and an original Lean prototype by James Davenport (https://github.com/JamesHDavenport/Dagstuhl23401, `verify-irred/VerifyIrred`) and the proofs were done with the help of Claude code. --- - [ ] awaiting-zulip: [#mathlib reviewers > Computable polynomials](https://leanprover.zulipchat.com/#narrow/channel/345428-mathlib-reviewers/topic/Computable.20polynomials/with/608178291) t-meta awaiting-author awaiting-zulip 217/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ComputablePolynomial/Basic.lean 3 10 ['JovanGerb', 'github-actions', 'joneugster', 'mkaratarakis'] eric-wieser and joneugster
assignee:eric-wieser assignee:joneugster
14-21560
14 days ago
24-9411
24 days ago
104-16295
104 days
7
44066 cadamcat
author:cadamcat
doc: note formalisation of Mihăilescu's theorem in 1000.yaml Record an external Lean formalisation of Mihăilescu's theorem (Q174955, formerly Catalan's conjecture). The comment no longer says that only the statement is formalised, since the formal-conjectures statement now links to this proof. --- - [ ] awaiting-zulip: https://leanprover.zulipchat.com/#narrow/channel/345428-mathlib-reviewers/topic/Purpose.20of.201000.2Eyaml/with/633932200 (in the private reviewers stream) - Formalisation: [cadamcat/catalan-lean4](https://github.com/cadamcat/catalan-lean4), release [v1.0.0](https://github.com/cadamcat/catalan-lean4/releases/tag/v1.0.0). The link points to `Catalan.catalans_conjecture` in `Catalan/Final/Assembly.lean`, pinned at commit `4bf1f74`. - The statement is verbatim the one in formal-conjectures, which has linked this proof since [google-deepmind/formal-conjectures#6452](https://github.com/google-deepmind/formal-conjectures/pull/6452) (merged 2026-09-22). - The project pins Lean 4.33.1 and Mathlib `0df444a360eaa60ab8c11dca51a86af692955474`. `#print axioms Catalan.catalans_conjecture` reports `[propext, Classical.choice, Quot.sound]` ([recorded output](https://github.com/cadamcat/catalan-lean4/blob/4bf1f742eb341decbdfc59ec56e1616f4d13e33b/Verification/axioms.txt)). The [supplemental evidence](https://github.com/cadamcat/catalan-lean4/blob/4bf1f742eb341decbdfc59ec56e1616f4d13e33b/Verification/Supplemental/README.md) records our runs of the nanoda kernel checker and a build of the complete Mathlib library from source on Linux, for proof commit `897079d`, whose proof sources are identical to `4bf1f74`. - The project vendors 871 unmodified modules of [ClassFieldTheory](https://github.com/n-yamaguchi-0729/ClassFieldTheory) (commit `2930b56`, Apache-2.0) for the class field theory it uses. - `scripts/yaml_check.py docs/100.yaml docs/1000.yaml docs/overview.yaml docs/undergrad.yaml` passes. AI disclosure: the linked formalisation was developed with AI coding agents (Codex and Claude Code; see its [AUTHORS.md](https://github.com/cadamcat/catalan-lean4/blob/4bf1f742eb341decbdfc59ec56e1616f4d13e33b/AUTHORS.md)). I checked the final statement, its match with formal-conjectures, and the axiom output. new-contributor awaiting-zulip LLM-generated 4/1 docs/1000.yaml 1 4 ['github-actions', 'grunweg'] nobody
14-19081
14 days ago
47-19304
47 days ago
1-1492
1 day
0
43318 wpegden
author:wpegden
doc(1000): add the strong and weak perfect graph theorems Adds external-formalization entries for Q16680059 (strong perfect graph theorem) and Q2800071 (perfect graph theorem), both formalized in Lean 4 at https://github.com/wpegden/spgt with commit-pinned permalinks. --- - [ ] awaiting-zulip: https://leanprover.zulipchat.com/#narrow/channel/345428-mathlib-reviewers/topic/Purpose.20of.201000.2Eyaml/with/633932200 (in the private reviewers stream) <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor awaiting-zulip 8/0 docs/1000.yaml 1 15 ['SnirBroshi', 'github-actions', 'grunweg', 'thorimur', 'wpegden', 'wwylele'] nobody
14-19069
14 days ago
67-79199
67 days ago
0-72433
20 hours
0
38357 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Coloring/Greedy): Greedy coloring --- Dependencies are included as sorried theorems to make the diff saner, but exist in the dependent PRs in full. <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on 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: #35619 - [x] depends on: #35622 - [x] depends on: #35628 - [ ] depends on: #36626 - [x] depends on: #38422 - [x] depends on: #40624 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics blocked-by-other-PR 294/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/Greedy.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/Vertex.lean 3 11 ['SnirBroshi', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] nobody
13-72843
13 days ago
201-35382
201 days ago
0-1908
31 minutes
0
45256 viliml
author:viliml
feat(CategoryTheory/Monad/EquivMon): Upgrade equivalence to isomorphism As a bonus, this seems to get automatically proven even without the need to violate defeq transparency. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> tech debt t-category-theory new-contributor will-close-soon awaiting-author merge-conflict 12/13 Mathlib/CategoryTheory/Monad/EquivMon.lean 1 5 ['github-actions', 'joelriou', 'mathlib-merge-conflicts'] nobody
13-64088
13 days ago
16-6065
16 days ago
0-1654
27 minutes
0
43406 luigi-massacci
author:luigi-massacci
ci: add comment with rendered links for PRs with new crossref tags Add a new workflow that computes the list of added cross-reference tags, and renders it as a markdown table with the declaration name (as a clickable link to the code line) side by side with the tag (as a clickable link to the corresponding database entry). This is then be added as a comment to the PR. The possibility to have something like this was discussed before both on Zulip and in the comments of PRs adding tags, as it is currently highly annoying for a reviewer to see exactly what is being referenced to in the database, this should make it significantly easier. To compute the diffs, I am recycling the existing `export_crossref` infrastructure so that nothing has to be elaborated again, which seems very reasonable to me. I am only making one change to it, namely adding the resolved url to the json computed in `export_crossrefs.lean`. This won't break anything in the downstream `export-crossref` repo (that reads the entries it needs off a dict), but allows this workflow to not have to re-elaborate all the tags. Unfortunately some entry urls (e.g. for pi-base) cannot be extracted just from the database name and id, so it's either this or re-elaborating. In order to use it, I'm also adding the currently generated and discarded `crossrefs.json`to the `import-graph`. Looking at the current state, I'm neither the first nor the second to piggy-back off of `import-graph`, and by now we should probably change the name in a follow up PR, if I don't misunderstand something. Note that the new workflow file is mostly identical to the existing `declDiff`, the changes only start at line 153 (out of 214). This is the corresponding PR to mathlib-ci for the script that computes the table: https://github.com/leanprover-community/mathlib-ci/pull/68 I've also made a [PR to the crossref-export](https://github.com/leanprover-community/crossref-exports/pulls) repo adjusting the documentation (README). One thing is I made a documentation choice that can be discussed: I've removed all explicit references to the existing tags from the various script doc-strings and markdown docs, and replaced them with generic phrases. The reason is that every single one was out of date with what is currently in mathlib, and it seems an unnecessary maintenance burden to list the available databases in all those places, especially since none of the scripts actually care (they are not hard-coded). AI use: I've never added anything to CI before so I had Claude help me a bit with the first draft. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [x] depends on: #44817 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI LLM-generated merge-conflict 236/15 .github/workflows/build_template.yml,.github/workflows/crossref-diff.yml,.github/workflows/export_crossrefs.yml,docs/workflows.md,scripts/README.md,scripts/export_crossrefs.lean 6 9 ['SnirBroshi', 'github-actions', 'luigi-massacci', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
12-57452
12 days ago
27-22355
27 days ago
39-59235
39 days
0
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
12-18340
12 days ago
12-18390
12 days ago
12-18317
12 days
2
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
11-66179
11 days ago
11-73427
11 days ago
11-73354
11 days
0
45483 chenle02
author:chenle02
feat(MeasureTheory/Function/ConvergenceInDistribution): the Billingsley approximation theorem ## Statement `tendstoInDistribution_of_approx` (Billingsley, *Convergence of Probability Measures*, 2nd ed., Theorem 3.2). Let `E` be a separable pseudometric space with its Borel σ-algebra, `l` a countably generated filter on `ι` and `l'` a nontrivial filter on `κ`. Let `U i, X k i : Ω i → E` (on the probability spaces `(Ω i, μ i)`), `Y k : Ωκ k → E` (on `(Ωκ k, ν k)`) and `Z : Ω' → E`. If * `X k i` converges in distribution to `Y k` along `l`, for each `k`, * `Y k` converges in distribution to `Z` along `l'`, * `U i` is a.e.-measurable for each `i`, and * for every `δ > 0`, `limsup_{i → l} μ i {ω | δ ≤ dist (U i ω) (X k i ω)}` tends to `0` along `l'`, then `U i` converges in distribution to `Z` along `l`. ```lean theorem tendstoInDistribution_of_approx {κ : Type*} {Ωκ : κ → Type*} {mκ : ∀ k, MeasurableSpace (Ωκ k)} {ν : (k : κ) → Measure (Ωκ k)} [∀ k, IsProbabilityMeasure (ν k)] {l' : Filter κ} [l'.NeBot] [l.IsCountablyGenerated] {X : κ → (i : ι) → Ω i → E} {Y : (k : κ) → Ωκ k → E} {U : (i : ι) → Ω i → E} (hX : ∀ k, TendstoInDistribution (X k) l (Y k) μ (ν k)) (hY : TendstoInDistribution Y l' Z ν μ') (hU : ∀ i, AEMeasurable (U i) (μ i)) (h_approx : ∀ δ > 0, Tendsto (fun k ↦ limsup (fun i ↦ μ i {ω | δ ≤ dist (U i ω) (X k i ω)}) l) l' (𝓝 0)) : TendstoInDistribution U l Z μ μ' ``` Two auxiliary results are added: * `tendstoInDistribution_iff_forall_lipschitz_integral_tendsto`: the `TendstoInDistribution` version of `tendsto_iff_forall_lipschitz_integral_tendsto` (bounded Lipschitz test functions), analogous to the existing `tendstoInDistribution_iff_forall_integral_rclike_tendsto`. * `abs_integral_sub_integral_le_of_lipschitzWith`: for `F` `L`-Lipschitz with oscillation at most `M`, `|∫ F ∘ A ∂μ - ∫ F ∘ B ∂μ| ≤ L * δ + M * μ.real {δ ≤ dist A B}` (`δ ≥ 0`). This estimate was previously inlined in the proof of `tendstoInDistribution_of_tendstoInMeasure_sub`; that proof now calls the lemma (about 45 lines removed there), with no change to its statement. ## Proof idea Test against a bounded `L`-Lipschitz `F` (oscillation `≤ M`). For any `k`, `δ`, `|E F(U i) - E F(Z)| ≤ L δ + M P(δ ≤ dist (U i) (X k i)) + |E F(X k i) - E F(Y k)| + |E F(Y k) - E F(Z)|`. Given `η > 0`, choose `δ` with `L δ < η/4`, then (using `l'.NeBot`) a single `k` for which the last term is `< η/4` and `limsup_i P(δ ≤ dist (U i) (X k i)) < ε` with `M ε ≤ η/4`; for this `k`, eventually in `i` the probability is `< ε` and the third term is `< η/4`. ## Relation to existing results * Slutsky-type lemma `tendstoInDistribution_of_tendstoInMeasure_sub` is the special case `X k = X`, `Y k = Z` (one prelimit space). The new theorem is more general in three ways: the prelimit spaces `Ω i` may depend on `i` (matching the definition of `TendstoInDistribution`), the approximating limits `Y k` live on their own spaces `Ωκ k`, and `E` only needs to be a separable pseudometric space rather than a seminormed group. The statement and proof of the Slutsky lemma are left as they are apart from extracting the comparison estimate; if reviewers prefer, it could instead be derived from the new theorem (with `κ = Unit`, `l' = ⊤`). * #37279 (multivariate CLT) also edits this file: it adds `:= by fun_prop` to `forall_aemeasurable`, switches the `tendsto` field to `Measure.toProbabilityMeasure`, adds `TendstoInDistribution.const_const`, removes some `set_option`s and adapts the proofs of `congr`, `continuous_comp` and `tendstoInDistribution_of_ae_tendsto`. It contains nothing like the approximation theorem. Its hunks are all above `TendstoInMeasure.tendstoInDistribution`, while this PR inserts below it and edits the body of `tendstoInDistribution_of_tendstoInMeasure_sub`. `git apply --check` of the #37279 hunks for this file on top of this branch succeeds (offset only). The new proofs reach the `ProbabilityMeasure` coercion only through `simpa` and the existing `tendstoInDistribution_iff_forall_integral_rclike_tendsto`, so they should not depend on the representation that #37279 changes; this has not been compiled against #37279. ## Reference P. Billingsley, *Convergence of Probability Measures*, 2nd ed., Wiley, 1999, Theorem 3.2. AI tools (Claude and Codex) were used to port and adapt this proof to Mathlib; the author reviewed it. t-measure-probability new-contributor LLM-generated 152/49 Mathlib/MeasureTheory/Function/ConvergenceInDistribution.lean 1 4 ['github-actions', 'lua-vr'] nobody
10-56500
10 days ago
10-59740
10 days ago
10-59667
10 days
0
45514 PSchwahn
author:PSchwahn
feat(Logic/Equiv/Fin/Basic): extension/deletion operations on permutations on `Fin n` Add basic operations on permutations on `Fin n`: - `Fin.Perm.castSucc`: extend a permutation on `Fin n` to one on `Fin (n + 1)` in the obvious way. - `Fin.Perm.removeNth`: removes a given position in a permutation on `Fin (n + 1)`, and collapses the domain and range to `Fin n`. Useful in conjunction with `Fin.succAbove`. Along this, add some API theorems: - `removeNth_of_castSucc_lt₁`, `removeNth_of_castSucc_lt₂`, `removeNth_of_le_castSucc₁` and `removeNth_of_le_castSucc₂` are analogous to [Fin.succAbove_of_castSucc_lt](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Fin/SuccPred.html#Fin.succAbove_of_castSucc_lt) resp. [Fin.succAbove_of_le_castSucc](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Fin/SuccPred.html#Fin.succAbove_of_le_castSucc). - `succAbove_removeNth` shows how `Fin.Perm.removeNth` interacts with [Fin.succAbove](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Fin/SuccPred.html#Fin.succAbove). - `castSucc_zero` and `castSucc_succ` are simp lemmas for `Fin.Perm.castSucc`. --- new-contributor t-logic 130/0 Mathlib/Logic/Equiv/Fin/Basic.lean 1 3 ['github-actions'] nobody
9-61687
9 days ago
9-61746
9 days ago
9-61673
9 days
0
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
6-76106
6 days ago
6-76154
6 days ago
6-76081
6 days
0
38472 Raph-DG
author:Raph-DG
feat(AlgebraicGeometry): The Weil divisor associated to an element of the function field on a locally Noetherian integral scheme In this PR we define and provide some basic API for principal Weil divisors, i.e. the Weil divisor associated to an element of the function field of a locally noetherian, integral scheme. - [x] depends on: #29774 - [x] depends on: #37985 - [x] depends on: #37901 - [x] depends on: #38002 - [x] depends on: #41317 --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 206/18 Mathlib.lean,Mathlib/AlgebraicGeometry/AlgebraicCycle/Basic.lean,Mathlib/AlgebraicGeometry/AlgebraicCycle/Principal.lean,Mathlib/AlgebraicGeometry/Noetherian.lean,Mathlib/AlgebraicGeometry/OrderOfVanishing/Basic.lean,Mathlib/Topology/LocallyFinsupp.lean 6 20 ['Brian-Nugent', 'Raph-DG', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] joelriou
assignee:joelriou
5-46540
5 days ago
5-46182
5 days ago
62-77607
62 days
1
45229 grunweg
author:grunweg
feat: lint badly named coercion lemmas If a lemma/theorem name contains the string `coe`, but references no constant with that name, it is almost certainly a misnamed coercion lemma. Add an environment linter for this. Note that coercion lemmas should be named according to the coercion they involve. --- Many names in mathlib are still wrong: this will need an exceptions update first, and then can be reduced slowly over time. Inspired by #44825. <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other 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 94/4 Mathlib/Tactic/Linter/Style.lean,MathlibTest/Linter/Style.lean 2 17 ['JovanGerb', 'SnirBroshi', 'github-actions', 'grunweg'] nobody
5-11854
5 days ago
5-7148
5 days ago
16-43873
16 days
0
43493 xroblot
author:xroblot
feat(NumberTheory/NumberField): complex embeddings of quadratic fields This PR describes the complex embeddings of the quadratic fields `ℚ(√d)` and deduces when a quadratic field is totally real or totally complex. Prepared with Claude Code 🤖 --- - [ ] depends on: #43491 - [ ] depends on: #43490 - [x] depends on: #43088 - [x] depends on: #42554 - [x] depends on: #42297 blocked-by-other-PR large-import merge-conflict t-number-theory t-analysis 1180/12 Mathlib.lean,Mathlib/Algebra/QuadraticAlgebra/Basic.lean,Mathlib/Algebra/QuadraticAlgebra/Discriminant.lean,Mathlib/Algebra/QuadraticAlgebra/Int.lean,Mathlib/Algebra/QuadraticAlgebra/IsQuadraticExtension.lean,Mathlib/Algebra/Ring/Int/Parity.lean,Mathlib/Algebra/Squarefree/Basic.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Minpoly.lean,Mathlib/LinearAlgebra/Unimodular.lean,Mathlib/NumberTheory/FundamentalDiscriminant.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Basic.lean,Mathlib/NumberTheory/NumberField/QuadraticField/Basic.lean,Mathlib/RingTheory/IntegralClosure/IsIntegralClosure/Basic.lean,Mathlib/RingTheory/Localization/FractionRing.lean,Mathlib/RingTheory/QuadraticAlgebra.lean,Mathlib/RingTheory/Trace/Basic.lean 16 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
4-79068
4 days ago
unknown
unknown
0
45671 fbarroero
author:fbarroero
feat(NumberTheory/NumberField/Ostrowski): prove Ostrowski's theorem for number fields, archimedean case We prove the archimedean case of Ostrowski's theorem for number fields: every archimedean absolute value on a number field `K` is equivalent to the absolute value of a unique infinite place of `K`. Main results, in the new file `Mathlib/NumberTheory/NumberField/Ostrowski.lean`: - `NumberField.existsUnique_infinitePlace_isEquiv`: `∃! w : InfinitePlace K, v ≈ w.val` - `NumberField.exists_complexEmbedding_rpow_eq`: `v x = ‖σ x‖ ^ t` for some `σ : K →+* ℂ` and `0 < t` This PR was generated with the help of 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] --> WIP LLM-generated 152/0 Mathlib.lean,Mathlib/Analysis/Normed/Field/Ultra.lean,Mathlib/NumberTheory/NumberField/Ostrowski.lean,Mathlib/NumberTheory/Ostrowski.lean 4 2 ['github-actions'] nobody
4-63291
4 days ago
unknown
unknown
0
42226 espottesmith
author:espottesmith
feat(Combinatorics/Hypergraph): add restriction `x ≠ y` to hypergraph vertex and edge adjacency --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> This introduces a small change to the definitions of adjacency and edge-adjacency for undirected hypergraphs, based on a conversation with @Jun2M and @b-mehta in [#28613](https://github.com/leanprover-community/mathlib4/pull/28613). Previously, any two vertices (edges) `x` and `y` could be adjacent, provided that there was an edge in the edge set containing both of them (there was a vertex contained in both of them). Now, we add the restriction that `x` is not equal to `y`. This should allow `SimpleGraph` to be a clean specialization of `Hypergraph` and to ease the eventual implementation of walks. This PR has no dependencies, but see also [42164](https://github.com/leanprover-community/mathlib4/pull/42162), @Jun2M's implementation of `HyperGraphLike` and formalization that `Hypergraph`s are `HyperGraphLike`, which includes this restriction on `Adj`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
4-50460
4 days ago
103-22771
103 days ago
103-22698
103 days
0
42820 tolgadgrmnc27
author:tolgadgrmnc27
feat(Data/Nat/Choose): elementary Chernoff bound for tail sums of binomial coefficients Adds an elementary, purely combinatorial Chernoff-type bound on tail sums of binomial coefficients: ```lean theorem Nat.sum_Ico_choose_le_div (n m : ℕ) {x : α} (hx : 1 ≤ x) : ∑ j ∈ Ico m (n + 1), (n.choose j : α) ≤ (1 + x) ^ n / x ^ m ``` together with the specialization at `x = 2`: ```lean theorem Nat.sum_Ico_choose_le_three_pow_div (n m : ℕ) : ∑ j ∈ Ico m (n + 1), (n.choose j : α) ≤ 3 ^ n / 2 ^ m ``` The proof is the classical exponential moment trick done combinatorially: for `m ≤ j` and `1 ≤ x` we have `x ^ m ≤ x ^ j`, so the tail sum is bounded by `x ^ (-m) * ∑ j, n.choose j * x ^ j = x ^ (-m) * (1 + x) ^ n` by the binomial theorem. A helper `Nat.sum_range_choose_mul_pow` states the binomial theorem in the convenient form `∑ j ≤ n, n.choose j * x ^ j = (1 + x) ^ n`. ### Why this is not already in Mathlib * `Nat.sum_range_choose` gives the *total* sum `∑ j ≤ n, n.choose j = 2 ^ n`. * `Mathlib/Data/Nat/Choose/Bounds.lean` bounds a *single* coefficient (`choose_le_pow`, `choose_le_two_pow`, `choose_le_pow_div`, …). * `Mathlib/Probability/Moments/SubGaussian.lean` has Chernoff/Hoeffding, but measure-theoretically: using it for a counting argument requires setting up a probability space with independent Bernoulli variables and translating back to cardinalities. I could not find a statement bounding a *partial* sum of binomial coefficients. The version here needs no probability space and applies directly to counting arguments (its original use was bounding the number of `n < 2 ^ k` whose first `k` binary digits contain at least `m` ones). ### Notes * Stated over a general `[Semifield α] [LinearOrder α] [IsStrictOrderedRing α]`, matching the typeclass style of `Mathlib/Data/Nat/Choose/Bounds.lean`. * `Ico m (n + 1)` rather than a `filter (m ≤ ·)` form, as is idiomatic in Mathlib; the two are equal by `Finset.filter_le_eq_Ico`-style reasoning. * Names are of course open to bikeshedding. --- - [x] depends on: nothing t-data new-contributor 84/0 Mathlib.lean,Mathlib/Data/Nat/Choose/Tail.lean 2 3 ['github-actions'] eric-wieser
assignee:eric-wieser
4-50459
4 days ago
85-10921
85 days ago
85-10848
85 days
0
45020 YaelDillies
author:YaelDillies
feat(RingTheory): the associates of a UFD form a complete lattice Use this new fact to redefine `Nat.setGcd` in a more elementary way. --- - [x] depends on: #45244 - [ ] depends on: #45245 - [x] depends on: #45246 - [x] depends on: #45247 - [ ] depends on: #45248 - [ ] depends on: #45249 - [ ] depends on: #45250 - [x] depends on: #45251 - [ ] depends on: #45252 - [ ] depends on: #45253 - [x] depends on: #45269 - [ ] depends on: #45270 - [ ] depends on: #45422 - [x] depends on: #45424 t-ring-theory blocked-by-other-PR large-import 854/207 Mathlib.lean,Mathlib/Algebra/Divisibility/Hom.lean,Mathlib/Algebra/GCDMonoid/Nat.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Algebra/GroupWithZero/Prod.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/Algebra/Order/Monoid/Associated.lean,Mathlib/Algebra/Order/Monoid/AssociatedEquiv.lean,Mathlib/Algebra/Ring/Divisibility/Basic.lean,Mathlib/Basic/ENNReal/Basic.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/ENat/Lattice.lean,Mathlib/Dynamics/TopologicalEntropy/NetEntropy.lean,Mathlib/NumberTheory/FrobeniusNumber.lean,Mathlib/Order/CompleteBooleanAlgebra.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Finsupp.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean,Mathlib/Order/ConditionallyCompleteLattice/Multiset.lean,Mathlib/Order/ConditionallyCompleteLattice/WithTop.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/Preorder/Finsupp.lean,Mathlib/Order/Setoid/Basic.lean,Mathlib/Order/WithBot.lean,Mathlib/RingTheory/UniqueFactorizationDomain/CompleteLattice.lean,Mathlib/RingTheory/UniqueFactorizationDomain/MulEquiv.lean,Mathlib/RingTheory/UniqueFactorizationDomain/NormalizedFactors.lean 29 8 ['SnirBroshi', 'YaelDillies', 'alreadydone', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
4-16747
4 days ago
16-14511
16 days ago
5-8262
5 days
0
41946 Hilbert-beinghappy
author:Hilbert-beinghappy
feat(SetTheory/Descriptive/Tree): add infinite branches and bodies Motivation The existing `tree A` API models trees as prefix-closed sets of finite lists, together with some basic node operations (`take`, `subAt`, `pullSub`). It had no notion of an infinite branch through such a tree. Infinite branches and their collection, the body of a tree, are basic vocabulary in descriptive set theory (e.g. to state that a tree is well-founded iff its body is empty, or to talk about closed subsets of Baire space as bodies of trees), so this is a natural extension of the file. Changes * `initialSegment x n` is the list of the first `n` values of an infinite sequence `x : ℕ → A`, with lemmas relating its length and its behaviour when passing from `n` to `n + 1`. * `IsBranch T x` says that `x : ℕ → A` is an infinite branch of `T`: every finite initial segment of `x` lies in `T`. * `body T` is the set of infinite branches of `T`, defined via `IsBranch`. * The auxiliary lemmas `nil_mem_of_isBranch` (a branch forces the root `[]` to lie in `T`) and `body_mono` (`body` is monotone in the tree, tagged `@[gcongr]`) round out the basic API. Scope This PR intentionally does not add closedness of `body T` (which would require `A` to carry the discrete topology, so that `body T` is closed in the product topology on `ℕ → A`), well-foundedness of trees (which needs well-founded relations and descending chains), or rank (which needs ordinal-valued rank API). These are left for follow-up PRs, since each pulls in its own dependencies and deserves separate review. Verification * `lake build Mathlib.SetTheory.Descriptive.Tree` * `lake exe lint-style Mathlib.SetTheory.Descriptive.Tree` * `lake build Mathlib` AI use I used Codex to help select this item from the backlog, adapt the definitions to the existing `tree A` API and to the `Descriptive.Tree` namespace and current module system (e.g. adding the `public import` for `Mathlib.Data.List.OfFn`), draft the implementation, and run the three verification commands above. I checked every definition and lemma statement against its intended mathematical meaning, and went through each proof term individually, unfolding `initialSegment`, `IsBranch`, and `body` to confirm the `simp`/`simpa` calls actually close the resulting goals rather than just trusting that they compiled. t-set-theory LLM-generated awaiting-author 42/1 Mathlib/SetTheory/Descriptive/Tree.lean 1 1 ['YaelDillies', 'github-actions'] YaelDillies
assignee:YaelDillies
3-86315
3 days ago
3-86315
3 days ago
108-40815
108 days
0
44626 staroperator
author:staroperator
feat(Order/Zorn): Zorn's lemmas on `<`-chains Prove Zorn's lemmas on `<`-chains, named as `zorn_lt` etc. Reprove `zorn_le` etc. directly from the `<`-chain versions. Some proofs (`zorn_lt_nonempty` and `zorn_lt₀`) are golfed. **The proof of `zorn_lt` from `exists_maximal_of_chains_bounded` is written by AI (GPT-6 Astra).** --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on 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: #44490 blocked-by-other-PR LLM-generated t-order merge-conflict 261/152 Counterexamples/AharoniKorman.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/Convex/Cone/Extension.lean,Mathlib/Data/Fin/FlagRange.lean,Mathlib/FieldTheory/Extension.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/LinearAlgebra/Basis/Flag.lean,Mathlib/Order/BourbakiWitt.lean,Mathlib/Order/Extension/Linear.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/OrderIsoNat.lean,Mathlib/Order/Preorder/Chain.lean,Mathlib/Order/Zorn.lean,Mathlib/Order/ZornAtoms.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Basic.lean,Mathlib/RingTheory/Ideal/Oka.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Kaplansky.lean,Mathlib/SetTheory/Cardinal/EventuallyConst.lean,Mathlib/Topology/ShrinkingLemma.lean 22 4 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
3-64225
3 days ago
unknown
unknown
0
44889 RemyDegenne
author:RemyDegenne
feat(Probability/Kernel): lemmas about invariant measures and powers of a kernel This is a first PR in a series towards an ergodic theorem for Markov kernels (convergence in `tvDist` of the power to an invariant measure). --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> The code was written by an LLM. I reviewed it, notably deleting many trivial API lemmas about pow (and adding two) and golfing the remaining proofs. LLM-generated LeanMachineLearning t-measure-probability awaiting-author 112/1 Mathlib/Probability/Kernel/Composition/Comp.lean,Mathlib/Probability/Kernel/Composition/MeasureComp.lean,Mathlib/Probability/Kernel/Invariance.lean 3 19 ['DavidLedvinka', 'EtienneC30', 'github-actions'] nobody
2-71158
2 days ago
3-22952
3 days ago
22-994
22 days
1
45720 DavidLedvinka
author:DavidLedvinka
refactor(Tactic/Inclusion): use the coercion from `Dyadic` to `Real` Refactor the inclusion tactic to use the coercion from `Dyadic` to `Real` obtained by composing the coercions from `Dyadic` to `Rat` and `Rat` to `Real` rather than an explicitly defined `toReal` function. This PR is intended to address the concern raised in this zulip thread: [#mathlib4 > Dyadic rationals in Mathlib @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Dyadic.20rationals.20in.20Mathlib/near/622684229). - [ ] depends on: #43038 LLM-generated large-import blocked-by-other-PR 287/121 Mathlib.lean,Mathlib/Data/Dyadic/Basic.lean,Mathlib/Deprecated/Aliases.lean,Mathlib/Tactic/Inclusion/Core/Elab.lean,Mathlib/Tactic/Inclusion/Extension/IntervalDyadicReal/Basic.lean,Mathlib/Tactic/Inclusion/Extension/IntervalDyadicReal/BinarySplit.lean,Mathlib/Tactic/Inclusion/Extension/IntervalDyadicReal/Dyadic.lean,Mathlib/Tactic/Inclusion/Extension/IntervalDyadicReal/Exp.lean,Mathlib/Tactic/Inclusion/Extension/IntervalDyadicReal/Init.lean,Mathlib/Tactic/Inclusion/Extension/IntervalDyadicReal/Rational.lean 10 4 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
2-65266
2 days ago
2-68299
2 days ago
0-2738
45 minutes
0
42178 cameronfreer
author:cameronfreer
feat(Computability/Primrec/List): add theorems showing that List.all, List.any and List.sum are primitive recursive Add `list_all`, `list_any` and `list_sum` (for lists of natural numbers), parameterized in the style of the existing `list_map`, `list_foldr` and `list_findIdx`. These lemmas avoid repeated derivations from `list_foldr`. Corresponding local lemmas simplify proofs across three files in [cameronfreer/computable-analysis](https://github.com/cameronfreer/computable-analysis/commit/a6898b5). --- :robot: These proofs were written with the assistance of Claude Opus 5 high and reviewed by GPT Sol 5.6 xhigh. t-computability new-contributor LLM-generated awaiting-author 21/1 Mathlib/Computability/Primrec/List.lean 1 7 ['Komyyy', 'cameronfreer', 'github-actions'] Komyyy
assignee:Komyyy
2-27630
2 days ago
3-20651
3 days ago
100-84516
100 days
0
45771 darkhipo
author:darkhipo
feat(MeasureTheory): bochner product integral over Measure.infinitePi # PR — Bochner product integral over `Measure.infinitePi` The proof is a single new file, `Mathlib/MeasureTheory/Integral/InfinitePiProduct.lean`, carrying the Mathlib module header (`module` / `public import` / `public section`), the Apache 2.0 licence line with `Copyright (c) 2026 darkhipo`, and `namespace MeasureTheory`. --- ## Proposed title `feat(MeasureTheory): Bochner product integral over Measure.infinitePi` ## Proposed file placement `Mathlib/MeasureTheory/Integral/InfinitePiProduct.lean` Imports (verified sufficient — the module compiles with exactly these, under `set_option autoImplicit false`, in the modern `module`/`public import` form): ```lean public import Mathlib.Analysis.SpecialFunctions.Log.Summable public import Mathlib.MeasureTheory.Integral.DominatedConvergence public import Mathlib.MeasureTheory.Integral.Lebesgue.Map public import Mathlib.MeasureTheory.Integral.Pi public import Mathlib.Probability.ProductMeasure ``` Rationale for placement: it is the infinite-index companion of `MeasureTheory.integral_fintype_prod_eq_prod` (`Mathlib/MeasureTheory/Integral/Pi.lean`), and it integrates over `Measure.infinitePi` (`Mathlib/Probability/ProductMeasure.lean`). ## Main results ```lean theorem MeasureTheory.integral_finset_prod_infinitePi (hf : ∀ i, AEStronglyMeasurable (f i) (μ i)) (s : Finset ι) : ∫ x, ∏ i ∈ s, f i (x i) ∂(Measure.infinitePi μ) = ∏ i ∈ s, ∫ x, f i x ∂(μ i) theorem MeasureTheory.ae_summable_norm_sub_one_infinitePi (hf : ∀ i, AEStronglyMeasurable (f i) (μ i)) (hsum : ∑' i, ∫⁻ x, (‖f i x - 1‖₊ : ℝ≥0∞) ∂(μ i) ≠ ∞) : ∀ᵐ x ∂(Measure.infinitePi μ), Summable fun i => ‖f i (x i) - 1‖ -- the general form: a norm bound family instead of a flat 1 theorem MeasureTheory.hasProd_integral_tprod_infinitePi_of_norm_le (hf : ∀ i, AEStronglyMeasurable (f i) (μ i)) (hC0 : ∀ i, 0 ≤ C i) (hb : ∀ i, ∀ᵐ x ∂(μ i), ‖f i x‖ ≤ C i) (hC : Summable fun i => ‖C i - 1‖) (hsum : ∑' i, ∫⁻ x, (‖f i x - 1‖₊ : ℝ≥0∞) ∂(μ i) ≠ ∞) : HasProd (fun i => ∫ x, f i x ∂(μ i)) (∫ x, ∏' i, f i (x i) ∂(Measure.infinitePi μ)) -- the ≤ 1 case, kept as a corollary (this is the form the campaign consumes) theorem MeasureTheory.hasProd_integral_tprod_infinitePi (hf) (hb : ∀ i, ∀ᵐ x ∂(μ i), ‖f i x‖ ≤ 1) (hsum) : HasProd … theorem MeasureTheory.integral_tprod_infinitePi (hf) (hb) (hsum) : ∫ x, ∏' i, f i (x i) ∂(Measure.infinitePi μ) = ∏' i, ∫ x, f i x ∂(μ i) ``` (`ι` countable, `[∀ i, MeasurableSpace (X i)]`, `μ : (i : ι) → Measure (X i)` with `[∀ i, IsProbabilityMeasure (μ i)]`, `f : (i : ι) → X i → ℂ`, `C : ι → ℝ`.) ## Why it is not already there * finite index, product-measure form: `MeasureTheory.integral_fintype_prod_eq_prod`; * finite index, independence form: `ProbabilityTheory.iIndepFun.integral_prod_eq_prod_integral` (and the more general `iIndepFun.integral_fun_prod_comp` for functions of independent random variables), in `Mathlib/Probability/Independence/Integration.lean` — this is the closest existing relative of the present file, and it already contains the reduction of independence to the pi product measure (`iIndepFun.map_fun_eq_pi_map`) that the infinite-index statement takes as its starting point; * nonnegative integrands, infinite index: derivable from `lintegral_tsum` (monotone convergence); * Bochner/`ℂ` integrands, infinite index: **absent** — and monotone convergence does not apply, because the products are not nonnegative. The proof needs an honest convergence argument. ## Relation to `iIndepFun.integral_prod_eq_prod_integral` That theorem and its neighbors state the **finite-index** identity `μ[∏ i, X i] = ∏ i, μ[X i]` for a family of **mutually independent random variables** `X : (i : ι) → Ω → 𝓧 i` on a common probability space (`[Fintype ι]`, `iIndepFun X μ`, measurability only — at finite index no convergence content is even statable). The present file is the **countable-index, infinite-product, bare-product-measure** analogue, and the delta is exactly what finiteness hid: * **index**: `[Fintype ι]` there vs `[Countable ι]` with genuinely infinite `∏'` here — the conclusion is a `HasProd` convergence statement, so a.e. summability of `∑ i, ‖f i (x i) - 1‖` (Tonelli) and `multipliable_one_add_of_summable` enter, neither of which has a finite-index counterpart; * **framing**: there, hypotheses on a common probability space plus `iIndepFun`; here, no random-variable layer at all — the statement is directly about `Measure.infinitePi μ`, the product-measure form their `iIndepFun.map_fun_eq_pi_map` reduces independence to; * **bounds**: there, none needed; here, the `‖f i x‖ ≤ C i` bound family with `∑ i, ‖C i - 1‖` summable is what makes dominated convergence along `Finset ι` work ("Why the bound family is `∑ ‖C i - 1‖`" below). Conversely, neither statement subsumes the other: the independence file cannot state an infinite product, and this file does not require (or produce) the `iIndepFun` common-space packaging. ## Proof sketch (for the review) 1. **Finite subsets.** `(Measure.infinitePi μ).map (Finset.restrict s) = Measure.pi (μ|_s)` (`Measure.infinitePi_map_restrict`), then `integral_fintype_prod_eq_prod` and `measurePreserving_eval_infinitePi` for the single coordinates. 2. **A.e. summability of the deviations.** Tonelli: `∫⁻ x, ∑' i, ‖f i (x i) - 1‖` equals `∑' i, ∫⁻ x, ‖f i x - 1‖` (`lintegral_tsum` + `lintegral_map'`), finite by hypothesis, hence `∑ i, ‖f i (x i) - 1‖` is summable for a.e. `x`. 3. **A.e. multipliability.** `multipliable_one_add_of_summable` applied to `f i (x i) - 1`. 4. **Domination.** `‖∏ i ∈ s, f i (x i)‖ = ∏ i ∈ s, ‖f i (x i)‖ ≤ ∏ i ∈ s, C i`, and `C i ≤ exp (C i - 1)` for `C i ≥ 0` gives `∏ i ∈ s, C i ≤ exp (∑ i ∈ s, (C i - 1)) ≤ exp (∑' i, ‖C i - 1‖)` — a constant independent of `s`. 5. **Limit.** `tendsto_integral_filter_of_dominated_convergence` along `atTop : Filter (Finset ι)`, dominated by that constant, pointwise convergence from step 3; the finite-subset integrals are rewritten by step 1. `HasProd.tprod_eq` turns the convergence form into the equation form. ## Why the bound family is `∑ ‖C i - 1‖` and not `∑ C i` A product of bounds is not additive in them: a factor `C i < 1` scales the bound *down*, a factor `> 1` scales it *up*, so summability of `C` alone does not bound `∏ i ∈ s, C i` uniformly. The log-scale hypothesis `Summable fun i => ‖C i - 1‖` is exactly the statement that the family `C` is multipliable, made explicit; `exp (∑' i, ‖C i - 1‖)` is then the dominator. The flat case is `C ≡ 1` (where `∑ ‖C i - 1‖ = 0` and the dominator is `1`), which is the corollary above. ## Review-risk notes (honest) * The `𝕜`-generalization (any `RCLike 𝕜` / `NormedField` instead of `ℂ`) is **open**; `ℂ` is what the use case needs. The proofs use only the normed-field structure plus completeness of `ℂ`, so the generalization is plausible but not attempted here. * The summability hypothesis `∑' i, ∫⁻ x, ‖f i x - 1‖₊ ≠ ∞` is chosen because `multipliable_one_add_of_summable` consumes the real-valued `Summable fun i => ‖f i (x i) - 1‖` and `ENNReal.tsum_coe_ne_top_iff_summable` converts between them. A reviewer may prefer a hypothesis phrased through `Summable` on `ℝ≥0`-norms directly; the two are equivalent. * The bound family is not required to be *sharp* or to converge to `1`; `C i` may be any nonnegative family with `∑ ‖C i - 1‖` summable, including `C i < 1` for every `i`. * No `sorry`, no `native_decide`, no new axioms: every declaration reports `[propext, Classical.choice, Quot.sound]`, including the generalized theorem (receipt: `receipt/axcheck_infinitepiproduct.txt`, regenerated by `receipt/axcheck_infinitepiproduct.lean`). ## AI usage disclosure (Mathlib requires one) This contribution was produced by an AI agent (a large language model driven by the `opencode` harness) inside a human-directed formalization campaign; the human, darkhipo, reviewed and is submitting it. Every statement was checked by the Lean kernel; the proofs are machine-generated and human-readable but not human-written. The docstrings and this description were written by the agent. ## Checklist (Mathlib's) - [x] depends on no new axioms / `sorry`-free (kernel-verified, `#print axioms` receipt attached for all five declarations) - [x] builds with the narrowest import set that works (five `public import`s, each exercised) - [x] `set_option autoImplicit false` clean - [x] no linter warnings in this file (rebuilt clean: `lake build Pg182D2` reports no warning or error for `Pg182D2/InfinitePiProduct.lean`) - [x] docstrings on every declaration, module docstring present, `## Main results` section - [x] naming matches Mathlib conventions (`integral_*_prod_*`, `ae_*`, `hasProd_*`, `_of_norm_le`) - [x] Mathlib module form (`module`, `public import`, `public section`) - [x] licence header complete: `Copyright (c) 2026 darkhipo. All rights reserved.`, Apache 2.0, `Authors: darkhipo` - [ ] reviewed by a human Lean expert — **not done**. Nothing in this file has been read by a human with Lean expertise; the human submitting it has reviewed the *statement* and the campaign's use of it, not the proof scripts. - [ ] argued as `Mathlib`-worthy by a maintainer — that is the reviewers' call, not ours. ## Verification against upstream `master` at PR time Copied into `Mathlib/MeasureTheory/Integral/InfinitePiProduct.lean` on branch `infinite-pi-product`, based on `master` @ `71441a1480` (`chore: update Mathlib dependencies 2026-11-07`), toolchain `leanprover/lean4:v4.36.0-rc2`. * `lake exe cache get` + `lake build Mathlib.MeasureTheory.Integral.InfinitePiProduct` → `Build completed successfully`, **no warnings** (the build runs Mathlib's standard linter set, including `linter.style.longLine`, the header linter and `unusedSectionVars`). * `lake exe lint-style Mathlib.MeasureTheory.Integral.InfinitePiProduct` → exit code 0. * `lake exe mk_all` → the generated `Mathlib.lean` import line is byte-identical to the committed one. * `#print axioms` on the upstream copy: all five declarations depend only on `[propext, Classical.choice, Quot.sound]`, i.e. no `sorry` and no new axioms. Adaptations required by upstream `master` (the proof itself is unchanged from the version that compiled against the pin used during the campaign): 1. removed `set_option autoImplicit false` — `autoImplicit` is `false` globally in `lakefile.lean`; 2. `AEMeasurable.nnnorm` → `AEMeasurable.nnNorm` (two sites) and `coe_nnnorm` → `coe_nnNorm`, which are deprecated at `master`; 3. two lines reflowed to satisfy the 100-character `linter.style.longLine`; 4. added the import to `Mathlib.lean`. t-measure-probability new-contributor 224/0 Mathlib.lean,Mathlib/MeasureTheory/Integral/InfinitePiProduct.lean 2 3 ['github-actions'] nobody
1-75480
1 day ago
1-79436
1 day ago
1-79363
1 day
0
43858 BoltonBailey
author:BoltonBailey
chore(Algebra/GroupWithZero/Units/Basic): rename three lemmas `'` -> `₀` These lemmas about `GroupWithZero` 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'` ----- This PR comes about as a result of using Claude to look for easy reductions to the docPrime linter. <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt LLM-generated t-algebra awaiting-requeue
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 13 ['BoltonBailey', 'felixpernegger', 'github-actions', 'grunweg', 'mathlib-bors', 'mathlib-merge-conflicts'] nobody
1-21495
1 day ago
1-21496
1 day ago
48-54737
48 days
0
45789 ooovi
author:ooovi
chore(Geometry/Convex): generalize faces of cones to AddCommMonoid Generalize faces of pointed cones to `AddCommMonoid` from `AddCommGroup` --- I missed this somehow, sorry. <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other 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 easy awaiting-requeue 3/3 Mathlib/Geometry/Convex/Cone/Face/Basic.lean,Mathlib/Geometry/Convex/Cone/Face/Lattice.lean 2 2 ['github-actions', 'grunweg', 'mathlib-bors'] nobody
1-21087
1 day ago
1-21088
1 day ago
1-55863
1 day
0
45812 vihdzp
author:vihdzp
feat: the product of Coxeter groups is a Coxeter 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] --> - [ ] depends on: #45808 tech debt t-group-theory blocked-by-other-PR 275/65 Mathlib/GroupTheory/Coxeter/Basic.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/GroupTheory/NoncommCoprod.lean,Mathlib/GroupTheory/Subgroup/Centralizer.lean 4 2 ['github-actions', 'mathlib-dependent-issues'] nobody
0-45737
12 hours ago
unknown
unknown
0
42225 matt-w-horn
author:matt-w-horn
feat(Order): the Knaster-Tarski theorem on an interval `lfpIcc f a b` and `gfpIcc f a b` are the least and greatest fixed points of `f` on `Icc a b` in a conditionally complete lattice, for `f` monotone on the interval and mapping it into itself. `OrderHom.lfp` gives this through the complete lattice on the subtype, but needs `Fact (a ≤ b)` and returns subtype elements. --- Assisted-by: Claude Fable 5.1 (code), Gemini Argon (review); used in https://github.com/matt-w-horn/overload t-order new-contributor LLM-generated awaiting-author 126/0 Mathlib.lean,Mathlib/Order/FixedPointsIcc.lean 2 13 ['YaelDillies', 'github-actions', 'matt-w-horn', 'wwylele'] YaelDillies
assignee:YaelDillies
0-13563
3 hours ago
0-18019
4 hours ago
98-3777
98 days
0
36428 wrenna-robson
author:wrenna-robson
feat(Logic/Equiv/Fin): Streamline equiv definitions using mkDivMod This PR uses `Fin.mkDivMod` (from Batteries) to streamline `finProdFinEquiv`, and introduces `Nat`-level analogues to do the same for `Nat.divModEquiv`. * Add `Nat.mkDivMod n i j := n * i + j`, the `ℕ`-level analogue of `Fin.mkDivMod`, with basic `div`/`mod`/injectivity lemmas. * Add `Nat.mkDivFin n i (j : Fin n)`, a variant with the remainder bundled as a `Fin n`, whose lemmas recover the quotient and remainder without side conditions. * Redefine `finProdFinEquiv` in terms of `Fin.mkDivMod`, `Fin.divNat` and `Fin.modNat`. * Add `natProdFinEquiv n : ℕ × Fin n ≃ ℕ` (the analogue of `finProdFinEquiv` with `m` infinite), and redefine `Nat.divModEquiv` as its inverse. * `Nat.divModEquiv` now reconstructs `n * q + r` rather than `q * n + r`, matching `Fin.mkDivMod`. The generated `simps` lemmas change shape accordingly, and downstream proofs (`Complex.hasSum_cos'`, `Complex.hasSum_sin'`, `Complex.hasSum_arctan`, `mulHeight_mul_mulHeight`, `Finpartition.IsEquipartition.exists_partPreservingEquiv`) are adjusted. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 117/94 Mathlib/Analysis/SpecialFunctions/Complex/Arctan.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Series.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Logic/Equiv/Fin/Basic.lean,Mathlib/NumberTheory/Height/MvPolynomial.lean,Mathlib/Order/Partition/Equipartition.lean 6 7 ['JovanGerb', 'github-actions', 'mathlib-merge-conflicts', 'wrenna-robson'] eric-wieser
assignee:eric-wieser
0-9167
2 hours ago
0-7183
1 hour ago
125-7901
125 days
0
45830 plp127
author:plp127
feat(Data/Finsupp/Lex): left congruence for finsupp lex and colex Prove left congruence for finsupp lex and colex, right congruence is not proved since it requires preserving `0`. Also some trivial generalizations in `Mathlib.Data.Finsupp.WellFounded` and `Mathlib.Data.DFinsupp.WellFounded`. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other 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 90/5 Mathlib/Data/DFinsupp/WellFounded.lean,Mathlib/Data/Finsupp/Lex.lean,Mathlib/Data/Finsupp/WellFounded.lean 3 1 ['github-actions'] nobody
0-8841
2 hours ago
0-7954
2 hours ago
0-7881
2 hours
0
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] --> t-category-theory WIP tech debt 377/148 Mathlib/CategoryTheory/Monoidal/Bimon_.lean,Mathlib/CategoryTheory/Monoidal/Comon_.lean,Mathlib/CategoryTheory/Monoidal/Hopf_.lean,Mathlib/CategoryTheory/Monoidal/Mon.lean 4 1 ['github-actions'] robin-carlier
assignee:robin-carlier
0-5930
1 hour ago
0-5992
1 hour ago
5-66530
5 days
2
41206 Ljon4ik4
author:Ljon4ik4
feat: strict Lie-Rinehart ideals and quotients by them In this PR strict ideals in the context of Lie-Rinehart algebras are defined and it is shown that quotients by them are again Lie-Rinehart algebras. ## Context on Lie-Rinehart algebras A Lie-Rinehart algebra is given by a couple of an `R`-algebra `A` and an `R`-Lie-Algebra `L` acting on each other and satisfying certain compatibility conditions. The most important example of Lie-Rinehart algebras in geometry is given by `A`=smooth functions on a smooth manifold, and `L`= vector fields on the manifold. Many important geometric constructions (differential forms, Cartan calculus) are defined naturally in terms of Lie-Rinehart algebras. ## Relevance of the construction This construction of quotients by ideals will be important to define the Basechange of Lie-Rineahart algebras, which in turn is necessary to define 'comorphisms'. Comorphisms are the right notion of morphism to do geometry (e.g. a smooth map between two manifolds corresponds to a comorphism of their associated Lie-Rinehart algebras). ## Strictness The ideals here are called strict, because it is assumed that `A` remains untouched and one only considers a subobject of `L`. There seems to be constructions for non-strict ideals, but the definitions are more complicated: https://www.uni-math.gwdg.de/mjotz/JotzLean18c.pdf https://arxiv.org/pdf/1706.07084 ## Changes made The files `StrictIdeal.lean` and `Quotient.lean` are new, containing the definition of the ideals and the fact that quotients are again Lie-Rinehart algebras. The `Subalgebra.lean` was mildly changed, since it seemed strange to have `comap` and `ker` without having `map` and `range`. ## Disclosure of AI use All code is hand-written, I used claude interpret debug messages and search for lemmas. I think most notably the following patterns were proposed by claude: * `mul_smul := by rintro r₁ r₂ ⟨x⟩; exact congrArg mk (mul_smul r₁ r₂ x)` to show that things are well-defined on the quotient. * `change f.toLinearMap' ⁅x, y⁆ ∈ s₂` in the proof in `comap`. (I had a simp there, which had as a result `f.toLinearMap' ⁅x, y⁆ ∈ s₂`, but somehow the subsequent steps did not work then) ## Questions open * I am not sure if strict is a good prefix, and am happy to change it to something else. (Also, one could even argue that the subalgebras, as defined currently, should be called strict, too...) * In the definition of `mk'` the `toFun` field seems obsolete to me, but somehow if I remove it I get an error in one of the lemmas after it. * I am not sure I fully understand the 'per-definition' expose rules. When I first committed I got some errors so I made two defs exposed, but I am not sure that is the correct way to go. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-author
label:t-algebra$
544/29 Mathlib.lean,Mathlib/Algebra/Lie/Ideal.lean,Mathlib/Algebra/Lie/Subalgebra.lean,Mathlib/Algebra/LieRinehartAlgebra/Defs.lean,Mathlib/Algebra/LieRinehartAlgebra/Quotient.lean,Mathlib/Algebra/LieRinehartAlgebra/StrictIdeal.lean,Mathlib/Algebra/LieRinehartAlgebra/Subalgebra.lean,docs/references.bib 8 55 ['Ljon4ik4', 'YaelDillies', 'artie2000', 'github-actions'] YaelDillies
assignee:YaelDillies
0-1589
26 minutes ago
0-17510
4 hours ago
125-7309
125 days
0

PRs looking for help

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
26398 ChrisHughes24
author:ChrisHughes24
feat(ModelTheory): definable functions --- Possibly this should be generalized to partial functions. I migrated the PR by hand instead of using the script. - [x] depends on: #20166 - [x] depends on: #20161 - [x] depends on: #20115 - [x] depends on: #20174 - [x] depends on: #20175 - [x] depends on: #21948 <!-- 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] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) please-adopt merge-conflict t-logic 618/0 Mathlib.lean,Mathlib/ModelTheory/FunctionalFormula.lean 2 13 ['ChrisHughes24', 'github-actions', 'jcommelin', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'staroperator'] nobody
355-24978
11 months ago
377-14443
377 days ago
87-74589
87 days
1
25905 mans0954
author:mans0954
feat(RingTheory/Polynomial/SmallDegreeVieta): polynomial versions of results in Algebra.QuadraticDiscriminant This PR continues the work from #25605. Original PR: https://github.com/leanprover-community/mathlib4/pull/25605 merge-conflict t-ring-theory please-adopt 77/8 Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/RingTheory/Polynomial/SmallDegreeVieta.lean 2 47 ['chrisflav', 'github-actions', 'kckennylau', 'mans0954', 'mathlib4-merge-conflict-bot', 'ocfnash'] chrisflav
assignee:chrisflav
302-56401
9 months ago
428-84780
428 days ago
81-66446
81 days
0
26340 mans0954
author:mans0954
feat(Algebra/Module/NestAlgebra): Nest algebras This PR continues the work from #18705. Original PR: https://github.com/leanprover-community/mathlib4/pull/18705 merge-conflict t-algebra please-adopt
label:t-algebra$
184/0 Mathlib.lean,Mathlib/Algebra/Module/NestAlgebra.lean,Mathlib/Order/Nest.lean,Mathlib/Order/Preorder/Chain.lean,docs/references.bib 5 3 ['github-actions', 'mans0954', 'mathlib4-merge-conflict-bot'] nobody
302-56346
9 months ago
unknown
unknown
0
26347 mans0954
author:mans0954
feat(Data/Finset/RangeDistance): abs_sub_lt_of_mem_finset_range This PR continues the work from #23161. Original PR: https://github.com/leanprover-community/mathlib4/pull/23161 merge-conflict t-data please-adopt 30/0 Mathlib.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Data/Finset/RangeDistance.lean 3 3 ['github-actions', 'mans0954', 'mathlib4-merge-conflict-bot'] alreadydone
assignee:alreadydone
302-50888
9 months ago
355-24986
355 days ago
142-36931
142 days
0
26349 mans0954
author:mans0954
feat(Analysis/SpecialFunctions/Trigonometric/Basic): sin and cos of multiples of π / 3 This PR continues the work from #25009. Original PR: https://github.com/leanprover-community/mathlib4/pull/25009 help-wanted t-analysis please-adopt 159/0 Mathlib/Algebra/Order/Monoid/NatCast.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Data/Nat/Cast/Defs.lean,MathlibTest/trigonometry.lean 4 3 ['github-actions', 'mans0954', 'themathqueen'] nobody
302-50844
9 months ago
unknown
unknown
0
29980 mans0954
author:mans0954
refactor(RingTheory/Polynomial/Resultant/Quadratic): Re-implement QuadraticDiscriminant for R[X] Re-implement `Algebra/QuadraticDiscriminant` for polynomials. [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/discriminants.20of.20low.20degree.20polynomials/with/538010519) --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #29981 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict please-adopt 208/0 Mathlib.lean,Mathlib/RingTheory/Polynomial/Resultant/Quadratic.lean 2 4 ['JovanGerb', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] JovanGerb
assignee:JovanGerb
302-50769
9 months ago
355-23723
355 days ago
41-43711
41 days
0
29387 mans0954
author:mans0954
feat(Analysis/LocallyConvex/WeakSpace): toWeakSpace_closedAbsConvexHull_eq The closed absolutely convex hull taken in the weak topology coincides with the closed absolutely convex hull taken in the original topology. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #29378 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict blocked-by-other-PR t-analysis please-adopt 133/68 Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/AbsConvexOpen.lean,Mathlib/Analysis/LocallyConvex/BalancedCoreHull.lean,Mathlib/Analysis/LocallyConvex/Basic.lean,Mathlib/Analysis/Normed/Module/Dual.lean 6 5 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
302-50750
9 months ago
unknown
unknown
0
35339 grunweg
author:grunweg
feat: "confusing variables" linter Continuation of #15400. This linter flags variable commands which both update an existing binder annotation and declare new variables: these can yield confusing or misleading error messages (see https://github.com/leanprover/lean4/issues/2789). Instead, these should be split in several variable statements. ------------ Help fixing these errors is welcome! Currently, the linter only catches some cases, when the updated binder is from a previous scope. To make it catch all cases, the linter could insert a section before the variable command and use that scope instead. See [zulip](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Get.20scope.20*before*.20some.20syntax.20is.20evaluated) [discussions](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Determining.20variable.20binders.20from.20syntax). --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) please-adopt merge-conflict awaiting-CI t-linter 220/9 Cache/Requests.lean,Mathlib/FieldTheory/AbelRuffini.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean,Mathlib/Tactic/Linter/Lint.lean,Mathlib/Tactic/Linter/Style.lean,MathlibTest/LintStyle.lean 8 0 [] nobody
267-11681
8 months ago
unknown
unknown
0
35341 grunweg
author:grunweg
feat: lint against the tactic.skipAssignedInstances option in mathlib This means we can remove the corresponding technical debt entry. Re-created version of #20872. --- [This comment](https://github.com/leanprover-community/mathlib4/pull/20872#issuecomment-2602743770) might still be relevant: does this linter need adaptations to recursively parse the outer `set_option`s? Wasn't there code written semi-recently which did this? <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) please-adopt t-linter merge-conflict 54/3 Mathlib/Tactic/Linter/Style.lean,MathlibTest/LintStyle.lean 2 3 ['github-actions', 'mathlib-merge-conflicts'] nobody
201-58676
6 months ago
unknown
unknown
0
35193 Brian-Nugent
author:Brian-Nugent
feat(Topology/Closeds): implement category of closed sets in topological spaces I copied over the nice API for working with `TopologicalSpace.Opens` as a category over for `TopologicalSpace.Closeds`. The only thing that did not immediately transfer was `Topology.IsInducing.functorObj` so I omitted it. Based on work of @kim-em --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology new-contributor please-adopt merge-conflict 352/6 Mathlib.lean,Mathlib/Topology/Category/TopCat/Closeds.lean,Mathlib/Topology/Category/TopCat/Opens.lean 3 24 ['Brian-Nugent', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts'] dagurtomas
assignee:dagurtomas
193-61452
6 months ago
233-81965
233 days ago
17-61064
17 days
0
35344 grunweg
author:grunweg
feat: lint upon uses of the mono tactic suggesting to use `gcongr` instead. In general, `mono` is unmaintained, was only partially ported --- and gcongr at this point is more featureful, actively developed and has a nicer user interface. The topic was also discussed [on zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Porting.20note.3A.20Fixing.20up.20.60mono.60/with/445125798). --- TODO: update the linter wording, fix its implementation and wait until tests pass Rebased and migrated version of #25700. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) please-adopt t-linter RFC merge-conflict 4/0 MathlibTest/DeprecatedSyntaxLinter.lean,MathlibTest/Monotonicity.lean 2 3 ['github-actions', 'grunweg', 'mathlib-merge-conflicts'] nobody
167-39235
5 months ago
unknown
unknown
0
29378 mans0954
author:mans0954
feat(Analysis/LocallyConvex/AbsConvex): Balanced and AbsConvex sets under linear maps Provide `Balanced` and `AbsConvex` versions of `Convex.linear_image`, `Convex.linear_preimage` and the `is_linear` equivalents. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #29342 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-analysis please-adopt 133/68 Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/AbsConvexOpen.lean,Mathlib/Analysis/LocallyConvex/BalancedCoreHull.lean,Mathlib/Analysis/LocallyConvex/Basic.lean,Mathlib/Analysis/Normed/Module/Dual.lean 6 6 ['JonBannon', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
158-58188
5 months ago
390-40491
390 days ago
0-14240
3 hours
1
29856 mans0954
author:mans0954
feat(Analysis/Normed/Ring/Basic): Add NonUnitalNonAssocSeminormedRing and NonUnitalNonAssocNormedRing Adds the classes `NonUnitalNonAssocSeminormedRing` and `NonUnitalNonAssocNormedRing` and relaxes the `NonUnitalSeminormedRing` section to `NonUnitalNonAssocSeminormedRing`. Examples of non-unital non-associative normed rings include non-untial JB-algebras and non-unital JB*-algebras. --- <!-- 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] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis please-adopt merge-conflict 110/11 Mathlib/Analysis/Normed/Ring/Basic.lean,MathlibTest/TCSynth.lean 2 16 ['github-actions', 'j-loreaux', 'leanprover-bot', 'mathlib-merge-conflicts'] ADedecker and j-loreaux
assignee:j-loreaux assignee:ADedecker
131-52561
4 months ago
355-60161
355 days ago
57-10323
57 days
0
36806 grunweg
author:grunweg
fix(Tactic/Continuity): mark Continuous.comp' as unsafe This issue was pre-existing: `Continuous.comp'` was never full safe, as a constant function could be written as the composition of any function and a constant function (and then applying the lemma could lead to something unprovable). The change in #31607 triggered such a case: make is an unsafe rule with very high probability instead. This change broke three proofs: one was easy to switch to fun_prop; the others seemed to depend on this being a safe rule. I have added a workaround for now. There was another test failure, exposing a pre-existing internal bug in aesop. With smaller imports, continuity succeeds [zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/aesop.20error.20during.20proof.20reconstruction.2C.20goal.20not.20normalised/with/580202602), so I have accepted this result as fine. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta awaiting-author merge-conflict please-adopt 54/2 Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Condensed/Light/TopCatAdjunction.lean,Mathlib/Condensed/TopCatAdjunction.lean,Mathlib/Topology/Continuous.lean,MathlibTest/Continuity.lean 5 7 ['github-actions', 'grunweg', 'joneugster', 'mathlib-merge-conflicts'] nobody
59-8051
1 month ago
179-5634
179 days ago
56-81658
56 days
0
39782 robin-carlier
author:robin-carlier
feat(Tactic): `nonempty` attribute This PR adds a `nonempty` attribute. When tagging a definition of type `α` with `[nonempty]`, an instance of type `Nonempty α` is automatically generated and registered using the definition. Such an attribute is useful in the following scenario: certain structures are not classes (e.g., to avoid data-carrying classes potentially creating diamonds), but mere existence of terms of such structures allows to derive instances about the parameters of the structure. Using `[nonempty]` lets one auto-generate the instances derived instance (provided they correctly follow from `[Nonempty _]`). Such is the case for the `CategoryTheory.Functor.FullyFaithful` structure, which allows to derive the `Prop`-classes `CategoryTheory.Functor.Full` and `CategoryTheory.Functor.Faithful`. Currently in mathlib, most definitions of type `CategoryTheory.Functor.FullyFaithful` are immediately followed by the corresponding `Full` and `Faithful` instances, adding "boilerplate" and increasing the surface for potential mistakes (like forgetting one or both of the instances.) The attribute uses a variation of `addRelatedDecl` called `addRelatedInstance`, which handles automatic name generation and registration of instances from a given declaration and a "constructor" of type `Expr → List Name → MetaM (Expr × List 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] --> I believe abstracting `addRelatedInst` might have other possible usages: for instance, given an adjunction `adj: L ⊣ R`, it would be nice to have an attribute that one can tag on such adjunctions that automatically registers `L.IsLeftAdjoint` and `R.IsRightAdjoint`. The `nonempty` attribute here can’t really do this because `R` can’t be inferred from a goal of type `L.IsLeftAdjoint`, but the situation is quite similar, and `addRelatedInst` could also help writing this kind of attribute. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta awaiting-author please-adopt 320/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/NonemptyAttr.lean,Mathlib/Util/AddRelatedDecl.lean,MathlibTest/NonemptyAttr.lean 5 18 ['JovanGerb', 'github-actions', 'joneugster', 'robin-carlier'] JovanGerb
assignee:JovanGerb
31-22547
1 month ago
119-75707
119 days ago
47-76761
47 days
0

PRs with just a merge conflict

Number Author Title Description Labels +/- Modified files (first 100) 📝 💬 All users who commented or reviewed Assignee(s) Updated Last status change total time in review blocks
25988 Multramate
author:Multramate
refactor(AlgebraicGeometry/EllipticCurve/*): replace Fin 3 with products This PR continues the work from #24593. Original PR: https://github.com/leanprover-community/mathlib4/pull/24593 merge-conflict t-algebraic-geometry 1000/1022 Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Point.lean 6 3 ['Multramate', 'github-actions', 'leanprover-community-bot-assistant'] nobody
492-37498
1 year ago
492-37498
492 days ago
18-21376
18 days
0
26067 mapehe
author:mapehe
feat(Topology/StoneCech): exists_continuous_surjection_from_StoneCech_to_dense_range This lemma formalises the following version of the maximality property of the Stone–Čech compactification: If `f : α → β` is a continuous map from a topological space `α` to a Hausdorff space `β` with dense range, then there exists a continuous surjection from `StoneCech α` to `β` extending `f`. In particular, `StoneCech α` is the “largest” compact Hausdorff space into which `α` densely embeds, in the sense that any other such space is a continuous image of it. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-topology 18/0 Mathlib/Topology/StoneCech.lean 1 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
489-18876
1 year ago
489-18876
489 days ago
20-8050
20 days
0
26200 adomani
author:adomani
fix: add label when landrun fails Adds the `permission-denied` label on PRs that get blocked by landrun. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict CI 68/8 .github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml 4 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
460-53491
1 year ago
460-53491
460 days ago
46-51722
46 days
0
27987 kckennylau
author:kckennylau
feat(RingTheory/Valuation): define ball, closed ball, and sphere --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> The pullback PR of #26827 and #27451. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-ring-theory large-import 73/0 Mathlib/RingTheory/Valuation/Basic.lean 1 4 ['JovanGerb', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] nobody
454-85623
1 year ago
454-85624
454 days ago
6-5823
6 days
0
28622 alreadydone
author:alreadydone
chore(Mathlib): replace `=>` by `↦` --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 51792/51792 Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/AddTorsor/Defs.lean,Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Hom/Rat.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Opposite.lean,Mathlib/Algebra/Algebra/Prod.lean,Mathlib/Algebra/Algebra/Rat.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/Algebra/Spectrum/Pi.lean,Mathlib/Algebra/Algebra/Spectrum/Quasispectrum.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Centralizer.lean,Mathlib/Algebra/Algebra/Subalgebra/Directed.lean,Mathlib/Algebra/Algebra/Subalgebra/IsSimpleOrder.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/Algebra/Subalgebra/Matrix.lean,Mathlib/Algebra/Algebra/Subalgebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/Algebra/Subalgebra/Prod.lean,Mathlib/Algebra/Algebra/Subalgebra/Unitization.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Algebra/TransferInstance.lean,Mathlib/Algebra/Algebra/Unitization.lean,Mathlib/Algebra/Algebra/ZMod.lean,Mathlib/Algebra/AlgebraicCard.lean,Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/BigOperators/Expect.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/BigOperators/Finsupp/Fin.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/BigOperators/Group/Finset/Piecewise.lean,Mathlib/Algebra/BigOperators/Group/Finset/Sigma.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/BigOperators/Group/List/Defs.lean,Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Defs.lean,Mathlib/Algebra/BigOperators/GroupWithZero/Finset.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/BigOperators/Option.lean,Mathlib/Algebra/BigOperators/Pi.lean,Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Algebra/BigOperators/Ring/Multiset.lean,Mathlib/Algebra/Category/AlgCat/Basic.lean,Mathlib/Algebra/Category/AlgCat/Limits.lean,Mathlib/Algebra/Category/AlgCat/Monoidal.lean,Mathlib/Algebra/Category/BialgCat/Basic.lean,Mathlib/Algebra/Category/BoolRing.lean,Mathlib/Algebra/Category/CoalgCat/Basic.lean,Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean,Mathlib/Algebra/Category/FGModuleCat/Limits.lean,Mathlib/Algebra/Category/Grp/AB.lean,Mathlib/Algebra/Category/Grp/Adjunctions.lean,Mathlib/Algebra/Category/Grp/Basic.lean,Mathlib/Algebra/Category/Grp/Biproducts.lean,Mathlib/Algebra/Category/Grp/CartesianMonoidal.lean,Mathlib/Algebra/Category/Grp/Colimits.lean,Mathlib/Algebra/Category/Grp/EpiMono.lean,Mathlib/Algebra/Category/Grp/FilteredColimits.lean,Mathlib/Algebra/Category/Grp/Images.lean,Mathlib/Algebra/Category/Grp/Kernels.lean,Mathlib/Algebra/Category/Grp/LargeColimits.lean,Mathlib/Algebra/Category/Grp/LeftExactFunctor.lean,Mathlib/Algebra/Category/Grp/Limits.lean,Mathlib/Algebra/Category/Grp/Preadditive.lean,Mathlib/Algebra/Category/Grp/ZModuleEquivalence.lean,Mathlib/Algebra/Category/Grp/Zero.lean,Mathlib/Algebra/Category/GrpWithZero.lean,Mathlib/Algebra/Category/HopfAlgCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Biproducts.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/EpiMono.lean,Mathlib/Algebra/Category/ModuleCat/FilteredColimits.lean,Mathlib/Algebra/Category/ModuleCat/Images.lean,Mathlib/Algebra/Category/ModuleCat/Injective.lean,Mathlib/Algebra/Category/ModuleCat/Kernels.lean,Mathlib/Algebra/Category/ModuleCat/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Closed.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Symmetric.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Abelian.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pushforward.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafify.lean,Mathlib/Algebra/Category/ModuleCat/Products.lean 3838 4 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
446-58523
1 year ago
446-58524
446 days ago
0-55389
15 hours
0
28626 alreadydone
author:alreadydone
chore(Archive, Counterexamples): replace => by ↦ --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 288/288 Archive/Arithcc.lean,Archive/Examples/IfNormalization/Result.lean,Archive/Examples/IfNormalization/WithoutAesop.lean,Archive/Examples/PropEncodable.lean,Archive/Imo/Imo1959Q1.lean,Archive/Imo/Imo1960Q1.lean,Archive/Imo/Imo1962Q4.lean,Archive/Imo/Imo1972Q5.lean,Archive/Imo/Imo1977Q6.lean,Archive/Imo/Imo1981Q3.lean,Archive/Imo/Imo1987Q1.lean,Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo1994Q1.lean,Archive/Imo/Imo1998Q2.lean,Archive/Imo/Imo2001Q2.lean,Archive/Imo/Imo2006Q3.lean,Archive/Imo/Imo2006Q5.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2008Q4.lean,Archive/Imo/Imo2011Q3.lean,Archive/Imo/Imo2013Q1.lean,Archive/Imo/Imo2019Q1.lean,Archive/Imo/Imo2024Q5.lean,Archive/MiuLanguage/Basic.lean,Archive/MiuLanguage/DecisionSuf.lean,Archive/OxfordInvariants/Summer2021/Week3P1.lean,Archive/Sensitivity.lean,Archive/Wiedijk100Theorems/AbelRuffini.lean,Archive/Wiedijk100Theorems/AreaOfACircle.lean,Archive/Wiedijk100Theorems/AscendingDescendingSequences.lean,Archive/Wiedijk100Theorems/BallotProblem.lean,Archive/Wiedijk100Theorems/BirthdayProblem.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Archive/Wiedijk100Theorems/Konigsberg.lean,Archive/Wiedijk100Theorems/Partition.lean,Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Archive/ZagierTwoSquares.lean,Counterexamples/AharoniKorman.lean,Counterexamples/CanonicallyOrderedCommSemiringTwoMul.lean,Counterexamples/CharPZeroNeCharZero.lean,Counterexamples/CliffordAlgebraNotInjective.lean,Counterexamples/DirectSumIsInternal.lean,Counterexamples/GameMultiplication.lean,Counterexamples/Girard.lean,Counterexamples/HomogeneousPrimeNotPrime.lean,Counterexamples/MapFloor.lean,Counterexamples/MonicNonRegular.lean,Counterexamples/Phillips.lean,Counterexamples/Pseudoelement.lean,Counterexamples/QuadraticForm.lean,Counterexamples/SorgenfreyLine.lean,Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean 54 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
445-1249
1 year ago
445-1250
445 days ago
2-46227
2 days
0
27403 MoritzBeroRoos
author:MoritzBeroRoos
fix: replace probably erroneous usage of ⬝ (with old \cdot) by · (with \centerdot) Discussion at [zulip](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/.5Ccdot.20!.3D.20.5Ccenterdot). Currently the abbreviations \cdot and \centerdot resolve to different, with the naked eye nearly undistinguishable symbols (despite the c in cdot surely standing for center..). This pr replaces instances of ⬝ where · was probably meant. All of the replacement is in comments, except for the file bench_summary.lean which is used for priting the github benchmark results. Since this file is about scientific notation of numbers, sure · was meant to be used, not a rectangle. [Related](https://github.com/leanprover-community/mathlib4/pull/27399) --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict new-contributor 195/195 Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/DirectSum/Idempotents.lean,Mathlib/Algebra/Lie/Derivation/Basic.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Fourier/FourierTransformDeriv.lean,Mathlib/Analysis/InnerProductSpace/Dual.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/Normed/Unbundled/InvariantExtension.lean,Mathlib/Analysis/SpecialFunctions/Complex/CircleAddChar.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/Matrix/ConjTranspose.lean,Mathlib/Data/Matrix/Hadamard.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/Data/Matrix/RowCol.lean,Mathlib/Data/Matrix/Vec.lean,Mathlib/FieldTheory/PurelyInseparable/PerfectClosure.lean,Mathlib/Geometry/Manifold/GroupLieAlgebra.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/LinearAlgebra/CrossProduct.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/DotProduct.lean,Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean,Mathlib/LinearAlgebra/Matrix/Orthogonal.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/SchurComplement.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean,Mathlib/LinearAlgebra/Projectivization/Constructions.lean,Mathlib/NumberTheory/NumberField/ProductFormula.lean,Mathlib/NumberTheory/SiegelsLemma.lean,Mathlib/RingTheory/DividedPowers/SubDPIdeal.lean,Mathlib/SetTheory/Ordinal/Veblen.lean,Mathlib/Topology/Algebra/Module/Equiv.lean,Mathlib/Topology/Homeomorph/Lemmas.lean,Mathlib/Topology/Instances/Matrix.lean,scripts/bench_summary.lean 49 5 ['eric-wieser', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant'] nobody
443-34285
1 year ago
466-10207
466 days ago
7-51497
7 days
0
28042 kckennylau
author:kckennylau
feat(Topology/ValuativeRel): a topological basis indexed by pairs of elements --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> The pullback PR of #27314 and #27163. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-ring-theory 140/23 Mathlib/RingTheory/Valuation/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean 2 3 ['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] nobody
443-34239
1 year ago
452-85683
452 days ago
7-2766
7 days
0
27399 MoritzBeroRoos
author:MoritzBeroRoos
chore: replace every usage of ⬝ᵥ (with old \cdot) by ·ᵥ (with \centerdot) Discussion at [zulip](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/.5Ccdot.20!.3D.20.5Ccenterdot). Currently the abbreviations `\cdot` and `\centerdot` resolve to different, with the naked eye nearly undistinguishable symbols (despite the c in cdot surely standing for `center`..): - `\cdot` gives ⬝ [U+2B1D](https://www.compart.com/en/unicode/U+2B1D) "Black Very Small Square" - `\centerdot` gives · [U+00B7](https://www.compart.com/en/unicode/U+00B7) "Middle Dot" Mathlib mostly uses the `\centerdot` variant, except for the dotProduct notation and some probably unsuspecting people wanting \centerdot but getting \cdot in their comments and 6 uses of a notation using the raw `\cdot` without any subscript at `Mathlib\Topology\Homotopy\Product.lean`. This PR replaces the dot product `⬝ᵥ` with its `\centerdot` counterpart `·ᵥ`. The related PR [here](https://github.com/leanprover/vscode-lean4/pull/639) can then overwrite the `\cdot` abbreviation, to produce the same symbol as the `centerdot` abbreviation does. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict new-contributor 133/133 Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/Matrix/ConjTranspose.lean,Mathlib/Data/Matrix/Hadamard.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/Data/Matrix/RowCol.lean,Mathlib/Data/Matrix/Vec.lean,Mathlib/LinearAlgebra/CrossProduct.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/DotProduct.lean,Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean,Mathlib/LinearAlgebra/Matrix/Orthogonal.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/SchurComplement.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean,Mathlib/LinearAlgebra/Projectivization/Constructions.lean,Mathlib/Topology/Instances/Matrix.lean 25 6 ['MoritzBeroRoos', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] nobody
442-82517
1 year ago
466-10208
466 days ago
7-53541
7 days
0
28148 kckennylau
author:kckennylau
feat(Matrix): Simproc and Rw-proc for Matrix Transpose Co-authored by Aaron Liu. ```lean example : !![1, 2, 3; 4, 5, 6]ᵀ = !![1, 4; 2, 5; 3, 6] := by rw [transpose_of% 2 3] example : !![1, 2, 3; 4, 5, 6]ᵀ = !![1, 4; 2, 5; 3, 6] := by rw [transpose_of] example : !![1, 2, 3; 4, 5, 6]ᵀ = !![1, 4; 2, 5; 3, 6] := by simp only [matrix_transpose] ``` --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-meta 267/8 Mathlib.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/LinearAlgebra/UnitaryGroup.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simproc/Matrix.lean,MathlibTest/Simproc/Matrix.lean,MathlibTest/matrix.lean,scripts/noshake.json 8 32 ['eric-wieser', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'plp127'] eric-wieser
assignee:eric-wieser
438-39451
1 year ago
438-39452
438 days ago
12-69641
12 days
0
26908 robin-carlier
author:robin-carlier
feat(CategoryTheory/Monoidal/DayConvolution): alternative ext principle for unitors Currently, our infrastructure for left/right unitors for Day convolution of functors `C ⥤ V` do not have satisfactory extensionality principle: the current way to characterize morphisms out of `U ⊛ F` is the default extensionality principle for Day convolution, which characterizes first such functors via functors out of `U ⊠ F`. Left unitors are then obtained using the fact `U ⊠ F` is a left Kan extension of a functor from `PUnit × C` (which is equivalent to `C`) but we did not record on its own this principle. Using the transitivity of left Kan extensions proved in #26899, we directly exhibit `U ⊛ F` as a left Kan extension of `F ⋙ tensorLeft (𝟙_ V)` along `tensorLeft (𝟙_ C)`. The unit of this Kan extension is composed exactly of the morphisms that appear in the [characterization of left unitors](https://leanprover-community.github.io/mathlib4_docs/Mathlib/CategoryTheory/Monoidal/DayConvolution.html#CategoryTheory.MonoidalCategory.DayConvolutionUnit.leftUnitor_hom_unit_app). We also slightly generalize the instances that express that external products with unitors are left Kan extensions, so that they can be used when taking external products with more complicated functors than currently. This is again useful when chaining extensionality lemmas for morphisms out of terms of the form `(F ⊛ U) ⊛ G`. We prove a similar thing for right unitors With this, it should be possible to have a much more satisfactory way of working with Day convolutions: this allows to "elimiinate" units without ending up with terms in an external product. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #26899 - [ ] depends on: #26906 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-category-theory 307/18 Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean 2 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
426-85797
1 year ago
426-85798
426 days ago
0-1045
17 minutes
0
27150 robin-carlier
author:robin-carlier
feat(CategoryTheory/Monoidal/DayConvolution): constructors for braided and symmetric structure on day convolutions monoidal categories Following the pattern in #27119, we give API to construct `BraidedCategory` and `SymmetricCategory` structures on a monoidal category equipped with a `LawfulDayConvolutionMonoidalCategoryStruct`. To achieve this, we introduce an other type class `LawfulDayConvolutionBraidedCategoryStruct` that bundles an associator isomorphism that behaves like the one constructed for functors in #27067. We provide a noncomputable constructor for this typeclass that takes as input fullness of the "realization" functor to a category of functors, and we show that the typeclasses are sufficient to define the desired structures. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [x] depends on: #27067 - [x] depends on: #26820 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-category-theory 826/9 Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Braided.lean 2 5 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
426-80836
1 year ago
482-24538
482 days ago
0-51
51 seconds
1
27119 robin-carlier
author:robin-carlier
feat(CategoryTheory/Monoidal/DayConvolution): constructors for closed monoidal day convolution monoidal structures Following the pattern introduced in #26798 and #26820 and using results of #26879, we introduce a typeclass `LawfulDayConvolutionClosedMonoidalCategoryStruct` that encodes the data needed on a `LawfulDayConvolutionMonoidalCategoryStruct` to define well-behaved internal homs. We give a constructor assuming existence of relevant ends, and prove that this data defines a `MonoidalClosed` instance on the monoidal category structures one can deduce from `LawfulDayConvolutionMonoidalCategoryStruct`. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [x] depends on: #27079 - [x] depends on: #27091 - [x] depends on: #26879 - [x] depends on: #26820 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-category-theory 900/9 Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Closed.lean 2 6 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
426-8287
1 year ago
unknown
unknown
1
28623 gilesgshaw
author:gilesgshaw
feat(Logic/Basic): minor additions and simplification of proofs Add new theorems and simplify proofs. Specifically, we add the family of related theorems `apply_dite_iff_exists`, `apply_dite_iff_forall`, `apply_ite_iff_and` and `apply_ite_iff_or`. For each other 'family' of theorems in the file that is analogous to the above, we do the following - Simplify proofs where possible, e.g. by appealing to the new theorems - Complete the family, if any of the corresponding four are missing - Rename to ensure consistency with the above pattern --- merge-conflict t-logic new-contributor 83/55 Archive/Examples/IfNormalization/Result.lean,Archive/Examples/IfNormalization/WithoutAesop.lean,Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Notation/Indicator.lean,Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/Logic/Basic.lean,Mathlib/MeasureTheory/Measure/WithDensity.lean,Mathlib/SetTheory/Ordinal/Notation.lean 9 12 ['eric-wieser', 'gilesgshaw', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127'] awainverse
assignee:awainverse
426-2148
1 year ago
426-2149
426 days ago
10-49648
10 days
1
26154 ADedecker
author:ADedecker
refactor: add refactored APIs for algebraic filter bases This PR continues the work from #18437. Original PR: https://github.com/leanprover-community/mathlib4/pull/18437 merge-conflict t-topology 651/0 Mathlib.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/FilterBasisNew.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/BasesNew.lean 5 3 ['ADedecker', 'github-actions', 'mathlib4-merge-conflict-bot'] PatrickMassot
assignee:PatrickMassot
420-14392
1 year ago
420-14393
420 days ago
87-78694
87 days
0
29330 plp127
author:plp127
chore: define `Fin.cycleIcc` with conditions Redefine `Fin.cycleIcc` using conditionals instead of composing existing `Fin` operations together. Its worst-case runtime drops from O(n) to O(1). As a bonus, the definition no longer needs explaining. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-group-theory 61/68 Mathlib/GroupTheory/Perm/Fin.lean 1 10 ['JovanGerb', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'tb65536'] nobody
411-25989
1 year ago
411-25990
411 days ago
19-72402
19 days
0
27214 robin-carlier
author:robin-carlier
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical): Categorical pullback squares In this PR, we give the definition and first basic properties of categorical pullback squares. Using our previous work on `CategoricalPullback`, we define a typeclass `CatPullbackSquare T L R B` that asserts that a given `CatCommSq T L R B` is a "pullback square": this is the data of a chosen adjoint equivalence to the canonical functor from the top left corner of the square to the categorical pulback of its leg. Using this equivalence, be derive a universal property for functors from `X`with values in the top left corner of the square: they are equivalent to `CatCommSqOver R B X`, the category of categorical commutative squares over the cospan `R, B` with top left corner `X`. We prove some coherence result for this equivalence, most notably an isomorphism that, given `S : CatCommSqOver R B X`, bundles the two commutative triangles formed by the induced functor, and the coherence between the squares that these isomorphisms satisfy: this is conveniently bundled in the data of a single isomorphisms of `CatCommSqOver R B X`. Finally, we provide a `Prop`-class `IsCatPullbackSquare` that merely asserts the existence (via `Nonempty`) of the relevant data: we show that it is tautotogically equivalent to the propopsition that the canonical functor to the categorical pullback is an equivalence. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #26679 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-category-theory 786/1 Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Square.lean 3 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
405-77581
1 year ago
405-77582
405 days ago
0-4044
1 hour
9
26466 robin-carlier
author:robin-carlier
feat(AlgebraicTopology/SimplexCategory/Augmented): the canonical monoid object in the augmented simplex category Show that in the augmented simplex category, `⦋0⦌` is an internal monoid object. Future work will show that this is in fact the universal monoid object: for any monoidal category `C`, evaluation at `⦋0⦌` induces an equivalence of categories between `Mon_ C` and the category of monoidal functors from `AugmentedSimplexCategory` to `C`. The resulting augmented cosimplicial object one gets from this construction is sometimes called the "monoidal bar construction" attached to a monoid. This PR was split from #25743. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #25743 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebraic-topology t-category-theory 571/111 Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Mon_.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Monoidal.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean 6 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
405-10583
1 year ago
500-17867
500 days ago
0-1046
17 minutes
0
26578 robin-carlier
author:robin-carlier
feat(CategoryTheory/Limits/Pullbacks/Categorical/CatCospanTransform): adjunctions of categorical cospans We build upon the bicategory-like structure developed in #26447 and #26412 to define the notion of adjunctions of categorical cospans. This is a structure encoding the data of two `CatCospanTransform`s, along with the usual unit and counit morphisms as part of the data, satisfying the usual left and right triangle identities. We provide basic API for these, such as extracting adjunctions between individual components. We also provide a proof that the notion satisfies a "coherence": with our chosen constructor, the forward direction of the structure `CatCommSq` on the left adjoints correspond to the inverse of the square for the right adjoints through `mateEquiv`. These adjunctions will be used as a substrate for defining equivalences of categorical cospans in a future PR: such an equivalence will be a structure extending a `CatCospanAdjunction` with isomorphisms data on the unit and co-unit (we will however provide alternative constructors in sync with the constructor for equivalences of categories). --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [x] depends on: #26447 - [x] depends on: #26547 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-category-theory large-import 205/0 Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean 1 5 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
404-13808
1 year ago
unknown
unknown
8
27990 kckennylau
author:kckennylau
feat(Counterexamples): a nontrivial valuation with discrete topology This file constructs a valuation on `K[X]` satisfying `IsValuativeTopology K[X] ∧ Nonempty (valuation K[X]).RankOne ∧ IsNontrivial K[X] ∧ DiscreteTopology K[X]`, and proves that `IsValuativeTopology F ∧ IsNontrivial F ∧ DiscreteTopology F` is not possible if `F` is a field. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-ring-theory 172/0 Counterexamples.lean,Counterexamples/DiscreteTopologyWithNontrivialValuation.lean 2 14 ['github-actions', 'grunweg', 'kckennylau', 'mathlib4-merge-conflict-bot', 'pechersky'] nobody
392-84054
1 year ago
392-84055
392 days ago
67-78029
67 days
0
28132 dupuisf
author:dupuisf
feat: preliminary `grind` tags for `IsUnit` This PR adds preliminary `grind` tags for the `IsUnit` predicate. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebra
label:t-algebra$
61/17 Mathlib/Algebra/Group/Action/Units.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Ring/Units.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean 6 3 ['github-actions', 'mathlib4-merge-conflict-bot'] kim-em
assignee:kim-em
369-60652
1 year ago
369-60653
369 days ago
80-71574
80 days
0
26827 pechersky
author:pechersky
feat(Analysis/Normed/ValuativeRel): helper instance for NormedField --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #26713 - [x] depends on: #26826 merge-conflict t-algebra t-number-theory t-analysis
label:t-algebra$
211/27 Mathlib.lean,Mathlib/Analysis/Normed/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean 3 34 ['ADedecker', 'adamtopaz', 'erdOne', 'github-actions', 'kbuzzard', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] kbuzzard
assignee:kbuzzard
362-2856
11 months ago
362-2856
362 days ago
121-79456
121 days
0
26914 quangvdao
author:quangvdao
feat(Data/PFunctor/Univariate): more definitions for univariate `PFunctor` This PR defines several basic definitions of `PFunctor`, including zero, one, constants, monomials, coproduct (sum), product, sigma, pi, tensor product, universe lifting, and equivalence. We also add: (1) simple lemmas connecting the basic definitions, (2) an automatically derived ext lemma for `PFunctor` via `@[ext]` attribute Some things I'm not clear on: - I define `HAdd` and `HMul` instances for coproduct and product of poly functors having different universe levels. Should I also define `Add` and `Mul` instances for poly functors having the same universe level? - Is it ok to define notation for tensor product, i.e. `@[inherit_doc] scoped infixr:80 " ⊗ " => tensor`? I'm worried it might clash with other notation. - Need a double-check on the priority of notation. Some future definitions to add: - Various equivalences arising from arithmetic identities, e.g., `P + 0 ≃ₚ P`. - Definitions of Lenses and Charts (each of them will be a file or even a folder) - Exponential objects (corresponding to both `prod` and `tensor`) --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-data 144/5 Mathlib/Data/PFunctor/Univariate/Basic.lean 1 20 ['alexkeizer', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'quangvdao'] eric-wieser
assignee:eric-wieser
355-24821
11 months ago
355-24822
355 days ago
133-16411
133 days
0
28125 nonisomorphiclinearmap
author:nonisomorphiclinearmap
feat(Combinatorics): basic definition of simplicial complexes This PR introduces the basic definition of a finite (abstract) simplicial complex, located in Mathlib/Combinatorics/SimplicialComplex/Basic.lean. --- This is our first contribution to mathlib. This work was done as part of the Fields Institute Summer Undergraduate Program on formalization in topological combinatorics. Eventually, we aim to formalize Lovasz's proof of the Kneser Conjecture and this is a small stepping stone in that direction. Some other commits will shortly depend on this one. We would like to acknowledge the Fields Institute for Research in Mathematical Sciences for their sponsorship. We would also like to thank our supervisors, Professor Chris Kapulkin and Mr. Daniel Carranza, for their guidance and support throughout this project. We would also like to thank our group members Tom Lindquist and Quang Minh Nguyen for our fruitful discussions. merge-conflict t-combinatorics new-contributor 374/0 Mathlib.lean,Mathlib/Combinatorics/SimplicialComplex/Basic.lean,Mathlib/Combinatorics/SimplicialComplex/Category.lean,Mathlib/Combinatorics/SimplicialComplex/FacePoset.lean,Mathlib/Combinatorics/SimplicialComplex/Hom.lean 5 2 ['github-actions', 'mathlib4-merge-conflict-bot'] awainverse
assignee:awainverse
355-24516
11 months ago
355-24517
355 days ago
99-48372
99 days
1
28871 JaafarTanoukhi
author:JaafarTanoukhi
feat(Combinatorics/Digraph): Tournaments Define orientations and tournaments. Related to #26771. Co-authored-by: Rida Hamadani <mridahamadani@gmail.com> --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-combinatorics new-contributor 62/0 Mathlib.lean,Mathlib/Combinatorics/Digraph/Orientation.lean,Mathlib/Combinatorics/Digraph/Tournament.lean 3 6 ['JaafarTanoukhi', 'Rida-Hamadani', 'SnirBroshi', 'github-actions', 'mathlib4-merge-conflict-bot'] kmill
assignee:kmill
355-24363
11 months ago
355-24364
355 days ago
71-35799
71 days
0
29526 llllvvuu
author:llllvvuu
feat: `Multiset.map f` identifies `f` up to permutation Motivation: Reason about `Fintype`-indexed families via `Multiset` equality. Example use case 1: ```lean theorem Matrix.IsHermitian.cfc_eigenvalues {d : Type*} [Fintype d] [DecidableEq d] {M : Matrix d d 𝕜} (hM : M.IsHermitian) (f : ℝ → ℝ) (hcfc : Matrix.IsHermitian (cfc f M) := cfc_predicate f M) : ∃ (e : d ≃ d), hcfc.eigenvalues = f ∘ hM.eigenvalues ∘ e := by have := hcfc.roots_charpoly_eq_eigenvalues.symm rw [hM.charpoly_cfc_eq f, Polynomial.roots_prod] at this; swap · simp [Finset.prod_ne_zero_iff, Polynomial.X_sub_C_ne_zero] simp_rw [Polynomial.roots_X_sub_C, Multiset.bind_singleton] at this have he := (Multiset.compTriple_equivOfMapUnivEq this).comp_eq simp_rw [← Function.comp_def RCLike.ofReal, ← Function.comp_def f, Function.comp_assoc] at he exact ⟨_, RCLike.ofReal_injective.comp_left he.symm⟩ ``` Example use case 2 (on top of https://github.com/leanprover-community/mathlib4/pull/29610): ```lean theorem LinearMap.Eigenbasis.μ_equiv {ι ι' R G : Type*} [Fintype ι] [Fintype ι'] [CommRing R] [IsDomain R] [AddCommGroup G] [Module R G] [Module.Free R G] [Module.Finite R G] {f : Module.End R G} (B₁ : f.Eigenbasis ι) (B₂ : f.Eigenbasis ι') : ∃ e : ι ≃ ι', B₁.μ = B₂.μ ∘ e := by classical have := congr(Polynomial.roots $(B₁.charpoly_eq.symm.trans B₂.charpoly_eq)) rw [Polynomial.roots_prod, Polynomial.roots_prod] at this; rotate_left · simp [Finset.prod_ne_zero_iff, Polynomial.X_sub_C_ne_zero] · simp [Finset.prod_ne_zero_iff, Polynomial.X_sub_C_ne_zero] simp_rw [Polynomial.roots_X_sub_C, Multiset.bind_singleton] at this exact ⟨Multiset.equivOfMapUnivEq this, (Multiset.compTriple_equivOfMapUnivEq this).comp_eq.symm⟩ ``` Co-authored-by: Aristotle Harmonic <aristotle-harmonic@harmonic.fun> --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-data 35/0 Mathlib/Data/Multiset/Fintype.lean 1 9 ['Ruben-VandeVelde', 'github-actions', 'llllvvuu', 'mathlib4-merge-conflict-bot', 'vihdzp', 'wwylele'] pechersky
assignee:pechersky
355-24325
11 months ago
355-24326
355 days ago
69-16483
69 days
0
29947 JaafarTanoukhi
author:JaafarTanoukhi
feat(Combinatorics/Digraph): Maps Ported `SimpleGraph/Maps.lean` to `Digraph/Maps.lean` for future PRs related to issue #[26771](https://github.com/leanprover-community/mathlib4/issues/26771) --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-combinatorics new-contributor 476/0 Mathlib.lean,Mathlib/Combinatorics/Digraph/Maps.lean 2 2 ['github-actions', 'mathlib4-merge-conflict-bot'] awainverse
assignee:awainverse
355-23729
11 months ago
355-23730
355 days ago
54-81855
54 days
0
31356 adomani
author:adomani
feat: add inspect-like functions Produces a tree-like formatting for `Syntax`, `Expr` and `InfoTree`. Especially for the `InfoTree`s, there are *many* parts of it that do not get printed. For instance, this is how the `InfoTree`s of `set_option linter.missingDocs true` get printed: ```lean inspectIT set_option linter.missingDocs true /- commandCtx |-Info.ofCommandInfo: Lean.Elab.Command.elabSetOption, 'set_option…gDocs true' | |-Info.ofCompletionInfo.CompletionInfo.option 'set_option…issingDocs' | |-Info.ofOptionInfo: linter.missingDocs, Linter.linter.missingDocs -/ ``` --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-meta 720/0 Mathlib.lean,Mathlib/Util/Inspect.lean,MathlibTest/Inspect.lean 3 3 ['github-actions', 'mathlib4-merge-conflict-bot', 'plp127'] kim-em
assignee:kim-em
355-18750
11 months ago
355-18751
355 days ago
11-59965
11 days
0
26890 robin-carlier
author:robin-carlier
feat(CategoryTheory/Monoidal/DayConvolution): more API for `DayFunctor` We provide some lemmas that helps characterizing the monoidal structure on `DayFunctor`, they are special cases of the lemmas for `LawfulDayConvolutionMonoidalCategoryStruct`. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [x] depends on: #26824 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-category-theory 1372/19 Mathlib.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean 4 5 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
354-83377
11 months ago
unknown
unknown
5
26912 pechersky
author:pechersky
chore(Algebra/Ring/Subring): simp tag `Subring.smul_def` s-multiplying by a subtype is easiest to manipulate when both terms are in the ambient type. Many places that had to use the _def lemma for a rewrite, or to include it in a simp set, no longer have to. Ported from #25308 --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) I found this being not-simp frustrating when talking about submodules over a valuation subring. merge-conflict t-algebra
label:t-algebra$
67/66 Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/Group/Subgroup/Actions.lean,Mathlib/Algebra/Group/Submonoid/MulAction.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/Algebra/Module/LocalizedModule/Exact.lean,Mathlib/Algebra/Module/LocalizedModule/IsLocalization.lean,Mathlib/Algebra/Module/LocalizedModule/Submodule.lean,Mathlib/Algebra/Ring/Periodic.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean,Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfFixingSubgroup.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfStabilizer.lean,Mathlib/LinearAlgebra/RootSystem/Irreducible.lean,Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean,Mathlib/RingTheory/Etale/Kaehler.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/LocalProperties/Projective.lean,Mathlib/RingTheory/Localization/InvSubmonoid.lean,Mathlib/RingTheory/OreLocalization/Basic.lean 25 26 ['artie2000', 'eric-wieser', 'github-actions', 'j-loreaux', 'kckennylau', 'leanprover-bot', 'leanprover-radar', 'mathlib4-merge-conflict-bot', 'pechersky', 'wrenna-robson'] joelriou
assignee:joelriou
328-56528
10 months ago
350-6077
350 days ago
60-49993
60 days
0
30375 sinhp
author:sinhp
feat(CategoryTheory): Basics of Locally Cartesian Closed Categories Supersedes https://github.com/leanprover-community/mathlib4/pull/22321 This PR defines locally cartesian closed categories in terms of existence of the pushforward functors (right adjoint to the pullback functor) for all morphisms. We develop basic API and prove the following: 1. Existence of the pushforward functors is equivalent to cartesian closed slices. 2. Any locally cartesian closed category with a terminal object is cartesian closed. 3. The slices of a locally cartesian closed category are locally cartesian closed. --- - [ ] depends on: #31033 - [ ] depends on: #30373 - [ ] depends on: #31332 <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict 703/0 Mathlib.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/Basic.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/ChosenPullbacksAlong.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/ExponentiableMorphism.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/Sections.lean 5 9 ['Jlh18', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sinhp'] nobody
307-77929
10 months ago
unknown
unknown
1
29587 uniwuni
author:uniwuni
feat(GroupTheory/Finiteness): define finitely generated semigroups We define finitely generated semigroups and basics similarly to monoids and groups and prove that semigroups and monoids remain finitely generated when a congruence is quotiented out. This will be important when further developing semigroup theory. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-group-theory 259/14 Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/GroupTheory/Finiteness.lean 2 4 ['github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'uniwuni'] dupuisf
assignee:dupuisf
295-12549
9 months ago
397-17453
397 days ago
25-73895
25 days
0
29014 ShreckYe
author:ShreckYe
feat(Data/List/Scan): some theorems that relate `scanl` with `foldl` I am not sure which is the best form of `getElem_scanl_eq_foldl_take` here, so I added several alternative forms. Feel free to remove any of them if necessary. merge-conflict t-data 35/0 Mathlib/Data/List/Scan.lean 1 15 ['ShreckYe', 'github-actions', 'mathlib4-merge-conflict-bot', 'themathqueen', 'vlad902'] pechersky
assignee:pechersky
290-78173
9 months ago
364-43218
364 days ago
74-48754
74 days
0
33020 FormulaRabbit81
author:FormulaRabbit81
chore(Topology): Deprecate file --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [x] depends on: #30851 deprecation [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology large-import merge-conflict 82/49 Mathlib/Topology/Compactness/HilbertCubeEmbedding.lean,Mathlib/Topology/MetricSpace/HausdorffAlexandroff.lean,Mathlib/Topology/MetricSpace/PiNat.lean 3 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
267-49233
8 months ago
326-36622
326 days ago
0-13670
3 hours
0
33281 michelsol
author:michelsol
feat(Analysis/SpecialFunctions/Integrals): integral of 1/sqrt(1-x^2) and its integrability. Add the integral of the derivative of arcsin and its integrability. --- - [ ] depends on: #33280 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor merge-conflict t-analysis 59/0 Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean 3 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] nobody
267-18027
8 months ago
318-72252
318 days ago
0-811
13 minutes
0
34156 zcyemi
author:zcyemi
feat(Analysis/Convex/Between): add lemmas on convex combination of mem simplex interior --- I add three lemmas of convex combinations preserving membership in the interior of a simplex. And also open a zulip thread [#mathlib4 > Best place for convex combination and simplex interior](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Best.20place.20for.20convex.20combination.20and.20simplex.20interior/with/568558406) deps: - [ ] depends on: #33852 t-analysis merge-conflict 170/0 Mathlib/Analysis/Convex/Between.lean,Mathlib/LinearAlgebra/AffineSpace/Independent.lean 2 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
266-80344
8 months ago
266-80344
266 days ago
0-1236
20 minutes
1
33795 alreadydone
author:alreadydone
feat(Topology/Sheaves): LocalPredicate prerequisite for étalé spaces --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict 418/143 Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean,Mathlib/Geometry/Manifold/Sheaf/Smooth.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Topology/Sheaves/LocalPredicate.lean,Mathlib/Topology/Sheaves/Sheafify.lean,Mathlib/Topology/Sheaves/Stalks.lean 6 12 ['adamtopaz', 'alreadydone', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts'] adamtopaz
assignee:adamtopaz
264-32105
8 months ago
264-32106
264 days ago
34-7368
34 days
3
34674 Citronhat
author:Citronhat
feat(Algebra/Order/Ring): replace ENNReal lemmas with WithTop versions * Add `WithTop` versions of basic multiplicative order lemmas. * Use the new `WithTop` lemmas to replace `ENNReal` proofs and address six TODOs. * Fix a typo in the `pos_of_ne_zero` alias name. new-contributor t-algebra merge-conflict
label:t-algebra$
46/15 Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Data/ENNReal/Operations.lean 3 5 ['Citronhat', 'Ruben-VandeVelde', 'github-actions', 'mathlib-merge-conflicts'] Ruben-VandeVelde
assignee:Ruben-VandeVelde
264-11975
8 months ago
264-11976
264 days ago
16-81273
16 days
0
33746 ster-oc
author:ster-oc
feat(Algebra/Module/ZLattice): align `ZSpan.floor` to `Int.floor` API This PR adds some of the existent lemmas about `Int.floor`, `Int.ceil` and `Int.fract` to the `ZSpan` namespace. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor merge-conflict
label:t-algebra$
353/145 Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Topology/Algebra/Order/Floor.lean 3 8 ['github-actions', 'joelriou', 'mathlib-merge-conflicts', 'ster-oc'] joelriou
assignee:joelriou
259-28873
8 months ago
259-28873
259 days ago
30-19397
30 days
0
33791 PhoenixIra
author:PhoenixIra
feat: Generalization of FixedPointApproximants to CompletePartialOrder --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> This PR provides a generalization of FixedPointApproximants to CompletePartialOrder. Not every theorem can be generalized, as sometimes we require additional conditions (namely `x ≤ f x`) in order to guarantee that the set is directed and thus the supremum is well-defined. This is not necessary in a CompleteLattice. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order merge-conflict 223/100 Mathlib/Order/CompletePartialOrder.lean,Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean 2 21 ['PhoenixIra', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] PhoenixIra and vihdzp
assignee:PhoenixIra assignee:vihdzp
254-65607
8 months ago
254-65607
254 days ago
38-8977
38 days
0
26942 pechersky
author:pechersky
feat(RingTheory/Valuation/ValueGroupIso): isomorphism of value groups when compatible and also to the ValuativeRel's value group by request from comment in https://github.com/leanprover-community/mathlib4/pull/26754#issuecomment-3051770901 - [ ] depends on: #26588 --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #26939 - [x] depends on: #26940 - [x] depends on: #26941 merge-conflict t-ring-theory t-order 299/3 Mathlib.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean,Mathlib/Algebra/Order/GroupWithZero/WithZero.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean,Mathlib/RingTheory/Valuation/ValueGroupIso.lean 6 10 ['faenuccio', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'pechersky'] faenuccio
assignee:faenuccio
252-9788
8 months ago
451-81598
451 days ago
10-67265
10 days
0
27534 PierreQuinton
author:PierreQuinton
feat: a typeclass for `sSup`/`sInf` to be lawful Adds lawful infima and suprema type classes. A preorder with lawful suprema: whenever a set has a least upper bound, `sSup` returns a least upper bound for that set. A preorder with lawful infima: whenever a set has a greatest lower bound, `sInf` returns a greastest lower bound for that set. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-order 121/8 Mathlib.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/LawfulSupInf.lean 3 26 ['PierreQuinton', 'YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'vihdzp'] nobody
239-79984
7 months ago
355-24659
355 days ago
114-33795
114 days
0
32918 michelsol
author:michelsol
feat: define `supEdist` and `supDist` Create a new file Topology.MetricSpace.SupDistance and define the supremal distance in (extended) metric spaces. The defined `supEdist` and `supDist` will have similar theory to the already existing `infEdist` and `infDist`. The motivation is to be able to define the radius of a minimal bounding sphere as the infimum of the supDist later. [zulip discussion here](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Formalizing.20Jung's.20theorem.20and.20minimal.20bounding.20spheres) t-topology new-contributor merge-conflict 75/0 Mathlib.lean,Mathlib/Topology/MetricSpace/SupDistance.lean 2 5 ['github-actions', 'mathlib4-merge-conflict-bot', 'michelsol', 'urkud'] nobody
233-1951
7 months ago
307-66911
307 days ago
21-957
21 days
0
38239 vihdzp
author:vihdzp
chore(Order/SuccPred/Limit): reorganize sections In an effort to keep the file better organized, we move theorems which use `SuccOrder`/`PredOrder` as an assumption to a new section. No theorems have been changed. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order merge-conflict 95/110 Mathlib/Order/SuccPred/Limit.lean 1 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
201-58404
6 months ago
201-58405
201 days ago
2-43850
2 days
0
37774 weisbrja
author:weisbrja
fix: change variables in `bicompl` to `Sort*` and add missing theorem mentioned in `bicompl` docs [#mathlib4 > Why does Mathlib use Type* instead of Sort* in some places?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Why.20does.20Mathlib.20use.20Type.2A.20instead.20of.20Sort.2A.20in.20some.20places.3F/with/583882342) --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-logic merge-conflict 6/1 Mathlib/Logic/Function/Basic.lean 1 8 ['github-actions', 'kbuzzard', 'leanprover-radar', 'mathlib-merge-conflicts', 'weisbrja'] nobody
195-71736
6 months ago
195-71737
195 days ago
19-66334
19 days
0
33478 anishrajeev
author:anishrajeev
feat(ModelTheory): define a subset of the topology over complete types Define a subset of the Stone Space over a language expanded with countably many constants. Define the proposition to indicate if a language is countable. The subset's density and openness is a future goal to prove (have a branch where it is almost finished), in pursuit of formalizing the proof of the Omitting Types Theorem via properties of Baire spaces. - [ ] depends on: #32215 - [ ] depends on: #32546 t-logic merge-conflict new-contributor 160/1 Mathlib.lean,Mathlib/ModelTheory/Topology/Types.lean,Mathlib/ModelTheory/Types.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean 4 8 ['NoneMore', 'anishrajeev', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'tb65536'] nobody
193-78661
6 months ago
301-5802
301 days ago
10-30503
10 days
0
36740 euprunin
author:euprunin
chore: golf using `grind` The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (differences <30 ms considered measurement noise): * `AlgebraicGeometry.Scheme.isBasis_affineOpens`: unchanged 🎉 * `SimpleGraph.Walk.takeUntil_eq_take`: 263 ms before, 180 ms after 🎉 * `SimpleGraph.Walk.dropUntil_eq_drop`: 382 ms before, 261 ms after 🎉 * `Int.image_Ico_emod`: unchanged 🎉 * `Equiv.Perm.ofSubtype_swap_eq`: unchanged 🎉 Profiled using `set_option trace.profiler true in`. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 7/33 Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Data/Int/Interval.lean,Mathlib/GroupTheory/Perm/Support.lean 4 8 ['artie2000', 'chenson2018', 'github-actions', 'mathlib-merge-conflicts'] nobody
193-61199
6 months ago
193-61200
193 days ago
42-86188
42 days
0
38329 jcommelin
author:jcommelin
chore: tighten down public/exposed API of AlgebraicClosure This PR tightens down the API of AlgebraicClosure, by making few parts of FieldTheory/IsAlgClosed/AlgebraicClosure.lean public and/or exposed. We still need to expose the main definition. It would be great if we can unexpose it in the future. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
73/53 Mathlib/Algebra/Lie/TraceForm.lean,Mathlib/FieldTheory/AxGrothendieck.lean,Mathlib/FieldTheory/Differential/Liouville.lean,Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,Mathlib/ModelTheory/Algebra/Field/IsAlgClosed.lean,Mathlib/RingTheory/Discriminant.lean,Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean,Mathlib/RingTheory/Norm/Transitivity.lean,Mathlib/RingTheory/Trace/Basic.lean 9 26 ['eric-wieser', 'github-actions', 'jcommelin', 'kbuzzard', 'leanprover-radar', 'mathlib-merge-conflicts', 'plp127', 'riccardobrasca'] nobody
193-52572
6 months ago
193-52573
193 days ago
7-34485
7 days
0
37553 grunweg
author:grunweg
chore: golf using .ne and friends ne_of_gt -> .ne' ne_of_lt -> .ne le_of_lt -> .le Drive-by golfs using gcongr and positivity and been split into separate PRs. --- - [x] depends on: #37462 - [x] depends on: #37715 - [x] depends on: #37554 - [x] depends on: #37845 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 302/321 Archive/Imo/Imo1981Q3.lean,Archive/Imo/Imo2011Q3.lean,Archive/Imo/Imo2013Q5.lean,Archive/Imo/Imo2019Q4.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Counterexamples/NowhereDifferentiable.lean,Counterexamples/TopologistsSineCurve.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean,Mathlib/Algebra/CharP/Defs.lean,Mathlib/Algebra/Group/Fin/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Finite.lean,Mathlib/Algebra/Lie/Nilpotent.lean,Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Algebra/Order/Antidiag/Nat.lean,Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Algebra/Order/Interval/Set/Instances.lean,Mathlib/Algebra/Order/Module/HahnEmbedding.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Algebra/Order/Round.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Algebra/Polynomial/DenomsClearable.lean,Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/QuadraticDiscriminant.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Proper.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Asymptotics/ExpGrowth.lean,Mathlib/Analysis/Asymptotics/LinearGrowth.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Tagged.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/DerivativeTest.lean,Mathlib/Analysis/Calculus/FDeriv/Extend.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Defs.lean,Mathlib/Analysis/Calculus/LHopital.lean,Mathlib/Analysis/Complex/Exponential.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/Complex/OpenMapping.lean,Mathlib/Analysis/Complex/Poisson.lean,Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/Convex/Between.lean,Mathlib/Analysis/Convex/Caratheodory.lean,Mathlib/Analysis/Convex/Combination.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Convex/Radon.lean,Mathlib/Analysis/Convex/SpecificFunctions/Deriv.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/InnerProductSpace/Subspace.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/MellinInversion.lean,Mathlib/Analysis/MellinTransform.lean,Mathlib/Analysis/Normed/Field/Approximation.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/Normed/Operator/ContinuousAlgEquiv.lean,Mathlib/Analysis/Normed/Ring/Units.lean,Mathlib/Analysis/Normed/Unbundled/IsPowMulFaithful.lean,Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Analysis/Oscillation.lean,Mathlib/Analysis/Real/Hyperreal.lean,Mathlib/Analysis/Real/Pi/Bounds.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/PolarCoord.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/Int/Interval.lean,Mathlib/Data/Int/ModEq.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Nat/Log.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Real/ConjExponents.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean 114 7 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
179-52088
5 months ago
179-52088
179 days ago
13-56900
13 days
0
39229 grunweg
author:grunweg
dev: towards `fun_prop` on manifolds --- - [ ] depends on: #39226 Rebased version of #31580. Meant to be a prototype that demonstrate how this could possibly work. Not functional yet; waiting on cache to continue. <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict 305/1 Mathlib/Geometry/Manifold/Notation.lean,Mathlib/Tactic/FunProp/Core.lean,MathlibTest/DifferentialGeometry/FunPropM.lean,MathlibTest/fun_prop_dev.lean 4 4 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
177-32978
5 months ago
unknown
unknown
0
39329 lecopivo
author:lecopivo
feat(fun_prop): eager application of transition theorems for fun_prop For properties like Integrable we want to apply transition theorems(like Continuous -> Integrable) eagerly --- This is a change necessary in preparation for making `fun_prop` work for integrability. --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict 93/30 Mathlib/Tactic/FunProp/Attr.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/Decl.lean,MathlibTest/FunPropMinimal.lean 4 14 ['b-mehta', 'github-actions', 'lecopivo', 'mathlib-merge-conflicts'] JovanGerb
assignee:JovanGerb
174-79796
5 months ago
177-7344
177 days ago
1-34273
1 day
1
37584 kennethgoodman
author:kennethgoodman
feat(Data/Nat/Fib): formalize Lamé's theorem ## Summary Formalize [Lamé's theorem](https://en.wikipedia.org/wiki/Lam%C3%A9%27s_theorem) (1844), the founding result of computational complexity theory. **Lamé's Theorem:** If the Euclidean algorithm on inputs `(a, b)` with `b ≤ a` takes `n + 1` division steps, then `b ≥ fib(n + 1)` and `a ≥ fib(n + 2)`. ### New definitions - `Nat.euclidSteps`: counts the number of division steps in the Euclidean algorithm on natural number inputs. ### New theorems - `Nat.fib_le_of_euclidSteps`: the main Lamé bound — Fibonacci lower bound on inputs given a step count. - `Nat.euclidSteps_le_of_lt_fib`: the contrapositive — step count upper bound given a Fibonacci bound on the smaller input. - `Nat.add_mod_le`: helper lemma that `b + a % b ≤ a` when `b ≤ a` and `0 < b`. ### Proof strategy Induction on `n`, tracking both elements of the pair. The key insight is that each Euclidean step replaces `(a, b)` with `(b, a % b)`, and since `a ≥ b + a % b` (because `a / b ≥ 1`), the Fibonacci recurrence `fib(n+3) = fib(n+2) + fib(n+1)` matches the structure of the algorithm. ### References - Gabriel Lamé, *Note sur la limite du nombre des divisions dans la recherche du plus grand commun diviseur entre deux nombres entiers*, Comptes rendus de l'Académie des sciences, 1844. --- ### AI usage disclosure Per the [Mathlib AI guidelines](https://leanprover-community.github.io/contribute/index.html#use-of-ai): Claude Code (Claude Opus 4.6) was used to assist with writing the Lean 4 proof code, fixing tactic errors, and drafting this PR description. The mathematical proof (induction on step count, tracking both pair elements through the Fibonacci recurrence) was designed by hand and verified on paper before formalization. I have reviewed and understand every line of the resulting Lean code and can explain all proof steps. --- - [x] builds cleanly (`lake build Mathlib.Data.Nat.Fib.Lame`) - [x] no `sorry` - [x] lines ≤ 100 characters, no trailing whitespace - [x] `autoImplicit false` - [x] docstrings on all public declarations new-contributor LLM-generated t-data merge-conflict 121/0 Mathlib.lean,Mathlib/Data/Nat/Basic.lean,Mathlib/Data/Nat/Fib/Basic.lean,Mathlib/Data/Nat/Fib/Lame.lean,docs/1000.yaml 5 25 ['euprunin', 'github-actions', 'kennethgoodman', 'mathlib-merge-conflicts', 'vihdzp', 'wwylele'] TwoFX
assignee:TwoFX
174-68469
5 months ago
174-68470
174 days ago
44-53174
44 days
0
39509 mcdoll
author:mcdoll
chore(Topology): add `push/pull_end` tags for CLMs Simpsets were introduced in #38359, see also #39508 --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict 2/0 Mathlib/Topology/Algebra/Module/LinearMap.lean 1 2 ['github-actions', 'mathlib-merge-conflicts'] j-loreaux
assignee:j-loreaux
172-47969
5 months ago
172-52017
172 days ago
3-38611
3 days
0
36774 euprunin
author:euprunin
chore: replace long terminal `rw […]`:s (≥4 lemmas) with bare `simp`:s The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (differences <30 ms considered measurement noise): * `Finset.lcm_union`: unchanged 🎉 * `Finset.gcd_union`: unchanged 🎉 * `Polynomial.derivative_eval₂_C`: unchanged 🎉 * `Polynomial.expand_pow`: unchanged 🎉 * `Cardinal.mk_real`: unchanged 🎉 * `Real.log_zpow`: unchanged 🎉 * `Matroid.eRank_le_encard_add_eRk_compl`: unchanged 🎉 * `DFinsupp.single_tsub`: unchanged 🎉 * `EReal.inv_neg`: unchanged 🎉 * `Finsupp.toMultiset_map`: unchanged 🎉 * `Finsupp.single_tsub`: unchanged 🎉 * `Multiset.countP_map`: unchanged 🎉 * `Nat.ascFactorial_eq_factorial_mul_choose'`: unchanged 🎉 * `Real.sign_intCast`: unchanged 🎉 * `Real.volume_eball`: unchanged 🎉 * `Real.volume_closedEBall`: unchanged 🎉 * `LFunction_ne_zero_of_not_quadratic_or_ne_one`: 295 ms before, 152 ms after 🎉 * `hasSum_one_div_nat_pow_mul_cos`: unchanged 🎉 * `inv_eq_of_aeval_divX_ne_zero`: unchanged 🎉 * `AlgebraicIndependent.aeval_comp_mvPolynomialOptionEquivPolynomialAdjoin`: unchanged 🎉 * `Ordinal.deriv_mul_eq_opow_omega0_mul`: unchanged 🎉 Profiled using `set_option trace.profiler true in`. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 22/24 Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/Expand.lean,Mathlib/Analysis/Real/Cardinality.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Combinatorics/Matroid/Rank/ENat.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/Finsupp/Multiset.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Multiset/Filter.lean,Mathlib/Data/Nat/Choose/Basic.lean,Mathlib/Data/Real/Sign.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/NumberTheory/LSeries/Nonvanishing.lean,Mathlib/NumberTheory/ZetaValues.lean,Mathlib/RingTheory/Algebraic/Basic.lean,Mathlib/RingTheory/AlgebraicIndependent/Basic.lean,Mathlib/SetTheory/Ordinal/FixedPoint.lean 19 3 ['artie2000', 'euprunin', 'github-actions', 'mathlib-merge-conflicts'] nobody
169-77406
5 months ago
169-77407
169 days ago
66-82463
66 days
0
39489 Paul-Lez
author:Paul-Lez
fix: defeq abuse in HasFTaylorSeriesUpToOn.comp Removes a `set_option backward.isDefEq.respectTransparency false`. The fix isn't as nice as I would have hoped (I tried to make it smaller but to no avail). --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict 5/2 Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean 1 2 ['github-actions', 'mathlib-merge-conflicts'] j-loreaux
assignee:j-loreaux
163-48070
5 months ago
163-48070
163 days ago
12-81129
12 days
0
38344 robo7179
author:robo7179
feat(SimpleGraph/Coloring/VertexColoring): Matching is 2 colorable --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor merge-conflict 51/0 Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean 1 6 ['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vlad902'] b-mehta
assignee:b-mehta
154-82303
5 months ago
154-82304
154 days ago
46-70512
46 days
0
37707 MavenRain
author:MavenRain
feat(Combinatorics/SimpleGraph): add IsMaximalClique/IsMaximalIndepSet, refactor IsMaximum* to MaximalFor Addresses #34962 new-contributor t-combinatorics merge-conflict 63/31 Mathlib/Combinatorics/SimpleGraph/Clique.lean 1 7 ['MavenRain', 'SnirBroshi', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts'] nobody
150-63230
4 months ago
150-63231
150 days ago
26-50538
26 days
0
39545 Hagb
author:Hagb
feat(Order/OrderIsoNat): some lemmas about `((· < ·) : ℕ → ℕ → Prop) ↪r r` This PR contains several lemmas about relation embedding from `<` in `Nat`, well order, and (in)finiteness. - `RelEmbedding.infinite_iff_nonempty_relEmbedding_of_isWellOrder`: a type with a well order relation is infinite iff there is such a relation embedding. - `RelEmbedding.finite_iff_empty_relEmbedding_of_isWellOrder`: a finite variant of `infinite_iff_nonempty_relEmbedding_of_isWellOrder` - `IsWellOrder.finite_of_isWellOrder_of_isWellOrder_swap`: a type with a linear order relation well founded on both directions is finite. - `instFiniteOfWellFoundedLTOfWellFoundedGT`: an instance variant of `IsWellOrder.finite_of_isWellOrder_of_isWellOrder_swap` on `WellFounded{LT,GT}`. - `RelEmbedding.infinite_iff_nonempty_relEmbedding_lt_or_nonempty_relEmbedding_gt`: a type with a linear order relation is infinite iff there are both relation embedding between `<` in `Nat` and this relation, and between `>` in `Nat` and this relation. - `RelEmbedding.finite_iff_isEmpty_relEmbedding_lt_and_isEmpty_relEmbedding_gt`: a finite variant of `infinite_iff_nonempty_relEmbedding_lt_or_nonempty_relEmbedding_gt`. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) <details> <summary> Edit: remove the description on the original motivation since `WellQuasiOrdered` instead of theorems in this PR can be used for that goal. </summary> `RelEmbedding.finite_iff_empty_relEmbedding_of_isWellOrder` might be used for proof of ```lean example {α β γ} [LinearOrder α] [LinearOrder β] [WellFoundedLT α] [WellFoundedLT β] [LinearOrder γ] {f : α × β ≃ γ} (mono : Monotone f) : WellFoundedLT γ := sorry ``` The latter will be used for ```lean example {α β γ} [Finite α] [LinearOrder β] [WellFoundedLT β] [LinearOrder γ] {f : (α → β) ≃ γ} (mono : Monotone f) : WellFoundedLT γ := sorry ``` And the finial goal is the well-foundedness of monomial order when the index type `σ` is finite (under the definition in #39214). t-order merge-conflict 58/0 Mathlib/Order/OrderIsoNat.lean 1 16 ['Hagb', 'SnirBroshi', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'vihdzp'] nobody
150-60300
4 months ago
150-60301
150 days ago
23-45302
23 days
1
40428 eric-wieser
author:eric-wieser
chore: remove a duplicate instance We already build this instance in the general case, I don't think we need to build it again. We keep the shortcut since we already have other shortcuts of this style. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra large-import merge-conflict
label:t-algebra$
2/3 Mathlib/Algebra/Field/Subfield/Basic.lean 1 4 ['eric-wieser', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] nobody
149-53593
4 months ago
149-53594
149 days ago
3-18132
3 days
0
38968 eric-wieser
author:eric-wieser
fix: improve defeqs of comp actions The (deliberately) non-reducible `SMul.comp.smul` definition caused us to end with these failing unification examples at instance reducibility: ```lean example : (Module.compHom ℕ (RingHom.id ℕ)).toSMul = SMul.comp ℕ (RingHom.id ℕ) := by with_reducible_and_instances rfl example : (Module.compHom ℕ (RingHom.id ℕ)).toMulAction = MulAction.compHom ℕ (MonoidHom.id ℕ) := by with_reducible_and_instances rfl ``` There are two issues this fixes: * the `compHom` constructors are inconsistent on whether they use `SMul.comp.smul` or reimplement its contents * we need `SMul.comp.smul` to be instance-reducible, so that when invoked with the identity function it is instance-defeq to the original action. As a bonus, allowing these to unify means we can have a single `SMul.comp_smul_def` lemma that works for all of the `compHom` definitions. We could also consider changing `compHom` to take a `HomClass` in order to remove the casts entirely, which would remove the need to add these `SMul.comp` terms. This PR leaves that for possible future work, noting that in the past we have moved away from writing `def`s taking `HomClass`es. Co-authored-by: Junye Ji <jijunye1@outlook.com> --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) Refined from #38777 t-algebra merge-conflict
label:t-algebra$
46/26 Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/Hom.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/End.lean,Mathlib/Algebra/Module/RingHom.lean,Mathlib/Analysis/Complex/UpperHalfPlane/MoebiusAction.lean,Mathlib/Analysis/Complex/UpperHalfPlane/ProperAction.lean,Mathlib/Topology/Algebra/Group/OpenMapping.lean 9 13 ['JJYYY-JJY', 'Vierkantor', 'eric-wieser', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts'] nobody
139-52545
4 months ago
139-52546
139 days ago
13-10860
13 days
0
26911 JovanGerb
author:JovanGerb
chore: fix naming of `mono` and `monotone` The naming convention says: "We use `_mono` for `a ≤ b → f a ≤ f b` and `_anti` for `a ≤ b → f b ≤ f a`, so we also use `_monotone` for `Monotone f`, `_antitone` for `Antitone f`, `_strictMono` for `StrictMono f`, `_strictAnti` for `StrictAnti f`, etc..." This PR swaps `mono`/`anti` and `monotone`/`antitone` where required so that `monotone` refers to `Monotone`, while `mono` refers to a lemma that might be tagged with `@[gcongr]` This PR does not address - `monotone_right`/`mono_right` vs `right_monotone`/`right_mono` - `monotone_arcsin` vs `arcsin_monotone` edit: TODO: `ideal_mono` and friends --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 235/169 Archive/Imo/Imo1962Q1.lean,Archive/Wiedijk100Theorems/AbelRuffini.lean,Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Order/AddGroupWithTop.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Group/Basic.lean,Mathlib/Algebra/Order/Group/Finset.lean,Mathlib/Algebra/Order/Group/PosPart.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Pow.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Algebra/Polynomial/Degree/CardPowDegree.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Convex/Deriv.lean,Mathlib/Analysis/Normed/Order/UpperLower.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromConst.lean,Mathlib/Analysis/PSeries.lean,Mathlib/Analysis/Real/Pi/Bounds.lean,Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/Analysis/SpecificLimits/FloorPow.lean,Mathlib/Combinatorics/SetFamily/Kleitman.lean,Mathlib/Combinatorics/SimpleGraph/Girth.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean,Mathlib/Data/ENNReal/Inv.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/Data/ENat/Pow.lean,Mathlib/Data/Nat/Choose/Factorization.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean,Mathlib/LinearAlgebra/AffineSpace/AffineMap.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Basic.lean,Mathlib/MeasureTheory/Constructions/Polish/Basic.lean,Mathlib/MeasureTheory/MeasurableSpace/MeasurablyGenerated.lean,Mathlib/MeasureTheory/OuterMeasure/Operations.lean,Mathlib/NumberTheory/Bertrand.lean,Mathlib/NumberTheory/FermatPsp.lean,Mathlib/NumberTheory/Height/Basic.lean,Mathlib/NumberTheory/ModularForms/Bounds.lean,Mathlib/NumberTheory/Padics/Hensel.lean,Mathlib/NumberTheory/Padics/WithVal.lean,Mathlib/Order/Concept.lean,Mathlib/Order/Filter/AtTopBot/Archimedean.lean,Mathlib/Order/Filter/AtTopBot/Defs.lean,Mathlib/Order/Fin/Basic.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Heyting/Boundary.lean,Mathlib/Order/Heyting/Regular.lean,Mathlib/Order/Hom/Set.lean,Mathlib/Order/Interval/Set/Fin.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Order/UpperLower/Closure.lean,Mathlib/Probability/StrongLaw.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/FractionalIdeal/Basic.lean,Mathlib/RingTheory/WittVector/Basic.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean,Mathlib/Topology/MetricSpace/Antilipschitz.lean 63 15 ['JovanGerb', 'bryangingechen', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib-bors', 'mathlib-merge-conflicts', 'wrenna-robson'] bryangingechen
assignee:bryangingechen
138-35039
4 months ago
486-1282
486 days ago
2-48079
2 days
0
34932 erdOne
author:erdOne
feat(AlgebraicGeometry): formally etale morphisms --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry merge-conflict 163/12 Mathlib.lean,Mathlib/AlgebraicGeometry/Morphisms/Etale.lean,Mathlib/AlgebraicGeometry/Morphisms/FormallyEtale.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/RingTheory/RingHom/Etale.lean 5 21 ['chrisflav', 'erdOne', 'github-actions', 'joneugster', 'mathlib-bors', 'mathlib-merge-conflicts', 'ocfnash'] nobody
138-35038
4 months ago
257-56525
257 days ago
11-34462
11 days
0
27180 ADedecker
author:ADedecker
feat: quotient of a monoid with zero by a multiplicative congruence --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> My motivation is getting a more conceptual construction of [ValuativeRel.ValueGroupWithZero](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Valuation/ValuativeRel.html#ValuativeRel.ValueGroupWithZero), but I think this is of independent interest. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebra
label:t-algebra$
141/26 Mathlib.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Congruence/GroupWithZero.lean 5 38 ['ADedecker', 'eric-wieser', 'github-actions', 'mathlib-bors', 'mathlib4-merge-conflict-bot', 'ocfnash'] ocfnash
assignee:ocfnash
138-35035
4 months ago
453-19935
453 days ago
27-80433
27 days
0
31607 grunweg
author:grunweg
chore: rename `continuous{,On,At,Within}_const` to `ContinuousFoo.const` Zulip discussion: [#mathlib4 > Naming convention @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Naming.20convention/near/447491526) --- - [x] depends on: #34441 - [x] depends on: #34688 <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 412/378 Archive/Hairer.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/BoxIntegral/UnitPartition.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Continuity.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unital.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean,Mathlib/Analysis/Calculus/DSlope.lean,Mathlib/Analysis/Calculus/Deriv/MeanValue.lean,Mathlib/Analysis/Calculus/DiffContOnCl.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Calculus/MeanValue.lean,Mathlib/Analysis/Calculus/Rademacher.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/Complex/AbelLimit.lean,Mathlib/Analysis/Complex/AbsMax.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/Analysis/Complex/HalfPlane.lean,Mathlib/Analysis/Complex/LocallyUniformLimit.lean,Mathlib/Analysis/Complex/PhragmenLindelof.lean,Mathlib/Analysis/Complex/RemovableSingularity.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Measure.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Metric.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Topology.lean,Mathlib/Analysis/Convex/Cone/InnerDual.lean,Mathlib/Analysis/Convex/Exposed.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Convex/PartitionOfUnity.lean,Mathlib/Analysis/Convex/Side.lean,Mathlib/Analysis/Convex/StdSimplex.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/InnerProductSpace/Continuous.lean,Mathlib/Analysis/InnerProductSpace/Harmonic/HarmonicContOnCl.lean,Mathlib/Analysis/InnerProductSpace/LinearPMap.lean,Mathlib/Analysis/InnerProductSpace/MeanErgodic.lean,Mathlib/Analysis/InnerProductSpace/OfNorm.lean,Mathlib/Analysis/LocallyConvex/Separation.lean,Mathlib/Analysis/Meromorphic/Order.lean,Mathlib/Analysis/Meromorphic/TrailingCoefficient.lean,Mathlib/Analysis/Normed/Affine/AddTorsor.lean,Mathlib/Analysis/Normed/Group/Continuity.lean,Mathlib/Analysis/Normed/Group/Lemmas.lean,Mathlib/Analysis/Normed/Module/Ball/Homeomorph.lean,Mathlib/Analysis/Normed/Module/Connected.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/Normed/Module/Multilinear/Basic.lean,Mathlib/Analysis/Normed/Operator/Completeness.lean,Mathlib/Analysis/ODE/Gronwall.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Isometric.lean,Mathlib/Analysis/SpecialFunctions/Elliptic/Weierstrass.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Deligne.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/PoissonSummation.lean,Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/Analysis/SpecialFunctions/MulExpNegMulSq.lean,Mathlib/Analysis/SpecialFunctions/PolarCoord.lean,Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Inverse.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean,Mathlib/Condensed/Light/TopCatAdjunction.lean,Mathlib/Condensed/TopCatAdjunction.lean,Mathlib/Dynamics/OmegaLimit.lean,Mathlib/Geometry/Euclidean/Angle/Oriented/Basic.lean,Mathlib/Geometry/Manifold/Bordism.lean,Mathlib/Geometry/Manifold/Complex.lean,Mathlib/Geometry/Manifold/Instances/Icc.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/SmoothApprox.lean,Mathlib/MeasureTheory/Function/SpecialFunctions/Basic.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Integral/CircleIntegral.lean,Mathlib/MeasureTheory/Integral/CircleTransform.lean,Mathlib/MeasureTheory/Integral/DominatedConvergence.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean,Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean,Mathlib/MeasureTheory/Measure/Stieltjes.lean,Mathlib/NumberTheory/Cyclotomic/CyclotomicCharacter.lean,Mathlib/NumberTheory/Harmonic/ZetaAsymp.lean,Mathlib/NumberTheory/LSeries/AbstractFuncEq.lean,Mathlib/NumberTheory/LSeries/Deriv.lean,Mathlib/NumberTheory/LSeries/Dirichlet.lean,Mathlib/NumberTheory/LSeries/DirichletContinuation.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaOdd.lean,Mathlib/NumberTheory/LSeries/PrimesInAP.lean 185 19 ['github-actions', 'j-loreaux', 'mathlib-bors', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
138-35033
4 months ago
unknown
unknown
0
37819 YellPika
author:YellPika
feat(Order/OmegaCompletePartialOrder): add `OmegaCompletePartialOrder` instance for `WithBot` with basic `ωScottContinuous` lemmas This is a modification of #34093. See #34093 for details. --- - [x] depends on: #33941 - [x] depends on: #37258 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order merge-conflict 337/10 Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/TypeTags.lean,Mathlib/Order/WithBot.lean 6 6 ['Komyyy', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
134-8910
4 months ago
192-35797
192 days ago
22-4315
22 days
0
40369 plp127
author:plp127
refactor: make `IsAtom` not depend on `OrderBot` We choose for `IsAtom a` to mean `∃ b, b ⋖ a ∧ ∀ c, c < a → b ≤ c`, which is equivalent to the current definition in the case of a `PartialOrder` with `OrderBot`. See [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60IsAtom.60.20is.20wrong.20for.20preorders/near/601014129). --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order merge-conflict 370/300 Mathlib/Algebra/Group/Subgroup/Order.lean,Mathlib/Algebra/Lie/InvariantForm.lean,Mathlib/Algebra/Lie/Killing.lean,Mathlib/Algebra/Lie/Semisimple/Basic.lean,Mathlib/Data/Finset/Grade.lean,Mathlib/GroupTheory/GroupAction/Jordan.lean,Mathlib/GroupTheory/Perm/MaximalSubgroups.lean,Mathlib/GroupTheory/SpecificGroups/Alternating/MaximalSubgroups.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/LinearAlgebra/Basis/VectorSpace.lean,Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean,Mathlib/LinearAlgebra/Span/Basic.lean,Mathlib/Order/Atoms.lean,Mathlib/Order/BooleanGenerators.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Order/Filter/Ultrafilter/Defs.lean,Mathlib/Order/Ideal.lean,Mathlib/Order/Partition/Finpartition.lean,Mathlib/Order/Radical.lean,Mathlib/Order/SuccPred/Tree.lean,Mathlib/Order/ZornAtoms.lean,Mathlib/RingTheory/ChainOfDivisors.lean,Mathlib/RingTheory/DedekindDomain/Dvr.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/DualNumber.lean,Mathlib/RingTheory/Ideal/Basic.lean,Mathlib/RingTheory/Ideal/GoingUp.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/RingTheory/Jacobson/Ideal.lean,Mathlib/RingTheory/Jacobson/Radical.lean,Mathlib/RingTheory/Jacobson/Ring.lean,Mathlib/RingTheory/KrullDimension/Zero.lean,Mathlib/RingTheory/LocalRing/Basic.lean,Mathlib/RingTheory/LocalRing/MaximalIdeal/Basic.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/SimpleModule/Isotypic.lean,Mathlib/RingTheory/Spectrum/Prime/Basic.lean,Mathlib/Topology/Sets/Closeds.lean 40 3 ['github-actions', 'mathlib-merge-conflicts', 'plp127'] nobody
130-57751
4 months ago
130-57752
130 days ago
22-11338
22 days
0
40626 chenson2018
author:chenson2018
feat(Logic/Relation): some `EqvGen` API This is adapted from #40606 and existing lemmas in CSLib. I move two theorems (`Equivalence.eqvGen_iff` and `Equivalence.eqvGen_eq`) earlier for a better proof of `EqvGen.lift'` that matches what is done for other closures. Co-authored-by: Dagur Asgeirsson <dagurtomas@gmail.com> --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic merge-conflict 77/14 Mathlib/Logic/Relation.lean 1 6 ['chenson2018', 'github-actions', 'mathlib-merge-conflicts', 'plp127'] nobody
125-66331
4 months ago
125-66332
125 days ago
19-19347
19 days
0
33402 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(LinearAlgebra/Transvection/Generation): prove exceptional case in Dieudonné's theorem Establish the fourth part of Dieudonné's theorem: is a linear equivalence is exceptional, it is the product of `finrank K (V ⧸ e.fixedSubmodule)` transvections and one dilatransvection. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #33348 - [ ] depends on: #33347 - [ ] depends on: #33387 - [ ] depends on: #33282 - [ ] depends on: #33392 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
713/0 Mathlib.lean,Mathlib/LinearAlgebra/Center.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/Transvection/Basic.lean,Mathlib/LinearAlgebra/Transvection/Generation.lean 5 13 ['AntoineChambert-Loir', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] nobody
117-36619
3 months ago
117-36619
117 days ago
0-13417
3 hours
5
41300 alreadydone
author:alreadydone
feat(EllipticCurve): the universal elliptic curve + Define the universal Weierstrass curve (`Universal.curve`) over the polynomial ring `ℤ[A₁,A₂,A₃,A₄,A₆]`, and the universal pointed elliptic curve (`Universal.pointedCurve`) over the field of fractions (`Universal.Field`) of the universal ring `ℤ[A₁,A₂,A₃,A₄,A₆,X,Y]/⟨P⟩ = Universal.Poly/⟨P⟩` (`Universal.Ring`, where `P` is the Weierstrass polynomial) with distinguished point `(X,Y)`. + Given a Weierstrass curve `W` over a commutative ring `R`, we define the specialization homomorphism `W.specialize : ℤ[A₁,A₂,A₃,A₄,A₆] →+* R`. If `(x,y)` is a point on the affine plane, we define `W.polyEval x y : Universal.Poly →+* R`, which factors through `W.ringEval x y : Universal.Ring →+* R` if `(x,y)` is on `W`. migrated from #13847 --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry t-algebra merge-conflict
label:t-algebra$
213/0 Mathlib.lean,Mathlib/Algebra/Group/Action/Faithful.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Universal.lean 4 10 ['Multramate', 'alreadydone', 'github-actions', 'mathlib-merge-conflicts'] nobody
109-53712
3 months ago
109-53713
109 days ago
20-21279
20 days
0
37716 slavanaprienko
author:slavanaprienko
feat(LinearAlgebra/Matrix/Determinant): Desnanot-Jacobi identity This PR adds the Desnanot-Jacobi identity (also known as the Lewis Carroll identity or Dodgson condensation): for any (n+2)×(n+2) matrix M over a commutative ring, $$\det(M) \cdot \det(M_{1,n}^{1,n}) = \det(M_1^1) \cdot \det(M_n^n) - \det(M_1^n) \cdot \det(M_n^1)$$ The proof follows Bressoud's *Proofs and Confirmations* (Cambridge University Press, 1999): multiply M by an auxiliary matrix built from columns of the adjugate, then compare determinants. This yields the identity premultiplied by det(M). To cancel, we pass to a universal polynomial ring (an integral domain with nonzero determinant), then specialize back to arbitrary commutative rings. It seems there's some interest in adding this: https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Determinantal.20identity.20and.20the.20Cauchy.20matrix.20determinant/with/582946873 --- t-algebra new-contributor merge-conflict
label:t-algebra$
217/0 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Determinant/DesnanotJacobi.lean 2 14 ['SnirBroshi', 'github-actions', 'grunweg', 'kim-em', 'mathlib-merge-conflicts', 'slavanaprienko'] nobody
104-6667
3 months ago
129-55802
129 days ago
53-45751
53 days
0
26394 winstonyin
author:winstonyin
feat: existence of local flows on manifolds This PR continues the work from #21777. Original PR: https://github.com/leanprover-community/mathlib4/pull/21777 Transfer the existence theorem of local flows on vector spaces to manifolds. The precise statement is: > If a vector field `v` on a manifold `M` is continuously differentiable at an interior point `x₀`, then for a given `t₀` there exists a neighbourhood `u` of `x₀`, a positive `ε`, and `γ : M → ℝ → M` such that `γ x` is an integral curve of `v` on `(t₀ - ε, t₀ + ε)` for all `x ∈ u`. This is powerful because all curves `γ x` (each with initial condition `x ∈ u`) share the same existence time interval `(t₀ - ε, t₀ + ε)`, rather than each curve having its own `ε`. This will allow us to show that $C^1$ vector fields on compact manifolds always have global integral curves / global flows. Any suggestions to shorten the proof or split out useful lemmas are welcome! - [x] depends on: #26392 --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry merge-conflict 138/61 Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/Order/Filter/Prod.lean 3 13 ['github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'ocfnash', 'winstonyin'] nobody
104-6637
3 months ago
162-56929
162 days ago
23-1300
23 days
1
38649 chrisflav
author:chrisflav
chore(RingTheory): equality of linear map with values in finite module spreads out We add some corollaries of `Module.Finite.exists_smul_of_comp_eq_of_isLocalizedModule`. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import merge-conflict 75/1 Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/Localization/Module.lean 3 3 ['github-actions', 'mathlib-merge-conflicts'] mariainesdff
assignee:mariainesdff
103-55852
3 months ago
103-55853
103 days ago
91-30358
91 days
1
40695 khwilson
author:khwilson
feat(Topology/Semicontinuity/Hemicontinuity): intersections with compact absolutely convex sets Constructing lower hemicontinuous functions from other lower hemicontinuous functions is an important part of working with them. This PR shows that the intersection of a lower hemicontinuous function whose values are star convex w/r/t 0 with a compact, absolutely convex neighborhood of zero is also lower hemicontinuous. This construction is used, for example, in combination with Michael's selection theorem to refine the open mapping theorem to say that if `f : V -> W` is a continuous, linear, bounded surjection of Banach spaces and K is a compact, absolutely convex neighborhood of zero, then there is a continuous section `g : f(K) -> K` of the restriction `f|_K : K -> W`. (This refinement is a follow up PR.) Note this PR also contains some cleanup of the names in `Gauge.lean` along with the theorems we add for this PR. - [ ] depends on: #40377 AI Disclosure: Claude models used for translating proof outline into first draft which was then refactored and revised --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology large-import merge-conflict 338/24 Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/AbsConvexOpen.lean,Mathlib/Topology/Semicontinuity/Hemicontinuity.lean 4 4 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
97-84422
3 months ago
unknown
unknown
0
35812 khwilson
author:khwilson
feat(MeasureTheory/Group/GeometryOfNumbers): successive minima and existence of a directional basis Define the successive minima of a discrete subgroup of a real vector space with respect to a convex set. These invariants show up throughout the geometry of numbers and are the focus of Minkowski's Second Theorem (whose statement is left here with a `proof_wanted`). Note: The key lemma is that the "gauge set" of the convex set is closed. I took the approach of showing that it is sequentially closed. There's an alternative approach via showing it's the union of a finite number of closed sets. I personally thought this approach was more intuitive, but the union approach may result in a slightly shorter proof. Co-authored-by: Yaël Dillies <yael.dillies@gmail.com> --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [x] depends on: #xyz [optional extra text] --> - [x] depends on #37738 - [x] depends on #37740 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability merge-conflict 350/36 Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/Convex/Body.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean,Mathlib/MeasureTheory/Group/GeometryOfNumbers.lean,Mathlib/NumberTheory/NumberField/Units/Regulator.lean 7 99 ['Vierkantor', 'YaelDillies', 'github-actions', 'joneugster', 'khwilson', 'mathlib-merge-conflicts', 'ocfnash', 'sgouezel'] nobody
95-28668
3 months ago
95-28668
95 days ago
90-9647
90 days
0
41622 benjub
author:benjub
feat(Order): add subset_Icc_iff and Set.OrdConnected.eq_Icc Add two lemmas relating to closed bounded intervals in a preorder: - `subset_Icc_iff : s ⊆ Icc a b ↔ a ∈ lowerBounds s ∧ b ∈ upperBounds s` in `Mathlib/Order/Bounds/Basic.lean` characterizes containment in a closed bounded interval. This is the version "with witnesses" of `bddBelow_bddAbove_iff_subset_Icc`, and we prove the latter as a corollary. - `OrdConnected.eq_Icc (s : Set α) (hs : OrdConnected s) (ha : IsLeast s a) (hb : IsGreatest s b) : s = Icc a b` in `Mathlib/Order/Interval/Set/OrdConnected.lean` gives a sufficient condition to be a closed bounded interval. It uses the previous lemma in its proof. --- **Motivation:** I plan to use `OrdConnected.eq_Icc` to show that a set is closed when it is ordconnected and contains its infimum and supremum. This will allow to use the existing "continuous induction principle" `IsClosed.mem_of_ge_of_forall_exists_gt` to shorten the (compiling) proof in the draft PR #41552. t-order new-contributor merge-conflict 9/3 Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/Interval/Set/OrdConnected.lean 2 6 ['benjub', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] nobody
94-53863
3 months ago
94-53864
94 days ago
25-14914
25 days
0
40336 Bergschaf
author:Bergschaf
feat(Order/Sublocales): definition of open sublocales --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order merge-conflict 49/7 Mathlib/Order/Sublocale.lean 1 4 ['Bergschaf', 'github-actions', 'mathlib-merge-conflicts'] nobody
91-7628
2 months ago
91-7628
91 days ago
62-81221
62 days
0
40768 AlexeyMilovanov
author:AlexeyMilovanov
Add a reachability characterization for PFun.fix Add a `ReflTransGen` characterization of `PFun.fix` and use it to simplify one Turing machine proof. new-contributor merge-conflict 27/13 Mathlib/Computability/TuringMachine/Config.lean,Mathlib/Data/PFun.lean 2 3 ['github-actions', 'mathlib-merge-conflicts'] nobody
90-35746
2 months ago
90-35747
90 days ago
40-57718
40 days
0
31595 astrainfinita
author:astrainfinita
chore: redefine `Ideal.IsPrime` Redefine `Ideal.IsPrime` to make it correct for non-commutative cases --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
383/111 Mathlib/Algebra/Order/Ring/Ordering/Defs.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Maps.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Basic.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Noetherian.lean,Mathlib/RingTheory/Ideal/Oka.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/Ideal/Pointwise.lean,Mathlib/RingTheory/Ideal/Prime.lean,Mathlib/RingTheory/Ideal/Prod.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/IsPrimary.lean,Mathlib/RingTheory/Localization/AtPrime/Basic.lean,Mathlib/RingTheory/Localization/Ideal.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean 24 35 ['alreadydone', 'artie2000', 'astrainfinita', 'erdOne', 'github-actions', 'leanprover-bot', 'leanprover-radar', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] kim-em
assignee:kim-em
89-71757
2 months ago
89-71758
89 days ago
74-40487
74 days
0
39807 vihdzp
author:vihdzp
feat: universe-heterogeneous cardinal equality We introduce a predicate `LiftEq a b`, with notation `a =ₗ b`, which states that two cardinals (in different universes) are equal. This serves as a single canonical spelling for `lift.{v} a = lift.{u} b` and similar incantations. Future PRs will introduce the analogous predicates for `<` and `≤`, and a notation typeclass so the notation can be reused for `Ordinal` and `OrderType`. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory tech debt merge-conflict 316/149 Mathlib/CategoryTheory/Abelian/GrothendieckCategory/EnoughInjectives.lean,Mathlib/FieldTheory/IsAlgClosed/Classification.lean,Mathlib/LinearAlgebra/Dimension/Basic.lean,Mathlib/LinearAlgebra/Dimension/Constructions.lean,Mathlib/LinearAlgebra/Dimension/Free.lean,Mathlib/LinearAlgebra/Dimension/FreeAndStrongRankCondition.lean,Mathlib/LinearAlgebra/Dimension/LinearMap.lean,Mathlib/LinearAlgebra/Dimension/StrongRankCondition.lean,Mathlib/ModelTheory/Basic.lean,Mathlib/ModelTheory/Satisfiability.lean,Mathlib/RingTheory/AlgebraicIndependent/Basic.lean,Mathlib/RingTheory/AlgebraicIndependent/RankAndCardinality.lean,Mathlib/RingTheory/AlgebraicIndependent/TranscendenceBasis.lean,Mathlib/RingTheory/LinearDisjoint.lean,Mathlib/RingTheory/Localization/Cardinality.lean,Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Defs.lean,Mathlib/SetTheory/Cardinal/ENat.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/SetTheory/Cardinal/ToNat.lean,Mathlib/SetTheory/Ordinal/Univ.lean,Mathlib/SetTheory/ZFC/Cardinal.lean 24 4 ['acmepjz', 'github-actions', 'mathlib-merge-conflicts'] alreadydone
assignee:alreadydone
89-69142
2 months ago
89-69143
89 days ago
57-49310
57 days
0
39663 Raph-DG
author:Raph-DG
feat(Topology): A spectral map between quasi-separated, prespectral sober spaces has compact fibers In this PR, we develop some API around the constructible topology, culminating in the fact that a spectral map between quasi-separated, prespectral sober spaces has compact fibers. To see why this might be of interest, note that the analogous theorem in algebraic geometry (that a quasiseparated map between schemes has quasicompact fibers) does not require any global separatedness assumptions, and the proof of this is very algebraic. So we have the somewhat mysterious situation that it seems as though there are nontrvial topological restrictions on the kinds of spectral maps which can be the underlying maps of morphisms of schemes. This PR was originally part of #26304, a PR on pushforwards of algebraic cycles. This is where the notion of compactness of fibers becomes relevant, as this guarantees each coefficient of the pushforward of a cycle is computed by a finite sum. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology large-import merge-conflict 178/6 Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/Constructible.lean,Mathlib/Topology/Defs/Induced.lean,Mathlib/Topology/Maps/Proper/Basic.lean,Mathlib/Topology/Spectral/ConstructibleTopology.lean,Mathlib/Topology/WithTopology.lean 6 6 ['Raph-DG', 'chrisflav', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts'] urkud
assignee:urkud
86-58837
2 months ago
86-58838
86 days ago
69-13334
69 days
1
41759 JovanGerb
author:JovanGerb
chore: deprecate `haveI'` and `letI'` It seems that the uses of `haveI'` can simply be replaced by `have`. If this doesn't cause performance regressions, then I think that this is desired. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 139/138 Mathlib/Algebra/Order/Field/Power.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/Tactic/HaveI.lean,Mathlib/Tactic/ModCases.lean,Mathlib/Tactic/NormNum/Basic.lean,Mathlib/Tactic/NormNum/BigOperators.lean,Mathlib/Tactic/NormNum/DivMod.lean,Mathlib/Tactic/NormNum/Eq.lean,Mathlib/Tactic/NormNum/GCD.lean,Mathlib/Tactic/NormNum/Ineq.lean,Mathlib/Tactic/NormNum/Inv.lean,Mathlib/Tactic/NormNum/LegendreSymbol.lean,Mathlib/Tactic/NormNum/OfScientific.lean,Mathlib/Tactic/NormNum/Ordinal.lean,Mathlib/Tactic/NormNum/Pow.lean,Mathlib/Tactic/NormNum/Prime.lean,Mathlib/Tactic/Positivity/Basic.lean,Mathlib/Tactic/Positivity/Core.lean,Mathlib/Tactic/ReduceModChar.lean 19 11 ['JovanGerb', 'eric-wieser', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'thorimur'] nobody
86-57789
2 months ago
86-57789
86 days ago
30-75593
30 days
0
42273 astrainfinita
author:astrainfinita
chore: remove `CovariantClass` and `ContravariantClass` This PR continues the work from #13124. Original PR: https://github.com/leanprover-community/mathlib4/pull/13124 t-algebra t-order tech debt merge-conflict
label:t-algebra$
526/322 Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/Group/Subgroup/Pointwise.lean,Mathlib/Algebra/Group/Submonoid/Pointwise.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/Order/AddTorsor.lean,Mathlib/Algebra/Order/Group/Action.lean,Mathlib/Algebra/Order/GroupWithZero/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/OrderDual.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Algebra/Order/Quantale.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Algebra/Ring/Subring/Pointwise.lean,Mathlib/Algebra/Ring/Subsemiring/Pointwise.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/SumOverResidueClass.lean,Mathlib/Data/ENNReal/Action.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/GroupTheory/OrderOfElement.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/Ideal/Pointwise.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean 30 8 ['astrainfinita', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'vihdzp'] nobody
86-57392
2 months ago
86-57393
86 days ago
13-14099
13 days
0
42426 mcdoll
author:mcdoll
chore(LinearAlgebra/LinearPMap): use `grind` and other golfs --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
63/106 Mathlib/LinearAlgebra/LinearPMap.lean 1 8 ['chenson2018', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'mcdoll', 'yuanyi-350'] nobody
84-36564
2 months ago
84-36565
84 days ago
12-79443
12 days
0
41815 felixpernegger
author:felixpernegger
chore: remove redundant brackets Remove redundant `()` brackets. This is pretty minor, but still a strict style improvement, so I PR it --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 1019/1019 Archive/Imo/Imo1982Q1.lean,Archive/Imo/Imo2024Q5.lean,Archive/Imo/Imo2025Q3.lean,Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Counterexamples/NowhereDifferentiable.lean,Counterexamples/TopologistsSineCurve.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/MulOpposite.lean,Mathlib/Algebra/BigOperators/Group/List/Defs.lean,Mathlib/Algebra/Category/BoolRing.lean,Mathlib/Algebra/Category/Grp/Adjunctions.lean,Mathlib/Algebra/Category/Grp/Preadditive.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Free.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Submodule.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Abelian.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/LocallyFree.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean,Mathlib/Algebra/Category/Ring/Basic.lean,Mathlib/Algebra/CharZero/Defs.lean,Mathlib/Algebra/Field/Subfield/Defs.lean,Mathlib/Algebra/FreeMonoid/Count.lean,Mathlib/Algebra/Group/Center.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Even.lean,Mathlib/Algebra/Group/Subgroup/Order.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Group/Submonoid/Units.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean,Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/ExactSequences.lean,Mathlib/Algebra/Homology/DerivedCategory/ShortExact.lean,Mathlib/Algebra/Homology/Embedding/AreComplementary.lean,Mathlib/Algebra/Homology/Embedding/Basic.lean,Mathlib/Algebra/Homology/Embedding/CochainComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/Plus.lean,Mathlib/Algebra/Homology/HomotopyFiber.lean,Mathlib/Algebra/Homology/ShortComplex/Abelian.lean,Mathlib/Algebra/Homology/ShortComplex/Basic.lean,Mathlib/Algebra/Homology/ShortComplex/ConcreteCategory.lean,Mathlib/Algebra/Homology/ShortComplex/Exact.lean,Mathlib/Algebra/Homology/ShortComplex/ExactFunctor.lean,Mathlib/Algebra/Homology/ShortComplex/Homology.lean,Mathlib/Algebra/Homology/ShortComplex/RightHomology.lean,Mathlib/Algebra/Lie/Ideal.lean,Mathlib/Algebra/Lie/LieTheorem.lean,Mathlib/Algebra/Lie/SemiDirect.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/Presentation/Basic.lean,Mathlib/Algebra/Module/Presentation/Differentials.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/Algebra/Module/Submodule/Invariant.lean,Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/Order/Antidiag/Finsupp.lean,Mathlib/Algebra/Order/Antidiag/Nat.lean,Mathlib/Algebra/Order/Antidiag/Pi.lean,Mathlib/Algebra/Order/GroupWithZero/Lex.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean,Mathlib/Algebra/Order/Module/HahnEmbedding.lean,Mathlib/Algebra/Order/Monoid/Lex.lean,Mathlib/Algebra/Order/Positive/Ring.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Lemmas.lean,Mathlib/Algebra/QuadraticAlgebra/Basic.lean,Mathlib/Algebra/Quandle.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subring/MulOpposite.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/MulOpposite.lean,Mathlib/Algebra/Ring/ULift.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/Algebra/SkewPolynomial/Basic.lean,Mathlib/Algebra/Star/CentroidHom.lean,Mathlib/Algebra/Torsor/Basic.lean,Mathlib/Algebra/TrivSqZeroExt/Basic.lean,Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean,Mathlib/AlgebraicGeometry/Birational/RationalMap.lean,Mathlib/AlgebraicGeometry/EffectiveEpi.lean,Mathlib/AlgebraicGeometry/FunctionField.lean,Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean,Mathlib/AlgebraicGeometry/Gluing.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Functorial.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/AlgebraicGeometry/Morphisms/Affine.lean,Mathlib/AlgebraicGeometry/Morphisms/AffineAnd.lean,Mathlib/AlgebraicGeometry/Morphisms/ClosedImmersion.lean,Mathlib/AlgebraicGeometry/Morphisms/Finite.lean,Mathlib/AlgebraicGeometry/Morphisms/Flat.lean,Mathlib/AlgebraicGeometry/Morphisms/Immersion.lean,Mathlib/AlgebraicGeometry/Morphisms/IsIso.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiCompact.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiFinite.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean 657 9 ['SnirBroshi', 'felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts'] nobody
83-78858
2 months ago
83-78859
83 days ago
4-48242
4 days
0
35402 samueloettl
author:samueloettl
feat(Dynamics/BirkhoffSum): birkhoffAverage const --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> I think this is useful and one of these should be a simp lemma. I'm not really sure if I got the naming of the theorems correct. When generalizing to the assumption (n : R) ≠ 0 instead of the special case CharZero R with n ≠ 0 I had to use "open Classical in". I'm a bit unfamiliar with that part so please check if this makes sense. See also https://github.com/leanprover-community/mathlib4/pull/35307#discussion_r2823586252 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-dynamics new-contributor merge-conflict 14/0 Mathlib/Dynamics/BirkhoffSum/Average.lean 1 41 ['Maldooor', 'github-actions', 'lua-vr', 'mathlib-merge-conflicts', 'mcdoll', 'plp127', 'samueloettl'] nobody
81-75548
2 months ago
81-80349
81 days ago
178-1592
178 days
1
38848 jcreinhold
author:jcreinhold
feat(AlgebraicTopology/SimplicialSet): exists_isPushout_of_ne_top Every proper subcomplex of a simplicial set extends by attaching a single cell along its boundary, exhibited as a pushout of `∂Δ[n] ↪ Δ[n]`. This is the per-cell input for cell-by-cell filtrations of monomorphisms in `SSet`. Adapted from @joelriou 's [proof](https://github.com/joelriou/topcat-model-category/blob/813338a8c88cfe0096deed7e3ba7daf92d4a1c71/TopCatModelCategory/SSet/Boundary.lean#L187). I also added the supporting lemma `Types.isPullback_of_eq_setPreimage` (set-preimage square is a pullback in `Type u`). AI use: Claude helped locate `subtype_val_mono` and the `backward.isDefEq.respectTransparency` option. t-algebraic-topology new-contributor merge-conflict 117/3 Mathlib/AlgebraicTopology/SimplicialSet/Boundary.lean,Mathlib/CategoryTheory/Limits/Types/Pullbacks.lean 2 38 ['dagurtomas', 'github-actions', 'jcreinhold', 'joelriou', 'mathlib-merge-conflicts', 'mckoen'] nobody
79-61164
2 months ago
79-61165
79 days ago
109-40413
109 days
0
40651 Scarlett-le
author:Scarlett-le
feat: signed power of a point and dimension-free power-of-a-point converses This PR reworks the converse direction of the power of a point in `Mathlib/Geometry/Euclidean/Sphere/Power.lean` to be dimension-free, and adds the converse of the intersecting secants theorem. Main additions: * `Sphere.inner_vsub_vsub_eq_power`: the signed power `⟪a -ᵥ p, b -ᵥ p⟫` of a point `p` on a secant line through `a, b ∈ s` is exactly `s.power p`; this unifies the chord and secant cases without splitting on the sign. * `Sphere.mem_of_inner_vsub_vsub_eq_power_of_mem_line`: a one-secant converse. * `cospherical_of_inner_vsub_eq_inner_vsub`: a dimension-free converse to the power of a point, stated with the signed invariant. * `cospherical_of_mul_dist_eq_mul_dist_of_angle_eq_zero`: the converse of the intersecting secants theorem (new). Main change: * `cospherical_of_mul_dist_eq_mul_dist_of_angle_eq_pi` (converse of the intersecting chords theorem) is reproved via `cospherical_of_inner_vsub_eq_inner_vsub`, going through the circumsphere of the triangle `{p₁, p₂, p₃}`. It no longer reduces to the 2D case, so the `[Fact (finrank ℝ V = 2)]` / `[Module.Oriented ℝ V (Fin 2)]` machinery, the private auxiliary lemma, and the `AffineIsometry` embedding into the affine span are all removed. The statement is unchanged. Imports `Mathlib.Geometry.Euclidean.Angle.Sphere` and `Mathlib.Geometry.Euclidean.Similarity` are dropped; `Mathlib.Geometry.Euclidean.Circumcenter` is added. t-euclidean-geometry tech debt merge-conflict 140/89 Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean,Mathlib/Geometry/Euclidean/Sphere/Power.lean 2 5 ['github-actions', 'mathlib-merge-conflicts'] JovanGerb
assignee:JovanGerb
79-60508
2 months ago
79-60509
79 days ago
21-79860
21 days
0
41644 adomani
author:adomani
chore: add missing `to_additive` docstrings in Algebra (BigOperators, Order, ...) Adds the missing additive doc-strings (multiplicative side has a hand-written doc-string, additive side did not) across 16 file(s) in **Algebra (BigOperators, Order, ...)**. The additive doc-strings are simple-minded translations of the multiplicative ones, with referenced lemma names replaced by their `to_additive` counterparts. These gaps were found by an environment linter that pairs each declaration with its `to_additive` counterpart and checks that both or neither is documented. 🤖 Generated with [Claude Code](https://claude.com/claude-code) LLM-generated merge-conflict 68/40 Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/BigOperators/Group/Finset/Piecewise.lean,Mathlib/Algebra/BigOperators/Group/Finset/Sigma.lean,Mathlib/Algebra/FreeMonoid/Basic.lean,Mathlib/Algebra/Module/PUnit.lean,Mathlib/Algebra/MonoidAlgebra/Module.lean,Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Algebra/Order/Group/Finset.lean,Mathlib/Algebra/Order/Group/Unbundled/Basic.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Pow.lean,Mathlib/Algebra/Regular/Basic.lean,Mathlib/Algebra/Torsor/Basic.lean,Mathlib/Order/Filter/AtTopBot/Monoid.lean 16 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
75-68481
2 months ago
75-68481
75 days ago
43-24968
43 days
0
41085 chrisflav
author:chrisflav
feat(CategoryTheory): stalks of a presheaf on an indiscrete topological space --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict 84/0 Mathlib/CategoryTheory/Limits/Shapes/Terminal.lean,Mathlib/Topology/Category/TopCat/OpenNhds.lean,Mathlib/Topology/Sheaves/Stalks.lean 3 10 ['chrisflav', 'dagurtomas', 'github-actions', 'jcommelin', 'mathlib-bors', 'mathlib-merge-conflicts', 'plp127'] joelriou
assignee:joelriou
75-10048
2 months ago
89-10547
89 days ago
46-64036
46 days
0
41705 kbuzzard
author:kbuzzard
perf: speed up kernel typechecking of some of mathlib's slowest declarations This PR changes some of the proofs in mathlib which were slowest to typecheck in the kernel. Typically there is some kind of defeq abuse going on in master, which the elaborator is quick to accept but which the kernel doesn't like, typically resulting in the unfolding of a large amount of stuff. Hopefully all the changes are uncontroversial. The problematic declarations were located with an LLM and changes were also initially written by an LLM but some fixes were complex, and I removed most of these from his PR because they were fiddling with parts of the codebase I didn't know well. I have now gone through everything manually, tidied up, and tested that indeed this is making mathlib quicker in every case. The added declaration `strictMono_valueGroupEquiv` in `Mathlib/RingTheory/DedekindDomain/AdicValuation.lean` is to tidy up one of the slow proofs. LLM-generated merge-conflict 21/11 Mathlib/Algebra/Category/ModuleCat/Sheaf/PushforwardContinuous.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/Etale/Field.lean 4 10 ['github-actions', 'kbuzzard', 'leanprover-radar', 'mathlib-merge-conflicts', 'metakunt'] nobody
72-55463
2 months ago
72-55464
72 days ago
31-32075
31 days
0
41829 felixpernegger
author:felixpernegger
perf: explicitly specify free universes in `ModuleCat` Like #40964, but for `ModuleCat` --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
197/193 Mathlib/Algebra/Category/AlgCat/Symmetric.lean,Mathlib/Algebra/Category/CoalgCat/Basic.lean,Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean,Mathlib/Algebra/Category/CoalgCat/Monoidal.lean,Mathlib/Algebra/Category/FGModuleCat/Basic.lean,Mathlib/Algebra/Category/Grp/ZModuleEquivalence.lean,Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Differentials/Basic.lean,Mathlib/Algebra/Category/ModuleCat/FilteredColimits.lean,Mathlib/Algebra/Category/ModuleCat/Images.lean,Mathlib/Algebra/Category/ModuleCat/Kernels.lean,Mathlib/Algebra/Category/ModuleCat/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Localization.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Adjunction.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Closed.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Symmetric.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/ColimitFunctor.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Monoidal.lean,Mathlib/Algebra/Category/ModuleCat/Subobject.lean,Mathlib/Algebra/Homology/ShortComplex/ModuleCat.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/CategoryTheory/Abelian/Ext.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ModuleEmbedding/GabrielPopescu.lean,Mathlib/CategoryTheory/Limits/ConcreteCategory/WithAlgebraicStructures.lean,Mathlib/CategoryTheory/Linear/Yoneda.lean,Mathlib/Condensed/Discrete/Module.lean,Mathlib/Condensed/Light/Explicit.lean,Mathlib/Condensed/Light/Small.lean,Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat.lean,Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat/Monoidal.lean,Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat/Symmetric.lean,Mathlib/RepresentationTheory/Coinvariants.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/Basic.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/Functoriality.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/LongExactSequence.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/Basic.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/Functoriality.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LongExactSequence.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LowDegree.lean,Mathlib/RepresentationTheory/Homological/Resolution.lean,Mathlib/RepresentationTheory/Homological/TateCohomology/Basic.lean,Mathlib/RepresentationTheory/Invariants.lean,Mathlib/RepresentationTheory/Rep/Basic.lean,Mathlib/RepresentationTheory/Rep/Iso.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/Flat/CategoryTheory.lean,Mathlib/RingTheory/Regular/Category.lean 51 11 ['felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts'] nobody
71-5026
2 months ago
71-5027
71 days ago
44-58089
44 days
0
42339 attilavjda
author:attilavjda
feat: add diagonal iSup and iInf lemmas Deduplicating three ENat and ENNReal addition proofs, by adding a corresponding more general lemma collapsing a cofinal double iSup/iInf to its diagonal. Also adds conditionally complete version with `hf : BddAbove (range fun k ↦ f k k)`. Dropping [Nonempty ι] (both sides are sSup ∅ when empty) makes the `…Bot` copy the same statement ``` CompleteSemilatticeSup | +--> iSup₂_eq_iSup_diag_of_cofinal | +--> ENat.iSup_add_iSup +--> ENNReal.iSup_add_iSup +--> ENNReal.iInf_add_iInf (via dual) ConditionallyCompleteLattice | +--> ciSup₂_eq_ciSup_diag_of_cofinal ``` Aristotle helped --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor LLM-generated merge-conflict 18/4 Mathlib/Data/ENat/Lattice.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean 3 38 ['SnirBroshi', 'attilavjda', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp', 'wwylele'] nobody
68-39208
2 months ago
68-39209
68 days ago
15-34434
15 days
0
43404 j-loreaux
author:j-loreaux
refactor: rename `MulAction` to `MonoidAction` Given that we now have [SemigroupAction](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Group/Action/Defs.html#SemigroupAction) we are in the unfortunate scenario that the name which seems to have less structure (`MulAction`) actually has *more* structure. This PR: 1. renames `MulAction` to `MonoidAction` (and also `GMulAction` to `GMonoidAction`) to reflect this additional structure, as well as declarations referencing `MulAction` in their names. `Prop`-valued mixins in the `MulAction` namespace are also renamed (e.g., `MulAction.{IsMinimal,IsTopologicallyTransitive}` → `MonoidAction.{IsMinimal,IsTopologicallyTransitive`). 2. The additive version are also renamed (`AddAction` → `AddMonoidAction`) and the corresponding `Prop`-valued mixins. 3. does *not* rename modules with `MulAction` in the name 4. does *not* rename `DistribMulAction`, `SubMulAction`, `MulActionWithZero`, etc. If these need to happen, that can occur at a later time. 5. does *not* rename `SemigroupAction` to `MulAction`. Even if this rename is desired, because of the prevalence of `MulAction` in Mathlib, I think we should not conduct a move of this magnitude all at once. If we want to rename this to `MulAction`, we should wait for the 6 month embargo period during which time that name is deprecated, to give everyone downstream the opportunity to switch instead of silently breaking their builds. Of course, another potential name is `MulOneAction`, but I don't think that's too helpful. --- A word is in order about how this PR was generated and how it is intended to be reviewed. Firstly, this PR was authored by Claude (Opus 5) under my prompting, and I have reviewed the output. Because of some intricacies of renaming `MulAction` while not touching `DistribMulAction` and `MulActionWithZero` and the like, and also because I wanted reviewers to be able to easily see exactly which declarations were renamed, the scripts Claude wrote are not all simple `sed` scripts, especially since it also needed to generate deprecations. The commits have informative messages, but the basic layout of the commits are: + 72620a8a0e9736320479de72198e86b9cb58476c add scripts + 915d0a73262ed8697de16003642639d20bb1c203 rename *only* the declarations using the script for easier review of what names changed. + cdf6c620e64b2d3201fa6f741c25802262345a37 add *only* the deprecations using the script for easier review + 5af6e1352b0f4a02a056871e8429c61503c880c8 move downstream uses across Mathlib to the new names using the script (this is intentionally a simple `sed` script) + 99a0eb738557f0adc3e975415c9d5b680684bdfa adjust line lengths that are now too long + 159c145c63a5b1f0e570970a1ec09fd1cb4dbd83 fix `nolints` exemptions + c17c76738faf273bd0dfa5d7f7bbdc45b994eeaf revert names of a few declarations which were already deprecated + 8800a97ee4c4442bb2c9e30741e4badb373dea81 remove the scripts I'm hoping the Lean-aware declarations diff will be able to tell if any deprecations were missed. <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) LLM-generated merge-conflict 4826/2049 Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Algebra/Unitization.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/BigOperators/Group/Finset/Pi.lean,Mathlib/Algebra/BigOperators/Group/Finset/Preimage.lean,Mathlib/Algebra/BigOperators/GroupWithZero/Action.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/FilteredColimits.lean,Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/Field/Action/ConjAct.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/FreeMonoid/Basic.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/GradedMulAction.lean,Mathlib/Algebra/Group/Action/Basic.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/End.lean,Mathlib/Algebra/Group/Action/Equidecomp.lean,Mathlib/Algebra/Group/Action/Faithful.lean,Mathlib/Algebra/Group/Action/Hom.lean,Mathlib/Algebra/Group/Action/Opposite.lean,Mathlib/Algebra/Group/Action/Option.lean,Mathlib/Algebra/Group/Action/Pi.lean,Mathlib/Algebra/Group/Action/Pointwise/Finset.lean,Mathlib/Algebra/Group/Action/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Action/Pointwise/Set/Finite.lean,Mathlib/Algebra/Group/Action/Pretransitive.lean,Mathlib/Algebra/Group/Action/Prod.lean,Mathlib/Algebra/Group/Action/Sigma.lean,Mathlib/Algebra/Group/Action/Sum.lean,Mathlib/Algebra/Group/Action/TransferInstance.lean,Mathlib/Algebra/Group/Action/TypeTags.lean,Mathlib/Algebra/Group/Action/Units.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Equiv/Finite.lean,Mathlib/Algebra/Group/Nat/Range.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Finset/Density.lean,Mathlib/Algebra/Group/Pointwise/Finset/Scalar.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Card.lean,Mathlib/Algebra/Group/Pointwise/Set/Finite.lean,Mathlib/Algebra/Group/Pointwise/Set/Lattice.lean,Mathlib/Algebra/Group/Pointwise/Set/Scalar.lean,Mathlib/Algebra/Group/Shrink.lean,Mathlib/Algebra/Group/Subgroup/Actions.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Pointwise.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/Submonoid/MulAction.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Group/Submonoid/Pointwise.lean,Mathlib/Algebra/Group/TransferInstance.lean,Mathlib/Algebra/Group/TypeTags/Finite.lean,Mathlib/Algebra/GroupWithZero/Action/Basic.lean,Mathlib/Algebra/GroupWithZero/Action/ConjAct.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/End.lean,Mathlib/Algebra/GroupWithZero/Action/Opposite.lean,Mathlib/Algebra/GroupWithZero/Action/Pi.lean,Mathlib/Algebra/GroupWithZero/Action/Pointwise/Finset.lean,Mathlib/Algebra/GroupWithZero/Action/Pointwise/Set.lean,Mathlib/Algebra/GroupWithZero/Action/Prod.lean,Mathlib/Algebra/GroupWithZero/Action/TransferInstance.lean,Mathlib/Algebra/GroupWithZero/Action/Units.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/GroupWithZero/Pointwise/Finset.lean,Mathlib/Algebra/GroupWithZero/Pointwise/Set/Basic.lean,Mathlib/Algebra/GroupWithZero/Pointwise/Set/Card.lean,Mathlib/Algebra/GroupWithZero/Subgroup.lean,Mathlib/Algebra/GroupWithZero/Submonoid/Pointwise.lean,Mathlib/Algebra/GroupWithZero/TransferInstance.lean,Mathlib/Algebra/GroupWithZero/Units/Lemmas.lean,Mathlib/Algebra/Module/Congruence/Defs.lean,Mathlib/Algebra/Module/Defs.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/Module/NatInt.lean,Mathlib/Algebra/Module/PUnit.lean,Mathlib/Algebra/Module/PointwisePi.lean,Mathlib/Algebra/Module/Rat.lean,Mathlib/Algebra/Module/RingHom.lean,Mathlib/Algebra/Module/Submodule/Basic.lean,Mathlib/Algebra/Module/Submodule/Defs.lean,Mathlib/Algebra/Module/Submodule/Finsupp.lean,Mathlib/Algebra/Module/Submodule/Invariant.lean,Mathlib/Algebra/Module/Submodule/LinearMap.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/Module/ULift.lean,Mathlib/Algebra/MonoidAlgebra/PointwiseSMul.lean,Mathlib/Algebra/Order/Group/Action.lean 402 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
66-57949
2 months ago
66-57950
66 days ago
0-22381
6 hours
0
43074 vihdzp
author:vihdzp
feat: generalize `WellFoundedLT.induction_bot` We change the signature of `WellFoundedLT.induction_bot` to match that of `WellFounded.induction_bot`, and introduce `WellFoundedLT.induction_bot'` which also takes in a function argument. We then use this to slightly clean up the proof of bubblesort induction. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> We don't need an `OrderBot` argument, as the inductive hypothesis already indirectly proves that `⊥` is a bottom element. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order merge-conflict 74/63 Mathlib/Data/Fin/Tuple/BubbleSortInduction.lean,Mathlib/Order/BoundedOrder/Lattice.lean,Mathlib/Order/WellFounded.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Finiteness.lean 4 5 ['github-actions', 'mathlib-merge-conflicts', 'plp127', 'vihdzp'] nobody
58-73133
1 month ago
58-73134
58 days ago
1-36693
1 day
0
43654 grunweg
author:grunweg
chore: rename `Isometry` to `Isometric` This definition refers to an unbundled isometry: let's keep the name `Isometry` for a future bundled version. The name `Isometric` is an adjective and avoids questions of whether to have an Is prefix. Suggested by `j-loreaux` [on Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Naming.20convention/near/615105410). We leave declarations such as IsometryEquiv, IsometryClass, LinearIsometry alone. Rename done using Claude code, manually reviewed by myself. Co-Authored-By: Claude Sonnet 5 [noreply@anthropic.com](mailto:noreply@anthropic.com) --------- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt LLM-generated merge-conflict 1088/676 Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Analysis/Analytic/ConvergenceRadius.lean,Mathlib/Analysis/AperiodicOrder/Delone/Basic.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/Commutative/PosPart.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Continuity.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean,Mathlib/Analysis/CStarAlgebra/Hom.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Complex/Circle.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Metric.lean,Mathlib/Analysis/Convex/Continuous.lean,Mathlib/Analysis/Convex/LinearIsometry.lean,Mathlib/Analysis/Convex/StrictConvexBetween.lean,Mathlib/Analysis/Convex/StrictConvexSpace.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/NormDet.lean,Mathlib/Analysis/InnerProductSpace/Reproducing.lean,Mathlib/Analysis/InnerProductSpace/l2Space.lean,Mathlib/Analysis/LocallyConvex/Bounded.lean,Mathlib/Analysis/Matrix/Order.lean,Mathlib/Analysis/Normed/Affine/AddTorsor.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Analysis/Normed/Algebra/GelfandFormula.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/Unitization.lean,Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean,Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Field/WithAbs.lean,Mathlib/Analysis/Normed/Group/AddTorsor.lean,Mathlib/Analysis/Normed/Group/Hom.lean,Mathlib/Analysis/Normed/Group/Pointwise.lean,Mathlib/Analysis/Normed/Group/Quotient.lean,Mathlib/Analysis/Normed/Group/SemiNormedGrp.lean,Mathlib/Analysis/Normed/Group/Uniform.lean,Mathlib/Analysis/Normed/Lp/PiLp.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Analysis/Normed/Operator/Extend.lean,Mathlib/Analysis/Normed/Operator/LinearIsometry.lean,Mathlib/Analysis/Normed/Operator/Mul.lean,Mathlib/Analysis/Normed/Ring/Basic.lean,Mathlib/Analysis/Normed/Ring/Lemmas.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Analysis/Polynomial/MahlerMeasure.lean,Mathlib/Analysis/RCLike/ContinuousMap.lean,Mathlib/Geometry/Euclidean/PerpBisector.lean,Mathlib/Geometry/Euclidean/Sphere/Basic.lean,Mathlib/Geometry/Euclidean/Volume/Measure.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/AEMeasurable.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/ContinuousCompMeasurePreserving.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/ContDiff.lean,Mathlib/MeasureTheory/Measure/FiniteMeasure.lean,Mathlib/MeasureTheory/Measure/Hausdorff.lean,Mathlib/MeasureTheory/Measure/ResolventTransform.lean,Mathlib/MeasureTheory/SpecificCodomains/Pi.lean,Mathlib/NumberTheory/NumberField/Completion/InfinitePlace.lean,Mathlib/NumberTheory/NumberField/Completion/LiesOverInstances.lean,Mathlib/Probability/Distributions/Gaussian/CharFun.lean,Mathlib/Topology/Algebra/Module/EmbeddingOfLocal.lean,Mathlib/Topology/ContinuousMap/Bounded/Basic.lean,Mathlib/Topology/ContinuousMap/ContinuousMapZero.lean,Mathlib/Topology/ContinuousMap/ZeroAtInfty.lean,Mathlib/Topology/MetricSpace/Closeds.lean,Mathlib/Topology/MetricSpace/Completion.lean,Mathlib/Topology/MetricSpace/Congruence.lean,Mathlib/Topology/MetricSpace/Cover.lean,Mathlib/Topology/MetricSpace/CoveringNumbers.lean,Mathlib/Topology/MetricSpace/Dilation.lean,Mathlib/Topology/MetricSpace/DilationEquiv.lean,Mathlib/Topology/MetricSpace/Gluing.lean,Mathlib/Topology/MetricSpace/GromovHausdorff.lean,Mathlib/Topology/MetricSpace/GromovHausdorffRealized.lean,Mathlib/Topology/MetricSpace/HausdorffDimension.lean,Mathlib/Topology/MetricSpace/HausdorffDistance.lean,Mathlib/Topology/MetricSpace/IsometricSMul.lean,Mathlib/Topology/MetricSpace/Isometry.lean,Mathlib/Topology/MetricSpace/Kuratowski.lean,Mathlib/Topology/MetricSpace/PiNat.lean,Mathlib/Topology/MetricSpace/Polish.lean,Mathlib/Topology/MetricSpace/ProperSpace/Real.lean,Mathlib/Topology/MetricSpace/Similarity.lean,Mathlib/Topology/MetricSpace/UniformConvergence.lean,Mathlib/Topology/Metrizable/CompletelyMetrizable.lean,Mathlib/Topology/Metrizable/Urysohn.lean 94 9 ['github-actions', 'grunweg', 'mathlib-merge-conflicts'] nobody
54-40715
1 month ago
54-40716
54 days ago
5-43220
5 days
0
43796 b-mehta
author:b-mehta
feat(Data/Fin/VecNotation): add injectivity lemmas for vecCons As discussed with Eric --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
27/8 Mathlib/Data/Fin/VecNotation.lean,Mathlib/LinearAlgebra/Matrix/Notation.lean,Mathlib/LinearAlgebra/Projectivization/Basic.lean 3 7 ['b-mehta', 'github-actions', 'mathlib-merge-conflicts', 'vlad902'] nobody
54-40584
1 month ago
54-40585
54 days ago
1-41211
1 day
0
43436 JovanGerb
author:JovanGerb
perf: remove `simp` from `sup_of_le_left` and friends This PR removes `simp` from `sup_of_le_left` and friends, as these apply very generally and can cause expensive recursive `simp` calls. Instead, `simp` was added to lemmas like `sup_idem`, `sup_bot` and `max_zero`. Many proofs have to be fixed. I did this manyally, mostly either by adding the removed lemma back to the `simp` call, or by writing the proof out more explicitly, or by using `grind`. - I changed the `simp` set around `Real.toNNReal` and `Rat.toNNRat` to be compatible with the lack of a `sup_of_le_right` lemma (and to be consistent between the two). - I added a `@[gcongr]` tag to `Cardinal.lift_le`. The motivation for this PR is to reduce the performance impact of #42316. However, we could also decide that the performance impact is not so bad, and simply keep the `@[simp]` attributes. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt merge-conflict 206/219 Archive/Examples/Kuratowski.lean,Archive/RiemannStieltjes.lean,Counterexamples/Phillips.lean,Mathlib/Algebra/Module/Submodule/Range.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Algebra/Order/Group/MinMax.lean,Mathlib/Algebra/Order/Group/PosPart.lean,Mathlib/Algebra/Order/IsBotOne.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/LocallyFiniteOrder.lean,Mathlib/AlgebraicGeometry/Morphisms/Basic.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unique.lean,Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/Analysis/Meromorphic/Divisor.lean,Mathlib/Analysis/Meromorphic/Order.lean,Mathlib/Analysis/Normed/Group/Real.lean,Mathlib/Analysis/Normed/Group/Ultra.lean,Mathlib/Analysis/Normed/Operator/Perturbation/StrictByFinite.lean,Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/PosLog.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Orthogonality.lean,Mathlib/Basic/ENNReal/Real.lean,Mathlib/Basic/NNReal/Defs.lean,Mathlib/Combinatorics/Matroid/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Removal.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/Data/Sym/Sym2/Order.lean,Mathlib/FieldTheory/Cardinality.lean,Mathlib/Geometry/Manifold/Instances/Icc.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/GroupTheory/Commutator/Basic.lean,Mathlib/LinearAlgebra/Dimension/RankNullity.lean,Mathlib/MeasureTheory/Function/ConvergenceInDistribution.lean,Mathlib/MeasureTheory/Function/L1Space/Integrable.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Integral/DominatedConvergence.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/DerivIntegrable.lean,Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean,Mathlib/NumberTheory/Height/Basic.lean,Mathlib/NumberTheory/Height/MvPolynomial.lean,Mathlib/Order/BooleanAlgebra/Basic.lean,Mathlib/Order/BoundedOrder/Lattice.lean,Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/Filter/ENNReal.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Interval/Set/ProjIcc.lean,Mathlib/Order/Interval/Set/UnorderedInterval.lean,Mathlib/Order/Lattice.lean,Mathlib/Order/Lattice/Congruence.lean,Mathlib/Order/MinMax.lean,Mathlib/Order/SupClosed.lean,Mathlib/Order/SymmDiff.lean,Mathlib/Order/WithBot.lean,Mathlib/Probability/Moments/Variance.lean,Mathlib/Probability/Process/HittingTime.lean,Mathlib/Probability/Process/Stopping.lean,Mathlib/RingTheory/Algebraic/Cardinality.lean,Mathlib/RingTheory/AlgebraicIndependent/RankAndCardinality.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Basic.lean,Mathlib/RingTheory/KrullDimension/PID.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Eval.lean,Mathlib/RingTheory/QuasiFinite/Weakly.lean,Mathlib/RingTheory/UniqueFactorizationDomain/GCDMonoid.lean,Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/SetTheory/Ordinal/Veblen.lean,Mathlib/Topology/ClusterPt.lean,Mathlib/Topology/ContinuousMap/Bounded/Normed.lean,Mathlib/Topology/ContinuousMap/CompactlySupported.lean,Mathlib/Topology/ContinuousMap/Interval.lean,Mathlib/Topology/DiscreteSubset.lean,Mathlib/Topology/LocallyFinsupp.lean,Mathlib/Topology/MetricSpace/PiNat.lean,Mathlib/Topology/MetricSpace/Pseudo/Constructions.lean,Mathlib/Topology/MetricSpace/Thickening.lean,Mathlib/Topology/Path.lean,Mathlib/Topology/Semicontinuity/Basic.lean,MathlibTest/SetLike.lean 85 8 ['JovanGerb', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] nobody
52-61403
1 month ago
52-61404
52 days ago
11-12212
11 days
0
41525 JX-Mo
author:JX-Mo
feat(RepresentationTheory): add Smooth.Basic for smooth representations This PR introduces basic setup for smooth representations of a topological group. Hopefully it will serve as preliminary content for those who are interested in formalizing representation theory for p-adic reductive groups in the future. We introduce the following in the file: 1. Define smoothness for representations of a topological group. It is a property for a representation to be smooth: the stabilizer of any vector is open. 2. Prove basic closure properties: subrepresentations, quotient representations, tensor products, direct sums of smooth representations are smooth. 3. Construct smoothHom and contragredient: they are obtained by cutting out smooth vectors from the naive hom and dual. - [ ] depends on: #40941 - [ ] depends on: #41081 new-contributor t-algebra merge-conflict
label:t-algebra$
277/0 Mathlib.lean,Mathlib/RepresentationTheory/Smooth/Basic.lean,Mathlib/RepresentationTheory/Stabilizer.lean,Mathlib/RepresentationTheory/Subrepresentation.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean 5 7 ['JX-Mo', 'felixpernegger', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
51-79260
1 month ago
51-79261
51 days ago
51-52336
51 days
0
41907 Rob23oba
author:Rob23oba
feat: make `NegZeroClass` and `InvOneClass` mixins Most of the changes just add `[Zero α] [Neg α]` or `[One α] [Inv α]`, except: - The change itself to `InvOneClass` / `NegZeroClass` - Generalizing `neg_eq_zero` (and related theorems) to `InvolutiveNeg` + `NegZeroClass` and deprecating `EReal.neg_eq_zero_iff` / `ENNReal.inv_eq_zero_iff` / `SignType.neg_eq_zero_iff` which are no longer necessary - Replacing occurrences of `@inv_one ty _` with `inv_one (G := ty)` - Removing `one` and `inv` in some instance declarations of the form `:= { one, inv with inv_one := ... }` - `mabs_sup_div_sup_le_mabs`, `mabs_inf_div_inf_le_mabs` and `tendsto_zpow_nhdsNE_zero_cobounded` needed adaptations; not sure why, something to do with unification? - handling `InvOneClass` specially in `DomMulAct` - replacing `neg_apply` in `` - being more specific (i.e. `inv_one (G := F)` instead of `inv_one`) in the proof of `RatFunc.single_zpow` - adding an `rw` in `differentIdeal_ne_bot` due to leanprover/lean4#14447 - replacing `ArithmeticFunction.neg_apply` with an `IsNegApply` instance - adapting meta code by adding more implicit arguments (in the form of `none` arguments to `mkAppOptM`) Zulip discussion at [#mathlib4 > Having both &#96;NegZeroClass&#96; and &#96;InvolutiveNeg&#96;](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Having.20both.20.60NegZeroClass.60.20and.20.60InvolutiveNeg.60/with/611441611) --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebra
label:t-algebra$
100/71 Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/EvenFunction.lean,Mathlib/Algebra/Group/Finsupp.lean,Mathlib/Algebra/Group/Hom/Basic.lean,Mathlib/Algebra/Group/InjSurj.lean,Mathlib/Algebra/Group/Pi/Basic.lean,Mathlib/Algebra/Group/WithOne/Defs.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Algebra/QuadraticAlgebra/Defs.lean,Mathlib/Algebra/Ring/Periodic.lean,Mathlib/Algebra/TrivSqZeroExt/Basic.lean,Mathlib/Analysis/Normed/Field/Lemmas.lean,Mathlib/Data/ENNReal/Holder.lean,Mathlib/Data/ENNReal/Inv.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/Data/FunLike/Group.lean,Mathlib/Data/Matrix/Basis.lean,Mathlib/Data/Matrix/Diagonal.lean,Mathlib/Data/Sign/Defs.lean,Mathlib/Geometry/Euclidean/Triangle.lean,Mathlib/GroupTheory/GroupAction/DomAct/Basic.lean,Mathlib/LinearAlgebra/Matrix/Block.lean,Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean,Mathlib/MeasureTheory/VectorMeasure/Basic.lean,Mathlib/NumberTheory/ArithmeticFunction/Defs.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/HahnSeries/Addition.lean,Mathlib/RingTheory/HahnSeries/Cardinal.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/Tactic/Abel.lean,Mathlib/Tactic/Linarith/Verification.lean,Mathlib/Topology/Algebra/SeparationQuotient/Basic.lean,Mathlib/Topology/ContinuousMap/ContinuousMapZero.lean 36 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
50-52348
1 month ago
80-55061
80 days ago
32-86206
32 days
0
42679 Raph-DG
author:Raph-DG
feat(Topology): induction principals for locally finsupp functions In this PR, we write some API connecting finsupp and locallyfinsupp functions, and provide some induction principals which are useful when thinking of locally finsupp functions as divisors. AI disclosure: this started as a drafty version written by me but I have used AI to edit it quite heavily, enough that I think this deserves the LLM-generated label (of course, I have reviewed the code carefully, but still this is worth keeping in mind). --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) LLM-generated large-import merge-conflict t-topology 433/22 Mathlib.lean,Mathlib/Algebra/Group/Subgroup/Finsupp.lean,Mathlib/Data/Finsupp/Ext.lean,Mathlib/Topology/LocallyFinsupp.lean,Mathlib/Topology/LocallyFinsupp/Finsupp.lean 5 3 ['github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] nobody
50-52296
1 month ago
54-61295
54 days ago
34-33064
34 days
0
43503 carlok
author:carlok
chore: weaken unused typeclass assumptions on section variables This PR has been described at https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/unused.20hypotheses.3A.20431.20in.20a.2029k.20sample.2C.20and.2033.20one-line.20PRs/near/622113682 it is a list of mechanically found [1] one-liners relaxing theorems whose setting is stronger than their proof needs. Each change compiled alone against an unmodified file (whole library building locally at 633b366493). More information on the project https://github.com/carlok/unused-assumptions In the zulip thread, @SnirBroshi spotted that the refactored Topology/EMetricSpace/Pi.lean takes [EDist α] in place of two binders. PS: A single PR because I noticed #42214 (813 files, merged, same kind of change). Thank you for your work. [1] LLM + Lean4 itself new-contributor merge-conflict 32/32 Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRingsExact.lean,Mathlib/Algebra/CharP/Algebra.lean,Mathlib/Algebra/Group/Submonoid/Pointwise.lean,Mathlib/Algebra/Order/Archimedean/Defs.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Order/Group/Indicator.lean,Mathlib/Algebra/Order/Sub/Unbundled/Hom.lean,Mathlib/Algebra/Order/WithTop/Untop0.lean,Mathlib/Algebra/Regular/SMul.lean,Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/Analysis/Convex/Cone/TensorProduct.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Normed/Group/CocompactMap.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Data/Finset/Pairwise.lean,Mathlib/GroupTheory/Torsion.lean,Mathlib/LinearAlgebra/BilinearMap.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean,Mathlib/Order/Antichain.lean,Mathlib/Order/Monotone/Extension.lean,Mathlib/RingTheory/AlgebraTower.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Over.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/Module.lean,Mathlib/RingTheory/Valuation/ValuationRing.lean,Mathlib/Topology/EMetricSpace/Pi.lean,Mathlib/Topology/Instances/Sign.lean 29 6 ['github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'themathqueen'] nobody
48-37151
1 month ago
48-37152
48 days ago
15-21300
15 days
0
41762 felixpernegger
author:felixpernegger
chore: replace terminal `convert` with `exact` Replaces terminal `convert(!)` with `exact` whenever possible. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 191/188 Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/Category/ModuleCat/EpiMono.lean,Mathlib/Algebra/CharP/MixedCharZero.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/Group/Action/Basic.lean,Mathlib/Algebra/Group/Fin/Tuple.lean,Mathlib/Algebra/Group/Pointwise/Set/Finite.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/Algebra/Module/NatInt.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Ring/GeomSum.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Point.lean,Mathlib/AlgebraicGeometry/Noetherian.lean,Mathlib/AlgebraicGeometry/Properties.lean,Mathlib/AlgebraicGeometry/Spec.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Convolution.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousAlternatingMap.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousMultilinearMap.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Convex/Caratheodory.lean,Mathlib/Analysis/Convex/Side.lean,Mathlib/Analysis/Convex/SpecificFunctions/Deriv.lean,Mathlib/Analysis/Fourier/AddCircle.lean,Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean,Mathlib/Analysis/Normed/Field/UnitBall.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Orthogonality.lean,Mathlib/Basic/ENNReal/Operations.lean,Mathlib/CategoryTheory/Abelian/Pseudoelements.lean,Mathlib/CategoryTheory/Adhesive/Basic.lean,Mathlib/CategoryTheory/Category/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/IsPullback/BicartesianSq.lean,Mathlib/CategoryTheory/Limits/Types/Coequalizers.lean,Mathlib/CategoryTheory/Localization/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Internal/Module.lean,Mathlib/CategoryTheory/Monoidal/Internal/Types/Basic.lean,Mathlib/CategoryTheory/Monoidal/Internal/Types/CommGrp_.lean,Mathlib/CategoryTheory/PUnit.lean,Mathlib/CategoryTheory/PathCategory/Basic.lean,Mathlib/CategoryTheory/Sites/Types.lean,Mathlib/CategoryTheory/Subobject/Classifier/Defs.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Combinatorics/Hindman.lean,Mathlib/Combinatorics/Nullstellensatz.lean,Mathlib/Combinatorics/SetFamily/KruskalKatona.lean,Mathlib/Combinatorics/SimpleGraph/Dart.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Chunk.lean,Mathlib/Data/DFinsupp/Interval.lean,Mathlib/Data/Fin/Tuple/Basic.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Intervals.lean,Mathlib/Data/Nat/Digits/Defs.lean,Mathlib/Data/QPF/Univariate/Basic.lean,Mathlib/Data/Sym/Basic.lean,Mathlib/FieldTheory/PrimitiveElement.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean,Mathlib/Geometry/Convex/ConvexSpace/Defs.lean,Mathlib/Geometry/Euclidean/Projection.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Geometry/Manifold/ContMDiff/Constructions.lean,Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean,Mathlib/Geometry/Manifold/Sheaf/Basic.lean,Mathlib/Geometry/RingedSpace/LocallyRingedSpace/HasColimits.lean,Mathlib/Geometry/RingedSpace/OpenImmersion.lean,Mathlib/Geometry/RingedSpace/PresheafedSpace/Gluing.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/Perm/Closure.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/GroupTheory/Submonoid/Inverses.lean,Mathlib/LinearAlgebra/AffineSpace/AffineMap.lean,Mathlib/LinearAlgebra/AffineSpace/Centroid.lean,Mathlib/LinearAlgebra/AffineSpace/Independent.lean,Mathlib/LinearAlgebra/Dimension/LinearMap.lean,Mathlib/LinearAlgebra/Finsupp/Supported.lean,Mathlib/LinearAlgebra/Matrix/Block.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean,Mathlib/LinearAlgebra/Pi.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/StdBasis.lean,Mathlib/LinearAlgebra/TensorAlgebra/Basic.lean,Mathlib/Logic/Equiv/Fin/Basic.lean,Mathlib/Logic/Equiv/Fintype.lean,Mathlib/MeasureTheory/Function/ConvergenceInDistribution.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Group/Measure.lean,Mathlib/MeasureTheory/Integral/FinMeasAdditive.lean,Mathlib/MeasureTheory/Measure/Content.lean,Mathlib/MeasureTheory/Measure/Haar/Unique.lean,Mathlib/MeasureTheory/Measure/Prod.lean 148 18 ['Parcly-Taxel', 'adomani', 'chenson2018', 'felixpernegger', 'github-actions', 'grunweg', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts'] nobody
47-82210
1 month ago
47-82212
47 days ago
42-16793
42 days
0
40166 felixpernegger
author:felixpernegger
chore: remove all terminal `refine`'s with `exact` Found with scripts. This was a pretty exhaustive search and should be almost all of them. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 315/329 Archive/Imo/Imo1961Q3.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/Category/Ring/Limits.lean,Mathlib/Algebra/Category/Ring/Small.lean,Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/Exact/Basic.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/Homology/HomologySequence.lean,Mathlib/Algebra/Lie/Abelian.lean,Mathlib/Algebra/Lie/Prod.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/Algebra/Module/LinearMap/FiniteRange.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/Algebra/Module/LocalizedModule/Submodule.lean,Mathlib/Algebra/Module/Submodule/Lattice.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/MvPolynomial/Division.lean,Mathlib/Algebra/MvPolynomial/Polynomial.lean,Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Algebra/Polynomial/UnitTrinomial.lean,Mathlib/Algebra/QuadraticAlgebra/Basic.lean,Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean,Mathlib/AlgebraicGeometry/Cover/Sigma.lean,Mathlib/AlgebraicGeometry/Fiber.lean,Mathlib/AlgebraicGeometry/Geometrically/Integral.lean,Mathlib/AlgebraicGeometry/Gluing.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Subscheme.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/AlgebraicGeometry/Morphisms/ClosedImmersion.lean,Mathlib/AlgebraicGeometry/Morphisms/Finite.lean,Mathlib/AlgebraicGeometry/Morphisms/FlatRank.lean,Mathlib/AlgebraicGeometry/Morphisms/Integral.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/AlgebraicGeometry/Morphisms/SurjectiveOnStalks.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/Restrict.lean,Mathlib/AlgebraicGeometry/Sites/SmallAffineZariski.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/AlgebraicGeometry/ZariskisMainTheorem.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplices.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Restrict.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/FDeriv/Pow.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Complex/Periodic.lean,Mathlib/Analysis/LocallyConvex/WeakOperatorTopology.lean,Mathlib/Analysis/LocallyConvex/WeakSpace.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/Normed/Lp/PiLp.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/Normed/Module/MStructure.lean,Mathlib/Analysis/SpecialFunctions/Elliptic/Weierstrass.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/RootsExtrema.lean,Mathlib/CategoryTheory/Abelian/SerreClass/Localization.lean,Mathlib/CategoryTheory/Adhesive/Basic.lean,Mathlib/CategoryTheory/Category/PartialFun.lean,Mathlib/CategoryTheory/EquivalenceRelation.lean,Mathlib/CategoryTheory/FiberedCategory/Fibered.lean,Mathlib/CategoryTheory/Generator/StrongGenerator.lean,Mathlib/CategoryTheory/Limits/Indization/FilteredColimits.lean,Mathlib/CategoryTheory/Limits/IsLimit.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Products.lean,Mathlib/CategoryTheory/Limits/Shapes/CombinedProducts.lean,Mathlib/CategoryTheory/Limits/VanKampen.lean,Mathlib/CategoryTheory/Monoidal/Closed/Ideal.lean,Mathlib/CategoryTheory/ObjectProperty/LimitsClosure.lean,Mathlib/CategoryTheory/ObjectProperty/Retract.lean,Mathlib/CategoryTheory/ObjectProperty/Shift.lean,Mathlib/CategoryTheory/ObjectProperty/Small.lean,Mathlib/CategoryTheory/PathCategory/MorphismProperty.lean,Mathlib/CategoryTheory/Presentable/Directed.lean,Mathlib/CategoryTheory/Presentable/Type.lean,Mathlib/CategoryTheory/Products/Basic.lean,Mathlib/CategoryTheory/Sites/CompatiblePlus.lean,Mathlib/CategoryTheory/Sites/CoverLifting.lean,Mathlib/CategoryTheory/Sites/Coverage.lean,Mathlib/CategoryTheory/Sites/Hypercover/Saturate.lean,Mathlib/CategoryTheory/Sites/Hypercover/ZeroFamily.lean,Mathlib/CategoryTheory/Sites/Point/Conservative.lean,Mathlib/CategoryTheory/Triangulated/Pretriangulated.lean,Mathlib/Combinatorics/Additive/FreimanHom.lean,Mathlib/Combinatorics/Matroid/Closure.lean,Mathlib/Combinatorics/Matroid/Constructions.lean,Mathlib/Combinatorics/Matroid/IndepAxioms.lean,Mathlib/Combinatorics/Matroid/Minor/Contract.lean,Mathlib/Combinatorics/Matroid/Rank/ENat.lean,Mathlib/Combinatorics/Matroid/Sum.lean,Mathlib/Combinatorics/Pigeonhole.lean,Mathlib/Combinatorics/Quiver/Path/Decomposition.lean,Mathlib/Combinatorics/SetFamily/FourFunctions.lean 241 39 ['dagurtomas', 'felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts', 'plp127'] nobody
47-70154
1 month ago
47-70155
47 days ago
39-79307
39 days
0
40223 felixpernegger
author:felixpernegger
chore: replace `by exact` occurences Basically: Replace `by exact abc` with `abc` whenever it works. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 298/357 Archive/Imo/Imo1982Q1.lean,Archive/Imo/Imo2024Q5.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/ColimitFunctor.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/Homology/Localization.lean,Mathlib/Algebra/Homology/SpectralObject/EpiMono.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Module/LocalizedModule/Submodule.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Module/Presentation/Free.lean,Mathlib/Algebra/Module/SpanRankOperations.lean,Mathlib/Algebra/Module/Submodule/Range.lean,Mathlib/Algebra/Order/Archimedean/Real/Basic.lean,Mathlib/Algebra/Order/Module/HahnEmbedding.lean,Mathlib/Algebra/Polynomial/Eval/Algebra.lean,Mathlib/Algebra/Ring/Subsemiring/Defs.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Subscheme.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/AlgebraicTopology/ExtraDegeneracy.lean,Mathlib/AlgebraicTopology/SimplicialSet/Coskeletal.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Integral.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/NonUnital.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unital.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Calculus/SmoothSeries.lean,Mathlib/Analysis/Complex/SqrtDeriv.lean,Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/Distribution/TestFunction.lean,Mathlib/Analysis/Fourier/AddCircle.lean,Mathlib/Analysis/Hofer.lean,Mathlib/Analysis/InnerProductSpace/Projection/Minimal.lean,Mathlib/Analysis/InnerProductSpace/StandardSubspace.lean,Mathlib/Analysis/MellinTransform.lean,Mathlib/Analysis/Meromorphic/Basic.lean,Mathlib/Analysis/Meromorphic/Order.lean,Mathlib/Analysis/Normed/Algebra/GelfandMazur.lean,Mathlib/Analysis/Normed/Group/InfiniteSum.lean,Mathlib/Analysis/SpecialFunctions/ExpDeriv.lean,Mathlib/Analysis/SpecialFunctions/NonIntegrable.lean,Mathlib/Analysis/SpecialFunctions/Pochhammer.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Bounds.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ColimCoyoneda.lean,Mathlib/CategoryTheory/Bicategory/FunctorBicategory/Oplax.lean,Mathlib/CategoryTheory/Center/NegOnePow.lean,Mathlib/CategoryTheory/EffectiveEpi/Extensive.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Localization/Pi.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Mon.lean,Mathlib/CategoryTheory/Pi/Basic.lean,Mathlib/CategoryTheory/Shift/InducedShiftSequence.lean,Mathlib/CategoryTheory/Sites/DenseSubsite/Basic.lean,Mathlib/CategoryTheory/Sites/Descent/Precoverage.lean,Mathlib/CategoryTheory/Sites/GlobalSections.lean,Mathlib/CategoryTheory/Sites/SheafOfTypes.lean,Mathlib/CategoryTheory/Triangulated/TStructure/TruncLTGE.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Prod.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Energy.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Data/DFinsupp/Sigma.lean,Mathlib/Data/Nat/Digits/Lemmas.lean,Mathlib/Data/Nat/Squarefree.lean,Mathlib/Data/PNat/Factors.lean,Mathlib/Data/Rat/Floor.lean,Mathlib/Data/Seq/Basic.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/Data/WSeq/Relation.lean,Mathlib/FieldTheory/CardinalEmb.lean,Mathlib/FieldTheory/Galois/Profinite.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Defs.lean,Mathlib/Geometry/Convex/Cone/TensorProduct.lean,Mathlib/Geometry/Euclidean/Angle/Sphere.lean,Mathlib/Geometry/Euclidean/Triangle.lean,Mathlib/Geometry/Manifold/Algebra/LieGroup.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean,Mathlib/LinearAlgebra/Eigenspace/Pi.lean,Mathlib/LinearAlgebra/FreeModule/PID.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Card.lean,Mathlib/LinearAlgebra/Orientation.lean,Mathlib/LinearAlgebra/Ray.lean,Mathlib/LinearAlgebra/RootSystem/Hom.lean,Mathlib/LinearAlgebra/RootSystem/OfBilinear.lean,Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean 177 70 ['JovanGerb', 'b-mehta', 'felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts'] nobody
47-70153
1 month ago
47-70154
47 days ago
30-71222
30 days
0
40292 felixpernegger
author:felixpernegger
chore: replace `by calc` by `calc` whenever possible Avoids unnecessarily going into tactic mode, similar to #40223. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 202/202 Archive/Imo/Imo1981Q3.lean,Archive/Imo/Imo1982Q1.lean,Archive/Imo/Imo1982Q3.lean,Archive/Imo/Imo2005Q3.lean,Archive/Imo/Imo2024Q3.lean,Archive/Imo/Imo2025Q3.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset/Indicator.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/MvPolynomial/SchwartzZippel.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semifield.lean,Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean,Mathlib/Algebra/Order/Sub/Defs.lean,Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/Algebra/Ring/Invertible.lean,Mathlib/Analysis/CStarAlgebra/Module/Defs.lean,Mathlib/Analysis/Calculus/BumpFunction/Normed.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Complex/AbelLimit.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Complex/ValueDistribution/FirstMainTheorem.lean,Mathlib/Analysis/Convex/Caratheodory.lean,Mathlib/Analysis/Convex/Continuous.lean,Mathlib/Analysis/Convex/Visible.lean,Mathlib/Analysis/Hofer.lean,Mathlib/Analysis/InnerProductSpace/Defs.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/Matrix/Normed.lean,Mathlib/Analysis/Meromorphic/Divisor.lean,Mathlib/Analysis/Normed/Field/Approximation.lean,Mathlib/Analysis/ODE/DiscreteGronwall.lean,Mathlib/Analysis/SpecialFunctions/BinaryEntropy.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Log.lean,Mathlib/Analysis/SpecialFunctions/Integrals/PosLog.lean,Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean,Mathlib/Analysis/SpecialFunctions/Log/Base.lean,Mathlib/Analysis/SpecialFunctions/Log/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/CategoryTheory/Bicategory/Adjunction/Basic.lean,Mathlib/CategoryTheory/Bicategory/Adjunction/Mate.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Lax.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Oplax.lean,Mathlib/CategoryTheory/Equivalence.lean,Mathlib/CategoryTheory/Limits/Types/Products.lean,Mathlib/CategoryTheory/Localization/Composition.lean,Mathlib/CategoryTheory/MarkovCategory/Positive.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/Rigid/Basic.lean,Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean,Mathlib/Combinatorics/Additive/Energy.lean,Mathlib/Combinatorics/Additive/ErdosGinzburgZiv.lean,Mathlib/Combinatorics/Additive/SubsetSum.lean,Mathlib/Combinatorics/Additive/VerySmallDoubling.lean,Mathlib/Combinatorics/SetFamily/LYM.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Removal.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean,Mathlib/Data/Fintype/BigOperators.lean,Mathlib/Data/List/PeriodicityLemma.lean,Mathlib/Data/Nat/Choose/Vandermonde.lean,Mathlib/Data/Nat/Factorial/Basic.lean,Mathlib/Data/Rat/Floor.lean,Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/FieldTheory/Minpoly/IsConjRoot.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/Tensoriality.lean,Mathlib/GroupTheory/SpecificGroups/Quaternion.lean,Mathlib/InformationTheory/KullbackLeibler/Basic.lean,Mathlib/LinearAlgebra/AffineSpace/Matrix.lean,Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean,Mathlib/LinearAlgebra/Matrix/Invertible.lean,Mathlib/LinearAlgebra/RootSystem/RootPositive.lean,Mathlib/MeasureTheory/Constructions/HaarToSphere.lean,Mathlib/MeasureTheory/Covering/Vitali.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Integral/Bochner/ContinuousLinearMap.lean,Mathlib/MeasureTheory/Integral/BoundedContinuousFunction.lean,Mathlib/MeasureTheory/Integral/CircleAverage.lean,Mathlib/MeasureTheory/Integral/Gamma.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Integral/MeanValue.lean,Mathlib/MeasureTheory/Measure/AddContent.lean,Mathlib/MeasureTheory/Measure/Count.lean,Mathlib/MeasureTheory/Measure/FiniteMeasure.lean,Mathlib/MeasureTheory/Measure/LevyConvergence.lean,Mathlib/MeasureTheory/Measure/LogLikelihoodRatio.lean,Mathlib/MeasureTheory/Measure/PreVariation.lean,Mathlib/NumberTheory/Chebyshev.lean,Mathlib/NumberTheory/FLT/MasonStothers.lean,Mathlib/NumberTheory/MahlerMeasure.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/ConvexBody.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Three.lean 135 8 ['github-actions', 'madvorak', 'mathlib-merge-conflicts'] nobody
47-70152
1 month ago
47-70152
47 days ago
46-45862
46 days
0
41625 felixpernegger
author:felixpernegger
chore: remove unused `haveI` and `letI` This PR removes all `haveI/letI` in proofs of theorems when they are actually redundant/unused. (like 11% of total) Excludes MathlibTest. Note this PR does not touch any abbrevs/defs/instances yet (even Prop valued fields of those), to make it a bit safer we arent accidentally changing something. Note: Most of these are now `have/let` and no longer `haveI/letI` which is due to #41708. But all removals here are disjoint from #41749. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 5/339 Mathlib/Algebra/Algebra/Subalgebra/Rank.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Adjunction.lean,Mathlib/Algebra/CharP/LocalRing.lean,Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/Homology/HomotopyCofiber.lean,Mathlib/Algebra/Order/GroupWithZero/Bounds.lean,Mathlib/Algebra/Squarefree/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/IsomOfJ.lean,Mathlib/AlgebraicGeometry/Normalization.lean,Mathlib/AlgebraicGeometry/Properties.lean,Mathlib/AlgebraicGeometry/SpreadingOut.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/AlgebraicGeometry/ValuativeCriterion.lean,Mathlib/Analysis/Calculus/SmoothSeries.lean,Mathlib/Analysis/Hofer.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Analysis/InnerProductSpace/l2Space.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/Normed/Module/Seminorm/Basic.lean,Mathlib/Analysis/Normed/Operator/Banach.lean,Mathlib/Analysis/Normed/Order/UpperLower.lean,Mathlib/Analysis/Normed/Unbundled/FiniteExtension.lean,Mathlib/Basic/Nontrivial/Basic.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Basic.lean,Mathlib/CategoryTheory/Abelian/Transfer.lean,Mathlib/CategoryTheory/Adjunction/Reflective.lean,Mathlib/CategoryTheory/Comma/Final.lean,Mathlib/CategoryTheory/Functor/Flat.lean,Mathlib/CategoryTheory/Galois/EssSurj.lean,Mathlib/CategoryTheory/Galois/Topology.lean,Mathlib/CategoryTheory/Groupoid/Basic.lean,Mathlib/CategoryTheory/Limits/ConeCategory.lean,Mathlib/CategoryTheory/Limits/Constructions/WeaklyInitial.lean,Mathlib/CategoryTheory/Limits/FunctorCategory/Basic.lean,Mathlib/CategoryTheory/Limits/HasLimits.lean,Mathlib/CategoryTheory/Limits/Preserves/Finite.lean,Mathlib/CategoryTheory/Limits/Shapes/Images.lean,Mathlib/CategoryTheory/Limits/Shapes/StrictInitial.lean,Mathlib/CategoryTheory/Limits/VanKampen.lean,Mathlib/CategoryTheory/Localization/Adjunction.lean,Mathlib/CategoryTheory/Localization/CalculusOfFractions.lean,Mathlib/CategoryTheory/Localization/SmallHom.lean,Mathlib/CategoryTheory/Sites/Sheaf.lean,Mathlib/Combinatorics/Additive/ErdosGinzburgZiv.lean,Mathlib/Data/Multiset/ZeroCons.lean,Mathlib/Data/Nat/Totient.lean,Mathlib/FieldTheory/AxGrothendieck.lean,Mathlib/FieldTheory/ChevalleyWarning.lean,Mathlib/FieldTheory/Differential/Basic.lean,Mathlib/FieldTheory/Extension.lean,Mathlib/FieldTheory/Galois/Abelian.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Algebra.lean,Mathlib/FieldTheory/IntermediateField/Algebraic.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/FieldTheory/LinearDisjoint.lean,Mathlib/FieldTheory/PolynomialGaloisGroup.lean,Mathlib/FieldTheory/PurelyInseparable/Basic.lean,Mathlib/FieldTheory/PurelyInseparable/PerfectClosure.lean,Mathlib/FieldTheory/PurelyInseparable/Tower.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Geometry/Manifold/WhitneyEmbedding.lean,Mathlib/GroupTheory/Schreier.lean,Mathlib/GroupTheory/SpecificGroups/Quaternion.lean,Mathlib/LinearAlgebra/Basis/VectorSpace.lean,Mathlib/LinearAlgebra/BilinearForm/DualLattice.lean,Mathlib/LinearAlgebra/DFinsupp.lean,Mathlib/LinearAlgebra/Dimension/Finite.lean,Mathlib/LinearAlgebra/Dimension/RankNullity.lean,Mathlib/LinearAlgebra/Dimension/StrongRankCondition.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean,Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean,Mathlib/LinearAlgebra/FiniteDimensional/Lemmas.lean,Mathlib/LinearAlgebra/Finsupp/LinearCombination.lean,Mathlib/LinearAlgebra/Finsupp/Supported.lean,Mathlib/LinearAlgebra/FreeModule/Determinant.lean,Mathlib/LinearAlgebra/FreeModule/PID.lean,Mathlib/LinearAlgebra/LinearDisjoint.lean,Mathlib/LinearAlgebra/LinearIndependent/Basic.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/Matrix/Basis.lean,Mathlib/LinearAlgebra/Matrix/Block.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean,Mathlib/LinearAlgebra/Matrix/Irreducible/Defs.lean,Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean,Mathlib/LinearAlgebra/Multilinear/FiniteDimensional.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Lemmas.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Order.lean,Mathlib/MeasureTheory/Covering/Differentiation.lean,Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Indicator.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/AEStronglyMeasurable.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Group/FundamentalDomain.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean 166 29 ['felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'plp127', 'themathqueen'] nobody
47-69341
1 month ago
47-69342
47 days ago
9-42722
9 days
0
43625 b-mehta
author:b-mehta
feat(NumberTheory/Bernoulli): denominators of Bernoulli numbers are squarefree This PR adds some new public theorems for bernoulli numbers. The new results are typically viewed as corollaries of the von Staudt-Clausen theorem, but the implementation in mathlib means it's actually easier to prove them along the way, and we can obtain `rw` versions, or versions with weaker hypotheses than von Staudt-Clausen. In addition, the API changes have a secondary purpose: to act as a prereq for #42304. In principle these could be separate PRs, but the redefinition of the private abbrev `pIntegral` is mixed tightly with the new public API that it's difficult to make this PR into two. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory merge-conflict 148/79 Mathlib/NumberTheory/Bernoulli.lean 1 3 ['github-actions', 'mathlib-merge-conflicts'] nobody
47-68133
1 month ago
47-68134
47 days ago
13-15582
13 days
0
41896 felixpernegger
author:felixpernegger
chore: replace `simp_all` with `simp` whenever possible Replaces `simp_all (only)` with `simp (only)` whenever possible. About 5% of total `simp_all` occurences. Excludes MathlibTest. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 97/101 Archive/Arithcc.lean,Archive/Imo/Imo2024Q3.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/Category/Grp/ForgetCorepresentable.lean,Mathlib/Algebra/GroupWithZero/ProdHom.lean,Mathlib/Algebra/Homology/SpectralObject/HasSpectralSequence.lean,Mathlib/Algebra/Module/Torsion/PrimaryComponent.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Expand.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean,Mathlib/Analysis/Analytic/Binomial.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Complex/JensenFormula.lean,Mathlib/Analysis/Meromorphic/Basic.lean,Mathlib/Analysis/Meromorphic/Divisor.lean,Mathlib/Analysis/Meromorphic/FactorizedRational.lean,Mathlib/Analysis/Polynomial/Fourier.lean,Mathlib/Analysis/SpecialFunctions/BinaryEntropy.lean,Mathlib/Analysis/SpecialFunctions/Integrals/PosLog.lean,Mathlib/Analysis/SpecialFunctions/Log/PosLog.lean,Mathlib/CategoryTheory/Action/Basic.lean,Mathlib/CategoryTheory/Functor/TypeValuedFlat.lean,Mathlib/CategoryTheory/Topos/Sheaf.lean,Mathlib/Combinatorics/Quiver/Path/Vertices.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/List/PeriodicityLemma.lean,Mathlib/Data/List/ProdSigma.lean,Mathlib/Data/List/Sigma.lean,Mathlib/Data/Nat/Digits/Lemmas.lean,Mathlib/Data/PEquiv.lean,Mathlib/Data/PNat/Xgcd.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/Data/TypeVec.lean,Mathlib/Data/Vector/Basic.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean,Mathlib/GroupTheory/PushoutI.lean,Mathlib/LinearAlgebra/Basis/Exact.lean,Mathlib/LinearAlgebra/Finsupp/Pi.lean,Mathlib/MeasureTheory/Constructions/Polish/StronglyMeasurable.lean,Mathlib/MeasureTheory/Measure/CharacteristicFunction/TaylorExpansion.lean,Mathlib/MeasureTheory/Measure/PreVariation.lean,Mathlib/NumberTheory/Height/MvPolynomial.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Defs.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Order/ScottContinuity/Prod.lean,Mathlib/Order/SetDissipate.lean,Mathlib/Order/SuccPred/Basic.lean,Mathlib/Order/WithBot.lean,Mathlib/Probability/Kernel/Deterministic.lean,Mathlib/Probability/Kernel/Representation.lean,Mathlib/RepresentationTheory/Homological/TateCohomology/Basic.lean,Mathlib/RepresentationTheory/Tannaka.lean,Mathlib/RingTheory/Adjoin/Polynomial/Bivariate.lean,Mathlib/RingTheory/Binomial.lean,Mathlib/RingTheory/DiscreteValuationRing/Basic.lean,Mathlib/RingTheory/HahnSeries/Basic.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean,Mathlib/RingTheory/HahnSeries/Summable.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/RingTheory/Nilpotent/Exp.lean,Mathlib/RingTheory/OrderOfVanishing/Basic.lean,Mathlib/RingTheory/OrderOfVanishing/Noetherian.lean,Mathlib/RingTheory/PowerSeries/Schroder.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/Discrete/Basic.lean,Mathlib/RingTheory/Valuation/IsTrivialOn.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/SetTheory/Lists.lean,Mathlib/Topology/LocallyFinsupp.lean,Mathlib/Topology/MetricSpace/Bounded.lean 76 29 ['felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'themathqueen', 'vlad902'] nobody
47-57768
1 month ago
47-57769
47 days ago
53-63754
53 days
0
40381 felixpernegger
author:felixpernegger
chore: replace `:= by rfl` with `:= rfl` Continuation of #40371. This PR replace `:= by rfl` with `:= rfl` whenever possible (also if the `rfl` is on the next line). This ought to make `dsimp` a little bit better as well. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 232/417 Archive/Imo/Imo2010Q5.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Category/Grp/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/MonCat/Basic.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/DirectSum/Finsupp.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/Group/AddChar.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/GroupWithZero/ProdHom.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean,Mathlib/Algebra/Homology/Single.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Lie/Cochain.lean,Mathlib/Algebra/Lie/Extension.lean,Mathlib/Algebra/Lie/OfAssociative.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Lie/Weights/Basic.lean,Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Algebra/Order/Module/PositiveLinearMap.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/Algebra/Polynomial/Derivation.lean,Mathlib/Algebra/Polynomial/Module/Basic.lean,Mathlib/Algebra/Polynomial/Sequence.lean,Mathlib/Algebra/Vertex/HVertexOperator.lean,Mathlib/Algebra/Vertex/VertexOperator.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/AlgebraicGeometry/Modules/Sheaf.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Asymptotics/ExpGrowth.lean,Mathlib/Analysis/Complex/JensenFormula.lean,Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/Distribution/Distribution.lean,Mathlib/Analysis/Distribution/FourierMultiplier.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Fourier.lean,Mathlib/Analysis/Distribution/TemperedDistribution.lean,Mathlib/Analysis/Fourier/Convolution.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Analysis/Normed/Module/Span.lean,Mathlib/Analysis/SpecialFunctions/Complex/CircleAddChar.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/CategoryTheory/Distributive/Monoidal.lean,Mathlib/CategoryTheory/Limits/Presheaf.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Cospan.lean,Mathlib/CategoryTheory/Limits/Types/Equalizers.lean,Mathlib/CategoryTheory/Limits/Types/Products.lean,Mathlib/CategoryTheory/Monoidal/Braided/Multifunctor.lean,Mathlib/CategoryTheory/Monoidal/Closed/Basic.lean,Mathlib/CategoryTheory/Monoidal/Comon_.lean,Mathlib/CategoryTheory/Monoidal/Mod.lean,Mathlib/CategoryTheory/MorphismProperty/OfObjectProperty.lean,Mathlib/CategoryTheory/Shift/CommShift.lean,Mathlib/CategoryTheory/Shift/ShiftedHomOpposite.lean,Mathlib/CategoryTheory/Sites/IsSheafFor.lean,Mathlib/CategoryTheory/Subfunctor/SubmonoidFunctor.lean,Mathlib/CategoryTheory/Yoneda.lean,Mathlib/Combinatorics/Enumerative/Stirling.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean,Mathlib/Data/Fin/VecNotation.lean,Mathlib/Data/Nat/Factorization/PrimePow.lean,Mathlib/Data/PFunctor/Multivariate/Basic.lean,Mathlib/Data/Seq/Basic.lean,Mathlib/Data/Set/FiniteExhaustion.lean,Mathlib/Data/Set/Pairwise/Lattice.lean,Mathlib/Data/Subtype.lean,Mathlib/Geometry/Euclidean/Volume/Measure.lean,Mathlib/Geometry/Manifold/Bordism.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Geometry/Polygon/Basic.lean,Mathlib/GroupTheory/Coxeter/Basic.lean,Mathlib/GroupTheory/FiniteIndexNormalSubgroup.lean,Mathlib/GroupTheory/FreeGroup/Orbit.lean,Mathlib/GroupTheory/GroupAction/ConjAct.lean,Mathlib/GroupTheory/GroupAction/Hom.lean,Mathlib/GroupTheory/SpecificGroups/Alternating.lean,Mathlib/GroupTheory/SpecificGroups/Quaternion.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Centroid.lean,Mathlib/LinearAlgebra/Basis/Defs.lean,Mathlib/LinearAlgebra/BilinearForm/Hom.lean,Mathlib/LinearAlgebra/Dual/Defs.lean,Mathlib/LinearAlgebra/GeneralLinearGroup/Basic.lean,Mathlib/LinearAlgebra/Lagrange.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean,Mathlib/LinearAlgebra/Multilinear/Curry.lean,Mathlib/LinearAlgebra/Multilinear/TensorProduct.lean,Mathlib/LinearAlgebra/Projectivization/Action.lean 157 23 ['dagurtomas', 'felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts', 'tb65536'] dagurtomas
assignee:dagurtomas
44-65073
1 month ago
44-65074
44 days ago
42-27812
42 days
0
41259 felixpernegger
author:felixpernegger
chore: remove redudant `nonrec`'s Remove all `nonrec` which are just not needed, about 9% of all `nonrec` occurences (tech debt) --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 62/62 Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/AlgebraicGeometry/Cover/MorphismProperty.lean,Mathlib/AlgebraicGeometry/Morphisms/ClosedImmersion.lean,Mathlib/AlgebraicGeometry/Morphisms/Descent.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiFinite.lean,Mathlib/AlgebraicGeometry/Sites/SheafQuasiCompact.lean,Mathlib/Analysis/Calculus/Deriv/Comp.lean,Mathlib/Analysis/Calculus/Deriv/Star.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/WithLp.lean,Mathlib/Analysis/Complex/PhragmenLindelof.lean,Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/Normed/Group/Quotient.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Basic/NNReal/Defs.lean,Mathlib/Basic/Rel/Cover.lean,Mathlib/Basic/Rel/Separated.lean,Mathlib/Computability/RecursiveIn.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Cycle.lean,Mathlib/Geometry/Euclidean/Inversion/Calculus.lean,Mathlib/Geometry/Manifold/ContMDiff/Constructions.lean,Mathlib/Geometry/Manifold/ContMDiff/NormedSpace.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/MeasureTheory/Group/Arithmetic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/Measure/Decomposition/Lebesgue.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/ModelTheory/Ultraproducts.lean,Mathlib/NumberTheory/BernoulliPolynomials.lean,Mathlib/Probability/Density.lean,Mathlib/Probability/Moments/Variance.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/Polynomial/Resultant/Basic.lean,Mathlib/Topology/Connected/PathConnected.lean,Mathlib/Topology/FiberBundle/Basic.lean,Mathlib/Topology/Filter.lean,Mathlib/Topology/Homotopy/Basic.lean,Mathlib/Topology/Instances/ENat.lean,Mathlib/Topology/MetricSpace/MetricSeparated.lean,Mathlib/Topology/MetricSpace/Pseudo/Basic.lean,Mathlib/Topology/Order/LocalExtr.lean 44 6 ['felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] nobody
44-8298
1 month ago
44-8299
44 days ago
45-64030
45 days
1
41539 rmhi
author:rmhi
chore(RepresentationTheory/Homological/ContCohomology): refactor functoriality Currently, functoriality of continuous cohomology is given by `ContCohomology.map`, which takes a continuous group homomorphism \phi and an intertwining map f: res \phi X \to Y and returns a map from the continuous cohomology of X to the continuous cohomology of Y. The problem with this is that `ContCohomology.map` does not have a natural type such as Functor or NatTrans. In this PR, we split `ContCohomology.map` as a composition of `(continuousCohomologyFunctor _ _ _).map` and a restriction map in continuous cohomology, which is defined as a natural transformation `resNatTrans`. co-authored-by: Edison Xie @Whysoserioushah --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
499/74 Mathlib/RepresentationTheory/Continuous/Basic.lean,Mathlib/RepresentationTheory/Continuous/TopRep.lean,Mathlib/RepresentationTheory/Homological/ContCohomology/Functoriality.lean,Mathlib/Topology/CompactOpen.lean 4 14 ['JX-Mo', 'github-actions', 'mathlib-merge-conflicts', 'riccardobrasca', 'rmhi'] mattrobball
assignee:mattrobball
44-8173
1 month ago
44-8174
44 days ago
72-58052
72 days
1
41749 felixpernegger
author:felixpernegger
chore: remove redudant `have`'s This PR removes most unused `have` statements in mathlib. Some edge cases (Prop valued fields, have statements with arguments, etc) are not yet included (but this already took my computer 7 hours, so I will push that for later). --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 5/341 Archive/Imo/Imo1998Q2.lean,Counterexamples/NowhereDifferentiable.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/Homology/Factorizations/CM5a.lean,Mathlib/Algebra/Homology/SpectralObject/Basic.lean,Mathlib/Algebra/Homology/SpectralObject/HasSpectralSequence.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/AlgebraicGeometry/FunctionField.lean,Mathlib/AlgebraicGeometry/Geometrically/Reduced.lean,Mathlib/AlgebraicGeometry/Group/Abelian.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiFinite.lean,Mathlib/AlgebraicGeometry/OrderOfVanishing.lean,Mathlib/AlgebraicGeometry/QuasiAffine.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/AlgebraicTopology/ModelCategory/BifibrantObjectHomotopy.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/Inner/Basic.lean,Mathlib/AlgebraicTopology/SingularHomology/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Mul.lean,Mathlib/Analysis/Calculus/FDeriv/WithLp.lean,Mathlib/Analysis/InnerProductSpace/NormDet.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/Normed/Field/Krasner.lean,Mathlib/Analysis/Normed/Module/RCLike/Basic.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Analysis/Real/Pi/Irrational.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/ConjSqrt.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/RingInverseOrder.lean,Mathlib/Analysis/SpecialFunctions/Elliptic/Weierstrass.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean,Mathlib/CategoryTheory/Abelian/SerreClass/Localization.lean,Mathlib/CategoryTheory/ConcreteCategory/EpiMono.lean,Mathlib/CategoryTheory/EffectiveEpi/Comp.lean,Mathlib/CategoryTheory/Galois/Examples.lean,Mathlib/CategoryTheory/Generator/StrongGenerator.lean,Mathlib/CategoryTheory/Limits/Types/Pushouts.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/ChosenPullbacksAlong.lean,Mathlib/CategoryTheory/Monoidal/Braided/Reflection.lean,Mathlib/CategoryTheory/MorphismProperty/CommaSites.lean,Mathlib/CategoryTheory/MorphismProperty/Limits.lean,Mathlib/CategoryTheory/Preadditive/Projective/Basic.lean,Mathlib/CategoryTheory/Presentable/CardinalFilteredPresentation.lean,Mathlib/CategoryTheory/Presentable/Retracts.lean,Mathlib/CategoryTheory/Sites/Coherent/LocallySurjective.lean,Mathlib/CategoryTheory/Sites/Continuous.lean,Mathlib/CategoryTheory/Sites/CoverPreserving.lean,Mathlib/CategoryTheory/Subobject/Limits.lean,Mathlib/CategoryTheory/Triangulated/Functor.lean,Mathlib/Combinatorics/Additive/VerySmallDoubling.lean,Mathlib/Combinatorics/SetFamily/AhlswedeZhang.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean,Mathlib/Condensed/Discrete/Characterization.lean,Mathlib/Condensed/Discrete/Colimit.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/List/MinMax.lean,Mathlib/Data/List/PeriodicityLemma.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/Data/Seq/Basic.lean,Mathlib/FieldTheory/Galois/IsGaloisGroup.lean,Mathlib/FieldTheory/NormalizedTrace.lean,Mathlib/FieldTheory/PurelyInseparable/Basic.lean,Mathlib/FieldTheory/PurelyInseparable/Tower.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/Geometry/Euclidean/Angle/Bisector.lean,Mathlib/Geometry/Euclidean/Inversion/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/LocalFrame.lean,Mathlib/GroupTheory/GroupAction/Jordan.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/Combination.lean,Mathlib/GroupTheory/IndexNSmul.lean,Mathlib/GroupTheory/Perm/MaximalSubgroups.lean,Mathlib/LinearAlgebra/Charpoly/BaseChange.lean,Mathlib/LinearAlgebra/Determinant.lean,Mathlib/LinearAlgebra/Dimension/Constructions.lean,Mathlib/LinearAlgebra/PiTensorProduct/DirectSum.lean,Mathlib/LinearAlgebra/Trace.lean,Mathlib/LinearAlgebra/Transvection/Basic.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondJensen.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/AbsolutelyContinuousFun.lean,Mathlib/MeasureTheory/Measure/Stieltjes.lean,Mathlib/MeasureTheory/Measure/Typeclasses/ZeroOne.lean,Mathlib/MeasureTheory/VectorMeasure/Integral.lean,Mathlib/NumberTheory/Bernoulli.lean,Mathlib/NumberTheory/Cyclotomic/Basic.lean,Mathlib/NumberTheory/Cyclotomic/PrimitiveRoots.lean,Mathlib/NumberTheory/DirichletCharacter/Basic.lean,Mathlib/NumberTheory/Divisors.lean,Mathlib/NumberTheory/FLT/Three.lean,Mathlib/NumberTheory/Fermat.lean,Mathlib/NumberTheory/Height/Basic.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/NumberTheory/NumberField/CMField.lean 178 15 ['SnirBroshi', 'felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] nobody
44-8046
1 month ago
44-8047
44 days ago
24-2784
24 days
0
41933 felixpernegger
author:felixpernegger
chore: prefer `beta_reduce` over `(d)simp only` Insired by discussion at #38989. This PR replaces `(d)simp only` (with no arguments) with the slightly cheaper `beta_reduce` whenever that works and doesnt change the goal. This also increases code readability a bit More could be replaced if we allow the goal to be changed. Additonally, some of the `simp only` could be removed entirely (I dont think doing either one of those is good though). --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 186/186 Mathlib/Algebra/Category/Grp/EpiMono.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/DirectSum/Idempotents.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/Algebra/MonoidAlgebra/NoZeroDivisors.lean,Mathlib/Algebra/MvPolynomial/Derivation.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Order/Module/HahnEmbedding.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/AlgebraicGeometry/Morphisms/AffineAnd.lean,Mathlib/AlgebraicGeometry/Morphisms/SurjectiveOnStalks.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Continuity.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/CStarAlgebra/Unitary/Connected.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/LHopital.lean,Mathlib/Analysis/Calculus/ParametricIntegral.lean,Mathlib/Analysis/Complex/ValueDistribution/Cartan.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Fourier/AddCircle.lean,Mathlib/Analysis/Fourier/AddCircleMulti.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Analysis/MellinTransform.lean,Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Analysis/SpecialFunctions/CompareExp.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean,Mathlib/Analysis/SpecialFunctions/ImproperIntegrals.lean,Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/Monotone.lean,Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean,Mathlib/Analysis/SpecialFunctions/Pow/Integral.lean,Mathlib/CategoryTheory/Bicategory/End.lean,Mathlib/Combinatorics/Hall/Basic.lean,Mathlib/Combinatorics/Hall/Finite.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/RE.lean,Mathlib/Computability/TuringMachine/Config.lean,Mathlib/Computability/TuringMachine/ToPartrec.lean,Mathlib/Data/DFinsupp/Defs.lean,Mathlib/Data/ENat/Pow.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/List/NodupEquivFin.lean,Mathlib/Data/Nat/Factorization/Basic.lean,Mathlib/Data/Nat/Factorization/LCM.lean,Mathlib/Data/Setoid/Partition.lean,Mathlib/FieldTheory/CardinalEmb.lean,Mathlib/Geometry/Euclidean/Incenter.lean,Mathlib/Geometry/Euclidean/Triangle.lean,Mathlib/Geometry/Manifold/Riemannian/PathELength.lean,Mathlib/GroupTheory/CoprodI.lean,Mathlib/GroupTheory/Coxeter/Basic.lean,Mathlib/GroupTheory/Divisible.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/HNNExtension.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/OrderOfElement.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic/Basic.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/LinearAlgebra/AffineSpace/Independent.lean,Mathlib/LinearAlgebra/Lagrange.lean,Mathlib/LinearAlgebra/Matrix/Adjugate.lean,Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean,Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean,Mathlib/LinearAlgebra/Matrix/ZPow.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/RootSystem/OfBilinear.lean,Mathlib/LinearAlgebra/SpecialLinearGroup.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean,Mathlib/MeasureTheory/Function/AbsolutelyContinuous.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL2.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Function/LpSpace/Complete.lean,Mathlib/MeasureTheory/Function/LpSpace/Indicator.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Basic.lean,Mathlib/MeasureTheory/Integral/SetToL1/DominatedConvergence.lean,Mathlib/MeasureTheory/MeasurableSpace/Prod.lean,Mathlib/NumberTheory/Harmonic/ZetaAsymp.lean,Mathlib/NumberTheory/JacobiSum/Basic.lean,Mathlib/NumberTheory/MulChar/Basic.lean,Mathlib/NumberTheory/NumberField/CMField.lean,Mathlib/Order/Category/NonemptyFinLinOrd.lean,Mathlib/Order/CountableSupClosed.lean,Mathlib/Order/Filter/Finite.lean,Mathlib/Order/PiLex.lean,Mathlib/Order/SuccPred/LinearLocallyFinite.lean,Mathlib/Probability/Kernel/Defs.lean,Mathlib/Probability/Kernel/Disintegration/MeasurableStieltjes.lean 128 7 ['felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] nobody
44-8045
1 month ago
44-8046
44 days ago
34-3240
34 days
0
35790 Brian-Nugent
author:Brian-Nugent
feat(CategoryTheory/AlgebraicGeometry): Flasque Sheaves have vanishing cohomology Proves cohomology vanishing for flasque sheaves. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [x] depends on: #34742 - [x] depends on: #34267 - [x] depends on: #35785 - [x] depends on: #36218 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-category-theory tech debt merge-conflict 139/14 Mathlib/CategoryTheory/Generator/Presheaf.lean,Mathlib/CategoryTheory/Generator/Sheaf.lean,Mathlib/Topology/Sheaves/AddCommGrpCat.lean,Mathlib/Topology/Sheaves/Flasque.lean,Mathlib/Topology/Sheaves/LocallySurjective.lean,Mathlib/Topology/Sheaves/Sheaf.lean 6 37 ['Brian-Nugent', 'Multramate', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'smorel394'] dagurtomas
assignee:dagurtomas
42-38975
1 month ago
42-38977
42 days ago
13-37304
13 days
1
39834 or4nge19
author:or4nge19
feat(LinearAlgebra): triangularizability via flags and block-triangular matrices Part 2/3 of #39139. In finite dimension, shows that `⨆ μ, f.maxGenEigenspace μ = ⊤` is equivalent to: - existence of a `Basis` whose `flag` lies in `f.invtSubmodule`; - existence of an invariant `Flag`; - `Matrix.BlockTriangular id` for `LinearMap.toMatrix b b f` in some basis. Over an algebraically closed field, deduces the above from `IsAlgClosed.splits` on the charpoly. Compared to #39139 we do not introduce new global `IsTriangularizable` (or similar) predicates. This also fills the previous TODO and replaces/shorten the proof of `iSup_maxGenEigenspace_eq_top` by a charpoly-splitting argument. - [ ] depends on: #39829 [Part 1/3 of #39139. ] Co-authored-by: [kuotsanhsu](https://github.com/kuotsanhsu) [learningstud@gmail.com](mailto:learningstud@gmail.com) --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra large-import tech debt merge-conflict
label:t-algebra$
381/76 Mathlib/LinearAlgebra/Basis/Flag.lean,Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/LinearAlgebra/Eigenspace/Triangularizable.lean 3 4 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
42-37090
1 month ago
42-37090
42 days ago
25-47290
25 days
2
43174 Raph-DG
author:Raph-DG
feat(RingTheory): algebraic hartogs' lemma for ufds --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict 94/0 Mathlib/RingTheory/Ideal/UFD.lean 1 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
42-10918
1 month ago
42-10919
42 days ago
27-44683
27 days
0
43321 owenpkent
author:owenpkent
feat(RingTheory/Polynomial/RationalRoot): rational root theorem with multiplicity This PR adds the rational root theorem with multiplicity to `Mathlib/RingTheory/Polynomial/RationalRoot.lean`: - `den_pow_rootMultiplicity_dvd_leadingCoeff`: if `r : K` is a root of `p : A[X]` (`A` a UFD, `K` its fraction field) with multiplicity `m = rootMultiplicity r (p.map (algebraMap A K))`, then `(den A r) ^ m ∣ p.leadingCoeff`; - `prod_den_pow_rootMultiplicity_dvd_leadingCoeff`: the multi-point version, `∏ r ∈ s, (den A r) ^ rootMultiplicity r ∣ p.leadingCoeff` over any finite set `s : Finset K` (the denominators need **not** be pairwise coprime in `A`; the recombination happens on the polynomial side, where the root factors at distinct points are pairwise coprime over `K`); - `den_mul_X_sub_C_num_pow_rootMultiplicity_dvd`: the `A`-level form both corollaries come from, `(C (den A r) * X - C (num A r)) ^ m ∣ p` in `A[X]`. These generalize the existing multiplicity-one statement `den_dvd_of_is_root`: at `m = 1` the new theorem recovers it exactly (a guard `example` confirmed this against the branch). Two supporting lemmas travel with them, placed in `Content.lean`, whose existing content they extend: - `Polynomial.IsPrimitive.pow` and `Polynomial.isPrimitive_prod`: powers and finite products of primitive polynomials stay primitive. **Proof route.** The reduced linear factor `C (den A r) * X - C (num A r)` is primitive (a constant divisor of both coefficients divides the reduced numerator/denominator pair, hence is a unit) and, over `K`, a unit multiple of `X - C r`. Its `rootMultiplicity`-power therefore divides `p.map (algebraMap A K)` (`pow_rootMultiplicity_dvd`), and one-sided Gauss descent (the existing `IsPrimitive.dvd_of_fraction_map_dvd_fraction_map`) brings the divisibility back down to `A`; multiplicativity of the leading coefficient finishes. The multi-point case recombines the same argument over a product of linear factors that are pairwise coprime over `K` (`isCoprime_X_sub_C_of_isUnit_sub`, `Finset.prod_dvd_of_coprime`). **A hypothesis note.** `Polynomial.IsPrimitive.pow` / `Polynomial.isPrimitive_prod` are stated under `[NormalizedGCDMonoid R]`, matching the hypothesis level of their host section in `Content.lean` (neither proof needs anything UFD-specific). The six `RationalRoot.lean` declarations (three public, and three `private` helpers about the reduced linear factor: `isPrimitive_den_mul_X_sub_C_num`, `map_den_mul_X_sub_C_num`, `leadingCoeff_den_mul_X_sub_C_num`) need only the file's existing `UniqueFactorizationMonoid A` context: where a `NormalizedGCDMonoid A` instance is required to invoke the `Content.lean` lemmas, the proofs materialize one locally via `let : NormalizedGCDMonoid A := Nonempty.some inferInstance` (the `Nonempty` instance comes from `UniqueFactorizationMonoid A` through `IsGCDMonoid A`, in scope via the file's existing `RingTheory.Localization.NumDen` import), the same idiom `GaussLemma.lean` already uses. The statements are instance-independent. All eight new declarations (two in `Content.lean`, six in `RationalRoot.lean`) build green and `#print axioms` clean (`[propext, Classical.choice, Quot.sound]`; no `sorryAx`, no `native_decide`) on master commit `8acb872c31` (toolchain v4.34.0-rc2), with `lake exe lint-style` and the batteries env linter (`runLinter`) passing on both touched modules, and all direct downstream importers rebuilt green. Three `public import`s are added to `RationalRoot.lean` (`RingTheory.Polynomial.GaussLemma`, `Algebra.Polynomial.BigOperators`, `RingTheory.Coprime.Lemmas`); each is used directly by the new proofs (`shake` no longer exists as a lake executable on current master, so no automated minimization pass was run). **Import-graph cost: zero downstream.** The three added imports grow `RationalRoot.lean`'s own transitive closure by 30 modules (1614 -> 1644), mostly the `FieldTheory.SplittingField` / `IntermediateField` / `Minpoly` cone that `GaussLemma.lean` pulls in. That growth does not propagate: `RationalRoot.lean` has exactly three importers in Mathlib (`RingTheory/Polynomial/IsIntegral.lean`, `RingTheory/DedekindDomain/Basic.lean`, `NumberTheory/Niven.lean`), and all three already import `GaussLemma` and `SplittingField.Construction` transitively today, so no file in Mathlib gains an import from this PR. If a maintainer would still rather keep `RationalRoot.lean` light, the six declarations move to a new `RingTheory/Polynomial/RationalRootMultiplicity.lean` without any proof change; I am happy to do that on request. --- **AI use disclosure** (per Mathlib's contribution guidelines): this generalization was developed in a personal research project with the help of an AI coding agent (Claude Code). The agent developed the multiplicity generalization and its proof (building on the existing single-multiplicity `den_dvd_of_is_root`), then ported it directly onto Mathlib's own source files: placing the two primitivity lemmas in `Content.lean`'s existing `NormalizedGCDMonoid` section (a weaker hypothesis than the UFD one the standalone draft used; neither proof needs anything UFD-specific), adapting the imports to the module system, and rebasing onto current master. During the rebase the agent found that Mathlib had independently generalized `IsPrimitive.dvd_of_fraction_map_dvd_fraction_map` to the one-sided form an earlier draft of this PR supplied as a new lemma, so that lemma was dropped and the proofs call the existing one. Build green, `#print axioms` clean, and linters passing were confirmed directly against Mathlib's source tree. The underlying result is a natural generalization of an existing Mathlib theorem, and every proof step uses only existing Mathlib API. I have reviewed and understand the proofs, take responsibility for the content, and will respond to review in my own words. t-ring-theory new-contributor LLM-generated merge-conflict 129/1 Mathlib/RingTheory/Polynomial/Content.lean,Mathlib/RingTheory/Polynomial/RationalRoot.lean 2 3 ['github-actions', 'mathlib-merge-conflicts'] nobody
42-10786
1 month ago
42-10786
42 days ago
26-49699
26 days
0
43422 vasnesterov
author:vasnesterov
chore(Tactic): deprecate `pnat_to_nat` and `enat_to_nat` in favor of `basify` --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [x] depends on: #43254 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict 34/18 Mathlib/Combinatorics/SimpleGraph/VertexCover.lean,Mathlib/Data/Seq/Basic.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Corecursion.lean,Mathlib/Tactic/ENatToNat.lean,Mathlib/Tactic/PNatToNat.lean,MathlibTest/Tactic/ENatToNat.lean,MathlibTest/Tactic/PNatToNat.lean 7 4 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
42-10780
1 month ago
42-10781
42 days ago
10-33041
10 days
0
43604 MetinovAdik
author:MetinovAdik
feat(Analysis): Laplacian and gradient under composition with a dilation feat(Analysis): Laplacian and gradient under composition with a dilation Two lemmas describing how the Laplacian and the gradient behave under pre-composition with `c • ·`, the missing companions of `fderiv_comp_smul` and `iteratedFDeriv_comp_const_smul`. * `InnerProductSpace.laplacian_comp_smul` (in `InnerProductSpace/Laplacian.lean`, next to `laplacian_smul`): for `f : E → F` with `ContDiff ℝ 2 f` and `c : ℝ`, `Δ (f <| c • ·) x = c ^ 2 • Δ f (c • x)`. Each of the two derivatives contributes one factor of `c`. Proof: `laplacian_eq_iteratedFDeriv_stdOrthonormalBasis` and `iteratedFDeriv_comp_const_smul`, in the style of `laplacian_smul`. * `gradient_comp_smul` (in `Calculus/Gradient/Basic.lean`): for `f : F → 𝕜` and `c : 𝕜`, `∇ (f <| c • ·) x = conj c • ∇ f (c • x)`. The derivative picks up `c` (`fderiv_comp_smul`) and the Riesz isomorphism is conjugate linear, hence `conj c`. No differentiability hypothesis: for `c = 0` both sides are `0`, exactly as in `fderiv_comp_smul`. Motivation: the parabolic scaling `v ↦ λ • v (λ • x) (λ² t)` of the Navier–Stokes equations, where every term acquires `λ³`. Establishing that in Lean required these two facts, which were the only missing pieces; the rest was already in Mathlib. Names follow `fderiv_comp_smul` rather than `iteratedFDeriv_comp_const_smul`; happy to switch if the other convention is preferred. --- Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> t-analysis new-contributor LLM-generated merge-conflict 20/0 Mathlib/Analysis/Calculus/Gradient/Basic.lean,Mathlib/Analysis/InnerProductSpace/Laplacian.lean 2 4 ['github-actions', 'mathlib-merge-conflicts'] nobody
42-10648
1 month ago
42-10649
42 days ago
19-11294
19 days
0
40534 mcdoll
author:mcdoll
feat(Algebra): introduce notation typeclass for composition of functions This PR defines two new typeclasses: `FComp` and `IsCompApply`. The former is just a notation typeclass with notation `(g ∘ᶠ f)` and the second one asserts that `(g ∘ᶠ f) x = g (f x)`. --- There are two PRs that illustrate the use of these classes: #41169 and #41224 The second one is closer to what we actually implement here, but not sorry-free (because I ran into unrelated defeq abuse pretty far down the line) <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
108/15 Mathlib/Algebra/Notation/Defs.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Data/FunLike/IsApply.lean,Mathlib/Geometry/Manifold/GroupLieAlgebra.lean,Mathlib/Geometry/Manifold/VectorField/LieBracket.lean,Mathlib/NumberTheory/Height/Basic.lean,Mathlib/Probability/Distributions/Gaussian/HasGaussianLaw/Independence.lean,Mathlib/RingTheory/Coalgebra/Basic.lean,Mathlib/Topology/VectorBundle/Hom.lean 10 6 ['eric-wieser', 'github-actions', 'jcommelin', 'mathlib-merge-conflicts'] ocfnash
assignee:ocfnash
40-17539
1 month ago
40-17540
40 days ago
83-3300
83 days
0
41564 felixpernegger
author:felixpernegger
chore: unexpose public sections with no defs This PR remove `@[expose]` from public sections when there are no `(irredcible_)def`'s inside the section anyways, so there is no reason to expose the section (does not make a difference). --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt merge-conflict 21/21 Mathlib/Algebra/Field/Rat.lean,Mathlib/Algebra/HierarchyDesign.lean,Mathlib/Algebra/Notation/Pi/Defs.lean,Mathlib/Algebra/Order/Archimedean/Real/Basic.lean,Mathlib/Algebra/Order/Nonneg/Lattice.lean,Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean,Mathlib/Analysis/InnerProductSpace/Coalgebra.lean,Mathlib/Analysis/ODE/ExistUnique.lean,Mathlib/CategoryTheory/MorphismProperty/LocalClosure.lean,Mathlib/Data/ENat/Pow.lean,Mathlib/Data/Sigma/Order.lean,Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Lattice/Nat.lean,Mathlib/RingTheory/Coalgebra/CoassocSimps.lean,Mathlib/RingTheory/QuasiFinite/Basic.lean,Mathlib/RingTheory/QuasiFinite/Weakly.lean,Mathlib/RingTheory/SimpleModule/Basic.lean,Mathlib/Topology/Category/DeltaGenerated.lean,Mathlib/Topology/EMetricSpace/Weak.lean,Mathlib/Topology/List.lean 21 10 ['JovanGerb', 'felixpernegger', 'github-actions', 'grunweg', 'mathlib-merge-conflicts', 'themathqueen'] JovanGerb
assignee:JovanGerb
40-17265
1 month ago
40-17266
40 days ago
29-24593
29 days
0
42569 astrainfinita
author:astrainfinita
refactor: use `cmpLE` in `LinearOrder` --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order tech debt merge-conflict 110/69 Mathlib/Data/Ordering/Basic.lean,Mathlib/Data/Prod/Lex.lean,Mathlib/Data/String/Basic.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Compare.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/Defs/LinearOrder.lean,Mathlib/Order/OrderDual.lean,Mathlib/Order/Std.lean,scripts/nolints.json 11 4 ['JovanGerb', 'astrainfinita', 'github-actions', 'mathlib-merge-conflicts'] nobody
39-62429
1 month ago
39-62430
39 days ago
53-36046
53 days
1
42741 felixpernegger
author:felixpernegger
feat(Topology): generalise Isometry to `WeakPseudoEMetricSpace` and friends After doing the first few per hand, this was now done by GPT 5.6 Sol. I reviewed however and it looks good --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on #42706 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology LLM-generated merge-conflict 249/209 Mathlib/MeasureTheory/Function/ConditionalExpectation/AEMeasurable.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean,Mathlib/Topology/MetricSpace/Antilipschitz.lean,Mathlib/Topology/MetricSpace/Isometry.lean 4 5 ['felixpernegger', 'github-actions', 'mathlib-merge-conflicts'] nobody
39-55625
1 month ago
39-55626
39 days ago
12-74204
12 days
2
29788 robertmaxton42
author:robertmaxton42
feat(Topology): adds bundled continuous maps for sum, sigma, subtype, mapsto, inclusion Adds a collection of bundled continuous maps and homeomorphisms, and helper lemmas for working with their compositions. Bundling of existing continuity lemmas: * `ContinuousMap.subtypeVal` * `ContinuousMap.inl` and `.inr`; `ContinuousMap.sum` bundles `Continuous.sumElim`; `ContinuousMap.sumMap`, which is a quotient map when both components are quotient maps * `ContinuousMap.sigmaMap`, which is a quotient map when given a family of quotient maps * `ContinuousMap.mapsTo` bundles `ContinuousOn.restrict_mapsTo` New functions: * `ContinuousMap.preimageValIncl : C(s ↓∩ t, t)` and `.inclPreimageVal C(s, t ↓∩ s)`, and their unbundled functions in `Set` * `Homeomorph.Set.preimageVal` witnesses that the two are opposite directions of a homeomorphism * Descending from a coherent set of subspaces is a quotient map The primary use for these bundled maps is easy composition and the ability to introduce them by rewriting right-to-left: it is much more convenient to write `subtypeVal.comp _` than to use either the anonymous constructor (which doesn't work in any position without an expected type) or `ContinuousMap.mk` (which will disappear as soon as it is coerced to a function, making it difficult to use in mixed-categorical contexts where many maps can only be reduced by introducing a composition with some other map.) This PR is part of a family of PRs that ultimately construct transformations in both directions between the concrete `Topology.RelCWComplex` and abstract `TopCat.RelativeCWComplex`. `.mapsTo` in particular bundles together a couple of potentially nontrivial proofs in a way that makes them easy to refer to later; I use it and `.subtypeVal` particularly heavily later in a dependent PR to build the cell inclusion maps on both sides of the equivalence. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-topology merge-conflict 227/2 Mathlib/Data/Set/Subset.lean,Mathlib/Topology/Category/TopCat/Limits/Products.lean,Mathlib/Topology/Coherent.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/Constructions/SumProd.lean,Mathlib/Topology/ContinuousMap/Basic.lean,scripts/noshake.json 7 18 ['adamtopaz', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'robertmaxton42'] adamtopaz
assignee:adamtopaz
39-13127
1 month ago
276-81004
276 days ago
85-37050
85 days
2
28686 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): prove the Erdős-Stone theorem Proves the Erdős-Stone theorem: If `G` has at least `(1 - 1 / r + o(1)) * n ^ 2 / 2` many edges, then `G` contains a copy of a `completeEquipartiteGraph (r + 1) t`. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [x] depends on: #28685 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics large-import merge-conflict 164/1 Mathlib/Combinatorics/SimpleGraph/Extremal/ErdosStoneSimonovits.lean 1 14 ['Parcly-Taxel', 'SnirBroshi', 'barni120400', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'mitchell-horner'] b-mehta
assignee:b-mehta
35-16809
1 month ago
35-16810
35 days ago
93-71842
93 days
2
28700 Timeroot
author:Timeroot
feat(ModelTheory): Set.Definable is transitive --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> This PR continues the work from #19695. Original PR: https://github.com/leanprover-community/mathlib4/pull/19695 - [x] depends on: #26332 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic large-import increases-technical-debt merge-conflict 371/4 Mathlib/ModelTheory/Definability.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Syntax.lean 3 11 ['Timeroot', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'staroperator'] nobody
35-16807
1 month ago
35-16808
35 days ago
55-2416
55 days
0
41536 Mathias-Stout
author:Mathias-Stout
chore(Algebra): make quaternion directory We create separate directory for quaternions and move the two existing files into it. This prepares a follow-up PR proving that quaternions are central simple. Co-authored-by: Justus Springer <justusspringer@gmx.de> --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed new-contributor merge-conflict 12/9 Mathlib.lean,Mathlib/Algebra/DualQuaternion.lean,Mathlib/Algebra/Quaternion/Basic.lean,Mathlib/Algebra/Quaternion/Basis.lean,Mathlib/Analysis/Quaternion.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Equivs.lean,MathlibTest/Quaternion.lean 7 6 ['github-actions', 'mathlib-merge-conflicts'] nobody
34-71464
1 month ago
34-71465
34 days ago
44-18522
44 days
1
35217 kim-em
author:kim-em
feat: auxiliary lemmas for Artin and braid groups This PR adds small lemmas to existing files, in preparation for the Artin groups and braid groups PRs. - `Commute.mul_pow_eq_one`: for commuting elements with `a ^ m = 1` and `b ^ m = 1` - `Equiv.Perm.swap_conjugate`: braid relation for adjacent transpositions - `Equiv.Perm.swap_mul_swap_comm_of_disjoint`: disjoint transpositions commute - `@[grind =]` attributes on `Perm.mul_apply`, `Perm.one_apply`; new `Perm.pow_add_one_apply` - `Subgroup.normalClosure_singleton_one` - `FreeGroup.ofList` and associated lemmas - `FreeGroup.freeGroupUnitMulEquivInt` - `PresentedGroup.instUniqueOfIsEmpty` - `CoxeterMatrix.Aₙ_adjacent`, `CoxeterMatrix.Aₙ_far` 🤖 Prepared with Claude Code t-group-theory LLM-generated merge-conflict 64/2 Mathlib/Algebra/Group/Commute/Defs.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/PresentedGroup.lean 7 26 ['eric-wieser', 'github-actions', 'kim-em', 'mathlib-merge-conflicts', 'tb65536', 'themathqueen'] tb65536
assignee:tb65536
31-18775
1 month ago
31-18776
31 days ago
46-77137
46 days
3
38815 dagurtomas
author:dagurtomas
feat(Tactic/CategoryTheory): extend `@[to_app]` to natural transformations This extends `@[to_app]` and `to_app_of%` to natural transformations and equations already in `Cat`, while preserving specialization of bicategorical equations. Natural-transformation lemmas retain their universe parameters, and generated component lemmas use Lean’s standard `defeq`/`backward_defeq` inference. t-category-theory LLM-generated t-meta merge-conflict 387/80 Mathlib/Tactic/CategoryTheory/ToApp.lean,Mathlib/Util/AddRelatedDecl.lean,MathlibTest/AddRelatedDecl.lean,MathlibTest/CategoryTheory/ToApp.lean 4 12 ['Vierkantor', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts'] nobody
31-10634
1 month ago
31-10635
31 days ago
148-45427
148 days
0
40983 khwilson
author:khwilson
feat: lemmas to support F-space open mapping theorem In order to generalize the Banach open mapping theorem to a generic F-space, we need several leamms about balanced and absorbent sets in more arbitrary spaces. In particular, we need some key lemmas such as: - A closed absorbent set in a Baire space with countably generated cobounded filter has nonempty interior - A topological vector space has a basis of neighborhoods about 0 consisting of balanced sets AI Disclosure: Generated by Claude Code with specific prompts from me and edits by me. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology LLM-generated merge-conflict 119/11 Mathlib.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/BalancedCoreHull.lean,Mathlib/Analysis/LocallyConvex/Basic.lean,Mathlib/Topology/Algebra/Group/Pointwise.lean,Mathlib/Topology/Baire/Absorbent.lean,Mathlib/Topology/Bornology/Absorbs.lean,Mathlib/Topology/MetricSpace/Bounded.lean 8 24 ['felixpernegger', 'github-actions', 'j-loreaux', 'khwilson', 'mathlib-bors', 'mathlib-merge-conflicts', 'mcdoll', 'scholzhannah'] j-loreaux
assignee:j-loreaux
31-10164
1 month ago
31-10165
31 days ago
88-28860
88 days
1
42871 WilliamCoram
author:WilliamCoram
feat: multivariate gauss norm API and a lemma to discharge hdom in mul_eq_mul We add some missing API as well as lemmas that compute explicit values of the gauss norm (e.g. on monomials, X, C). Finally, we add a lemma that will be used to discharge `hdom` in `mul_eq_mul` in applications. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict 118/4 Mathlib/RingTheory/MvPowerSeries/GaussNorm.lean 1 11 ['WilliamCoram', 'github-actions', 'mathlib-merge-conflicts', 'riccardobrasca'] nobody
31-7941
1 month ago
31-7942
31 days ago
52-77986
52 days
0
43420 Timeroot
author:Timeroot
chore(AlgebraicGeometry): refactor and clean up AffineTransitionLimit.lean Refactor and cleans up very long proofs in AffineTransitionLimit.lean Several proofs in this file were the largest in Mathlib (as measured by actual time to validate the proof term) and I noticed they were terrible. This was the result of some ~20 rounds of me with Claude together doing cleanup, not just shortening the proofs but also cleaning up the file in other ways. It involved pulling 15 helpful little lemmas out in other related files, reordering some declarations into an easier order to re-use, changing some section variables (to make declarations much more readable), a great reduction in `set_option backward.isDefEq.respectTransparency false` and `set_option backward.defeqAttrib.useBackward` debt, and of course, simplifying many proofs to use cleaner or more direct arguments. The net result is 138 less lines than before, and instead of having a massive `Scheme.exists_π_app_comp_eq_of_locallyOfFinitePresentation` (and friends) that's 104 lines, nearly everything is at a sane length. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt merge-conflict 532/669 Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean,Mathlib/AlgebraicGeometry/Gluing.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiSeparated.lean,Mathlib/AlgebraicGeometry/Restrict.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/CategoryTheory/Filtered/Basic.lean 7 4 ['github-actions', 'mathlib-merge-conflicts'] nobody
31-7772
1 month ago
31-7773
31 days ago
32-13506
32 days
0
43832 Raph-DG
author:Raph-DG
refactor(Topology): make locallyFinsupp.map an additive monoid homomorphism In this PR we slightly refactor locallyFinsupp.map by making it an additive monoid hom, and removing some superfluous assumptions from the type signature --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict 62/30 Mathlib/AlgebraicGeometry/AlgebraicCycle/Basic.lean,Mathlib/Topology/LocallyFinsupp/Pushforward.lean 2 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
31-6618
1 month ago
31-6619
31 days ago
22-61660
22 days
0
44144 Brian-Nugent
author:Brian-Nugent
chore: tag more functors implicit_reducible --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> tech debt merge-conflict 53/71 Mathlib/Algebra/Category/ModuleCat/Differentials/Presheaf.lean,Mathlib/AlgebraicGeometry/ColimitsOver.lean,Mathlib/AlgebraicGeometry/Cover/Directed.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/AlgebraicGeometry/Sites/SmallAffineZariski.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ModuleEmbedding/GabrielPopescu.lean,Mathlib/CategoryTheory/Bicategory/Basic.lean,Mathlib/CategoryTheory/Bicategory/Functor/Prelax.lean,Mathlib/CategoryTheory/Bicategory/Functor/Pseudofunctor.lean,Mathlib/CategoryTheory/Bicategory/Grothendieck.lean,Mathlib/CategoryTheory/Bicategory/LocallyGroupoid.lean,Mathlib/CategoryTheory/Bicategory/Yoneda.lean,Mathlib/CategoryTheory/Category/Cat.lean,Mathlib/CategoryTheory/Category/Cat/Limit.lean,Mathlib/CategoryTheory/Category/PartialFun.lean,Mathlib/CategoryTheory/Category/Pointed.lean,Mathlib/CategoryTheory/Category/RelCat.lean,Mathlib/CategoryTheory/Enriched/Opposite.lean,Mathlib/CategoryTheory/FiberedCategory/Fiber.lean,Mathlib/CategoryTheory/FiberedCategory/Grothendieck.lean,Mathlib/CategoryTheory/Functor/Basic.lean,Mathlib/CategoryTheory/Groupoid/FreeGroupoid.lean,Mathlib/CategoryTheory/Groupoid/FreeGroupoidOfCategory.lean,Mathlib/CategoryTheory/Join/Basic.lean,Mathlib/CategoryTheory/Join/Pseudofunctor.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/Over.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/Sections.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Ring.lean,Mathlib/CategoryTheory/MorphismProperty/Comma.lean,Mathlib/CategoryTheory/MorphismProperty/OverAdjunction.lean,Mathlib/CategoryTheory/PathCategory/Basic.lean,Mathlib/CategoryTheory/Pi/Monoidal.lean,Mathlib/CategoryTheory/Preadditive/Yoneda/Basic.lean,Mathlib/CategoryTheory/Sites/Closed.lean,Mathlib/CategoryTheory/Topos/Sheaf.lean,Mathlib/Combinatorics/Quiver/Prefunctor.lean,Mathlib/Combinatorics/Quiver/Push.lean,Mathlib/Combinatorics/Quiver/Symmetric.lean,Mathlib/Geometry/RingedSpace/LocallyRingedSpace.lean,Mathlib/Geometry/RingedSpace/SheafedSpace.lean 40 4 ['Brian-Nugent', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] nobody
31-6460
1 month ago
31-6461
31 days ago
15-50941
15 days
0
38190 AntoineChambert-Loir
author:AntoineChambert-Loir
refactor(Topology/Sion): use a dense and continuous completion to generalize the statements Use the existence of a dense and continuous completion to simplify the final part of the proof of Sion's theorem. As a matter of fact, only an early lemma needs to be modified and the rest holds in weaker assumptions, leading to a serious simplification. Since the PR proving Sion is very recent and unused, we didn't add deprecation lemmas. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #37939 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 51/125 Mathlib/Order/Completion.lean,Mathlib/Topology/Sion.lean 2 15 ['AntoineChambert-Loir', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] nobody
29-54104
29 days ago
114-79363
114 days ago
38-85091
38 days
0
44540 vincentqb
author:vincentqb
feat(Algebra/Polynomial): monotonicity of polynomial evaluation This PR adds `Polynomial.eval_le_eval`, tagged `@[gcongr]`, for preordered semirings whose addition and multiplication are monotone. It applies in particular to `ℕ`, `ℝ≥0`, and `ℝ≥0∞`. --- This supplies the polynomial monotonicity lemma used privately in #44441. The code, the testing, and this description were prepared with the help of an AI coding assistant. LLM-generated new-contributor t-algebra merge-conflict
label:t-algebra$
22/0 Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Eval/Defs.lean 2 12 ['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vincentqb'] nobody
23-83787
23 days ago
23-83788
23 days ago
7-85935
7 days
0
43250 WenrongZou
author:WenrongZou
chore(Valuation/Integers): rename `Valuation.Integers` to `Valuation.IsIntegers` I think [`Valuation.Integers`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Valuation/Integers.html#Valuation.Integers) is the characteristic predicate. If this is not what we want, I am happy to add a characteristic predicate in this file. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict 193/61 Mathlib/NumberTheory/Padics/Complex.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/DiscreteValuationRing/Basic.lean,Mathlib/RingTheory/Perfection.lean,Mathlib/RingTheory/Valuation/Archimedean.lean,Mathlib/RingTheory/Valuation/Discrete/Basic.lean,Mathlib/RingTheory/Valuation/Discrete/IsDiscreteValuationRing.lean,Mathlib/RingTheory/Valuation/Integers.lean,Mathlib/RingTheory/Valuation/Integral.lean,Mathlib/RingTheory/Valuation/ValuationRing.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/Topology/Algebra/Valued/LocallyCompact.lean 12 20 ['WenrongZou', 'b-mehta', 'github-actions', 'jcommelin', 'mathlib-bors', 'mathlib-merge-conflicts', 'riccardobrasca'] nobody
22-84002
22 days ago
22-84003
22 days ago
33-40704
33 days
0
44535 vincentqb
author:vincentqb
feat(RingTheory/SimpleModule): semisimplicity along semilinear maps This PR proves that semisimplicity passes to the domain of an injective semilinear map and to the codomain of a surjective one, assuming `RingHomSurjective σ`. The scalar-map hypothesis corrects the two `proof_wanted` statements. For example, the injective map `ℤ → ℚ` would otherwise imply that `ℤ` is semisimple as a `ℤ`-module. --- The code, the testing, and this description were prepared with the help of an AI coding assistant. LLM-generated new-contributor file-removed t-ring-theory merge-conflict 31/30 Mathlib/LinearAlgebra/Isomorphisms.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/RingTheory/SimpleModule/Basic.lean,Wanted.lean,Wanted/RingTheory/SimpleModule/Basic.lean 5 10 ['github-actions', 'mathlib-merge-conflicts', 'tb65536', 'vincentqb'] nobody
22-83300
22 days ago
22-83301
22 days ago
10-3144
10 days
0
33466 Shreyas4991
author:Shreyas4991
refactor(Combinatorics/Digraph): add vertex sets --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics large-import merge-conflict 208/58 Mathlib/Combinatorics/Digraph/Basic.lean,Mathlib/Combinatorics/Digraph/Orientation.lean 2 225 ['IvanRenison', 'Shreyas4991', 'SnirBroshi', 'YaelDillies', 'copilot-pull-request-reviewer', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'vihdzp', 'vlad902'] SnirBroshi
assignee:SnirBroshi
22-48939
22 days ago
31-18906
31 days ago
68-21179
68 days
0
43692 j-loreaux
author:j-loreaux
feat: a syntax linter for the `@[congr]` attribute The documentation for the `@[congr]` attribute states: ``` A `simp` congruence lemma should prove the equality of two applications of the same function from the equality of the individual arguments. They are used by `simp` to visit subexpressions of an application where the default congruence algorithm fails. This is particularly important for functions where some parameters depend on previous parameters. Congruence lemmas should have an equality for every parameter, possibly bounded by foralls, with the right hand side being an application of a parameter on the right-hand side. When applying congruence theorems, `simp` will first infer parameters from the right-hand side, then try to simplify each left-hand side of the parameter equalities and finally infer the right-hand side parameters from the result. ``` However, no check is performed to verify that all the arguments to the function vary. This PR adds a syntax linter to check this and turns it on by default across Mathlib. We explicitly silence the linter where it currently triggers. This linter addresses a real problem, as I was bitten by the lack of this check in #43028 and fixed in #43689. --- AI disclosure: this was generated by Claude (Opus 5) with my prompting. I rewrote some bits here and there to something I found more suitable, especially in the documentation portions. I understand all the meta code written herein, but I'm not sure if it follows best practices everywhere or not. After some initial review, I had some better ideas of what could be changed, and made edits myself, without Claude. <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter LLM-generated large-import merge-conflict 244/0 Mathlib.lean,Mathlib/Data/Finset/Filter.lean,Mathlib/Data/Finset/Fold.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Find.lean,Mathlib/Data/List/Zip.lean,Mathlib/Data/Multiset/Bind.lean,Mathlib/Data/Multiset/Filter.lean,Mathlib/Data/Multiset/Find.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Set/NAry.lean,Mathlib/Data/Sym/Basic.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/Geometry/Convex/ConvexSpace/Defs.lean,Mathlib/Init.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/CongrFixedArgs.lean,MathlibTest/Linter/CongrFixedArgs.lean 19 28 ['JovanGerb', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-merge-conflicts'] nobody
20-75207
20 days ago
20-75208
20 days ago
35-28250
35 days
0
43566 kim-em
author:kim-em
refactor(CategoryTheory): insert missing functor associators and unitors This PR inserts the functor associators and unitors that Mathlib currently omits, or applies in the wrong direction, when it identifies `(F ⋙ G) ⋙ H` with `F ⋙ G ⋙ H` or `𝟭 C ⋙ F` with `F` by unfolding `Functor.comp` and `Functor.id`. None of these changes are *necessary*, but all reduce some defeq abuse that hopefully will make life easier in future. It is extracted from Paul Reichert's experiment making `Functor.comp` and `Functor.id` `instance_reducible` with a semireducible `map` field (https://github.com/leanprover-community/mathlib4/compare/master...leanprover-community:mathlib4-nightly-testing:datokrat/functorcomp, discussed at https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/backward.2EisDefEq.2ErespectTransparency), keeping only the bracketing and unit fixes so that future experiments of this kind have less to repair. The `Functor.comp_map` proof changes from that branch are not included, and the corresponding changes for (pre)sheaves of modules are in a separate PR. The notable API changes are: `limit.pre_pre`, `post_post`, `pre_post` and their duals now relate the two bracketings through `HasLimit.isoOfNatIso (Functor.associator _ _ _)`; `StructuredArrow.final_map₂_id` takes `β : T ⋙ S ⟶ 𝟭 C ⋙ T'`; and `Join.mkNatTrans` and `mkNatIso` carry associators in their (autoparam) compatibility hypothesis. 🤖 Prepared with Claude Code tech debt merge-conflict 254/128 Mathlib/AlgebraicGeometry/ColimitsOver.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Subobject.lean,Mathlib/CategoryTheory/Comma/Final.lean,Mathlib/CategoryTheory/Comma/StructuredArrow/Basic.lean,Mathlib/CategoryTheory/Equivalence.lean,Mathlib/CategoryTheory/Filtered/Final.lean,Mathlib/CategoryTheory/Functor/Derived/Adjunction.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Join/Basic.lean,Mathlib/CategoryTheory/Limits/Constructions/Over/Connected.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/FunctorCategory/Basic.lean,Mathlib/CategoryTheory/Limits/HasLimits.lean,Mathlib/CategoryTheory/Limits/IndYoneda.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Pullbacks.lean,Mathlib/CategoryTheory/Limits/Shapes/Opposites/Pullbacks.lean,Mathlib/CategoryTheory/Limits/VanKampen.lean,Mathlib/CategoryTheory/Limits/Weighted/PreservesLimit.lean,Mathlib/CategoryTheory/Localization/Adjunction.lean,Mathlib/CategoryTheory/Monad/Limits.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean,Mathlib/CategoryTheory/Monoidal/Multifunctor.lean,Mathlib/CategoryTheory/Opposites.lean,Mathlib/CategoryTheory/Shift/Induced.lean,Mathlib/CategoryTheory/Whiskering.lean 25 16 ['github-actions', 'kim-em', 'leanprover-radar', 'mathlib-merge-conflicts', 'robin-carlier'] nobody
20-36592
20 days ago
20-59380
20 days ago
30-62327
30 days
0
42336 kim-em
author:kim-em
feat(Tactic): add sum-of-squares tactic This PR adds the `leanprover/sos` tactic to Mathlib. See `MathlibTest/Tactic/SOS/Showcase.lean` for example applications. --- ## Review order The history is deliberately six buildable commits, in this order: 1. `feat(Cache): fetch prebuilt native dependencies` — the Lake/cache boundary, tests, workflow hook, security documentation, and stable engine pin. 2. `feat(Tactic/SOS): add exact certificate verifier` — the small proof-facing polynomial and certificate layer. 3. `feat(Tactic/SOS): add sum-of-squares tactic` — reification, lifting, tactic elaboration, and public imports. 4. `test(Tactic/SOS): cover published examples and trust boundary` — the announcement showcase, Harrison examples, Blekherman–Bodirsky–Raghavendra follow-up examples, division/modulus coverage, issue #50, and axiom audit. 5. `chore(Tactic/SOS): use Lean 4.34 native releases` — the final SOS/CSDP release pins and simplified provider-release fetch. 6. `refactor(Tactic/SOS): share certificate quotation` — moves reusable certificate decompilation, quotation, and formatting into SOS v0.2.4, and removes obsolete commentary and repeated end-to-end examples. This layer reduces the Mathlib diff by 405 lines without removing distinct tactic paths or active negative tests. ## Trust and cache boundary CSDP is a search oracle, not part of the logical trusted base. The tactic converts its answer to exact rational data and closes the goal through the checked verifier and Lean kernel. Mathlib's cache command fetches `@CSDP:release` before unpacking the ordinary Lean cache. CSDP v0.1.2 supplies its complete platform build, so a cold checkout retains the normal invariant without compiling CSDP components: ```bash lake exe cache get lake build --no-build ``` The checked-in manifest pins the provider source, and the cache helper executes only its explicit allowlist. CSDP does not use Lake's implicit preferred-release job, so an ordinary offline or sandboxed build can still fall back to its bundled portable sources. The Mathlib requirement points to the immutable, Mathlib-free SOS v0.2.4 release. Its Hex dependencies are likewise pinned to stable releases. ## Required landing order 1. Merge this Mathlib PR while it points to the stable SOS release tag. 2. Update SOS `main` to the staged Mathlib-free engine branch. 3. Make a one-line Mathlib follow-up changing the SOS requirement from the release tag back to `main`. t-meta merge-conflict 4002/2 Cache/IO.lean,Cache/Main.lean,Cache/Native.lean,Cache/README.md,Cache/SECURITY.md,Cache/Test.lean,Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/SOS.lean,Mathlib/Tactic/SOS/Certificate.lean,Mathlib/Tactic/SOS/Lift.lean,Mathlib/Tactic/SOS/Polynomial.lean,Mathlib/Tactic/SOS/Raw.lean,Mathlib/Tactic/SOS/Reify.lean,Mathlib/Tactic/SOS/Tactic.lean,Mathlib/Tactic/SOS/Verifier.lean,MathlibTest/Tactic/SOS/Axioms.lean,MathlibTest/Tactic/SOS/BBR.lean,MathlibTest/Tactic/SOS/DivMod.lean,MathlibTest/Tactic/SOS/Examples.lean,MathlibTest/Tactic/SOS/Harrison.lean,MathlibTest/Tactic/SOS/Issue50.lean,MathlibTest/Tactic/SOS/Showcase.lean,docs/workflows.md,lake-manifest.json,lakefile.lean 26 5 ['JovanGerb', 'github-actions', 'joneugster', 'mathlib-merge-conflicts'] nobody
18-48953
18 days ago
18-48954
18 days ago
41-56064
41 days
0
41443 alreadydone
author:alreadydone
feat(RingTheory/AdjoinRoot): add AdjoinRoot.isFractionRing Co-authored-by: Sriram Chinthalagiri Venkata @sriram3301 Co-authored-by: David Kurniadi Angdinata @Multramate This contribution was created as part of the Heidelberg Lean workshop "Formalising algebraic geometry" in November 2025. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-ring-theory merge-conflict
label:t-algebra$
96/9 Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Algebraic/Integral.lean,Mathlib/RingTheory/IsAdjoinRoot.lean,Mathlib/RingTheory/Localization/Algebra.lean 4 15 ['Multramate', 'alreadydone', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'tb65536'] nobody
13-67621
13 days ago
13-67622
13 days ago
86-62232
86 days
0
44361 JovanGerb
author:JovanGerb
chore(Algebra/Homology/ShortComplex): remove many backward options This PR removes almost all uses of `backward.isDefEq.respectTransparency` from `Algebra/Homology/ShortComplex` by marking definitions `@[implicit_reducible]` appropriately. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> tech debt merge-conflict 115/309 Mathlib/Algebra/Homology/ShortComplex/Ab.lean,Mathlib/Algebra/Homology/ShortComplex/Basic.lean,Mathlib/Algebra/Homology/ShortComplex/Exact.lean,Mathlib/Algebra/Homology/ShortComplex/HomologicalComplex.lean,Mathlib/Algebra/Homology/ShortComplex/Homology.lean,Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean,Mathlib/Algebra/Homology/ShortComplex/Limits.lean,Mathlib/Algebra/Homology/ShortComplex/Preadditive.lean,Mathlib/Algebra/Homology/ShortComplex/PreservesHomology.lean,Mathlib/Algebra/Homology/ShortComplex/RightHomology.lean,Mathlib/Algebra/Homology/ShortComplex/SnakeLemma.lean,Mathlib/CategoryTheory/Abelian/Refinements.lean,Mathlib/CategoryTheory/Limits/Cones.lean,Mathlib/CategoryTheory/Limits/IsLimit.lean,Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean 15 10 ['JovanGerb', 'github-actions', 'grunweg', 'joelriou', 'leanprover-radar', 'mathlib-merge-conflicts', 'robin-carlier'] nobody
13-64594
13 days ago
13-64596
13 days ago
26-17539
26 days
0
43406 luigi-massacci
author:luigi-massacci
ci: add comment with rendered links for PRs with new crossref tags Add a new workflow that computes the list of added cross-reference tags, and renders it as a markdown table with the declaration name (as a clickable link to the code line) side by side with the tag (as a clickable link to the corresponding database entry). This is then be added as a comment to the PR. The possibility to have something like this was discussed before both on Zulip and in the comments of PRs adding tags, as it is currently highly annoying for a reviewer to see exactly what is being referenced to in the database, this should make it significantly easier. To compute the diffs, I am recycling the existing `export_crossref` infrastructure so that nothing has to be elaborated again, which seems very reasonable to me. I am only making one change to it, namely adding the resolved url to the json computed in `export_crossrefs.lean`. This won't break anything in the downstream `export-crossref` repo (that reads the entries it needs off a dict), but allows this workflow to not have to re-elaborate all the tags. Unfortunately some entry urls (e.g. for pi-base) cannot be extracted just from the database name and id, so it's either this or re-elaborating. In order to use it, I'm also adding the currently generated and discarded `crossrefs.json`to the `import-graph`. Looking at the current state, I'm neither the first nor the second to piggy-back off of `import-graph`, and by now we should probably change the name in a follow up PR, if I don't misunderstand something. Note that the new workflow file is mostly identical to the existing `declDiff`, the changes only start at line 153 (out of 214). This is the corresponding PR to mathlib-ci for the script that computes the table: https://github.com/leanprover-community/mathlib-ci/pull/68 I've also made a [PR to the crossref-export](https://github.com/leanprover-community/crossref-exports/pulls) repo adjusting the documentation (README). One thing is I made a documentation choice that can be discussed: I've removed all explicit references to the existing tags from the various script doc-strings and markdown docs, and replaced them with generic phrases. The reason is that every single one was out of date with what is currently in mathlib, and it seems an unnecessary maintenance burden to list the available databases in all those places, especially since none of the scripts actually care (they are not hard-coded). AI use: I've never added anything to CI before so I had Claude help me a bit with the first draft. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [x] depends on: #44817 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI LLM-generated merge-conflict 236/15 .github/workflows/build_template.yml,.github/workflows/crossref-diff.yml,.github/workflows/export_crossrefs.yml,docs/workflows.md,scripts/README.md,scripts/export_crossrefs.lean 6 9 ['SnirBroshi', 'github-actions', 'luigi-massacci', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
12-57452
12 days ago
27-22355
27 days ago
39-59235
39 days
0
42735 FrankieNC
author:FrankieNC
chore(Probability/ProbabilityMassFunction): remove defeq option in Monad Remove the `set_option backward.isDefEq.respectTransparency` false in `Mathlib/Probability/ProbabilityMassFunction/Monad.lean`, on `bindOnSupport_bindOnSupport`. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-measure-probability merge-conflict 10/9 Mathlib/Probability/ProbabilityMassFunction/Monad.lean 1 6 ['FrankieNC', 'JovanGerb', 'github-actions', 'mathlib-merge-conflicts'] JovanGerb
assignee:JovanGerb
12-55349
12 days ago
12-55350
12 days ago
70-46064
70 days
0
44718 vihdzp
author:vihdzp
feat: finite index subgroups of ℤ biject with ℕ+ This will be used to justify the construction of `ZHat` as sequences `Π n : ℕ+, ZMod n`. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> This material is only used for the profinite completion of groups, which is already quite deep in the import chain, so I think this import increase is fine. The increase in tech debt is due to the fact that `ℕ+` does not have its own constructor, and instead reuses that of `Subtype`, which causes type mismatches. The solution, outside of the scope of this PR, would be to create a `PNat.mk` constructor, or to make `ℕ+` an abbrev. - [x] depends on: #44956 - [x] depends on: #44957 large-import increases-technical-debt t-group-theory merge-conflict 94/18 Mathlib/Algebra/Group/Subgroup/ZPowers/Basic.lean,Mathlib/Algebra/Order/Group/Cyclic.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/GroupTheory/FiniteIndexNormalSubgroup.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/OrderOfElement.lean,Mathlib/GroupTheory/ResiduallyFinite.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic/Subgroup.lean,Mathlib/NumberTheory/ModularForms/Cusps.lean,Mathlib/Topology/Algebra/Order/ArchimedeanDiscrete.lean,Mathlib/Topology/Instances/AddCircle/DenseSubgroup.lean 11 9 ['JX-Mo', 'github-actions', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'tb65536', 'vihdzp'] nobody
12-41949
12 days ago
23-25061
23 days ago
6-10504
6 days
0
44031 kim-em
author:kim-em
chore: apply mergeWithGrind suggestions from the weekly linting report This PR applies the `linter.tacticAnalysis.mergeWithGrind` suggestions from the weekly linting report of 2026-09-21 (https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Weekly.20linting.20log/near/625644995): in each flagged proof the tactic preceding a terminal `grind` call is redundant and is removed. In `Combinatorics/SimpleGraph/Acyclic.lean` this also restores the original proof recorded in an adaptation note, which now works again. Three of the 22 suggestions were false positives and are not applied: under `all_goals tac; grind` the linter only tests the first goal, and the other goals still need `tac` (`Combinatorics/SimpleGraph/Extremal/Turan.lean` and two lemmas in `Analysis/SpecialFunctions/Log/Basic.lean`). 🤖 Prepared with Claude Code tech debt LLM-generated merge-conflict 10/46 Mathlib/Algebra/QuadraticAlgebra/Discriminant.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/AlgebraicTopology/SimplexCategory/ToMkOne.lean,Mathlib/AlgebraicTopology/SimplicialObject/ChainHomotopy.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Tutte.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/Multiset/Find.lean,Mathlib/MeasureTheory/VectorMeasure/IntegrationByParts.lean,Mathlib/NumberTheory/FundamentalDiscriminant.lean,Mathlib/NumberTheory/Height/EllipticCurve.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/Topology/Instances/AddCircle/Defs.lean 16 6 ['felixpernegger', 'github-actions', 'grunweg', 'leanprover-radar', 'mathlib-merge-conflicts'] nobody
12-37716
12 days ago
12-37717
12 days ago
36-64934
36 days
0
38534 AlexeyMilovanov
author:AlexeyMilovanov
refactor(Computability): make `PFun` a one-field structure This PR refactors `PFun` from `def PFun α β := α → Part β` to a structure with a `FunLike` instance. [Discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Fix.20for.20fun_prop.20on.20PFun.20.28context.3A.20Computability.20Theory.29) ### Main changes - Redefine `PFun` as a structure with one field, `toFun : α → Part β`. - Add the `FunLike (α →. β) α (Part β)` instance and configure `simps` projections. - Add the projection and application simp lemmas required by the structure wrapper. - Add `fun x ↦. ...` notation for partial-function literals. - Adapt downstream equality proofs to use `PFun.ext` or `DFunLike.ext` where `funext` no longer applies directly. - Remove 33 local `backward.isDefEq.respectTransparency false` workarounds that are no longer needed after the refactor. ### Downstream impact The refactor mainly impacts Computability Theory and Category Theory (`Category/PartialFun.lean`). Since `PFun` is no longer definitionally equal to `α → Part β`, tactics such as `rfl`, `simp`, and `funext` can no longer always see through the old raw-function representation. ### Note on LLM usage The core `PFun` change caused numerous downstream errors. I initially used an LLM to help draft fixes for these files. Afterwards, I spent a significant amount of time manually correcting and modifying all of the generated changes. new-contributor t-computability tech debt LLM-generated merge-conflict 599/544 Mathlib/CategoryTheory/Category/PartialFun.lean,Mathlib/Computability/Ackermann.lean,Mathlib/Computability/Partrec.lean,Mathlib/Computability/PartrecBasis.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/RE.lean,Mathlib/Computability/RecursiveIn.lean,Mathlib/Computability/StateTransition.lean,Mathlib/Computability/TuringDegree.lean,Mathlib/Computability/TuringMachine/Config.lean,Mathlib/Data/Finset/PImage.lean,Mathlib/Data/PFun.lean,Mathlib/NumberTheory/Dioph.lean 13 79 ['AlexeyMilovanov', 'JovanGerb', 'YaelDillies', 'dagurtomas', 'github-actions', 'j-loreaux', 'jcommelin', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts'] nobody
12-13298
12 days ago
47-71224
47 days ago
118-17573
118 days
0
43774 justus-springer
author:justus-springer
refactor(*): use `IsSelfInv` and `IsSelfNeg` Use the recently added `IsSelfInv` and `IsSelfNeg` to do some small refactors. In particular: - In `Combinatorics/Additive/ApproximateSubgroup`, use `IsSelfInv`/`IsSelfNeg` in the definition of approximate subgroups. Proofs get slightly shorter. - In `Geometry/Group/Growth/QuotientInter`, `Topology/Algebra/Group/OpenMapping` and `Topology/Algebra/Group/Pointwise`: Replace hypotheses of the form `A⁻¹ = A` and `∀ x ∈ s, x⁻¹ ∈ s` by `IsSelfInv`. Mainly a cosmetic change. - `Topology/Algebra/OpenSubgroup`: Use `IsSelfNeg` in the definition of `IsTopologicalAddGroup.addNegClosureNhd`. This allows for a 5-line golf. Generative AI was used to search Mathlib for possibilities of using `IsSelfInv`/`IsSelfNeg` and suggest refactors. I reviewed every line and did small tweaks. - [x] depends on: #43773 --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) LLM-generated merge-conflict 139/56 Mathlib.lean,Mathlib/Algebra/Group/Pointwise/Finset/SelfInv.lean,Mathlib/Algebra/Group/Pointwise/Set/SelfInv.lean,Mathlib/Combinatorics/Additive/ApproximateSubgroup.lean,Mathlib/Combinatorics/Additive/SmallTripling.lean,Mathlib/Geometry/Group/Growth/QuotientInter.lean,Mathlib/Topology/Algebra/Group/CompactOpen.lean,Mathlib/Topology/Algebra/Group/OpenMapping.lean,Mathlib/Topology/Algebra/Group/Pointwise.lean,Mathlib/Topology/Algebra/OpenSubgroup.lean 10 7 ['eric-wieser', 'github-actions', 'justus-springer', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
11-4850
11 days ago
11-4851
11 days ago
0-3408
56 minutes
0
45045 ooovi
author:ooovi
chore(Geometry/Convex): creating convex set folder Creates a folder for results about convex sets, and moves appropriate files there. --- I want to define faces of convex sets, and this folder is where they should live. <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> file-removed t-convex-geometry merge-conflict 6/6 Mathlib.lean,Mathlib/Geometry/Convex/ConvexSpace/Module.lean,Mathlib/Geometry/Convex/Set/Basic.lean,Mathlib/Geometry/Convex/Set/Hull.lean,Mathlib/Geometry/Convex/Set/Star.lean 5 4 ['github-actions', 'martinwintermath', 'mathlib-merge-conflicts'] nobody
10-62666
10 days ago
10-62667
10 days ago
9-64069
9 days
1
45145 mathlib-splicebot
author:mathlib-splicebot
chore(NumberTheory/NumberField/Completion/InfinitePlace): fix a zsmul diamond Found by the linter in #38781. Co-authored-by: Jovan Gerbscheid <jovan.gerbscheid@gmail.com> merge-conflict t-number-theory tech debt 4/1 Mathlib/NumberTheory/NumberField/Completion/InfinitePlace.lean 1 5 ['github-actions', 'grunweg', 'mathlib-merge-conflicts', 'smmercuri', 'tb65536'] nobody
9-73185
9 days ago
9-73186
9 days ago
8-83459
8 days
0
43577 javgomzar
author:javgomzar
chore(Order/BooleanAlgebra): Add push tags Add push tags to some lemmas in Mathlib/Order/BooleanAlgebra/Set.lean --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor merge-conflict 19/4 Mathlib/Order/BooleanAlgebra/Set.lean 1 5 ['github-actions', 'mathlib-merge-conflicts'] nobody
9-29388
9 days ago
9-29389
9 days ago
52-39990
52 days
0
45576 felixpernegger
author:felixpernegger
chore: replace _ with - in patterns whenever possible This PR replaces `-` with `_` in `rcases`, `rintro` and `obtain` whenever possible. While `_` gives a hypothesis/parameter an anonymous name, `-` removes it from the context. So in theory, in should be faster for things like `simp_all` and `grind`. About 2/3 rds of all patterns were replaceable, the number of `-` in those patterns rose from 2136 to 5248. I made this PR since I expected gains, but oh well (however in theory one can construct artifical examples where it indeed makes a difference)... (there are small improvments in some files though) Nevertheless, this PR increases readability of the infoview. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> tech debt merge-conflict 2300/2300 Archive/Arithcc.lean,Archive/Imo/Imo2006Q5.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2024Q3.lean,Archive/Imo/Imo2025Q3.lean,Archive/Kuratowski.lean,Archive/Sensitivity.lean,Archive/Wiedijk100Theorems/BallotProblem.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Archive/Wiedijk100Theorems/InverseTriangleSum.lean,Archive/ZagierTwoSquares.lean,Counterexamples/AharoniKorman.lean,Counterexamples/CanonicallyOrderedCommSemiringTwoMul.lean,Counterexamples/CliffordAlgebraNotInjective.lean,Counterexamples/GrothendieckPower.lean,Counterexamples/HomogeneousPrimeNotPrime.lean,Counterexamples/PolynomialIsDomain.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Centralizer.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/Algebra/Subalgebra/Operations.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Algebra/Category/ModuleCat/Differentials/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pullback.lean,Mathlib/Algebra/Category/Ring/FilteredColimitsLocal.lean,Mathlib/Algebra/CharP/Algebra.lean,Mathlib/Algebra/CharP/Basic.lean,Mathlib/Algebra/CharP/Defs.lean,Mathlib/Algebra/CharP/Lemmas.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean,Mathlib/Algebra/ContinuedFractions/Euler.lean,Mathlib/Algebra/FreeMonoid/FreeSemigroup.lean,Mathlib/Algebra/Group/Action/Equidecomp.lean,Mathlib/Algebra/Group/Center.lean,Mathlib/Algebra/Group/Commute/Units.lean,Mathlib/Algebra/Group/ModEq.lean,Mathlib/Algebra/Group/Monoid.lean,Mathlib/Algebra/Group/Nat/Range.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/Algebra/Group/Subgroup/Map.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Group/Subsemigroup/Membership.lean,Mathlib/Algebra/Group/Subsemigroup/Operations.lean,Mathlib/Algebra/Group/UniqueProds/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/ProdHom.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/Homology/BifunctorHomotopy.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/EnoughProjectives.lean,Mathlib/Algebra/Homology/DerivedCategory/Fractions.lean,Mathlib/Algebra/Homology/Embedding/Boundary.lean,Mathlib/Algebra/Homology/Embedding/Connect.lean,Mathlib/Algebra/Homology/Embedding/TruncGEHomology.lean,Mathlib/Algebra/Homology/ExactSequence.lean,Mathlib/Algebra/Homology/Factorizations/CM5a.lean,Mathlib/Algebra/Homology/HomologicalComplex.lean,Mathlib/Algebra/Homology/Homotopy.lean,Mathlib/Algebra/Homology/HomotopyCategory.lean,Mathlib/Algebra/Homology/LeftResolution/Basic.lean,Mathlib/Algebra/Homology/QuasiIso.lean,Mathlib/Algebra/Homology/ShortComplex/Ab.lean,Mathlib/Algebra/Homology/ShortComplex/HomologicalComplex.lean,Mathlib/Algebra/Homology/ShortComplex/Pullback.lean,Mathlib/Algebra/Homology/ShortComplex/Pushout.lean,Mathlib/Algebra/Lie/Basis/Prod.lean,Mathlib/Algebra/Lie/CartanExists.lean,Mathlib/Algebra/Lie/EngelSubalgebra.lean,Mathlib/Algebra/Lie/IdealOperations.lean,Mathlib/Algebra/Lie/InvariantForm.lean,Mathlib/Algebra/Lie/LieTheorem.lean,Mathlib/Algebra/Lie/Semisimple/Basic.lean,Mathlib/Algebra/Lie/Solvable.lean,Mathlib/Algebra/Lie/Subalgebra.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Lie/Weights/Basic.lean,Mathlib/Algebra/Lie/Weights/IsSimple.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/Algebra/Module/LocalizedModule/Away.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/Algebra/Module/LocalizedModule/Int.lean,Mathlib/Algebra/Module/LocalizedModule/Submodule.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Module/Presentation/Basic.lean,Mathlib/Algebra/Module/Presentation/Differentials.lean,Mathlib/Algebra/Module/Submodule/Bilinear.lean,Mathlib/Algebra/Module/Submodule/Map.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/Module/Submodule/Range.lean,Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Ideal.lean,Mathlib/Algebra/MvPolynomial/Basic.lean 1197 4 ['felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] nobody
6-28951
6 days ago
6-28952
6 days ago
0-64557
17 hours
0
35881 astrainfinita
author:astrainfinita
chore: do not use `inf` `sup` in `LinearOrder` lemmas `max` and `sup` have been unified into the same function. It is no longer necessary to create lemmas about `sup` for `LinearOrder`. This PR moves `max` lemmas to an earlier file to ensure that files importing deprecated `sup` lemmas can use them. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #35841 - [ ] depends on: #35880 - [ ] depends on: #42373 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order merge-conflict 71/62 Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Order/Group/PosPart.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/AlgebraicGeometry/OrderOfVanishing.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/ConvergenceRadius.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/Complex/OpenMapping.lean,Mathlib/Analysis/Complex/UpperHalfPlane/ProperAction.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Analysis/Normed/Module/Seminorm/Basic.lean,Mathlib/Data/Finset/Lattice/Fold.lean,Mathlib/Data/Nat/Factorization/LCM.lean,Mathlib/MeasureTheory/Measure/PreVariation.lean,Mathlib/MeasureTheory/Measure/Stieltjes.lean,Mathlib/MeasureTheory/PiSystem.lean,Mathlib/NumberTheory/AbelSummation.lean,Mathlib/NumberTheory/LSeries/PrimesInAP.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean,Mathlib/NumberTheory/Ostrowski.lean,Mathlib/Order/BoundedOrder/Lattice.lean,Mathlib/Order/BourbakiWitt.lean,Mathlib/Order/Filter/ENNReal.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Interval/Set/LinearOrder.lean,Mathlib/Order/Lattice.lean,Mathlib/Probability/Moments/Basic.lean,Mathlib/Probability/Moments/IntegrableExpMul.lean,Mathlib/Probability/Process/LocalProperty.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean,Mathlib/RingTheory/MvPowerSeries/GaussNorm.lean,Mathlib/RingTheory/Polynomial/HilbertPoly.lean,Mathlib/RingTheory/PowerSeries/WeierstrassPreparation.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/Topology/MetricSpace/Algebra.lean,Mathlib/Topology/MetricSpace/BundledFun.lean,Mathlib/Topology/MetricSpace/Infsep.lean,Mathlib/Topology/Semicontinuity/Basic.lean,Mathlib/Topology/Sion.lean 39 6 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
5-50169
5 days ago
5-50170
5 days ago
46-51029
46 days
0
44024 kim-em
author:kim-em
chore: remove backward.privateInPublic in algebra, combinatorics and number theory This PR removes the `backward.privateInPublic` option in 9 files across algebra, combinatorics, number theory, order theory and set theory. In each case a private definition appeared in the statement of a public declaration, so it was already part of the public interface in all but name. The fix is to drop `private` from those definitions, adding docstrings where they were missing. In `Algebra/EuclideanDomain/Basic` the opposite direction is cleaner: the only consumer `xgcdAux_P` becomes private as well, matching the existing setup in `Data/Int/GCD`. In `Combinatorics/SetFamily/FourFunctions` the definition becomes `Finset.collapse` rather than a root-level name. In `Combinatorics/SetFamily/KruskalKatona` the predicate is marked `@[expose]`, since the file's `public section` is not exposed and the `DecidableRel` instance needs to unfold it. Files where a private *lemma* appeared in a public statement are handled by wrapping the use site instead, in #44032. Names are kept as they were (for example `Pell.d`); suggestions for better names are welcome but are not needed for this PR. 🤖 Prepared with Claude Code tech debt merge-conflict 14/107 Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/FreeAlgebra.lean,Mathlib/Combinatorics/SetFamily/FourFunctions.lean,Mathlib/Combinatorics/SetFamily/KruskalKatona.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Increment.lean,Mathlib/GroupTheory/FreeGroup/NielsenSchreier.lean,Mathlib/NumberTheory/PellMatiyasevic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean,Mathlib/SetTheory/Ordinal/Notation.lean 9 4 ['JovanGerb', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] JovanGerb
assignee:JovanGerb
5-6506
5 days ago
5-6507
5 days ago
44-16029
44 days
0
45024 kim-em
author:kim-em
feat(linter): reject commands scoped with in section Commands such as `variable ... in section` do not open the section that their layout suggests: the generated `end` closes the inner section immediately and leaves the generated outer scope open. Named sections fail outright. Prefer opening a section first and putting the command inside it. Add `linter.style.inSection` to the standard linter set for any command prefix ending in `section`, including `omit`, `include`, `variable`, `set_option`, `open`, `attribute`, local notation, and `universe`. The check uses the generic command-level `in` syntax instead of a list of command names. Nested prefixes receive one warning; scoped linter options are respected. The check lives in the existing style-linter module and adds no imports or separate source scan. Fix both existing library uses: `Mathlib/Data/TypeVec.lean` (`variable`) and `Mathlib/CategoryTheory/Limits/Shapes/Pullback/IsPullback/BicartesianSq.lean` (`omit`). Preserve the eight intentional `set_option ... in section` test blocks in two existing test files with local opt-outs. Tests cover all eight command forms above, multiline syntax and comments, section modifiers, nested wrappers, option disabling/re-enabling, valid per-declaration and ordinary section forms, quotations, strings, and elaboration failures. The new test file and both modified test files pass. Both changed library modules compile with the standard linter set and warnings as errors; all 327 compiled declaration-type fingerprints are unchanged. Text-style lint and `git diff --check` pass. This PR targets current `master` independently of #45016 and #45017, and does not decide whether plain `omit` should be restricted. :robot: prepared with Codex maintainer-merge t-linter merge-conflict 274/2 Mathlib/CategoryTheory/Limits/Shapes/Pullback/IsPullback/BicartesianSq.lean,Mathlib/Data/TypeVec.lean,Mathlib/Init.lean,Mathlib/Tactic/Linter/Style.lean,MathlibTest/Linter/DeprecatedSyntax.lean,MathlibTest/Linter/InSection.lean,MathlibTest/Linter/TextBased.lean 7 8 ['adomani', 'github-actions', 'joneugster', 'leanprover-radar', 'mathlib-merge-conflicts'] nobody
5-5481
5 days ago
5-5482
5 days ago
16-2867
16 days
0
44490 staroperator
author:staroperator
feat(Order/Preorder/Chain): add `IsLEChain` and `IsLTChain` abbreviations `IsLEChain` and `IsLTChain` are abbreviations for `IsChain (· ≤ ·)` and `IsChain (· < ·)`. The motivation to add new abbreviations includes: - canonizing `to_dual` translation (currently `IsChain (· ≤ ·)` are translated into `IsChain (· ≥ ·)`, which is equivalent via `IsChain.symm`) - separating properties of `≤`-chain and `<`-chain under different namespaces (they are not equivalent in preorders, the former is strictly weaker, and the latter correspond to linearly ordered subsets) - (maybe) promoting the use of `<`-chain Feel free to discuss the design in [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Order.20dual.20tactic/near/628982679). As a TODO, Zorn's lemmas can be reproved under `<`-chains, which are more general in preorders. This PR does not add `IsMaxLEChain` for `IsMaxChain (· ≤ ·)`, considering they only have 10 usages so far, mainly associated with `Flag`. This PR adds `to_dual` to [`IsCoatomic.of_isChain_bounded`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/ZornAtoms.html#IsCoatomic.of_isChain_bounded). It also changes the signatures of existing [`zorn_ge`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/Zorn.html#zorn_ge) etc. from `IsChain (· ≥ ·)` into `IsChain (· ≤ ·)`. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> t-order merge-conflict 186/128 Counterexamples/AharoniKorman.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/Convex/Cone/Extension.lean,Mathlib/Data/Fin/FlagRange.lean,Mathlib/FieldTheory/Extension.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/LinearAlgebra/Basis/Flag.lean,Mathlib/Order/BourbakiWitt.lean,Mathlib/Order/Extension/Linear.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/OrderIsoNat.lean,Mathlib/Order/Preorder/Chain.lean,Mathlib/Order/Zorn.lean,Mathlib/Order/ZornAtoms.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Basic.lean,Mathlib/RingTheory/Ideal/Oka.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Kaplansky.lean,Mathlib/SetTheory/Cardinal/EventuallyConst.lean,Mathlib/Topology/ShrinkingLemma.lean 22 7 ['github-actions', 'mathlib-merge-conflicts', 'staroperator', 'vihdzp'] nobody
3-64351
3 days ago
3-64352
3 days ago
31-80362
31 days
2
42782 j-loreaux
author:j-loreaux
refactor: update `spectralRadius` material to assume `HasSummableGeomSeries` instead of `CompleteSpace` The elementary results involving the spectral radius only require that geometric series converge, not that the space is complete. This PR updates the lemmas to take this hypothesis instead. At the same time, we also remove `NormOneClass` assumptions from several theorems, and deprecate the corresponding lemmas featuring `‖1‖`. This is because we can pass to `WithLp 1 (Unitization 𝕜 A)` in proofs, which also satisfies `HasSummableGeomSeries` whenever `A` does. Previously, the same technique was not possible with the `CompleteSpace` assumption without additionally assuming that `𝕜` is complete. Finally, we add `HasSummableGeomSeries` instance for closed subrings of a ring with this property. --- - [x] depends on: #42779 - [x] depends on: #44081 - [x] depends on: #44082 - [x] depends on: #44083 - [x] depends on: #44085 - [x] depends on: #44087 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis tech debt merge-conflict 692/558 Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/InnerProductSpace/Rayleigh.lean,Mathlib/Analysis/InnerProductSpace/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/Basic.lean,Mathlib/Analysis/Normed/Algebra/GelfandFormula.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Operator/NNNorm.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/MeasureTheory/Measure/ResolventTransform.lean 10 18 ['github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'themathqueen'] nobody
3-57739
3 days ago
3-57740
3 days ago
3-3042
3 days
0
45196 eric-wieser
author:eric-wieser
feat(Analysis/Matrix/Norm): norm inequalities This shows that ```math \begin{aligned} \|A\|_{\max} &\le \|A\|_\infty \le |n| \|A\|_{\max}, & \|A\|_\infty &\le \sqrt{|n|} \|A\|_F, \\ \|A\|_{\max} &\le \|A\|_F \le \sqrt{|m||n|} \|A\|_{\max}, & \|A\|_F &\le \sqrt{|m|} \|A\|_\infty. \end{aligned} ``` And some more results for the $$\ell_2$$ norm. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> t-analysis t-algebra merge-conflict
label:t-algebra$
229/2 Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/Matrix/Normed.lean 2 9 ['eric-wieser', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'mcdoll'] nobody
3-51097
3 days ago
3-51099
3 days ago
14-3643
14 days
0
45680 felixpernegger
author:felixpernegger
chore(Analysis): remove unused hypothesis Removes unused hypothesis from #45673 in Analysis. t-analysis LLM-generated merge-conflict 173/108 Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/Complex/JensenFormula.lean,Mathlib/Analysis/ConstantSpeed.lean,Mathlib/Analysis/Convex/Strict/Extreme.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/Meromorphic/Order.lean,Mathlib/Analysis/Normed/Algebra/GelfandFormula.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Module/Convex.lean,Mathlib/Analysis/Normed/Operator/Basic.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromConst.lean,Mathlib/Analysis/PSeries.lean,Mathlib/Analysis/Polynomial/MahlerMeasure.lean,Mathlib/Analysis/SpecialFunctions/ImproperIntegrals.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pochhammer.lean,Mathlib/Analysis/SpecialFunctions/Pow/Complex.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/NthRootLemmas.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/RootsExtrema.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean,Mathlib/NumberTheory/LSeries/SumCoeff.lean 26 4 ['github-actions', 'mathlib-merge-conflicts', 'themathqueen'] nobody
3-13540
3 days ago
3-50305
3 days ago
0-85064
23 hours
1
45594 marcelolynch
author:marcelolynch
ci: retire the legacy Lean nightly pipeline Stop the daily merge into `mathlib4-nightly-testing`. Remove the legacy toolchain updater and the workflow that reports nightly results and creates tags and adaptation PRs. The daily checks test `master` and the newest canonical `bump/v4.*.0` branch. Each run pins the bump commit and uses that commit in its Zulip reports. The `master` checks still run if branch resolution fails. Move `AesopTest` from the fork-only step in `build_template.yml` into a separate daily job. Report success and failure to Zulip. Keep the daily leanchecker, test executable, and nanoda checks. The scheduled checks test the canonical bump branch, which receives reviewed adaptations through `downstream-lean4`. Update the workflow reference and remove obsolete helper examples. Validation: Actionlint and `git diff --check` pass. Branch resolution and the reporting changes passed focused review. Full scheduled builds await deployment. Prepared with Codex to inspect the workflow dependencies and update the scheduled checks. CI merge-conflict 165/1136 .github/actions/get-mathlib-ci/README.md,.github/workflows/build_template.yml,.github/workflows/daily-master-tag.yml,.github/workflows/daily.yml,.github/workflows/decls-diff.yml,.github/workflows/nightly_bump_toolchain.yml,.github/workflows/nightly_detect_failure.yml,.github/workflows/nightly_merge_master.yml,.github/workflows/publish_tools.yml,.github/workflows/zulip_emoji_reconcile.yml,.github/zulip-emoji-config-nightly.json,docs/workflows.md 12 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
3-1187
3 days ago
3-1189
3 days ago
3-74716
3 days
0
45692 felixpernegger
author:felixpernegger
chore(NumberTheory): remove unused hypothesis Removes unused hypothesis from #45673 in NumberTheory. t-number-theory LLM-generated merge-conflict 100/62 Mathlib/Data/Nat/Factorization/Defs.lean,Mathlib/NumberTheory/ArithmeticFunction/Defs.lean,Mathlib/NumberTheory/ArithmeticFunction/Misc.lean,Mathlib/NumberTheory/Chebyshev.lean,Mathlib/NumberTheory/Divisors.lean,Mathlib/NumberTheory/FLT/Polynomial.lean,Mathlib/NumberTheory/Height/NumberField.lean,Mathlib/NumberTheory/LegendreSymbol/Basic.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean,Mathlib/NumberTheory/NumberField/Ideal/Basic.lean,Mathlib/NumberTheory/Ostrowski.lean,Mathlib/NumberTheory/Padics/PadicNorm.lean,Mathlib/NumberTheory/Padics/PadicVal/Basic.lean,Mathlib/NumberTheory/Padics/PadicVal/Defs.lean,Mathlib/NumberTheory/PellMatiyasevic.lean,Mathlib/NumberTheory/PowModTotient.lean,Mathlib/NumberTheory/RamificationInertia/Ramification.lean,Mathlib/NumberTheory/Real/Irrational.lean 19 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
3-1061
3 days ago
3-1062
3 days ago
1-47105
1 day
1
45648 vihdzp
author:vihdzp
chore: dualize `Finset.Ixx` theorems --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> t-order merge-conflict 135/279 Mathlib/Order/Interval/Finset/Basic.lean 1 6 ['JovanGerb', 'github-actions', 'mathlib-merge-conflicts'] nobody
2-78850
2 days ago
4-21270
4 days ago
1-5118
1 day
0
43122 harahu
author:harahu
chore(Tactic): tidy markdown headers This PR ensures files in `Mathlib/Tactic` have one and only one H1 header. In the cases where the file did not already have an obvious H1 header candidate, a new header was authored by Claude Opus 5. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 58/37 Mathlib/Tactic/Algebraize.lean,Mathlib/Tactic/ApplyCongr.lean,Mathlib/Tactic/Bound.lean,Mathlib/Tactic/CategoryTheory/CheckCompositions.lean,Mathlib/Tactic/Conv.lean,Mathlib/Tactic/DSimpPercent.lean,Mathlib/Tactic/DeclarationNames.lean,Mathlib/Tactic/DepRewrite.lean,Mathlib/Tactic/FunProp/Attr.lean,Mathlib/Tactic/FunProp/Decl.lean,Mathlib/Tactic/FunProp/Elab.lean,Mathlib/Tactic/FunProp/FunctionData.lean,Mathlib/Tactic/FunProp/Mor.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/FunProp/ToBatteries.lean,Mathlib/Tactic/FunProp/Types.lean,Mathlib/Tactic/GuardGoalNums.lean,Mathlib/Tactic/GuardHypNums.lean,Mathlib/Tactic/Inhabit.lean,Mathlib/Tactic/Linarith.lean,Mathlib/Tactic/Linter/Style.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/Linter/UpstreamableDecl.lean,Mathlib/Tactic/NormNum/Core.lean,Mathlib/Tactic/NormNum/OfScientific.lean,Mathlib/Tactic/NormNum/Pow.lean,Mathlib/Tactic/NormNum/Result.lean,Mathlib/Tactic/Positivity/Basic.lean,Mathlib/Tactic/Positivity/Core.lean,Mathlib/Tactic/Ring/NamePolyVars.lean,Mathlib/Tactic/Ring/NamePowerVars.lean,Mathlib/Tactic/SplitIfs.lean,Mathlib/Tactic/Tauto.lean,Mathlib/Tactic/ToAdditive.lean,Mathlib/Tactic/ToDual.lean,Mathlib/Tactic/Widget/CommDiag.lean 36 3 ['github-actions', 'mathlib-merge-conflicts'] nobody
2-53444
2 days ago
2-53445
2 days ago
57-83876
57 days
0
37838 Thmoas-Guan
author:Thmoas-Guan
feat(FieldTheory): basic theories about transcendental separable extension The formalization of [Stacks 030W] via [Stacks 030U]. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [x] depends on: #37934 - [x] depends on: #39138 - [x] depends on: #39740 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra large-import merge-conflict
label:t-algebra$
453/16 Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/FieldTheory/TranscendentalSeparable.lean,Mathlib/RingTheory/LocalProperties/Reduced.lean 3 39 ['Multramate', 'Thmoas-Guan', 'github-actions', 'jjdishere', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
2-38922
2 days ago
2-38923
2 days ago
55-40472
55 days
1
42766 harahu
author:harahu
chore(Order): tidy markdown headers This PR: - Ensures all files in `Mathlib/Order` have an H1 header. - Aligns some H2 headers with the examples in the documentation style guide. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order merge-conflict 8/5 Mathlib/Order/Comparable.lean,Mathlib/Order/CompleteSublattice.lean,Mathlib/Order/Completion.lean,Mathlib/Order/Interval/Set/OrdConnectedLinear.lean,Mathlib/Order/Quotient.lean,Mathlib/Order/Types/Arithmetic.lean 6 2 ['Multramate', 'github-actions', 'mathlib-merge-conflicts'] nobody
2-37221
2 days ago
2-37222
2 days ago
84-56591
84 days
0
44294 harahu
author:harahu
doc(RepresentationTheory): add module doc headers for Action and Equiv Add H1 module doc headers for `Mathlib/RepresentationTheory/Action.lean` and `Mathlib/RepresentationTheory/Equiv.lean`. Split out from #42795 to allow the mechanical header cleanups to be merged separately. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
5/1 Mathlib/RepresentationTheory/Action.lean,Mathlib/RepresentationTheory/Equiv.lean 2 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
2-36388
2 days ago
2-36389
2 days ago
39-41528
39 days
0
38964 smmercuri
author:smmercuri
chore(Algebra): consolidate variables and sections for `AlgHom`/`AlgEquiv` This is a preparatory PR for the refactor of `AlgHom` to be semilinear (see #38376). This PR does not add or remove any results and only moves things around to reduce the diff for the future refactor. Namely, we do the following: - Re-order variables in `AlgHom` and `AlgEquiv` so that `CommSemiring R` directly follows `R`. This is needed in the semialgebra definition. - Move `comp` and `trans` API later in respective files so that the extra variables needed for those lemmas can be sectioned better. - Similarly move some `congr` results in `Equiv.lean` to their own sections. - Align variable names in `Equiv.lean` to match `Hom.lean` --- - [x] depends on: #38950 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 374/353 Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/Galois/Notation.lean,Mathlib/FieldTheory/Normal/Basic.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/RingTheory/AlgebraTower.lean,Mathlib/RingTheory/Polynomial/Quotient.lean,Mathlib/RingTheory/Smooth/IntegralClosure.lean,MathlibTest/GalNotation.lean 11 22 ['Multramate', 'SnirBroshi', 'github-actions', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'smmercuri'] nobody
1-76279
1 day ago
1-76280
1 day ago
58-20235
58 days
1
42788 andreylukin
author:andreylukin
feat(Combinatorics/Sperner): define facet incidence data ## Summary Adds a small finite facet-ridge incidence interface intended as a prerequisite for the general Sperner lemma (#25231). - defines finite facets, ridges, and their incidence relation; - assumes every ridge has one or two cofacets; - defines boundary and interior ridges and proves that they are disjoint and partition the ridges. This deliberately does not claim the geometric Sperner theorem. A future development must connect finite triangulations of the standard simplex to this incidence interface and establish the required coface-count property. ## Validation - `lake build Mathlib.Combinatorics.Sperner.Basic` - `lake env lean -DwarningAsError=false Mathlib.lean` Towards #25231 t-combinatorics new-contributor merge-conflict 117/0 Mathlib.lean,Mathlib/Combinatorics/Sperner/Basic.lean 2 3 ['github-actions', 'mathlib-merge-conflicts'] nobody
1-75169
1 day ago
1-75170
1 day ago
84-7627
84 days
0
42888 forxhunter
author:forxhunter
feat(Combinatorics/SimpleGraph): abstract polymer model and the Kotecký–Preiss criterion This PR introduces the abstract polymer model of statistical mechanics and the classical convergence criteria for its cluster expansion, in `Mathlib/Combinatorics/SimpleGraph/ClusterExpansion.lean`. The central object is the partition function over independent subsets of a finite family `Λ` in a graph `G` of incompatibilities, with activities (weights) `w`: `G.indepPartitionFunction w Λ = ∑ S ⊆ Λ independent in G, ∏ v ∈ S, w v` As a graph invariant this is the **multivariate independence polynomial** (the independent-set polynomial of Scott–Sokal) of the subgraph induced on `Λ`, evaluated at `w`; in statistical mechanics it is the partition function of the abstract polymer model / hard-core lattice gas. Mathlib has `SimpleGraph.IsIndepSet` (and `IsNIndepSet`, `indepNum`, …) but — as far as I can find — no independence polynomial in any form; the definition here is built directly on `IsIndepSet` and is stated for weights in an arbitrary `CommSemiring`. Main results: * `SimpleGraph.indepPartitionFunction_deletion`: the deletion identity `Z Λ = Z (Λ.erase v) + w v * Z (Λ \ N[v])` (over any `CommSemiring`), the induction backbone of the whole theory. * `SimpleGraph.DobrushinCriterion` / `SimpleGraph.KoteckyPreissCriterion`: the two classical sufficient convergence conditions as `Prop`-valued structures, and `KoteckyPreissCriterion.toDobrushinCriterion`: KP implies Dobrushin via the explicit damping ansatz `x v = 1 - exp (-(|w v| * exp (a v)))`. * `SimpleGraph.DobrushinCriterion.indepPartitionFunction_pos`: **nonvanishing** — for signed real activities satisfying Dobrushin's condition, `0 < Z Λ` for every finite `Λ`, proved by a strong induction through the deletion identity (the inductive route of Bissacot–Fernández–Procacci, J. Stat. Phys. 139 (2010); no analyticity, no cluster combinatorics), together with one-step and telescoped ratio bounds and the two-sided log-ratio bound `|log (Z Λ) - log (Z Λ')| ≤ ∑ v ∈ Λ \ Λ', -log (1 - x v)`. * The finite **Kotecký–Preiss theorem** (Comm. Math. Phys. 103 (1986)) with the classical constants: `KoteckyPreissCriterion.indepPartitionFunction_pos`, `exp (-∑ a)`- and `exp (∑ a)`-ratio bounds, and `|log (Z Λ) - log (Z Λ')| ≤ ∑ v ∈ Λ \ Λ', |w v| * exp (a v) ≤ ∑ v ∈ Λ \ Λ', a v`. * Also new small API: `SimpleGraph.closedNeighborFinset` (`N[v]` as a `Finset`, which Mathlib currently lacks), `IsIndepSet.not_adj`, `isIndepSet_coe_iff`, and the unconditional nonnegative-activity estimates (`one_le_indepPartitionFunction`, `indepPartitionFunction_le_prod`, monotonicity, domination by absolute activities). Everything is stated for a locally finite incompatibility graph (`[G.LocallyFinite]`) with finite volumes `Λ : Finset α`; the infinite-volume statements are exactly the monotone limits of these and are left for a later PR. **Motivation.** Cluster/polymer expansions are the workhorse of rigorous statistical mechanics and constructive quantum field theory — they are the standard tool behind exponential decay of correlations, uniqueness of Gibbs states, and strong-coupling expansions in lattice gauge theory. To my knowledge no proof assistant has any of this material (checked against Lean/Mathlib, Coq, and Isabelle AFP, 2026-08-17). This PR is the self-contained combinatorial/analytic core, extracted from an ongoing Lean formalization program in mathematical physics (lattice gauge theory, Osterwalder–Seiler strong-coupling regime), where these bounds are the engine for decay-of-correlations results. Via Scott–Sokal (J. Stat. Phys. 118 (2005)), the nonvanishing region of this same polynomial is also the natural home of the Lovász local lemma / Shearer bound, so the object should be useful to combinatorics independently of the physics. References: Kotecký–Preiss 1986; Dobrushin 1996; Fernández–Procacci 2007; Bissacot–Fernández–Procacci 2010; Scott–Sokal 2005 (LLL connection); Fialho arXiv:2001.00652 (proof source for the follow-up FP engine). **Planned follow-up PRs** (material exists and is proved; kept out to keep this PR reviewable): 1. The Fernández–Procacci criterion (replace `exp` in KP by the local partition function on `N[v]`) and its convergence engine, via Fialho's minorant-invariant induction (arXiv:2001.00652) — weaker hypothesis, sharper `(1 + μ)` one-step bound. 2. Certified separations of the criterion hierarchy: Dobrushin strictly weaker than KP, FP strictly weaker than Dobrushin (quantified over *all* ansatzes), and non-necessity of all three. 3. Exponential decay of truncated correlations in the walk-distance of the incompatibility graph, with explicit constants. 4. One-point occupancy (density) bounds under KP. 5. Possibly: the uniform-activity specialization as a univariate `Polynomial`, connecting to the classical independence polynomial `I(G, x)`. Naming is up for discussion: `indepPartitionFunction` was chosen to serve both the graph theory and the statistical mechanics readings; I am happy to rename (e.g. to something closer to "independence polynomial") or to split the `CommSemiring` definition from the real-activity engine if reviewers prefer. **AI disclosure**: this PR was substantially generated with Claude Code (Anthropic) — the proof scripts, the port to current master, and the deduplication against existing Mathlib material. It is opened as a **draft** while the human author reviews the content; it will be marked ready only after that review, per the policy that contributors must understand and be able to defend AI-assisted contributions. The `LLM-generated` label applies and should be added by a maintainer. awaiting-author items (will be resolved before marking ready): - [x] Author review of the full file per the AI-contribution policy. - [x] The `Authors:` line is finalized as `Tianyu (forxhunter)`. - [x] Decide on the final name for `indepPartitionFunction` with reviewers. t-combinatorics new-contributor LLM-generated merge-conflict 723/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/ClusterExpansion.lean 2 4 ['forxhunter', 'github-actions', 'mathlib-merge-conflicts'] nobody
1-75168
1 day ago
1-75168
1 day ago
29-5334
29 days
0
44674 justus-springer
author:justus-springer
doc(*): fix citation key typos Fixes malformed citation keys so they point to the correct reference. I believe all of these are just typos, with possibly one exceptions: `diestel2017` may be pointing to the older edition of the book (we only have the 2025 edition in references.bib). I checked the new edition, and Section 1.9 still covers bonds, so this is still a valid comment. - [x] depends on: #44758 --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> LLM-generated merge-conflict 53/51 Mathlib/Algebra/Homology/HomotopyCategory/KInjective.lean,Mathlib/Algebra/Homology/HomotopyCategory/KProjective.lean,Mathlib/Algebra/Homology/LocalCohomology.lean,Mathlib/AlgebraicGeometry/Noetherian.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/AlgebraicTopology/SimplicialCategory/Basic.lean,Mathlib/Analysis/SpecialFunctions/Bernstein.lean,Mathlib/CategoryTheory/Bicategory/Grothendieck.lean,Mathlib/CategoryTheory/FiberedCategory/Grothendieck.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/PullbackObjObj.lean,Mathlib/Combinatorics/Graph/Connected/EdgeCut.lean,Mathlib/Computability/TuringDegree.lean,Mathlib/GroupTheory/Focal.lean,Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Basic.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/NNReal.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean,Mathlib/MeasureTheory/Measure/PreVariation.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Basic.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Defs.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Galois.lean,Mathlib/Order/PrimeSeparator.lean,Mathlib/Probability/Kernel/Deterministic.lean,Mathlib/RingTheory/DividedPowers/RatAlgebra.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean,Mathlib/RingTheory/LittleWedderburn.lean,Mathlib/Topology/UniformSpace/Ultra/Basic.lean,docs/references.bib 31 14 ['Multramate', 'github-actions', 'grunweg', 'justus-springer', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
1-73707
1 day ago
1-73708
1 day ago
27-16781
27 days
0
45696 felixpernegger
author:felixpernegger
chore(RingTheory): remove unused hypothesis Removes unused hypothesis from #45673 in RingTheory. t-ring-theory LLM-generated merge-conflict 112/83 Mathlib/NumberTheory/Height/NumberField.lean,Mathlib/NumberTheory/NumberField/Completion/FinitePlace.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Basic.lean,Mathlib/NumberTheory/PrimesCongruentOne.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/ChainOfDivisors.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation/Valuation.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/FractionalIdeal/Inverse.lean,Mathlib/RingTheory/Ideal/Basic.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean,Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/RingTheory/MvPowerSeries/Expand.lean,Mathlib/RingTheory/MvPowerSeries/Trunc.lean,Mathlib/RingTheory/OrderOfVanishing/Basic.lean,Mathlib/RingTheory/OrderOfVanishing/Noetherian.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean,Mathlib/RingTheory/PowerSeries/Inverse.lean,Mathlib/RingTheory/PowerSeries/Schroder.lean,Mathlib/RingTheory/UniqueFactorizationDomain/FactorSet.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Multiplicity.lean,Mathlib/RingTheory/ZMod/UnitsCyclic.lean 27 4 ['github-actions', 'mathlib-merge-conflicts', 'themathqueen', 'vlad902'] nobody
1-73283
1 day ago
1-73284
1 day ago
2-59964
2 days
1
39387 marcelolynch
author:marcelolynch
feat(Tactic/Linter): add superfluousExpose linter This PR adds the `linter.superfluousExpose` linter, the dual of `privateModule`. The linter warns on an `@[expose] public section` where no declaration benefits from the `@[expose]` modifier, and suggests that you remove the modifier. Downstream code typechecks the same after the removal. ## Which declarations benefit from `@[expose]` A section-level `@[expose]` exposes the bodies of the `def` declarations in the section. A declaration benefits from the modifier when it is a `def` with an exposed body (`Environment.hasExposedBody`) and Lean does not expose that body without the modifier. The linter skips generated declarations (`isAutoDecl`). These declarations do not benefit from the modifier: - Declarations without an exposed body: theorems, `opaque` and `partial def`s, private declarations, propositional instances, `@[no_expose]` and `meta` defs, and the parser descriptors of `notation` and `syntax`. - Declarations from an `abbrev` command. Lean exposes the body of an `abbrev` by its keyword, not by its reducibility, so a `@[reducible] def` benefits. - Instances (`isInstanceCore`) from an `instance`, `deriving instance`, `inductive`, `class inductive`, or `structure` command. An `@[instance] def` follows the rules of a `def`. - Structure projections. Lean exposes the bodies in the last three cases in every public section. The linter reads the command kind through `set_option … in` and `open … in` wrappers. A `mutual` block or a macro gets no exemption. Every other exposed `def` benefits from the modifier. Thus the linter is silent when in doubt, and a change to a reported section is safe. ## Implementation The linter is a stateful linter (leanprover/lean4#14357). It tracks the regions where the scope is public and has `expose`. It classifies the constants of each command while the scopes of that command are active. As a result: - Each expose section gets its own verdict. - `scoped` and `local` instances get the correct classification. - The warning points at the section header. The known limitations cause false negatives only, and the module docstring lists them. The main case is a hand-written meta-code def, such as a `def` of type `Simproc`. The linter counts it as an ordinary def. The test files cover positive and negative cases, with one file per case. The first cleanup sweep, #39388, applied an earlier version of these suggestions to 136 files. Zulip thread: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Removing.20unnecessary.20.60.40.5Bexpose.5D.60/with/595180230 t-linter LLM-generated merge-conflict 906/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/SuperfluousExpose.lean,MathlibTest/Linter/SuperfluousExpose.lean,MathlibTest/Linter/SuperfluousExpose/Negative_DerivingDecidableEq.lean,MathlibTest/Linter/SuperfluousExpose/Negative_ExposeOnNonPublicSection.lean,MathlibTest/Linter/SuperfluousExpose/Negative_InstanceAttrDef.lean,MathlibTest/Linter/SuperfluousExpose/Negative_IrreducibleDef.lean,MathlibTest/Linter/SuperfluousExpose/Negative_NoExposeSection.lean,MathlibTest/Linter/SuperfluousExpose/Negative_PlainDef.lean,MathlibTest/Linter/SuperfluousExpose/Negative_ReducibleDef.lean,MathlibTest/Linter/SuperfluousExpose/Negative_ToAdditive.lean,MathlibTest/Linter/SuperfluousExpose/Negative_UnsafeDef.lean,MathlibTest/Linter/SuperfluousExpose/Positive_AbbrevOnly.lean,MathlibTest/Linter/SuperfluousExpose/Positive_ClassOnly.lean,MathlibTest/Linter/SuperfluousExpose/Positive_FileEndClose.lean,MathlibTest/Linter/SuperfluousExpose/Positive_Inductive.lean,MathlibTest/Linter/SuperfluousExpose/Positive_MultiSection.lean,MathlibTest/Linter/SuperfluousExpose/Positive_NestedExposeSection.lean,MathlibTest/Linter/SuperfluousExpose/Positive_NoExposeDef.lean,MathlibTest/Linter/SuperfluousExpose/Positive_Notation.lean,MathlibTest/Linter/SuperfluousExpose/Positive_PartialDef.lean,MathlibTest/Linter/SuperfluousExpose/Positive_ScopedLocalInstance.lean,MathlibTest/Linter/SuperfluousExpose/Positive_Structure.lean,MathlibTest/Linter/SuperfluousExpose/Positive_TheoremOnly.lean 25 7 ['eric-wieser', 'github-actions', 'joneugster', 'marcelolynch', 'mathlib-merge-conflicts', 'ocfnash'] nobody
1-70009
1 day ago
1-70010
1 day ago
87-16066
87 days
0
45691 felixpernegger
author:felixpernegger
chore(MeasureTheory): remove unused hypothesis Removes unused hypothesis from #45673 in MeasureTheory. LLM-generated t-measure-probability merge-conflict 103/75 Mathlib/MeasureTheory/Constructions/ProjectiveFamilyContent.lean,Mathlib/MeasureTheory/Function/EssSup.lean,Mathlib/MeasureTheory/Function/L1Space/HasFiniteIntegral.lean,Mathlib/MeasureTheory/Function/L1Space/Integrable.lean,Mathlib/MeasureTheory/Function/LpSeminorm/LpNorm.lean,Mathlib/MeasureTheory/Group/FundamentalDomain.lean,Mathlib/MeasureTheory/Integral/CircleIntegral.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/DerivIntegrable.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/TrapezoidalRule.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean,Mathlib/MeasureTheory/VectorMeasure/Basic.lean,Mathlib/MeasureTheory/VectorMeasure/Decomposition/Jordan.lean,Mathlib/MeasureTheory/VectorMeasure/Operations.lean,Mathlib/MeasureTheory/VectorMeasure/Order.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Basic.lean 16 9 ['felixpernegger', 'github-actions', 'lua-vr', 'mathlib-merge-conflicts'] nobody
1-57770
1 day ago
1-57771
1 day ago
2-77413
2 days
1
45741 grunweg
author:grunweg
chore: remove trailing newlines in doc-strings Per mathlib's style guide, module doc-strings are not supposed to end in a newline. About 3000 files in mathlib violate this. This also causes spurious diffs in the verso doc-string migration (see #45730). As a by-product, we also remove a few trailing newlines in other doc-strings. They need not be present either, and not removing them would be more work than it's worth. Also, the upcoming auto-formatter will most likely remove those anyway. This PR was generated purely mechanically by replacing the regex `\n\n-/` with `\n-/` within VS Code. --- - [x] depends on: #45755 - [x] depends on: #45756 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> merge-conflict 0/3044 Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Algebra/Hom/Rat.lean,Mathlib/Algebra/Algebra/Spectrum/Pi.lean,Mathlib/Algebra/Algebra/Subalgebra/MulOpposite.lean,Mathlib/Algebra/Algebra/Subalgebra/Rank.lean,Mathlib/Algebra/Algebra/Subalgebra/Tower.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Azumaya/Basic.lean,Mathlib/Algebra/Azumaya/Matrix.lean,Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/BigOperators/Group/Finset/Interval.lean,Mathlib/Algebra/BigOperators/Group/Finset/Pi.lean,Mathlib/Algebra/BigOperators/Group/Finset/Powerset.lean,Mathlib/Algebra/BigOperators/Group/Finset/Sigma.lean,Mathlib/Algebra/Category/BialgCat/Basic.lean,Mathlib/Algebra/Category/BialgCat/Monoidal.lean,Mathlib/Algebra/Category/CoalgCat/Basic.lean,Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean,Mathlib/Algebra/Category/CoalgCat/Monoidal.lean,Mathlib/Algebra/Category/FGModuleCat/Abelian.lean,Mathlib/Algebra/Category/FGModuleCat/Basic.lean,Mathlib/Algebra/Category/FGModuleCat/Colimits.lean,Mathlib/Algebra/Category/FGModuleCat/EssentiallySmall.lean,Mathlib/Algebra/Category/Grp/Colimits.lean,Mathlib/Algebra/Category/Grp/FilteredColimits.lean,Mathlib/Algebra/Category/Grp/FiniteGrp.lean,Mathlib/Algebra/Category/Grp/ForgetCorepresentable.lean,Mathlib/Algebra/Category/Grp/Injective.lean,Mathlib/Algebra/Category/Grp/IsFinite.lean,Mathlib/Algebra/Category/Grp/LargeColimits.lean,Mathlib/Algebra/Category/Grp/Limits.lean,Mathlib/Algebra/Category/HopfAlgCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRingsExact.lean,Mathlib/Algebra/Category/ModuleCat/Differentials/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Differentials/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Baer.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/DimensionShifting.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Finite.lean,Mathlib/Algebra/Category/ModuleCat/Ext/HasExt.lean,Mathlib/Algebra/Category/ModuleCat/ExteriorPower.lean,Mathlib/Algebra/Category/ModuleCat/FilteredColimits.lean,Mathlib/Algebra/Category/ModuleCat/Free.lean,Mathlib/Algebra/Category/ModuleCat/InjectiveDimension.lean,Mathlib/Algebra/Category/ModuleCat/LeftResolution.lean,Mathlib/Algebra/Category/ModuleCat/Localization.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Adjunction.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Abelian.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/ColimitFunctor.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/EpiMono.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Free.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Generator.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Monoidal.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pullback.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pushforward.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/PushforwardZeroMonoidal.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafification.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafify.lean,Mathlib/Algebra/Category/ModuleCat/ProjectiveDimension.lean,Mathlib/Algebra/Category/ModuleCat/Pseudofunctor.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Abelian.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Free.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Generators.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Localization.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/LocallyFree.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackContinuous.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PushforwardContinuous.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean,Mathlib/Algebra/Category/ModuleCat/Stalk.lean,Mathlib/Algebra/Category/ModuleCat/Subobject.lean,Mathlib/Algebra/Category/ModuleCat/Tannaka.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Homology.lean,Mathlib/Algebra/Category/ModuleCat/Ulift.lean,Mathlib/Algebra/Category/MonCat/FilteredColimits.lean,Mathlib/Algebra/Category/MonCat/ForgetCorepresentable.lean,Mathlib/Algebra/Category/MonCat/Limits.lean,Mathlib/Algebra/Category/Ring/Adjunctions.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/Category/Ring/FilteredColimits.lean,Mathlib/Algebra/Category/Ring/FilteredColimitsLocal.lean,Mathlib/Algebra/Category/Ring/FinitePresentation.lean,Mathlib/Algebra/Category/Ring/LinearAlgebra.lean,Mathlib/Algebra/Category/Ring/Topology.lean,Mathlib/Algebra/Category/Ring/Under/Limits.lean,Mathlib/Algebra/Central/Defs.lean,Mathlib/Algebra/CharP/Algebra.lean,Mathlib/Algebra/CharP/IntermediateField.lean,Mathlib/Algebra/CharP/LinearMaps.lean,Mathlib/Algebra/CharP/LocalRing.lean,Mathlib/Algebra/Colimit/Module.lean,Mathlib/Algebra/Colimit/Ring.lean 3000 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
0-76824
21 hours ago
0-76825
21 hours ago
1-45770
1 day
0
43804 JovanGerb
author:JovanGerb
feat(Algebra/Homology/ShortComplex/Basic): use `to_dual` Use `to_dual` for `ShortComplex`. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [x] depends on: #43750 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-algebra merge-conflict
label:t-algebra$
46/37 Mathlib/Algebra/Homology/ShortComplex/Basic.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Zero.lean 2 8 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
0-39416
10 hours ago
0-39417
10 hours ago
28-68189
28 days
1

Stale new contributor PRs

Number Author Title Description Labels +/- Modified files (first 100) 📝 💬 All users who commented or reviewed Assignee(s) Updated Last status change total time in review blocks
28502 gilesgshaw
author:gilesgshaw
feat(Logic/Basic): avoid unnecessary uses of choice Certain proofs are modified to remove a dependence on the axoim of choice --- - [ ] depends on: #28623 blocked-by-other-PR new-contributor merge-conflict awaiting-author t-logic 83/74 Mathlib/Logic/Basic.lean 1 7 ['Ruben-VandeVelde', 'eric-wieser', 'gilesgshaw', 'github-actions', 'kim-em', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
447-33196
1 year ago
450-18725
450 days ago
0-32456
9 hours
0
27403 MoritzBeroRoos
author:MoritzBeroRoos
fix: replace probably erroneous usage of ⬝ (with old \cdot) by · (with \centerdot) Discussion at [zulip](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/.5Ccdot.20!.3D.20.5Ccenterdot). Currently the abbreviations \cdot and \centerdot resolve to different, with the naked eye nearly undistinguishable symbols (despite the c in cdot surely standing for center..). This pr replaces instances of ⬝ where · was probably meant. All of the replacement is in comments, except for the file bench_summary.lean which is used for priting the github benchmark results. Since this file is about scientific notation of numbers, sure · was meant to be used, not a rectangle. [Related](https://github.com/leanprover-community/mathlib4/pull/27399) --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict new-contributor 195/195 Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/DirectSum/Idempotents.lean,Mathlib/Algebra/Lie/Derivation/Basic.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Fourier/FourierTransformDeriv.lean,Mathlib/Analysis/InnerProductSpace/Dual.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/Normed/Unbundled/InvariantExtension.lean,Mathlib/Analysis/SpecialFunctions/Complex/CircleAddChar.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/Matrix/ConjTranspose.lean,Mathlib/Data/Matrix/Hadamard.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/Data/Matrix/RowCol.lean,Mathlib/Data/Matrix/Vec.lean,Mathlib/FieldTheory/PurelyInseparable/PerfectClosure.lean,Mathlib/Geometry/Manifold/GroupLieAlgebra.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/LinearAlgebra/CrossProduct.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/DotProduct.lean,Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean,Mathlib/LinearAlgebra/Matrix/Orthogonal.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/SchurComplement.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean,Mathlib/LinearAlgebra/Projectivization/Constructions.lean,Mathlib/NumberTheory/NumberField/ProductFormula.lean,Mathlib/NumberTheory/SiegelsLemma.lean,Mathlib/RingTheory/DividedPowers/SubDPIdeal.lean,Mathlib/SetTheory/Ordinal/Veblen.lean,Mathlib/Topology/Algebra/Module/Equiv.lean,Mathlib/Topology/Homeomorph/Lemmas.lean,Mathlib/Topology/Instances/Matrix.lean,scripts/bench_summary.lean 49 5 ['eric-wieser', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant'] nobody
443-34285
1 year ago
466-10207
466 days ago
7-51497
7 days
0
27399 MoritzBeroRoos
author:MoritzBeroRoos
chore: replace every usage of ⬝ᵥ (with old \cdot) by ·ᵥ (with \centerdot) Discussion at [zulip](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/.5Ccdot.20!.3D.20.5Ccenterdot). Currently the abbreviations `\cdot` and `\centerdot` resolve to different, with the naked eye nearly undistinguishable symbols (despite the c in cdot surely standing for `center`..): - `\cdot` gives ⬝ [U+2B1D](https://www.compart.com/en/unicode/U+2B1D) "Black Very Small Square" - `\centerdot` gives · [U+00B7](https://www.compart.com/en/unicode/U+00B7) "Middle Dot" Mathlib mostly uses the `\centerdot` variant, except for the dotProduct notation and some probably unsuspecting people wanting \centerdot but getting \cdot in their comments and 6 uses of a notation using the raw `\cdot` without any subscript at `Mathlib\Topology\Homotopy\Product.lean`. This PR replaces the dot product `⬝ᵥ` with its `\centerdot` counterpart `·ᵥ`. The related PR [here](https://github.com/leanprover/vscode-lean4/pull/639) can then overwrite the `\cdot` abbreviation, to produce the same symbol as the `centerdot` abbreviation does. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict new-contributor 133/133 Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/Matrix/ConjTranspose.lean,Mathlib/Data/Matrix/Hadamard.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/Data/Matrix/RowCol.lean,Mathlib/Data/Matrix/Vec.lean,Mathlib/LinearAlgebra/CrossProduct.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/DotProduct.lean,Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean,Mathlib/LinearAlgebra/Matrix/Orthogonal.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/SchurComplement.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean,Mathlib/LinearAlgebra/Projectivization/Constructions.lean,Mathlib/Topology/Instances/Matrix.lean 25 6 ['MoritzBeroRoos', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] nobody
442-82517
1 year ago
466-10208
466 days ago
7-53541
7 days
0
27479 iu-isgood
author:iu-isgood
feat: Abel's Binomial Theorem We have formalized Abel's Binomial Theorem as part of an REU project. There are a few remaining sorrys, but we will finish them soon. I will edit this PR message later according to community rules. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-author t-data new-contributor 326/0 Mathlib/Data/Nat/Choose/AbelBinomial.lean 1 28 ['ElifUskuplu', 'FrankieNC', 'github-actions', 'iu-isgood'] nobody
442-82278
1 year ago
unknown
unknown
0
28623 gilesgshaw
author:gilesgshaw
feat(Logic/Basic): minor additions and simplification of proofs Add new theorems and simplify proofs. Specifically, we add the family of related theorems `apply_dite_iff_exists`, `apply_dite_iff_forall`, `apply_ite_iff_and` and `apply_ite_iff_or`. For each other 'family' of theorems in the file that is analogous to the above, we do the following - Simplify proofs where possible, e.g. by appealing to the new theorems - Complete the family, if any of the corresponding four are missing - Rename to ensure consistency with the above pattern --- merge-conflict t-logic new-contributor 83/55 Archive/Examples/IfNormalization/Result.lean,Archive/Examples/IfNormalization/WithoutAesop.lean,Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Notation/Indicator.lean,Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/Logic/Basic.lean,Mathlib/MeasureTheory/Measure/WithDensity.lean,Mathlib/SetTheory/Ordinal/Notation.lean 9 12 ['eric-wieser', 'gilesgshaw', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127'] awainverse
assignee:awainverse
426-2148
1 year ago
426-2149
426 days ago
10-49648
10 days
1
29588 Periecle
author:Periecle
feat(Analysis/Complex/Residue): Implement residue theory for complex functions at isolated singularities # Add basic residue theory for complex functions This PR introduces the residue theory implementation in mathlib. ## Main additions - **`HasIsolatedSingularityAt f c`**: Predicate for functions with isolated singularities at point `c` - **`residue f c hf`**: The residue of `f` at isolated singularity `c`, defined via circle integrals - **Radius independence**: `residue_eq_two_pi_I_inv_smul_circleIntegral` - residue equals normalized circle integral for any valid radius - **Holomorphic residues**: `residue_of_holomorphic` - functions holomorphic in a neighborhood have zero residue - **Simple pole formula**: `residue_simple_pole` - for `f(z) = (z-c)⁻¹ * g(z)`, residue equals `g(c)` ## Implementation notes - Builds on existing circle integral infrastructure in `CauchyIntegral.lean` - Uses `Classical.choose` to extract witness radius from isolated singularity condition - Comprehensive documentation with mathematical context and examples - Establishes foundation for residue theorem, argument principle, and other applications ## Examples included - `residue(1/z, 0) = 1` (canonical simple pole) - Radius independence demonstration - Zero residues for holomorphic functions This provides the essential building blocks for complex analysis and first step to formalize residue theory. awaiting-author t-analysis new-contributor 383/0 Mathlib/Analysis/Complex/Residue/Basic.lean 1 17 ['Periecle', 'github-actions', 'hrmacbeth', 'llllvvuu', 'loefflerd'] nobody
411-1348
1 year ago
unknown
unknown
0
26178 ppls-nd-prs
author:ppls-nd-prs
feat(CategoryTheory/Limits): Fubini for products We show that the product of products is a product indexed by the sigma type. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict awaiting-author t-category-theory new-contributor 17/0 Mathlib/CategoryTheory/Limits/Shapes/Products.lean 1 6 ['chrisflav', 'github-actions', 'leanprover-community-bot-assistant', 'ppls-nd-prs', 'robin-carlier'] nobody
406-16392
1 year ago
507-25792
507 days ago
0-45487
12 hours
0
30460 janithamalith
author:janithamalith
feat(Nat): add lemma nat_card_orbit_mul_card_stabilizer_eq_card_group Added a lemma `nat_card_orbit_mul_card_stabilizer_eq_card_group` which is the Nat.card version of MulAction.card_orbit_mul_card_stabilizer_eq_card_group --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-author t-group-theory new-contributor 6/0 Mathlib/GroupTheory/GroupAction/CardCommute.lean 1 17 ['github-actions', 'kckennylau', 'plp127', 'tb65536'] tb65536
assignee:tb65536
385-1693
1 year ago
385-1693
385 days ago
8-4679
8 days
0
30828 DeVilhena-Paulo
author:DeVilhena-Paulo
feat: implementation of `Finmap.merge` The main contribution of this pull request is the implementation of a `merge` function for finite maps (`Finmap`). The construction relies on the definition of a `merge` function for association lists (`AList`). There is also a side (unrelated) contribution on `Mathlib/Data/List/Permutation.lean`: the addition of a theorem about the permutation of a list with a head element (that is, a list of the form `a :: l`). --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 449/3 Mathlib/Data/Finmap.lean,Mathlib/Data/List/AList.lean,Mathlib/Data/List/Permutation.lean,Mathlib/Data/List/Sigma.lean 4 1 ['github-actions'] nobody
381-75057
1 year ago
unknown
unknown
0
28676 sun123zxy
author:sun123zxy
feat(NumberTheory/ArithmeticFunction): wrap `Nat.totient` as an `ArithmeticFunction` This wraps the Euler's totient function `Nat.totient` into a new `ArithmeticFunction` `ϕ`, with some basic identities such as `ϕ * ζ = id` and `μ * id = ϕ.` --- We use the notation `ϕ` to distinguish from `Nat.totient`'s notation `φ`, however this might be controversial. Suggestions are welcome! [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory new-contributor large-import merge-conflict awaiting-author 45/5 Mathlib/NumberTheory/ArithmeticFunction.lean 1 19 ['MichaelStollBayreuth', 'SnirBroshi', 'b-mehta', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'riccardobrasca', 'sun123zxy'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
377-21096
1 year ago
392-82172
392 days ago
47-56312
47 days
0
30158 nicolaviolette
author:nicolaviolette
feat: combinatorics simplegraph basic --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-author t-combinatorics new-contributor 9/4 Mathlib/Combinatorics/SimpleGraph/Basic.lean 1 3 ['b-mehta', 'github-actions'] b-mehta
assignee:b-mehta
370-31877
1 year ago
370-31877
370 days ago
31-68997
31 days
0
26901 5hv5hvnk
author:5hv5hvnk
feat: a simproc version of `compute_degree` Wrap `compute_degree` in a simproc for use by simp. Closes #22219. --- awaiting-CI new-contributor merge-conflict awaiting-author t-meta 198/0 Mathlib.lean,Mathlib/Tactic/Simproc/PolynomialDegree.lean,MathlibTest/polynomial_degree_simproc.lean 3 19 ['5hv5hvnk', 'YaelDillies', 'adomani', 'github-actions', 'mathlib4-merge-conflict-bot'] nobody
367-78545
1 year ago
unknown
unknown
0
25739 literandltx
author:literandltx
feat(NumberTheory/LegendreSymbol): Add sqrt‐of‐residue theorems for p=4k+3 and p=8k+5 Add a new file `QuadraticResidueRoots.lean` under `Mathlib/NumberTheory/LegendreSymbol/` that proves two explicit “square-root of quadratic residue” theorems for primes of the specific form. - **`exists_sqrt_of_residue_mod4_eq3`** for primes `p = 4*k + 3` - **`exists_sqrt_of_residue_mod8_eq5`** for primes `p = 8*k + 5` It also introduces the helper lemmas `euler_criterion_traditional` and `legendreSym.at_two_mod8_eq_5`. Import lines in `Mathlib.lean` and `Mathlib/NumberTheory/LegendreSymbol/Basic.lean` have been updated accordingly. merge-conflict awaiting-author t-number-theory new-contributor 217/0 Mathlib.lean,Mathlib/NumberTheory/LegendreSymbol/Basic.lean,Mathlib/NumberTheory/LegendreSymbol/QuadraticReciprocity.lean,Mathlib/NumberTheory/LegendreSymbol/QuadraticResidueRoots.lean 4 3 ['github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] literandltx
assignee:literandltx
355-25207
11 months ago
unknown
unknown
0
26594 metakunt
author:metakunt
feat(Algebra/Polynomial/ZMod): Add Polynomial.equiv_of_nat_of_polynomial_zmod This adds an explicit bijection between the naturals and $$\mathbb{Z}/n\mathbb{Z}[X]$$ in a canonical way. --- I feel that some API is missing to make the theorem shorter, I have no idea what lemmas to extract though. Also I don't know when to use spaces and when not, so I did it best effort. merge-conflict awaiting-author t-algebra new-contributor
label:t-algebra$
465/0 Mathlib.lean,Mathlib/Algebra/Polynomial/ZMod.lean 2 3 ['Ruben-VandeVelde', 'github-actions', 'mathlib4-merge-conflict-bot'] nobody
355-24847
11 months ago
470-68605
470 days ago
25-4678
25 days
0
26757 fweth
author:fweth
feat(CategoryTheory/Topos): define elementary topos This commit begins the formalization of the notion of an *elementary topos*, following the definition in \[Mac Lane & Moerdijk, *Sheaves in Geometry and Logic* (1992), Ch. IV, Section 1]. It introduces the file `Mathlib/CategoryTheory/Topos/Basic.lean`, which currently includes: * The definition of an elementary topos. * Proof that the power object map is a functor * Theorem about pullbacks of characterstic maps Subobject classifiers, which are used in the definition, have already been defined in `CategoryTheory/Topos/Classifier.lean` Work in progress: further formalization of the section is planned. Questions: * Should the definition of power objects be separated into its own file/module, perhaps under `CategoryTheory/Topos/PowerObject.lean`? * Is the notation `P` / `P_morph` / `P_functor` for the power object functor on objects / morphisms / total acceptable? * Should the comments and docstrings rather use the notation from the book, where `g ∘ f` denotes arrow composition from righ to left, or the Lean variant `f ≫ g`? Klaus Gy klausgy@gmail.com --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict awaiting-author t-category-theory new-contributor 401/66 Mathlib.lean,Mathlib/CategoryTheory/Closed/PowerObjects.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/CommSq.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Equalizer.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Topos/Classifier.lean 9 17 ['fweth', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] joelriou
assignee:joelriou
355-24842
11 months ago
384-77861
384 days ago
61-86220
61 days
0
27155 Pjotr5
author:Pjotr5
feat: Shearer's bound on the independence number of triangle free graphs I added the file IndependenceNumber.lean to the Mathlib.Combinatorics.SimpleGraph.Triangle folder. It contains a proof of a theorem by Shearer on the independence number of triangle-free graphs . I was told this might be useful to add to Mathlib a Zullip thread linked [here](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Convexity.20of.20a.20specific.20function/with/510469526). I tried to comply as much as I could with the Mathlib style guide, but I realise that there is probably still a significant amount of editing to be done. For one thing: there are probably some lemmas and theorems in there that might be better suited in other files, but since this is my first PR I though I would all put it in one file before starting to edit a bunch of files. I was also advised to split up the file into multiple smaller PRs, but since everything is basically serving this one proof I could not really find a natural way to do that. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict awaiting-author t-combinatorics new-contributor 1266/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/IndependenceNumber.lean 2 10 ['Pjotr5', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] nobody
355-24805
11 months ago
unknown
unknown
0
27753 YunkaiZhang233
author:YunkaiZhang233
feat(CategoryTheory): implemented proofs for factorisation categories being equivalent to iterated comma categories in two ways --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> Completed one of the tasks in TODOs, shown and implemented the details for (X/C)/f ≌ Factorisation f ≌ f/(C/Y). This is migrated from my previous PR #22390 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict awaiting-author t-category-theory new-contributor 70/1 Mathlib/CategoryTheory/Category/Factorisation.lean 1 13 ['YunkaiZhang233', 'b-mehta', 'github-actions', 'mathlib4-merge-conflict-bot', 'robin-carlier'] nobody
355-24650
11 months ago
465-82213
465 days ago
0-2875
47 minutes
0
27850 fyqing
author:fyqing
feat: 0-dimensional manifolds are discrete and countable This is the converse direction of the classification of 0-dimensional manifolds. The other direction was shown in #22105. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict awaiting-author t-differential-geometry new-contributor 80/0 Mathlib.lean,Mathlib/Geometry/Manifold/ZeroDim.lean 2 14 ['fyqing', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'tb65536'] grunweg
assignee:grunweg
355-24648
11 months ago
464-56875
464 days ago
0-3675
1 hour
0
28125 nonisomorphiclinearmap
author:nonisomorphiclinearmap
feat(Combinatorics): basic definition of simplicial complexes This PR introduces the basic definition of a finite (abstract) simplicial complex, located in Mathlib/Combinatorics/SimplicialComplex/Basic.lean. --- This is our first contribution to mathlib. This work was done as part of the Fields Institute Summer Undergraduate Program on formalization in topological combinatorics. Eventually, we aim to formalize Lovasz's proof of the Kneser Conjecture and this is a small stepping stone in that direction. Some other commits will shortly depend on this one. We would like to acknowledge the Fields Institute for Research in Mathematical Sciences for their sponsorship. We would also like to thank our supervisors, Professor Chris Kapulkin and Mr. Daniel Carranza, for their guidance and support throughout this project. We would also like to thank our group members Tom Lindquist and Quang Minh Nguyen for our fruitful discussions. merge-conflict t-combinatorics new-contributor 374/0 Mathlib.lean,Mathlib/Combinatorics/SimplicialComplex/Basic.lean,Mathlib/Combinatorics/SimplicialComplex/Category.lean,Mathlib/Combinatorics/SimplicialComplex/FacePoset.lean,Mathlib/Combinatorics/SimplicialComplex/Hom.lean 5 2 ['github-actions', 'mathlib4-merge-conflict-bot'] awainverse
assignee:awainverse
355-24516
11 months ago
355-24517
355 days ago
99-48372
99 days
1
28530 nonisomorphiclinearmap
author:nonisomorphiclinearmap
feat(Combinatorics/SimplicialComplex/Topology): add standard simplices and geometric realisation (colimit + functoriality) Introduce the standard simplex on a finite vertex set and build the geometric realisation |X| of a simplicial complex. Prove that |X| is the colimit of the face diagram δ_X : X.faces ⥤ TopCat, and define the induced map on realisations |φ| : |X| ⟶ |Y| for a simplicial map φ. Show that the abstract map from colimit functoriality agrees with the concrete push-forward of barycentric coordinates. Package these into a functor SimplicialComplexCat ⥤ TopCat. --- This is our first contribution to mathlib. This work was done as part of the Fields Institute Summer Undergraduate Program on formalization in topological combinatorics. Eventually, we aim to formalize Lovasz's proof of the Kneser Conjecture and this lays the groundwork to do this. We would like to acknowledge the Fields Institute for Research in Mathematical Sciences for their sponsorship. We would also like to thank our supervisors, Professor Chris Kapulkin and Mr. Daniel Carranza, for their guidance and support throughout this project. I would also like to thank our group members Sebastian Kumar, Tom Lindquist and Quang Minh Nguyen for our fruitful discussions. - [ ] depends on: #28125 merge-conflict blocked-by-other-PR t-combinatorics new-contributor 1826/0 Mathlib.lean,Mathlib/Combinatorics/SimplicialComplex/Basic.lean,Mathlib/Combinatorics/SimplicialComplex/Category.lean,Mathlib/Combinatorics/SimplicialComplex/FacePoset.lean,Mathlib/Combinatorics/SimplicialComplex/Hom.lean,Mathlib/Combinatorics/SimplicialComplex/Topology/GeomReal/Basic.lean,Mathlib/Combinatorics/SimplicialComplex/Topology/GeomReal/Colimit.lean,Mathlib/Combinatorics/SimplicialComplex/Topology/GeomReal/Diagram.lean,Mathlib/Combinatorics/SimplicialComplex/Topology/GeomReal/Functor.lean,Mathlib/Combinatorics/SimplicialComplex/Topology/GeomReal/Map.lean,Mathlib/Combinatorics/SimplicialComplex/Topology/Simplex.lean,Mathlib/Combinatorics/SimplicialComplex/Topology/SimplexMap.lean 12 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
355-24502
11 months ago
unknown
unknown
0
28871 JaafarTanoukhi
author:JaafarTanoukhi
feat(Combinatorics/Digraph): Tournaments Define orientations and tournaments. Related to #26771. Co-authored-by: Rida Hamadani <mridahamadani@gmail.com> --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-combinatorics new-contributor 62/0 Mathlib.lean,Mathlib/Combinatorics/Digraph/Orientation.lean,Mathlib/Combinatorics/Digraph/Tournament.lean 3 6 ['JaafarTanoukhi', 'Rida-Hamadani', 'SnirBroshi', 'github-actions', 'mathlib4-merge-conflict-bot'] kmill
assignee:kmill
355-24363
11 months ago
355-24364
355 days ago
71-35799
71 days
0
29947 JaafarTanoukhi
author:JaafarTanoukhi
feat(Combinatorics/Digraph): Maps Ported `SimpleGraph/Maps.lean` to `Digraph/Maps.lean` for future PRs related to issue #[26771](https://github.com/leanprover-community/mathlib4/issues/26771) --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-combinatorics new-contributor 476/0 Mathlib.lean,Mathlib/Combinatorics/Digraph/Maps.lean 2 2 ['github-actions', 'mathlib4-merge-conflict-bot'] awainverse
assignee:awainverse
355-23729
11 months ago
355-23730
355 days ago
54-81855
54 days
0
27991 sinianluoye
author:sinianluoye
feat(Rat): add Rat.den_eq_of_add_den_eq_one and its dependent lemmas ```lean4 example {q r : ℚ} (h : (q + r).den = 1) : q.den = r.den := by ``` It is so simple, but I couldn't find it in current mathlib repo. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-author t-data new-contributor 22/0 Mathlib/Data/Rat/Lemmas.lean 1 33 ['github-actions', 'kim-em', 'mathlib-bors', 'pechersky', 'sinianluoye', 'themathqueen'] pechersky
assignee:pechersky
354-83300
11 months ago
386-20494
386 days ago
74-50277
74 days
0
29574 JarodAlper
author:JarodAlper
feat: regular local rings are domains We have added three new files in Mathlib/RingTheory/LocalRing * EmbeddingDimension.lean * LocalRingDimension.lean * RegularLocalRings.lean We have added two lemmas and an instance in Mathlib/RingTheory/LocalRing/RingHom/Basic.lean This work was done by Jarod Alper and Brian Nugent. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-ring-theory new-contributor 910/3 Mathlib.lean,Mathlib/RingTheory/LocalRing/EmbeddingDimension.lean,Mathlib/RingTheory/LocalRing/LocalRingDimension.lean,Mathlib/RingTheory/LocalRing/RegularLocalRings.lean,Mathlib/RingTheory/LocalRing/RingHom/Basic.lean,lake-manifest.json 6 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
354-83168
11 months ago
unknown
unknown
0
28718 imbrem
author:imbrem
feat: class for chosen finite coproducts Added basic `ChosenFiniteCoproducts` class, and started porting some of the lemmas about `ChosenFiniteProducts` suitably translated --- This, combined with #20182 modified to use chosen finite coproducts and premonoidal categories (#21488), should be enough for me to formalize strong Elgot categories, and hence a lot of categorical iteration theory for my PhD thesis. Re-done from #21603 to deal with changes in #24399 and #24390 Eventually, if we really want to harmonize approaches, we could introduce an `AddMonoidalCategory` struct and do the analogous to #24399 and #24390 for additive monoidal structure, but that seems like a massive overcomplication for now. It would allow formalizing fun things like rig categories, though. - [ ] depends on: #30150 blocked-by-other-PR t-category-theory new-contributor merge-conflict awaiting-author 290/0 Mathlib.lean,Mathlib/CategoryTheory/ChosenFiniteCoproducts.lean 2 9 ['YaelDillies', 'github-actions', 'imbrem', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] nobody
354-83080
11 months ago
unknown
unknown
0
32169 saodimao20
author:saodimao20
feat: add convolution_comp_add_right This PR adds a lemma `convolution_comp_translation_right` showing that convolution commutes with translation on the right operand. Specifically, it proves that for an additive commutative group $G$, the convolution of a function $f$ with a translated function $x \mapsto g(a + x)$ is equal to the convolution of $f$ and $g$ evaluated at $x + a$. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor awaiting-author 14/0 Mathlib/Analysis/Convolution.lean 1 3 ['github-actions', 'urkud'] nobody
346-25647
11 months ago
346-25647
346 days ago
0-81373
22 hours
0
30525 ZihuiBai
author:ZihuiBai
feat(Mathlib/Combinatorics/Enumerative/Polya): Add Polya Counting This PR introduces basic definitions and results about colorings under permutation group actions. A coloring is defined as a function X → Y, and the permutation group Equiv.Perm X acts on colorings by precomposition: (g • c) x = c (g⁻¹ • x) This formalizes the natural action of relabeling the elements of X. Main definitions MulAction (Equiv.Perm X) (X → Y): The action of the permutation group on colorings via precomposition. coloringEquiv (c₁ c₂ : X → Y) : Prop: Two colorings are equivalent if they lie in the same orbit under this action, i.e. ∃ f : Equiv.Perm X, f • c₁ = c₂. Main results smul_eq_iff_mem_stabilizer: Characterizes when two group actions on the same coloring are equal, showing that g • c = f • c ↔ f⁻¹ * g ∈ stabilizer c. coloringEquiv_equivalence: Proves that coloringEquiv defines an equivalence relation on X → Y. orbit_size_eq_index: Reformulates the orbit–stabilizer theorem in the context of colorings: |orbit c| = |Perm X| / |stabilizer c| Motivation These results provide foundational infrastructure for studying Burnside’s lemma and Pólya’s enumeration theorem in Mathlib, where the enumeration of distinct colorings up to symmetry plays a central role. t-combinatorics new-contributor awaiting-author merge-conflict 113/0 Mathlib.lean,Mathlib/Combinatorics/Enumerative/Polya.lean 2 8 ['IvanRenison', 'alreadydone', 'github-actions', 'mathlib4-merge-conflict-bot'] awainverse
assignee:awainverse
338-70786
11 months ago
347-27929
347 days ago
39-39956
39 days
1
31113 ZihuiBai
author:ZihuiBai
feat(Mathlib/Combinatorics/Enumerative/Polya.lean): Add additional theorem in `Polya.lean` --- - [ ] depends on: #30525 --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor blocked-by-other-PR merge-conflict 302/0 Mathlib.lean,Mathlib/Combinatorics/Enumerative/Polya.lean 2 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] b-mehta
assignee:b-mehta
338-70662
11 months ago
348-6688
348 days ago
16-74719
16 days
0
31147 daefigueroa
author:daefigueroa
feat(Dynamics): point transitive monoid actions and transitive points We define point transitivity for a monoid action on a topological space and define the set of transitive points. We add some basic lemmas and implications between topological transitivity and point transitivity. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com/ if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [x] depends on: #28001 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-dynamics new-contributor awaiting-author 114/6 Mathlib/Dynamics/Transitive.lean 1 6 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sgouezel'] sgouezel
assignee:sgouezel
336-5097
11 months ago
336-5097
336 days ago
18-34491
18 days
0
31987 saodimao20
author:saodimao20
feat: add monotonicity and relation lemmas for mgf and cgf Add two lemmas about moment-generating and cumulant-generating functions: - `mgf_mono_in_t_of_nonneg`: For nonnegative random variables, the mgf is monotone in the parameter `t` - `cgf_zero_of_mgf_one`: The cgf equals zero iff the mgf equals one These lemmas are useful for studying properties of mgf and cgf in probability theory. Contributed by sequential-intelligence-lab(SIL), University of Virginia --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability new-contributor awaiting-author 21/0 Mathlib/Probability/Moments/Basic.lean 1 5 ['DavidLedvinka', 'github-actions'] RemyDegenne
assignee:RemyDegenne
329-83603
10 months ago
329-83603
329 days ago
21-30654
21 days
0
32938 0xTerencePrime
author:0xTerencePrime
feat(Order/LocallyFinite): prove DenselyOrdered and LocallyFiniteOrder are incompatible ## Summary This PR proves that a nontrivial densely ordered linear order cannot be locally finite. ## Main results * `not_locallyFiniteOrder`: A densely ordered locally finite linear order must be subsingleton. * `not_locallyFiniteOrder_of_nontrivial`: The main theorem - incompatibility of the two properties. Note: This implementation imports `Mathlib.Order.Interval.Set.Infinite` to reuse the existing `Set.Icc_infinite` theorem, ensuring standard library consistency. ## Mathematical content The key insight is that in a densely ordered type, we can always find a new element between any two distinct elements. This means any nontrivial interval contains infinitely many elements. However, `LocallyFiniteOrder` requires intervals to be finite. This contradiction implies that such a type cannot exist (unless it is trivial). ## Motivation This resolves a TODO mentioned in #7987 (Data/Finset/LocallyFinite entry). ## Verification - [x] `lake build Mathlib.Order.LocallyFinite.Basic` passes - [x] `lake exe runLinter Mathlib.Order.LocallyFinite.Basic` passes t-order new-contributor awaiting-author 28/0 Mathlib/Order/Interval/Finset/Basic.lean 1 10 ['0xTerencePrime', 'CoolRmal', 'github-actions', 'jcommelin', 'plp127'] nobody
325-20605
10 months ago
325-20645
325 days ago
2-83075
2 days
0
32698 farruhx
author:farruhx
feat(List): add aesop / simp annotations to selected lemmas for improved automation This PR adds `@[aesop safe]` and `@[simp]` annotations to a set of List lemmas whose proofs are routine and benefit from standardized automation. No statements or definitions are changed; only proof annotations are added. The lemmas updated in this PR are: * `or_exists_of_exists_mem_cons` * `append_subset_of_subset_of_subset` * `map_subset_iff` * `append_eq_has_append` * `append_right_injective` * `append_left_injective` * `reverse_surjective` * `reverse_bijective` * `mem_getLast?_append_of_mem_getLast?` * `mem_dropLast_of_mem_of_ne_getLast` * `idxOf_eq_length_iff` * `idxOf_append_of_mem` * `length_eraseP_add_one` The goal is to make these commonly used lemmas easier for `aesop`-based automation to resolve, while avoiding any interference with simp-normal-form lemmas or canonical rewrite rules. There are no API changes and no new theorems—only improved automation behavior. t-data new-contributor awaiting-author 18/1 Mathlib/Data/List/Basic.lean 1 8 ['artie2000', 'euprunin', 'farruhx', 'github-actions'] pechersky
assignee:pechersky
324-55374
10 months ago
324-55374
324 days ago
7-30937
7 days
0
27817 zhuyizheng
author:zhuyizheng
feat: add IMO2025P1 Add a solution to IMO2025P1, the original problem statement from https://github.com/jsm28/IMOLean --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) IMO awaiting-author new-contributor merge-conflict 1310/0 Archive.lean,Archive/Imo/Imo2025Q1.lean 2 9 ['github-actions', 'kim-em', 'mathlib4-merge-conflict-bot', 'zhuyizheng'] dwrensha
assignee:dwrensha
324-1171
10 months ago
383-52139
383 days ago
54-69322
54 days
0
33218 Blackfeather007
author:Blackfeather007
feat(Algebra): Define the associated graded ring to filtered ring Define the associated graded ring to a filtered ring. --- - [ ] depends on: #33217 migrated from https://github.com/leanprover-community/mathlib4/pull/26858 t-ring-theory new-contributor blocked-by-other-PR 450/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
321-33836
10 months ago
unknown
unknown
5
33219 Blackfeather007
author:Blackfeather007
feat(Algebra): Define associated graded algebra Define the associated graded algebra of a filtered algebra, constructed from a special case of associated graded ring. --- - [ ] depends on: #33218 migrated from #26859 t-ring-theory new-contributor blocked-by-other-PR 563/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
321-33728
10 months ago
unknown
unknown
1
33220 Blackfeather007
author:Blackfeather007
feat(Algebra): Define associated graded module Define the associated graded module to a filtered module. --- - [ ] depends on: #33218 migrated from #26860 t-ring-theory new-contributor blocked-by-other-PR 669/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
321-33644
10 months ago
unknown
unknown
1
33227 Blackfeather007
author:Blackfeather007
feat(Algebra): exact of associated graded exact We proved that a chain complex is exact if its associated graded complex is exact. Co-authored-by: Huanyu Zheng @Yu-Misaka [suzuka@misaka-yu.com](mailto:suzuka@misaka-yu.com) Co-authored-by: Yi Yuan @yuanyi-350 [kysyy1@126.com](mailto:kysyy1@126.com) Co-authored-by: Weichen Jiao @AlbertJ-314 [albertjiao314@gmail.com](mailto:albertjiao314@gmail.com) --- - [ ] depends on: #33226 migrated from #26869 t-ring-theory new-contributor blocked-by-other-PR 728/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/Exactness.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean 4 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
321-31316
10 months ago
321-31317
321 days ago
0-206
3 minutes
0
33226 Blackfeather007
author:Blackfeather007
feat(Algebra): associated graded exact of exact and strict In this file, we define the concept of exhaustive filtrations. We also prove a AssociatedGradedRingHom sequence is exact iff each GradedPieceHom is exact. And when a sequence is strict exact, the corresponding AssociatedGradedRingHom sequence is also exact. Co-authored-by: Huanyu Zheng @Yu-Misaka [suzuka@misaka-yu.com](mailto:suzuka@misaka-yu.com) Co-authored-by: Yi Yuan @yuanyi-350 [kysyy1@126.com](mailto:kysyy1@126.com) Co-authored-by: Weichen Jiao @AlbertJ-314 [albertjiao314@gmail.com](mailto:albertjiao314@gmail.com) --- - [ ] depends on: #33222 migrated from #26868 t-ring-theory new-contributor blocked-by-other-PR 529/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/Exactness.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean 4 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
321-31314
10 months ago
321-31315
321 days ago
0-415
6 minutes
1
33225 Blackfeather007
author:Blackfeather007
feat(Algebra): filtered module hom In this PR we defined the filtered semi-linear map for filtered module and the associated graded module hom. --- - [ ] depends on: #33220 - [ ] depends on: #33223 migrated from #26867 t-ring-theory new-contributor blocked-by-other-PR 1205/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
321-31313
10 months ago
unknown
unknown
0
33224 Blackfeather007
author:Blackfeather007
feat(Algebra): define filtered alghom In this PR, we define the filtered algebra homomorphisms on algebras and prove some basic properties of them. --- - [ ] depends on: #33219 - [ ] depends on: #33223 migrated from #26863 t-ring-theory new-contributor blocked-by-other-PR 1055/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
321-31311
10 months ago
321-31312
321 days ago
0-978
16 minutes
0
33223 Blackfeather007
author:Blackfeather007
feat(Algebra): define filtered ring homomorphism In this PR, we define the filtered ring morphisms on rings and prove some basic properties of them. Co-authored-by: Huanyu Zheng @Yu-Misaka [suzuka@misaka-yu.com](mailto:suzuka@misaka-yu.com) Co-authored-by: Yi Yuan @yuanyi-350 [kysyy1@126.com](mailto:kysyy1@126.com) Co-authored-by: Weichen Jiao @AlbertJ-314 [albertjiao314@gmail.com](mailto:albertjiao314@gmail.com) --- - [ ] depends on: #33218 - [ ] depends on: #33222 migrated from #26862 t-ring-theory new-contributor blocked-by-other-PR 824/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
321-31308
10 months ago
321-31311
321 days ago
0-1162
19 minutes
2
33222 Blackfeather007
author:Blackfeather007
feat(Algebra): define filtered add group hom In this file we define filtered hom and the corresponding associated graded hom for abelian groups. Co-authored-by: Huanyu Zheng @Yu-Misaka [suzuka@misaka-yu.com](mailto:suzuka@misaka-yu.com) Co-authored-by: Yi Yuan @yuanyi-350 [kysyy1@126.com](mailto:kysyy1@126.com) Co-authored-by: Weichen Jiao @AlbertJ-314 [albertjiao314@gmail.com](mailto:albertjiao314@gmail.com) --- - [ ] depends on: #33217 migrated from #26861 new-contributor t-ring-theory blocked-by-other-PR 368/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
321-31307
10 months ago
321-31308
321 days ago
0-1375
22 minutes
5
33299 kingiler
author:kingiler
feat: Add decidable membership for Interval Implemented membership and corresponding decidable instance for `Interval`. Related [#mathlib4 > Proposal: Add decidable membership for Interval](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Proposal.3A.20Add.20decidable.20membership.20for.20Interval/with/565438009). --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-author new-contributor t-order 16/1 Mathlib/Order/Interval/Basic.lean 1 5 ['Vierkantor', 'eric-wieser', 'github-actions', 'kingiler'] Vierkantor
assignee:Vierkantor
304-77814
10 months ago
304-77814
304 days ago
13-40294
13 days
0
29282 Jlh18
author:Jlh18
feat(CategoryTheory): HasColimits instance on Grpd Show that the category of groupoids has all small colimits, as a coreflective subcategory of `Cat`, which has all small colimits. The right adjoint of the forgetful functor is the core functor `CategoryTheory.Core.functor`. - [ ] depends on: #29283 [Core of a category as a functor] --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict blocked-by-other-PR new-contributor t-category-theory 140/4 Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/CategoryTheory/Category/Grpd.lean,Mathlib/CategoryTheory/Core.lean,Mathlib/CategoryTheory/Groupoid/Grpd/Colimit.lean,Mathlib/CategoryTheory/Groupoid/Grpd/Core.lean 6 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
295-12593
9 months ago
unknown
unknown
0
32609 PrParadoxy
author:PrParadoxy
feat(LinearAlgebra/PiTensorProduct): Relation between nested tensor products and tensor products indexed by dependent sums Product tensors in `⨂ j : (Σ i, β i), s j.fst j.snd` can be mapped to product tensors in `⨂ i, ⨂ b : β i, s i b`. If the outer index type is finite, the two types are equivalent. This allows the definition of endomorphisms on PiTensorProducts by specifying them on disjoint subsets of the index set. Such constructions are common e.g. in quantum circuits, quantum cellular automata, and renormalization procedures. --- WIP. This PR contains two "requests for comments". Essentially: * Is a single complex-to-define linear equivalence preferable over several less complex ones, which might however be of limited interest by themselves? * Which trade-offs are appropriate to make things computable? - [ ] depends on: #32608 - [x] depends on: #32600 - [x] depends on: #32598 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor blocked-by-other-PR merge-conflict t-algebra
label:t-algebra$
683/0 Mathlib.lean,Mathlib/Data/Sigma/Basic.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Nested.lean,Mathlib/LinearAlgebra/PiTensorProduct/Set.lean 5 5 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
281-61567
9 months ago
335-62005
335 days ago
0-614
10 minutes
0
30260 imbrem
author:imbrem
feat(CategoryTheory/Monoidal): added CocartesianMonoidalCategory As discussed in #21603 and #28718; this implements chosen finite coproducts on top of `AddMonoidalCategory` as defined in #30150 --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #30150 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict blocked-by-other-PR large-import new-contributor t-category-theory 839/125 Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Cocartesian/Basic.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/Tactic/ToAdditive/GuessName.lean 5 4 ['github-actions', 'imbrem', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
281-13998
9 months ago
unknown
unknown
0
30258 imbrem
author:imbrem
feat(CategoryTheory/Monoidal): to_additive for proofs using `monoidal` Building on #30150, this allows us to use `@[to_additive]` on proofs containing `monoidal`, by tagging the lemmas `monoidal` outputs with `@[to_additive]` as appropriate. Testing on my branch [`additive-monoidal-coherence`](https://github.com/imbrem/mathlib4/tree/additive-monoidal-coherence) shows that this works. It is still future work to have either the `monoidal` tactic or a new `add_monoidal` tactic work for `AddMonoidalCategory` instances directly. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #30150 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict blocked-by-other-PR large-import new-contributor t-category-theory 524/140 Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/MonoidalComp.lean,Mathlib/Tactic/ToAdditive/GuessName.lean 6 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
281-13991
9 months ago
unknown
unknown
0
31102 JOSHCLUNE
author:JOSHCLUNE
feat: require LeanHammer Experimenting with adding LeanHammer as a mathlib dependency --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict new-contributor t-meta 61/4 Mathlib/Tactic/Common.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,MathlibTest/Hammer.lean,lake-manifest.json,lakefile.lean 5 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
281-4473
9 months ago
unknown
unknown
0
33601 nielstron
author:nielstron
feat(Computability/ContextFreeGrammar): Concatenation of CFGs is CFG --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #33599 - [ ] depends on: #33592 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability new-contributor blocked-by-other-PR 941/0 Mathlib/Computability/ContextFreeGrammar.lean 1 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
278-19615
9 months ago
308-3478
308 days ago
0-329
5 minutes
0
34394 Citronhat
author:Citronhat
feat(Algebra/Order/Ring): add constructors for linear ordered rings Add constructors for ordered rings from `mul_nonneg` / `mul_pos` that derive `ZeroLEOneClass` from a linear order. new-contributor t-algebra awaiting-author
label:t-algebra$
31/14 Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/RingTheory/HahnSeries/Lex.lean 2 6 ['Citronhat', 'Vierkantor', 'github-actions', 'leanprover-radar'] Vierkantor
assignee:Vierkantor
276-11977
9 months ago
276-11977
276 days ago
12-18344
12 days
0
33493 michelsol
author:michelsol
feat(RingTheory/Polynomial): An explicit formula for the Chebyshev polynomials of the first kind Adds the following explicit formula on the Chebyshev polynomial of the first kind of order n. ${ T_{n}(x)\ =\ \sum \limits _{k=0}^{\lfloor {\frac {n}{2}}\rfloor } {\binom {n}{2k}} \left(\ X^{2}-1\ \right)^{k}\ X^{n-2k}}$ This explicit formula can be found [here](https://en.wikipedia.org/wiki/Chebyshev_polynomials#Explicit_expressions). There is a proof using complex numbers but it only works if the ring R = ℂ. The proof here is by induction and works in a commutative ring R. Mathlib seems to extend the definition of Chebyshev polynomials for $n \in \mathbb{Z}$ but this would make the formula more cumbersome with `n.natAbs` in place of `n`'s, so I expressed it on `n : ℕ` directly. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor awaiting-author 51/1 Mathlib/RingTheory/Polynomial/Chebyshev.lean 1 8 ['YuvalFilmus', 'erdOne', 'github-actions', 'metakunt', 'michelsol'] chrisflav
assignee:chrisflav
274-48216
9 months ago
274-48216
274 days ago
35-13883
35 days
0
26986 WangYiran01
author:WangYiran01
feat(Partition): add bijection for partitions with max part ≤ r This PR adds a new theorem `partition_max_equals_bound` to `Mathlib.Combinatorics.Enumerative.Partition`. It constructs a bijection between: - The set of partitions of `n` in which `r ∈ π.parts` and all parts are `≤ r`, and - The set of partitions of `n - r` whose largest part is at most `r`. This provides a constructive proof via removing/adding `r` from/to the partition multiset, in line with classical enumerative combinatorics. Contributed by Yiran Wang. awaiting-author t-combinatorics new-contributor merge-conflict 92/0 Mathlib/Combinatorics/Enumerative/Partition/Basic.lean,Mathlib/Data/Multiset/Lattice.lean 2 20 ['WangYiran01', 'github-actions', 'jcommelin', 'kckennylau', 'kim-em', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] b-mehta
assignee:b-mehta
271-83090
8 months ago
305-19558
305 days ago
120-65801
120 days
0
34159 wangying11123
author:wangying11123
feat(Geometry/Euclidean/Similarity): Add Triangle similarity on oangle Add theorems about triangles similarity on oangle t-euclidean-geometry new-contributor awaiting-author 154/1 Mathlib/Geometry/Euclidean/Similarity.lean 1 8 ['LLaurance', 'github-actions', 'jsm28', 'wangying11123'] jsm28
assignee:jsm28
269-7340
8 months ago
269-54569
269 days ago
7-47963
7 days
0
33281 michelsol
author:michelsol
feat(Analysis/SpecialFunctions/Integrals): integral of 1/sqrt(1-x^2) and its integrability. Add the integral of the derivative of arcsin and its integrability. --- - [ ] depends on: #33280 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor merge-conflict t-analysis 59/0 Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean 3 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] nobody
267-18027
8 months ago
318-72252
318 days ago
0-811
13 minutes
0
30667 FrederickPu
author:FrederickPu
feat(‎Mathlib/Algebra/Group/Subgroup/Pointwise): subgroup mul Title: feat: pointwise products for subgroups Description: showed the point-wise product of disjoint subgroups is equivalent to their Cartesian product. Based on https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/useful.20group.20theory.20lemmas/with/546738566. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
28/0 Mathlib/Algebra/Group/Subgroup/Pointwise.lean 1 23 ['FrederickPu', 'eric-wieser', 'github-actions', 'plp127', 'tb65536'] nobody
264-82866
8 months ago
265-1100
265 days ago
1-14123
1 day
0
33793 LTolDe
author:LTolDe
feat(MeasureTheory/Constructions/Polish/Basic): add lemma AnalyticSet.inter_nonempty_of_nowhereMeagre add lemma AnalyticSet.inter_nonempty_of_nowhereMeagre, the main ingredient for the proof of the **Effros' Theorem**, see [#mathlib4 > Effros Theorem](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Effros.20Theorem/with/566543328) introduce definition of a nowhere meagre set --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability new-contributor awaiting-author 37/0 Mathlib/MeasureTheory/Constructions/Polish/Basic.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Topology/GDelta/Basic.lean 3 8 ['MichaelStollBayreuth', 'erdOne', 'github-actions', 'j-loreaux'] kex-y
assignee:kex-y
264-78623
8 months ago
264-78829
264 days ago
39-4185
39 days
0
33276 NicolaBernini
author:NicolaBernini
feat: Rename List.reverse_perm to List.reverse_perm_self and List.reverse_perm' to List.reverse_perm_iff --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor awaiting-author t-data merge-conflict 17/15 Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Data/Finset/Dedup.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Defs.lean,Mathlib/Data/List/Perm/Lattice.lean,Mathlib/Data/List/Permutation.lean,Mathlib/Data/Multiset/Defs.lean,Mathlib/NumberTheory/Divisors.lean 8 5 ['Ruben-VandeVelde', 'github-actions', 'mathlib-merge-conflicts'] kim-em
assignee:kim-em
264-32241
8 months ago
315-10514
315 days ago
3-79472
3 days
0
34674 Citronhat
author:Citronhat
feat(Algebra/Order/Ring): replace ENNReal lemmas with WithTop versions * Add `WithTop` versions of basic multiplicative order lemmas. * Use the new `WithTop` lemmas to replace `ENNReal` proofs and address six TODOs. * Fix a typo in the `pos_of_ne_zero` alias name. new-contributor t-algebra merge-conflict
label:t-algebra$
46/15 Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Data/ENNReal/Operations.lean 3 5 ['Citronhat', 'Ruben-VandeVelde', 'github-actions', 'mathlib-merge-conflicts'] Ruben-VandeVelde
assignee:Ruben-VandeVelde
264-11975
8 months ago
264-11976
264 days ago
16-81273
16 days
0
33746 ster-oc
author:ster-oc
feat(Algebra/Module/ZLattice): align `ZSpan.floor` to `Int.floor` API This PR adds some of the existent lemmas about `Int.floor`, `Int.ceil` and `Int.fract` to the `ZSpan` namespace. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor merge-conflict
label:t-algebra$
353/145 Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Topology/Algebra/Order/Floor.lean 3 8 ['github-actions', 'joelriou', 'mathlib-merge-conflicts', 'ster-oc'] joelriou
assignee:joelriou
259-28873
8 months ago
259-28873
259 days ago
30-19397
30 days
0
35603 2500223210-max
author:2500223210-max
feat(GroupTheory/Frattini): add more theorems Add some contents about frattini subgroup into Mathlib GroupTheory Frattini.lean,including * (convenient lemma)A subgroup contained in all maximal subgroup is contained in the FRattini subgroup * A subgroup (say H) has a proper complement (meaning for some proper subgroup K, K and H generate the whole group)if and only if it is not contained in the Frattini subgroup. * A group is cyclic iff its Frattini factor(the quotient group wrt Frattini subgroup) is cyclic. * The Frattini factor of a finite p-group is elementary abelian(that is,an abelian group G with Gᵖ={1}) * A finite p-group has trivial Frattini subgroup iff the group is elementary abelian. * Burnside theorem of Frattini factor of finite p-group. --- new-contributor t-group-theory large-import awaiting-author 764/1 Mathlib/GroupTheory/Frattini.lean 1 3 ['github-actions', 'tb65536'] nobody
255-903
8 months ago
unknown
unknown
0
33791 PhoenixIra
author:PhoenixIra
feat: Generalization of FixedPointApproximants to CompletePartialOrder --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> This PR provides a generalization of FixedPointApproximants to CompletePartialOrder. Not every theorem can be generalized, as sometimes we require additional conditions (namely `x ≤ f x`) in order to guarantee that the set is directed and thus the supremum is well-defined. This is not necessary in a CompleteLattice. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order merge-conflict 223/100 Mathlib/Order/CompletePartialOrder.lean,Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean 2 21 ['PhoenixIra', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] PhoenixIra and vihdzp
assignee:PhoenixIra assignee:vihdzp
254-65607
8 months ago
254-65607
254 days ago
38-8977
38 days
0
26013 tsuki8
author:tsuki8
feat(Data/Finset/Card,Data/Set/Finite/Basic): TODO needs a better title add `card_bijOn` and `finset_subset_preimage_of_finite_image` Add `card_bijOn`: proves that for a bijection between finsets, their cardinalities are equal Add `finset_subset_preimage_of_finite_image`: constructs a finset subset preserving image cardinality Co-authored-by: Junyu Guo <hagb@hagb.name> --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Junyu Guo @Hagb <hagb@hagb.name> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-author t-data new-contributor 15/0 Mathlib/Data/Finset/Card.lean,Mathlib/Data/Set/Finite/Basic.lean 2 6 ['Ruben-VandeVelde', 'github-actions', 'mathlib-merge-conflicts'] nobody
252-40618
8 months ago
496-20351
496 days ago
13-83428
13 days
0
33592 nielstron
author:nielstron
feat(Computability/ContextFreeGrammar): mapping between two types of nonterminal symbols This PR picks up https://github.com/leanprover-community/mathlib4/pull/15895 and resolves the failing lemma by redefining Good symbols. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> I checked that https://github.com/leanprover-community/mathlib4/pull/13514 builds correctly when based on this build. PR for that is #33599 This is my first contribution please let me know of any changes I should outline. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-author t-computability new-contributor 160/0 Mathlib/Computability/ContextFreeGrammar.lean 1 34 ['YaelDillies', 'github-actions', 'madvorak', 'nielstron'] nobody
247-84280
8 months ago
297-26407
297 days ago
10-67951
10 days
2
35144 daniel-carranza
author:daniel-carranza
feat(CategoryTheory/Enriched): tensor product of enriched categories For a braided monoidal category `V`, defines the tensor product of `V`-categories `C` and `D`, and shows that the type of `V`-functors out of the tensor product `C \times D` is equivalent to the type of "enriched bifunctors" `EnrichedBifunctor V C D`. --- This work originates from infinity-cosmos project, where it is used to formalize the notion of cotensors in an enriched category. There are some additional coherence lemmas in a braided monoidal category which have been added. Currently, line 209 violates the style guideline that terminal simp calls should not be squeezed. When I tried to replace this with a single `simp`, I get an error message: `maximum recursion depth has been reached`. Any suggestions (either with this or anything else) are greatly appreciated - thank you! <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-category-theory infinity-cosmos awaiting-author 333/0 Mathlib.lean,Mathlib/CategoryTheory/Enriched/TensorProductCategory.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean 3 12 ['daniel-carranza', 'emilyriehl', 'github-actions', 'joelriou', 'robin-carlier'] nobody
247-79987
8 months ago
unknown
unknown
1
27226 xcloudyunx
author:xcloudyunx
feat(Combinatorics/SimpleGraph): Add Subgraph.inclusion_edge_apply_coe and inclusion_edgeSet_apply_coe This PR continues the work from #25248. Original PR: https://github.com/leanprover-community/mathlib4/pull/25248 awaiting-author t-combinatorics new-contributor merge-conflict 14/0 Mathlib/Combinatorics/SimpleGraph/Subgraph.lean 1 4 ['b-mehta', 'github-actions', 'mathlib-merge-conflicts', 'xcloudyunx'] b-mehta
assignee:b-mehta
247-71380
8 months ago
454-51526
454 days ago
25-82865
25 days
0
33688 Citronhat
author:Citronhat
feat(PMF): add expectation lemmas for Poisson PMF This PR adds some basic results about the Poisson distribution, its `PMF`, and its expectation. **New lemmas:** * `poissonPMF_apply` — an unfolding lemma for `poissonPMF`. * `poissonPMFReal_mul_eq_succ_mul` — the standard recursion identity for the Poisson mass function. * `poissonPMFReal_hasSum_nmul` — shows that `fun n ↦ poissonPMFReal r n * n` has sum `r`. * `poissonPMF_tsum_nmul` — the corresponding identity at the level of the `PMF`. * `poissonPMF_coe_tsum_nmul` — the same result after coercion to `ℝ`. Both `ℝ`-valued and `ℝ≥0∞`-valued formulations are included so that these results can be used conveniently in both Lebesgue and Bochner integration contexts. new-contributor t-measure-probability awaiting-author merge-conflict 21/0 Mathlib/Probability/Distributions/Poisson.lean 1 11 ['Citronhat', 'DavidLedvinka', 'github-actions', 'mathlib-merge-conflicts', 'urkud'] urkud
assignee:urkud
247-53360
8 months ago
258-68009
258 days ago
47-73664
47 days
0
35684 spitters
author:spitters
feat(CategoryTheory/MarkovCategory): Kleisli PMF is a Markov category Add `Mathlib/CategoryTheory/MarkovCategory/KleisliPMF.lean` showing that `KleisliCat PMF` is a `MarkovCategory`. Uses `Prod` as tensor and `PUnit` as unit; reuses Mathlib's existing `KleisliCat`, `LawfulMonad PMF`, and `MarkovCategory` infrastructure. Builds the full instance stack: MonoidalCategory → BraidedCategory → SymmetricCategory → CopyDiscardCategory → MarkovCategory --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory new-contributor awaiting-author merge-conflict 323/1 Mathlib.lean,Mathlib/CategoryTheory/MarkovCategory/KleisliPMF.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean 3 6 ['dagurtomas', 'github-actions', 'mathlib-merge-conflicts', 'spitters'] nobody
243-31116
7 months ago
255-63361
255 days ago
2-31794
2 days
0
36503 Mrigna01
author:Mrigna01
Add false theorem test file --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor 135/0 Mathlib/FalseBench/FalseTheorems.lean 1 3 ['github-actions'] nobody
242-54398
7 months ago
unknown
unknown
0
33599 nielstron
author:nielstron
feat(Computability/ContextFreeGrammar): closure under union --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> This PR picks up https://github.com/leanprover-community/mathlib4/pull/13514 and resolves the outstanding errors. - [ ] depends on: #33592 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR t-computability new-contributor 498/0 Mathlib/Computability/ContextFreeGrammar.lean 1 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
242-19233
7 months ago
297-28092
297 days ago
10-63563
10 days
1
30872 rudynicolop
author:rudynicolop
feat(Computability/NFA): NFA closure under concatenation This PR proves that regular languages are closed under concatenation via a direct construction on `NFA`s without `εNFA` nor ε-transitions. The main new definitions and results include: - `M1.concat M2`, the concatenation of `NFA`s `M1` and `M2`, a direct construction without ε-transitions. - Theorem `accepts_concat : (M1.concat M2).accepts = M1.accepts * M2.accepts`, showing the correctness of the construction. - Theorem `IsRegular.mul`, showing that regular languages are closed under concatenation. --- - [x] depends on: #31038 <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability new-contributor awaiting-author 104/7 Mathlib/Computability/NFA.lean 1 67 ['YaelDillies', 'ctchou', 'eric-wieser', 'github-actions', 'lambda-fairy', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'rudynicolop'] nobody
239-79918
7 months ago
283-68575
283 days ago
59-48116
59 days
0
36587 yhx-12243
author:yhx-12243
feat(Algebra/GCDMonoid): Distributive lattice structure for Associates in GCDMonoid Add a distributive lattice structure for `Associates α` in `GCDMonoid`. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
61/3 Mathlib.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/GCDMonoid/DistribLattice.lean 3 2 ['github-actions'] nobody
237-85695
7 months ago
unknown
unknown
0
32745 LTolDe
author:LTolDe
feat(Topology/Algebra): add MulActionConst.lean add Topology/Algebra/MulActionConst.lean introduce class `ContinuousSMulConst` for a scalar multiplication that is continuous in the first argument, in analogy to `ContinuousConstSMul` define `MulAction.ball x U` as the set `U • {x}` given `[SMul G X] (x : X) (U : Set G)` The lemmas shown here will be useful to prove the **Effros Theorem**, see [zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Effros.20Theorem/with/558712441). --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-author new-contributor t-topology 117/0 Mathlib.lean,Mathlib/Topology/Algebra/MulActionConst.lean 2 8 ['LTolDe', 'github-actions', 'urkud'] nobody
235-78045
7 months ago
300-64389
300 days ago
16-30636
16 days
0
34028 floor-licker
author:floor-licker
feat(SimpleGraph): add max-flow/min-cut weak duality This PR introduces a basic s–t flow setup for undirected SimpleGraphs and proves the standard weak-duality inequality: for any feasible flow f and any s–t cut S, value f ≤ cutCapacity S. This is a small, self-contained lemma I extracted while working on larger graph-theoretic formalizations, in particular, results that will ultimately rely on a full max-flow/min-cut theorem. The full MFMC equality/existence statement is not included here. This is the weak-duality direction (∀ f S, value f ≤ cutCapacity S). t-combinatorics new-contributor 169/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/MaxFlowMinCut.lean 2 14 ['SnirBroshi', 'floor-licker', 'github-actions', 'mathlib-merge-conflicts'] kmill
assignee:kmill
233-73032
7 months ago
235-50075
235 days ago
60-13439
60 days
0
32918 michelsol
author:michelsol
feat: define `supEdist` and `supDist` Create a new file Topology.MetricSpace.SupDistance and define the supremal distance in (extended) metric spaces. The defined `supEdist` and `supDist` will have similar theory to the already existing `infEdist` and `infDist`. The motivation is to be able to define the radius of a minimal bounding sphere as the infimum of the supDist later. [zulip discussion here](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Formalizing.20Jung's.20theorem.20and.20minimal.20bounding.20spheres) t-topology new-contributor merge-conflict 75/0 Mathlib.lean,Mathlib/Topology/MetricSpace/SupDistance.lean 2 5 ['github-actions', 'mathlib4-merge-conflict-bot', 'michelsol', 'urkud'] nobody
233-1951
7 months ago
307-66911
307 days ago
21-957
21 days
0
33668 Citronhat
author:Citronhat
feat(PMF): add lintegral formulas for PMF This PR introduces two lemmas describing the `lintegral` of a function with respect to the measure induced by a probability mass function: - `PMF.lintegral_eq_tsum` - `PMF.lintegral_eq_sum` These are the `ℝ≥0∞` analogues of the existing Bochner `integral` formulas `integral_eq_tsum` and `integral_eq_sum`. They could be useful for reasoning about expectations and integrability. In addition, the proof of `integral_eq_sum` is simplified by deriving it directly from `integral_eq_tsum` using `tsum_fintype`. t-measure-probability new-contributor awaiting-author merge-conflict 14/5 Mathlib/Probability/ProbabilityMassFunction/Integrals.lean 1 3 ['DavidLedvinka', 'github-actions', 'mathlib-merge-conflicts'] nobody
232-49538
7 months ago
251-14633
251 days ago
55-70824
55 days
0
35805 adrianmartir
author:adrianmartir
feat(NumberTheory/Divisors): Add `infinite_setOf_divisors_iff` This proves that the set of divisors `{ m | m | n }` of a natural number `n` is infinite if and only if `n` is zero. The first proof draft was by @Aristotle-Harmonic. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory new-contributor awaiting-author 10/0 Mathlib/NumberTheory/Divisors.lean 1 6 ['adrianmartir', 'alexjbest', 'github-actions', 'tb65536'] tb65536
assignee:tb65536
228-83683
7 months ago
228-83684
228 days ago
27-10796
27 days
0
31590 SuccessMoses
author:SuccessMoses
chore: tag `commutatorElement_def` with `simp` --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-author t-algebra new-contributor merge-conflict
label:t-algebra$
1/0 Mathlib/Algebra/Group/Commutator.lean 1 3 ['github-actions', 'grunweg', 'mathlib-merge-conflicts'] nobody
228-72352
7 months ago
unknown
unknown
0
35857 AlexeyMilovanov
author:AlexeyMilovanov
feat(Logic.Equiv.BijectiveBase2): add bijective base-2 numeration This PR introduces a formalization of the bijective base-2 numeration system. Unlike standard binary representation, bijective base-2 avoids the "leading zeros" problem, providing a strict mathematical bijection between natural numbers (`ℕ`) and lists of booleans (`List Bool`). **Main additions:** * `Equiv.BijectiveBase2.toBits`: Encodes `ℕ` to `List Bool`. * `Equiv.BijectiveBase2.ofBits`: Decodes `List Bool` to `ℕ`. * `equivBijectiveBase2`: The formal `ℕ ≃ List Bool` equivalence. --- Zulip: [#PR reviews > PR #35857: Bijective Base-2 Numeration](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/PR.20.2335857.3A.20Bijective.20Base-2.20Numeration/with/576336540) Zulip: [#batteries > Upstreaming Nat.Bits](https://leanprover.zulipchat.com/#narrow/channel/348111-batteries/topic/Upstreaming.20Nat.2EBits/with/580736051) *(Note: This replaces my previously closed PR to avoid the terminology clash between "Dyadic" and dyadic rationals. The namespace and definitions have been updated accordingly).* *(Note: Used AI to assist with standardizing proof structures).* t-logic new-contributor LLM-generated blocked-by-batt-PR 95/0 Mathlib.lean,Mathlib/Logic/Equiv/ListNatBijective.lean 2 6 ['AlexeyMilovanov', 'SnirBroshi', 'github-actions', 'joneugster'] nobody
227-11451
7 months ago
227-11501
227 days ago
27-57874
27 days
0
36463 AlexeyMilovanov
author:AlexeyMilovanov
feat(Data.Nat.Bits): add Nat.ofBits and prove bits_injective This PR introduces `Nat.ofBitsList` for `List Bool` and provides the missing proofs that the standard binary representation `Nat.bits` is injective (`Nat.bits_injective`) and possesses a right inverse for normalized lists (`Nat.bits_ofBitsList`). `ofBitsList` is implemented as an `abbrev` using `foldr` (keeping it transparent to tactics like `simp`). It serves as the exact left inverse to `bits`. Furthermore, `bits_ofBitsList` establishes that `bits` and `ofBitsList` form a bijection between `ℕ` and the set of lists with no trailing `false` values. This avoids the name collision with `Nat.ofBits` from `Batteries` and aligns with previous Zulip discussions (see [here](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/PR.20.2335857.3A.20Bijective.20Base-2.20Numeration)) regarding the utility of having a complete list-based API for `Nat.bits` in the library. CC: @linesthatinterlace - Adds `Nat.ofBitsList` (as an `abbrev`) - Adds `Nat.ofBitsList_bits` (left inverse property) - Adds `Nat.bits_injective` - Adds `Nat.ofBitsList_eq_zero_iff` (helper lemma for lists without trailing zeros) - Adds `Nat.bits_ofBitsList` (right inverse property) --- Zulip: [#PR reviews > PR #35857: Bijective Base-2 Numeration](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/PR.20.2335857.3A.20Bijective.20Base-2.20Numeration/with/576336540) Zulip: [#batteries > Upstreaming Nat.Bits](https://leanprover.zulipchat.com/#narrow/channel/348111-batteries/topic/Upstreaming.20Nat.2EBits/with/580736051) t-data new-contributor awaiting-author blocked-by-batt-PR 68/1 Mathlib/Data/Nat/Bits.lean 1 5 ['github-actions', 'joneugster', 'wrenna-robson'] nobody
227-11444
7 months ago
233-79556
233 days ago
9-52446
9 days
0
34419 ster-oc
author:ster-oc
feat(RCLike): add `Continuous.re` and similar This PR adds dot notation for `re`, `im`, `conj` and `ofReal` for `Continuous`, `LipschitzWith` and `Memℓp`. Given `hf : Continuous f` it allows to use `hf.re` to express `Continuous (fun x ↦ (f x).re)`, similarly to the usual `hf.add hg`. I also can add the same features for `Summable` but I am not sure where to place them, suggestions are appreciated! --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor awaiting-author merge-conflict 186/41 Mathlib/Analysis/Normed/Group/Uniform.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/RCLike/Basic.lean 3 15 ['github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'ster-oc'] j-loreaux
assignee:j-loreaux
223-58913
7 months ago
257-72668
257 days ago
8-23775
8 days
0
30142 shalliso
author:shalliso
feat(Topology/Baire): define IsNonMeagre non-meagre sets (also known as "of the second category") are worthy of their own definition and API. This was useful to me for formalizing a result of "automatic continuity", that is, a Baire-measurable homomorphism between Polish groups must be continuous. Simply working with the negation of IsMeagre quickly became cumbersome, and non-meagre sets have an important role in the study of Polish (e.g. locally compact) groups. From https://github.com/shalliso/automatic_continuity --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology new-contributor merge-conflict awaiting-author 83/1 Mathlib/Topology/Baire/NonMeagre.lean,Mathlib/Topology/GDelta/Basic.lean 2 6 ['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] nobody
222-86175
7 months ago
unknown
unknown
0
37695 Morten-Ness
author:Morten-Ness
refactor(GroupTheory/Complement): simplify complement proofs Simplifies the proofs of: - `Subgroup.IsComplement'.symm` - `Subgroup.isComplement_singleton_left` - `Subgroup.isComplement_singleton_right` No API changes. AI assistance: I used Codex/LLM suggestions as a starting point, then manually checked the proofs, and verified the final version locally. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory new-contributor awaiting-author 15/17 Mathlib/GroupTheory/Complement.lean 1 4 ['github-actions', 'tb65536'] tb65536
assignee:tb65536
216-21084
7 months ago
216-21084
216 days ago
0-66893
18 hours
0
37489 michael-novak-math
author:michael-novak-math
feat: add the fundamental theorem of plane curves We add to the PlaneCurves file created in PR #36731 a classical result in the subject of differential geometry of plane curves: the fundamental theorem of plane curves. --------- - [ ] depends on: #36731 new-contributor t-differential-geometry t-analysis blocked-by-other-PR 651/0 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean,Mathlib/Geometry/PlaneCurves.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,docs/references.bib 5 5 ['github-actions', 'mathlib-dependent-issues', 'michael-novak-math'] nobody
216-11664
7 months ago
221-82920
221 days ago
0-11137
3 hours
0
37111 tannerduve
author:tannerduve
feat(Computability): add Nat.PrimrecIn and PrimrecIn - Add `Nat.PrimrecIn`: primitive recursive functions relative to a set of oracles - Add `PrimrecIn`: lifts `Nat.PrimrecIn` to `Primcodable` types A `PrimrecIn` version of `RecursiveIn.iff_nat` (i.e., `PrimrecIn O (f : ℕ → ℕ) ↔ Nat.PrimrecIn O f`) is left as future work as it requires proving `Nat.PrimrecIn O Nat.pred`, which needs additional API for `Nat.PrimrecIn`. --- Split out from #34937 as requested in review. - [x] depends on: #37061 t-computability new-contributor awaiting-author 24/0 Mathlib/Computability/RecursiveIn.lean 1 14 ['Komyyy', 'bryangingechen', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'tannerduve'] nobody
212-65188
6 months ago
213-78047
213 days ago
1-77226
1 day
0
35662 FrankieeW
author:FrankieeW
feat(NumberTheory/Zsqrtd): add Archimedean instance via le_arch This PR follows a suggestion made in #35606 , #35481 - add `Zsqrtd.le_arch_smul` in `Mathlib/NumberTheory/Zsqrtd/Basic.lean` - use it to provide `instance : Archimedean (ℤ√d)` in the `Nonsquare` section - refactor the proof using symmetry to reduce duplication while keeping checks clean --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory new-contributor awaiting-author merge-conflict LLM-generated 46/4 Mathlib/NumberTheory/PellMatiyasevic.lean,Mathlib/NumberTheory/Zsqrtd/Basic.lean 2 13 ['FrankieeW', 'MichaelStollBayreuth', 'euprunin', 'github-actions', 'mathlib-merge-conflicts', 'tb65536'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
209-78779
6 months ago
244-5362
244 days ago
15-46568
15 days
0
33032 ksenono
author:ksenono
feat(Combinatorics/SimpleGraph): Konig’s theorem on bipartite graphs --- <!-- Your PR title will become the first line of the commit message. Three additions: * Combinatorics/SimpleGraph/Konig/Auxillary.lean * Combinatorics/SimpleGraph/Konig/KonigFin.lean * Combinatorics/SimpleGraph/Konig/Konig.lean (all other changes are rebased from the PRs below) - [ ] depends on: #30129 - [ ] depends on: #32552 - [ ] depends on: #32555 - [ ] depends on: #32570 --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor blocked-by-other-PR merge-conflict 832/251 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/Konig/Auxillary.lean,Mathlib/Combinatorics/SimpleGraph/Konig/Konig.lean,Mathlib/Combinatorics/SimpleGraph/Konig/KonigFin.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/VertexCover.lean,Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Basic.lean 12 9 ['SnirBroshi', 'github-actions', 'ksenono', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vlad902'] nobody
209-53341
6 months ago
unknown
unknown
0
33330 michael-novak-math
author:michael-novak-math
feat: add arc-length reparametrization of parametrized curves add new definitions of arc-length reparametrization and its corresponding parameter transformation and a theorem establishing the desired properties. t-analysis new-contributor awaiting-author 308/0 Mathlib.lean,Mathlib/Analysis/Calculus/ArcLengthReparametrization.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,docs/references.bib 4 57 ['SnirBroshi', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'michael-novak-math'] j-loreaux
assignee:j-loreaux
207-8423
6 months ago
305-48464
305 days ago
6-58846
6 days
0
33217 Blackfeather007
author:Blackfeather007
feat(Algebra): define associated graded structure for abelian group In this PR we define the associated graded structure for abelian group when given a filtration and only give some basic lemmas about it. --- migrated from https://github.com/leanprover-community/mathlib4/pull/26857 new-contributor t-ring-theory awaiting-author 144/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean 2 13 ['Blackfeather007', 'chrisflav', 'erdOne', 'eric-wieser', 'github-actions', 'urkud'] erdOne
assignee:erdOne
206-84318
6 months ago
316-63736
316 days ago
4-55780
4 days
9
38139 sidbedi
author:sidbedi
chore(Algebra/MvPolynomial/Variables): golf MvPolynomial.vars_0 to rfl --- The classical qualifier and explicit rewrite chain are unnecessary — the result holds definitionally. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra awaiting-author
label:t-algebra$
1/2 Mathlib/Algebra/MvPolynomial/Variables.lean 1 3 ['github-actions', 'grunweg'] nobody
206-16477
6 months ago
206-16477
206 days ago
0-32811
9 hours
0
38140 sidbedi
author:sidbedi
chore(Data/Analysis/Filter): golf CFilter.ofEquiv_val to rfl --- cases F is unnecessary, the result holds definitionally. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor awaiting-author 1/2 Mathlib/Data/Analysis/Filter.lean 1 3 ['github-actions', 'grunweg'] nobody
206-16433
6 months ago
206-16433
206 days ago
0-33717
9 hours
0
36853 matthunz
author:matthunz
feat(CategoryTheory/Monoidal/Braded/Traced): add `TracedCategory` class Adds a `TracedCategory` class following [A. Joyal and R. Street and D. R. Verity, *Traced monoidal categories*](https://www.cambridge.org/core/journals/mathematical-proceedings-of-the-cambridge-philosophical-society/article/abs/traced-monoidal-categories/2BE85628D269D9FABAB41B6364E117C8#article): ```lean /-- A traced symmetric monoidal category. -/ class TracedCategory (C : Type u) [Category.{v} C] [MonoidalCategory.{v} C] [SymmetricCategory.{v} C] where /-- The trace operator. -/ trace : ∀ {A B : C} (W : C), (A ⊗ W ⟶ B ⊗ W) → (A ⟶ B) /-- Left tightening: sliding a morphism past the trace on the left. -/ trace_naturality_left : ∀ {A A' B : C} (W : C) (f : A' ⟶ A) (g : A ⊗ W ⟶ B ⊗ W), trace W (f ▷ W ≫ g) = f ≫ trace W g := by cat_disch /-- Right tightening: sliding a morphism past the trace on the right. -/ trace_naturality_right : ∀ {A B B' : C} (W : C) (f : A ⊗ W ⟶ B ⊗ W) (g : B ⟶ B'), trace W (f ≫ g ▷ W) = trace W f ≫ g := by cat_disch /-- Sliding: an endomorphism on the feedback wire slides past the trace. -/ trace_dinaturality : ∀ {A B W : C} (f : A ⊗ W ⟶ B ⊗ W) (h : W ⟶ W), trace W (f ≫ B ◁ h) = trace W (A ◁ h ≫ f) := by cat_disch /-- Superposing: trace commutes with left tensoring by a bystander object. -/ trace_superposing : ∀ {A B : C} (C' W : C) (f : A ⊗ W ⟶ B ⊗ W), C' ◁ trace W f = trace W ((α_ C' A W).hom ≫ C' ◁ f ≫ (α_ C' B W).inv) := by cat_disch /-- Vanishing I: trace over the tensor unit is the morphism itself (up to unitors). -/ trace_vanishing_one : ∀ {A B : C} (f : A ⊗ 𝟙_ C ⟶ B ⊗ 𝟙_ C), trace (𝟙_ C) f = (ρ_ A).inv ≫ f ≫ (ρ_ B).hom := by cat_disch /-- Vanishing II: trace over a tensor product equals iterated trace. -/ trace_vanishing_two : ∀ {A B X Y : C} (f : A ⊗ (X ⊗ Y) ⟶ B ⊗ (X ⊗ Y)), trace (X ⊗ Y) f = trace X (trace Y ((α_ A X Y).hom ≫ f ≫ (α_ B X Y).inv)) := by cat_disch /-- Yanking: the trace of the braiding is the identity. -/ trace_yanking : ∀ (W : C), trace W (β_ W W).hom = 𝟙 W := by cat_disch ``` ## Motivation `TracedCategory` can be used for denoting things like electric circuits, which require a traced symmetric monoidal category for the wire graph network. ## Future work - `instance [CompactClosedCategory C] : TracedCategory C` - possible notation such as `Tr_[W] f` --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory new-contributor awaiting-author merge-conflict 237/0 Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Braided/Traced.lean,Mathlib/CategoryTheory/Monoidal/Rigid/Traced.lean,docs/references.bib 4 5 ['dagurtomas', 'github-actions', 'mathlib-merge-conflicts', 'matthunz'] nobody
198-77331
6 months ago
234-66894
234 days ago
0-24596
6 hours
0
36850 whocares-abt
author:whocares-abt
feat(Combinatorics/SimpleGraph/Acyclic): deleting leaves from a tree gives a tree Added theorem stating Deleting a leaf from a tree produces a tree. t-combinatorics new-contributor awaiting-author 5/0 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean 1 9 ['YaelDillies', 'github-actions', 'vlad902'] YaelDillies
assignee:YaelDillies
196-22209
6 months ago
196-22319
196 days ago
38-71219
38 days
0
37774 weisbrja
author:weisbrja
fix: change variables in `bicompl` to `Sort*` and add missing theorem mentioned in `bicompl` docs [#mathlib4 > Why does Mathlib use Type* instead of Sort* in some places?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Why.20does.20Mathlib.20use.20Type.2A.20instead.20of.20Sort.2A.20in.20some.20places.3F/with/583882342) --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-logic merge-conflict 6/1 Mathlib/Logic/Function/Basic.lean 1 8 ['github-actions', 'kbuzzard', 'leanprover-radar', 'mathlib-merge-conflicts', 'weisbrja'] nobody
195-71736
6 months ago
195-71737
195 days ago
19-66334
19 days
0
31670 edwin1729
author:edwin1729
feat(Topology/Order): Scott Topology is Sober over Algebraic DCPO --- [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.3E.20Algebraic.20complete.20partial.20order.20and.20domain.20theory/with/536359313) here (2/2) PR to prove result in Stone Duality. Here we prove that Scott Topologies over Algebraic DCPOs are sober. - [ ] depends on: #31662 <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology blocked-by-other-PR new-contributor merge-conflict 456/1 Mathlib.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib 4 5 ['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
195-58125
6 months ago
unknown
unknown
0
37445 edwin1729
author:edwin1729
feat(Topology/Order): set of compact elements, generating basic opens contained in a `Locale.PT`, is directed This is (2/4) PRs culminating in a proof that "Scott Topologies over Algebraic DCPOs are Sober". In this PR we prove properties of a certain set of compact elements, w.r.t a `Locale.PT`. A `Locale.PT` can be thought of as a set of `Opens`. Precisely it is a Frame homomorphism from `Opens _` to `Prop` so we are essentially choosing certain `Opens` to form our set and this set has additional properties. Namely it is a completely prime filter: if the supremum of some Opens is contained than atleast one of the Opens must be contained. Take some `Locale.PT`, `x`. In this PR, we prove that the set of compact elements generating basic opens (compact elements generate topological basis see #31662) contained in `x` is directed. This set of compact elements defined above is important in subsequent parts of the proof since it fully determines `x`. - [ ] depends on: #31662 --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology blocked-by-other-PR new-contributor merge-conflict 296/1 Mathlib.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib 4 4 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
195-54658
6 months ago
unknown
unknown
1
37556 edwin1729
author:edwin1729
feat(Topology/Order): Locale.localePointOfSpacePoint if we have a Scott Topology from an Algebraic DCPO (3/4) in a series of PRs proving that "Scott Topologies over Algebraic DCPOs are Sober" We prove here that the unit of the adjunction from `TopCat` to `Locale` defined in `Topology/Order/Category/FrameAdjunction.lean` is a surjective mapping, under the following condition: The underlying TopologicalSpace must be a Scott Topology generated with an underlying Algebraic DCPO structure. - [ ] depends on: #37445 --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology new-contributor blocked-by-other-PR merge-conflict 393/1 Mathlib.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib 4 5 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
195-54657
6 months ago
220-79157
220 days ago
0-562
9 minutes
0
33478 anishrajeev
author:anishrajeev
feat(ModelTheory): define a subset of the topology over complete types Define a subset of the Stone Space over a language expanded with countably many constants. Define the proposition to indicate if a language is countable. The subset's density and openness is a future goal to prove (have a branch where it is almost finished), in pursuit of formalizing the proof of the Omitting Types Theorem via properties of Baire spaces. - [ ] depends on: #32215 - [ ] depends on: #32546 t-logic merge-conflict new-contributor 160/1 Mathlib.lean,Mathlib/ModelTheory/Topology/Types.lean,Mathlib/ModelTheory/Types.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean 4 8 ['NoneMore', 'anishrajeev', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'tb65536'] nobody
193-78661
6 months ago
301-5802
301 days ago
10-30503
10 days
0
33431 gululu996-ui
author:gululu996-ui
feat(Combinatorics/SimpleGraph/Bipartite): characterize bipartite simple graphs by even cycles Add the classical characterization of bipartite simple graphs: a simple graph is bipartite if and only if every cycle has even length. Previously, mathlib has the definition of `IsBipartite` for `SimpleGraph` and various lemmas about bipartite graphs, but it does not provide this equivalence in a single theorem, so users have to reprove or reassemble it from existing results. Prove the forward direction by showing a 2-coloring alternates along any walk, so every cycle must have even length. Prove the converse by showing that if an odd cycle exists then no bipartition is possible, hence if all cycles are even the graph admits a bipartition. new-contributor t-combinatorics awaiting-author merge-conflict 186/1 Mathlib/Combinatorics/SimpleGraph/Bipartite.lean 1 6 ['NickAdfor', 'github-actions', 'jcommelin', 'mathlib-merge-conflicts'] kmill
assignee:kmill
193-62859
6 months ago
283-5102
283 days ago
26-95
26 days
0
34940 michaellee94
author:michaellee94
feat: the graph of a continuous function on a $C^n$ manifold is a $C^n$ manifold --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry new-contributor awaiting-author merge-conflict 536/0 Mathlib.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Geometry/Manifold/Instances/Graph.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Topology/Constructions/Graph.lean 5 80 ['botbaki-review', 'github-actions', 'grunweg', 'mathlib-merge-conflicts', 'michaellee94', 'ocfnash'] ocfnash
assignee:ocfnash
193-61577
6 months ago
250-62941
250 days ago
14-84147
14 days
0
35193 Brian-Nugent
author:Brian-Nugent
feat(Topology/Closeds): implement category of closed sets in topological spaces I copied over the nice API for working with `TopologicalSpace.Opens` as a category over for `TopologicalSpace.Closeds`. The only thing that did not immediately transfer was `Topology.IsInducing.functorObj` so I omitted it. Based on work of @kim-em --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology new-contributor please-adopt merge-conflict 352/6 Mathlib.lean,Mathlib/Topology/Category/TopCat/Closeds.lean,Mathlib/Topology/Category/TopCat/Opens.lean 3 24 ['Brian-Nugent', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts'] dagurtomas
assignee:dagurtomas
193-61452
6 months ago
233-81965
233 days ago
17-61064
17 days
0
32880 0xTerencePrime
author:0xTerencePrime
feat(Analysis/Asymptotics): define subpolynomial growth ## Main definitions * `Asymptotics.IsSubpolynomial l f g`: A function `f` has subpolynomial growth with respect to `g` along filter `l` if `f = O(1 + ‖g‖^k)` for some natural `k`. ## Main results * `IsSubpolynomial.const`: Constant functions have subpolynomial growth * `IsSubpolynomial.id`: Identity has subpolynomial growth * `IsSubpolynomial.add`: Closure under addition * `IsSubpolynomial.neg`: Closure under negation * `IsSubpolynomial.sub`: Closure under subtraction * `IsSubpolynomial.mul`: Closure under multiplication * `IsSubpolynomial.pow`: Closure under powers * `isSubpolynomial_iff_one_add`: Equivalence with `(1 + ‖g‖)^k` formulation * `IsSubpolynomial.uniform`: Uniform bounds for finite families ## Implementation notes The definition uses `1 + ‖g‖^k` rather than `(1 + ‖g‖)^k` as the primary form, with the equivalence established in `isSubpolynomial_iff_one_add`. Four private auxiliary lemmas handle the key inequalities needed for closure proofs. Closes #32658 awaiting-author t-analysis new-contributor 184/0 Mathlib.lean,Mathlib/Analysis/Asymptotics/Subpolynomial.lean 2 29 ['0xTerencePrime', 'ADedecker', 'github-actions', 'j-loreaux'] ADedecker
assignee:ADedecker
190-18832
6 months ago
301-52040
301 days ago
22-12319
22 days
0
38170 maddycrim
author:maddycrim
feat(Algebra/Module/FinitePresentation): Finitely Presented Module Lemma From FLT Project Main Definitions: `Module.FinitePresentation.exists_fin_exact` : A finitely presented module M admits an exact sequence F' -> F -> M -> 0 where F' and F are finite free modules. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor awaiting-author
label:t-algebra$
9/0 Mathlib/Algebra/Module/FinitePresentation.lean 1 17 ['chrisflav', 'github-actions', 'maddycrim', 'themathqueen', 'vlad902'] nobody
188-23605
6 months ago
188-23605
188 days ago
17-35026
17 days
0
38960 ajhendel
author:ajhendel
chore: remove ℕ+ interval_cases workaround in ADEInequality `interval_cases` now supports `ℕ+`, so the manual `Finset.mem_Iio`/`Finset.mem_Ico` + `conv` + `fin_cases` workaround (marked with a porting note) is no longer needed. Replaces three 3-4 line workaround blocks with `interval_cases p`/`q`/`r`. t-number-theory new-contributor awaiting-CI 3/10 Mathlib/NumberTheory/ADEInequality.lean 1 2 ['github-actions'] nobody
187-7301
6 months ago
unknown
unknown
0
39108 idontgetoutmuch
author:idontgetoutmuch
feat(Geometry/Manifold/GroupLieAlgebra): Add mfderiv_mul_left_mul and left-translate for integral curves Add the following: `mfderiv_mul_left_mul`: the derivative of left-multiplication satisfies a chain rule: $$d(L_{g \cdot h})_x = d(L_g)_{h \cdot x} \circ d(L_h)_x$$ `mulInvariantVectorField_mul`: the vector field at the translated point is the push forward of the vector field: $$V(g \cdot h) = d(L_g)_h(V(h))$$ `IsMIntegralCurve.left_translate`: using these, if $\gamma$ is an integral curve of $V$, then so is $t \mapsto g \bullet \gamma(t)$ for any $g \in G$, since: $$\frac{d}{dt}(g \bullet \gamma(t)) = d(L_g)_{\gamma(t)}\left(\frac{d\gamma}{dt}(t)\right) = d(L_g)_{\gamma(t)}(V(\gamma(t))) = V(g \bullet \gamma(t))$$ I argue (*) all the time with LLMs so this PR will certainly have had some input from them. Is that enough of a disclosure? (*) Like Lewis Carroll: In my youth said the sage I took to the law and argued each case with wife And the muscular strength that it gave to my jaw has lasted the rest of my life t-differential-geometry new-contributor awaiting-author LLM-generated 73/0 Mathlib/Geometry/Manifold/GroupLieAlgebra.lean 1 8 ['github-actions', 'grunweg'] nobody
183-74872
5 months ago
183-74937
183 days ago
0-37210
10 hours
0
39151 anovickis
author:anovickis
feat(Analysis/CStarAlgebra/Matrix): IsTopologicalGroup for specialUnitaryGroup Adds `ContinuousInv` and `IsTopologicalGroup` instances for `Matrix.specialUnitaryGroup n 𝕜`. The unitary group `Matrix.unitaryGroup n α` already inherits these via the `unitaryGroup ≡ unitary R` abbrev + existing instances on `unitary R` (in `Mathlib/Topology/Algebra/Star/Unitary.lean`). However, `specialUnitaryGroup` is the sub-Submonoid `unitaryGroup ⊓ MonoidHom.mker detMonoidHom` — it does not auto-inherit those instances since it is not literally an alias of `unitary R`. ### New declarations - `instance Matrix.specialUnitaryGroup.instContinuousInv` — proven via `Matrix.star_eq_inv` + `continuous_star` - `instance Matrix.specialUnitaryGroup.instIsTopologicalGroup` — combining `ContinuousMul` (from Submonoid structure) + `ContinuousInv` Both placed inside the existing `EntrywiseSupNorm` section in `Mathlib/Analysis/CStarAlgebra/Matrix.lean` (the natural neighborhood for matrix-specific topological structure on (special) unitary groups). ### Motivation These instances enable using `specialUnitaryGroup` as a topological group in homogeneous-space constructions (e.g., `SU(3) ⧸ T = F₂` flag manifolds). They complement #39146 (CompactSpace instances for the same groups) — together giving the standard 'compact topological group' typeclass set on `specialUnitaryGroup`. ### Verification \`\`\`lean example : ContinuousInv (Matrix.specialUnitaryGroup (Fin 3) ℂ) := inferInstance -- now works example : IsTopologicalGroup (Matrix.specialUnitaryGroup (Fin 3) ℂ) := inferInstance -- now works \`\`\` Both fail on master without this PR; both succeed after. t-analysis new-contributor awaiting-author 30/0 Mathlib/Analysis/CStarAlgebra/Matrix.lean 1 3 ['github-actions', 'j-loreaux', 'wwylele'] nobody
182-63996
5 months ago
182-63996
182 days ago
0-3025
50 minutes
0
39191 m13683320924-hue
author:m13683320924-hue
feat: define Asymptotics.IsSubpolynomial This PR defines `Asymptotics.IsSubpolynomial l f g`, meaning that `f` is asymptotically bounded by `1 + ‖g‖ ^ k` for some `k : ℕ`. It also adds basic closure lemmas for constants, addition, multiplication, and natural powers. Towards #32658. The formalization was developed with the help of Doubao-Seed-2.0-code and manually checked in Lean. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 259/0 Mathlib.lean,Mathlib/Analysis/Asymptotics/Subpolynomial.lean 2 3 ['github-actions'] nobody
182-3554
5 months ago
unknown
unknown
0
39213 m13683320924-hue
author:m13683320924-hue
feat: define maximal cliques and independent sets This PR adds explicit predicates for maximal cliques and maximal independent sets: - `SimpleGraph.IsMaximalClique` - `SimpleGraph.IsMaximalIndepSet` It also adds conversion lemmas to and from the existing `Maximal G.IsClique` and `Maximal G.IsIndepSet` formulations, plus basic complement and maximum-to-maximal lemmas. Towards #34962. The formalization was developed with the help of Doubao-Seed-2.0-code and manually checked in Lean. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor LLM-generated 60/22 Mathlib/Combinatorics/SimpleGraph/Clique.lean 1 3 ['SnirBroshi', 'github-actions'] nobody
181-69361
5 months ago
unknown
unknown
0
39165 allenhaozhu
author:allenhaozhu
feat(Probability/Moments): add IsSubExponential class Add `ProbabilityTheory.IsSubExponential X μ ν b`, the sub-exponential random variable class: `mgf X μ s ≤ exp (s²ν/2)` for `|s| < 1/b`. Mirror the structure of the existing `Mathlib/Probability/Moments/SubGaussian.lean`. Include constructor lemmas (`IsSubExponential.const`, `mono_b`, `mono_nu`) and a tail bound derived through Mathlib's `measure_ge_le_exp_mul_mgf`. --- ## AI-assistance disclosure Per the Mathlib [AI-use policy](https://leanprover-community.github.io/contribute/index.html#use-of-ai): - **Tool.** Claude Code (Anthropic) with the Claude Sonnet 4.6 model. - **Use.** I specified the target lemma statements and the proof strategy; the assistant drafted Lean 4 tactic combinations against current Mathlib. I iterated on the proofs, verified each lemma builds under `lake build` from a clean checkout, and read the final code. - **Vouching.** I have read every declaration in this file and can defend the proofs without further AI assistance. I welcome reviewer feedback on naming, namespace placement, and stylistic alignment with the surrounding Mathlib modules. t-measure-probability new-contributor LLM-generated awaiting-author 257/0 Mathlib.lean,Mathlib/Probability/Moments/SubExponential.lean 2 4 ['allenhaozhu', 'github-actions', 'grunweg'] nobody
181-9438
5 months ago
182-19081
182 days ago
0-2698
44 minutes
0
39168 allenhaozhu
author:allenhaozhu
feat(Analysis/Convex/Subgradient): add subgradient characterization for |·| and ℓ¹ Add `Convex.IsAbsSubgradient x g`, the predicate that `g` is a subgradient of `|·|` at `x`. Prove the standard characterization: the only subgradient at `x > 0` is `1`; at `x < 0` it is `-1`; at `x = 0` the subgradients are exactly `[-1, 1]`. Add `IsL1Subgradient`, the componentwise lift to `Fin n → ℝ` used by ℓ¹-regularized estimation (Lasso KKT). --- ## AI-assistance disclosure Per the Mathlib [AI-use policy](https://leanprover-community.github.io/contribute/index.html#use-of-ai): - **Tool.** Claude Code (Anthropic) with the Claude Sonnet 4.6 model. - **Use.** I specified the target lemma statements and the proof strategy; the assistant drafted Lean 4 tactic combinations against current Mathlib. I iterated on the proofs, verified each lemma builds under `lake build` from a clean checkout, and read the final code. - **Vouching.** I have read every declaration in this file and can defend the proofs without further AI assistance. I welcome reviewer feedback on naming, namespace placement, and stylistic alignment with the surrounding Mathlib modules. t-analysis new-contributor LLM-generated awaiting-author 231/0 Mathlib.lean,Mathlib/Analysis/Convex/Subgradient/Abs.lean 2 4 ['allenhaozhu', 'github-actions', 'grunweg'] nobody
181-9436
5 months ago
182-19166
182 days ago
0-2608
43 minutes
0
37584 kennethgoodman
author:kennethgoodman
feat(Data/Nat/Fib): formalize Lamé's theorem ## Summary Formalize [Lamé's theorem](https://en.wikipedia.org/wiki/Lam%C3%A9%27s_theorem) (1844), the founding result of computational complexity theory. **Lamé's Theorem:** If the Euclidean algorithm on inputs `(a, b)` with `b ≤ a` takes `n + 1` division steps, then `b ≥ fib(n + 1)` and `a ≥ fib(n + 2)`. ### New definitions - `Nat.euclidSteps`: counts the number of division steps in the Euclidean algorithm on natural number inputs. ### New theorems - `Nat.fib_le_of_euclidSteps`: the main Lamé bound — Fibonacci lower bound on inputs given a step count. - `Nat.euclidSteps_le_of_lt_fib`: the contrapositive — step count upper bound given a Fibonacci bound on the smaller input. - `Nat.add_mod_le`: helper lemma that `b + a % b ≤ a` when `b ≤ a` and `0 < b`. ### Proof strategy Induction on `n`, tracking both elements of the pair. The key insight is that each Euclidean step replaces `(a, b)` with `(b, a % b)`, and since `a ≥ b + a % b` (because `a / b ≥ 1`), the Fibonacci recurrence `fib(n+3) = fib(n+2) + fib(n+1)` matches the structure of the algorithm. ### References - Gabriel Lamé, *Note sur la limite du nombre des divisions dans la recherche du plus grand commun diviseur entre deux nombres entiers*, Comptes rendus de l'Académie des sciences, 1844. --- ### AI usage disclosure Per the [Mathlib AI guidelines](https://leanprover-community.github.io/contribute/index.html#use-of-ai): Claude Code (Claude Opus 4.6) was used to assist with writing the Lean 4 proof code, fixing tactic errors, and drafting this PR description. The mathematical proof (induction on step count, tracking both pair elements through the Fibonacci recurrence) was designed by hand and verified on paper before formalization. I have reviewed and understand every line of the resulting Lean code and can explain all proof steps. --- - [x] builds cleanly (`lake build Mathlib.Data.Nat.Fib.Lame`) - [x] no `sorry` - [x] lines ≤ 100 characters, no trailing whitespace - [x] `autoImplicit false` - [x] docstrings on all public declarations new-contributor LLM-generated t-data merge-conflict 121/0 Mathlib.lean,Mathlib/Data/Nat/Basic.lean,Mathlib/Data/Nat/Fib/Basic.lean,Mathlib/Data/Nat/Fib/Lame.lean,docs/1000.yaml 5 25 ['euprunin', 'github-actions', 'kennethgoodman', 'mathlib-merge-conflicts', 'vihdzp', 'wwylele'] TwoFX
assignee:TwoFX
174-68469
5 months ago
174-68470
174 days ago
44-53174
44 days
0
36274 JTylM
author:JTylM
feat(Combinatorics/SimpleGraph/Matching): implemented the matchingNumber of a graph --- - [ ] depends on: #36406 - [ ] depends on: #32555 I implemented the matchingNumber as described in the issue and proved some statements including showing that there exists a matching achieving the matchingNumber. matchingNumber is increasing under injective maps matchingNumber is equal under isomorphisms matchingNumber of a matching is the cardinality of the matching This is my first PR and i had some trouble with some of the proofs, especially with the proof for matchingNumber.isAttained. So any suggestions on how to make the proofs shorter would be welcome. Also i was not sure about the naming of some of the theorems so i would apprechiate feedback here as well. new-contributor t-combinatorics blocked-by-other-PR merge-conflict 292/2 Mathlib/Combinatorics/SimpleGraph/Matching.lean 1 40 ['JTylM', 'SnirBroshi', 'SproutSeeds', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vlad902'] nobody
174-48319
5 months ago
235-2108
235 days ago
8-58058
8 days
0
33786 hdmkindom
author:hdmkindom
feat(Analysis/Matrix): add Jacobian matrix for matrix-valued functions This PR introduces the Jacobian matrix for matrix-valued functions `F : Matrix m n 𝕜 → Matrix p q 𝕜`. The Jacobian matrix `jacobianMatrix F X` at point `X` is indexed by `(p × q) × (m × n)`, where each entry represents the partial derivative with respect to a basis element. To handle instance-mismatch issues with matrix norms, we use local Frobenius norm instances. This PR adds the new file: 'Analysis/Matrix/Jacobian.lean' ## Main definitions - `jacobianMatrix F X`: The Jacobian matrix at point `X`, defined by `jacobianMatrix F X (i, k) (j, l) = (fderiv ℝ F X (Matrix.single j l 1)) i k` ## Main theorems - `fderiv_eq_jacobian_mul`: Express the Fréchet derivative as a contraction with the Jacobian - `jacobianMatrix_comp`: Chain rule for Jacobian matrices - `jacobianMatrix_linear`, `jacobianMatrix_id`, `jacobianMatrix_const`: Basic properties - `jacobianMatrix_add`, `jacobianMatrix_smul`: Linearity properties t-analysis new-contributor awaiting-author 174/0 Mathlib.lean,Mathlib/Analysis/Matrix/Jacobian.lean 2 21 ['erdOne', 'github-actions', 'hdmkindom', 'jcommelin'] sgouezel
assignee:sgouezel
173-78317
5 months ago
264-84759
264 days ago
39-33087
39 days
0
39673 drocta
author:drocta
feat: add instances of MetricSpace, NormedAddGroup, and NormedAddCommGroup for DirectLimit add files `Topology/MetricSpace/DirectLimit.lean` (with an instance of `MetricSpace` for a `DirectLimit` of a directed system of `MetricSpace`s with `IsometryClass` map types between them) and `Analysis/Normed/Group/DirectLimit.lean` (with instances of `NormedAddGroup` and `NormedAddCommGroup` on `DirectLimit`) also lemmas `dist_def` and `norm_def` for these. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> This PR is part of a project of adding support for direct limits of $C^*$-algebras (as I described [on Zulip](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Early.20feedback.20on.20approach.20towards.20formalizing.20UHF.20algebras.3F) ). This PR uses `IsometryClass` to implement the requirement that the directed systems preserve the `Norm` on the `NormedAddGroup`s, following the advice I got [this Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Representing.20norm-preservation.20for.20directed.20systems.3F/with/595941824) . Use of AI: I again used ChatGPT a bit for some advice when writing this (for example, for ideas for simplifying parts of proofs that I suspected could be simpler/shorter, and for advice on which of a couple options would be more idiomatic). I can personally vouch for all of these contributions, and that I understand this code. t-topology new-contributor awaiting-author 258/0 Mathlib.lean,Mathlib/Analysis/Normed/Group/DirectLimit.lean,Mathlib/Analysis/Normed/Ring/DirectLimit.lean,Mathlib/Topology/MetricSpace/DirectLimit.lean 4 23 ['drocta', 'eric-wieser', 'github-actions', 'j-loreaux'] nobody
171-32388
5 months ago
171-45858
171 days ago
0-13565
3 hours
0
39146 anovickis
author:anovickis
feat(Analysis/CStarAlgebra/Matrix): CompactSpace instances for unitaryGroup and specialUnitaryGroup Adds `CompactSpace` instances (and supporting `IsClosed` / `IsCompact` lemmas) for the matrix unitary and special unitary groups. The compactness follows from Heine-Borel applied to the entrywise sup norm: every unitary matrix has all entries bounded by `1` (via the existing `entry_norm_bound_of_unitary` lemma), and `Matrix n n 𝕜` is finite-dimensional, so `closed + bounded ⇒ compact`. ### New declarations - `isClosed_unitaryGroup`, `isCompact_unitaryGroup` - `instance Matrix.unitaryGroup.instCompactSpace` - `isClosed_specialUnitaryGroup`, `isCompact_specialUnitaryGroup` - `instance Matrix.specialUnitaryGroup.instCompactSpace` All placed inside the existing `EntrywiseSupNorm` section in `Mathlib/Analysis/CStarAlgebra/Matrix.lean`, so the `Matrix.Norms.Elementwise` scope used for the bound is already in scope. ### Motivation These instances enable downstream constructions of compact matrix Lie groups such as flag manifolds (e.g. SU(3)/T = F₂), where the quotient inherits compactness for free via `Quotient.compactSpace`. They also fill an obvious gap in the matrix-group API: `unitary R` is known to be closed, but compactness for `Matrix.unitaryGroup` was not previously available as an instance. Claude Code / Anthropic was used for generating the code, Verification was done with lake build, each lemma reviewed. Proofs came out of F2 mass gap lean library - so compile verified t-analysis new-contributor awaiting-author 52/0 Mathlib/Analysis/CStarAlgebra/Matrix.lean 1 12 ['anovickis', 'github-actions', 'j-loreaux', 'wwylele'] nobody
168-72619
5 months ago
182-64627
182 days ago
0-6851
1 hour
0
31898 ntapiam
author:ntapiam
feat(LinearAlgebra/TensorAlgebra): implement HopfAlgebra for TensorAlgebra implementation of the natural Hopf algebra structure on the TensorAlgebra new-contributor t-ring-theory awaiting-author merge-conflict 253/0 Mathlib.lean,Mathlib/Algebra/FreeAlgebra.lean,Mathlib/LinearAlgebra/TensorAlgebra/Basic.lean,Mathlib/RingTheory/Bialgebra/FreeAlgebra.lean,Mathlib/RingTheory/Bialgebra/TensorAlgebra.lean,Mathlib/RingTheory/HopfAlgebra/TensorAlgebra.lean 6 66 ['YaelDillies', 'github-actions', 'hawkrobe', 'kckennylau', 'mathlib-merge-conflicts', 'ntapiam'] nobody
167-65077
5 months ago
351-50837
351 days ago
0-30128
8 hours
0
39871 daiduo2
author:daiduo2
feat(Analysis/ODE): Uniform Gronwall inequality ## Summary Adds the integral-form **Uniform Gronwall inequality**, a variant of Gronwall's inequality essential in PDE theory. Unlike the standard Gronwall bound which depends on an initial value, the uniform version provides a bound on `y(t)` that depends only on the **time-averages** of `g`, `h`, and `y` over sliding windows of length `r`. ## Mathematical Statement Let `y, g, h : ℝ → ℝ` satisfy `y'(t) ≤ g(t) * y(t) + h(t)` on `[0, T)`. If for some `r > 0`: - `∫_t^{t+r} g(s) ds ≤ a₁` - `∫_t^{t+r} h(s) ds ≤ a₂` - `∫_t^{t+r} y(s) ds ≤ a₃` for all `t ∈ [0, T-r]`, then `y(t) ≤ (a₃/r + a₂) * exp(a₁)` for all `t ∈ [r, T]`. ## Changes - **New file**: `Mathlib/Analysis/ODE/UniformGronwall.lean` (~590 lines) - `uniformGronwallBound` — the explicit bound - `uniformGronwallBound_of_a₂0_a₃0`, `uniformGronwallBound_nonneg` — simp lemmas - `le_uniformGronwallBound_of_deriv_le` — main theorem - **Updated**: `Mathlib.lean` — added import ## Design Decisions - Real-valued functions `ℝ → ℝ` (generalization to normed spaces left for future work) - Right derivatives (`HasDerivWithinAt` with `Ici`), matching `Gronwall.lean` style - Assumes non-negativity (`g, h, y ≥ 0`), standard in PDE applications ## References - R. Temam, *Infinite-Dimensional Dynamical Systems in Mechanics and Physics*, Appendix A t-analysis new-contributor awaiting-author LLM-generated 601/0 Mathlib.lean,Mathlib/Analysis/ODE/UniformGronwall.lean 2 4 ['daiduo2', 'github-actions', 'grunweg'] nobody
165-65438
5 months ago
166-76346
166 days ago
0-12410
3 hours
0
33817 FlAmmmmING
author:FlAmmmmING
fix(Combinatorics/Enumerative/Schroder): fix the definition of `smallSchroder` In the previous definition, the small Schröder numbers were defined as ```LaTeX s_0 = 1, s_1 = 1, s_2 = 1, s_3 = 3... ``` , which does not match the sequence listed in OEIS A006318. Moreover, this definition makes it difficult to correctly write the generating function for the small Schröder numbers. This PR fixes this issue. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics large-import awaiting-author merge-conflict 61/39 Mathlib/Combinatorics/Enumerative/Schroder.lean 1 21 ['FlAmmmmING', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] YaelDillies
assignee:YaelDillies
163-54064
5 months ago
228-32070
228 days ago
74-33585
74 days
0
35951 parabamoghv
author:parabamoghv
feat(CategoryTheory/Monoidal): evaluation coevaluation isomorphisms This PR adds four features to rigid categories: 1. `coevaluation_evaluation` and `evaluation_coevaluation` as isomorphism equalities: Using `IsIso` instances for the `evaluation` and `coevaluation` morphisms, we promote the morphism equalities to isomorphism equalities. 2. `ExactPairing Y X` from `ExactPairing X Y`: Using an exact pairing and `IsIso` instances for both `evaluation` and `coevaluation`, we swap the exact pairing by inverting the evaluation and coevaluation morphisms. Any suggestions for the definition name are welcome. Right now it is `ExactPairing.Symm`. The second choice was `ExactPairing.Swap`. 3. `HasLeftDual X` from `HasRightDual X`: Using a `HasRightDual X` instance and relevant `IsIso` instances, we construct a left dual. Similar construction for the other way. 4. `LeftDual` isomorphic to `RightDual`: Using relevant `IsIso` instances, we provide the isomorphism from the left dual of an object to the right dual. This can be achieved in two ways: either by using `leftDualIso` or using `rightDualIso`. We will prove in a subsequent PR that both these isomorphisms are equal. Motivation: This is part of an effort to formalize CategoricalGroups, which can be defined as right rigid groupoids. The approach is motivated by the discussion in [#34830](https://github.com/leanprover-community/mathlib4/pull/34830). Any comments or suggestions are welcome, especially about the naming. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory new-contributor awaiting-author merge-conflict 64/2 Mathlib/CategoryTheory/Monoidal/Rigid/Basic.lean 1 19 ['dagurtomas', 'github-actions', 'joelriou', 'mathlib-merge-conflicts', 'parabamoghv', 'robin-carlier'] robin-carlier
assignee:robin-carlier
163-52406
5 months ago
234-75202
234 days ago
7-33709
7 days
0
39164 allenhaozhu
author:allenhaozhu
feat(Probability/Distance): add total variation distance `tvDist` Add `MeasureTheory.tvDist : Measure α → Measure α → ℝ≥0∞`, the total variation distance between two measures, defined via the truncated subtraction `μ - ν` already in `Mathlib.MeasureTheory.Measure.Sub`. Add four basic lemmas (`tvDist_self`, `tvDist_comm`, `tvDist_nonneg`, `tvDist_le_one`) and a bridge lemma `tvDist_eq_signedMeasure_totalVariation` connecting `tvDist` to the existing `MeasureTheory.SignedMeasure.totalVariation` for finite measures. --- ## AI-assistance disclosure Per the Mathlib [AI-use policy](https://leanprover-community.github.io/contribute/index.html#use-of-ai): - **Tool.** Claude Code (Anthropic) with the Claude Sonnet 4.6 model. - **Use.** I specified the target lemma statements and the proof strategy; the assistant drafted Lean 4 tactic combinations against current Mathlib. I iterated on the proofs, verified each lemma builds under `lake build` from a clean checkout, and read the final code. - **Vouching.** I have read every declaration in this file and can defend the proofs without further AI assistance. I welcome reviewer feedback on naming, namespace placement, and stylistic alignment with the surrounding Mathlib modules. t-measure-probability new-contributor LLM-generated awaiting-author merge-conflict 187/0 Mathlib.lean,Mathlib/Probability/Distance/TotalVariation.lean 2 5 ['allenhaozhu', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] nobody
163-48334
5 months ago
182-19073
182 days ago
0-2707
45 minutes
0
34875 banrovegrie
author:banrovegrie
feat(LinearAlgebra/Matrix): add Sherman-Morrison formula Mathlib has the matrix determinant lemma (`det_add_replicateCol_mul_replicateRow` in SchurComplement.lean) but lacked the corresponding inverse formula. This PR fills that gap. - Add `Matrix.inv_add_vecMulVec`: Sherman-Morrison formula for `(A + uv^T)^{-1}` - Add `Matrix.inv_sub_vecMulVec`: subtraction variant - Add `Matrix.isUnit_det_add_vecMulVec`: invertibility under the formula's hypotheses ## Test plan - [x] `lake build` passes - [x] Lines within 100 char limit - [x] All declarations have docstrings **Any specific AI usage?**: Used Copilot for review purposes. t-algebra new-contributor awaiting-author
label:t-algebra$
135/0 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/ShermanMorrison.lean 2 15 ['Xxxjdjdid', 'banrovegrie', 'chrisflav', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'wwylele'] chrisflav
assignee:chrisflav
161-76453
5 months ago
207-77530
207 days ago
69-2479
69 days
0
38887 Rosario-Leonardi-CT
author:Rosario-Leonardi-CT
feat(Analysis/Fourier/ZMod): add dft_star_comp Adds `ZMod.dft_star_comp`, expressing that `𝓕 (star ∘ Φ) k = star (𝓕 Φ (-k))`, the discrete analogue of the Fourier transform's interaction with complex conjugation, complementing the existing `dft_comp_neg`. --- AI disclosure: lemma statement and proof drafted with assistance from Claude Code; verified by the Lean compiler with no `sorry` and standard axioms only (`propext`, `Classical.choice`, `Quot.sound`). t-analysis new-contributor awaiting-author 9/0 Mathlib/Analysis/Fourier/ZMod.lean 1 9 ['Rosario-Leonardi-CT', 'github-actions', 'wwylele'] j-loreaux
assignee:j-loreaux
161-75716
5 months ago
184-74652
184 days ago
5-5712
5 days
0
40225 localparty
author:localparty
feat(RingTheory/LaurentSeries): leibniz product rule for derivative This PR adds the Leibniz product rule (`(f * g)' = f' * g + f * g'`) for the first formal derivative on `LaurentSeries R` (R a commutative ring). The first derivative is already packaged in `Mathlib/RingTheory/LaurentSeries.lean` as ```lean def derivative (R : Type*) {V : Type*} [AddCommGroup V] [Semiring R] [Module R V] : LaurentSeries V →ₗ[R] LaurentSeries V := hasseDeriv R 1 ``` with a `derivative_*` family of theorems (`derivative_apply`, `derivative_iterate`, `derivative_iterate_coeff`). The Leibniz product rule was missing. This PR fills that gap, adding `derivative_mul` alongside the existing `derivative_*` family. The proof is direct on coefficients via `HahnSeries.coeff_mul` and an `addAntidiagonal` shift-bijection (matching the style of the existing `hasseDeriv_*` lemmas). Five private helper lemmas factor the coefficient-side calculation: - `derivative_coeff` — clean coefficient formula at k = 1 - `support_derivative_subset` — `(derivative R f).support ⊆ (· - 1) '' f.support` - `isPWO_shifted_support` — PWO preserved by the shift-by-(-1) - `sum_bij_left` / `sum_bij_right` — `Finset.sum_nbij'` shift-reindexings Total addition: ~85 LOC (5 private helpers + the public `derivative_mul`). ## Related future work Full `Derivation` packaging for `LaurentSeries.hasseDeriv` (matching `PowerSeries.derivative`-as-`Derivation` at `Mathlib/RingTheory/PowerSeries/Derivative.lean:102`) is a natural follow-up, since this Leibniz rule would discharge the `leibniz'` field. Out of scope for this PR; can be a separate follow-up "LaurentSeries algebra-of-derivations API" PR. ## Provenance This lemma surfaced during work on a Lean 4 formalization of equisingular flat connections (Connes–Marcolli 2008, Ch IV §6.4), where `LaurentSeries ℂ` serves as the base ring for the ℂ((t))-module connection-matrix substrate. The Leibniz rule is needed for the category-of-connection-preserving-maps intertwining condition. t-ring-theory new-contributor awaiting-author LLM-generated 104/0 Mathlib/RingTheory/LaurentSeries.lean 1 5 ['github-actions', 'grunweg', 'localparty'] nobody
157-70790
5 months ago
157-77988
157 days ago
0-6916
1 hour
0
38348 mirajcs
author:mirajcs
feat(Geometry/Curve): add Frenet–Serret framework --- This PR introduces a basic formalization of smooth parametrized curves in `ℝ³` (`EuclideanSpace ℝ (Fin 3)`) together with the Frenet frame and partial proofs of the Frenet–Serret formulas. Main contributions: * Define `ParametrizedDifferentiableCurve` as a smooth map on an open interval. * Define arc length and arc-length parametrization. * Define geometric quantities: - curvature `κ(t) = ‖α''(t)‖` - tangent, normal, and binormal vector fields - torsion via `‖B'(t)‖` * Introduce the `FrenetFrame` structure. * Prove key Frenet–Serret formulas: - `T' = κ • N` - `B' = -τ • N` - `N' = -κ • T + τ • B` The implementation relies on existing analysis and inner product space infrastructure, as well as properties of the cross product in `ℝ³`. Some intermediate lemmas about orthogonality and cross-product identities are included. At present, some results assume nonvanishing curvature/torsion and include auxiliary hypotheses about derivatives. These can be streamlined in future work. This development is intended as a foundation for further formalization of classical differential geometry (curves and surfaces). --- new-contributor t-differential-geometry awaiting-author 525/0 Mathlib.lean,Mathlib/Geometry/Curves/Basic.lean,Mathlib/Geometry/Curves/FrenetFrame.lean 3 19 ['bryangingechen', 'github-actions', 'mathlib-merge-conflicts', 'mirajcs', 'ocfnash', 'vihdzp', 'wwylele'] nobody
157-44928
5 months ago
194-79035
194 days ago
6-47452
6 days
0
39939 8e7
author:8e7
feat(Combinatorics/SimpleGraph/TreeDecomp): clique lemma for tree decompositions This PR proves the treewidth of a complete graph is `#V - 1` for finite V, and consequently, `G.cliqueNum - 1 <= G.treeWidth`. This PR follows #38334, and is a direct application of #39864. AI Usage: The proofs were developed with the help of Claude Code. I vouch for all the code written and understand the content fully. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #38334 - [ ] depends on: #39864 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor LLM-generated blocked-by-other-PR 588/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/TreeDecomp.lean 4 5 ['8e7', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
157-43059
5 months ago
165-77045
165 days ago
0-3155
52 minutes
0
32960 dleijnse
author:dleijnse
feat(FieldTheory): adjoin pth roots For a field `k` of exponential characteristic `p` and a subset `S` of `k`, we define the extension of `k` obtained by adjoining all `p`-th roots of elements of `S`. We prove that this is a purely inseparable extension, and provide some basic API. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor awaiting-author merge-conflict
label:t-algebra$
131/0 Mathlib.lean,Mathlib/FieldTheory/PurelyInseparable/AdjoinPthRoots.lean 2 14 ['artie2000', 'chrisflav', 'dleijnse', 'erdOne', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] erdOne
assignee:erdOne
156-63395
5 months ago
316-76445
316 days ago
10-11880
10 days
0
38344 robo7179
author:robo7179
feat(SimpleGraph/Coloring/VertexColoring): Matching is 2 colorable --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor merge-conflict 51/0 Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean 1 6 ['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vlad902'] b-mehta
assignee:b-mehta
154-82303
5 months ago
154-82304
154 days ago
46-70512
46 days
0
39192 jayscambler
author:jayscambler
feat(InnerProductSpace/PiL2): det of a linear isometry has unit norm Adds `LinearIsometryEquiv.norm_det` and the real corollary `LinearIsometryEquiv.abs_det`. The proof uses the unitary matrix of a linear isometry in orthonormal bases, via `LinearIsometryEquiv.toMatrix_mem_unitaryGroup` and `Matrix.det_of_mem_unitary`. The supporting matrix lemma is moved from `Adjoint.lean` to `PiL2.lean`, where it no longer depends on adjoints. t-analysis new-contributor LLM-generated awaiting-author 22/0 Mathlib/Analysis/InnerProductSpace/PiL2.lean 1 8 ['github-actions', 'grunweg', 'jayscambler', 'sgouezel', 'themathqueen', 'wwylele'] sgouezel
assignee:sgouezel
151-12591
4 months ago
172-890
172 days ago
10-6700
10 days
0
37707 MavenRain
author:MavenRain
feat(Combinatorics/SimpleGraph): add IsMaximalClique/IsMaximalIndepSet, refactor IsMaximum* to MaximalFor Addresses #34962 new-contributor t-combinatorics merge-conflict 63/31 Mathlib/Combinatorics/SimpleGraph/Clique.lean 1 7 ['MavenRain', 'SnirBroshi', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts'] nobody
150-63230
4 months ago
150-63231
150 days ago
26-50538
26 days
0
38364 openendings
author:openendings
feat(Order): directed complete partial orders Define DirectedCompletePartialOrder and its interaction with iSup and sSup. A directed complete partial order is equivalently: - a partial order with LUBs of nonempty directed sets; - what happens when you remove ⊥ from a CompletePartialOrder; or - a ConditionallyCompletePartialOrder in which every directed set is BddAbove. Like CPOs, DCPOs are commonly studied in denotational semantics. --- Potential applications: - [#Is there code for X? > Summing &#96;ENat&#96;s without topology](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Summing.20.60ENat.60s.20without.20topology/with/590070848) -- defining infinite sums in an DCPO-enriched `AddCommMonoidWithTop` such as `ENat` or `ENNReal`. - [#Is there code for X? > Scott Induction](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Scott.20Induction/with/590112858) -- fixpoint theorems similar to `OmegaCompletePartialOrder`, generalised to arbitrary cardinalities. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor awaiting-author 123/0 Mathlib.lean,Mathlib/Order/DirectedCompletePartialOrder/Defs.lean,docs/references.bib 3 5 ['SnirBroshi', 'YaelDillies', 'github-actions', 'openendings'] YaelDillies
assignee:YaelDillies
149-30986
4 months ago
149-30986
149 days ago
51-71038
51 days
0
36731 michael-novak-math
author:michael-novak-math
feat: Frénet moving frame and Frénet equation for plane curves We define the curvature function, normal vector function and the Frénet moving frame for plane curve. We also prove the Frénet equations for plane curves. A separate PR (#37489) will prove the fundamental theorem of plane curves. new-contributor t-differential-geometry t-analysis awaiting-author 327/0 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean,Mathlib/Geometry/PlaneCurves.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,docs/references.bib 5 117 ['Ruben-VandeVelde', 'eric-wieser', 'github-actions', 'grunweg', 'michael-novak-math', 'scholzhannah'] nobody
149-15868
4 months ago
218-74437
218 days ago
12-731
12 days
1
39791 zixiaowang17
author:zixiaowang17
feat(Probability/HypothesisTesting): add Neyman-Pearson lemma This PR adds `Probability/HypothesisTesting/NeymanPearson.lean`, formalizing the classical Neyman-Pearson lemma with reference Ingster, Y. and Suslina, I.A., 2012. Nonparametric goodness-of-fit testing under Gaussian models (Vol. 169). Springer Science & Business Media. -/ The main definitions are: * `ProbabilityTheory.NeymanPearson.npLikelihoodRatio` * `ProbabilityTheory.NeymanPearson.npTest` * `ProbabilityTheory.NeymanPearson.npSumError` The main theorem is: * `ProbabilityTheory.NeymanPearson.neyman_pearson` We state the theorem in the weighted form `∫ T dP + t * ∫ (1 - T) dQ`, over measurable tests T : Ω → ℝ with values in [0, 1], using P + Q as the canonical dominating measure; rather than starting with the constrained formulation that fixes the Type I error and minimizes the Type II error. The reasons are two fold. First, it can be thought as the Lagrangian form of the classical constrained Neyman-Pearson problem. Second, this weighted form is often arises in applications, such as, in minimax lower-bound arguments for functional estimation, where one typically reduces estimation lower bounds to testing inequalities involving weighted sums of error probabilities. Worflow with AI: we first manually wrote a blueprint in latex with every definition and lemma we need [NL_Blueprint_NP_Lemma.pdf](https://github.com/user-attachments/files/28199645/NL_Blueprint_NP_Lemma.pdf). then we checked the Mathlib API with claude code, chatgpt and LeanSearch, We manually wrote the outline, in the outline version we deleted the discussion on gamma in the blueprint - since we have used the version of the NP lemma that uses the likelihood ratio to construct the test, rather than writing in terms of comparisons of Radon-Nikodym derivatives with a common dominating measure, and hence have used gamma to arbitrarily define likelihood-ratio sets of measure zero under the null hypothesis. This choice is motivated by the downstream derivation of errors of NP tests. since we are unfamiliar with mathlib naming style, we used claude code skill for proof golfing and some syntax correction, eg whether should use unfold or simp only []; Co-authored-by: Rajarshi Mukherjee <ram521@mail.harvard.edu> --- t-measure-probability new-contributor LLM-generated merge-conflict 179/0 Mathlib.lean,Mathlib/Probability/Decision/HypothesisTesting/NeymanPearson.lean 2 4 ['github-actions', 'grunweg', 'mathlib-merge-conflicts'] nobody
148-64519
4 months ago
unknown
unknown
0
39162 anovickis
author:anovickis
feat(Topology/PartitionOfUnity): add pointwise_decomposition_finsum + companions Add three short lemmas to `Mathlib/Topology/PartitionOfUnity.lean` extending the existing `PartitionOfUnity` API: - `pointwise_decomposition_finsum` — for `f : X → ℝ` and `x ∈ s`, `f x = ∑ᶠ i, ρ i x · f x`. This is the pointwise step that lifts to integral linearity in measure-theoretic PoU integration: `∫_s f dμ = ∑ᶠ i, ∫_s (ρ i · f) dμ`. - `one_minus_sum_nonneg` — `0 ≤ 1 - ∑ᶠ i, ρ i x`. Direct rearrangement of the existing `sum_le_one` field; useful as a complement-mass remainder bound in chart-by-chart estimates. - `abs_le_one` — `|ρ i x| ≤ 1`. Combines the existing `nonneg` and `le_one`; convenience for absolute-value bounds. All three are short proofs using existing structure fields (`sum_eq_one`, `sum_le_one`, `nonneg`, `le_one`). These came up while writing chart-by-chart Stokes-on-manifold estimates where one wants to decompose `∫_M f` into chart-supported pieces using a partition of unity. The pointwise identity is the obvious first step; the other two are complementary algebraic bounds that show up in remainder estimates. --- 🤖 Generated with [Claude Code](https://claude.com/claude-code) t-topology new-contributor LLM-generated awaiting-author 27/0 Mathlib/Topology/PartitionOfUnity.lean 1 6 ['github-actions', 'j-loreaux'] j-loreaux
assignee:j-loreaux
145-70018
4 months ago
145-70018
145 days ago
36-60212
36 days
0
26413 michaellee94
author:michaellee94
feat: existence of maximal solutions for ODEs meeting Picard-Lindelöf conditions Add existence proof for maximal solution of ODE using Picard-Lindelöf and a uniqueness theorem using Grönwall's lemma. --- - [x] depends on: #26382 - [x] depends on: #29186 - [x] depends on: #35043 - [ ] depends on: #40687 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis blocked-by-other-PR 662/1 Mathlib.lean,Mathlib/Analysis/ODE/ExistUnique.lean,Mathlib/Analysis/ODE/MaximalSolution.lean,docs/undergrad.yaml 4 114 ['botbaki-review', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'michaellee94', 'winstonyin'] nobody
145-5895
4 months ago
145-63021
145 days ago
0-1069
17 minutes
0
39981 MarAndrey77
author:MarAndrey77
feat(Analysis/Convex): prove Shapley-Folkman lemma ## Summary This PR adds a formal proof of the Shapley-Folkman lemma for finite sums of sets in finite-dimensional real vector spaces. The main theorem states that if a point belongs to a finite sum of convex hulls, then it can be represented as a sum where all but at most `finrank ℝ E` terms belong to the original sets. ## Main declarations * `shapley_folkman` * `shapley_folkman_exists_choice` * `ShapleyFolkmanRep.nonsingleton_card_le_finrank_of_minimal` ## Implementation notes The proof uses a minimal-complexity representation and a perturbation argument to bound the number of nonsingleton convex combinations by `Module.finrank ℝ E`. ## AI usage AI assistance was used during this project. In particular, it was used to help identify existing Mathlib theorems that could be useful for the proof, and to analyze Lean error messages while debugging the formalization. ## Checks * `lake exe mk_all` * `lake build Mathlib.Analysis.Convex.ShapleyFolkman` * no `sorry` * no linter warnings awaiting-author t-analysis new-contributor 1297/0 Mathlib.lean,Mathlib/Analysis/Convex/ShapleyFolkman.lean 2 10 ['MarAndrey77', 'github-actions', 'grunweg', 'wwylele'] nobody
142-84411
4 months ago
unknown
unknown
0
36757 alok
author:alok
feat(Order/Filter): add Filter.IsFree and Filter.IsNonprincipal ## Summary Adds two filter predicates and their basic API: - **`Filter.IsFree`**: no point belongs to every set (`f.ker = ∅`), equivalently `f ≤ cofinite` - **`Filter.IsNonprincipal`**: not equal to `𝓟 s` for any set `s` Every free `NeBot` filter is non-principal (`IsFree.isNonprincipal`), but the converse fails for general filters (e.g. `𝓝 x` in a non-discrete T₁ space is non-principal but not free). For ultrafilters the two notions coincide (`Ultrafilter.isNonprincipal_iff_isFree`). On finite types, no `NeBot` filter is free (`not_isFree_of_neBot`). ## Test plan - [x] `lake build Mathlib.Order.Filter.Cofinite` passes - [x] `lake build Mathlib.Order.Filter.Ultrafilter.Basic` passes 🤖 Generated with [Claude Code](https://claude.com/claude-code) t-order new-contributor LLM-generated 98/1 Mathlib/Order/Filter/Cofinite.lean,Mathlib/Order/Filter/Ultrafilter/Basic.lean 2 3 ['felixpernegger', 'github-actions'] nobody
142-68477
4 months ago
unknown
unknown
0
40677 nrs-status
author:nrs-status
chore: update `Data.PFunctor.Univariate.M` docstring with example usage It is not clear how to make use of the `PFunctor.M` API, an example is added. Following https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Possibly.20infinite.20trees/near/592161797 t-data new-contributor 37/0 Mathlib/Data/PFunctor/Univariate/M.lean 1 11 ['eric-wieser', 'github-actions', 'nrs-status'] nobody
142-13282
4 months ago
145-74910
145 days ago
0-475
7 minutes
0
40539 edwardfalk
author:edwardfalk
feat(NumberTheory/LSeries): trivial and nontrivial zeros of riemannZeta This PR adds the sets of trivial and nontrivial zeros of the Riemann zeta function to `Mathlib/NumberTheory/LSeries/ZetaZeros.lean`: - `riemannZetaTrivialZeros` : the set `{-2, -4, -6, …}`, with a membership lemma and the inclusion into `riemannZetaZeros` (via `riemannZeta_neg_two_mul_nat_add_one`); - `riemannZetaNontrivialZeros` : zeros that are neither trivial nor the point `s = 1`, with a membership lemma and the inclusion into `riemannZetaZeros`; - `riemannHypothesis_iff_nontrivialZeros` : `RiemannHypothesis` is equivalent to the statement that every nontrivial zero has real part `1/2`. Motivation: the set-based formulation is the natural interface for follow-up work on the Riemann xi function (follow-up PR adds `riemannXi` with the unconditional zero characterization `riemannXi s = 0 ↔ s ∈ riemannZetaNontrivialZeros`) and, further out, for Li's criterion, whose coefficient sums range over the nontrivial zero set. Disclosure: this code was written with substantial assistance from Claude (Anthropic), as part of a long-running formalization project; I have reviewed it, it is sorry-free, and it builds and lints clean at master. Please apply the `LLM-generated` label. 🤖 Generated with [Claude Code](https://claude.com/claude-code) t-number-theory new-contributor LLM-generated awaiting-author 51/0 Mathlib/NumberTheory/LSeries/ZetaZeros.lean 1 4 ['felixpernegger', 'github-actions', 'loefflerd'] loefflerd
assignee:loefflerd
141-79505
4 months ago
141-79505
141 days ago
8-25262
8 days
0
33985 YellPika
author:YellPika
feat(Order/OmegaCompletePartialOrder): `OmegaCompletePartialOrder` instance for `Sum` with basic `ωScottContinuous` lemmas This PR adds an `OmegaCompletePartialOrder` instance for `Sum`, along with `ωScottContinuous` lemmas for basic operations (`inl`, `inr`, `elim`). Appropriate lemmas are marked with `@[fun_prop]` so that the `fun_prop` tactic can automatically deduce `ωScottContinuous` proofs for functions involving `Sum`s (e.g. see the proof of `Sum.ωScottContinuous_map`). --- - [x] depends on: #33941 - [x] depends on: #37258 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor large-import t-order awaiting-author merge-conflict 205/3 Mathlib/Data/Sum/Basic.lean,Mathlib/Data/Sum/Order.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/ScottContinuity.lean,Mathlib/Topology/Constructions/SumProd.lean 5 59 ['Komyyy', 'Vierkantor', 'YaelDillies', 'YellPika', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] YaelDillies and pechersky
assignee:pechersky assignee:YaelDillies
139-56743
4 months ago
224-21225
224 days ago
52-43778
52 days
0
40576 zhangmai19
author:zhangmai19
feat(Analysis/Convex): add Shapley-Folkman lemma The Shapley-Folkman lemma is a convex analysis result well-known in economics but rarely stated in math. Roughly: a sum of non-convex sets is "almost convex" — any point in the convex hull of the sum can be written as a sum of points from the individual convex hulls, and at most d of them actually need the convex hull (the rest are already in the original sets). Closes #14427 t-analysis new-contributor awaiting-author 1022/0 Mathlib.lean,Mathlib/Analysis/Convex/ShapleyFolkman.lean,docs/references.bib 3 12 ['felixpernegger', 'github-actions', 'grunweg', 'zhangmai19'] YaelDillies
assignee:YaelDillies
138-33041
4 months ago
unknown
unknown
0
39820 samuelchassot
author:samuelchassot
feat(Combinatorics/SimpleGraph): an eulerian walk exists iff exactly 0 or 2 vertices have odd degree As per the TODO open in `Trails.lean`. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor awaiting-author 671/3 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Eulerian.lean,Mathlib/Combinatorics/SimpleGraph/Trails.lean 3 9 ['SnirBroshi', 'YaelDillies', 'copilot-pull-request-reviewer', 'github-actions'] YaelDillies
assignee:YaelDillies
135-10711
4 months ago
167-8122
167 days ago
0-85186
23 hours
0
38897 0xTerencePrime
author:0xTerencePrime
feat(Combinatorics/SetFamily): formalize 1D Sperner's Lemma parity Formalizes the 1-dimensional Sperner's Lemma (parity version): given a coloring of the `n + 1` vertices of a subdivided line segment with two colors (`ZMod 2`), if the two endpoints have different colors, then the number of color-changing edges is odd. This is **distinct** from `IsAntichain.sperner` in `SetFamily.LYM`, which concerns antichains in a power set. This file formalizes the topological/combinatorial parity statement used as the base case in higher-dimensional Sperner arguments. ## Key declarations - `SpernerColoring`: type-safe coloring via `Fin (n + 1) → ZMod 2` - `edgeDiff`: color difference on adjacent vertices, computed in `ZMod 2` - `totalDiff`: telescoping sum of all edge differences - `diffEdges`: the `Finset` of bichromatic (color-changing) edges - `sperner_1d`: main theorem — `Odd (diffEdges c).card` ## Design notes - Using `Fin (n + 1) → ZMod 2` instead of `ℕ → ZMod 2` makes boundary conditions unrepresentable at the type level, eliminating out-of-bounds cases entirely. - The proof reduces to a telescoping sum in `ZMod 2`, using `CharTwo.add_self_eq_zero` to cancel all interior vertices, avoiding parity case splits. This is intended as the 1D base case, the approach generalizes to higher-dimensional Sperner's Lemma in future work. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor awaiting-author 133/0 Mathlib.lean,Mathlib/Combinatorics/SetFamily/Sperner1D.lean 2 4 ['YaelDillies', 'github-actions', 'grunweg'] YaelDillies
assignee:YaelDillies
134-85002
4 months ago
134-85002
134 days ago
54-39067
54 days
0
38113 robo7179
author:robo7179
feat(SimpleGraph/PerfectGraph): add lemma graph is perfect iff all su… Perfect graph theorem , discussion on zulip thread: [#graph theory > Second Order Monadic Logic](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/Second.20Order.20Monadic.20Logic.20for.20Graph/with/583013775) - [ ] depends on: #37680 - [ ] depends on: #37598 t-combinatorics new-contributor blocked-by-other-PR 54/0 Mathlib/Combinatorics/SimpleGraph/PerfectGraph.lean 1 3 ['github-actions', 'mathlib-dependent-issues'] nobody
134-70376
4 months ago
unknown
unknown
0
37819 YellPika
author:YellPika
feat(Order/OmegaCompletePartialOrder): add `OmegaCompletePartialOrder` instance for `WithBot` with basic `ωScottContinuous` lemmas This is a modification of #34093. See #34093 for details. --- - [x] depends on: #33941 - [x] depends on: #37258 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order merge-conflict 337/10 Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/TypeTags.lean,Mathlib/Order/WithBot.lean 6 6 ['Komyyy', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
134-8910
4 months ago
192-35797
192 days ago
22-4315
22 days
0
40979 thefundamentaltheor3m
author:thefundamentaltheor3m
feat(NumberTheory/ArithmeticFunction/Asymptotics) --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory new-contributor sphere-packing awaiting-author 37/0 Mathlib.lean,Mathlib/NumberTheory/ArithmeticFunction/Asymptotics.lean 2 13 ['b-mehta', 'github-actions', 'loefflerd', 'thefundamentaltheor3m'] loefflerd
assignee:loefflerd
133-21217
4 months ago
133-21241
133 days ago
5-26316
5 days
0
36770 Xmask19
author:Xmask19
feat: invariance of domain via Brouwer's fixed point theorem Continuous and injective maps from Rn to Rn are open mappings. This is shown given Brouwer's fixed point theorem. The specific version of Brouwer's theorem assumed is that a continuous map from the closed unit ball to itself has a fixed point. It is used to show a lemma in this proof. Then assuming that invariance of domain isn't true gives a contradiction with this lemma. --- My supervisor has code for studying topological manifolds which relies on invariance of domain that can be found here: https://github.com/stevensivek/TopologicalManifolds and is planned to be submitted to Mathlib. <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology new-contributor large-import merge-conflict 1587/5 Mathlib.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/AlgebraicTopology/InvarianceOfDomain.lean,Mathlib/Analysis/Convex/GaugeRescale.lean,Mathlib/Topology/Closure.lean,Mathlib/Topology/Order.lean 6 3 ['github-actions', 'mathlib-merge-conflicts'] nobody
131-47995
4 months ago
unknown
unknown
0
37299 XC0R
author:XC0R
feat(NumberTheory): Chebyshev's lower bound on primorial ## Summary Prove `primorial(n) ≥ 2^(n/2)` for all `n ≥ 2` (Chebyshev's 1852 lower bound). This is the lower bound complement to `primorial_le_four_pow`. Addresses the TODO at `Chebyshev.lean` line 50: "Prove Chebyshev's lower bound." ### New file: `Mathlib/NumberTheory/PrimorialLowerBound.lean` **Main theorems:** - `two_pow_le_primorial`: `2 ^ n ≤ primorial (2 * n)` for `n ≥ 29` - `two_pow_div_two_le_primorial`: `2 ^ (n / 2) ≤ primorial n` for `n ≥ 2` **Key intermediates:** - `centralBinom_le_pow_mul_primorial`: `C(2n,n) ≤ (2n)^{π(√(2n)+1)} * primorial(2n)` - `eight_mul_sq_add_le_two_pow`: `8u² + 16u + 8 ≤ 2^u` for `u ≥ 10` ### Proof technique Central binomial decomposition: from `four_pow_lt_mul_centralBinom` and `factorization_choose_le_log`, bound `C(2n,n)` above by `(2n)^{π(√(2n)+1)} * primorial(2n)`. Rearranging gives `primorial(2n) ≥ 2^n` for `n ≥ 29`. Base cases by `norm_num` + `decide`, large `n` analytically via `√n` factoring. ### AI disclosure Claude (Anthropic) was used as a coding assistant for Lean tactic exploration, file structuring, and CI debugging. All proof strategy, mathematical content, and final code have been reviewed and are understood by the author. t-number-theory new-contributor awaiting-author merge-conflict 226/2 Mathlib/NumberTheory/Chebyshev.lean,Mathlib/NumberTheory/Primorial.lean 2 54 ['MichaelStollBayreuth', 'Parcly-Taxel', 'XC0R', 'github-actions', 'mathlib-merge-conflicts', 'wwylele'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
131-47870
4 months ago
212-70648
212 days ago
13-57688
13 days
0
40835 Gracie-z
author:Gracie-z
feat(Probability): add Paley-Zygmund inequality Add the Paley-Zygmund inequality: for a nonneg random variable Z with finite variance and 0 ≤ θ ≤ 1, (1-θ)² E[Z]² ≤ E[Z²] · P(Z > θ E[Z]). The proof uses Jensen's inequality applied to x² on the set {Z > θ E[Z]}. AI disclosure: I used Claude Code as a learning aid while writing this proof. It helped me find the right Mathlib lemma names and understand tactic syntax, but I wrote every line of code myself. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability new-contributor awaiting-author 85/0 Mathlib.lean,Mathlib/Probability/PaleyZygmund.lean 2 20 ['CoolRmal', 'Gracie-z', 'SnirBroshi', 'github-actions'] EtienneC30
assignee:EtienneC30
130-27723
4 months ago
130-27723
130 days ago
12-4673
12 days
0
29871 zach1502
author:zach1502
feat(Matrix/Transvection): Gauss pivot determinant identity and pivot preservation This PR adds two lemmas formalizing standard Gaussian pivot identities: * `Matrix.Transvection.listTransvecCol_mul_mul_listTransvecRow_pivot`: After applying the canonical left/right transvection products that clear the last column and row, the pivot (bottom-right) entry of a matrix is unchanged. Marked `@[simp]`. * `Matrix.Transvection.det_eq_detTopLeft_mul_pivot`: If the pivot entry is nonzero, then the determinant of the matrix factors as the determinant of the top-left block times the pivot entry, after performing the canonical transvections. This is the usual Gauss–pivot determinant identity. * Added simple usage tests in `MathlibTest/matrix.lean` to check that the new lemmas are usable by `simp`/`simpa`. --- --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-author t-algebra new-contributor merge-conflict
label:t-algebra$
94/0 Mathlib/LinearAlgebra/Matrix/Transvection.lean,MathlibTest/matrix.lean 2 4 ['github-actions', 'mathlib-merge-conflicts', 'riccardobrasca', 'zach1502'] nobody
129-57875
4 months ago
371-12347
371 days ago
41-49475
41 days
0
37350 aditya-ramabadran
author:aditya-ramabadran
feat(Analysis/Distribution): define the map from test functions to Schwartz functions Defines the canonical continuous linear map from test functions to Schwartz functions. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> This PR originally also included the induced map from tempered distributions to distributions, `𝓢'(E, F) →ₗ[ℂ] 𝓓'(Ω, F)`, via a real-to-complex bridge `𝓓(Ω, ℝ) →L[ℝ] 𝓢(E, ℂ)`. After feedback from @mcdoll , I removed that second part from this PR so that the `𝓓 → 𝓢` map can be merged separately / later in a follow up PR after we figure out the best way to do it. **Old description:** Put in a separate file since Distribution.lean only imports TestFunction right now and I thought it was cleaner to do in a new bridge file with both the maps. Open to changing this though. * Made use of #36445 (proved first map locally on fixed support spaces first by local seminorm estimates, then used limitCLM) * Needed a real to complex bridge `TestFunction.ToComplexSchwartzMap` since distributions are defined on real-valued test functions but tempered distributions in mathlib are defined on complex-valued Schwartz functions * Induced map $\mathcal S'(E,F) \to \mathcal D'(Ω,F)$ is $\mathbb C$-linear The main important defs are `ContDiffMapSupportedIn.toSchwartzMapCLM` which is the local fixed-support part, then `TestFunction.toSchwartzMapCLM` (where the continuity uses limitCLM to glue the local continuous linear maps on each $\mathcal D_K$), and `TemperedDistribution.toDistributionLM` which is the linear map from tempered distributions to ordinary distributions. Tested with `lake env lean Mathlib/Analysis/Distribution/TestFunctionSchwartz.lean` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor awaiting-author 143/0 Mathlib.lean,Mathlib/Analysis/Distribution/TestFunctionSchwartz.lean 2 27 ['aditya-ramabadran', 'github-actions', 'j-loreaux', 'luigi-massacci', 'mcdoll'] mcdoll
assignee:mcdoll
129-25219
4 months ago
129-25219
129 days ago
77-19533
77 days
0
40984 jujumumu
author:jujumumu
feat(Algebra/Homology): add A-infinity grading data This is the first PR in a series of PRs that are aimed at defining AInfinityCategories in Lean. This initial PR defines the necessary grading definitions and RLinearGradedQuiver, which is the first step to defining what an AInfinityCategory is. We have a general roadmap that looks like Graded Quivers -> AinfinityCategoryStruct -> AInfinityCategory just like how Mathlib has Quiver -> CategoryStruct -> Category. I've been chatting with a few people on [zulip](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/A-Infinity.20Categories) regarding this project. More information can be found at this website: https://marcodavid.net/ainfinity/. We have done a lot of work on defining AInfinityCategories and functors and some basic properties of them. The most recent code can be found [here](https://github.com/marco-david/ainfinity-lean/tree/AInfinityCategories). AI Usage: GPT 5.5 was used in the overall development of this project. But all of the lean code in this first commit was written by humans. We intend for all PRs to be written by humans. t-algebra new-contributor t-category-theory awaiting-author
label:t-algebra$
81/0 Mathlib.lean,Mathlib/Algebra/Homology/AInfinity/Grading.lean 2 4 ['github-actions', 'joelriou'] nobody
125-22698
4 months ago
125-22698
125 days ago
13-18843
13 days
0
40237 syedjafri06193
author:syedjafri06193
fix(scripts): add_deprecations.sh generates additive aliases for @[to_additive] decls Fixes #38550 When a renamed declaration is preceded by `@[to_additive]`, the script previously only emitted a deprecation alias for the multiplicative name. This PR also emits one for the additive counterpart. **Changes:** - Switch `git diff` to `--unified=1` so the unchanged `@[to_additive]` attribute appears as a context line in the diff output - Track that context line in awk; when detected, apply standard mul→add word substitutions to derive additive old/new names and emit a second `@[deprecated] alias` **Example — before:** @[deprecated (since := "2026-06-04")] alias foo_mul := bar_mul **Example — after:** @[deprecated (since := "2026-06-04")] alias foo_mul := bar_mul @[deprecated (since := "2026-06-04")] alias foo_add := bar_add --- - [ ] depends on: #40503 AI disclosure: this fix was developed with Claude (claude.ai). I understand all the changes and can explain every design decision. new-contributor CI awaiting-author LLM-generated 58/4 scripts/add_deprecations.sh 1 10 ['CoolRmal', 'SnirBroshi', 'adomani', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'syedjafri06193'] nobody
124-68999
4 months ago
157-70802
157 days ago
0-1576
26 minutes
0
39406 roos-j
author:roos-j
feat(Analysis): van der Corput's lemma Adds van der Corput's lemma on one-dimensional oscillatory integrals, a standard tool in harmonic analysis. Co-authored-by: Manasa Praveen <Manasa_Praveen@student.uml.edu> --- From https://github.com/roos-j/lean-oscillatory, see there for future plans Zulip discussion [#mathlib4 > Oscillatory integrals in Lean](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Oscillatory.20integrals.20in.20Lean/with/584786060) AI disclosure: The code in this PR was human-written. At some point there were attempts to shorten proofs using AI, but those have since been largely overwritten. Currently there is no significant AI-contributed code. (Edited 6/18/26) t-analysis new-contributor awaiting-author 523/0 Mathlib.lean,Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/OscillatoryIntegrals/VanDerCorput.lean,Mathlib/Topology/Order/IntermediateValue.lean,docs/references.bib 5 69 ['github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'mathlib-triage', 'roos-j', 'sgouezel'] j-loreaux
assignee:j-loreaux
123-53786
4 months ago
124-7127
124 days ago
49-5479
49 days
0
41499 qdiazblanco
author:qdiazblanco
feat(NumberTheory): add bernoulli'_five, bernoulli'_six and riemannZeta_six Add bernoulli'_five and bernoulli'_six as simp lemmas, continuing the existing sequence of explicit values bernoulli'_zero through bernoulli'_four, and use the latter to prove `riemannZeta 6 = π ^ 6 / 945`. Along the way, golf the proofs of `bernoulli'_two`, `bernoulli'_three` and `bernoulli'_four` . These results are upstreamed from the FLT project (ImperialCollegeLondon/FLT#1069). Co-authored-by: William Coram Co-authored-by: Samuel Yin Co-authored-by: Pepa Montero Co-authored-by: Archie Browne --- Original PR by William Coram and Samuel Yin, written with the assistance of Claude and cleaned up by Codex and then by Pepa Montero). I have done some further changes to fit Mathlib conventions and Claude was also used to help shorten the proof of `riemannZeta_six` with an idea by Archie Browne. <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory LLM-generated FLT new-contributor awaiting-author 18/4 Mathlib/NumberTheory/Bernoulli.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaValues.lean 2 5 ['github-actions', 'grunweg', 'qdiazblanco'] nobody
122-86034
3 months ago
123-81722
123 days ago
0-2480
41 minutes
0
36719 NoneMore
author:NoneMore
feat(ModelTheory): add `PartialType` for first-order theories This PR adds the definitions of partial types over theories and over parameter sets, and proves several equivalent characterizations. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [x] depends on: #36667 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic new-contributor 432/17 Mathlib.lean,Mathlib/ModelTheory/PartialTypes.lean,Mathlib/ModelTheory/Semantics.lean 3 7 ['NoneMore', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] nobody
116-47280
3 months ago
116-47367
116 days ago
124-27426
124 days
0
41755 Yangdx02
author:Yangdx02
feat(RingTheory/KrullAkizuki): add the Krull-Akizuki theorem This PR proves the Krull–Akizuki theorem. It proves that if $A$ is a one-dimensional Noetherian domain with fraction field $K$, $L / K$ is a finite extension, and $B$ is a subring of $L$ containing $A$, then $B$ is a Noetherian ring of Krull dimension at most one, and every nonzero ideal of $B$ has finite $A$-length quotient. Main results: * `krullAkizuki_isNoetherianRing` * `krullAkizuki_dimensionLEOne` * `krullAkizuki_quotient_ideal_finiteLength` * `krull_akizuki` --- t-ring-theory new-contributor awaiting-author 684/0 Mathlib.lean,Mathlib/RingTheory/KrullAkizuki.lean,Mathlib/RingTheory/Length.lean 3 11 ['Yangdx02', 'github-actions', 'grunweg', 'tb65536', 'vlad902'] nobody
116-10757
3 months ago
unknown
unknown
0
41396 xixifusi1213-gif
author:xixifusi1213-gif
Rename Real rpow order lemmas Closes #13544. This renames the `Real.rpow` order lemmas so the names indicate which argument is being varied: - `_left` for monotonicity/strict monotonicity in the base - `_right` for monotonicity/strict monotonicity in the exponent The old `Real` names are kept as deprecated aliases, and downstream `Real` usages in Mathlib are updated to the new names. The public `NNReal` and `ENNReal` theorem names are intentionally left unchanged. new-contributor awaiting-author merge-conflict 253/169 Mathlib/Algebra/Module/ZLattice/Summable.lean,Mathlib/Analysis/AbsoluteValue/Equivalence.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/Complex/PhragmenLindelof.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/Distribution/TemperateGrowth.lean,Mathlib/Analysis/Fourier/PoissonSummation.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/MellinTransform.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Analysis/SpecialFunctions/ImproperIntegrals.lean,Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/Base.lean,Mathlib/Analysis/SpecialFunctions/Log/Monotone.lean,Mathlib/Analysis/SpecialFunctions/Pow/Asymptotics.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecificLimits/FloorPow.lean,Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondJensen.lean,Mathlib/MeasureTheory/Function/ContinuousMapDense.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean,Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean,Mathlib/NumberTheory/Bertrand.lean,Mathlib/NumberTheory/Harmonic/EulerMascheroni.lean,Mathlib/NumberTheory/LSeries/PrimesInAP.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/ConvexBody.lean,Mathlib/NumberTheory/NumberField/Discriminant/Basic.lean,Mathlib/NumberTheory/Ostrowski.lean,Mathlib/NumberTheory/SumPrimeReciprocals.lean,Mathlib/NumberTheory/Transcendental/Liouville/Measure.lean,Mathlib/Topology/MetricSpace/Snowflaking.lean 39 4 ['github-actions', 'grunweg', 'mathlib-merge-conflicts'] nobody
115-43259
3 months ago
126-11782
126 days ago
0-21602
6 hours
0
31610 rudynicolop
author:rudynicolop
feat(Computability/NFA): Kleene star closure for Regular Languages via NFA This PR constructs a Kleene star closure for non-epsilon NFAs, and proves that regular languages are closed under Kleene star. The NFA construction is `NFA.kstar`. The main theorems are: - `NFA.accepts_kstar`: demonstrates that `M.kstar` accepts the Kleene star closure of the language of `M`. - `IsRegular.kstar`: demonstrates that regular languages are closed under Kleene star. There is an onging zulip discussion about regular languages in Mathlib: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Regular.20languages.3A.20the.20review.20queue/with/553759136 This discussion is also tracked at #24205. Furthermore, the construction and proofs in this PR are heavily inspired by @TpmKranz from his #15651. #15651 supersedes this PR, so if it is accepted then this PR is not needed. --- - [x] depends on: #31038 <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability new-contributor awaiting-author awaiting-CI merge-conflict 405/7 Mathlib/Computability/NFA.lean 1 17 ['YaelDillies', 'ctchou', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
114-81271
3 months ago
298-72320
298 days ago
43-73349
43 days
0
41922 junjihashimoto
author:junjihashimoto
feat(Analysis/Fourier): the Plancherel theorem for the Clifford-Fourier transform The Clifford–Fourier transform (Ebling–Scheuermann, *IEEE TVCG* 2005; Brackx–De Schepper–Sommen, *J. Fourier Anal. Appl.* 2005) of `f : ℝⁿ → Cl(n,0)` replaces the imaginary unit in the Fourier kernel by the pseudoscalar `ω`: `ℱ f ξ = ∫ x, (cos (2π ⟪x, ξ⟫) - sin (2π ⟪x, ξ⟫) ω) * f x`. For `n ≡ 2, 3 [MOD 4]` the pseudoscalar squares to `-1` (#41920), so left multiplication by the kernel is complex scalar multiplication for the pseudoscalar complex structure, and the Clifford–Fourier transform is *literally* the ordinary vector-valued Fourier transform (`cliffordFourierIntegral_eq_fourier`). Plancherel's theorem (`integral_norm_sq_cliffordFourier`), the Fourier inversion formula (`cliffordFourierInv_cliffordFourier`) and the `L²` isometry (`cliffordFourierL2`) are then inherited from the vector-valued `L²` Fourier theory. The case `n = 3` is the transform used for 3D vector field analysis in visualization; `n ≡ 2 [MOD 4]` covers the two-dimensional (quaternionic-style) transform, where the pseudoscalar is not central. - [ ] depends on: #41920 t-analysis new-contributor blocked-by-other-PR 568/0 Mathlib.lean,Mathlib/Analysis/CliffordAlgebra/Euclidean.lean,Mathlib/Analysis/Fourier/CliffordPlancherel.lean 3 4 ['github-actions', 'mathlib-dependent-issues'] nobody
113-10465
3 months ago
113-16259
113 days ago
0-967
16 minutes
0
38316 tannerduve
author:tannerduve
feat(Order/OmegaCompletePartialOrder): least fixed point and Scott induction Adds `ContinuousHom.lfp` for endomorphisms on an ωCPO with `⊥`, as the `ωSup` of the iterate chain from `⊥`, together with `map_lfp`, `isFixedPt_lfp`, `lfp_le_fixed`, `isLeast_lfp`, and the Scott induction theorem `lfp_induction` (specialized from a more general seed-based `ωSup_iterate_induction`). For `Part.fix`, adds: * `Part.exists_mem_approx_of_mem_fix`: if `y ∈ Part.fix g x`, some finite approximation of `g` already contains `y`. * `Part.Fix.approx_eq_iterate_bot` and `Part.Fix.approxChain_eq_iterateChain`: bridges between `Fix.approx`/`approxChain` and `f^[n] ⊥`/`iterateChain`. * `Part.fix_eq_lfp`: `Part.fix g = ContinuousHom.lfp (.ofFun g hc)` when `g` is ω-Scott continuous. * `Part.fix_scott_induction`: Scott induction specialized to `Part.fix`. * `Part.fix_induction_mem`: membership induction on `Part.fix`, derived from `fix_scott_induction`. new-contributor awaiting-author t-order 118/9 Mathlib/Control/LawfulFix.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,docs/references.bib 3 7 ['b-mehta', 'github-actions'] b-mehta
assignee:b-mehta
108-10172
3 months ago
114-74019
114 days ago
87-55158
87 days
0
41945 generantao
author:generantao
feat(Polish): add analyticSet_graph_iff_measurable Proved that a function between standard Borel spaces (with specified Polish topologies) is Borel measurable iff its graph is analytic. Supported by NSF grant DMS 2425401. - [ ] depends on: #41944 Co-authored-by: Zelong Li <zelongl@andrew.cmu.edu> Co-authored-by: Aaron Liu <aaronliu2008@outlook.com> Co-authored-by: Wojciech Nawrocki <wjn@lean-fro.org> --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability blocked-by-other-PR new-contributor 81/2 Mathlib/MeasureTheory/Constructions/Polish/Basic.lean,Mathlib/MeasureTheory/MeasurableSpace/CountablyGenerated.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean 3 4 ['github-actions', 'mathlib-dependent-issues'] nobody
107-48496
3 months ago
unknown
unknown
0
31766 SuccessMoses
author:SuccessMoses
feat(Topology/EMetricSpace): continuity of arc length fixes half of #31751 --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology awaiting-author merge-conflict 396/0 Mathlib.lean,Mathlib/Topology/EMetricSpace/ArcLength.lean,Mathlib/Topology/EMetricSpace/BoundedVariation.lean 3 41 ['SnirBroshi', 'SuccessMoses', 'Zeta-Wu', 'alreadydone', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-merge-conflicts'] nobody
105-53829
3 months ago
334-61440
334 days ago
2-76060
2 days
0
41944 generantao
author:generantao
feat(CountablyGenerated): add measurableSet_graph This PR proves that the graph of a measurable function into a countably separated space is measurable. It also renames the currently proven special case `measurableSet_graph` to `measurableSet_graph_real`, deprecating the current name. Supported by NSF grant DMS 2425401. Co-authored-by: Wojciech Nawrocki <wjn@lean-fro.org> --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability 28/2 Mathlib/MeasureTheory/MeasurableSpace/CountablyGenerated.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean 2 22 ['CoolRmal', 'Vtec234', 'generantao', 'github-actions', 'plp127', 'vlad902'] nobody
105-45615
3 months ago
109-56073
109 days ago
2-70596
2 days
1
37716 slavanaprienko
author:slavanaprienko
feat(LinearAlgebra/Matrix/Determinant): Desnanot-Jacobi identity This PR adds the Desnanot-Jacobi identity (also known as the Lewis Carroll identity or Dodgson condensation): for any (n+2)×(n+2) matrix M over a commutative ring, $$\det(M) \cdot \det(M_{1,n}^{1,n}) = \det(M_1^1) \cdot \det(M_n^n) - \det(M_1^n) \cdot \det(M_n^1)$$ The proof follows Bressoud's *Proofs and Confirmations* (Cambridge University Press, 1999): multiply M by an auxiliary matrix built from columns of the adjugate, then compare determinants. This yields the identity premultiplied by det(M). To cancel, we pass to a universal polynomial ring (an integral domain with nonzero determinant), then specialize back to arbitrary commutative rings. It seems there's some interest in adding this: https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Determinantal.20identity.20and.20the.20Cauchy.20matrix.20determinant/with/582946873 --- t-algebra new-contributor merge-conflict
label:t-algebra$
217/0 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Determinant/DesnanotJacobi.lean 2 14 ['SnirBroshi', 'github-actions', 'grunweg', 'kim-em', 'mathlib-merge-conflicts', 'slavanaprienko'] nobody
104-6667
3 months ago
129-55802
129 days ago
53-45751
53 days
0
35442 dhyan-aranha
author:dhyan-aranha
feat: Affine line with doubled origin counter example --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor awaiting-author t-algebraic-geometry merge-conflict 305/0 Counterexamples.lean,Counterexamples/AffineLineWithDoubledOrigin.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean 4 22 ['BryceT233', 'chrisflav', 'dhyan-aranha', 'github-actions', 'mathlib-merge-conflicts'] nobody
102-81249
3 months ago
265-1553
265 days ago
0-2563
42 minutes
0
41454 EzequielS2
author:EzequielS2
feat(Topology/ContinuousMap): domMulAct action on bounded continuous maps - Define the action of `Mᵈᵐᵃ` on bounded continuous functions `α →ᵇ β`. - Add basic instances and simp lemmas. --- - [ ] depends on: #41449 new-contributor t-topology blocked-by-other-PR 184/0 Mathlib.lean,Mathlib/Topology/ContinuousMap/Bounded/DomAct.lean,Mathlib/Topology/ContinuousMap/DomAct.lean 3 8 ['EzequielS2', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-dependent-issues'] j-loreaux
assignee:j-loreaux
101-12809
3 months ago
103-49889
103 days ago
21-26280
21 days
0
41919 junjihashimoto
author:junjihashimoto
feat(Algebra): the Cayley-Dickson construction, octonions and sedenions We define the Cayley–Dickson double of a (possibly non-associative) star ring, and show that it preserves `NonAssocRing` and `StarRing`, so the construction can be iterated indefinitely: quaternions → octonions → sedenions → trigintaduonions → …. The octonions and sedenions are defined as the corresponding levels of the tower over `Quaternion R`. The key lemma is `CayleyDickson.unit_mul_unit_mul`: the doubling unit `ℓ = ⟨0, 1⟩` satisfies `ℓ * (ℓ * x) = -x` at *every* level of the tower, by a computation that only uses that `star` is an involution — no alternativity is developed (and indeed the sedenions are not alternative and have zero divisors). Left multiplication by `ℓ` is therefore a complex structure on every Cayley–Dickson algebra; in a follow-up PR this yields Plancherel's theorem and the Fourier inversion formula for the hypercomplex (octonion, sedenion, …) Fourier transforms, by reduction to the vector-valued `L²` Fourier theory. TODO (deliberately left for future work, noted in the module docstring): alternativity of the double of an associative star ring (Moufang identities), the multiplicative norm for composition algebras. - [ ] depends on: (nothing) t-algebra new-contributor awaiting-author
label:t-algebra$
315/0 Mathlib.lean,Mathlib/Algebra/CayleyDickson.lean,Mathlib/Algebra/Octonion.lean 3 9 ['github-actions', 'vihdzp'] nobody
101-4566
3 months ago
101-4566
101 days ago
12-12305
12 days
2
41165 gnahz04
author:gnahz04
feat(Analysis/InnerProductSpace): the representer theorem Adds the representer theorem (Schölkopf version): infinite dimensional kernel space represented by finite number of data points. Discussed in #mathlib4 ("RKHS representer theorem"). **AI disclosure.** I used Claude Code (Claude Opus 4.8) to draft and iterate the Lean proof. I work in kernel methods / RKHS, understand the statement and proof, and can justify the design choices to reviewers. 🤖 Generated with [Claude Code](https://claude.com/claude-code) t-analysis new-contributor LLM-generated awaiting-author 51/0 Mathlib/Analysis/InnerProductSpace/Reproducing.lean 1 11 ['felixpernegger', 'github-actions', 'gnahz04', 'j-loreaux'] j-loreaux
assignee:j-loreaux
98-85471
3 months ago
110-78613
110 days ago
21-78262
21 days
0
41477 lucifer1004
author:lucifer1004
feat(Analysis/InnerProductSpace): add Hilbert-Schmidt inner product and norm This PR adds the Hilbert-Schmidt (Frobenius) inner product and norm on linear maps `E →ₗ[𝕜] F` between finite-dimensional inner product spaces over an `RCLike` field, built through `InnerProductSpace.Core`. The instances are scoped under `LinearMap.Norms.HilbertSchmidt` (rather than global, since `E →ₗ[𝕜] F` should not carry a canonical norm), mirroring the `Matrix.Norms.Frobenius` convention. Main declarations: - `LinearMap.hilbertSchmidtCore` - `LinearMap.hilbertSchmidtNormedAddCommGroup` - `LinearMap.hilbertSchmidtInnerProductSpace` - `LinearMap.trace_adjoint_comp_eq_sum_inner` - `LinearMap.hilbertSchmidt_inner_eq_trace` - `LinearMap.hilbertSchmidt_norm_sq_eq_re_trace` - `LinearMap.hilbertSchmidt_norm_sq_eq_sum_norm_sq` This is the foundation for a sequence of PRs proving the Eckart-Young-Mirsky best low-rank approximation theorems on top of `LinearMap.singularValues`; see the notes below the fold. Verification: - Builds - `runLinter` passes - `lint-style` clean - No `sorry` AI use disclosure: this PR was developed with the assistance of Claude (via Claude Code), which was used to draft and refactor the Lean proofs under my direction. I have reviewed the final code, can justify the design decisions, and take responsibility for it. --- Following review feedback on Zulip, the original four-file PR has been split; this PR now contains only the Hilbert-Schmidt norm, and the proofs across all four files have been refactored to be more compact. The follow-ups are: - Ky Fan inequality + Eckart-Young in Frobenius norm (branch `eckart-young-frobenius`, depends on this PR); - the operator norm equals the largest singular value (branch `opnorm-singular-values`, independent); - Eckart-Young in operator norm (branch `eckart-young-spectral`, independent). I would especially appreciate feedback on whether the scoped `LinearMap.Norms.HilbertSchmidt` instance is the right API here, or whether a type-synonym approach (à la `WithLp`) would be preferred. t-analysis new-contributor LLM-generated awaiting-author 120/0 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/HilbertSchmidt.lean 2 6 ['TJHeeringa', 'github-actions', 'j-loreaux', 'ocfnash'] j-loreaux
assignee:j-loreaux
98-29567
3 months ago
103-50051
103 days ago
20-73722
20 days
0
35812 khwilson
author:khwilson
feat(MeasureTheory/Group/GeometryOfNumbers): successive minima and existence of a directional basis Define the successive minima of a discrete subgroup of a real vector space with respect to a convex set. These invariants show up throughout the geometry of numbers and are the focus of Minkowski's Second Theorem (whose statement is left here with a `proof_wanted`). Note: The key lemma is that the "gauge set" of the convex set is closed. I took the approach of showing that it is sequentially closed. There's an alternative approach via showing it's the union of a finite number of closed sets. I personally thought this approach was more intuitive, but the union approach may result in a slightly shorter proof. Co-authored-by: Yaël Dillies <yael.dillies@gmail.com> --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [x] depends on: #xyz [optional extra text] --> - [x] depends on #37738 - [x] depends on #37740 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability merge-conflict 350/36 Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/Convex/Body.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean,Mathlib/MeasureTheory/Group/GeometryOfNumbers.lean,Mathlib/NumberTheory/NumberField/Units/Regulator.lean 7 99 ['Vierkantor', 'YaelDillies', 'github-actions', 'joneugster', 'khwilson', 'mathlib-merge-conflicts', 'ocfnash', 'sgouezel'] nobody
95-28668
3 months ago
95-28668
95 days ago
90-9647
90 days
0
41622 benjub
author:benjub
feat(Order): add subset_Icc_iff and Set.OrdConnected.eq_Icc Add two lemmas relating to closed bounded intervals in a preorder: - `subset_Icc_iff : s ⊆ Icc a b ↔ a ∈ lowerBounds s ∧ b ∈ upperBounds s` in `Mathlib/Order/Bounds/Basic.lean` characterizes containment in a closed bounded interval. This is the version "with witnesses" of `bddBelow_bddAbove_iff_subset_Icc`, and we prove the latter as a corollary. - `OrdConnected.eq_Icc (s : Set α) (hs : OrdConnected s) (ha : IsLeast s a) (hb : IsGreatest s b) : s = Icc a b` in `Mathlib/Order/Interval/Set/OrdConnected.lean` gives a sufficient condition to be a closed bounded interval. It uses the previous lemma in its proof. --- **Motivation:** I plan to use `OrdConnected.eq_Icc` to show that a set is closed when it is ordconnected and contains its infimum and supremum. This will allow to use the existing "continuous induction principle" `IsClosed.mem_of_ge_of_forall_exists_gt` to shorten the (compiling) proof in the draft PR #41552. t-order new-contributor merge-conflict 9/3 Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/Interval/Set/OrdConnected.lean 2 6 ['benjub', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] nobody
94-53863
3 months ago
94-53864
94 days ago
25-14914
25 days
0
33163 Aaron1011
author:Aaron1011
feat: prove subgroup of (M -> Z) is finitely generated --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor awaiting-author merge-conflict 5/0 Mathlib/RingTheory/DedekindDomain/Dvr.lean 1 3 ['erdOne', 'github-actions', 'mathlib-merge-conflicts'] alreadydone
assignee:alreadydone
91-11200
2 months ago
316-69395
316 days ago
5-78603
5 days
0
34722 GrigorenkoPV
author:GrigorenkoPV
feat(Data/Finset/RangeDistance): bound distance between elements of `Finset.range` --- Rebase of https://github.com/leanprover-community/mathlib4/pull/26347 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-data awaiting-author merge-conflict 34/0 Mathlib.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Data/Finset/RangeDistance.lean 3 8 ['GrigorenkoPV', 'Vierkantor', 'github-actions', 'joneugster', 'mathlib-merge-conflicts', 'mathlib-splicebot', 'plp127'] pechersky
assignee:pechersky
90-67818
2 months ago
227-73130
227 days ago
52-16075
52 days
0
38843 FordUniver
author:FordUniver
chore(Combinatorics/SimpleGraph/Copy): replace file-wide `@[expose]` with selective exposure Removes the file-wide `@[expose] public section` and restores selective `@[expose]` only on the small constructive `def`s that need cross-module reduction: `Copy.toEmbedding`, `Copy.id`, `Copy.ofLE`, `Copy.topEmbedding` — each has an exported `@[simp]` lemma proved by `rfl` that needs the definition unfolded to typecheck. Replaces `@[simps!]` on `topEmbedding` with an explicit `@[simp] topEmbedding_apply` to avoid a private `_proof_1` term leaking into generated lemma names; adds `toEmbedding_apply` to match the existing `toHom_apply`. Switches `IsIndContained` from `def` to `abbrev` so the structural alias `Nonempty (G ↪g H)` stays transparent, matching `IsContained` and `Free`. Co-authored-by: Malte Jackisch <45597826+MaltyBlanket@users.noreply.github.com> --- **Step 3/5 of the `Copy` / `InducedCopy` refactor-feat stack.** The noncomputable counts `copyCount` and `unlabeledCopyCount` are deliberately *not* exposed (see [@plp127's review](https://github.com/leanprover-community/mathlib4/pull/38631#discussion_r3161902380) on #38631 explaining that unfolding a `classical`-`Fintype.card` body is rarely what you want); the downstream consumers in #38631 bridge via public `*_eq_nat_card` lemmas introduced in #38931 instead. - [ ] depends on: #38745 Diff for the changes *just* in this PR over its predecessor: [link](https://github.com/FordUniver/mathlib4/compare/chore/copy-spelling...chore/copy-expose) t-combinatorics new-contributor blocked-by-other-PR tech debt merge-conflict 251/246 Mathlib/Combinatorics/SimpleGraph/Copy.lean 1 7 ['github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
90-38255
2 months ago
180-18497
180 days ago
0-74062
20 hours
4
38931 FordUniver
author:FordUniver
chore(Combinatorics/SimpleGraph/Copy): replace classical `Fintype.card` with `Nat.card` Replaces definitions of `copyCount` and `unlabeledCopyCount` with `Nat.card` instead of `Fintype.card` as well as several `Fintype` occurrences with `Finite`. The body of `uniqueUnlabeledCopyBot` is restructured to use `Finite.injective_iff_surjective` since the `Fintype.card_congr` route no longer applies under the weakened `[Finite W]` hypothesis. Adds public `copyCount_eq_nat_card` and `unlabeledCopyCount_eq_nat_card` bridge lemmas so downstream files can characterize the counts (e.g. for `Nat.card_le_card_of_injective` bridging in `InducedCopy.lean`) without unfolding. Co-authored-by: Malte Jackisch <45597826+MaltyBlanket@users.noreply.github.com> --- **Step 4/5 of the `Copy` / `InducedCopy` refactor-feat stack.** As suggested in #38631 by @SnirBroshi and @YaelDillies. I went with `Nat` over `ENat` based on Yael's preference (but I think that could easily be changed to `ENat`). Quite a bit of churn was needed as a consequence. - [ ] depends on: #38843 Diff for the changes *just* in this PR over its predecessor: [link](https://github.com/FordUniver/mathlib4/compare/chore/copy-expose...chore/copy-nat-card) new-contributor t-combinatorics large-import blocked-by-other-PR tech debt merge-conflict 281/257 Mathlib/Combinatorics/SimpleGraph/Copy.lean 1 10 ['FordUniver', 'SnirBroshi', 'github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
90-38252
2 months ago
unknown
unknown
3
40768 AlexeyMilovanov
author:AlexeyMilovanov
Add a reachability characterization for PFun.fix Add a `ReflTransGen` characterization of `PFun.fix` and use it to simplify one Turing machine proof. new-contributor merge-conflict 27/13 Mathlib/Computability/TuringMachine/Config.lean,Mathlib/Data/PFun.lean 2 3 ['github-actions', 'mathlib-merge-conflicts'] nobody
90-35746
2 months ago
90-35747
90 days ago
40-57718
40 days
0
37062 tannerduve
author:tannerduve
feat(Computability): Turing join and semilattice structure on Turing degrees - Add `Partrec.kronecker` (equality test) and `Partrec.join` (disjoint union by parity) in `Partrec.lean` - Prove `Nat.RecursiveIn` is closed under computable conditionals (`cond_const`, `cond`) - Show each component reduces to the join (`left_le_join`, `right_le_join`) and the join is the least upper bound (`join_le`) - Establish `SemilatticeSup` instance on `TuringDegree` t-computability new-contributor large-import awaiting-author merge-conflict 311/15 Mathlib/Computability/Partrec.lean,Mathlib/Computability/RecursiveIn.lean,Mathlib/Computability/TuringDegree.lean 3 19 ['Komyyy', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'tannerduve'] YaelDillies
assignee:YaelDillies
89-51090
2 months ago
142-32130
142 days ago
68-21416
68 days
0
41989 bryan-hu
author:bryan-hu
feat(NumberTheory/LegendreSymbol/QuadraticChar/Basic): characterize when products are squares ## Motivation This is a basic application of the quadratic character of a finite field that can be used in many instances, for example later to characterize squares in `ℤ_[p]`. ## Summary `FiniteField.isSquare_mul_iff` characterizes when the product of two nonzero elements in a finite field is a square, using the quadratic character. ## Testing - `lake build Mathlib.NumberTheory.LegendreSymbol.QuadraticChar.Basic -q --log-level=info` - `lake exe lint-style Mathlib.NumberTheory.LegendreSymbol.QuadraticChar.Basic` - `git diff --check upstream/master...HEAD` ## AI assistance I was working with AI assistance (Claude Code, Codex) to formalize some fun number theory I like (Hilbert symbols, towards reciprocity laws) to help me learn Lean. I used AI assistance to highlight some small pieces that might be appropriate for mathlib, and to help me properly format these small items for mathlib. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory new-contributor LLM-generated awaiting-author 31/0 Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/Basic.lean 1 10 ['bryan-hu', 'felixpernegger', 'github-actions', 'loefflerd'] loefflerd
assignee:loefflerd
89-8160
2 months ago
108-6037
108 days ago
2-67744
2 days
0
41935 martinamaggio
author:martinamaggio
feat(Probability/Independence): grouping an independent family by pairwise disjoint index sets If `m : ι → MeasurableSpace Ω` is an independent family of σ-algebras and `G : ι' → Set ι` is a pairwise disjoint family of index sets, then the family of grouped σ-algebras `fun i' ↦ ⨆ j ∈ G i', m j` is again independent. This is the indexed-family version of the existing two-group lemma `indep_iSup_of_disjoint`, from which it follows by induction on the finite subfamily, peeling off one group at a time against the union of the remaining ones. As usual it is proven for the kernel notion of independence (`Kernel.iIndep_iSup_of_disjoint`) and specialized to independence w.r.t. a measure (`iIndep_iSup_of_disjoint`) and to conditional independence (`iCondIndep_iSup_of_disjoint`). The lemma is the natural bridge from an independent family to block/grouping arguments — e.g. Markov-style properties of recursions driven by disjoint sets of randomness sources. It was developed for a formalization of end-to-end latency distributions of periodic task chains, where it establishes that successive chain states, being measurable w.r.t. σ-algebras of disjoint groups of an independent family, form an independent family themselves. t-measure-probability new-contributor awaiting-author 52/0 Mathlib/Probability/Independence/Basic.lean,Mathlib/Probability/Independence/Conditional.lean,Mathlib/Probability/Independence/Kernel/Indep.lean 3 4 ['bocowgill', 'github-actions'] kex-y
assignee:kex-y
89-549
2 months ago
89-549
89 days ago
23-59477
23 days
0
42718 justinhalford
author:justinhalford
feat(Combinatorics/SetFamily): the linear algebra method and the Oddtown theorem Adds the basic form of the **linear algebra method** for set families (Babai–Frankl) together with its standard first application, the **Oddtown theorem** (Berlekamp, 1969). ### What's here - `linearIndependent_of_dotProduct_eq_ite` — a family of vectors whose pairwise dot products form the identity matrix is linearly independent. Stated over an arbitrary field, so it does not rely on positivity; this is the engine of the method. - `Finset.charVec` — the characteristic vector of a finset, valued in a semiring, with `charVec_apply`. - `Finset.charVec_dotProduct_charVec` — the dot product of two characteristic vectors is the cardinality of the intersection. - `Finset.card_le_card_of_odd_card_of_even_card_inter` — **Oddtown**: a family of finsets of odd cardinality, any two of which meet in an even number of elements, has at most `Fintype.card α` members. ### Why I could not find the linear algebra method anywhere in Mathlib. Searching for `Oddtown`, `Eventown`, Fisher's inequality, `RayChaudhuri` and `FranklWilson` returns nothing, and exactly one file under `Mathlib/Combinatorics/` uses `finrank`/`LinearIndependent` (`SimpleGraph/LapMatrix.lean`, for spectral graph theory). Since the technique underlies a large family of extremal results, the general lemma is stated separately from Oddtown so that Eventown, Fisher's inequality and Ray-Chaudhuri–Wilson can be added on top later. If this does already exist under a formulation I did not think to search for, I would be glad to be pointed at it. ### Verification Compiles against `master` (Lean 4.34.0-rc1) with no errors or warnings. `#print axioms` on each of the three results reports only `[propext, Classical.choice, Quot.sound]`. No `sorry`, no new axioms, no `set_option` overrides. ### Disclosure This file was written with AI assistance (Claude Opus 5) and then checked against the Lean kernel; that is noted in the module docstring as well. Every statement, proof and docstring has been read through by me before submission. Happy to adjust naming, generality or placement to whatever the maintainers prefer. ### Process note I am a first-time contributor and I am aware the usual convention is to raise a new file on Zulip before opening a PR. Apologies for going in the other order — I am glad to move the discussion to `#mathlib4` if that is preferred, or to close this if the material is not wanted. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/leanprover-community/mathlib4) t-combinatorics new-contributor 144/0 Mathlib.lean,Mathlib/Combinatorics/SetFamily/Oddtown.lean 2 3 ['D-Thomine', 'github-actions'] nobody
88-13226
2 months ago
88-17236
88 days ago
88-17163
88 days
0
42533 attilavjda
author:attilavjda
chore(Analysis/SpecialFunctions/Pow/Real): deprecate six misnamed duplicate log/rpow lemmas 6 `Pow/Real.lean` lemmas duplicate with misleading names, replace by deprecated aliases Some of these deprecated lemmas names, or their intended proofs seem mixed up too, which could be updated perhaps after the deprecation period? [Used Aristotle in making this PR. It found the duplicates, generated guidance, example code, and verifications.](https://github.com/attilavjda/formal-contributions/blob/main/analysis-rpow-dedup/RpowLogDedup.lean) --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor awaiting-author 6/20 Mathlib/Analysis/SpecialFunctions/Pow/Real.lean 1 6 ['attilavjda', 'github-actions', 'j-loreaux', 'wwylele'] nobody
88-2576
2 months ago
88-37108
88 days ago
5-55093
5 days
0
34054 YellPika
author:YellPika
feat(Order/OmegaCompletePartialOrder): OmegaCompletePartialOrder instance for `Sigma` with basic `ωScottContinuous` lemmas This PR adds an `OmegaCompletePartialOrder` instance for `Sigma` along with `ωScottContinuous` lemmas for basic operations (`mk`, `fst`, `snd`). Appropriate lemmas are marked with `@[fun_prop]` so that the `fun_prop` tactic can automatically deduce `ωScottContinuous` proofs for functions involving `Sigma`s. --- - [x] depends on: #33941 - [x] depends on: #37258 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order please-merge-master awaiting-author merge-conflict 231/0 Mathlib/Data/Sigma/Order.lean,Mathlib/Order/OmegaCompletePartialOrder.lean 2 30 ['Vierkantor', 'YellPika', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] grunweg
assignee:grunweg
86-60369
2 months ago
261-65957
261 days ago
16-56783
16 days
0
42540 shaikidris
author:shaikidris
feat(Combinatorics): asymptotic / natural density and linear-growth bridge Redefines asymptotic / natural density around a shared finite relative-density profile, instead of density along `SummationFilter`s. * `Set.partialDensity S A b` — proportion of `A ∩ Iio b` in `S` * `Set.lowerDensity` / `Set.upperDensity` — liminf / limsup of that profile * `Set.HasDensity` — convergence of the profile; `Set.HasNaturalDensity` — `ℕ` case with `A = univ` * Basic API: `[0,1]` bounds, empty/univ, finite sets have density `0`, `Finset.range` characterizations * Drops the filter-parametric layer and the junk-valued `naturalDensity` * Opt-in `Mathlib.Combinatorics.AsymptoticDensity.LinearGrowth`: exact lower/upper density equalities for the counting function `n ↦ #{x ∈ Finset.range n | x ∈ S}`, with no `LinearGrowth` dependency on the core density module * Retargets the Schnirelmann TODO to this module; Schnirelmann-density comparison proofs are left for follow-up (the linear-growth bridge is proved here) AI disclosure: this PR is primarily LLM-generated (OpenAI Codex). I reviewed the design (with review comments feedback), public APIs and edge-cases. I primarily used these as part of my other project on quantitative descent and I think there is a merit in reusability. --- --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics LLM-generated 358/2 Mathlib.lean,Mathlib/Combinatorics/AsymptoticDensity.lean,Mathlib/Combinatorics/AsymptoticDensity/LinearGrowth.lean,Mathlib/Combinatorics/Schnirelmann.lean 4 16 ['D-Thomine', 'b-mehta', 'github-actions', 'jcommelin', 'mathlib-bors', 'shaikidris', 'wwylele'] nobody
84-17088
2 months ago
84-17148
84 days ago
93-33015
93 days
0
42764 attilavjda
author:attilavjda
chore(GroupTheory): make `smul_eq_self_of_mem_zpowers` `to_additive` This PR makes `smul_eq_self_of_mem_zpowers` amenable to `@[to_additive]` by reproving it via the action stabilizer and `Subgroup.zpowers_le`. This allows the additive counterpart to be generated automatically, removing the hand-written additive proof and the `to_additive existing` workaround. Used Aristotle AI to find this refactor and help write the proof. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-group-theory new-contributor awaiting-author 4/11 Mathlib/GroupTheory/OrderOfElement.lean 1 11 ['SnirBroshi', 'attilavjda', 'github-actions', 'tb65536'] nobody
83-70816
2 months ago
87-10363
87 days ago
0-1352
22 minutes
0
42847 Rshin2024
author:Rshin2024
feat(Geometry/Manifold): pull back charted space and groupoid structures along a homeomorphism ## Summary Given a charted space `M` modelled on `H` and a homeomorphism `e : N ≃ₜ M`, this PR endows `N` with the pulled-back charted-space structure whose atlas is `{e.transOpenPartialHomeomorph c | c ∈ atlas H M}`, and shows the transport preserves every satisfied structure groupoid: * `Homeomorph.pullbackChartedSpace e : ChartedSpace H N` — the pulled-back structure (marked `@[instance_reducible]`, not an instance, since it is one of many possible structures on `N`), with `[simp, mfld_simps]` lemmas `pullbackChartedSpace_chartAt` and `pullbackChartedSpace_atlas`, and the atlas-membership helper `transOpenPartialHomeomorph_mem_pullbackChartedSpace_atlas`. * `Homeomorph.pullback_symm_trans` — the key computation: coordinate changes of the transported atlas are **equal** (not merely equivalent) to coordinate changes of the original atlas, because for a global homeomorphism `e.toOpenPartialHomeomorph.symm ≫ₕ e.toOpenPartialHomeomorph` is the identity chart (a private helper lemma). * `Homeomorph.pullback_hasGroupoid e G` — consequently `HasGroupoid N G` holds for every structure groupoid `G` that `M` satisfies. * `Homeomorph.pullbackStructomorph e G : Structomorph G N M` — `e` itself is a `G`-structomorphism for the pulled-back structure. ## Relation to existing API `Homeomorph.chartedSpace` already transports charted-space structures, via the `IsLocalHomeomorph` machinery (chart-by-chart, through local inverses). The construction here is substantively different: it composes the *global* homeomorphism with each chart of the entire supplied atlas, so coordinate changes are unchanged on the nose and every structure groupoid transports with no `ClosedUnderRestriction G` assumption. The definition uses the existing `Homeomorph.transOpenPartialHomeomorph` API for the precomposition. ## Motivation Given a specified homeomorphism `e : N ≃ₜ M`, this construction transports the `G`-charted-space structure of `M` to `N`. It does not compare the transported structure with any pre-existing structure on `N`; that comparison is the substantive issue in questions such as the smooth four-dimensional Poincaré conjecture (see `Mathlib.Geometry.Manifold.PoincareConjecture`). The transport direction is nonetheless the natural prerequisite for stating such comparisons, and does not currently exist in Mathlib at the groupoid level. Compiles with the single import `Mathlib.Geometry.Manifold.HasGroupoid`, current module boilerplate (`module` / `public import` / `@[expose] public section`), no `sorry`, no new axioms; `lake exe mk_all --check` passes. Naming is open to review. t-differential-geometry new-contributor awaiting-author 129/0 Mathlib.lean,Mathlib/Geometry/Manifold/PullbackGroupoid.lean 2 4 ['github-actions', 'grunweg'] nobody
83-18550
2 months ago
83-18550
83 days ago
1-31258
1 day
0
42884 Rshin2024
author:Rshin2024
feat(Geometry/Manifold): equivalence of C^n structomorphisms and diffeomorphisms ## Summary For manifolds `M`, `M'` modelled on the same model with corners `I`, Mathlib has two notions of `C^n` isomorphism with no connection between them: `Structomorph (contDiffGroupoid n I) M M'` (a homeomorphism whose chart transports lie in the groupoid) and `M ≃ₘ^n⟮I, I⟯ M'` (`Diffeomorph`). This PR provides both directions of the equivalence, in a new module `Mathlib.Geometry.Manifold.ContMDiff.Structomorph`: * `Structomorph.liftPropOn` — a structomorphism satisfies the `IsLocalStructomorphWithinAt` lift property on its whole source: at each point the chart-composed structomorphism is *definitionally* the witness. * `Structomorph.contMDiff` / `Structomorph.toDiffeomorph` — via `isLocalStructomorphOn_contDiffGroupoid_iff`, the lift property converts to `ContMDiffOn` on `univ`, in both directions using `Structomorph.symm`. * `Diffeomorph.toStructomorph` — conversely, `ContMDiff` in both directions gives the lift property by the same `iff`; `LocalInvariantProp.liftPropWithinAt_indep_chart` re-expresses it in an arbitrary pair of atlas charts; and the resulting local groupoid elements glue by `StructureGroupoid.locality`, using `closedUnderRestriction'` and `StructureGroupoid.mem_of_eqOnSource`. ## Motivation These are the two isomorphism notions of the charted-space and manifold layers respectively; connecting them lets statements phrased at the groupoid level (e.g. transport of structure along homeomorphisms) be consumed at the `ContMDiff` level and vice versa. The two maps are packaged as `structomorphEquivDiffeomorph : Structomorph (contDiffGroupoid n I) M M' ≃ (M ≃ₘ^n⟮I, I⟯ M')`, with `rfl`-level inverse proofs via a new `Structomorph.toHomeomorph_injective`. Independent of #42847 (neither imports the other), though motivated by the same project. Compiles with the two imports `ContMDiff.Atlas` and `Diffeomorph`; current module boilerplate; no `sorry`, no new axioms; `lake exe mk_all --check` passes. Naming open to review. t-differential-geometry new-contributor awaiting-author 141/0 Mathlib.lean,Mathlib/Geometry/Manifold/ContMDiff/Structomorph.lean 2 6 ['felixpernegger', 'github-actions', 'grunweg'] nobody
83-18416
2 months ago
83-18416
83 days ago
0-42263
11 hours
0
40687 michaellee94
author:michaellee94
feat(Analysis/ODE): uniqueness of integral curves on intervals and intersections Adds some uniqueness lemmas for integral curves of a Lipschitz vector field, proved via Grönwall's inequality. Split out from #26413 (existence of maximal solutions). t-analysis new-contributor awaiting-author 91/0 Mathlib/Analysis/ODE/ExistUnique.lean 1 7 ['github-actions', 'grunweg', 'michaellee94', 'sgouezel'] ADedecker
assignee:ADedecker
83-426
2 months ago
83-427
83 days ago
50-66684
50 days
1
40900 judsonpereirademoura-netizen
author:judsonpereirademoura-netizen
feat(Analysis/Matrix): spectral theorem for normal matrices Adds the **spectral theorem for normal matrices** over `ℂ`: every normal matrix (`IsStarNormal M`, i.e. `Mᴴ * M = M * Mᴴ`) is unitarily diagonalizable, `M = U * diagonal μ * Uᴴ`. This extends `Matrix.IsHermitian.spectral_theorem` (Hermitian case) to the normal case. Specific to `ℂ` (algebraically closed): a real normal matrix — e.g. a planar rotation `![![0,-1],![1,0]]` — is normal but not orthogonally diagonalizable over `ℝ`, hence the hypothesis `Matrix n n ℂ` rather than `RCLike`. ### API (mirrors `Matrix.IsHermitian.*`) - `normalEigenvectorBasis`, `normalEigenvalues`, `normalEigenvectorUnitary` - `mulVec_normalEigenvectorBasis` (eigen equation); `normalEigenvectorUnitary_apply`/`_mulVec` - `spectral_theorem_of_isStarNormal` (`M = U * diagonal μ * Uᴴ`) - `exists_isUnitary_conj_diagonal_of_isStarNormal` (existential), `isStarNormal_of_isUnitary_conj_diagonal` (converse), `isStarNormal_iff_exists_isUnitary_conj_diagonal` (iff) ### Proof Cartesian decomposition `M = A + i•B` with `A = selfAdjointPart ℝ M` and `B = -i • skewAdjointPart ℝ M`, both Hermitian. Normality of `M` is exactly `Commute A B`, so `A`, `B` are commuting symmetric operators; the space splits as an internal direct sum of their joint eigenspaces (`LinearMap.IsSymmetric.directSum_isInternal_of_commute`). A subordinate orthonormal basis diagonalizes both, hence `M`. --- *Notes for reviewers:* developed with AI assistance (Claude); the mathematics and proofs were checked by the author. Locally validated against `v4.30.0-rc2`: `lake build` clean (0 warnings, all style linters), `lake exe runLinter` passed, `#print axioms` = `[propext, Classical.choice, Quot.sound]`. Opened as **draft** pending CI build against `master`. Naming/visibility happy to adjust per review. new-contributor t-analysis awaiting-author LLM-generated merge-conflict 315/0 Mathlib.lean,Mathlib/Analysis/Matrix/NormalSpectrum.lean 2 10 ['github-actions', 'judsonpereirademoura-netizen', 'mathlib-merge-conflicts', 'themathqueen', 'wwylele'] nobody
82-57105
2 months ago
unknown
unknown
0
35402 samueloettl
author:samueloettl
feat(Dynamics/BirkhoffSum): birkhoffAverage const --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> I think this is useful and one of these should be a simp lemma. I'm not really sure if I got the naming of the theorems correct. When generalizing to the assumption (n : R) ≠ 0 instead of the special case CharZero R with n ≠ 0 I had to use "open Classical in". I'm a bit unfamiliar with that part so please check if this makes sense. See also https://github.com/leanprover-community/mathlib4/pull/35307#discussion_r2823586252 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-dynamics new-contributor merge-conflict 14/0 Mathlib/Dynamics/BirkhoffSum/Average.lean 1 41 ['Maldooor', 'github-actions', 'lua-vr', 'mathlib-merge-conflicts', 'mcdoll', 'plp127', 'samueloettl'] nobody
81-75548
2 months ago
81-80349
81 days ago
178-1592
178 days
1
42954 alejandro-soto-franco
author:alejandro-soto-franco
feat(Topology/MetricSpace/Holder): products of Hölder continuous functions `HolderWith` uses `add`, `smul` and `comp`, and `MemHolder` uses `add`, `smul` and `nsmul`. This PR adds the relevant product. `HolderOnWith.mul` and `HolderWith.mul` take a bound on each factor, since a product of Hölder continuous functions is Hölder continuous only where both factors are bounded, and give the constant `Cf * C' + Cg * C` from the splitting `f x * g x - f y * g y = f x * (g x - g y) + (f x - f y) * g y`. The target is a `SeminormedRing`, so the estimate uses `‖a * b‖ ≤ ‖a‖ * ‖b‖`. No new imports: the file already reaches `nnnorm_mul_le`. The statements come from a note of mine on Hölder classes on manifolds, where the same splitting gives the product estimate for Hölder seminorms. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology LLM-generated new-contributor 43/0 Mathlib/Topology/MetricSpace/Holder.lean 1 4 ['alejandro-soto-franco', 'github-actions', 'grunweg'] nobody
81-60428
2 months ago
unknown
unknown
0
39048 AydenLamp
author:AydenLamp
feat(Algebra/Group/Defs): add positive natural exponentiation for semigroups Introduce exponentiation for semigroups with positive natural exponents. This serves as a foundation for future results on Green’s relations and Rees matrix constructions in semigroups. --- Co-authored-by: Howard Straubing <howard.straubing@bc.edu> Soleil Repple <repple@bc.edu> Nathan Hart-Hodgson <harthodg@bc.edu> <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra awaiting-author merge-conflict
label:t-algebra$
109/0 Mathlib.lean,Mathlib/Algebra/Group/SemigroupPow.lean 2 8 ['ScottCarnahan', 'github-actions', 'mathlib-merge-conflicts', 'wwylele'] nobody
80-56542
2 months ago
unknown
unknown
0
40241 AydenLamp
author:AydenLamp
feat(Algebra/Group): add ppow_succ lemmas and idempotent power results for finite semigroups Add two successor lemmas to `PNatPowAssoc`: - `ppow_succ`: `x ^ (n + 1) = x ^ n * x` - `ppow_succ'`: `x ^ (n + 1) = x * x ^ n` Add `SemigroupIdempotentPow` with results on idempotent elements in finite semigroups and monoids: - `Semigroup.exists_idempotent_ppow`: in a finite semigroup, every element has an idempotent positive power - `Monoid.exists_idempotent_pow`: in a finite monoid, every element has a nonzero idempotent power - `Monoid.exists_pow_sandwich_eq_self`: in a finite monoid, if `a = x * a * y`, then there exist positive powers `n₁` and `n₂` such that `x ^ n₁ * a = a` and `a * y ^ n₂ = a` Co-authored-by: Howard Straubing <howard.straubing@bc.edu> Co-authored-by: Soleil Repple <repple@bc.edu> Co-authored-by: Nathan Hart-Hodgson <harthodg@bc.edu> --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor awaiting-author merge-conflict
label:t-algebra$
154/2 Mathlib.lean,Mathlib/Algebra/Group/PNatPowAssoc.lean,Mathlib/Algebra/Group/SemigroupIdempotentPow.lean 3 13 ['faenuccio', 'github-actions', 'mathlib-merge-conflicts'] faenuccio and mattrobball
assignee:faenuccio assignee:mattrobball
80-55986
2 months ago
123-58647
123 days ago
34-6914
34 days
0
38848 jcreinhold
author:jcreinhold
feat(AlgebraicTopology/SimplicialSet): exists_isPushout_of_ne_top Every proper subcomplex of a simplicial set extends by attaching a single cell along its boundary, exhibited as a pushout of `∂Δ[n] ↪ Δ[n]`. This is the per-cell input for cell-by-cell filtrations of monomorphisms in `SSet`. Adapted from @joelriou 's [proof](https://github.com/joelriou/topcat-model-category/blob/813338a8c88cfe0096deed7e3ba7daf92d4a1c71/TopCatModelCategory/SSet/Boundary.lean#L187). I also added the supporting lemma `Types.isPullback_of_eq_setPreimage` (set-preimage square is a pullback in `Type u`). AI use: Claude helped locate `subtype_val_mono` and the `backward.isDefEq.respectTransparency` option. t-algebraic-topology new-contributor merge-conflict 117/3 Mathlib/AlgebraicTopology/SimplicialSet/Boundary.lean,Mathlib/CategoryTheory/Limits/Types/Pullbacks.lean 2 38 ['dagurtomas', 'github-actions', 'jcreinhold', 'joelriou', 'mathlib-merge-conflicts', 'mckoen'] nobody
79-61164
2 months ago
79-61165
79 days ago
109-40413
109 days
0
42885 Rshin2024
author:Rshin2024
feat(Geometry/Manifold): interior chart and radial unit map for the closed ball ## Summary First installment of a series giving the closed unit ball in `EuclideanSpace ℝ (Fin n)` a smooth manifold-with-boundary structure over `EuclideanHalfSpace n` — the first such structure above dimension 1. The series follows the idioms of the 1-dimensional `Icc` instance (`Instances/Real.lean`): charts as `OpenPartialHomeomorph` into the half-space, inverses made total by clamping, correctness proved on `target`. This PR provides: * `DiskInteriorChart` — the chart covering the open ball, shifting by `2 • e₀` into the half-space interior; the inverse shifts back and radially clamps (`radialClamp w = (1 ⊓ ‖w‖⁻¹) • w`, total by `0⁻¹ = 0`), agreeing with the true inverse on the target — so no global continuity lemma for the clamp is needed. * `unitOr` — the radial unit map into the sphere, made total by a junk value at `0`, with the rescaling identities (`smul_unitOr`, `unitOr_smul`) and continuity away from the origin needed by the boundary charts. * `EuclideanSpace.abs_coord_le_norm` — each coordinate is bounded by the norm (placement advice welcome; it may belong in Analysis). Sequels (prepared, opened after this lands): the boundary charts via stereographic projection with verified inverse laws; the `ChartedSpace` and `IsManifold (𝓡∂ n)` instances with all transitions proven `C^k`; and the boundary identification `∂D = sphere`. Complete development available on request. Motivated by making the ball form of the smooth 4-dimensional Poincaré conjecture statable (cf. `Geometry/Manifold/PoincareConjecture.lean`). No `sorry`, no new axioms; `lake exe mk_all --check` passes. Naming open to review. t-differential-geometry new-contributor awaiting-author merge-conflict 196/0 Mathlib.lean,Mathlib/Geometry/Manifold/Instances/Disk.lean 2 4 ['github-actions', 'grunweg', 'mathlib-merge-conflicts'] nobody
78-85737
2 months ago
83-18816
83 days ago
0-43672
12 hours
0
43020 mpacholski
author:mpacholski
feat(CovariantDerivative): add induced covariant derivative for Hom-bundles This adds the construction of an induced covariant derivative on the Hom-bundle `Hom(V₁, V₂)` given existing covariant derivatives on the vector bundles `V₁` and `V₂`. Main additions: * `IsCovariantDerivativeOn.homBundleAux`: Defines the local operation acting on a section `ϕ` of the Hom-bundle, satisfying the expected Leibniz rule `(∇_X ϕ) v = ∇_X (ϕ v) - ϕ(∇_X v)`. * `IsCovariantDerivativeOn.homBundleAux_tensorial`: Proves the tensoriality of the auxiliary evaluation. * `IsCovariantDerivativeOn.homBundleAt`: Packages the pointwise operation into a continuous linear map. * `IsCovariantDerivativeOn.homBundle`: Proves that the covariant derivative on `Hom(V₁, V₂)` locoally satisfies the covariant derivative axioms. * `CovariantDerivative.homBundle`: Bundles the globally defined covariant derivative on `Hom(V₁, V₂)` and proves it satisfies the covariant derivative axioms on the universal set. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #42955 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry new-contributor blocked-by-other-PR 361/36 Mathlib.lean,Mathlib/Geometry/Manifold/Notation.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Hom.lean,Mathlib/Geometry/Manifold/VectorBundle/Hom.lean,MathlibTest/DifferentialGeometry/Notation/Basic.lean 5 7 ['github-actions', 'grunweg', 'mathlib-bors', 'mathlib-dependent-issues', 'mpacholski'] nobody
77-24164
2 months ago
79-83890
79 days ago
0-426
7 minutes
2
38014 cduenasnavarro
author:cduenasnavarro
feat(InformationTheory): linear codes over finite fields and minimum distance properties Define linear codes over a finite field `F` as finite-dimensional subspaces of `Fin n → F`, together with their minimum Hamming distance. Main definitions: * `LinearCode` * `minDist` * `LinearCodeWithDist` * `hammingSphere` Main results: * `minDist_eq_sInf_pairwiseDist`: characterisation of the minimum distance via pairwise distances * `disjoint_spheres`: Hamming spheres of radius `t` around distinct codewords are disjoint if `2 * t < d` Pending: * Choosing an adequate book reference --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability new-contributor awaiting-author merge-conflict 179/0 Mathlib.lean,Mathlib/InformationTheory/Coding/LinearCode.lean 2 55 ['ScottCarnahan', 'SnirBroshi', 'YaelDillies', 'cduenasnavarro', 'github-actions', 'mathlib-merge-conflicts', 'rkirov', 'vihdzp', 'wrenna-robson', 'wwylele'] YaelDillies
assignee:YaelDillies
76-72676
2 months ago
148-20835
148 days ago
61-41028
61 days
0
39270 m13683320924-hue
author:m13683320924-hue
feat: prove strict group homs are stable under Prod.map This PR proves that strict group homomorphisms are stable under product maps. It adds an auxiliary lemma showing that the range restriction of a strict group homomorphism is an open quotient map, and uses it to prove that `MonoidHom.prodMap` preserves `Topology.IsStrictMap`. Towards #38421. t-topology new-contributor merge-conflict 44/0 Mathlib/Topology/Algebra/Group/Basic.lean 1 8 ['eric-wieser', 'github-actions', 'm13683320924-hue', 'mathlib-merge-conflicts'] nobody
76-72427
2 months ago
unknown
unknown
0
43064 j-white
author:j-white
feat(Analysis/Fourier/AddCircle): add evaluation lemmas for fourier characters Add the argument-side counterparts of the index lemmas (`fourier_add` / `fourier_neg`): * `fourier_eval_add` * `fourier_eval_neg` * `fourier_eval_sub` Additionally, add the index-subtraction lemma `fourier_sub` (with `simp` normal form `fourier_sub'`, mirroring `fourier_add'`). t-analysis new-contributor 23/0 Mathlib/Analysis/Fourier/AddCircle.lean 1 2 ['github-actions'] nobody
76-69840
2 months ago
76-70238
76 days ago
1-20825
1 day
0
40006 tautschnig
author:tautschnig
feat(Data/ZMod/Basic): idempotents in ZMod (p^d) are exactly {0, 1} Add sq_eq_self_iff_eq_zero_or_one: in ZMod (p^d) for prime p and d > 0, x^2 = x iff x = 0 or x = 1. This generalises eq_zero_or_one_of_sq_eq_self (which requires CancelMonoidWithZero, i.e., no zero divisors) to the prime-power case. ZMod (p^d) has zero divisors for d >= 2, so the mul_left_injective₀ argument used by the existing lemma does not apply. The proof works by lifting to ℕ, using that if gcd(a, b) = 1 and p^d | a*b then p^d divides one of a or b (by Euclid's lemma), then noting that a = x.val and b = x.val - 1 are consecutive naturals and hence coprime. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor awaiting-author 56/0 Mathlib/Data/ZMod/Basic.lean 1 4 ['Julian-Kuelshammer', 'github-actions', 'tb65536'] joneugster
assignee:joneugster
76-7527
2 months ago
76-7545
76 days ago
88-10146
88 days
0
36698 ghseeli
author:ghseeli
feat(Combinatorics/Enumerative): Latin squares This PR defines Latin rectangles and Latin squares and proves an extension theorem using Hall's Marriage Theorem. ## Main results - `group_to_cayley_table`: every finite group `G` yields a `LatinSquare G G`. - `latin_rectangle_extends_one_row`: a (non-square) `LatinRectangle` extends to a `LatinRectangle` with one more row. This is an application of **Hall's Marriage Theorem**, `hallMatchingsOn.nonempty`. - `latin_rectangle_extends_to_latin_square`: a `LatinRectangle` extends to a `LatinSquare`. This is included in a new file `Combinatorics/Enumerative/LatinSquare.lean`. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [x] depends on: #37190 - [x] depends on: #37720 - [ ] depends on: #42363 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics blocked-by-other-PR 535/0 Mathlib.lean,Mathlib/Combinatorics/Enumerative/DoubleCounting.lean,Mathlib/Combinatorics/Enumerative/LatinSquare.lean,docs/references.bib 4 81 ['SnirBroshi', 'cjrl', 'eric-wieser', 'ghseeli', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vlad902'] nobody
75-51005
2 months ago
95-46940
95 days ago
46-86081
46 days
0
33714 idontgetoutmuch
author:idontgetoutmuch
feat(Geometry/Manifold): riemannian metrics exist Using a partition of unity, we prove the existence of a smooth Riemannian metric. The idea is that there are two equivalent ways of defining a bilinear positive definite form: 1. pull back the inner product on the model fiber `F` along the inverse trivialization; 2. push a pair of fiber vectors forward into `F`, then apply the inner product there. Definition (1) makes smoothness straightforward: locally the form is smooth, provided the domain is taken small enough: the intersection of the trivialization's base set with the chart source. Global smoothness then follows from a partition of unity. It is less clear (to me at least) how to get positive-definiteness from (1). This is what (2) is for: with vectors pushed forward into an inner product space, positivity, definiteness and symmetry are immediate. We prove the two definitions agree, transferring these properties back to (1). One step remains. Mathlib's `ContMDiffRiemannianMetric` requires the the set where the form is less than 1 to be von Neumann bounded: Let $E$ be a real vector bundle over a manifold $B$, with model fiber $F$, an inner product space; $E_b$ the fiber over $b \in B$ and $e_i : E_b \to F$ the fiberwise linear isomorphism onto the model fiber given by the trivialization $i$, and $\|\cdot\|$ the norm on $F$. Let $\{f_i\}_{i \in B}$ be a smooth partition of unity subordinate to the trivialization domains. Then the set $\{v \in E_b : g_b(v,v) < 1\}$ is bounded, where $g_b(v,v) = \sum_i f_i(b)\, \|e_i v\|^2$. Since the $f_i(b)$ sum to $1$, at least one is positive; fix such an $i$, so $f_i(b) > 0$, and write $e := e_i$. Because $f_i(b) > 0$, the point $b$ lies in the support of $f_i$, and subordinacy places that support inside the small set where the trivialization $e$ is available. For any $v$ in our set, the single $i$-th term is at most the whole sum: $f_i(b) \|e v\|^2 \le g_b(v,v) \lt 1$. Since $f_i(b) > 0$, we can divide to obtain $$\|e v\| \le \sqrt{\tfrac{1}{f_i(b)}}.$$ Setting $r = {1}/{f_i(b)}$, every $v$ in our set satisfies $e v \in \overline{B}_F\!\big(0, r\big)$, and since $v = e^{-1}(e v)$ lies in $e^{-1}$ of that closed ball. Our set is therefore contained in the image of a bounded ball under the continuous linear map $e^{-1}$. That image is bounded (continuous linear maps preserve boundedness), and a subset of a bounded set is bounded. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry new-contributor awaiting-author 544/0 Mathlib.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Geometry/Manifold/ExistsRiemannianMetric.lean,Mathlib/Topology/VectorBundle/HomBilinear.lean 4 202 ['Rida-Hamadani', 'github-actions', 'grunweg', 'idontgetoutmuch'] nobody
75-14579
2 months ago
105-17539
105 days ago
138-75422
138 days
0
43130 dannyhe652
author:dannyhe652
feat(SimpleGraph/Coloring): add Kempe chain recoloring lemmas ## Summary This PR develops the Kempe-chain machinery used in the proof of Vizing's theorem. It adds the two-color Kempe subgraph associated to an edge coloring, proves the basic degree bound for vertices in this subgraph, and defines Kempe components. It then implements swapping two colors along one Kempe component and proves that the result remains a valid proper edge coloring. Main additions: - `vizing.kempeSubgraph` - `vizing.kempeComponent` - `vizing.swapColors` - `vizing.inSwapZone` - `vizing.swapKempe` The PR also adds recoloring lemmas that allow extending a partial edge coloring across one missing edge when a color is available at both endpoints. This is the second PR in the Vizing theorem stack and builds on the edge-coloring API from the previous PR. ## Co-authors Co-authored-by: Daniel Raggi <dr495@cam.ac.uk> Co-authored-by: Aristotle (Harmonic) <aristotle-harmonic@harmonic.fun> Co-authored-by: Claude Opus 4.5 & 4.6 <noreply@anthropic.com> - [ ] depends on: #43128 [My first PR in the Vizing theorem stack] --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #43128 [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor blocked-by-other-PR 616/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/EdgeColoring.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Recolor.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Swap.lean 6 4 ['github-actions', 'mathlib-dependent-issues'] nobody
75-12869
2 months ago
unknown
unknown
3
43133 dannyhe652
author:dannyhe652
feat(SimpleGraph/Coloring): prove the Vizing adjacency lemma ## Summary This PR completes the fan argument needed for Vizing's theorem. It proves the existence of maximal fans, applies the fan dichotomy, and combines the fan rotation and Kempe-chain recoloring steps to prove the Vizing adjacency lemma. Main addition: - `vizingAdjacencyLemma` The adjacency lemma is the key local result used by the final induction proof: it converts the maximal-fan argument into the recoloring step needed to extend a partial edge coloring. This is the fourth PR in the Vizing theorem stack and builds on the Vizing fan API and rotation lemma from the previous PR. ## Co-authors Co-authored-by: Daniel Raggi <dr495@cam.ac.uk> Co-authored-by: Aristotle (Harmonic) <aristotle-harmonic@harmonic.fun> Co-authored-by: Claude Opus 4.5 & 4.6 <noreply@anthropic.com> - [ ] depends on: #43128 [My first PR in the Vizing theorem stack] - [ ] depends on: #43130 [My second PR in the Vizing theorem stack] - [ ] depends on: #43132 [My third PR in the Vizing theorem stack] --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR t-combinatorics new-contributor 1692/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/EdgeColoring.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Recolor.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Swap.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan/Adjacency.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan/Rotation.lean 10 3 ['github-actions', 'mathlib-dependent-issues'] nobody
75-8424
2 months ago
unknown
unknown
1
43132 dannyhe652
author:dannyhe652
feat(SimpleGraph/Coloring): define Vizing fans and rotation ## Summary This PR introduces Vizing fans for partial edge colorings. It defines the fan structure rooted at an uncolored edge, proves basic missing-color bounds for fan arguments, and establishes the fan maximality dichotomy used later in the adjacency lemma. Main additions: - `vizing.IsFan` - `vizing.IsFanExtension` - cardinality bounds for `missingColors` - the fan dichotomy lemma - the fan-rotation step The rotation lemma isolates the Term-A case of the standard Vizing fan argument: when the apex and the last fan vertex share a missing color, the coloring can be rotated and extended. This is the third PR in the Vizing theorem stack and builds on the Kempe-chain recoloring machinery from the previous PR. ## Co-authors Co-authored-by: Daniel Raggi <dr495@cam.ac.uk> Co-authored-by: Aristotle (Harmonic) <aristotle-harmonic@harmonic.fun> Co-authored-by: Claude Opus 4.5 & 4.6 <noreply@anthropic.com> - [ ] depends on: #43128 [My first PR in the Vizing theorem stack] - [ ] depends on: #43130 [My second PR in the Vizing theorem stack] --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor blocked-by-other-PR 961/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/EdgeColoring.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Recolor.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Swap.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan/Rotation.lean 9 3 ['github-actions', 'mathlib-dependent-issues'] nobody
75-6838
2 months ago
75-12858
75 days ago
0-103
1 minute
2
41827 mpacholski
author:mpacholski
feat(LinearAlgebra/TensorProduct): port lifts API from PiTensorProduct Port the `lifts` API from `PiTensorProduct` to the binary `TensorProduct` in `Mathlib/LinearAlgebra/TensorProduct/Basic.lean`. This API provides the necessary machinery to represent any tensor element as a formal sum of pure generators in the free monoid, which is a key prerequisite for defining and proving properties of the binary projective seminorm. It is a direct reflection of lifts API in `Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean`. Specifically, add: - `FreeAddMonoid.toTensorProduct`: proves that the image of a free monoid element is the sum of its pure tensor components. - `lifts`: defines the set of all valid monoid representations of a given tensor. - `nonempty_lifts`: proves that every tensor has at least one representation. - `lifts_zero`, `lifts_add`, `lifts_smul`: establish the algebraic behavior of lifts under addition, zero, and scalar multiplication. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #41731 t-algebra new-contributor awaiting-author
label:t-algebra$
62/0 Mathlib/LinearAlgebra/TensorProduct/Basic.lean 1 16 ['github-actions', 'mathlib-dependent-issues', 'mpacholski', 'themathqueen'] nobody
74-68932
2 months ago
74-68932
74 days ago
15-39564
15 days
2
28630 Antidite
author:Antidite
feat(Archive/Imo): right isosceles configuration in the complex plane feat(Archive/Imo): right isosceles configuration in the complex plane This adds `Archive/Imo/Imo1975Q3.lean`, formalizing a triangle configuration with points A=0, B=1, C=z and auxiliary points R, P, Q built via complex rotations and sine-based scale factors. Main results: * `angle_and_distance`: ∠QRP = π/2 and dist Q R = dist R P. * Key identity `QRP_rot90`: (Q z).z − R.z = e^{iπ/2} · ((P z).z − R.z). Design/Style: * Minimal imports; module docstring; semantic lemma names; all definitions and theorems live under the namespace `IMO.TriangleConfig`. Moves: - (none) Deletions: - (none) --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) IMO awaiting-author new-contributor merge-conflict 196/0 Archive.lean,Archive/Imo/Imo1975Q3.lean 2 37 ['Antidite', 'LLaurance', 'github-actions', 'jsm28', 'mathlib-merge-conflicts'] jsm28
assignee:jsm28
74-42792
2 months ago
400-68538
400 days ago
46-21614
46 days
0
35313 LexinonCraft
author:LexinonCraft
feat: IMO 2025 Q4 This adds a solution for problem 4 from the International Math Olympiad 2025. --- IMO new-contributor awaiting-author merge-conflict 631/0 Archive.lean,Archive/Imo/Imo2025Q4.lean 2 5 ['LexinonCraft', 'github-actions', 'jsm28', 'mathlib-merge-conflicts'] jsm28
assignee:jsm28
74-36191
2 months ago
264-48497
264 days ago
3-29649
3 days
0
43134 dannyhe652
author:dannyhe652
feat(SimpleGraph/Coloring): prove Vizing's theorem ## Summary This PR proves Vizing's theorem for finite simple graphs. It combines the lower bound on chromatic index with the induction-on-edges upper bound. The upper bound removes one edge, applies the induction hypothesis to color the smaller graph with `Δ + 1` colors, and then uses the Vizing adjacency lemma to extend the coloring back across the removed edge. Main additions: - the lower bound `Δ ≤ χ'` - the upper bound `χ' ≤ Δ + 1` - the final Vizing theorem statement that the chromatic index is either `Δ` or `Δ + 1` This is the final PR in the Vizing theorem stack and depends on the adjacency lemma from the previous PR. ## Co-authors Co-authored-by: Daniel Raggi <dr495@cam.ac.uk> Co-authored-by: Aristotle (Harmonic) <aristotle-harmonic@harmonic.fun> Co-authored-by: Claude Opus 4.5 & 4.6 <noreply@anthropic.com> - [ ] depends on: #43128 [My first PR in the Vizing theorem stack] - [ ] depends on: #43130 [My second PR in the Vizing theorem stack] - [ ] depends on: #43132 [My third PR in the Vizing theorem stack] - [ ] depends on: #43133 [My fourth PR in the Vizing theorem stack] --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR t-combinatorics new-contributor LLM-generated 2025/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/EdgeColoring.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Recolor.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Swap.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan/Adjacency.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan/Rotation.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingTheorem.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingTheorem/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingTheorem/UpperBound.lean 13 3 ['github-actions', 'mathlib-dependent-issues'] nobody
74-30378
2 months ago
unknown
unknown
0
38560 Deicyde
author:Deicyde
feat(Geometry/Manifold): `MfldCat` is a `CartesianMonoidalCategory` We prove that the category `MfldCat` of C^n manifolds is a Cartesian monoidal category, and also derive the `BraidedCategory` instance. This PR introduces a new file `Geometry/Manifold/Category/MfldCat/CartesianMonoidal` closely mirroring the structure of `Algebra/Category/Grp/CartesianMonoidal.lean` --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #38223 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry blocked-by-other-PR new-contributor merge-conflict 281/0 Mathlib.lean,Mathlib/Geometry/Manifold/Category/MfldCat/Basic.lean,Mathlib/Geometry/Manifold/Category/MfldCat/CartesianMonoidal.lean,Mathlib/Geometry/Manifold/ContMDiffMap.lean 4 4 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
72-57165
2 months ago
unknown
unknown
0
42035 eliottcassidy2000
author:eliottcassidy2000
feat: proof of the planar gaussian moment conjecture These are very involved proofs and would benefit from being split into multiple PRs. Guidance is appreciated. I lack institutional backing, but these are all sorry-free and only depend on default axioms, so should be reasonable to merge. t-ring-theory new-contributor awaiting-author merge-conflict 9540/0 Archive.lean,Archive/GaussianMomentConjecture/AlgebraicDescent.lean,Archive/GaussianMomentConjecture/ChannelDilation.lean,Archive/GaussianMomentConjecture/ChargeGeometry.lean,Archive/GaussianMomentConjecture/ConstantTermRelations.lean,Archive/GaussianMomentConjecture/DvdKAssembly.lean,Archive/GaussianMomentConjecture/DvdKCharZeroClosing.lean,Archive/GaussianMomentConjecture/DvdKConnector.lean,Archive/GaussianMomentConjecture/DvdKFrame.lean,Archive/GaussianMomentConjecture/DvdKFrameDegree.lean,Archive/GaussianMomentConjecture/DvdKFrameExtraction.lean,Archive/GaussianMomentConjecture/DvdKFrameHSide.lean,Archive/GaussianMomentConjecture/DvdKHderiv.lean,Archive/GaussianMomentConjecture/DvdKHderivAssembly.lean,Archive/GaussianMomentConjecture/DvdKInterface.lean,Archive/GaussianMomentConjecture/DvdKMultiplicativeClosing.lean,Archive/GaussianMomentConjecture/DvdKOmegaWiring.lean,Archive/GaussianMomentConjecture/DvdKPhiCoincide.lean,Archive/GaussianMomentConjecture/DvdKTranspose.lean,Archive/GaussianMomentConjecture/DvdKTransposeAssembly.lean,Archive/GaussianMomentConjecture/DvdKTwoCharge.lean,Archive/GaussianMomentConjecture/DvdKUniqueChannel.lean,Archive/GaussianMomentConjecture/DvdKUnitOrigin.lean,Archive/GaussianMomentConjecture/DvdKUnivariateReduction.lean,Archive/GaussianMomentConjecture/DvdKWeierstrass.lean,Archive/GaussianMomentConjecture/DvdKZeroCharge.lean,Archive/GaussianMomentConjecture/FaceDictionary.lean,Archive/GaussianMomentConjecture/FaceHeightFloor.lean,Archive/GaussianMomentConjecture/FaceReferenceChannel.lean,Archive/GaussianMomentConjecture/FaceSeed.lean,Archive/GaussianMomentConjecture/FaceSeedChannel.lean,Archive/GaussianMomentConjecture/FaceSeedDescent.lean,Archive/GaussianMomentConjecture/FrameBridge.lean,Archive/GaussianMomentConjecture/FrameBridgeAssembly.lean,Archive/GaussianMomentConjecture/FrameBridgeDvd.lean,Archive/GaussianMomentConjecture/FrameBridgePacket.lean,Archive/GaussianMomentConjecture/FrameBridgeRoots.lean,Archive/GaussianMomentConjecture/FrobeniusFace.lean,Archive/GaussianMomentConjecture/FrobeniusResidue.lean,Archive/GaussianMomentConjecture/GalRootAction.lean,Archive/GaussianMomentConjecture/HeightWitness.lean,Archive/GaussianMomentConjecture/IntegralFaceSeedDescent.lean,Archive/GaussianMomentConjecture/IntegralRelations.lean,Archive/GaussianMomentConjecture/IntegralSpecialization.lean,Archive/GaussianMomentConjecture/IntegralTorusSpecialization.lean,Archive/GaussianMomentConjecture/LaurentConstantTerm.lean,Archive/GaussianMomentConjecture/LowestFaceBridge.lean,Archive/GaussianMomentConjecture/LowestFaceExistence.lean,Archive/GaussianMomentConjecture/LowestFacePackage.lean,Archive/GaussianMomentConjecture/Main.lean,Archive/GaussianMomentConjecture/MomentRelations.lean,Archive/GaussianMomentConjecture/MomentTransport.lean,Archive/GaussianMomentConjecture/NC2.lean,Archive/GaussianMomentConjecture/NormalizedMoment.lean,Archive/GaussianMomentConjecture/NormalizedResidue.lean,Archive/GaussianMomentConjecture/NullconeDescent.lean,Archive/GaussianMomentConjecture/OrbitProduct.lean,Archive/GaussianMomentConjecture/OrbitProductConcrete.lean,Archive/GaussianMomentConjecture/OrbitProductFromSmallRoots.lean,Archive/GaussianMomentConjecture/OrbitProductReduced.lean,Archive/GaussianMomentConjecture/OrbitProductWrapper.lean,Archive/GaussianMomentConjecture/PhiIrreducible.lean,Archive/GaussianMomentConjecture/PhiVieta.lean,Archive/GaussianMomentConjecture/RatFuncClosing.lean,Archive/GaussianMomentConjecture/Reduction.lean,Archive/GaussianMomentConjecture/ResidueAssembly.lean,Archive/GaussianMomentConjecture/SupportDescent.lean,Archive/GaussianMomentConjecture/SupportFaceBridge.lean,Archive/GaussianMomentConjecture/TorusDescent.lean,Archive/GaussianMomentConjecture/WickChannels.lean,Mathlib.lean,Mathlib/RingTheory/Polynomial/ThreeTermRecurrence.lean,Mathlib/RingTheory/PowerSeries/LogDeriv.lean,Mathlib/RingTheory/PowerSeries/WellKnown.lean,docs/references.bib 75 4 ['github-actions', 'grunweg', 'mathlib-merge-conflicts'] nobody
72-55441
2 months ago
unknown
unknown
0
42499 attilavjda
author:attilavjda
doc(Data/ENat,ENNReal): fix swapped docstring on mul_iInf_of_ne Fixed left from right multiplication and "see-also" to point at mul_iInf [Aristotle helped](https://github.com/attilavjda/formal-contributions/blob/main/mul_iInf_of_ne/PR3.lean) with finding the error, generating and verifying a solution by tests, and made a guide to the solution. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor merge-conflict 5/5 Mathlib/Data/ENNReal/Inv.lean,Mathlib/Data/ENat/Lattice.lean 2 4 ['github-actions', 'mathlib-merge-conflicts'] nobody
70-38957
2 months ago
94-68052
94 days ago
0-17572
4 hours
0
40005 tautschnig
author:tautschnig
feat(Data/ZMod/Basic): isUnit characterisation in prime power moduli Add two lemmas characterising units in ZMod (p^n) via divisibility of the canonical lift: isUnit_iff_not_prime_dvd_val: for prime p and n > 0, IsUnit x ↔ ¬ p ∣ x.val. not_isUnit_iff_prime_dvd_val: for prime p and n > 0, ¬ IsUnit x ↔ p ∣ x.val. These specialise the existing isUnit_iff_coprime to prime power moduli, where the coprimality condition reduces to a simple divisibility check on the unique prime factor. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor awaiting-author 15/0 Mathlib/Data/ZMod/Basic.lean 1 10 ['Ruben-VandeVelde', 'Vierkantor', 'copilot-pull-request-reviewer', 'github-actions'] eric-wieser
assignee:eric-wieser
69-23766
2 months ago
84-11224
84 days ago
80-10072
80 days
0
42590 AntoineduFresne
author:AntoineduFresne
feat(Order/UpperLower/Closure): the upper and lower closures of a maximal antichain cover the order I add `IsMaxAntichain.upperClosure_union_lowerClosure`. It says that the upper and lower closures of a maximal antichain cover the whole order. I put it right after `ordConnected_iff_upperClosure_inter_lowerClosure`, next to `upperClosure_inter_lowerClosure`, which seems the right spot. The lemma is about antichains, so `Mathlib/Order/Antichain.lean` would have looked like the natural file to modify, but `upperClosure` is defined in `Mathlib/Order/UpperLower/Closure.lean`, which imports `Mathlib.Order.Interval.Set.OrdConnected`, which imports `Mathlib.Order.Antichain`. So to avoid an import loop I put it in `Closure.lean`. I split this out of #40741, where a reviewer suggested it. Nothing in that PR uses the lemma. t-order new-contributor 13/0 Mathlib/Order/Antichain.lean,Mathlib/Order/UpperLower/Closure.lean 2 12 ['AntoineduFresne', 'Ruben-VandeVelde', 'SnirBroshi', 'github-actions', 'tdwag123'] nobody
69-22927
2 months ago
69-22994
69 days ago
85-8233
85 days
0
41991 dahlem
author:dahlem
fix(Analysis/Matrix): anchor the elementwise matrix norm's topology to instTopologicalSpaceMatrix With `open scoped Matrix.Norms.Elementwise`, ```lean noncomputable example {m n : Type*} [Fintype m] [Fintype n] : Norm (Matrix m n ℝ →L[ℝ] Matrix m n ℝ) := inferInstance ``` fails to synthesize, even though the norm-induced topology on `Matrix m n ℝ` is definitionally equal to the ambient `instTopologicalSpaceMatrix` (`rfl` proves the equality). What goes wrong: the `→L[ℝ]` type is elaborated with the *direct* instance `instTopologicalSpaceMatrix`, while `ContinuousLinearMap.hasOpNorm`'s conclusion carries topologies that are *projections* of its `SeminormedAddCommGroup` arguments. During resolution, pending synthesis does find `Matrix.seminormedAddCommGroup`, but the projected topology then has to unify with `instTopologicalSpaceMatrix`, and the projection chain through `fast_instance% Pi.seminormedAddCommGroup` does not reduce to the same term. (Types like `ℝ` or `EuclideanSpace` don't hit this because they have no direct `TopologicalSpace` instance competing with the projection path — matrices do.) **Fix**: anchor the topology field of `Matrix.seminormedAddCommGroup` / `Matrix.normedAddCommGroup` to `instTopologicalSpaceMatrix` via `PseudoMetricSpace.replaceTopology` / `MetricSpace.replaceTopology` with `rfl` proofs — the standard forgetful-inheritance pattern; the Frobenius family in the same file already achieves this through `PiLp.seminormedAddCommGroupToPi`. Anchoring to a freshly-elaborated `inferInstanceAs <| TopologicalSpace (m → n → α)` is *not* sufficient — the anchor must be the same instance term that appears in elaborated goal types, which is why this also adds `public import Mathlib.Topology.Instances.Matrix` (no cycle; that file only imports `LinearAlgebra.Matrix.*` and `Topology.Algebra.*`). `norm`, `dist`, and the uniformity are untouched — only the packaging of the topology field changes, in the direction of the canonical instance. The fix works at Lean's default `maxSynthPendingDepth`. It also unblocks smul-continuity resolution in Fréchet-derivative developments over matrix codomains (`HasFDerivAt.const_smul` sites), where the goal's topology argument is the same non-reducing projection. Motivation: hit in a downstream project (~4300 build jobs of matrix-valued Fréchet calculus) where ten files currently need local high-priority compat instances to work around this. A downstream repair cannot be shipped safely: boosting a repaired `SeminormedAddCommGroup`'s priority steals `‖·‖` resolution from files mixing norm scopes (e.g. `Matrix.Norms.L2Operator` sections of a Davis–Kahan development silently re-resolve to the elementwise norm). The fix has to live in the instance definitions. Validation: full `lake build Mathlib` passes with the change (8666 jobs), plus new regression tests in `MathlibTest/MatrixNormTopology.lean` (both `rfl` agreements, the `Norm` synthesis above, `‖f‖` usage, `ContinuousConstSMul` unification). Open questions for reviewers: - Should the `linftyOp*` family get the same anchor for uniformity of design? - Is `letI I := fast_instance% …; { I with … }` the preferred spelling here? - Is the added import acceptable, or should the anchored instances move to a file that already sees `Topology.Instances.Matrix`? Disclosure: this PR was prepared with AI assistance (Claude); the diagnosis and fix were validated by the full mathlib build and the included regression tests. 🤖 Generated with [Claude Code](https://claude.com/claude-code) t-analysis new-contributor LLM-generated awaiting-author 60/4 Mathlib/Analysis/Matrix/Normed.lean,MathlibTest/MatrixNormTopology.lean 2 4 ['github-actions', 'j-loreaux'] urkud
assignee:urkud
68-57019
2 months ago
68-57019
68 days ago
42-11246
42 days
0
42339 attilavjda
author:attilavjda
feat: add diagonal iSup and iInf lemmas Deduplicating three ENat and ENNReal addition proofs, by adding a corresponding more general lemma collapsing a cofinal double iSup/iInf to its diagonal. Also adds conditionally complete version with `hf : BddAbove (range fun k ↦ f k k)`. Dropping [Nonempty ι] (both sides are sSup ∅ when empty) makes the `…Bot` copy the same statement ``` CompleteSemilatticeSup | +--> iSup₂_eq_iSup_diag_of_cofinal | +--> ENat.iSup_add_iSup +--> ENNReal.iSup_add_iSup +--> ENNReal.iInf_add_iInf (via dual) ConditionallyCompleteLattice | +--> ciSup₂_eq_ciSup_diag_of_cofinal ``` Aristotle helped --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor LLM-generated merge-conflict 18/4 Mathlib/Data/ENat/Lattice.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean 3 38 ['SnirBroshi', 'attilavjda', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp', 'wwylele'] nobody
68-39208
2 months ago
68-39209
68 days ago
15-34434
15 days
0
28246 Sebi-Kumar
author:Sebi-Kumar
feat(AlgebraicTopology/FundamentalGroupoid): the n-sphere is simply connected for n > 1 Prove that the `n`-dimensional sphere (i.e., the unit sphere centered at the origin in `(n + 1)`-dimensional real Euclidean space) is a simply connected space for `n > 1`. This proof follows Hatcher's "Algebraic Topology"; we first prove a general lemma about decomposing loops and then exploit the fact that non-surjective loops in the sphere are homotopically trivial. Note: To get this file to build, I edited `Mathlib/Tactic/Linter/DirectoryDependency.lean` to remove the restrictions on AlgebraicTopology files importing Geometry, NumberTheory, and FieldTheory files. Thank you to those who shared their expertise [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Warning.20that.20AlgebraicTopology.20can't.20import.20SetTheory/with/533833638). As I understand it, this is just a short-term solution, so I would appreciate feedback on what to do about this situation. Note: I am unsure where exactly the file `SimplyConnectedSphere.lean` should go or whether that is an appropriate name for the file, so feedback there would be appreciated. --- To provide additional context, this code was written as a part of the Fields Undergraduate Summer Research Program at the University of Western Ontario under the supervision of Chris Kapulkin and Daniel Carranza. <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [x] depends on: #28208 - [x] depends on: #28198 - [x] depends on: #28185 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology new-contributor awaiting-author merge-conflict 371/3 Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnectedSphere.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/VanKampen.lean,Mathlib/Logic/Equiv/PartialEquiv.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,Mathlib/Topology/Path.lean 6 21 ['Sebi-Kumar', 'alreadydone', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] nobody
68-4916
2 months ago
83-25488
83 days ago
48-29975
48 days
0
38631 FordUniver
author:FordUniver
feat(Combinatorics/SimpleGraph/InducedCopy): add `UnlabeledEmbedding`, `unlabeledEmbeddingCount` and `embeddingCount` Extracts the induced-containment material from `SimpleGraph/Copy.lean` into a new `SimpleGraph/InducedCopy.lean` and adds the induced analogues of `UnlabeledCopy`/`copyCount`/`unlabeledCopyCount`: a type `UnlabeledEmbedding G H` for induced subgraphs of `H` isomorphic to `G`, a count `H.embeddingCount G := Nat.card (G ↪g H)` for induced labeled copies (i.e. graph embeddings), and a count `H.unlabeledEmbeddingCount G := Nat.card (G.UnlabeledEmbedding H)` for induced unlabelled copies, each with the parallel `_of_isEmpty` / `_eq_zero` / `_pos` / `_le_*` / `_eq_nat_card` API. `IsIndContained`, the `⊴` notation, `IndFree`, and all related lemmas move from `Copy.lean` to the new file. `Embedding.range_toSubgraph` characterises induced subgraphs as the range of `Embedding.toSubgraph : (G ↪g H) → H.Subgraph` and bridges `embeddingCount` to `unlabeledEmbeddingCount`. Co-authored-by: Malte Jackisch <45597826+MaltyBlanket@users.noreply.github.com> --- **Final step 5/5 of the `Copy` / `InducedCopy` refactor stack.** The new file mirrors `Copy.lean`'s organisation (containment → counting → killing sections) for the induced row; the killing-induced-copies machinery is left as a TODO. Naming follows the convention established in #38745: types are guest-first (`UnlabeledEmbedding G H`, `IsIndContained G H`), operations host-first (`H.embeddingCount G`, `H.unlabeledEmbeddingCount G`). The induced labelled type is `Embedding`, i.e., `G ↪g H`, directly. Two bookkeeping changes in `Copy.lean`: `Copy.isContained` / `Embedding.isContained` / `Iso.isContained`/`'` and `isContained_iff_exists_le_comap`, which lived in the now-deleted "Induced containment" section but are non-induced, move up into the `IsContained` section. `LineGraph.lean`'s `Copy` import switches to `InducedCopy` since it uses `IsIndContained`. The cross-module proofs `embeddingCount_le_copyCount` and `unlabeledEmbeddingCount_le_unlabeledCopyCount` bridge through the public `copyCount_eq_nat_card`/`unlabeledCopyCount_eq_nat_card` lemmas introduced in #38931 (the counts themselves remain unexposed per @plp127's review). `Embedding.ofIsInduced` (used by `Embedding.range_toSubgraph`) comes from the independent prerequisite #39288. | | labeled | unlabeled | |---|---|---| | ordinary | `Copy` / `copyCount` | `UnlabeledCopy` / `unlabeledCopyCount` | | induced | `Embedding` / `embeddingCount` | `UnlabeledEmbedding` / `unlabeledEmbeddingCount` | This branch sits on top of an octopus-merge diffbase (`FordUniver:diffbase/ind-copy-count`) of `chore/copy-nat-card` and `feat/subgraph-ofIsInduced`, so the link below shows only the changes intrinsic to this PR. - [ ] depends on: #38931 - [ ] depends on: #39288 Diff for the changes *just* in this PR over its predecessors: [link](https://github.com/FordUniver/mathlib4/compare/diffbase/ind-copy-count...feat/ind-copy-count). t-combinatorics new-contributor blocked-by-other-PR large-import tech debt merge-conflict 644/342 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Copy.lean,Mathlib/Combinatorics/SimpleGraph/InducedCopy.lean,Mathlib/Combinatorics/SimpleGraph/LineGraph.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean 5 46 ['FordUniver', 'SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'plp127'] nobody
67-83486
2 months ago
192-28631
192 days ago
2-39584
2 days
2
43069 Ming-Yuan-Zhu
author:Ming-Yuan-Zhu
feat: add second derivative signs at local extrema This PR adds `IsLocalMax.deriv_deriv_nonpos` and `IsLocalMin.deriv_deriv_nonneg`, complementing the existing second-derivative tests in `DerivativeTest.lean`. The immediate motivation is the formalization of the maximum principle for elliptic PDEs, where the sign of the second derivatives at an interior extremum is a basic ingredient. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor awaiting-author 19/0 Mathlib/Analysis/Calculus/DerivativeTest.lean 1 2 ['github-actions', 'j-loreaux'] nobody
67-70003
2 months ago
77-32356
77 days ago
0-53042
14 hours
0
39393 jayscambler
author:jayscambler
feat(GameTheory): von Neumann minimax theorem for finite matrix games Adds `Mathlib/GameTheory/MatrixGame.lean`. Resolves the TODO at `Mathlib/Topology/Sion.lean:48` ("spell out the particular case of von Neumann theorem") by specialising `Sion.exists_isSaddlePointOn` to the bilinear payoff `∑ i j, x i * M i j * y j` on the pair of standard simplices. Two theorems: - `Matrix.exists_saddle_point`: existence of a saddle point in mathlib's `IsSaddlePointOn` convention (`a` minimiser-in-`X`, `b` maximiser-in-`Y`). - `Matrix.exists_mixedNash`: existence of a mixed Nash equilibrium in the textbook matrix-game orientation (row player maximises, column player minimises). Proved by applying Sion to `-payoff M`. Both forms are useful: the first matches mathlib's existing saddle-point machinery, and the second is the statement most game-theory texts use directly. Supporting lemmas: continuity of the payoff in each argument (linear in each), and quasi-convexity / quasi-concavity from `LinearMap.convexOn` / `LinearMap.concaveOn`. The simplex hypotheses for Sion (`Convex`, `IsCompact`, `Nonempty`) come from existing mathlib lemmas (`convex_stdSimplex`, `isCompact_stdSimplex`, `single_mem_stdSimplex`). Creates a new top-level `Mathlib/GameTheory/` directory; mathlib currently has none. A natural follow-up would be a `Mathlib/GameTheory/NormalForm.lean` for general n-player normal-form games and pure Nash equilibrium. **AI disclosure**: this PR was a collaboration between myself, Grey Haven's autocontext and Claude Opus 4.7 (Anthropic). I read each line and built locally on current master. (strawberry has three r's) t-topology new-contributor LLM-generated merge-conflict 216/2 Mathlib.lean,Mathlib/GameTheory/MatrixGame.lean,Mathlib/Topology/Sion.lean 3 4 ['github-actions', 'mathlib-merge-conflicts', 'vihdzp'] nobody
65-75017
2 months ago
unknown
unknown
0
40579 jcreinhold
author:jcreinhold
feat(Algebra/Category/Ring): preserve limits to CommMonCat Adds the missing instance saying that forgetting a commutative ring to its multiplicative commutative monoid preserves limits. t-algebra new-contributor awaiting-author
label:t-algebra$
7/0 Mathlib/Algebra/Category/Ring/Limits.lean 1 9 ['Brian-Nugent', 'felixpernegger', 'github-actions', 'jcreinhold'] nobody
65-73317
2 months ago
65-73317
65 days ago
82-29335
82 days
0
42446 ipezygj
author:ipezygj
feat(Algebra/Order/Ring/Pow): bernoulli's inequality for a subtracted term Adds `one_sub_mul_le_pow`, the mirror of `one_add_mul_le_pow`: ```lean lemma one_sub_mul_le_pow (H : a ≤ 2) (n : ℕ) : 1 - n * a ≤ (1 - a) ^ n ``` `Mathlib/Algebra/Order/Ring/Pow.lean` already carries Bernoulli in the `1 + a` form and one reformulation of it (`one_add_mul_sub_le_pow`); this is the `1 - a` form, which is the shape that comes up when bounding a product of complements — for example showing that `1 - (1 - p) ^ n ≤ n * p`, the comparison between the Šidák and Bonferroni corrections in statistics, which follows immediately by `linarith`. The hypothesis `a ≤ 2` is exactly what `one_add_mul_le_pow`'s `-2 ≤ -a` becomes, and it is load-bearing rather than decorative: the inequality fails for `a > 2` (checked numerically over a grid before writing the proof). Proof is two lines and reduces directly to the existing lemma. This is my first contribution to mathlib, so please do point out anything that does not match the library's conventions. --- [Blueprint] not applicable. t-algebra new-contributor awaiting-author
label:t-algebra$
6/0 Mathlib/Algebra/Order/Ring/Pow.lean 1 4 ['github-actions', 'themathqueen'] nobody
65-13622
2 months ago
65-13622
65 days ago
31-62824
31 days
0
41475 Sanghyeok0
author:Sanghyeok0
MvPolynomial: polynomial reduction as a relation ## Summary This PR defines polynomial reduction on multivariate polynomials as an ordinary binary relation and develops its basic reduction-theoretic API. The main results cover reducibility and normal forms over general commutative coefficient rings, termination, degree bounds, linear-combination certificates, ideal-membership bridges, and translation and confluence results under the coefficient hypotheses required by each theorem. The polynomial results follow the reduction theory in Becker--Weispfenning--Kredel, Chapter 5. ## Polynomial reduction as a relation The central definition is one-step reduction modulo a set of polynomials: ```lean def MonomialOrder.ReducesToSet (m : MonomialOrder σ) (P : Set (MvPolynomial σ R)) (f g : MvPolynomial σ R) : Prop := ∃ p ∈ P, m.ReducesToPoly p f g ``` A reduction step chooses one nonzero reducer and one term of the source polynomial. Both monomial divisibility and coefficient divisibility are required. The resulting polynomial is obtained by subtracting the witnessed monomial multiple of that reducer. For example, reducibility is characterized without assumptions on leading coefficients by: ```lean theorem MonomialOrder.ReducesToPoly.reducible_iff_exists_degree_le_and_leadingCoeff_dvd (p f : MvPolynomial σ R) : m.Reducible p f ↔ p ≠ 0 ∧ ∃ t ∈ f.support, m.degree p ≤ t ∧ m.leadingCoeff p ∣ f.coeff t ``` Likewise, a polynomial is in normal form exactly when no support term satisfies both divisibility conditions for a nonzero reducer. When every nonzero reducer has unit leading coefficient, this specializes to the usual monomial divisibility condition. ## Termination and certificates Every reduction step strictly decreases the colexicographic order on finite supports. This proves that the reverse reduction relation is well-founded, without imposing unit or regularity assumptions on leading coefficients. Finite reduction also produces explicit quotient data with the expected degree bound: ```lean theorem MonomialOrder.exists_linearCombination_of_reflTransGen_with_degree_bound (B : Set (MvPolynomial σ R)) {f r : MvPolynomial σ R} (h : f ⟶*[m, B] r) : ∃ q : B →₀ MvPolynomial σ R, f = Finsupp.linearCombination (MvPolynomial σ R) (fun b : B => (b : MvPolynomial σ R)) q + r ∧ ∀ b : B, m.degree ((b : MvPolynomial σ R) * q b) ≼[m] m.degree f ``` Thus a finite reduction sequence supplies the linear-combination certificate expected from a division/remainder statement. ## Coefficient assumptions The API separates the assumptions needed by different results: * The reduction relation, its general reducibility and normal-form characterizations, termination, degree bounds, certificates, and the implication from reduction equivalence to ideal congruence require no unit assumptions. * Reduction of a multiple of a chosen reducer to zero only requires the leading coefficient of that reducer to be a non-zero-divisor when the reducer is nonzero. * The translation lemmas and the equivalence between reduction equivalence and congruence modulo `Ideal.span P` use the hypothesis that every reducer is either zero or has unit leading coefficient. * Local confluence for reduction modulo a singleton `{p}` requires only that `p` have unit leading coefficient. The corresponding result for a set generating the same principal ideal uses the zero-or-unit hypothesis on that set. ## Relation-level API This development is intended to depend on #40368 for `Relation.Diamond`, `Relation.Confluent`, and `Relation.ChurchRosser`, together with their basic conversion API. The new file `Mathlib.Logic.Relation.NormalForm` adds the normal-form vocabulary and Newman-style results used by polynomial reduction: * `Relation.IsNormalForm` * `Relation.IsNormalFormOf` * `Relation.UniqueNormalForms` * `Relation.LocallyConfluent` ## Scope The reduction relation in this PR is a termwise, single-reducer relation: each step uses one polynomial from the reducer set to eliminate one term of the source polynomial. An earlier version also included a reduction-theoretic Gröbner basis criterion. That layer is intentionally deferred. Over arbitrary coefficient rings, relating single-reducer reduction to an ideal-based leading-term criterion requires a careful distinction between single-reducer and weak reduction. Keeping the criterion in a separate PR will also allow it to reuse the shared Gröbner-basis API rather than introduce a competing definition. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #40368 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor blocked-by-other-PR 1570/5 Mathlib.lean,Mathlib/Logic/Relation.lean,Mathlib/Logic/Relation/NormalForm.lean,Mathlib/RingTheory/MvPolynomial/PolynomialReductions.lean 4 4 ['github-actions', 'mathlib-bors', 'mathlib-dependent-issues'] nobody
65-9412
2 months ago
unknown
unknown
0
43453 24high
author:24high
feat(Combinatorics/Enumerative): ordered partitions of a finset are counted by the multinomial coefficient Adds `Finset.orderedPartitions` and the multinomial count of the ordered partitions of a finset into blocks of prescribed sizes. Mathlib so far has only the two-block case, `Finset.card_powersetCard`. The motivation is the TODO in `Mathlib/Combinatorics/Enumerative/Bell.lean`. This is the first of the pieces that TODO needs; I would like to follow up with the others: that an unordered partition into `k` parts admits exactly `k!` orderings, and a count of the size profiles realising a given multiset — the latter would also settle what `Multiset.countPerms` counts, which is currently unproved as well. Two disclosures, because they affect how much this deserves to be trusted before CI runs: - I was only able to typecheck this locally against Mathlib v4.33.1, not against current master, as the toolchain for master is not available on the machine I built it on. Every lemma the proof uses does exist on master, but CI is the first real check. - The formalisation was produced with substantial assistance from an AI system (Claude). Every statement is machine-checked; the design decisions and this description are mine to answer for. Happy to move the file, rename the declarations, or cut it differently. --- t-combinatorics new-contributor 208/0 Mathlib.lean,Mathlib/Combinatorics/Enumerative/OrderedSetPartition.lean 2 2 ['github-actions'] nobody
63-83133
2 months ago
unknown
unknown
0
43508 baney75
author:baney75
chore: use Nat.pred in Finset.pred_card_le_card_erase ## Summary Addresses part of #21584 (naming consistency tracker): > `Finset.pred_card_le_card_erase`: Why does this use `- 1` instead of `pred` when `pred` rather than `sub_one` is in the name? Change the statement to use `(#s).pred` so the lemma matches its `pred_…` name. Left related `#s - 1` lemmas (`card_erase_of_mem`, `card_erase_eq_ite`, …) untouched — they are not named `pred_*`. ```lean theorem pred_card_le_card_erase : (#s).pred ≤ #(s.erase a) := by grind ``` ## Notes for #21584 maintainers (already done upstream — checkbox only) - `tsum_geometric_nnreal` already deprecated → `NNReal.tsum_geometric` (since 2026-03-18) - `Nat.digits_len` already deprecated → `length_digits` (since 2026-03-18) ## Checklist - [x] minimal one-line statement change in `Mathlib/Data/Finset/Card.lean` - [x] no drive-by renames t-data new-contributor 1/1 Mathlib/Data/Finset/Card.lean 1 2 ['github-actions'] nobody
63-39002
2 months ago
unknown
unknown
0
31662 edwin1729
author:edwin1729
feat(Topology/Order): topological basis of scott topology on Complete… …PartialOrder --- [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.3E.20Algebraic.20complete.20partial.20order.20and.20domain.20theory/with/536359313) for this PR. (2/5) PRs in domain theory, proving that scott topologies over Algebraic DCPOs (`CompletePartialOrder`) are sober. The main reference is [Renata, Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf). But the statements can also be found in the canonical text [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf) This first PR proves two prerequisites, namely: - the specialization order induced by the scott topology corresponds to the existing order of the DCPO. Prop 3.1.5 in [Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf) and Prop 2.3.2(1) in [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf) - the upward closures of compact elements of the DCPO form a topological basis for the Scott Topology. Prop 3.5.2 in [Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf) and Prop 2.3.6(2) in [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf) - [x] depends on: #33061 **The next PR is here:** #31670 <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology new-contributor awaiting-author merge-conflict 165/1 Mathlib.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib 5 100 ['b-mehta', 'edwin1729', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127'] b-mehta
assignee:b-mehta
62-21780
2 months ago
187-73624
187 days ago
64-15169
64 days
3
38476 agusakov
author:agusakov
refactor(Combinatorics/Digraph): add vertex sets --- Adopting #33466 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor awaiting-author 381/50 Mathlib/Combinatorics/Digraph/Basic.lean,Mathlib/Combinatorics/Digraph/Orientation.lean 2 20 ['Shreyas4991', 'YaelDillies', 'agusakov', 'github-actions'] nobody
62-2641
2 months ago
194-27957
194 days ago
3-31839
3 days
0
43622 fjvga
author:fjvga
feat(Dynamics/Ergodic/MeasurePreservingOfMapEq): measure-preserving map from a fixed point of the pushforward `MeasurePreserving T ν ν` is a structure whose fields are `measurable` and `map_eq`. In Krylov–Bogolyubov-type arguments one obtains a fixed point of the pushforward (`ν.map T = ν`, e.g. as a weak-* limit of empirical measures) and then needs to promote it to `MeasurePreserving`. This PR exposes the anonymous constructor under a discoverable name: * `measurePreserving_of_map_eq`: `Measurable T → ν.map T = ν → MeasurePreserving T ν ν` t-dynamics new-contributor awaiting-author 41/0 Mathlib.lean,Mathlib/Dynamics/Ergodic/MeasurePreservingOfMapEq.lean 2 3 ['D-Thomine', 'github-actions'] nobody
60-11658
1 month ago
60-11906
60 days ago
0-77452
21 hours
0
43672 javgomzar
author:javgomzar
chore(LinearAlgebra/Matrix): add push tags to transpose lemmas --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
6/5 Mathlib/LinearAlgebra/Matrix/Defs.lean 1 3 ['github-actions'] nobody
60-1082
1 month ago
60-1245
60 days ago
60-1172
60 days
0
42424 lydia-schiff
author:lydia-schiff
feat(Order/Partition/Finpartition): transport a set partition along a type equivalence - Adds `Finpartition.congr` to transport a `Finpartition` along a type equivalence. - We can use `Finpartition.map` if we have an order-iso, and the equivalence induces one via the new `Finset.congrOrderIso` which is based on `Equiv.finsetCongr`. - Includes parts, card, refl, and round-trip lemmas. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - `Equiv.finsetCongr` already gives us an equivalence of Finsets, so the new `Finset.congrOrderIso` just adds that the power-set lattice structure is also preserved. - Includes lemmas showing that the parts are e-images of the old ones, card is preserved, and refl + round-trip for the equivalence. - The cardinality lemma was the original motivation from some work on Stirling numbers, but I thought that `Finpartition.congr` and `Finset.congrOrderIso` seemed reusable and hopefully useful in their own right, and thought it would make a good first contribution. - Zulip thread about naming and placement [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60Finpartition.2Econgr.60.20.E2.80.94.20naming.20.26.20placement) - I used Claude Opus 4.8 to help draft the proofs and explore the API. I have spent several weeks making sure I understand and can justify every line and I've learned a lot which is great. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order LLM-generated new-contributor 61/0 Mathlib/Data/Finset/Image.lean,Mathlib/Order/Partition/Finpartition.lean 2 6 ['github-actions', 'lydia-schiff', 'mathlib-merge-conflicts'] nobody
59-70639
1 month ago
59-70739
59 days ago
86-48880
86 days
0
41822 ReemMelamed
author:ReemMelamed
feat(Algebra/Group/GreensRelations): add theorems of Green's relations This PR introduces `MulSeq`, `Green`, `Finite`, and `Order`, and proves the main theorems for Green's relations on semigroups. It contains: * **MulSeq**: Iterated multiplication sequences (`rightMulSeq`, `leftMulSeq`) for finite semigroups, together with intermediate structural lemmas: existence of idempotents in L-classes and R-classes of regular elements, and Green's lemma (the bijection between H-classes inside a common D-class). * **Green**: The major structural theorems for Green's relations: * Green's lemma (translation maps between H-classes are bijections). * Equivalence `L ∘ R = R ∘ L` (i.e., `isGreenD_commutes_L_R`). * Characterizations of regular D-classes: a D-class is regular iff it contains an idempotent, iff every L-class (resp. R-class) inside it contains an idempotent. * **Finite**: Theorems requiring a finite semigroup: * `isGreenD_of_isGreenJ`: D = J for finite semigroups. * Conditions for H-classes to carry a group structure. * **Order**: Natural `PartialOrder` instances on the quotient types: * `GreenLClass.instPartialOrder`, `GreenRClass.instPartialOrder`, `GreenJClass.instPartialOrder`. * `GreenDClass.instPartialOrder` for finite semigroups (via D = J). --- - [ ] depends on: #40050 t-algebra blocked-by-other-PR new-contributor
label:t-algebra$
1246/0 Mathlib.lean,Mathlib/Algebra/Group/GreensRelations/Basic.lean,Mathlib/Algebra/Group/GreensRelations/Finite.lean,Mathlib/Algebra/Group/GreensRelations/Green.lean,Mathlib/Algebra/Group/GreensRelations/MulSeq.lean,Mathlib/Algebra/Group/GreensRelations/Order.lean,docs/references.bib 7 4 ['github-actions', 'mathlib-dependent-issues'] nobody
59-6354
1 month ago
unknown
unknown
0
43702 theebayuser
author:theebayuser
feat(LinearAlgebra/AffineSpace): add Varignon's theorem Hello, this PR introduces Varignon's theorem. Varignon's theorem states that the midpoints of the sides of a quadrilateral form a parallelogram. More precisely, `midpoint_midpoint_midpoint_rotate` states: the two diagonals of the midpoint quadrilateral have the same midpoint. This PR was written with AI assistance (Claude Code) t-algebra new-contributor LLM-generated
label:t-algebra$
22/2 Mathlib/LinearAlgebra/AffineSpace/Midpoint.lean,docs/1000.yaml 2 7 ['github-actions', 'theebayuser', 'wwylele'] nobody
58-81056
1 month ago
58-81214
58 days ago
59-35292
59 days
0
38750 openendings
author:openendings
feat(Data/Nat): add padicValNat_add_eq_min Add lemmas for `padicValNat` mirroring the [e]multiplicity API, including - padicValNat_eq_of_dvd_of_not_dvd - padicValNat_add_of_gt - padicValNat_add_eq_min --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor awaiting-author merge-conflict 36/0 Mathlib/Data/Nat/MaxPowDiv.lean 1 8 ['Ruben-VandeVelde', 'github-actions', 'mathlib-merge-conflicts', 'openendings'] nobody
58-75980
1 month ago
189-50770
189 days ago
3-59736
3 days
0
35735 mkaratarakis
author:mkaratarakis
feat(NumberTheory): analytical properties and lower bounds for Gelfond-Schneider auxiliary function This PR is the third component in the formalization of the Gelfond-Schneider Theorem (Hilbert's Seventh Problem). It connects the algebraically constructed auxiliary function `R(x)` to its analytical properties, establishing the exact order of vanishing and the fundamental lower bound on the norm of its non-zero derivative evaluation. Following the argument in Loo-Keng Hua's *Introduction to Number Theory* (Chapter 17.9, equations (4) and (5)), we define the minimal non-vanishing derivative order $r$ and scale the evaluation to an algebraic integer to compute its norm. 1. (`iteratedkDeriv_R_eq_zero` & `order_geq_n`): We verify that the coefficient vector $\eta$ (chosen via Siegel's lemma in the previous PR) forces the first $n$ derivatives of the auxiliary function $R(x)$ to vanish at the points $x \in \{1, 2, \dots, m\}$. Consequently, the analytical order of $R(x)$ at these points is at least $n$. 2. We extract $r$, the exact minimal order of vanishing of $R(x)$ among all points $1 \le l \le m$, and prove that $n \le r$. 3. We define the non-zero algebraic number $\rho = (\log \alpha)^{-r} R^{(r)}(l_0)$. 4. We prove the crucial textbook step that scaling $\rho$ by $c_1^{r+2mq}$ (formalized here as `cρ`) results in an algebraic integer in $\mathcal{O}_K$. 5. Because $c_1^{r+2mq} \rho$ is a non-zero algebraic integer, the absolute value of its norm is at least $1$. We use this to formally prove the strict lower bound on the absolute norm of the unscaled $\rho$: $|N(\rho)| > c_1^{-h(r+2mq)} > c_5^{-r}$. This PR no longer adds `MainAlg.lean` or the `NumberField/House` refactor; both now come from #39874, which this PR is built on top of. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] - [ ] depends on: #39874 --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory new-contributor blocked-by-other-PR 967/17 Mathlib.lean,Mathlib/NumberTheory/NumberField/House.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlg.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlgSetup.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainOrder.lean 5 5 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
57-80148
1 month ago
unknown
unknown
3
40155 TheGoedeDoel
author:TheGoedeDoel
feat: functor of localized commutative rings Given a functor of commutative rings R and a submonoid functor S, we add a functor of commutative rings with objects that are localizations of R(U) at the submonoid S(U). We also show that this functor satisfies a universal property. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
255/0 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/LocalizedFunctor.lean 2 16 ['TheGoedeDoel', 'chrisflav', 'github-actions', 'jcommelin'] eric-wieser
assignee:eric-wieser
56-25458
1 month ago
56-25520
56 days ago
103-29760
103 days
0
40329 no-j
author:no-j
feat(Computability): matching εNFA.Path definition with NFA.Path Added εNFA.Path definition that is based on `Type` instead of `Prop` to match NFA's path definition Added εNFA.Path.supp (same definition as NFA.Path.supp) --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability new-contributor awaiting-author 60/23 Mathlib/Computability/EpsilonNFA.lean 1 3 ['YaelDillies', 'github-actions'] YaelDillies
assignee:YaelDillies
56-16098
1 month ago
56-16098
56 days ago
98-85900
98 days
0
42719 justinhalford
author:justinhalford
feat(LinearAlgebra/BilinearForm): totally isotropic subspaces have dimension at most half Adds one lemma to `Mathlib/LinearAlgebra/BilinearForm/Orthogonal.lean`: ```lean lemma two_mul_finrank_le_of_le_orthogonal (hB : B.Nondegenerate) {W : Submodule K V} (hW : W ≤ B.orthogonal W) : 2 * finrank K W ≤ finrank K V ``` A subspace contained in its own orthogonal complement — a *totally isotropic* subspace — has dimension at most half the dimension of the ambient space, when `B` is nondegenerate. ### Why This is the standard dimension bound underlying the Witt decomposition, and it is the missing step in a number of applications: the Eventown theorem in extremal combinatorics, bounds on self-orthogonal linear codes, and dimension bounds for isotropic subspaces of quadratic forms. Searching for `totally isotropic` / `IsotropicSubmodule` / `isTotallyIsotropic` in Mathlib returns nothing, so as far as I can tell the bound is not currently available in any form. The hypothesis is deliberately phrased as `W ≤ B.orthogonal W` rather than introducing a new `IsTotallyIsotropic` predicate, so that it composes directly with the existing `orthogonal` API and needs no new definitions. ### Proof Three existing lemmas and arithmetic: `Submodule.finrank_mono` on the hypothesis, `finrank_orthogonal` (immediately above it in the same file), and `Submodule.finrank_le`. It sits directly after `finrank_orthogonal`, whose statement it consumes. ### Verification Compiles against `master` with no errors or warnings. `#print axioms` reports only `[propext, Classical.choice, Quot.sound]`. No new imports, no new definitions — `+9 -0` in a single file. ### Disclosure Written with AI assistance (Claude Opus 5) and checked against the Lean kernel; I have read the statement and proof through before submitting. Happy to rename or restate as maintainers prefer — in particular if there is an appetite for an `IsTotallyIsotropic` predicate, I am glad to add one and state this in those terms instead. ### Related Companion to #42718 (the linear algebra method and Oddtown), which will use this bound for the Eventown theorem, but the two are independent and this one stands alone. t-algebra new-contributor LLM-generated awaiting-author
label:t-algebra$
9/0 Mathlib/LinearAlgebra/BilinearForm/Orthogonal.lean 1 3 ['github-actions', 'themathqueen'] nobody
54-6599
1 month ago
54-6599
54 days ago
34-9790
34 days
0
43691 Janav-Gupta
author:Janav-Gupta
feat(LinearAlgebra/Matrix): Gaussian elimination to lower triangular form This PR formalises Gaussian elimination for matrices, specifically focusing on reducing any matrix to lower triangular form using only left multiplication. Our project builds on `Mathlib.LinearAlgebra.Matrix.Transvection`, which already provides an algorithmic reduction of matrices to diagonal form using left and right transvections. More precisely, we show that: Given any matrix `M`, we can find a product of transvections and row exchange matrices `L` such that `L * M` is a lower triangular matrix. Below is a brief overview of our approach: * `rowEx i j`: Explicit construction of row exchange matrices and proofs of their various properties. * `EliminationStruct`: A structure containing a list of transvections and a row exchange, used to inductively clear out columns. **Main Theorem:** Lean ``` theorem exists_list_elim_matrix_mul_eq_lowerTriangular (n : ℕ) (M : Matrix (Fin n) (Fin n) 𝕜) : ∃ LE : List (EliminationStruct (Fin n) 𝕜), (List.prod (List.map toElim LE) * M).BlockTriangular (OrderDual.toDual) ``` This proves that for any $$n \times n$$ matrix `M` over a field, there exists a list of elimination structures `LE` such that multiplying their corresponding matrices on the left of `M` yields a lower triangular matrix. t-algebra new-contributor
label:t-algebra$
536/0 Mathlib/LinearAlgebra/Matrix/GaussianElimination.lean 1 4 ['Multramate', 'github-actions'] nobody
52-69031
1 month ago
unknown
unknown
0
38584 TJHeeringa
author:TJHeeringa
feat(Analysis/InnerProductSpace/Reproducing): add toSubmodule This PR adds `RKHS.toSubmodule`, the submodule of the ambient `X → V` into which the RKHS embeds. It provides a characterization for functions `f : X → V` for whether they are inside the submodule. --- Adds the `outerKernel` definition and the theorem `mem_iff`. These are needed for proving statements involving embeddings of RKHS. I can split `mem_of_posSemidef` and `mem_iff` off into a different pull request if that is preferred. The theorems `mem_of_posSemidef` and `posSemidef_of_mem` are the two directions of `mem_iff`. `posSemidef_of_mem` is slightly stronger than the converse direction of `mem_iff` in the sense that it also specifies the constant `c` in the statement. The specified `c` is in fact the smallest possible `c` for which the statement holds. The statement `mem_of_posSemidef` proves `∃ (g : H), (g : X → V) = f`. We could instead write `f ∈ (coeCLM 𝕜 (H:=H)).range`. Making this change would require the addition of the line `simp only [LinearMap.mem_range, coe_coe, coeCLM_apply]` in the beginning of the proof. The full beginning is then ``` lemma mem_of_posSemidef (f : X → V) {c : ℝ} (hc : ((c : 𝕜) ^ 2 • kernel H - outerKernel 𝕜 f).PosSemidef) : f ∈ (coeCLM 𝕜 (H:=H)).range := by simp only [LinearMap.mem_range, coe_coe, coeCLM_apply] let Laux : ... ``` Making a `MemRKHS` like MemLp and MemSobolev and then writing `MemRKHS H f` is also an option. Happy to change it to whatever is preferred. The proof of `mem_of_posSemidef` is based on the idea that any function f in the RKHS satisfies `<f,\sum_n K(\cdot,x_n)v_n>=\sum_{n} <f(x_n),v_n>` for `x_n\in X` and `v_n\in V` by the reproducing property. We define the operator L(\sum_n K(\cdot,x_n)v_n) = \sum_{n} <f(x_n),v_n>. This is bounded by the condition based on the kernels, and thus extends to a bounded linear operator on the RKHS. Its Riesz' representer agrees pointwise with f. AI: When asking how to avoid Classical.choose in constructing the operator L, Claude suggested the approach of going through the quotient. I made the proof using Claude as supplementary Loogle. Afterwards, I asked it to help shorted the proofs. Some suggestions for `mem_of_posSemidef` were applied. The other suggestions were not helping or not correct. <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [x] depends on: #42680 - [x] depends on: #42681 - [x] depends on: #42682 - [x] depends on: #43333 - [ ] depends on: #43362 - [x] depends on: #41127 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor blocked-by-other-PR merge-conflict 510/0 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/Reproducing.lean,Mathlib/Analysis/InnerProductSpace/Reproducing/Operations.lean,Mathlib/Analysis/InnerProductSpace/Reproducing/Submodule.lean 5 52 ['Maldooor', 'Multramate', 'TJHeeringa', 'github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'themathqueen'] j-loreaux
assignee:j-loreaux
52-68202
1 month ago
65-3181
65 days ago
44-27232
44 days
0
41525 JX-Mo
author:JX-Mo
feat(RepresentationTheory): add Smooth.Basic for smooth representations This PR introduces basic setup for smooth representations of a topological group. Hopefully it will serve as preliminary content for those who are interested in formalizing representation theory for p-adic reductive groups in the future. We introduce the following in the file: 1. Define smoothness for representations of a topological group. It is a property for a representation to be smooth: the stabilizer of any vector is open. 2. Prove basic closure properties: subrepresentations, quotient representations, tensor products, direct sums of smooth representations are smooth. 3. Construct smoothHom and contragredient: they are obtained by cutting out smooth vectors from the naive hom and dual. - [ ] depends on: #40941 - [ ] depends on: #41081 new-contributor t-algebra merge-conflict
label:t-algebra$
277/0 Mathlib.lean,Mathlib/RepresentationTheory/Smooth/Basic.lean,Mathlib/RepresentationTheory/Stabilizer.lean,Mathlib/RepresentationTheory/Subrepresentation.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean 5 7 ['JX-Mo', 'felixpernegger', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
51-79260
1 month ago
51-79261
51 days ago
51-52336
51 days
0
36896 PieterCuijpers
author:PieterCuijpers
feat (Algebra/Order/Quantale): isMulLeftsided, isMulRightsided, isMulTwosided and strict versions * Adding definitions of quantale elements being leftsided, rightsided, and twosided, and strict versions Should we include these definitions in the main Algebra/Order/Quantale.lean file, or start a separate file for them? I have a few basic theorems I would like to include on these notions, but invite suggestions. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor awaiting-author merge-conflict
label:t-algebra$
81/1 Mathlib/Algebra/Order/Quantale.lean 1 6 ['NoahW314', 'PieterCuijpers', 'chrisflav', 'github-actions', 'mathlib-merge-conflicts'] mariainesdff
assignee:mariainesdff
51-76391
1 month ago
194-83405
194 days ago
39-15412
39 days
0
39697 sorrachai
author:sorrachai
feat(Data/Tree/Basic): add Membership instance, new notation, rename Tree Summary: 1. [Rename]([#CSLib > Splay tree PR: BinaryTree vs Tree @ 💬](https://leanprover.zulipchat.com/#narrow/channel/513188-CSLib/topic/Splay.20tree.20PR.3A.20BinaryTree.20vs.20Tree/near/596482765)) from Tree to BinaryTree, which propagates the changes to other files that use it. 2. Add membership instance, prove decidability of membership. 3. Add toListInOrder, toListPreOrder, toListPostOrder Suggestion based on the discussion in the cslib [thread](https://leanprover.zulipchat.com/#narrow/channel/513188-CSLib/topic/Splay.20tree.20PR/near/596568391)[#CSLib > Splay tree PR @ 💬](https://leanprover.zulipchat.com/#narrow/channel/513188-CSLib/topic/Splay.20tree.20PR/near/596568391). --- * depends on: #39707 new-contributor awaiting-author t-data 117/8 Mathlib/Data/Tree/Basic.lean 1 8 ['eric-wieser', 'github-actions', 'sorrachai'] nobody
50-52195
1 month ago
153-69521
153 days ago
17-19006
17 days
0
41862 mpacholski
author:mpacholski
feat(Analysis/Normed/Module/TensorProduct): define projective seminorm on binary tensor products Introduce the projective seminorm on the tensor product of two normed spaces, mirroring the n-ary construction in `PiTensorProduct.ProjectiveSeminorm` and prove its basic properties. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #41731 - [ ] depends on: #41827 new-contributor tech debt blocked-by-other-PR t-analysis 272/9 Mathlib.lean,Mathlib/Analysis/Fourier/FourierTransformDeriv.lean,Mathlib/Analysis/Normed/Module/TensorProduct/ProjectiveSeminorm.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/MeasureTheory/Measure/CharacteristicFunction/TaylorExpansion.lean,Mathlib/Topology/Algebra/Module/Spaces/ContinuousLinearMap.lean 6 5 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'themathqueen'] nobody
50-52093
1 month ago
102-85412
102 days ago
0-82002
22 hours
1
41538 Mathias-Stout
author:Mathias-Stout
feat(Algebra/Quaternion): quaternion are central simple We show that the quaternion algebra `ℍ[R,a,b,c]` over a field `R` is a central simple `R`-algebra, provided that `c * (b ^ 2 + 4 * a) ≠ 0`. - [ ] depends on: #41536 - [ ] depends on: #41537 Co-authored-by: Justus Springer [justusspringer@gmx.de](mailto:justusspringer@gmx.de) --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed new-contributor blocked-by-other-PR merge-conflict t-algebra
label:t-algebra$
170/7 Mathlib.lean,Mathlib/Algebra/DualQuaternion.lean,Mathlib/Algebra/Quaternion/Basic.lean,Mathlib/Algebra/Quaternion/Basis.lean,Mathlib/Algebra/Quaternion/CentralSimple.lean,Mathlib/Analysis/Quaternion.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Equivs.lean,Mathlib/RingTheory/TwoSidedIdeal/Lattice.lean,MathlibTest/Quaternion.lean 9 4 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
50-51804
1 month ago
122-83412
122 days ago
0-1919
31 minutes
0
41924 junjihashimoto
author:junjihashimoto
feat(NumberTheory): the number-theoretic transform The number-theoretic transform is the discrete Fourier transform of functions `ZMod N → M`, where `M` is a module over a commutative domain `R` containing a primitive `N`-th root of unity `ζ` (e.g. `R = ZMod p` with `N ∣ p - 1`): `ntt hζ f k = ∑ j, ζ ^ (j * k) • f j`. We prove the character orthogonality relation (`sum_zmodChar_mul`, from `AddChar.sum_eq_ite`), the **Fourier inversion formula** `nttInv_ntt` / `ntt_nttInv` (so the transform is bijective whenever `N` is invertible in `R`), and the **bilinear Parseval identity** `sum_bilin_ntt_ntt_neg` — over a general coefficient ring there is no norm or conjugation, and this is the correct finite-field replacement for Plancherel's theorem. The module `M` is arbitrary; taking `M` to be a hypercomplex algebra over `R` (e.g. the octonions or sedenions over `ZMod p` from #41919, whence the dependency) yields hypercomplex number-theoretic transforms, recorded as an example. This is the finite-field counterpart of the archimedean theory in #41921/#41922. The NTT is the transform underlying polynomial multiplication in lattice-based cryptography (e.g. ML-KEM/Kyber), so this also provides groundwork for formalizing those schemes. - [ ] depends on: #41919 new-contributor blocked-by-other-PR awaiting-author t-number-theory t-algebra
label:t-algebra$
469/0 Mathlib.lean,Mathlib/Algebra/CayleyDickson.lean,Mathlib/Algebra/Octonion.lean,Mathlib/NumberTheory/NumberTheoreticTransform.lean 4 4 ['github-actions', 'grunweg', 'mathlib-dependent-issues'] nobody
50-51663
1 month ago
113-4595
113 days ago
0-1410
23 minutes
0
41921 junjihashimoto
author:junjihashimoto
feat(Analysis/Fourier): the Plancherel theorem for hypercomplex Fourier transforms The (left-sided) hypercomplex Fourier transform of `f : V → CayleyDickson A` replaces the imaginary unit in the Fourier kernel by the Cayley–Dickson doubling unit `ℓ`: `ℱ f ξ = ∫ x, (cos (2π ⟪x, ξ⟫) - sin (2π ⟪x, ξ⟫) ℓ) * f x`. Cayley–Dickson algebras beyond the quaternions are not associative — the sedenions are not even alternative and have zero divisors — but the Fourier theory only needs a complex *module* structure on the codomain: `ℓ * (ℓ * x) = -x` holds at every level of the tower, so `Complex.liftAux` into `Module.End ℝ (CayleyDickson A)` (where associativity lives) makes every Cayley–Dickson algebra a complex vector space. Equipping it with a compatible complex Hilbert space structure, Plancherel's theorem (`CayleyDickson.integral_norm_sq_fourierIntegral`) and the Fourier inversion formula (`CayleyDickson.fourierInvIntegral_fourierIntegral`) are inherited from the vector-valued `L²` Fourier theory (#24063-style `Lp.fourierTransformₗᵢ`), on any finite-dimensional real inner product space domain. Taking `A = ℍ[ℝ]` gives the octonion Fourier transform (Hahn–Snopek; Błaszczyk, *J. Fourier Anal. Appl.* 2020); `A = Octonion ℝ` gives the sedenion one, recorded explicitly as `Sedenion.integral_norm_sq_fourierIntegral`. - [ ] depends on: #41919 new-contributor blocked-by-other-PR awaiting-author t-analysis 617/0 Mathlib.lean,Mathlib/Algebra/CayleyDickson.lean,Mathlib/Algebra/Octonion.lean,Mathlib/Analysis/Fourier/CayleyDicksonPlancherel.lean 4 5 ['github-actions', 'grunweg', 'mathlib-dependent-issues'] nobody
50-51586
1 month ago
113-16258
113 days ago
0-1014
16 minutes
0
29744 espottesmith
author:espottesmith
feat(Combinatorics): define directed hypergraphs This PR defines directed hypergraphs: ``` @[ext] structure DiHypergraph (α : Type*) where /-- The vertex set -/ vertexSet : Set α /-- The edge set -/ edgeSet : Set ((Set α) × (Set α)) /-- Each edge is a pair (s, d), where s ⊆ vertexSet and d ⊆ vertexSet -/ edge_src_dst_isSubset_vertexSet' : ∀ ⦃e⦄, e ∈ edgeSet → e.1 ⊆ vertexSet ∧ e.2 ⊆ vertexSet ``` Additional definitions: - tail/head stars and negative/positive stars - some special cases (B-Graph, F-Graph, BF-Graph, and what I'm calling a "non-endless" dihypergraph, where neither the source/tail nor the destination/head are empty) - Vertex and (hyper)edge adjacency - isolated vertices - empty and nonempty dihypergraphs The design employed here is based off of #28613, but this PR does not depend on that one. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 290/0 Mathlib.lean,Mathlib/Combinatorics/DiHypergraph/Basic.lean 2 12 ['SnirBroshi', 'b-mehta', 'espottesmith', 'github-actions', 'mathlib4-merge-conflict-bot', 'pimotte'] nobody
49-76776
1 month ago
139-75399
139 days ago
277-81749
277 days
1
43780 SashaIr
author:SashaIr
feat: q-analogs An implementation of q-analogs, q-binomials, and counting results. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 965/0 Mathlib.lean,Mathlib/Combinatorics/QAnalog/Basic.lean,Mathlib/Combinatorics/QAnalog/Binomial.lean,Mathlib/Combinatorics/QAnalog/Counting.lean,Mathlib/Combinatorics/QAnalog/Subspace.lean 5 7 ['SashaIr', 'SnirBroshi', 'b-mehta', 'github-actions'] nobody
49-67519
1 month ago
49-67572
49 days ago
56-61979
56 days
0
38334 8e7
author:8e7
feat(Combinatorics/SimpleGraph/TreeDecomp): define tree decompositions Add definition for tree decompositions on simple graphs. Define the tree width of a simple graph and prove basic statements and conversions. ```lean structure TreeDecomp (G : SimpleGraph V) (W : Type) where /-- The set of vertices in each bag. -/ bag : W → Finset V /-- The graph adjacency relation of bags. -/ tree : SimpleGraph W /-- T must be a tree. -/ isTree : IsTree tree /-- All vertices in G must appear in some bag. -/ vertexCover : ∀ v : V, ∃ w : W, v ∈ bag w /-- For any edge (u, v) in G, there is a bag containing both u and v. -/ edgeCover ⦃u v : V⦄ : G.Adj u v → ∃ w : W, u ∈ bag w ∧ v ∈ bag w /-- For any vertex v in G, the set of bags that contain v is preconnected. -/ connectedBags : ∀ v : V, (tree.induce ({w | v ∈ bag w})).Preconnected ``` AI Usage: Some proofs are written with the help of Claude Code, and everything has been manually reviewed. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [x] depends on: #38027 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics LLM-generated 395/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/TreeDecomp.lean 2 42 ['8e7', 'SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
49-49560
1 month ago
106-36415
106 days ago
130-18323
130 days
1
43953 hasjack
author:hasjack
feat(Combinatorics/SimpleGraph/LapMatrix): bound Laplacian eigenvalues by `|V|` Prove that every Laplacian eigenvalue of a finite simple graph is at most the number of vertices, via comparison of the Rayleigh quotient with the complete graph. Also record the underlying quadratic-form bound `xᵀ L x ≤ |V| · ‖x‖²`. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---` , otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) Adds `dotProduct_mulVec_lapMatrix_le_card` and `eigenvalues_lapMatrix_le_card` in `LapMatrix.lean` only. The claim is the uniform bound `λ ≤ |V|` for every indexed eigenvalue; it does not assert `|V| ∈ spectrum` for every graph. Searched existing LapMatrix API (PSD, `zero_mem_spectrum_lapMatrix`, `lapMatrix_top`) and did not find a card upper bound under another name. Happy to rename if a preferred lemma already exists. new-contributor t-combinatorics LLM-generated 37/1 Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Mul.lean 2 61 ['Parcly-Taxel', 'SnirBroshi', 'github-actions', 'hasjack'] nobody
49-7472
1 month ago
49-8001
49 days ago
51-32083
51 days
0
43503 carlok
author:carlok
chore: weaken unused typeclass assumptions on section variables This PR has been described at https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/unused.20hypotheses.3A.20431.20in.20a.2029k.20sample.2C.20and.2033.20one-line.20PRs/near/622113682 it is a list of mechanically found [1] one-liners relaxing theorems whose setting is stronger than their proof needs. Each change compiled alone against an unmodified file (whole library building locally at 633b366493). More information on the project https://github.com/carlok/unused-assumptions In the zulip thread, @SnirBroshi spotted that the refactored Topology/EMetricSpace/Pi.lean takes [EDist α] in place of two binders. PS: A single PR because I noticed #42214 (813 files, merged, same kind of change). Thank you for your work. [1] LLM + Lean4 itself new-contributor merge-conflict 32/32 Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRingsExact.lean,Mathlib/Algebra/CharP/Algebra.lean,Mathlib/Algebra/Group/Submonoid/Pointwise.lean,Mathlib/Algebra/Order/Archimedean/Defs.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Order/Group/Indicator.lean,Mathlib/Algebra/Order/Sub/Unbundled/Hom.lean,Mathlib/Algebra/Order/WithTop/Untop0.lean,Mathlib/Algebra/Regular/SMul.lean,Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/Analysis/Convex/Cone/TensorProduct.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Normed/Group/CocompactMap.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Data/Finset/Pairwise.lean,Mathlib/GroupTheory/Torsion.lean,Mathlib/LinearAlgebra/BilinearMap.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean,Mathlib/Order/Antichain.lean,Mathlib/Order/Monotone/Extension.lean,Mathlib/RingTheory/AlgebraTower.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Over.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/Module.lean,Mathlib/RingTheory/Valuation/ValuationRing.lean,Mathlib/Topology/EMetricSpace/Pi.lean,Mathlib/Topology/Instances/Sign.lean 29 6 ['github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'themathqueen'] nobody
48-37151
1 month ago
48-37152
48 days ago
15-21300
15 days
0
36832 KryptosAI
author:KryptosAI
chore(Data/Finset/Card): rename `pred_card_le_card_erase` to `sub_one_card_le_card_erase` ## Summary The name `pred_card_le_card_erase` suggests `Nat.pred` but the statement uses `- 1` (i.e., `Nat.sub 1`). Rename to `sub_one_card_le_card_erase` to match the actual statement. A deprecated alias is added for backwards compatibility. ### Files changed - `Mathlib/Data/Finset/Card.lean` — definition renamed + deprecated alias - `Mathlib/Data/Finset/Powerset.lean` — reference updated - `Mathlib/Combinatorics/Additive/SubsetSum.lean` — reference updated - `Mathlib/Algebra/Polynomial/EraseLead.lean` — reference updated Addresses the `Finset.pred_card_le_card_erase` item in #21584. ## AI disclosure I used Claude Code to explore the codebase (finding all references to rename) and to draft the PR description. I reviewed and understand all changes — these are straightforward renames with a deprecated alias. new-contributor awaiting-author merge-conflict 22/15 Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Combinatorics/Additive/SubsetSum.lean,Mathlib/Combinatorics/SetFamily/AhlswedeZhang.lean,Mathlib/Combinatorics/SetFamily/Shadow.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Set/Card.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/RingTheory/Ideal/Operations.lean 9 9 ['KryptosAI', 'Multramate', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts', 'mattrobball', 'ooovi'] nobody
47-76961
1 month ago
175-7975
175 days ago
59-40608
59 days
0
40791 vvvv-ops
author:vvvv-ops
feat(RingTheory/DedekindDomain): dirichlet's s-unit theorem Proves the `Future work` of `RingTheory/DedekindDomain/SInteger.lean`: finite generation of `S`-units and Dirichlet's `S`-unit theorem. For a Dedekind domain `R` with fraction field `K` and a finite set `S` of height-one primes, this adds the `S`-valuation map `Set.unitValuation` with kernel the `∅`-units (`Set.unitValuation_ker`), finite generation `Set.unit_fg`, and the exact rank `Set.finrank_eq`: `finrank ℤ (Additive 𝒪_{K,S}ˣ) = finrank ℤ (Additive 𝒪_Kˣ) + |S|`, plus the number-field specialisation `Set.unit_finrank_numberField` (`= (r₁ + r₂ - 1) + |S|`). The proof uses the short exact sequence `1 → 𝒪_Kˣ → 𝒪_{K,S}ˣ → ⊕_{v∈S} ℤ`: the kernel is the units, and the image has finite index because its cokernel embeds in the (finite) class group. The general finiteness helpers `Module.Finite.of_fg_ker_of_fg_range`, `CommGroup.fg_of_fg_ker_of_fg_range`, `Subgroup.fg_of_fg_commGroup` are included in the file for now — happy to move them to `RingTheory/Finiteness` / `GroupTheory/Finiteness` if preferred. t-ring-theory new-contributor awaiting-author merge-conflict 339/0 Mathlib.lean,Mathlib/RingTheory/DedekindDomain/SUnit.lean,scripts/noshake.json 3 5 ['github-actions', 'jjdishere', 'mathlib-merge-conflicts'] mattrobball
assignee:mattrobball
47-69596
1 month ago
66-85778
66 days ago
76-35876
76 days
0
44099 xiahongchi
author:xiahongchi
feat: maximize concave functions at stationary points Adds two first-order maximum principles for real concave functions: * `ConcaveOn.le_of_hasDerivAt_eq_zero` * `ConcaveOn.isGreatest_of_hasDerivAt_eq_zero` They use the existing secant-slope bounds and require differentiability only at the candidate maximizer. Tested by compiling `Mathlib/Analysis/Convex/Deriv.lean` locally. t-analysis new-contributor 31/0 Mathlib/Analysis/Convex/Deriv.lean 1 3 ['github-actions'] nobody
47-50326
1 month ago
47-50913
47 days ago
47-50840
47 days
0
44103 xiahongchi
author:xiahongchi
feat: equate derivatives of ordered functions at contact points This adds Fréchet-derivative and scalar-derivative lemmas saying that two everywhere-ordered real-valued functions have equal derivatives wherever they agree. The proof applies Fermat’s theorem to their nonnegative difference. This packages and generalizes the scalar envelope argument from Bryan Sanchez’s `NSBlwChain/Caveats/C2_Envelope.lean` at `Brsanch/ns-lean-proofs@b73f537d1646165fbdc0993c5b2e223355dc3469` (MIT). The new declarations elaborate under the released toolchain; compiling the current master file there reports only one pre-existing current-Lean field-notation incompatibility before the new code. Current-toolchain CI is authoritative. t-analysis new-contributor 20/0 Mathlib/Analysis/Calculus/LocalExtr/Basic.lean 1 2 ['github-actions'] nobody
47-48641
1 month ago
47-49098
47 days ago
47-49025
47 days
0
42315 sfingali
author:sfingali
feat(Topology): the adic spectrum Spa(A, A+) as a topological space ### Summary Defines the adic spectrum `Spa(A, A⁺)` as a set and topological space for a topological ring `A` and a subring `A⁺` (Wedhorn, *Adic Spaces*, arXiv:1910.05934, Def. 7.23 and Def. 7.29, pp. 62–63). * `SpaPoint A A⁺` — a point of the adic spectrum: a continuous valuation `v : A → Γ₀` with `v(f) ≤ 1` for all `f ∈ A⁺`. * `SpaPoint.rationalSubset s T` — the rational subset `R(T/s)`. * `SpaPoint.spaTopologicalSpace` — the topology generated by the rational subsets with `T · A` open in `A`; `isOpen_rationalSubset` shows every such rational subset is open. * `SpaPoint.mem_rationalSubset_one` — Wedhorn, Rem. 7.30(4): `R(f/1)` is the set `{x | |f(x)| ≤ 1}`. Third step of an adic/perfectoid pipeline (Huber rings #42312 → continuous valuations #42314 → Spa → Huber pairs → perfectoid → tilting). This PR works with the element-level notion (a bundled continuous valuation with a fixed value group); Wedhorn defines `Spa(A, A⁺)` as a subspace of the valuation spectrum `Spv(A)` — the comparison is added once the spectrum PR lands. ### References * T. Wedhorn, *Adic Spaces*, arXiv:1910.05934, Def. 7.23, Def. 7.29, Rem. 7.30 (pp. 62–63). new-contributor t-topology awaiting-author 411/0 Mathlib.lean,Mathlib/RingTheory/Valuation/ContinuousValuation.lean,Mathlib/Topology/Algebra/Nonarchimedean/Spa.lean 3 4 ['github-actions', 'tb65536', 'themathqueen'] ADedecker
assignee:ADedecker
46-61586
1 month ago
46-61597
46 days ago
52-19364
52 days
0
37683 SabrinaJewson
author:SabrinaJewson
feat(Order/OrdContinuous): every map between complete lattices that preserves sSup is a left adjoint of some Galois connection It is already proven that the left side of a Galois connection is left-continuous; this provides the converse. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #37682 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order awaiting-author 9/0 Mathlib/Order/OrdContinuous.lean 1 8 ['SnirBroshi', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
46-59661
1 month ago
47-45617
47 days ago
78-18986
78 days
0
42955 mpacholski
author:mpacholski
feat(diffgeo): add Hom-bundle support and fix pullback base points in T% elaborator # Changes ## `Mathlib/Geometry/Manifold/Notation.lean` * **Add support for pullback bundles:** Replaced the hardcoded bound variable `x` with the dynamically extracted argument `arg`, which allows for using elaborator `T%` with pullback bundles, where the base point lies in a different manifold, e.g. `v : Π (m : M), E₁ (b m)`, where `b : M → B`. * **Add support for Hom-bundles:** The elaborator now supports sections of Hom-bundles (`ContinuousLinearMap` between two fiber bundles, e.g. `ϕ : ∀ x, (E₁ x →L[𝕜] E₂ x`). It also supports the case where the base point lies in a different manifold (e.g. `ϕ : ∀ x, (E₁ (b x) →L[𝕜] E₂ (b x))`) * **Support nested `TangentSpace`:** Modified `findModelFiber?` to natively intercept `TangentSpace` applications and extract the model fiber at index 2. This prevents typeclass synthesis failures when `TangentSpace` is used inside a Hom-bundle. ## `MathlibTest/DifferentialGeometry/Notation/Basic.lean` * **Added tests for all the new usecases** this includes pullback bundles, Hom-bundles, pullback Hom-bundles, and Hom-bundles where one of the fibers is a `TangentSpace`. ## `Mathlib/Geometry/Manifold/VectorBundle/Hom.lean` * **Refactor `Hom.lean`:** Replaced verbose `TotalSpace.mk'` boilerplate in with the newly supported `T%` syntax (e.g. `MDiffAt[s] T% ϕ x` instead of `MDiffAt[s] (fun m ↦ TotalSpace.mk' (F₁ →L[𝕜] F₂) (E := fun (x : B) ↦ (E₁ x →L[𝕜] E₂ x)) (b m) (ϕ m)) x)` # Use of AI The help of AI was used in writing the code in `Mathlib/Geometry/Manifold/Notation.lean`. It was hence manually edited to simplify the code as much as possible. While the author is not yet an expert in metaprogramming in Lean, he is willing to learn and receive feedback, and put all the effort to understand the presented code. The code was carefully tested with different parts of it changed and removed to make sure that every line serves a purpose to provide the expected functionality. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry new-contributor LLM-generated 127/36 Mathlib/Geometry/Manifold/Notation.lean,Mathlib/Geometry/Manifold/VectorBundle/Hom.lean,MathlibTest/DifferentialGeometry/Notation/Basic.lean 3 5 ['github-actions', 'grunweg', 'mpacholski'] nobody
45-49557
1 month ago
80-85169
80 days ago
80-85096
80 days
3
43905 t4v1
author:t4v1
feat(Analysis/FunctionalSpaces): prove Morrey's inequality Morrey's inequality, the supercritical companion of the Gagliardo–Nirenberg–Sobolev inequality of `Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean`. That file bounds an `L^q` norm of a compactly supported `C¹` function by the `L^p` norm of its derivative when `p < finrank ℝ E`; this one treats `finrank ℝ E < p`, where the function is Hölder continuous of exponent `1 - n / p`: * `enorm_sub_le_morreyConst_mul_rpow_mul_eLpNorm_fderiv`: `‖u x - u z‖ₑ ≤ morreyConst E μ p * ‖x - z‖ₑ ^ (1 - n / p) * eLpNorm (fderiv ℝ u) p μ` for `u` of class `C¹` (no support hypothesis is needed); * `eLpNorm_top_le_eLpNorm_fderiv`: `eLpNorm u ⊤ μ ≤ C * eLpNorm (fderiv ℝ u) p μ` for `u` supported in a bounded set `s`, `C` depending on `s` through its diameter. Both constants are explicit and homogeneous of the right degree in `μ`, so the estimates are invariant under rescaling the Haar measure. On the way: the exact value of the Riesz kernel integral on a ball, `setLIntegral_ball_rpow_neg` (`∫⁻ y in ball x r, ‖y - x‖ₑ ^ (-a) ∂μ` equals `n / (n - a) * μ (ball 0 1) * r ^ (n - a)` for `a < n`), its finiteness, and the Riesz potential estimate `lintegral_ball_enorm_sub_le_lintegral_riesz` bounding the mean oscillation of a `C¹` function on a ball by the Riesz potential of its derivative. The proof is the classical one (Evans, *PDE*, §5.6.2; Lieb–Loss, *Analysis*, §8.4): polar coordinates about the centre of a ball, the fundamental theorem of calculus along rays, Hölder's inequality against the Riesz kernel, and a comparison of the averages over `ball x d`, `ball z d` and `ball ((x + z)/2) (d/2)`. The target space `F` is not assumed complete: the fundamental theorem of calculus is applied in `UniformSpace.Completion F`. The proofs were developed with the help of an LLM (Claude Code) and then checked and edited by the author, who takes responsibility for every line. - [ ] depends on: #43904 (polar coordinates for lintegral) blocked-by-other-PR t-measure-probability new-contributor t-analysis LLM-generated 535/0 Mathlib.lean,Mathlib/Analysis/FunctionalSpaces/MorreyInequality.lean,Mathlib/MeasureTheory/Constructions/HaarToSphere.lean,docs/references.bib 4 5 ['github-actions', 'mathlib-dependent-issues', 't4v1'] nobody
45-31047
1 month ago
unknown
unknown
0
42147 philipp-svinger
author:philipp-svinger
feat(Analysis/ODE): peano existence theorem, integral form forward in time Prove existence of solution to ODE (in integral form) forward in time. Show the constructed limit fulfills the given integral equation. Co-authored-by: Florian Grube <fgrube@math.uni-bielefeld.de> Co-authored-by: Paul Niessner <pniessner@math.uni-bielefeld.de> Co-authored-by: Julian Rolfes <jrolfes@math.uni-bielefeld.de> Co-authored-by: Luke Schleef <lschleef@math.uni-bielefeld.de> Co-authored-by: Philipp Svinger <psvinger@math.uni-bielefeld.de> --- We want to add the proof of the Peano existence theorem for ODEs, using Tonelli approximations. This is the fifth PR in a series. See our further PRs for more information, last #42148 --- The statements, definitions and proofs were written without AI. AI was used afterwards to help us to adapt our code to the style and naming conventions. We also used it in the process of writing a documentation. <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #42142 - [ ] depends on: #42143 - [ ] depends on: #42144 - [ ] depends on: #42146 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR t-analysis new-contributor 502/0 Mathlib.lean,Mathlib/Analysis/ODE/Peano.lean 2 3 ['github-actions', 'mathlib-dependent-issues'] nobody
44-68725
1 month ago
unknown
unknown
1
42148 philipp-svinger
author:philipp-svinger
feat(Analysis/ODE): peano existence theorem, full version Prove peano existence theorem for ODEs (differential form) Show existence of solution backwards in time by reflection. Glue together for global solution. Show solution fulfills differential formulation from integral formulation. Co-authored-by: Florian Grube <fgrube@math.uni-bielefeld.de> Co-authored-by: Paul Niessner <pniessner@math.uni-bielefeld.de> Co-authored-by: Julian Rolfes <jrolfes@math.uni-bielefeld.de> Co-authored-by: Luke Schleef <lschleef@math.uni-bielefeld.de> Co-authored-by: Philipp Svinger <psvinger@math.uni-bielefeld.de> --- We want to add the proof of the Peano existence theorem for ODEs, using Tonelli approximations. This is the sixth and final PR in a series. See our further PRs for more information. --- The statements, definitions and proofs were written without AI. AI was used afterwards to help us to adapt our code to the style and naming conventions. We also used it in the process of writing a documentation. <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #42142 - [ ] depends on: #42143 - [ ] depends on: #42144 - [ ] depends on: #42146 - [ ] depends on: #42147 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR t-analysis new-contributor 603/0 Mathlib.lean,Mathlib/Analysis/ODE/Peano.lean 2 53 ['github-actions', 'luigi-massacci', 'mathlib-dependent-issues', 'mcdoll', 'philipp-svinger'] nobody
44-68702
1 month ago
unknown
unknown
0
42144 philipp-svinger
author:philipp-svinger
feat(Analysis/ODE): peano existence theorem, application of Arzela Ascoli Apply Arzela Ascoli to show existence of converging subsequence Add proof that Tonelli approximations have a converging subsequence using Arzela Ascoli. Define adapter to BoundedContinuousFunctions to use existing results. Co-authored-by: Florian Grube <fgrube@math.uni-bielefeld.de> Co-authored-by: Paul Niessner <pniessner@math.uni-bielefeld.de> Co-authored-by: Julian Rolfes <jrolfes@math.uni-bielefeld.de> Co-authored-by: Luke Schleef <lschleef@math.uni-bielefeld.de> Co-authored-by: Philipp Svinger <psvinger@math.uni-bielefeld.de> --- We want to add the proof of the Peano existence theorem for ODEs, using Tonelli approximations. This is the third PR in a series. See our further PRs for more information, last #42148 --- The statements, definitions and proofs were written without AI. AI was used afterwards to help us to adapt our code to the style and naming conventions. We also used it in the process of writing a documentation. <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #42142 - [ ] depends on: #42143 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR t-analysis new-contributor 355/0 Mathlib.lean,Mathlib/Analysis/ODE/Peano.lean 2 5 ['YanYablonovskiy', 'github-actions', 'mathlib-dependent-issues', 'philipp-svinger'] nobody
44-68654
1 month ago
unknown
unknown
3
42146 philipp-svinger
author:philipp-svinger
feat(Analysis/ODE): peano existence theorem, Limit Extraction Transfer existence result of limit from BoundedContinuousFunctions to original definition. Prove the Tonelli approximations converge uniformly. Co-authored-by: Florian Grube <fgrube@math.uni-bielefeld.de> Co-authored-by: Paul Niessner <pniessner@math.uni-bielefeld.de> Co-authored-by: Julian Rolfes <jrolfes@math.uni-bielefeld.de> Co-authored-by: Luke Schleef <lschleef@math.uni-bielefeld.de> Co-authored-by: Philipp Svinger <psvinger@math.uni-bielefeld.de> --- We want to add the proof of the Peano existence theorem for ODEs, using Tonelli approximations. This is the fourth PR in a series. See our further PRs for more information, last #42148 --- The statements, definitions and proofs were written without AI. AI was used afterwards to help us to adapt our code to the style and naming conventions. We also used it in the process of writing a documentation. <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #42142 - [ ] depends on: #42143 - [ ] depends on: #42144 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR t-analysis new-contributor 419/0 Mathlib.lean,Mathlib/Analysis/ODE/Peano.lean 2 3 ['github-actions', 'mathlib-dependent-issues'] nobody
44-68380
1 month ago
unknown
unknown
2
42143 philipp-svinger
author:philipp-svinger
feat(Analysis/ODE): peano existence theorem, Tonelli approximation 2 Add auxiliary results for Tonelli approximation Add MapsTo statement for Tonelli approximation. Add LipschitzOnWith statement for Tonelli approximation. Co-authored-by: Florian Grube <fgrube@math.uni-bielefeld.de> Co-authored-by: Paul Niessner <pniessner@math.uni-bielefeld.de> Co-authored-by: Julian Rolfes <jrolfes@math.uni-bielefeld.de> Co-authored-by: Luke Schleef <lschleef@math.uni-bielefeld.de> Co-authored-by: Philipp Svinger <psvinger@math.uni-bielefeld.de> --- We want to add the proof of the Peano existence theorem for ODEs, using Tonelli approximations. This is the second PR in a series. See our further PRs for more information, last: #42148 --- The statements, definitions and proofs were written without AI. AI was used afterwards to help us to adapt our code to the style and naming conventions. We also used it in the process of writing a documentation. <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #42142 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR t-analysis new-contributor 301/0 Mathlib.lean,Mathlib/Analysis/ODE/Peano.lean 2 3 ['github-actions', 'mathlib-dependent-issues'] nobody
44-68342
1 month ago
unknown
unknown
4
44222 SamuelSchlesinger
author:SamuelSchlesinger
feat(Analysis/SpecialFunctions/Stirling): asymptotics of the central binomial coefficient Upstreaming `n.centralBinom ~ 4 ^ n / √(π * n)` and its `4 ^ n`-normalised corollaries, needed for a Razborov–Smolensky `AC⁰[p]` lower bound in a circuit-complexity formalization, together with the Catalan asymptotic `catalan n ~ 4 ^ n / (√π * n ^ (3 / 2))` as a first application in Mathlib. Drafted with Claude Code from my existing proof of the same statement, then revised by me against Mathlib conventions. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> t-analysis LLM-generated new-contributor 85/1 Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/Combinatorics/Enumerative/Catalan/Asymptotics.lean 3 4 ['SamuelSchlesinger', 'github-actions'] nobody
44-30231
1 month ago
44-30560
44 days ago
44-30487
44 days
0
43441 JakobScholbach
author:JakobScholbach
feat(CategoryTheory/LiftingProperties): the unique lifting property Defines `HasAtMostOneLiftingProperty i p`, saying that every commutative square from `i` to `p` has at most one filler (its type of lifts is a `Subsingleton`), and `HasUniqueLiftingProperty i p`, which extends it together with `HasLiftingProperty` to say that every such square has exactly one. The API mirrors `LiftingProperties/Basic.lean`: both classes are stable under composition on either side, admit the corresponding cancellation, transfer along isomorphisms of arrows and along retracts of arrows, and are exchanged by passing to the opposite category. Every statement is dualized with `@[to_dual]`, so the file states one of each pair. Also included are `CommSq.lift_eq_of_hasAtMostOneLiftingProperty`, saying that two fillers of one square agree, and `hasUniqueLiftingProperty_iff`, which restates the unique lifting property as an explicit `∃!`. I was not fully sure about two points, so I am happy to get feedback particularly on the following: - `HasUniqueLiftingProperty.of_left_iso` carries `priority := 100`. Is this OK? - `CommSq.uniqueLiftStruct` is a `def` with `instance_reducible` rather than an instance. OK? I intend to submit further PRs that develop orthogonal factorization systems based on the small object argument later on, once this PR is approved. Thank you. new-contributor t-category-theory LLM-generated awaiting-author 309/0 Mathlib.lean,Mathlib/CategoryTheory/LiftingProperties/Unique.lean 2 8 ['JakobScholbach', 'github-actions', 'joelriou', 'theebayuser'] nobody
43-73772
1 month ago
54-75907
54 days ago
11-7546
11 days
0
30391 rudynicolop
author:rudynicolop
feat(Data/List): list splitting definitions and lemmas This PR continues the work from #24395. Original PR: https://github.com/leanprover-community/mathlib4/pull/24395 t-data new-contributor awaiting-author merge-conflict 108/2 Mathlib/Data/List/Perm/Lattice.lean,Mathlib/Data/List/TakeDrop.lean 2 51 ['BoltonBailey', 'IlPreteRosso', 'TwoFX', 'Vierkantor', 'github-actions', 'kckennylau', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'rudynicolop'] TwoFX
assignee:TwoFX
42-40310
1 month ago
297-11035
297 days ago
91-66874
91 days
0
32555 ksenono
author:ksenono
feat(Combinatorics/SimpleGraph/Matching): maximum and maximal matchings for Konig's theorem --- <!-- Your PR title will become the first line of the commit message. definitions and existence of maximum/maximal matchings in simple graphs. --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor awaiting-author merge-conflict 112/0 Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean 2 47 ['SnirBroshi', 'SproutSeeds', 'YaelDillies', 'b-mehta', 'github-actions', 'jcommelin', 'ksenono', 'mathlib-merge-conflicts'] YaelDillies
assignee:YaelDillies
42-39360
1 month ago
175-9356
175 days ago
130-25196
130 days
2
35058 GrigorenkoPV
author:GrigorenkoPV
chore: move tendsto_{floor,ceil}_at{Top,Bot} Moves: - Topology.Algebra.Order.Floor.tendsto_floor_atTop -> Order.Filter.AtTopBot.Floor.tendsto_floor_atTop - Topology.Algebra.Order.Floor.tendsto_floor_atBot -> Order.Filter.AtTopBot.Floor.tendsto_floor_atBot - Topology.Algebra.Order.Floor.tendsto_ceil_atTop -> Order.Filter.AtTopBot.Floor.tendsto_ceil_atTop - Topology.Algebra.Order.Floor.tendsto_ceil_atBot -> Order.Filter.AtTopBot.Floor.tendsto_ceil_atBot --- Tracked in #7987 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor large-import awaiting-author merge-conflict 22/25 Mathlib/Order/Filter/AtTopBot/Floor.lean,Mathlib/Topology/Algebra/Order/Floor.lean 2 4 ['GrigorenkoPV', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts'] nobody
42-39103
1 month ago
243-58118
243 days ago
27-45743
27 days
0
35376 michaellee94
author:michaellee94
feat(Geometry/Manifold): orientable manifolds This adds a definition of orientation and orientability for manifolds. AI disclosure: I used Claude to revise an initial human pass at the core definitions, as well as to help formalize proofs of natural follow-up statements from human-written definitions and theorem statements. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [x] depends on: #33189 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-differential-geometry awaiting-author merge-conflict 726/1 Mathlib.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/Manifold/Orientation.lean,Mathlib/Geometry/Manifold/VectorBundle/Tangent.lean,Mathlib/Topology/LocallyConstant/Basic.lean 6 86 ['Rida-Hamadani', 'eric-wieser', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'michaellee94', 'sgouezel'] sgouezel
assignee:sgouezel
42-39102
1 month ago
120-25671
120 days ago
17-65363
17 days
1
36347 FrankieeW
author:FrankieeW
feat(NumberTheory/QuadraticField): define quadratic number fields as QuadraticAlgebra ℚ d 0 Define `Qsqrtd d` as `QuadraticAlgebra ℚ d 0`, representing the quadratic number field `ℚ(√d)`. Prove trace and norm results, show `Qsqrtd d` is a number field and a quadratic extension when `d` is not a perfect square, and prove that `ℚ(√0)` and `ℚ(√1)` are not fields. Include `IsQuadraticField` as a predicate for quadratic extensions of `ℚ`, and bridge lemmas connecting squarefree integer parameters to the non-square condition. This PR is part of a series upstreaming the [QuadraticNumberFields](https://github.com/FrankieeW/QuadraticNumberFields) project. [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/quadratic.20number.20fields) --- ### PRs - #36347 (this PR) - #36387 --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before and after the `---`, otherwise the tooling may not work correctly. For details on the requirements for commit messages, see [Mathlib Commit Conventions](https://leanprover-community.github.io/contribute/commit_conventions.html). --> <!-- To indicate co-authors, include lines at the bottom of the commit message (that is, before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are not ready for a review yet, add `[WIP]` to the PR title to mark it as a work in progress. --> <!-- ### Checklist --> <!-- Put an `x` inside `[ ]` to check the box. - [x] The PR title is in Conventional Commits style (`feat:`, `fix:`, `chore:`, etc.) and adequate for the final squash-merge commit message (see [Mathlib Commit Conventions](https://leanprover-community.github.io/contribute/commit_conventions.html)). If this PR closes an issue, write `Closes #NNNN` in the above PR description. If it doesn't, no action is required. Zulip discussion link (optional, but very useful): https://leanprover.zulipchat.com/#narrow/channel/NNN-channel-name/topic/topic.20name --> t-number-theory new-contributor large-import awaiting-author LLM-generated merge-conflict 191/0 Mathlib.lean,Mathlib/Algebra/QuadraticAlgebra/Defs.lean,Mathlib/Algebra/Squarefree/Basic.lean,Mathlib/NumberTheory/QuadraticField/Basic.lean 4 30 ['FrankieeW', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'riccardobrasca', 'tb65536', 'wwylele'] tb65536
assignee:tb65536
42-38964
1 month ago
237-85935
237 days ago
7-4875
7 days
1
39341 drocta
author:drocta
feat(Algebra/Colimit/DirectLimit): add DirectLimit.(NonUnital)StarAlgebra.(lift/of) maps and associated lemmas add the `of` and `lift` maps for `DirectLimit.StarAlgebra` and `DirectLimit.NonUnitalStarAlgebra`, as well as the associated lemmas, `of_f`, `lift_comp_of`, `lift_of`, and `hom_ext` for each. Also make `DirectLimit.NonUnitalAlgebra` only require `[Monoid R]` rather than `[CommSemiring R]`. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> Use of AI: I again asked ChatGPT for some advice about some things about this code. I can personally vouch for all of the code I'm submitting, and that I understand all of it. This is the third part of my project towards supporting direct limits of $C^∗$ -algebras (as I described [on Zulip](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Early.20feedback.20on.20approach.20towards.20formalizing.20UHF.20algebras.3F) ). This PR adds an import of `Mathlib.Algebra.Star.StarAlgHom` (because it needs `StarAlgHom` and `NonUnitalStarAlgHom`) replacing/encompassing the previously added imports of `Mathlib.Algebra.Star.StarRingHom` and `Mathlib.Algebra.Algebra.NonUnitalHom` (added in PR #38308 and #38672 respectively). t-algebra new-contributor awaiting-author merge-conflict
label:t-algebra$
100/3 Mathlib/Algebra/Colimit/DirectLimit.lean 1 23 ['dagurtomas', 'drocta', 'github-actions', 'mathlib-merge-conflicts', 'themathqueen'] themathqueen
assignee:themathqueen
42-37093
1 month ago
114-82788
114 days ago
56-19662
56 days
0
40652 michaellee94
author:michaellee94
feat(Geometry/Manifold): the Möbius band is a non-orientable manifold Constructs the Möbius band as the total space of a line bundle over the circle (`moebiusBundleCore`, `MoebiusBand`), proves it is a connected smooth manifold (`MoebiusBand.isManifold`, `MoebiusBand.connectedSpace`), and proves it is non-orientable (`MoebiusBand.not_orientable`). AI assistance note: After formalizing definitions and theorem statements, I used Claude (hooked up to the Lean LSP MCP running locally) to help iteratively fix elaboration errors (e.g. by calling Loogle to locate the necessary intermediate results and inject them where needed). - [ ] depends on: #35376 t-differential-geometry new-contributor blocked-by-other-PR LLM-generated 1895/0 Mathlib.lean,Mathlib/Analysis/Complex/Circle.lean,Mathlib/Geometry/Manifold/Instances/MoebiusBand.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/Manifold/Orientation.lean,Mathlib/Geometry/Manifold/VectorBundle/Tangent.lean,Mathlib/Topology/LocallyConstant/Basic.lean 8 4 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
42-36831
1 month ago
unknown
unknown
0
41963 sweeneyde
author:sweeneyde
feat(AlgebraicTopology): nerve preserves products This formalizes the fact that a composable chain of pairs can be identified with a pair of composable chains. It may be useful in the future for converting a natural transformation into a simplicial homotopy. --- I added this to a different file to avoid the circular import from `Nerve -> Monoidal -> StdSimplex -> NerveNondegenerate -> Nerve` <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology new-contributor awaiting-author merge-conflict 82/0 Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveProduct.lean,Mathlib/CategoryTheory/ComposableArrows/Basic.lean,Mathlib/CategoryTheory/IsoCat.lean,Mathlib/CategoryTheory/Products/Basic.lean 5 21 ['github-actions', 'joelriou', 'mathlib-merge-conflicts', 'robin-carlier', 'sweeneyde'] nobody
42-35586
1 month ago
111-34523
111 days ago
0-12406
3 hours
1
42158 sweeneyde
author:sweeneyde
feat(AlgebraicTopology): natural transformation to nerve homotopy Given a natural transformation between two functors, we produce a homotopy between the maps they induce on nerve simplicial sets. --- Using `SmallCategory` instances made the proof easier--I had trouble with the universe levels involved when trying to use `Category.{v} C` instead. One could use [CategoryTheory.AsSmall](https://leanprover-community.github.io/mathlib4_docs/Mathlib/CategoryTheory/Category/ULift.html#CategoryTheory.AsSmall) to convert to a small category first. - [ ] depends on: #41963 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor blocked-by-other-PR t-algebraic-topology merge-conflict 119/0 Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveProduct.lean,Mathlib/CategoryTheory/ComposableArrows/Basic.lean,Mathlib/CategoryTheory/IsoCat.lean,Mathlib/CategoryTheory/Products/Basic.lean 5 5 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
42-35453
1 month ago
104-57512
104 days ago
0-29
29 seconds
0
42720 justinhalford
author:justinhalford
feat(Order/KrullDimension): level sets of height are antichains Adds one lemma to `Mathlib/Order/KrullDimension.lean`, directly after `height_strictMono`: ```lean lemma isAntichain_lt_height_preimage {n : ℕ∞} (hn : n ≠ ⊤) : IsAntichain (· < ·) {x : α | height x = n} ``` Elements sharing a common *finite* height are pairwise incomparable — the level sets of `height` are antichains. ### Why This is the combinatorial content of **Mirsky's theorem**, which partitions a finite-dimensional order into `krullDim + 1` antichains (and is the easy dual of Dilworth's theorem). Neither Mirsky nor Dilworth currently appears in Mathlib — both are on the tracked list in `docs/1000.yaml` without a `decl`, and searching for `Mirsky` and `Dilworth` returns nothing. Rather than introduce the partition machinery up front, this contributes the underlying fact, which is what any route to Mirsky needs and is independently useful for reasoning about graded and finite-dimensional orders. ### Design Stated with `(· < ·)` rather than `(· ≤ ·)` so that it lives in the existing `[Preorder α]` section and needs no antisymmetry; in a partial order the two coincide for distinct elements. The hypothesis is `n ≠ ⊤` rather than a finiteness typeclass, which keeps it usable without extra assumptions — `height_strictMono` needs exactly that much. ### Proof Three lines on `height_strictMono`, immediately above it in the same file. ### Verification Compiles against `master` with no errors or warnings. `#print axioms` reports only `[propext, Classical.choice, Quot.sound]`. No new imports or definitions — `+11 -0` in one file. ### Disclosure Written with AI assistance (Claude Opus 5) and checked against the Lean kernel; I have read the statement and proof before submitting. Happy to rename, or to restate as `IsAntichain (· ≤ ·)` in a `PartialOrder` section if that is preferred. t-order new-contributor 11/0 Mathlib/Order/KrullDimension.lean 1 5 ['github-actions', 'theebayuser'] nobody
42-30641
1 month ago
88-14790
88 days ago
88-14717
88 days
0
42835 rshlyakh
author:rshlyakh
feat(RingTheory/NoetherNormalization): add that `s` is Krull dimension to theorem statements This adds the fact that the natural number `s` in Noether normalization statements is the Krull dimension of the algebra `A`, using the fact (from #41904) that injective integral extensions preserve Krull dimension. This was previously a `TO-DO` in this file. - [ ] depends on: #41904 --- The statement of the lemma is now a bit awkward ("there exists `s` such that `s = ringKrullDim R`, and ..."), but I did not see a good alternative since it is desirable for `s` to be a Nat while `ringKrullDim R` is a `WithBot ENat`. Any suggestions on how to improve this would be appreciated. Note that the only changes are to `NoetherNormalization.lean` (the other changes are from the dependent PR, #41904). <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory blocked-by-other-PR large-import new-contributor merge-conflict 97/28 Mathlib.lean,Mathlib/RingTheory/Ideal/HasGoingUp.lean,Mathlib/RingTheory/KrullDimension/Integral.lean,Mathlib/RingTheory/NoetherNormalization.lean 4 6 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vlad902'] nobody
42-11058
1 month ago
unknown
unknown
0
43321 owenpkent
author:owenpkent
feat(RingTheory/Polynomial/RationalRoot): rational root theorem with multiplicity This PR adds the rational root theorem with multiplicity to `Mathlib/RingTheory/Polynomial/RationalRoot.lean`: - `den_pow_rootMultiplicity_dvd_leadingCoeff`: if `r : K` is a root of `p : A[X]` (`A` a UFD, `K` its fraction field) with multiplicity `m = rootMultiplicity r (p.map (algebraMap A K))`, then `(den A r) ^ m ∣ p.leadingCoeff`; - `prod_den_pow_rootMultiplicity_dvd_leadingCoeff`: the multi-point version, `∏ r ∈ s, (den A r) ^ rootMultiplicity r ∣ p.leadingCoeff` over any finite set `s : Finset K` (the denominators need **not** be pairwise coprime in `A`; the recombination happens on the polynomial side, where the root factors at distinct points are pairwise coprime over `K`); - `den_mul_X_sub_C_num_pow_rootMultiplicity_dvd`: the `A`-level form both corollaries come from, `(C (den A r) * X - C (num A r)) ^ m ∣ p` in `A[X]`. These generalize the existing multiplicity-one statement `den_dvd_of_is_root`: at `m = 1` the new theorem recovers it exactly (a guard `example` confirmed this against the branch). Two supporting lemmas travel with them, placed in `Content.lean`, whose existing content they extend: - `Polynomial.IsPrimitive.pow` and `Polynomial.isPrimitive_prod`: powers and finite products of primitive polynomials stay primitive. **Proof route.** The reduced linear factor `C (den A r) * X - C (num A r)` is primitive (a constant divisor of both coefficients divides the reduced numerator/denominator pair, hence is a unit) and, over `K`, a unit multiple of `X - C r`. Its `rootMultiplicity`-power therefore divides `p.map (algebraMap A K)` (`pow_rootMultiplicity_dvd`), and one-sided Gauss descent (the existing `IsPrimitive.dvd_of_fraction_map_dvd_fraction_map`) brings the divisibility back down to `A`; multiplicativity of the leading coefficient finishes. The multi-point case recombines the same argument over a product of linear factors that are pairwise coprime over `K` (`isCoprime_X_sub_C_of_isUnit_sub`, `Finset.prod_dvd_of_coprime`). **A hypothesis note.** `Polynomial.IsPrimitive.pow` / `Polynomial.isPrimitive_prod` are stated under `[NormalizedGCDMonoid R]`, matching the hypothesis level of their host section in `Content.lean` (neither proof needs anything UFD-specific). The six `RationalRoot.lean` declarations (three public, and three `private` helpers about the reduced linear factor: `isPrimitive_den_mul_X_sub_C_num`, `map_den_mul_X_sub_C_num`, `leadingCoeff_den_mul_X_sub_C_num`) need only the file's existing `UniqueFactorizationMonoid A` context: where a `NormalizedGCDMonoid A` instance is required to invoke the `Content.lean` lemmas, the proofs materialize one locally via `let : NormalizedGCDMonoid A := Nonempty.some inferInstance` (the `Nonempty` instance comes from `UniqueFactorizationMonoid A` through `IsGCDMonoid A`, in scope via the file's existing `RingTheory.Localization.NumDen` import), the same idiom `GaussLemma.lean` already uses. The statements are instance-independent. All eight new declarations (two in `Content.lean`, six in `RationalRoot.lean`) build green and `#print axioms` clean (`[propext, Classical.choice, Quot.sound]`; no `sorryAx`, no `native_decide`) on master commit `8acb872c31` (toolchain v4.34.0-rc2), with `lake exe lint-style` and the batteries env linter (`runLinter`) passing on both touched modules, and all direct downstream importers rebuilt green. Three `public import`s are added to `RationalRoot.lean` (`RingTheory.Polynomial.GaussLemma`, `Algebra.Polynomial.BigOperators`, `RingTheory.Coprime.Lemmas`); each is used directly by the new proofs (`shake` no longer exists as a lake executable on current master, so no automated minimization pass was run). **Import-graph cost: zero downstream.** The three added imports grow `RationalRoot.lean`'s own transitive closure by 30 modules (1614 -> 1644), mostly the `FieldTheory.SplittingField` / `IntermediateField` / `Minpoly` cone that `GaussLemma.lean` pulls in. That growth does not propagate: `RationalRoot.lean` has exactly three importers in Mathlib (`RingTheory/Polynomial/IsIntegral.lean`, `RingTheory/DedekindDomain/Basic.lean`, `NumberTheory/Niven.lean`), and all three already import `GaussLemma` and `SplittingField.Construction` transitively today, so no file in Mathlib gains an import from this PR. If a maintainer would still rather keep `RationalRoot.lean` light, the six declarations move to a new `RingTheory/Polynomial/RationalRootMultiplicity.lean` without any proof change; I am happy to do that on request. --- **AI use disclosure** (per Mathlib's contribution guidelines): this generalization was developed in a personal research project with the help of an AI coding agent (Claude Code). The agent developed the multiplicity generalization and its proof (building on the existing single-multiplicity `den_dvd_of_is_root`), then ported it directly onto Mathlib's own source files: placing the two primitivity lemmas in `Content.lean`'s existing `NormalizedGCDMonoid` section (a weaker hypothesis than the UFD one the standalone draft used; neither proof needs anything UFD-specific), adapting the imports to the module system, and rebasing onto current master. During the rebase the agent found that Mathlib had independently generalized `IsPrimitive.dvd_of_fraction_map_dvd_fraction_map` to the one-sided form an earlier draft of this PR supplied as a new lemma, so that lemma was dropped and the proofs call the existing one. Build green, `#print axioms` clean, and linters passing were confirmed directly against Mathlib's source tree. The underlying result is a natural generalization of an existing Mathlib theorem, and every proof step uses only existing Mathlib API. I have reviewed and understand the proofs, take responsibility for the content, and will respond to review in my own words. t-ring-theory new-contributor LLM-generated merge-conflict 129/1 Mathlib/RingTheory/Polynomial/Content.lean,Mathlib/RingTheory/Polynomial/RationalRoot.lean 2 3 ['github-actions', 'mathlib-merge-conflicts'] nobody
42-10786
1 month ago
42-10786
42 days ago
26-49699
26 days
0
43604 MetinovAdik
author:MetinovAdik
feat(Analysis): Laplacian and gradient under composition with a dilation feat(Analysis): Laplacian and gradient under composition with a dilation Two lemmas describing how the Laplacian and the gradient behave under pre-composition with `c • ·`, the missing companions of `fderiv_comp_smul` and `iteratedFDeriv_comp_const_smul`. * `InnerProductSpace.laplacian_comp_smul` (in `InnerProductSpace/Laplacian.lean`, next to `laplacian_smul`): for `f : E → F` with `ContDiff ℝ 2 f` and `c : ℝ`, `Δ (f <| c • ·) x = c ^ 2 • Δ f (c • x)`. Each of the two derivatives contributes one factor of `c`. Proof: `laplacian_eq_iteratedFDeriv_stdOrthonormalBasis` and `iteratedFDeriv_comp_const_smul`, in the style of `laplacian_smul`. * `gradient_comp_smul` (in `Calculus/Gradient/Basic.lean`): for `f : F → 𝕜` and `c : 𝕜`, `∇ (f <| c • ·) x = conj c • ∇ f (c • x)`. The derivative picks up `c` (`fderiv_comp_smul`) and the Riesz isomorphism is conjugate linear, hence `conj c`. No differentiability hypothesis: for `c = 0` both sides are `0`, exactly as in `fderiv_comp_smul`. Motivation: the parabolic scaling `v ↦ λ • v (λ • x) (λ² t)` of the Navier–Stokes equations, where every term acquires `λ³`. Establishing that in Lean required these two facts, which were the only missing pieces; the rest was already in Mathlib. Names follow `fderiv_comp_smul` rather than `iteratedFDeriv_comp_const_smul`; happy to switch if the other convention is preferred. --- Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> t-analysis new-contributor LLM-generated merge-conflict 20/0 Mathlib/Analysis/Calculus/Gradient/Basic.lean,Mathlib/Analysis/InnerProductSpace/Laplacian.lean 2 4 ['github-actions', 'mathlib-merge-conflicts'] nobody
42-10648
1 month ago
42-10649
42 days ago
19-11294
19 days
0
34141 gululu996-ui
author:gululu996-ui
feat(Combinatorics/SimpleGraph/Acyclic): finite trees have at least two degree-one vertices Add a lemma showing that a finite tree with at least two vertices has at least two vertices of degree 1. - Introduce a helper lemma `SimpleGraph.Connected.one_le_degree` for connected graphs on a nontrivial finite type. - Prove the leaf-count lower bound via the degree-sum identity and a counting argument. --- awaiting-author new-contributor t-combinatorics merge-conflict 72/2 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean 1 11 ['IvanRenison', 'SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vlad902'] nobody
42-136
1 month ago
292-63572
292 days ago
1-21793
1 day
0
33355 0xTerencePrime
author:0xTerencePrime
feat(Combinatorics/SimpleGraph/Connectivity): define vertex connectivity **AI Disclosure**: Developed with LLM assistance (Claude). All mathematical design decisions were made by the author. --- This PR introduces the foundations of vertex connectivity for simple graphs, providing a counterpart to the edge connectivity theory in #32870. ### Main definitions - `SimpleGraph.IsVertexReachable`: two vertices are `k`-vertex-reachable if they remain reachable after removing any set of strictly fewer than `k` vertices, using `G.induce sᶜ`. - `SimpleGraph.IsVertexPreconnected`: a graph is `k`-vertex-preconnected if any two vertices are `k`-vertex-reachable. - `SimpleGraph.IsVertexConnected`: a graph is `k`-vertex-connected if it is `k`-vertex-preconnected and has more than `k` vertices (`k + 1 ≤ ENat.card V`). ### Key lemmas - `k = 0`: 0-connected ↔ nonempty; 0-preconnected always holds - `k = 1`: 1-connected ↔ `Nontrivial V ∧ G.Preconnected` - `anti` / `mono`: antitonic in `k`, monotonic in the graph new-contributor t-combinatorics LLM-generated awaiting-author 169/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/VertexConnectivity.lean 2 168 ['0xTerencePrime', 'SnirBroshi', 'SproutSeeds', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp', 'vlad902'] b-mehta
assignee:b-mehta
41-80404
1 month ago
160-59164
160 days ago
64-44098
64 days
0
36210 vbeffara
author:vbeffara
feat(Combinatorics/SimpleGraph): definitions of graph contraction and graph minor A contraction is the image of a graph through a surjective function with connected fibers, and a minor is a contraction of a subgraph. This PR shows that being a contraction is transitive, but does not show the same for minors because the proof is more involved, it will be in a subsequent PR. The definitions are in `Prop` and do not contain data, but I'm not sure if that was the right choice. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor awaiting-author 151/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Contraction.lean,Mathlib/Combinatorics/SimpleGraph/Minor.lean 3 9 ['YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'robin-carlier', 'vbeffara'] b-mehta
assignee:b-mehta
41-80154
1 month ago
194-83086
194 days ago
53-29930
53 days
0
42965 arihallak
author:arihallak
feat(Analysis/Normed/Group/Pointwise): diameter of pointwise inversion, multiplication, and division This PR adds API lemmas for extended and real diameters (`EMetric.ediam` and `Metric.diam`) of pointwise inversion, multiplication, and division of sets in a `SeminormedCommGroup` (and automatically generates the additive counterparts via `@[to_additive]`). ### New declarations - `ediam_inv` (additive: `ediam_neg`): `ediam s⁻¹ = ediam s` - `ediam_div_le` (additive: `ediam_sub_le`): `ediam (s / t) ≤ ediam s + ediam t` - `diam_inv` (additive: `diam_neg`): `diam s⁻¹ = diam s` - `diam_mul_le` (additive: `diam_add_le`): `diam (s * t) ≤ diam s + diam t` (for bounded sets) - `diam_div_le` (additive: `diam_sub_le`): `diam (s / t) ≤ diam s + diam t` (for bounded sets) Tested with all 14 `#lint` linters. t-analysis new-contributor awaiting-author 26/0 Mathlib/Analysis/Normed/Group/Pointwise.lean 1 7 ['github-actions', 'themathqueen', 'wwylele'] nobody
41-78848
1 month ago
41-78848
41 days ago
39-53612
39 days
0
43179 thefundamentaltheor3m
author:thefundamentaltheor3m
feat(Analysis): radial functions and the submodule of radial Schwartz functions This PR defines the notion of a radial function and the submodule of the Schwartz space consisting of radial functions. This file was [originally written](https://github.com/thefundamentaltheor3m/Sphere-Packing-Lean/blob/main/SpherePacking/ForMathlib/RadialSchwartz/Basic.lean) as part of the sphere packing project. Offshoot: #44305 Co-Authored-By: @seewoo5 --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor sphere-packing awaiting-author 400/0 Mathlib.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Radial.lean,Mathlib/Analysis/Normed/Radial.lean 3 15 ['CoolRmal', 'github-actions', 'mathlib-bors', 'thefundamentaltheor3m'] CoolRmal
assignee:CoolRmal
41-50858
1 month ago
69-33455
69 days ago
4-7988
4 days
0
44297 langston-barrett
author:langston-barrett
feat(Data/FinEnum): `Std.PRange.LawfulUpwardEnumerable` instance --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> I'm not sure how Mathlib feels about interfacing with std constructs, but I was looking for something along the lines of `succMany?` and found `Std.PRange.LawfulUpwardEnumerable`, so I figured I'd implement it and see what the appetite is. Even if we don't decide to use this particular typeclass, the underlying functionality still seems useful. This is my first ever Lean development, so I would greatly appreciate any tips and feedback on the style! I wrote all of this by hand, though I asked some questions about Lean to GPT 5.6 Luna along the way. A `LinearlyUpwardEnumerable` instance would be a good follow-up. t-data new-contributor 112/0 Mathlib/Data/FinEnum.lean 1 3 ['github-actions', 'langston-barrett'] nobody
40-64786
1 month ago
40-65310
40 days ago
41-68072
41 days
0
36326 Arnav-panjla
author:Arnav-panjla
Feat/gaussian schwartz map feat(Analysis/SpecialFunctions/Gaussian): define the Gaussian as a Schwartz function in 1D Define the Gaussian function `x ↦ exp (-x^2)` as a `SchwartzMap` in the one-dimensional case. The proof establishes the Schwartz decay conditions by showing that polynomially weighted expressions of the form `(1 + x^2)^m * exp (-x^2)` are bounded. This allows the Gaussian to be packaged using the `SchwartzMap` API. During the implementation a few adjustments were required to match the current Mathlib API. In particular: * replace the non-existent `IsBigO.mul_right` with `IsBigO.of_bound` applied to the full product `(1 + x^2)^m * exp (-x^2)` * fix `mem_cocompact` usage by replacing `(hh_tendsto.eventually ...).mem_cocompact` with `mem_cocompact.mp (hh_tendsto ...)` * adjust the `hb_bound` step using `gcongr` with exact bounds so that both goals close * remove the unused declaration `hf_nonpos` * register the required import in `Mathlib.lean` This implements the one-dimensional case mentioned in the issue. The generalization to Gaussians associated with arbitrary positive-definite bilinear forms can be added in a follow-up PR. Closes #33072 t-analysis new-contributor 235/0 Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/SchwartzMap.lean 2 6 ['CoolRmal', 'LLaurance', 'github-actions', 'thefundamentaltheor3m'] nobody
40-43498
1 month ago
unknown
unknown
0
40200 AlecsFerra
author:AlecsFerra
feat(FinitelyPresentedGroup): add definitional equivalence with generating set given by S : Set G cc @homeowmorphism - [x] depends on: #40726 --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-group-theory large-import awaiting-author merge-conflict 26/6 Mathlib/GroupTheory/FinitelyPresentedGroup.lean 1 14 ['AlecsFerra', 'github-actions', 'javgomzar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'tb65536'] tb65536
assignee:tb65536
40-18024
1 month ago
151-10020
151 days ago
7-54585
7 days
0
43852 ZRTMRH
author:ZRTMRH
feat(Combinatorics/Quiver/Schreier): add Schreier Cayley basics Defined Cayley graph as a coset Schreier graph. Proved connectivity and vertex-transitivity on Cayley graphs, as promised in #38310. Follow-up to #38310, this is the 3rd split pr from #35467. This PR was written with AI assistance (Claude). The code has been reviewed by the author. P.S. cayley_subsingleton_weaklyConnectedComponent's proof is generic and I can extract it to Quiver/ConnectedComponent.lean as a weak-connectivity lemma, if it is wanted. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics large-import LLM-generated 278/7 Mathlib/Combinatorics/Quiver/Schreier.lean 1 10 ['SnirBroshi', 'ZRTMRH', 'github-actions', 'mathlib-merge-conflicts', 'vlad902'] nobody
40-498
1 month ago
40-566
40 days ago
54-45963
54 days
0
40537 SnkXyx
author:SnkXyx
feat(Algebra/MvPolynomial/Variables): define main degree This PR defines the **main degree** of a multivariate polynomial: * `MvPolynomial.mainDegree p : Multiset σ` : When `σ` is a linear order, `mainDegree p` is the multiset consisting of the maximal variable among all variables appearing in `p`, appearing with its largest multiplicity among all monomials in `p`. The definition was originally developed in PR #36103 as part of the formalization of the Characteristic Set Method (Wu-Ritt Method). The Characteristic Set project aims to formalize the algorithmic method for solving systems of multivariate polynomial equations in Lean 4, providing foundational infrastructure for algebraic geometry based on triangular decomposition. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor tech debt awaiting-author merge-conflict
label:t-algebra$
111/23 Mathlib/Algebra/MvPolynomial/CommRing.lean,Mathlib/Algebra/MvPolynomial/Degrees.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/SchwartzZippel.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/RingTheory/MvPolynomial/Basic.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder/DegLex.lean,Mathlib/RingTheory/MvPowerSeries/Trunc.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean 12 30 ['SnkXyx', 'faenuccio', 'github-actions', 'mathlib-merge-conflicts', 'vlad902'] Vierkantor
assignee:Vierkantor
39-84173
1 month ago
49-81162
49 days ago
64-77764
64 days
4
41444 gmcninch-prof
author:gmcninch-prof
Prove the universal property of SymmetricPower (lift) Provide the universal property / `lift` for `SymmetricPower`, namely that linear maps from `Sym[R]^n M` to `N` correspond to symmetric multilinear maps `M ^ n` to `N`. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [ ] depends on: #41426 The main result is [`lift`](https://github.com/gmcninch-prof/mathlib4/blob/symmetric-power-lift-ump/Mathlib/LinearAlgebra/TensorPower/Symmetric.lean#L114). **Note on approach**: this PR builds `SymmetricPower` on top of a `ModuleCon` (a congruence relation respecting both addition and scalar multiplication), rather than the plain `addConGen`-based quotient currently on master, since this streamlines the proof of the universal property. The generic congruence-relation machinery this needs -- [`moduleConGen`/`ModuleConGen.Rel`](https://github.com/gmcninch-prof/mathlib4/blob/symmetric-power-lift-ump/Mathlib/Algebra/Module/Congruence/Defs.lean#L77-L98) and [`ModuleCon.lift`/`.mk'`/`.eq`/`.lift_mk'`/`.mk'_surjective`](https://github.com/gmcninch-prof/mathlib4/blob/symmetric-power-lift-ump/Mathlib/Algebra/Module/Congruence/Defs.lean#L159-L194) -- isn't specific to symmetric powers, so it lives in `Mathlib.Algebra.Module.Congruence.Defs` alongside the existing `ModuleCon` API there, rather than inline in `Symmetric.lean`. Since this does replace the current definition of `SymmetricPower`/`Sym[R] ι M`, reviewers should note it's not purely additive over what's on master. This was one of the items in the `ToDo` in [`Mathlib/LinearAlgebra/TensorPower/Symmetric.lean`](https://github.com/gmcninch-prof/mathlib4/blob/symmetric-power-lift-ump/Mathlib/LinearAlgebra/TensorPower/Symmetric.lean#L28) (namely, the universal property). I hope to address the remaining items in that list soon (grading, relation with multivariate polynomials). This PR builds on #41426 (`SymmetricMap`), which should be reviewed/merged first. Zulip discussion [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/SymmetricPower.20universal.20property/near/608532652) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor blocked-by-other-PR merge-conflict
label:t-algebra$
571/48 Mathlib.lean,Mathlib/Algebra/Module/Congruence/Defs.lean,Mathlib/LinearAlgebra/TensorPower/Symmetric.lean,Mathlib/LinearAlgebra/TensorProduct/SymmetricMap.lean 4 4 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
39-83799
1 month ago
unknown
unknown
0
41840 SofiaSL
author:SofiaSL
feat: generalise Hermite polynomial to any commutative ring Change the definition of the Hermite polynomials to be over an arbitrary commutative ring instead of the integers. Add functions that cast the coefficients into integers. This code was written at the ICARM summer school on formalization of mathematics, who I have to thank for their help and hospitality. Furthermore, this is the first in a sequence of PRs I and Alan have planned proving that the Hermite polynomials are orthogonal under the appropriate inner product, and that they form a basis of the associated Hilbert space. No AI was used in this PR except for web search. Co-authored-by: Alan Li <alanli2326@gmail.com> --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor awaiting-author merge-conflict 99/39 Mathlib/RingTheory/Polynomial/Hermite/Basic.lean,Mathlib/RingTheory/Polynomial/Hermite/Gaussian.lean 2 16 ['CoolRmal', 'SofiaSL', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] nobody
39-83670
1 month ago
113-15749
113 days ago
2-27419
2 days
0
31796 dobronx1325
author:dobronx1325
feat(Data/Real/EReal): add mul_lt_mul_of_pos_left theorem This PR adds the theorem `EReal.mul_lt_mul_of_pos_left`, which states that for a positive real number `a` and extended reals `b < c`, left multiplication by `a` preserves the strict order: `(a : EReal) * b < (a : EReal) * c`. The theorem complements existing order-preserving properties for addition in `EReal` and extends the algebraic structure for multiplication. The proof uses basic properties of extended reals and order relations. --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor awaiting-author 23/0 Mathlib/Data/EReal/Operations.lean 1 5 ['JovanGerb', 'LLaurance', 'dobronx1325', 'github-actions', 'mathlib-merge-conflicts'] nobody
39-77472
1 month ago
349-9179
349 days ago
6-21252
6 days
0
30637 strihanje01
author:strihanje01
feat(Combinatorics/SetFamily/Lindstrom): Lindström's theorem for subfamilies with equal unions add Lindstrom's theorem and its strengthening for equal intersections --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor awaiting-author 211/0 Mathlib.lean,Mathlib/Combinatorics/SetFamily/Lindstrom.lean 2 11 ['YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot'] YaelDillies
assignee:YaelDillies
39-32798
1 month ago
39-32901
39 days ago
123-28545
123 days
0
42931 yui9696
author:yui9696
feat(Analysis/Matrix): simultaneous diagonalization of two Hermitian forms and generalized eigenvalues Adds the simultaneous diagonalization theorem for two real quadratic forms, one of which is positive definite: if `A : Matrix n n ℝ` is positive definite and `B : Matrix n n ℝ` is symmetric, then there is an invertible `P` with `Pᵀ * A * P = 1` and `Pᵀ * B * P` diagonal. This is the entry "simultaneous diagonalization of two real quadratic forms" from the [missing undergraduate mathematics list](https://leanprover-community.github.io/undergrad_todo.html) (Bilinear and quadratic forms). ### Contents * `Matrix.PosDef.exists_simultaneous_diagonalization` — the matrix statement above. * `Matrix.PosDef.exists_simultaneous_diagonalization_quadratic` — the same fact read off on the quadratic forms themselves: one invertible change of variables takes the form of `A` to `∑ xᵢ ^ 2` and the form of `B` to `∑ dᵢ * xᵢ ^ 2`. This is the phrasing the undergraduate list actually asks for, so it seemed worth stating explicitly rather than leaving to the reader. * `Matrix.PosDef.exists_simultaneous_diagonalization_of_posDef` — when `B` is positive definite as well, the diagonal entries are positive. ### Implementation Conjugating by the inverse of `CFC.sqrt A` turns `A` into the identity; the congruence of `B` is then symmetric, so `Matrix.IsHermitian.spectral_theorem` diagonalizes it and the two changes of basis compose. A note on the history of this branch, in case a reviewer reads the commits: the first version went through the LDL decomposition, because I had convinced myself Mathlib no longer had a square root for positive semidefinite matrices. That was simply wrong — `CFC.sqrt` applies to matrices, as `Mathlib/Analysis/Matrix/Order.lean` already uses. Redoing it that way removed the `LinearOrder`, `WellFoundedLT` and `LocallyFiniteOrderBot` hypotheses that LDL imposed on the index type, so the statement is now proved for an arbitrary `Fintype` with decidable equality. This is my first Mathlib contribution, so I would be glad to hear if the placement or naming should be different. Two specific questions: * Would a `QuadraticForm` / `LinearMap.BilinForm` statement be preferred to the `dotProduct` phrasing used in the `_quadratic` version? * Is `∃ d, _ = diagonal d` the right conclusion, or would `Matrix.IsDiag` be more idiomatic here? ### Use of AI Per the [contribution guidelines](https://leanprover-community.github.io/contribute/index.html), I am disclosing my use of AI on this PR. **Tool:** Claude (Anthropic), used through Claude Code. **How I used it:** I used it to draft and iterate on the Lean proofs in this file, to search Mathlib for the relevant existing lemmas, and to carry out the rewrite from the first LDL-based version to the `CFC.sqrt` version described above. I have read and checked every declaration in the file myself, and I can justify the statements, the proof design and the placement without AI assistance. A substantial part of the code was AI-drafted, so I am adding the `LLM-generated` label. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/leanprover-community/mathlib4) t-analysis new-contributor LLM-generated awaiting-author 246/0 Mathlib.lean,Mathlib/Analysis/Matrix/SimultaneousDiagonalization.lean 2 10 ['github-actions', 'themathqueen', 'vlad902', 'yui9696'] nobody
38-79461
1 month ago
38-79843
38 days ago
42-58357
42 days
0
44437 FawadHa1der
author:FawadHa1der
perf(Analysis/Normed/Lp/SmoothApprox): manifold-free proof of smooth approximation in Lp Authored with AI help. Created after @mcdoll feedback on [leanprover-community/mathlib4#42451](https://github.com/leanprover-community/mathlib4/pull/42451) This is an alternate solution. This removes the manifold chain from the longest pole and even if the poisson summation is approved using denseRange_toLpCLM. We would still be saving roughly 5% in build time. There is only one new lemma but no change to existing lemmas/statements. t-analysis new-contributor 82/36 Mathlib/Analysis/Normed/Lp/SmoothApprox.lean 1 3 ['FawadHa1der', 'github-actions'] nobody
37-76291
1 month ago
37-76358
37 days ago
37-76285
37 days
0
38606 dennj
author:dennj
feat: preparation for Vanishing Sum of Roots of Unity Adds the Mathlib API extensions needed for an upcoming formalization of the Lam-style classification theorem for vanishing sums of roots of unity. * Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean + `exists_eq_const_of_sum_smul_eq_zero_of_sum_eq_zero_of_linearIndependent`: if `∑ vᵢ = 0` and the first `n-1` of `n` vectors are linearly independent, every linear relation has constant coefficients. * Mathlib/RingTheory/Radical/NatInt.lean + `Nat.totient_eq_div_radical_mul_totient_radical`: Euler's totient splits as `φ(n) = (n / rad n) * φ(rad n)`. * Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean + `IsPrimitiveRoot.sum_range_pow_mul_div_eq_zero_of_dvd`: the `d` evenly-spaced powers of a primitive `k`-th root sum to zero, for `d ∣ k` and `1 < d`. * Mathlib/NumberTheory/Cyclotomic/LinearDisjoint.lean (new) + `IsPrimitiveRoot.linearDisjoint_adjoin_pow_of_coprime`: cyclotomic subfields of coprime orders are linearly disjoint over `ℚ`. * Mathlib/NumberTheory/Cyclotomic/LinearRelations.lean (new) + `IsPrimitiveRoot.coeffs_eq_of_sum_pow_eq_zero_prime_coprime`: in the cyclotomic field of order `p * m` with `p` prime coprime to `m`, any `ℚ⟮ζ^p⟯`-linear relation among powers of `ζ^m` has all coefficients equal. --- I need these as preparation to start formalizing the theorem: Let k be a positive integer. If a finite family of complex k-th roots of unity sums to zero, then the size of the family is a non-negative integer combination of the prime divisors of k. --- Human-made PR with AI used for golfing and documentation new-contributor t-algebra awaiting-author
label:t-algebra$
219/0 Mathlib.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/NumberTheory/Cyclotomic/LinearDisjoint.lean,Mathlib/NumberTheory/Cyclotomic/LinearRelations.lean,Mathlib/RingTheory/Radical/Totient.lean,Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean 6 7 ['github-actions', 'mathlib-merge-conflicts', 'tb65536'] alreadydone
assignee:alreadydone
37-13799
1 month ago
37-13800
37 days ago
115-10583
115 days
0
42082 attilavjda
author:attilavjda
feat(FieldTheory): reduce Frobenius powers modulo the extension degree Adds ring-hom and pointwise lemmas reducing powers of Frobenius modulo the extension degree of a finite field. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor awaiting-author
label:t-algebra$
12/0 Mathlib/FieldTheory/Finite/Basic.lean 1 7 ['attilavjda', 'felixpernegger', 'github-actions', 'tb65536'] joelriou
assignee:joelriou
36-86339
1 month ago
36-86339
36 days ago
70-7892
70 days
0
42823 attilavjda
author:attilavjda
chore(GroupTheory/Nilpotent): restore simp attribute on `upperCentralSeries_one` This PR adds the `(attr := simp)` attribute to the generated `AddSubgroup.upperCentralSeries_one theorem`. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-group-theory new-contributor LLM-generated awaiting-author 1/1 Mathlib/GroupTheory/Nilpotent.lean 1 8 ['attilavjda', 'github-actions', 'mathlib-merge-conflicts', 'tb65536', 'wwylele'] nobody
36-79636
1 month ago
37-20199
37 days ago
46-67447
46 days
0
43745 theebayuser
author:theebayuser
feat(Geometry/Euclidean): add Euler's quadrilateral theorem Adds Euler's quadrilateral theorem to Mathlib/Geometry/Euclidean/, and records it in docs/1000.yaml (Q18630480). It states: for any four points, the sum of the squares of the four sides of the quadrilateral a b c d equals the sum of the squares of the two diagonals, plus four times the square of the distance between the midpoints of the diagonals. This PR was written with AI assistance (Claude Code). t-euclidean-geometry new-contributor LLM-generated maintainer-merge 84/0 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Geometry/Euclidean/EulerQuadrilateral.lean,docs/1000.yaml 4 17 ['github-actions', 'jsm28', 'theebayuser', 'wwylele'] nobody
36-49559
1 month ago
41-42750
41 days ago
58-33225
58 days
0
40582 dennj
author:dennj
feat(Analysis): the one-sided Laplace transform Introducing Laplace transform `ℒ(f)(s) = ∫ t in Ioi 0, exp (-s * t) • f t` It is needed in physlib I modelled the file following Mellin transform. ## Main definitions * `LaplaceConvergent f s`: the Laplace integral is well-defined at `s`. * `laplace f s`: the Laplace transform, a total function * `HasLaplace f s m`: convergence together with the value `m`. ## Main results * Linearity: `laplace_add`/`sub`/`const_smul`/`neg`/`zero`/`div_const`, at the `laplace`, `LaplaceConvergent`, and `HasLaplace` levels. * `laplaceConvergent_iff_norm`, `norm_laplace_le_integral_norm`: reduction of convergence and norm bounds to the real exponential weight. * `laplaceConvergent_of_isBigO_exp`: existence for functions of exponential order, on the appropriate right half-plane. * `LaplaceConvergent.of_re_le`/`of_re_lt`: monotonicity of convergence in `s.re` (the half-plane structure). * `laplace_cexp_smul`: the frequency-shift rule. * `laplace_indicator_comp_sub`: the time-shift rule. * `laplace_comp_mul_left`/`right`: behaviour under positive dilation. * `hasLaplace_const`/`hasLaplace_one`/`hasLaplace_cexp`: basic transform values. Human made PR t-measure-probability new-contributor awaiting-author 653/0 Mathlib.lean,Mathlib/Analysis/LaplaceTransform.lean 2 34 ['AlyciaBHZ', 'EtienneC30', 'YaelDillies', 'dennj', 'github-actions', 'mathlib-splicebot'] YaelDillies
assignee:YaelDillies
36-27531
1 month ago
36-27558
36 days ago
111-1019
111 days
0
44477 NachoPeinador
author:NachoPeinador
feat(RingTheory/Algebraic/Integral): add IsAlgebraic.of_mul_left and of_mul_right Add algebraic cancellation lemmas for field extension elements: - `IsAlgebraic.of_mul_left`: If `x * y` and non-zero `x` are algebraic over `K`, then `y` is algebraic over `K`. - `IsAlgebraic.of_mul_right`: Symmetric version for `y`. Co-authored-by: José Ignacio Peinador Sala <joseignacio.peinador@gmail.com> --- ### Summary This PR adds two helper results to `Mathlib/RingTheory/Algebraic/Integral.lean` for inferring algebraicity of individual factors from the algebraicity of their product in field extensions. ### Motivation These lemmas simplify algebraic dependence checks when decomposing products involving algebraic and transcendental elements. ### AI Disclosure I used an LLM as an assistant to suggest idiomatic Lean 4 tactic steps and check Mathlib naming conventions. The mathematical proofs and code edits were verified manually by me. t-ring-theory LLM-generated new-contributor awaiting-author 12/0 Mathlib/RingTheory/Algebraic/Integral.lean 1 6 ['NachoPeinador', 'SnirBroshi', 'github-actions'] nobody
35-75017
1 month ago
35-75017
35 days ago
0-611
10 minutes
0
34053 christian-oudard
author:christian-oudard
feat: Add error function (erf) and complementary error function (erfc) ## Summary I was doing some finance math and needed the Error Function, so I thought I'd contribute it. ### Main definitions * `Real.erf`: The error function, defined as `(2/√π) ∫₀ˣ e^(-t²) dt` * `Real.erfc`: The complementary error function, defined as `1 - erf x` ### Main results * `Real.erf_zero`: `erf 0 = 0` * `Real.erf_neg`: `erf` is an odd function: `erf (-x) = -erf x` * `Real.erf_tendsto_one`: `erf x → 1` as `x → ∞` * `Real.erf_tendsto_neg_one`: `erf x → -1` as `x → -∞` * `Real.erf_le_one`: `erf x ≤ 1` for all `x` * `Real.neg_one_le_erf`: `-1 ≤ erf x` for all `x` * `Real.deriv_erf`: `deriv erf x = (2/√π) * exp(-x²)` * `Real.differentiable_erf`: `erf` is differentiable * `Real.continuous_erf`: `erf` is continuous * `Real.strictMono_erf`: `erf` is strictly monotone Also adds `erf` to `docs/overview.yaml` under Special Functions. --- - [x] Builds successfully - [x] `lake exe runLinter` passes - [x] `lake exe mk_all --check` passes t-analysis new-contributor awaiting-author 333/0 Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Erf.lean,docs/overview.yaml 3 19 ['GustafssonJonathan', 'SnirBroshi', 'christian-oudard', 'github-actions', 'j-loreaux', 'plp127'] j-loreaux
assignee:j-loreaux
35-71070
1 month ago
278-78755
278 days ago
14-62757
14 days
0
42737 Jack1320
author:Jack1320
feat(Algebra/Order/Kleene): add Kleene algebra instances for MulOppos… Add IdemSemiring, IdemCommSemiring, and KleeneAlgebra instances for MulOpposite, AddOpposite, and ULift, partially addressing #7987. In accordance to the AI disclosure guidelines - Claude was used as a learning aid, but all code is personally written and reasoned through. The remaining instances (Subsemiring, Subring, Subalgebra) are deferred to a follow-up PR. t-algebra new-contributor merge-conflict awaiting-author
label:t-algebra$
100/2 Mathlib/Algebra/Order/Kleene.lean 1 10 ['github-actions', 'mathlib-merge-conflicts', 'themathqueen'] nobody
35-3363
1 month ago
42-11063
42 days ago
45-69109
45 days
0
41536 Mathias-Stout
author:Mathias-Stout
chore(Algebra): make quaternion directory We create separate directory for quaternions and move the two existing files into it. This prepares a follow-up PR proving that quaternions are central simple. Co-authored-by: Justus Springer <justusspringer@gmx.de> --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed new-contributor merge-conflict 12/9 Mathlib.lean,Mathlib/Algebra/DualQuaternion.lean,Mathlib/Algebra/Quaternion/Basic.lean,Mathlib/Algebra/Quaternion/Basis.lean,Mathlib/Analysis/Quaternion.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Equivs.lean,MathlibTest/Quaternion.lean 7 6 ['github-actions', 'mathlib-merge-conflicts'] nobody
34-71464
1 month ago
34-71465
34 days ago
44-18522
44 days
1
42451 FawadHa1der
author:FawadHa1der
perf(Analysis/Distribution/SchwartzSpace): split denseRange_toLpCLM off Basic to shorten the longest pole Shortening the "longest pole" in the mathlib build. LLM help was used. Per [lake prof report](https://speed.lean-lang.org/mathlib4-out/c8830a1d9ceaffabd7c8c7493d9a9be3ead6ea74/) SchwartzSpace/Basic.lean sits on the longest pole. With this change SchwartzSpace/Basic no longer imports SmoothApprox( which imported the whole manifold chain) hence shortening the longest pole by **23s** of ~502 s denseRange_toLpCLM is moved to a new file SchwartzSpace/DenseLp.lean. t-analysis new-contributor longest-pole awaiting-author merge-conflict 58/17 Mathlib.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/Distribution/SchwartzSpace/DenseLp.lean,Mathlib/Analysis/Fourier/LpSpace.lean 4 14 ['FawadHa1der', 'github-actions', 'luigi-massacci', 'mathlib-merge-conflicts', 'mcdoll', 'sgouezel'] sgouezel
assignee:sgouezel
34-70107
1 month ago
45-20311
45 days ago
44-77519
44 days
0
42452 menon-codes
author:menon-codes
feat: lint for use of ellipsis See the conversation at [#mathlib4 > Linter for ellipsis @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Linter.20for.20ellipsis/near/613523943) Creates a linter to detect excessive use of `_` holes at end of lemmas and replace it when appropriate with uses of `..` It also creates a respective test file to check it, though I am not too certain about the styles and techniques mathlib uses for testing. AI (GPT 5.6 Terra) was used heavily in the documentation and testing of the code. Most of the logic and coding was done manually. new-contributor LLM-generated t-linter merge-conflict 948/5 Mathlib.lean,Mathlib/Init.lean,Mathlib/RingTheory/NoetherNormalization.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,Mathlib/Tactic/Linter/EllipsisPlaceholders.lean,MathlibTest/Linter/EllipsisPlaceholders.lean 7 8 ['copilot-pull-request-reviewer', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts', 'menon-codes'] thorimur
assignee:thorimur
34-70106
1 month ago
92-1684
92 days ago
4-23176
4 days
0
41537 Mathias-Stout
author:Mathias-Stout
feat(RingTheory/TwoSidedIdeal/Lattice): add lemmas on two-sided ideals We add three lemmas on two-sided ideals. These are analogues of existing lemmas of `Submodule` with the same names. This prepares a follow-up PR proving that quaternions are central simple. Co-authored-by: Justus Springer [justusspringer@gmx.de](mailto:justusspringer@gmx.de) --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor awaiting-author 12/0 Mathlib/RingTheory/TwoSidedIdeal/Lattice.lean 1 8 ['Mathias-Stout', 'Whysoserioushah', 'github-actions', 'kbuzzard', 'tb65536'] mattrobball
assignee:mattrobball
34-45226
1 month ago
37-10108
37 days ago
85-68240
85 days
1
44440 vincentqb
author:vincentqb
feat(Computability/TuringMachine): bound the output length of a TM2 run This PR bounds the output length of a TM2 run by the input length plus a machine constant times the step count. It deduces `TM2ComputableInPolyTime.length_le`, the polynomial output-length bound used in composition. It also adds step-count induction and defines `initList` and `haltList` using `Function.update`. --- Relates to #7172 #33132 #35366 The code, the testing, and this description were prepared with the help of an AI coding assistant (Codex). t-computability LLM-generated new-contributor 82/7 Mathlib/Computability/StateTransition.lean,Mathlib/Computability/TuringMachine/Computable.lean,Mathlib/Computability/TuringMachine/StackTuringMachine.lean 3 3 ['github-actions', 'vincentqb'] nobody
34-35058
1 month ago
37-18810
37 days ago
37-57784
37 days
1
44441 vincentqb
author:vincentqb
feat(Computability/TuringMachine): prove `TM2ComputableInPolyTime.comp` This PR constructs sequential composition of TM2 machines. Two pop/push passes through an extra stack transfer the first machine's output to the second machine's input without reversing the word. It adds `TM2Outputs.comp` and the data-valued `TM2ComputableInPolyTime.comp`, using the polynomial output-length bound to control the second run's time. It removes the corresponding `proof_wanted`. --- Relates to #7172 #33132 #35366 - [ ] depends on: #44440 The code, the testing, and this description were prepared with the help of an AI coding assistant (Codex). t-computability file-removed LLM-generated new-contributor blocked-by-other-PR 398/34 Mathlib/Computability/StateTransition.lean,Mathlib/Computability/TuringMachine/Computable.lean,Mathlib/Computability/TuringMachine/StackTuringMachine.lean,Wanted.lean,Wanted/Computability/TuringMachine/Computable.lean 5 5 ['JoshuaTan42', 'github-actions', 'mathlib-dependent-issues', 'vincentqb'] nobody
34-35056
1 month ago
unknown
unknown
0
44541 vincentqb
author:vincentqb
feat(Computability/Partrec): computability of list operations This PR adds `Computable.list_foldl`, `list_foldr`, `list_rec`, and `list_map`, with the same statements as their `Primrec` counterparts. --- The code, the testing, and this description were prepared with the help of an AI coding assistant. LLM-generated new-contributor t-computability 37/0 Mathlib/Computability/Partrec.lean 1 3 ['github-actions', 'vincentqb'] nobody
34-33744
1 month ago
34-33933
34 days ago
34-33860
34 days
0
44392 yhx-12243
author:yhx-12243
fix(Algebra/Polynomial/Roots): fix tendstoCofinite with normal generic universe Remove the extraneous accidentally {R : Type} [CommRing R] [IsDomain R] in the signature of `Polynomial.tendstoCofinite_of_natDegree_ne_zero`, make it generic. t-algebra new-contributor
label:t-algebra$
2/2 Mathlib/Algebra/Polynomial/Roots.lean 1 3 ['github-actions', 'plp127'] nobody
32-79264
1 month ago
38-83937
38 days ago
38-83864
38 days
0
44618 barni120400
author:barni120400
feat(RingTheory/MvPolynomial/Homogeneous): powers of linear forms span the homogeneous polynomials Prove that the `n`-th powers of linear forms span the homogeneous polynomials of degree `n` (`MvPolynomial.homogeneousSubmodule_eq_span_pow`). Along the way, add the identity `Finset.sum_powerset_neg_one_pow_card_mul_sum_sdiff_pow_card` used in the proof. --- 🤖 Generated with [Claude Code](https://claude.com/claude-code) t-data new-contributor LLM-generated 64/0 Mathlib/Data/Nat/Choose/Sum.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean 2 2 ['github-actions'] nobody
32-58487
1 month ago
32-59284
32 days ago
32-59211
32 days
0
43712 hobostay
author:hobostay
feat(Combinatorics/Additive): restricted sumsets — universal bound and the elementary-2 coset classification ## Mathematical content This PR formalizes the **restricted sumset** (multiplicatively, restricted product) of two finsets ``` s ⊛ t = {a * b | a ∈ s, b ∈ t, a ≠ b} ``` (additive twin: `Finset.restrictedSum`) together with its two basic cardinality theorems: 1. **Universal bound** — `Finset.card_le_card_restrictedProduct_add_one`: in *any* group (no commutativity, no ambient finiteness, empty allowed), `#s ≤ #(s ⊛ s) + 1`. Proof: fix `a ∈ s`; `b ↦ a * b` is injective on `s.erase a` with image in `s ⊛ s`. Corollary `Finset.card_restrictedProduct_eq_sub_one`: the drop, when it happens, is exactly one. 2. **Exception classification** — `Finset.card_restrictedProduct_lt_iff_coset` (finite commutative group, `3 ≤ #s`): `#(s ⊛ s) < #s` iff `s` is a translate `a₀ * S` of a finset `S ∋ 1` that is multiplication-closed and satisfies `x * x = 1` for all `x ∈ S` — an elementary 2-subgroup coset. Combined with (1), the strict drop happens exactly for these cosets and is then exactly one, i.e. `#(s ⊛ s) = #s - 1`. **This is a formalization of known mathematics, not a new result.** The classification is Lemma 2.2 of Girard–Griffiths–Hamidoune, *k-Sums in abelian groups*, Combin. Probab. Comput. 21 (2012) 582–596 ([arXiv:1110.1961](https://arxiv.org/abs/1110.1961), [doi:10.1017/S0963548312000168](https://doi.org/10.1017/S0963548312000168)), cited in-file as `[girard2012]` (new `docs/references.bib` entry). The paper states it for additive sets in abelian groups *not necessarily finite*; this version assumes `[Finite G]` (used for the right-stabilizer finset in the forward direction), which is disclosed in the docstrings. The universal bound as stated here (any group, no commutativity) is an immediate consequence of the injection argument appearing inside their proof of Lemma 2.2. Their notation `2∧A` is our `s ⊛ s`; their "2-coset" is our translate of an involution-closed subgroup-like finset. ## Notes on the definition The restricted sumset is *not* obtained from the existing pointwise `Finset.mul` (`image₂`) by deleting the diagonal: an element `a * a` may also arise as `b * c` with `b ≠ c`, and such elements survive in `s ⊛ s`; hence a dedicated definition. The `3 ≤ #s` hypothesis in the classification is necessary (for `#s = 2` the drop is one for *every* two-element finset, e.g. `{0, 1} ⊆ ZMod 5`, which need not be such a coset) — a kernel-`decide` example on `ZMod 2 × ZMod 2` (the canonical exception, `#(univ ⊛ univ) = 3`) is included in the file. ## API design - Multiplicative-first with `@[to_additive]` throughout, matching the directory's existing files (CauchyDavenport, ETransform, Energy, DoublingConst, Dissociation). - `Finset` namespace; explicit additive target names (`restrictedProduct`/`restrictedSum`) since `Product` is not in `to_additive`'s automatic dictionary. - Hypotheses match proof needs: the bound needs only `[Group α]` (+ `DecidableEq` for the definition); the classification needs `[CommGroup G] [DecidableEq G] [Finite G]` (`Fintype` derived internally). - Translation invariance and the coset computation are exposed (independent content); the right-stabilizer chain is the internal proof route. - No dedicated notation in this version (`2∧A` in GGH, `A \hat{+} A` / `A ⊕ A` elsewhere); happy to add a scoped notation if reviewers prefer. ## Verification - Target module and full `lake build` against current master (`9658bdd`): clean, 8915 jobs, zero warnings. - `lake lint Mathlib.Combinatorics.Additive.RestrictedSumset`: passed (docBlame incl. additive twins, style/line-length, text linters). - `#print axioms` for all 7 public declarations and their additive twins (14 decls): `[propext, Classical.choice, Quot.sound]` only; no `sorry`/`admit`/`native_decide` (the single `decide` example is a finite kernel check). - `docs/references.bib` entry added; `scripts/lint-bib.sh` requires `bibtool`, which is not installed locally — left for CI. Happy to redirect to the `add-combi` sublibrary instead if maintainers prefer that landing zone. ## Provenance The Lean proofs were developed with AI assistance and are submitted for human review; the mathematics is the cited 2011/2012 result of Girard–Griffiths–Hamidoune plus the elementary injection bound. No novelty is claimed. 🤖 Generated with [Claude Code](https://claude.com/claude-code) t-combinatorics new-contributor LLM-generated 630/0 Mathlib.lean,Mathlib/Combinatorics/Additive/RestrictedSumset.lean,docs/references.bib 3 2 ['github-actions'] nobody
32-58411
1 month ago
unknown
unknown
0
42312 sfingali
author:sfingali
feat(Topology): Huber (f-adic) rings ### Summary Defines Huber (f-adic) rings: topological rings admitting an open subring whose subspace topology is the `I`-adic topology for a finitely generated ideal `I` (Wedhorn, *Adic Spaces*, arXiv:1910.05934, Prop. and Def. 6.1, p. 46). * `HuberRing.RingOfDefinition` — the pair of definition `(A₀, I)`: an open subring `A₀ ⊆ A` with `IsAdic I` for a finitely generated ideal `I` of `A₀` (data). * `HuberRing.IsHuberRing` — a topological ring admitting a ring of definition (property). * `HuberRing.ringOfDefinition_iff_open_adic` — Wedhorn, Lemma 6.2 (a) ↔ (b), p. 46: a subring is a ring of definition iff it is open and adic. This is the first step of a planned adic/perfectoid pipeline (Huber rings → Huber pairs → continuous valuations → Spa → perfectoid fields → tilting), following the design of the Lean 3 `lean-perfectoid-spaces` project (ring of definition as data, Huber ring as a property). Follow-ups (depending on #40013's boundedness): Lemma 6.2 (c) (ring of definition ⟺ open + bounded) and Cor. 6.4(3) (the power-bounded elements form a subring, the union of all rings of definition). ### References * T. Wedhorn, *Adic Spaces*, arXiv:1910.05934, Prop. and Def. 6.1, Lemma 6.2, Cor. 6.4 (pp. 46–47). t-topology new-contributor awaiting-author 84/0 Mathlib.lean,Mathlib/Topology/Algebra/Nonarchimedean/HuberRing.lean 2 8 ['acmepjz', 'github-actions', 'kbuzzard', 'pepamontero'] kbuzzard
assignee:kbuzzard
32-2960
1 month ago
40-27973
40 days ago
60-26614
60 days
0
44019 bally65
author:bally65
feat(Computability/Primrec): primality is primitive recursive Primrec.nat_prime : PrimrecPred Nat.Prime, via Nat.prime_def_lt' and the bounded quantifier PrimrecRel.forall_lt. Mathlib had no computability statement about Nat.Prime. AI disclosure: I used Claude and ChatGPT to discuss ideas, to adjust and optimize the approach, and to explore whether there was something worth taking on. They also proposed many of the problems, lines of thought, and decisions about direction. Almost all of the Lean code was written by Claude Code. I applied the reviewer's suggested changes myself. AI 使用聲明:我使用 Claude 和 ChatGPT 討論構思、調整與優化,也討論有沒有值得挑戰的方向。它們也提出了許多題目、思路和決策方向。Lean 程式碼幾乎全部由 Claude Code 撰寫。審稿人提供的修改建議由我自己套用。 Note: the English disclosure is a translation of my Chinese text, assisted by Claude. t-computability new-contributor LLM-generated 44/0 Mathlib.lean,Mathlib/Computability/Primrec/Prime.lean 2 6 ['bally65', 'github-actions', 'pepamontero'] nobody
31-84172
1 month ago
48-3900
48 days ago
49-37878
49 days
0
40496 thefundamentaltheor3m
author:thefundamentaltheor3m
feat(LinearAlgebra/AffineSpace/Simplex): the surface of a simplex I wrote the definition myself, and got Claude to generate some of the boilerplate code (which I then reviewed and had it clean up). --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra LLM-generated new-contributor
label:t-algebra$
97/5 Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean 1 8 ['github-actions', 'grunweg', 'mathlib-bors', 'mathlib-merge-conflicts', 'thefundamentaltheor3m', 'wwylele'] nobody
31-68345
1 month ago
40-51698
40 days ago
67-67618
67 days
0
33948 anivegesana
author:anivegesana
feat(Analysis/Normed/Algebra): matrix exponential of nilpotent matrix Where the matrix exponential and nilpotent elements are defined, both the matrix exponential and the nilpotent element exponential. I had to add a different theorem for normed space exponential and the matrix exponential since the right instances wouldn't be synthesized. Help with golfing would be appreciated. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis merge-conflict 34/0 Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/Normed/Algebra/MatrixExponential.lean 2 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
31-18903
1 month ago
unknown
unknown
0
39986 CRudrum
author:CRudrum
feat: add HasKernels instance for Pointed --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-category-theory large-import awaiting-author merge-conflict 28/2 Mathlib/CategoryTheory/Category/Pointed.lean 1 12 ['CRudrum', 'Whysoserioushah', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts'] nobody
31-10299
1 month ago
164-65264
164 days ago
0-4460
1 hour
0
35504 JoaBjo
author:JoaBjo
feat(Probability/Distributions/Exponential): add MGF, moments, and memoryless property Add the main analytic results for the exponential distribution: - moment-generating function `mgf id (expMeasure r) t = r / (r - t)` for `t < r` - mean `∫ x, x ∂(expMeasure r) = r⁻¹` - variance `Var[id; expMeasure r] = r⁻¹ ^ 2` - `ℒp` membership for all `p` - tail probability `P(X > x) = exp (-(r * x))` - memoryless property `P(X > s + t | X > s) = P(X > t)` The MGF is computed by reducing to the known improper integral `∫ exp(c * x)` on `Ioi`, and integrability is deduced by contradiction from the positive closed-form value. The mean and variance are computed via the Gamma function integral `∫₀^∞ x^(n-1) exp(-r x) dx = Γ(n) / rⁿ`. The memoryless property follows from the exponential identity `exp(-(r(s+t))) = exp(-rt) * exp(-rs)`. 🤖 Claude Code (Fable) was used in this PR to resolve a merge with master. It adapted the branch's code to upstream renames/deprecations. It also restructured a proof that broke in the merge. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability large-import awaiting-author 200/1 Mathlib/Probability/Distributions/Exponential.lean 1 15 ['EtienneC30', 'JoaBjo', 'Timeroot', 'github-actions', 'mathlib-merge-conflicts'] urkud
assignee:urkud
31-1558
1 month ago
31-1558
31 days ago
79-41222
79 days
0
42165 bocowgill
author:bocowgill
feat(Probability/HasCondDistrib): characterize independence using conditional distributions This PR uses conditional distributions to characterize independence of two random variables. It adds eight public declarations to `Mathlib/Probability/HasCondDistrib.lean`, which is the only file modified: - `indepFun_iff_hasCondDistrib_const_of_hasLaw`: characterizes independence using a constant conditional-distribution kernel when the laws are specified. - `indepFun_iff_hasCondDistrib_const`: specializes this characterization to the marginal laws `P.map X` and `P.map Y`. - `IndepFun.hasCondDistrib_const`: the forward implication of the preceding equivalence. - `HasCondDistrib.indepFun_of_const`: the reverse implication. - `hasCondDistrib_condDistrib`: shows that the regular conditional distribution `condDistrib Y X P` satisfies `HasCondDistrib`. - `hasCondDistrib_iff_condDistrib_ae_eq`: characterizes finite kernels satisfying `HasCondDistrib` by almost-everywhere equality with `condDistrib`. - `indepFun_iff_condDistrib_ae_eq_const_of_hasLaw`: characterizes independence by almost-everywhere equality of `condDistrib` with the constant kernel at the specified law. - `indepFun_iff_condDistrib_ae_eq_const`: specializes this characterization to the marginal laws. The PR adds no new file and makes no change to the root `Mathlib.lean` imports. --- ### Motivation These results provide a basic building block for formalizing randomized experiments and causal identification. The main result provides a starting point for later ignorability and conditional-independence results in causal inference. ### LLM disclosure For theorem planning and Lean implementation, I substantially used Codex by OpenAI. I also used it for suggestions around naming and documentation, for iterating on the proofs, and for validating my commits locally. I manually searched for the best locations and earlier results to build upon. I personally reviewed both the mathematical statements and Lean code (line-by-line), as well as the suggestions around naming and API choices. I also reviewed and confirmed that I can explain each step of the results (both Mathematics and Lean syntax). To validate the change, I directly compiled the modified file and ran a targeted build. I also ran the style linter, and completed a full `lake build` and a full `lake test`. Please note: This is one of my first mathlib contributions. I welcome corrections or suggestions about all aspects of this PR. I'm prepared to revise it as necessary, and to learn from the review. t-measure-probability LLM-generated new-contributor awaiting-author 68/3 Mathlib/Probability/HasCondDistrib.lean 1 37 ['CoolRmal', 'EtienneC30', 'bocowgill', 'github-actions', 'leanprover-radar'] nobody
31-128
1 month ago
31-128
31 days ago
73-31388
73 days
0
43599 fjvga
author:fjvga
feat(MeasureTheory/Measure/FrostmanMassBound): mass distribution principle If a measure ν satisfies ν s ≤ (ediam s)^d for all sets of diameter ≤ ε, and ν A ≠ 0, then d ≤ dimH A. This is the standard mass distribution principle (Frostman, easy direction) appearing in every fractal geometry textbook (Falconer §4.1, Mattila §4.9). The proof composes two existing Mathlib results: - Measure.le_hausdorffMeasure - le_dimH_of_hausdorffMeasure_ne_zero References: - K. Falconer, Fractal Geometry, §4.1 - P. Mattila, Geometry of Sets and Measures in Euclidean Spaces, §4.9 --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability new-contributor awaiting-author 68/0 Mathlib.lean,Mathlib/MeasureTheory/Measure/FrostmanMassBound.lean 2 4 ['github-actions', 'metakunt'] nobody
30-86257
30 days ago
30-86257
30 days ago
30-37055
30 days
0
44098 xiahongchi
author:xiahongchi
feat: add a translation lemma for absolute continuity on intervals Adds `AbsolutelyContinuousOnInterval.comp_add_right`, showing that translating both an interval and the input of a function preserves absolute continuity. The statement is polymorphic in the pseudometric codomain. Tested by compiling `Mathlib/MeasureTheory/Integral/IntervalIntegral/AbsolutelyContinuousFun.lean` locally. t-measure-probability new-contributor awaiting-author 37/0 Mathlib/MeasureTheory/Integral/IntervalIntegral/AbsolutelyContinuousFun.lean 1 4 ['SnirBroshi', 'github-actions'] nobody
30-86053
30 days ago
30-86053
30 days ago
16-51391
16 days
0
44101 xiahongchi
author:xiahongchi
feat: add continuity-set convergence for finite measures This adds two finite-measure Portmanteau consequences: * evaluations converge on sets whose frontier has zero limiting mass; * restriction to such a continuity set is continuous under weak convergence. The evaluation theorem handles a zero limiting measure directly via total mass; otherwise it normalizes to probability measures. The restriction theorem again separates mass and normalized probability convergence, controlling the frontiers of intersections. Both declarations elaborate against the released API in the originating project. Compiling the current upstream file with that older toolchain produces only three known pre-existing `eventuallySubset` version-mismatch errors; neither new declaration reports an error. Full current-toolchain validation is delegated to this PR’s CI. t-measure-probability new-contributor awaiting-author 105/0 Mathlib/MeasureTheory/Measure/Portmanteau.lean 1 3 ['EtienneC30', 'github-actions'] nobody
30-85988
30 days ago
30-85988
30 days ago
16-50652
16 days
0
44100 xiahongchi
author:xiahongchi
feat: characterize finite-measure convergence by Lipschitz tests This adds the finite-measure counterpart of the bounded-Lipschitz Portmanteau criterion. The reverse implication separates total-mass convergence from convergence of normalized probability measures, with a separate zero-limit branch. The proof was exercised in the originating project against the released Portmanteau API. The upstream master file currently requires Lean v4.35.0-rc2, so the authoritative full-file check is this PR’s CI. t-measure-probability new-contributor awaiting-author 68/0 Mathlib/MeasureTheory/Measure/Portmanteau.lean 1 3 ['EtienneC30', 'github-actions'] nobody
30-85963
30 days ago
30-85963
30 days ago
16-50050
16 days
0
44261 javgomzar
author:javgomzar
feat(Algebra/Category/Grp): free functor preserves monomorphisms Refactored the proof for AddCommGrpCat, so that it also works in GrpCat. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> t-algebra new-contributor
label:t-algebra$
18/5 Mathlib/Algebra/Category/Grp/Adjunctions.lean 1 15 ['JX-Mo', 'github-actions', 'javgomzar', 'mathlib-merge-conflicts'] nobody
30-79048
30 days ago
30-79142
30 days ago
42-51044
42 days
0
44678 Altabeh
author:Altabeh
feat(Analysis/SpecialFunctions/Integrals/CoshRpow): the integral of cosh ^ (-ν) Compute `∫ x, cosh x ^ (-ν)` for `0 < ν` in a new file `Mathlib/Analysis/SpecialFunctions/Integrals/CoshRpow.lean`: * `Real.integral_cosh_rpow_neg`: `∫ x, cosh x ^ (-ν) = √π * Gamma (ν / 2) / Gamma ((ν + 1) / 2)`. * `Real.integral_cosh_rpow_neg_Ioi`, `Real.integral_cosh_rpow_neg_Iic`: the half-line integrals, each equal to half of this. * `Real.integrable_cosh_rpow_neg`, `Real.integrableOn_cosh_rpow_neg_Ioi`, `Real.integrableOn_cosh_rpow_neg_Iic`: integrability. * `Real.cosh_rpow_neg_le`: the bound `cosh x ^ (-ν) ≤ 2 ^ ν * exp (-(ν * |x|))` for `0 ≤ ν`. The proof substitutes `t = 1 - (cosh x ^ 2)⁻¹ = tanh x ^ 2`, which maps `(0, ∞)` bijectively onto `(0, 1)` and turns the half-line integral into the Beta integral `B(1/2, ν/2)`. --- This branch contains the commit from the dependency below, so the diff includes it until that PR is merged. - [ ] depends on: #44677 [the real Beta integral] blocked-by-other-PR t-analysis new-contributor awaiting-author 194/0 Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Analysis/SpecialFunctions/Integrals/CoshRpow.lean 3 5 ['github-actions', 'grunweg', 'mathlib-dependent-issues'] nobody
30-72207
30 days ago
unknown
unknown
0
44677 Altabeh
author:Altabeh
feat(Analysis/SpecialFunctions/Gamma/Beta): the real Beta integral Add the real-variable form of the Beta integral: * `Real.integral_rpow_mul_one_sub_rpow`: for `0 < a` and `0 < b`, `∫ x in 0..1, x ^ (a - 1) * (1 - x) ^ (b - 1) = Gamma a * Gamma b / Gamma (a + b)`. * `Real.intervalIntegrable_rpow_mul_one_sub_rpow`: the integrand is interval integrable on `[0, 1]`. * `Real.ofReal_integral_rpow_mul_one_sub_rpow`: the real integral, cast to `ℂ`, is `Complex.betaIntegral a b`. All three are deduced from the existing complex results `Complex.betaIntegral_eq_Gamma_mul_div` and `Complex.betaIntegral_convergent`. --- Mathlib currently states the Beta integral only for complex exponents through `Complex.betaIntegral`. This PR adds the real form, so that real-variable computations don't have to go through `ℂ`. It is used in a follow-up PR computing `∫ x, cosh x ^ (-ν)`. t-analysis new-contributor awaiting-author 40/0 Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean 1 3 ['github-actions', 'grunweg'] nobody
30-72197
30 days ago
30-72201
30 days ago
0-2935
48 minutes
1
44681 Altabeh
author:Altabeh
feat(Analysis/ODE/Linearization): the derivative of a flow at a fixed… Add a new file `Mathlib/Analysis/ODE/Linearization.lean`. Let `ϕ : Flow ℝ E` on a real Banach space be generated by a vector field `f`, meaning `∀ x t, HasDerivAt (fun s ↦ ϕ s x) (f (ϕ t x)) t`. If `e` is a fixed point of `ϕ` and `f` has derivative `A` at `e`, then every time-`t` map has derivative `exp (t • A)` at `e`: * `Flow.hasFDerivAt_of_isFixedPt`: `HasFDerivAt (ϕ t) (exp (t • A)) e` for every `t : ℝ`. * `Flow.fderiv_eq_exp_of_isFixedPt`: the `fderiv` form. * `Flow.eventually_norm_sub_exp_le`: a uniform estimate on compact time intervals. For `0 ≤ T` and `0 < ε`, eventually for `x` near `e`, `‖ϕ t x - e - exp (t • A) (x - e)‖ ≤ ε * ‖x - e‖` for all `t ∈ [0, T]`. Only differentiability of `f` at `e` is needed; nothing is assumed about `f` elsewhere. The estimate comes from comparing `ϕ t x - e` with `exp (t • A) (x - e)` using Grönwall's inequality. Negative times are handled by applying the result to `ϕ.reverse`. --- This PR is independent of the `LipschitzWith.flow` PR. It applies to any `Flow ℝ E` with a generating vector field, which includes those flows. **Proof of `eventually_norm_sub_exp_le` is done by a combination of `Claude Opus 5.5` and `GPT-5.6 Sol`. Linting and comments were done by AI.*** new-contributor t-analysis LLM-generated 166/0 Mathlib.lean,Mathlib/Analysis/ODE/Linearization.lean 2 3 ['github-actions', 'grunweg'] nobody
30-65950
30 days ago
30-66025
30 days ago
30-67960
30 days
0
44680 Altabeh
author:Altabeh
feat(Analysis/ODE/LipschitzFlow): the flow of a globally Lipschitz ve… Add a new file `Mathlib/Analysis/ODE/LipschitzFlow.lean`. A globally Lipschitz vector field `v : E → E` on a real Banach space has a unique solution of `γ' = v ∘ γ` through every point, defined for all time, and these solutions form a continuous flow: * `LipschitzWith.exists_forall_hasDerivAt`: global existence of solutions. * `LipschitzWith.dist_le_of_forall_hasDerivAt`: two solutions satisfy `dist (γ t) (δ t) ≤ dist (γ 0) (δ 0) * exp (K * |t|)`. * `LipschitzWith.flow : Flow ℝ E`: the flow of `v`. * `LipschitzWith.hasDerivAt_flow`: the orbits of the flow solve `γ' = v ∘ γ`. * `LipschitzWith.flow_eq_of_hasDerivAt`: every global solution is an orbit of the flow. * `LipschitzWith.dist_flow_le`: `dist (flow t x) (flow t y) ≤ dist x y * exp (K * |t|)`. The field does not need to be bounded. For a bounded field, Picard–Lindelöf (`IsPicardLindelof`) gives solutions on each interval `(-(n + 1), n + 1)`, and uniqueness glues them into a global solution. A general field is reduced to this case by multiplying `v` by a Lipschitz cutoff that is `1` on `closedBall 0 R`. Grönwall's inequality, using `‖v y‖ ≤ ‖v 0‖ + K * ‖y‖`, shows that for large `R` the solution stays in that ball on the time interval, so the cutoff does not change it. --- Continuity of the flow jointly in `(t, x)` comes from `continuousOn_prod_of_continuousOn_lipschitzOnWith'`, using the exponential separation bound on bounded time intervals. **The proofs of`exists_forall_hasDerivAt_of_forall_Ioo`, `lipschitzWith_cutoff_smul`, `norm_le_gronwallBound` and part of `dist_le_of_forall_hasDerivAt` used a combo of `GPT-5.6 Sol` and `Claude Opus 5.5`. Linting and comments were done by AI as well.** t-analysis new-contributor LLM-generated 276/0 Mathlib.lean,Mathlib/Analysis/ODE/LipschitzFlow.lean 2 3 ['github-actions', 'grunweg'] nobody
30-65829
30 days ago
30-65935
30 days ago
30-68167
30 days
0
40416 sparckix
author:sparckix
feat(Order/Monotone): add diagonal subsequence extraction This PR adds a small diagonal extraction lemma for nested strictly monotone subsequences of `Nat`. Given strict-mono maps `φ k : Nat -> Nat` such that each `φ (k + 1)` factors through `φ k` by a strict-mono map `τ k`, the diagonal sequence `fun n => φ n n` is strictly monotone and each tail of the diagonal factors through the corresponding `φ k` by a strict-mono map. The lemma is intended as a reusable sequence/order fact and is placed near `Nat.exists_strictMono_subsequence`. Local checks run: ```text lake env lean Mathlib/Order/Monotone/Basic.lean lake build Mathlib.Order.Monotone.Basic lake exe lint-style Mathlib/Order/Monotone/Basic.lean git diff --check ``` AI assistance disclosure: I used AI tools, including Codex and external model feedback, to help extract and review this small lemma from a local formalization project. I have checked the statement and proof myself and am responsible for the submitted code. t-order new-contributor LLM-generated awaiting-author 66/0 Mathlib/Order/Monotone/Basic.lean 1 11 ['SnirBroshi', 'github-actions', 'pepamontero'] nobody
30-51829
30 days ago
51-46954
51 days ago
101-31327
101 days
0
44679 Altabeh
author:Altabeh
feat(LinearAlgebra/FiniteDimensional/Lemmas): dimension counts in exa… Add dimension formulas for exact sequences of vector spaces over a division ring `K`: * `Function.Exact.finrank_range_add_finrank_range`: if `A → B → C` is exact (maps `f`, `g`) and `B` is finite-dimensional, then `finrank (range f) + finrank (range g) = finrank B`. * `Function.Exact.linearEquivQuotientRangeProdKer`: if `A → B → C → D → E` is exact (maps `f, g, h, j`), then `C ≃ₗ[K] (B ⧸ range f) × ker j`. * `Function.Exact.finrank_eq_finrank_quotient_range_add_finrank_ker`: hence, when `B` and `D` are finite-dimensional, `finrank C = finrank (B ⧸ range f) + finrank (ker j)`. --- The splitting is noncomputable, meaning it picks a complement of `ker h` in `C`. These statements are the counting steps used, for example, when comparing Betti numbers along long exact sequences. **These are basic results that have been written by myself. The only use of AI was to write the comments and test.** t-algebra new-contributor
label:t-algebra$
34/0 Mathlib/LinearAlgebra/FiniteDimensional/Lemmas.lean 1 5 ['Altabeh', 'github-actions', 'grunweg'] nobody
30-30782
30 days ago
30-64585
30 days ago
30-66452
30 days
0
44556 FilippoBelfiori
author:FilippoBelfiori
feat(AlgebraicGeometry/Sites): define the big Nisnevich topology This file defines the big Nisnevich site, including the Nisnevich topology as a Grothendieck topology on the category of schemes. It includes various lemmas and definitions related to Nisnevich coverings and their properties. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> t-algebraic-geometry new-contributor LLM-generated awaiting-author 185/0 Mathlib.lean,Mathlib/AlgebraicGeometry/Sites/Nisnevich.lean 2 4 ['github-actions', 'joelriou'] dagurtomas
assignee:dagurtomas
30-3565
30 days ago
30-3589
30 days ago
0-77096
21 hours
0
39569 AlexBrodbelt
author:AlexBrodbelt
feat(Mathlib/Data/Finite/Units): Units are (in)finite if type is (in)finite Shows - [ ] depends on: #39568 - [x] depends on: #39567 --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR t-data new-contributor 75/0 Mathlib.lean,Mathlib/Data/Finite/Option.lean,Mathlib/Data/Finite/Subtype.lean,Mathlib/Data/Finite/Units.lean 4 3 ['github-actions', 'mathlib-dependent-issues'] nobody
29-86151
29 days ago
unknown
unknown
0
39568 AlexBrodbelt
author:AlexBrodbelt
feat(Mathlib/Data/Finite/Subtype): Subtype of elements not equal to a term is finite iff type is finite Subtype of terms not equal to a term is finite iff type is finite. This is an intermediate result to prove that if a `GroupWithZero` is (in)finite then the `Units` are (in)finite. - [x] depends on: #39567 [shows option type is finite iff type is finite] --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor awaiting-author 45/0 Mathlib.lean,Mathlib/Data/Finite/Option.lean,Mathlib/Data/Finite/Subtype.lean 3 6 ['AlexBrodbelt', 'github-actions', 'mathlib-dependent-issues', 'themathqueen'] nobody
29-85611
29 days ago
29-85611
29 days ago
0-1773
29 minutes
1
44740 user202729
author:user202729
chore(Algebra/Ring/CompTypeclasses): fix a typo and reformat slightly Change `σ₂₃` to `σ` in the header, this one is clearly a typo. Do some minor reformatting for the rest of the file, which I think make it nicer. --- t-algebra new-contributor
label:t-algebra$
7/11 Mathlib/Algebra/Ring/CompTypeclasses.lean 1 3 ['github-actions', 'user202729', 'vihdzp'] nobody
29-34738
29 days ago
29-34846
29 days ago
29-34773
29 days
0
44762 Julian-Kuelshammer
author:Julian-Kuelshammer
feat(Combinatorics/Enumerative/Catalan/BracketingFunction): adds Huang-Tamari's bracketing functions This PR defines bracketing functions, an elementary description of the Tamari lattice. This PR is intentially kept short and just adds the definition and a bit of basic API. There are potential follow-ups proving that these are counted by the Catalan numbers and giving the lattice instance, for a preview see https://github.com/Julian-Kuelshammer/ExtensionClosedSubcategoriesOfAn/blob/main/ExtensionClosedSubcategoriesOfAn/BracketingFunctions.lean A first version of the file was created with the help of Aristotle and Claude. --- new-contributor t-combinatorics LLM-generated 102/0 Mathlib.lean,Mathlib/Combinatorics/Enumerative/Catalan/BracketingFunction.lean 2 4 ['Julian-Kuelshammer', 'github-actions'] nobody
29-5223
29 days ago
29-5279
29 days ago
29-5206
29 days
0
44783 ZRTMRH
author:ZRTMRH
feat(Analysis/MeanInequalities): n-ary ℓ^p monotonicity and Lyapunov's inequality Add finite-sum versions of the two-term power inequalities in `Analysis/MeanInequalitiesPow.lean`, in `ℝ≥0`, `ℝ` and `ℝ≥0∞`: * `sum_rpow_le_rpow_sum`: `∑ i ∈ s, f i ^ p ≤ (∑ i ∈ s, f i) ^ p` for `1 ≤ p` * `rpow_sum_rpow_le`: the `ℓ^p` (quasi)norm `(∑ i ∈ s, f i ^ p) ^ (1 / p)` is antitone in `p > 0` * `rpow_sum_le_sum_rpow`: `(∑ i ∈ s, f i) ^ p ≤ ∑ i ∈ s, f i ^ p` for `0 < p ≤ 1` Also add Lyapunov's inequality in `Analysis/MeanInequalities.lean`, `NNReal.lyapunov_inequality` and `Real.lyapunov_inequality_of_nonneg`: the weighted moments `t ↦ ∑ i ∈ s, w i * f i ^ t` are log-convex on `[0, ∞)`. The code was refined with AI assistance (Claude). The code has been reviewed by the author. Discussion on zulip: [ℓp norm monotonicity for finite sums](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/.E2.84.93p.20norm.20monotonicity.20for.20finite.20sums) --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> t-analysis LLM-generated new-contributor 122/0 Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/MeanInequalitiesPow.lean 2 3 ['ZRTMRH', 'github-actions'] nobody
28-55585
28 days ago
28-55635
28 days ago
28-56888
28 days
0
44214 ZRTMRH
author:ZRTMRH
feat(Analysis/SpecialFunctions): taylor series bounds for sin and cos Adds `Mathlib/Analysis/SpecialFunctions/Trigonometric/SeriesBounds.lean` with three groups of results: 1. Remainder bounds on the unit disc at every order: `Complex.sin_series_bound`, `Complex.cos_series_bound` and their real forms. Ported from #29355, taken over with the author's agreement. This PR supersedes #29355, which can be closed when this lands. 2. `Real.sum_lt_sin_of_pos`, `Real.sin_lt_sum_of_pos`, `Real.sum_lt_cos_of_pos`, and `Real.cos_lt_sum_of_pos`: `sin x` and `cos x` lie between consecutive partial sums of their Taylor series. Yury posted on Zulip in October 2025 with a request that someone open a PR for it ([Upper and Lower Bounds of Cosine](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Upper.20and.20Lower.20Bounds.20of.20Cosine/near/546287708)), it had not been opened. 4. Six low-order corollaries, as completion to `one_sub_sq_div_two_lt_cos` and `sin_gt_sub_cube` which Mathlib already has: `cos_lt/le_one_sub_sq_div_two_add_pow_four`, `sin_lt/le_sub_cube_add_pow_five`, and `sub_cube_add_pow_five_lt/le_sin` for negative arguments. The 6 low-order corollaries and the docstrings were written with AI assistance (Claude). The code has been reviewed by the author. Co-authored-by: Geoffrey Irving <irving@naml.us> Co-authored-by: Yury G. Kudryashov <urkud@urkud.name> --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> LLM-generated new-contributor t-analysis 302/0 Mathlib.lean,Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/SeriesBounds.lean 3 53 ['SnirBroshi', 'ZRTMRH', 'github-actions', 'wwylele'] nobody
28-43445
28 days ago
28-43568
28 days ago
38-50182
38 days
0
44684 josephqian507
author:josephqian507
feat(LinearAlgebra/Matrix): add row equivalence and echelon form lemmas feat(LinearAlgebra/Matrix): add row equivalence and echelon form lemmas This adds lemmas to bridge the current mathlib definition of row equivalence with the idea of two matrices that have the same null space. It also adds a proof that the reduced row echelon form of a matrix is unique. LLMs were used to fill in sorrys for some proofs (specifically, rowEquivalent_of_mul_eq_zero, rowEquivalent_iff_ker_eq, and much of RrefUniqueness.lean) Co-authored-by: Junye Ji <junyej@uw.edu> Co-authored-by: Dhruv Bhatia <dbhatia1@uw.edu> --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> t-algebra new-contributor large-import LLM-generated
label:t-algebra$
501/1 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Echelon/Basic.lean,Mathlib/LinearAlgebra/Matrix/Echelon/RrefUniqueness.lean,Mathlib/LinearAlgebra/Matrix/ElementaryRowOperations.lean 4 3 ['github-actions', 'josephqian507'] nobody
28-29044
28 days ago
28-29168
28 days ago
29-27097
29 days
0
44689 vincentqb
author:vincentqb
feat(Counterexamples): an open set with a non-open convex cone hull Adds a counterexample showing that the original hypotheses of `ConvexCone.isOpen_hull` do not suffice. #44537 proves the corrected theorem. This counter example gives the hyperreals the topology whose open sets are unions of cosets of the finite hyperreals. The coset of a positive infinite hyperreal is open, but its cone hull is `(0, ∞)`, which is not open because every open set containing `1` also contains `0`. --- AI-assisted contribution. new-contributor awaiting-author t-analysis LLM-generated 111/0 Counterexamples.lean,Counterexamples/ConvexConeHull.lean 2 4 ['SnirBroshi', 'github-actions', 'vihdzp'] nobody
28-28045
28 days ago
30-36345
30 days ago
0-6992
1 hour
0
39518 abeldonate
author:abeldonate
feat(RingTheory/LocalProperties/Projective): Projective Module theorem Theorem: R Noetherian, M finitely generated R-Mod. Then: M projective iff M_m free for all m maximal t-ring-theory new-contributor large-import awaiting-author 15/0 Mathlib/RingTheory/LocalProperties/Projective.lean 1 13 ['abeldonate', 'github-actions', 'jjdishere', 'mathlib-merge-conflicts', 'mbkybky', 'vlad902'] jjdishere
assignee:jjdishere
28-2458
28 days ago
144-41246
144 days ago
30-620
30 days
0
44316 3y3y3y-huaiji
author:3y3y3y-huaiji
feat(NumberTheory/Carmichael): prove 561 is the minimal Carmichael number This proves 561 is the smallest Carmichael number, closing the TODO in `CarmichaelNumber.lean`. Running `decide` directly on the definition times out because the kernel gets stuck in trial division. This PR instead checks Fermat witnesses for small prime bases (`bases := [2, 3]`), which is enough to rule out all composite candidates up to 561 without doing trial division. Main results: - `Nat.not_isCarmichael_of_lt_561` - `Nat.isCarmichael_min` --- - [ ] depends on: #43965 > [!NOTE] > **LLM Disclosure / AI Use**: This PR was prepared with the assistance of an LLM > (`LLM-generated`). All proofs and statements have been formally verified by Lean 4 > and checked with linters. t-number-theory LLM-generated new-contributor blocked-by-other-PR 82/9 Mathlib/NumberTheory/CarmichaelNumber.lean 1 29 ['3y3y3y-huaiji', 'SnirBroshi', 'YaelDillies', 'github-actions', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'tb65536'] nobody
27-85546
27 days ago
39-46016
39 days ago
1-51222
1 day
0
39864 8e7
author:8e7
feat(Combinatorics/SimpleGraph/Acyclic): helly property on subtrees This PR adds several lemmas regarding connected subsets of vertices in trees (subtrees). The main result is the Helly property for subtrees: For a finite set of subtrees, if any pair of subtrees intersect, then there is a common vertex in all subtrees. This lemma is part of an effort to formalize tree decompositions (see #38334), and will be used in a future PR to prove `G.cliqueNum - 1 <= G.treeWidth`. AI Usage: The proofs were developed with the help of Claude Code. I vouch for all the code written and understand the content fully. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor LLM-generated awaiting-author 114/0 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean 2 11 ['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts'] b-mehta
assignee:b-mehta
27-67606
27 days ago
52-57697
52 days ago
92-81401
92 days
1
44784 shunfeng8421
author:shunfeng8421
feat(Combinatorics): prove finitary Van der Waerden by compactness Proves the finitary version of Van der Waerden's theorem: ```lean theorem van_der_waerden (k : ℕ) {κ : Type*} [Finite κ] [Nonempty κ] : ∃ N : ℕ, ∀ C : Fin (N + 1) → κ, HasMonoAPWithin k N C ``` i.e. every finite coloring of a sufficiently large initial segment `[0, N]` contains a monochromatic arithmetic progression of length `k`. This resolves the TODO in `Mathlib/Combinatorics/HalesJewett.lean` asking for a finitary version of Van der Waerden's theorem. ## Proof sketch The proof goes by compactness (Rado's selection lemma), the route explicitly suggested in the TODO ("either by compactness or by modifying the current proof"): 1. Assume the theorem fails: every segment `[0, N]` admits a "bad" coloring with no monochromatic AP of length `k`. 2. For each finite set `s ⊆ ℕ`, pick the bad coloring of the covering interval `[0, s.sup id]` and extend it (arbitrarily) to all of `ℕ`. 3. **Rado's selection lemma** (`Finset.rado_selection`, from `Mathlib/Combinatorics/Compactness.lean`, itself proved via Tychonoff's theorem) stitches these local bad colorings into a global coloring `χ : ℕ → κ` that agrees with some local bad coloring on every finite set. 4. The **infinite** Van der Waerden theorem — `Combinatorics.exists_mono_homothetic_copy`, a corollary of Hales–Jewett — produces a monochromatic AP `(a * t + b)_{t < k}` in `χ`. 5. Viewed as a finite set, this AP lies inside the covering interval of some finite set `t` on which the bad coloring agrees with `χ`, so it is also monochromatic there — contradicting badness of that local coloring. No explicit bounds are produced; this is purely an existence proof, which is exactly what the compactness route buys. ## New definitions - `Combinatorics.HasMonoAPWithin k N C`: the coloring `C : Fin (N+1) → κ` of the initial segment `[0, N]` contains a monochromatic AP of length `k`. ## Changes - `Mathlib/Combinatorics/HalesJewett.lean`: removed the completed TODO item ("Prove a finitary version of Van der Waerden's theorem ... by compactness"), added a pointer to the new theorem in the "Main results" list. - `Mathlib/Combinatorics/VanDerWaerden.lean`: new file. ## Notes for the reviewer - The file header still contains the `[Author]` placeholder: fill in your name before committing. ------- **AI disclosure**: AI-assisted tools were used to draft the proof outline and Lean code, and to debug type/simplifier issues; all contributions were reviewed and verified by the author, who takes full responsibility for the correctness of the mathematics and code. t-combinatorics new-contributor LLM-generated 100/3 Mathlib.lean,Mathlib/Combinatorics/HalesJewett.lean,Mathlib/Combinatorics/VanDerWaerden.lean 3 5 ['github-actions', 'grunweg', 'shunfeng8421'] nobody
27-59947
27 days ago
27-59947
27 days ago
27-67537
27 days
0
43231 E-M-Bailey
author:E-M-Bailey
feat(Analysis/Analytic): expand and update `AnalyticAt.comp_sub`-type theorems Adds `.comp_add` and biconditional versions of the `AnalyticAt.comp_sub`-type theorems. Also shortens the `.comp_sub` statements and simplifies a few of their proofs. --- The purpose of this minor change, and in particular the biconditional versions, is to make it more convenient to shift power series. For example, I am currently working on a proof with a hypothesis of type `∀ᶠ w in 𝓝 z, ∀ i, AnalyticAt ℂ (f <| update w i ·) (w i)`, and I wanted to simplify the proof by assuming `z = 0`. This makes the `wlog` step shorter. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor awaiting-author 202/32 Mathlib/Analysis/Analytic/Basic.lean 1 5 ['github-actions', 'j-loreaux'] j-loreaux
assignee:j-loreaux
26-84584
26 days ago
26-84584
26 days ago
43-82886
43 days
0
38527 archiebrowne
author:archiebrowne
feat(Analysis/Calculus): continuously differentiable actions define the class `ContDiffSMul 𝕜 M X n` which asserts that the map `(c, x) ↦ c • x` is `n` times continuously differentiable on `M × X`. Many of the results are the C^n analogues of those in the module Mathlib.Topology.Algebra.MulAction. t-differential-geometry new-contributor merge-conflict 319/28 Mathlib.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean,Mathlib/Analysis/ContDiffMulAction.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean 6 14 ['archiebrowne', 'github-actions', 'grunweg', 'mathlib-merge-conflicts', 'peabrainiac'] fpvandoorn
assignee:fpvandoorn
26-72775
26 days ago
124-5534
124 days ago
69-39174
69 days
0
43595 localecho
author:localecho
feat(NumberTheory/Transcendental/Liouville): irrational reals are LiouvilleWith for 1 < p ≤ 2 Closes the gap noted in this file's module doc — the reverse implication for 1 < p ≤ 2 was flagged 'not formalized yet' since 2021. Proved via Dirichlet approximation (Real.infinite_rat_abs_sub_lt_one_div_den_sq_of_irrational) plus a finite-fiber argument on denominators, rather than continued fractions directly. ---- Formalized with Claude's help, verified by a clean lake build. Posted about this gap in #new-members first: https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Intro.3A.20Brigham.20Hall.20.3B.20LiouvilleWith.20gap.20for.201.20.3C.20p.20.E2.89.A4.202/near/622672679 t-number-theory new-contributor LLM-generated awaiting-author 76/2 Mathlib/NumberTheory/Transcendental/Liouville/LiouvilleWith.lean 1 9 ['MichaelStollBayreuth', 'SnirBroshi', 'github-actions', 'metakunt'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
26-68103
26 days ago
26-68160
26 days ago
34-74560
34 days
0
44848 djabbat
author:djabbat
feat(NumberTheory): Euclid-Euler theorem - Mersenne primes give perfect numbers ## Summary Euclid's half of the **Euclid–Euler theorem**: if `2^p - 1` is a Mersenne prime, then `2^(p-1) * (2^p - 1)` is a perfect number. ## Changes * `Nat.sigma` — the divisor function `σ(n) = ∑_{d ∣ n} d` (note: `Perfect` and the divisor finsets already existed in `Mathlib/NumberTheory/Divisors.lean`; the divisor-sum and its multiplicativity were missing). * `Nat.sigma_mul` — multiplicativity of `σ` on coprime arguments, via the bijection `divisors (a·b) ≃ divisors a × divisors b` (`gcd`-split, `Finset.sum_bij'`). * `Nat.sigma_two_pow` — `σ(2^k) = 2^(k+1) - 1` (geometric sum). * `Nat.sigma_prime` — `σ(p) = p + 1` for prime `p`. * `Nat.perfect_of_mersenne_prime` — Euclid's half of the theorem. ## Notes * Classical result (Euclid, c. 300 BC); the formal proof was absent from Mathlib. * The converse (Euler's half: every even perfect number is of Mersenne form) is planned as a follow-up (needs the 2-adic valuation extraction and divisor-sum inequalities). * Verified by building against Mathlib v4.35.0 (the current `master` toolchain). ## Testing ``` lake build Mathlib.NumberTheory.Perfect ``` new-contributor t-number-theory awaiting-author 350/0 Mathlib/NumberTheory/Perfect.lean 1 4 ['github-actions', 'grunweg'] nobody
26-57294
26 days ago
unknown
unknown
0
43217 tanishjain758-prog
author:tanishjain758-prog
feat(Linter): port ERR_ARR style linter to Lean ## Description Ports the `ERR_ARR` style rule from the python-based style linter to the native Lean text-based linter ### Changes - Adds `missingSpaceAfterLeftArrow` to `StyleError`. - Implements the corresponding left-arrow spacing check in `Mathlib/Tactic/Linter/TextBased.lean` - Tests both valid and invalid cases - Verifies the error code is `ERR_ARR`. ### Testing Added `#guard` tests in `MathlibTest/Linter/TextBased.lean`. Execution of the test file is currently blocked by an incomplete Mathlib build cache on Windows. `lake exe cache get` fails when downloading/decompressing the Mathlib cache with Win32 error 5 (`Access denied`), so `Mathlib.Data.Nat.Basic.olean` is unavailable. The implementation of the tests have therefore not been fully verified locally with `lake env lean`. t-linter new-contributor awaiting-author merge-conflict 61/1 Mathlib/Tactic/Linter/TextBased.lean,MathlibTest/Linter/TextBased.lean 2 13 ['Parcly-Taxel', 'github-actions', 'grunweg', 'joneugster', 'mathlib-merge-conflicts', 'tanishjain758-prog'] nobody
26-36093
26 days ago
unknown
unknown
0
43642 b1de0
author:b1de0
feat(MeasureTheory/Measure/ResolventTransform): finite moment expansion Add a finite moment expansion of `resolventTransform` with an exact integral remainder, assuming integrable moments and a nonzero evaluation point outside the support image. --- I need this to relate matched moments to errors in kernels of the form `∫ u, (1 + w * u)⁻¹ ∂μ`. The identity is finite and does not require convergence of the corresponding infinite geometric series. --- **AI usage:** I wrote the statement and the proof strategy myself. I used OpenAI Codex as an assistant for individual tactic steps and for fixing compilation errors. I have checked every line of the final code and understand it. t-measure-probability new-contributor awaiting-author 52/0 Mathlib/MeasureTheory/Measure/ResolventTransform.lean 1 4 ['EtienneC30', 'b1de0', 'github-actions'] nobody
26-33745
26 days ago
30-86170
30 days ago
29-24932
29 days
0
44831 scottdhughes
author:scottdhughes
feat(Analysis/MeanInequalitiesPow): add a real power difference bound Add `Real.abs_rpow_sub_rpow_le` in `Mathlib/Analysis/MeanInequalitiesPow.lean`: for nonnegative real bases and `0 ≤ p ≤ 1`, ```lean |a ^ p - b ^ p| ≤ |a - b| ^ p ``` Provide a direct scalar API for downstream fractional-power regularity estimates. Derive the bound from the neighboring `Real.rpow_add_le_add_rpow`, then handle the two input orders. Include both exponent endpoints. Add one lemma and its docstring, with no new imports. --- Local validation on Lean/Mathlib 4.35.0: - `lake build Mathlib.Analysis.MeanInequalitiesPow` - `lake exe lint-style Mathlib.Analysis.MeanInequalitiesPow` - Fresh source elaboration, exported-type and axiom checks, plus all 15 default declaration linters for the new lemma. The axiom check reports only `propext`, `Classical.choice` and `Quot.sound`. AI assistance: Codex adapted an existing downstream proof, searched Mathlib and relevant open PRs, drafted this description, and ran the local checks. t-analysis new-contributor LLM-generated 19/0 Mathlib/Analysis/MeanInequalitiesPow.lean 1 3 ['copilot-pull-request-reviewer', 'github-actions', 'scottdhughes'] nobody
25-75075
25 days ago
26-78239
26 days ago
26-78166
26 days
0
44537 vincentqb
author:vincentqb
feat(Analysis/Convex/Cone): prove that open sets have open hulls This PR proves `ConvexCone.isOpen_hull`: if addition and multiplication by each fixed scalar are continuous, the convex cone hull of an open set is open. It defines `ConvexCone.interior`, with coercion, membership, and equality lemmas parallel to the closure API. The hull theorem then follows from cone minimality. The original hypotheses do not suffice, see #44689 for a counterexample. --- AI-assisted contribution. t-analysis LLM-generated new-contributor file-removed 57/24 Mathlib.lean,Mathlib/Analysis/Convex/Cone/Basic.lean,Mathlib/Analysis/Convex/Cone/Interior.lean,Wanted.lean,Wanted/Analysis/Convex/Cone/Basic.lean 5 15 ['github-actions', 'pepamontero', 'vincentqb'] nobody
25-56110
25 days ago
25-56213
25 days ago
33-55374
33 days
0
44925 djabbat
author:djabbat
feat(Data/Nat/Prime): prime gaps are unbounded Adds to mathlib (both absent from the current tree): - `Nat.exists_consecutive_composites (k : ℕ)` — for every `k` there exist `k` consecutive composite numbers. Witness: `n = (k+1)! + 1`, each `n + m` is divisible by `m + 1`, hence composite. - `Nat.exists_prime_gap_gt (k : ℕ)` — prime gaps are unbounded (a weak form of the previous: there are primes `p < q` with `q - p > k`). Both are classical elementary results. This is part of a larger formalization project (Sylvester–Schur in Lean), kept here as a small self-contained unit. Build: `lake env lean Mathlib/Data/Nat/Prime/Gaps.lean` (Lean 4.35.0). Style lint passes (`lake exe lint-style`). t-data new-contributor awaiting-author 64/0 Mathlib.lean,Mathlib/Data/Nat/Prime/Gaps.lean 2 3 ['SnirBroshi', 'github-actions'] nobody
24-55209
24 days ago
unknown
unknown
0
43824 xingzhicn
author:xingzhicn
feat(Order/Submodular): define submodular functions and diminishing returns This PR defines submodular, supermodular, and modular functions on general lattices, and proves the diminishing returns property on finite sets. Main definitions: - `IsSubmodular f`: `∀ a b, f (a ⊓ b) + f (a ⊔ b) ≤ f a + f b` - `IsSupermodular f`: `∀ a b, f a + f b ≤ f (a ⊓ b) + f (a ⊔ b)` - `IsModular f`: `∀ a b, f (a ⊓ b) + f (a ⊔ b) = f a + f b` Main results: - `isModular_iff_submodular_and_supermodular`: a function is modular iff it is both submodular and supermodular. - `IsSubmodular.add_insert_le`: diminishing returns on `Finset`: for `s ⊆ t` and `x ∉ t`, `f s + f (insert x t) ≤ f (insert x s) + f t`. This lays the foundation for discrete convex analysis, combinatorial optimization, and matroid rank theory. --- t-order new-contributor awaiting-author 120/0 Mathlib.lean,Mathlib/Order/Submodular.lean 2 16 ['JX-Mo', 'github-actions', 'pepamontero', 'vlad902'] nobody
24-16240
24 days ago
24-16240
24 days ago
31-23703
31 days
0
44935 CollinYuanjieRen
author:CollinYuanjieRen
feat(ENNReal): commute toReal with liminf and limsup for eventually finite functions Add eventually-finite variants of `ENNReal.liminf_toReal_eq` and `ENNReal.limsup_toReal_eq`, allowing functions with no eventual uniform finite upper bound. The existing bounded variants are unchanged. Co-authored-by: Kalle Kytölä <kalle.kytola@aalto.fi> --- Continues the `toReal` portion of #15115, which its author marked `help-wanted`; this does not cover all of that PR. Validated the complete modified file with Lean 4.35.0. Codex assisted with the proofs. t-topology LLM-generated new-contributor 49/1 Mathlib/Topology/Instances/ENNReal/Lemmas.lean 1 3 ['CollinYuanjieRen', 'github-actions'] nobody
24-10593
24 days ago
24-9308
24 days ago
24-9235
24 days
0
44941 CollinYuanjieRen
author:CollinYuanjieRen
feat(Data/Finset/Sort): add filtering and greatest insertion lemmas Prove that filtering commutes with `Finset.sort`, and that inserting a new greatest element appends it to the sorted list. Both lemmas work for general total, transitive, antisymmetric relations. Continues the sorting portion of #9605 by @davikrehalt. Codex (GPT-6 Astra) assisted with the Lean proofs. t-data LLM-generated new-contributor 13/0 Mathlib/Data/Finset/Sort.lean 1 3 ['CollinYuanjieRen', 'github-actions'] nobody
24-5894
24 days ago
24-5956
24 days ago
24-5883
24 days
0
44540 vincentqb
author:vincentqb
feat(Algebra/Polynomial): monotonicity of polynomial evaluation This PR adds `Polynomial.eval_le_eval`, tagged `@[gcongr]`, for preordered semirings whose addition and multiplication are monotone. It applies in particular to `ℕ`, `ℝ≥0`, and `ℝ≥0∞`. --- This supplies the polynomial monotonicity lemma used privately in #44441. The code, the testing, and this description were prepared with the help of an AI coding assistant. LLM-generated new-contributor t-algebra merge-conflict
label:t-algebra$
22/0 Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Eval/Defs.lean 2 12 ['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vincentqb'] nobody
23-83787
23 days ago
23-83788
23 days ago
7-85935
7 days
0
43229 yui9696
author:yui9696
feat(Probability/Moments): probability generating function Define the probability generating function `pgf X μ t = μ[t ^ X]` of an `ℕ`-valued random variable, mirroring the `mgf` API in `Mathlib/Probability/Moments/Basic.lean`. API: - values at `0` and `1`, nonnegativity, monotonicity and boundedness on `[0, 1]`; - `integrable_pow_pgf`: the defining integrand is integrable on `[-1, 1]` for any finite measure; - congruence lemmas (`pgf_congr`, `pgf_id_map`, `pgf_congr_identDistrib`); - `pgf_eq_tsum`: the power-series form `pgf X μ t = ∑' n, μ.real (X ⁻¹' {n}) * t ^ n`; - `pgf_exp_eq_mgf`: the bridge to the moment-generating function; - `IndepFun.pgf_add` / `iIndepFun.pgf_sum`: the product formula for sums of independent variables. Main result: `map_eq_map_of_pgf_eq` — **the generating function determines the law**. The point masses are read off as the coefficients of a power series of radius at least 1 (via `FormalMultilinearSeries.ofScalars`), and the uniqueness of power-series coefficients recovers them from the function. Everything is stated for a general (finite) measure where possible, with `IsProbabilityMeasure` only where it is genuinely needed. 🤖 Generated with [Claude Code](https://claude.com/claude-code) t-measure-probability LLM-generated new-contributor awaiting-author 234/0 Mathlib.lean,Mathlib/Probability/Moments/PGF.lean 2 12 ['DavidLedvinka', 'github-actions', 'yui9696'] RemyDegenne
assignee:RemyDegenne
23-81665
23 days ago
23-81665
23 days ago
47-4705
47 days
0
44893 unknown8575
author:unknown8575
chore(Topology/MetricSpace/Polish): generalize `IsClopenable.iUnion` to countable index types The proof only used ℕ to get `t' ≤ t` through index 0, but `exists_polishSpace_forall_le` already gives this directly. So the lemma now works for any countable index type, and the TODO is removed. I used an LLM to find this TODO and draft the change. I've checked it, built it locally, and understand every line. t-topology new-contributor 18/15 Mathlib/Topology/MetricSpace/Polish.lean 1 5 ['github-actions', 'plp127', 'unknown8575', 'vihdzp'] nobody
23-81132
23 days ago
23-81197
23 days ago
25-10844
25 days
0
44945 CollinYuanjieRen
author:CollinYuanjieRen
chore(Algebra/Lie): generalize subalgebra map membership Generalize `LieSubalgebra.mem_map_submodule` to arbitrary Lie algebra morphisms. Add `mem_map_equiv` and update the three skew-adjoint equivalence proofs. Continues Eric Rodriguez Boidi's #7994, marked `please-adopt`. --- Checked the five affected modules with Lean 4.36.0-rc1 and a zero-morphism client regression. AI-assisted: Codex prepared the Lean changes; GPT-6 Astra assisted with proof checks. t-algebra LLM-generated new-contributor
label:t-algebra$
9/6 Mathlib/Algebra/Lie/SkewAdjoint.lean,Mathlib/Algebra/Lie/Subalgebra.lean 2 3 ['CollinYuanjieRen', 'github-actions'] nobody
23-63062
23 days ago
23-63300
23 days ago
23-63227
23 days
0
39212 emlis42
author:emlis42
feat(Algebra/ContinuedFractions): add `partNumsStream'` and `partNumsStream'` This PR adds `partNumsStream'` and `partDensStream'`, which provide infinite stream representations for the sequences of partial numerators and denominators of a generalized continued fraction. t-algebra new-contributor awaiting-author
label:t-algebra$
68/36 Mathlib/Algebra/ContinuedFractions/Basic.lean,Mathlib/Algebra/ContinuedFractions/ContinuantsRecurrence.lean,Mathlib/Algebra/ContinuedFractions/Determinant.lean,Mathlib/Algebra/ContinuedFractions/Euler.lean,Mathlib/Algebra/ContinuedFractions/Translations.lean 5 7 ['YaelDillies', 'emlis42', 'eric-wieser', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] YaelDillies
assignee:YaelDillies
23-21324
23 days ago
23-21324
23 days ago
156-64826
156 days
0
44535 vincentqb
author:vincentqb
feat(RingTheory/SimpleModule): semisimplicity along semilinear maps This PR proves that semisimplicity passes to the domain of an injective semilinear map and to the codomain of a surjective one, assuming `RingHomSurjective σ`. The scalar-map hypothesis corrects the two `proof_wanted` statements. For example, the injective map `ℤ → ℚ` would otherwise imply that `ℤ` is semisimple as a `ℤ`-module. --- The code, the testing, and this description were prepared with the help of an AI coding assistant. LLM-generated new-contributor file-removed t-ring-theory merge-conflict 31/30 Mathlib/LinearAlgebra/Isomorphisms.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/RingTheory/SimpleModule/Basic.lean,Wanted.lean,Wanted/RingTheory/SimpleModule/Basic.lean 5 10 ['github-actions', 'mathlib-merge-conflicts', 'tb65536', 'vincentqb'] nobody
22-83300
22 days ago
22-83301
22 days ago
10-3144
10 days
0
42314 sfingali
author:sfingali
feat(RingTheory): continuous valuations ### Summary Defines continuous valuations on topological rings: a valuation `v : A → Γ₀` whose underlying function is continuous for the order topology on `Γ₀` (Wedhorn, *Adic Spaces*, arXiv:1910.05934, Def. 7.7 and Rem. 7.8(1), p. 58). * `ContinuousValuationClass` — the class of continuous valuations: a `ValuationClass` whose functions are continuous. * `ContinuousValuation` — a bundled continuous valuation. * `ContinuousValuation.isOpen_lt` — the primary definition of Wedhorn, Def. 7.7: `{a | v a < γ}` is open for every `γ`. This is the second step of an adic/perfectoid pipeline (Huber rings → Huber pairs → continuous valuations → Spa → perfectoid → tilting); #42312 defines Huber rings. The subspace `Cont(A) ⊆ Spv(A)` of continuous valuations (Wedhorn, p. 58) will build on `ValuationSpectrum` once #38009 lands — this PR provides the element-level notion, which is independent of the spectrum topology. ### References * T. Wedhorn, *Adic Spaces*, arXiv:1910.05934, Def. 7.7, Rem. 7.8 (p. 58). t-ring-theory new-contributor awaiting-author 99/0 Mathlib.lean,Mathlib/RingTheory/Valuation/ContinuousValuation.lean 2 8 ['github-actions', 'jjdishere', 'sfingali', 'wwylele'] nobody
22-78240
22 days ago
22-78240
22 days ago
77-61391
77 days
0
34130 FlAmmmmING
author:FlAmmmmING
feat(Combinatorics/SimpleGraph/Acyclic): Add new theorem `isTree_iff_uniqueShortest_path` --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-author t-combinatorics new-contributor merge-conflict 28/1 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean 1 10 ['IvanRenison', 'github-actions', 'mathlib-merge-conflicts', 'metakunt', 'vlad902'] nobody
22-70353
22 days ago
292-7777
292 days ago
2-3674
2 days
0
29713 jessealama
author:jessealama
feat(Algebra/Homology): add Euler–Poincaré formula This PR builds on the generalized Euler characteristic framework from #31121 to prove the Euler-Poincaré formula for chain complexes. PR #31121 defines the Euler characteristic for general homological complexes. This PR specializes those definitions to ℤ-indexed chain complexes and proves the main Euler-Poincaré theorem. ### Main result (in `EulerPoincare.lean`) * `ChainComplex.eulerChar_eq_homologyEulerChar`: For ℤ-indexed bounded chain complexes of finite-dimensional modules over a division ring, the alternating sum of chain dimensions equals the alternating sum of homology dimensions. ### Supporting lemmas The file also provides dimension lemmas generalized to arbitrary `HomologicalComplex (ModuleCat k) c` (not just ℤ-indexed chain complexes): * `HomologicalComplex.dFrom_zero_range` / `dTo_zero_range`: zero range when the target/source object is zero * `HomologicalComplex.dFrom_range_finrank_eq_d` / `dTo_range_finrank_eq_d`: range of `dFrom`/`dTo` has the same dimension as the underlying differential * `HomologicalComplex.range_dTo_le_ker_dFrom`: range of `dTo` is contained in the kernel of `dFrom` t-algebra new-contributor
label:t-algebra$
264/0 Mathlib.lean,Mathlib/Algebra/Homology/EulerPoincare.lean 2 26 ['github-actions', 'jessealama', 'joelriou', 'kim-em', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] nobody
22-62357
22 days ago
22-62566
22 days ago
58-1395
58 days
0
44982 sw1sh
author:sw1sh
feat(Data/List): define Lyndon words This PR adds `Mathlib/Data/List/Lyndon.lean` with the definition of Lyndon words and their two basic properties. * `List.IsLyndon w`: the list `w` is nonempty and strictly smaller, in the lexicographic order, than each of its proper nonempty suffixes. * `List.IsLyndon.not_hasPeriod`: a Lyndon word has no period `p` with `0 < p < w.length`; that is, it is unbordered. It is stated with `List.HasPeriod` from `Mathlib/Data/List/PeriodicityLemma.lean`. * `List.IsLyndon.append`: if `u` and `v` are Lyndon words and `u < v`, then `u ++ v` is a Lyndon word. Two general lemmas on the lexicographic order of lists are added along the way: * `List.Lex.append_of_not_isPrefix`: if `Lex r u s` holds and `u` is not a prefix of `s`, then `Lex r (u ++ v) (s ++ w)` holds. * `List.lt_append_of_ne_nil`: a list is smaller than each of its proper extensions. A planned follow-up uses these to prove the Ehrenfeucht–Silberger theorem for infinite words: over a finite ordered alphabet, an infinite word whose sufficiently long factors are all bordered is eventually periodic. The proof cuts off longest Lyndon prefixes, which gives a non-increasing sequence of short Lyndon words. --- AI disclosure: this code was written with Claude Code (Anthropic, model Opus 5.5) as part of a project that formalizes equivalent forms of Wolfram's Rule 30 Problem 1 (https://github.com/WolframInstitute/Rule30PrizeKit). 🤖 Generated with [Claude Code](https://claude.com/claude-code) t-data new-contributor LLM-generated 120/0 Mathlib.lean,Mathlib/Data/List/Lyndon.lean 2 3 ['github-actions'] nobody
22-17426
22 days ago
22-17519
22 days ago
22-66835
22 days
0
44981 arihallak
author:arihallak
feat(NumberTheory/Divisors): add gcd divisor identities Adds the following two two divisor identities: Nat.divisors_gcd for nonzero m and n, the divisors of gcd m n equal the intersection of their divisor finsets, and Nat.divisors_filter_dvd for nonzero n, filtering its divisors by divisibility into m gives the divisors of gcd n m. Both follow from Nat.mem_divisors and Nat.dvd_gcd_iff. The existing Nat.divisors_filter_dvd_of_dvd now follows directly from the general filtering identity. t-number-theory new-contributor awaiting-author 12/3 Mathlib/NumberTheory/Divisors.lean 1 6 ['SnirBroshi', 'github-actions', 'wwylele'] nobody
21-74199
21 days ago
22-11511
22 days ago
0-63412
17 hours
0
44979 arihallak
author:arihallak
feat(Data/Nat/Totient): characterize multiplicativity of totient Adds Nat.totient_mul_eq_totient_mul_iff: for nonzero natural numbers a and b, (a * b).totient = a.totient * b.totient if and only if a.Coprime b. The converse to Nat.totient_mul follows from Nat.totient_gcd_mul_totient_mul: cancelling the nonzero totient product gives φ (gcd a b) = gcd a b, and Nat.totient_lt forces the gcd to equal one. t-data new-contributor awaiting-author 16/0 Mathlib/Data/Nat/Totient.lean 1 13 ['SnirBroshi', 'arihallak', 'eric-wieser', 'github-actions', 'vlad902'] nobody
21-66330
21 days ago
22-11984
22 days ago
0-62793
17 hours
0
36937 Yaohua-Leo
author:Yaohua-Leo
feat(Algebra/Jordan): add first linearization lemmas for IsCommJordan [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) AI assistance disclosure: I used AI assistance for CI/debugging and module-structure fixes in this PR. The mathematical content and main lemmas were written by me, with help from @pelicanhere. This PR adds a new file `Mathlib/Algebra/Jordan/Linearization.lean` containing linearization lemmas for the commutative Jordan identity. Main declarations: * `IsCommJordan.four_nsmul_associator_mul_add` * `IsCommJordan.associator_mul_add` These lemmas formalize a first linearization of the commutative Jordan identity using `associator`, following McCrimmon, Proposition 1.8.5. --- I put these lemmas in a separate file because I expect follow-up linearization lemmas to belong naturally in the same place. I am also happy to rename declarations or move the file if reviewers would prefer. t-algebra new-contributor
label:t-algebra$
152/90 Mathlib.lean,Mathlib/Algebra/Jordan/Basic.lean,Mathlib/Algebra/Jordan/Linearization.lean 3 8 ['Yaohua-Leo', 'github-actions', 'grunweg', 'ocfnash'] nobody
21-49558
21 days ago
42-31995
42 days ago
55-59627
55 days
0
44020 bally65
author:bally65
feat(NumberTheory/Fibonacci): congruences for Fibonacci numbers modulo a prime For a prime p ≠ 2: F_p ≡ (5/p) (mod p), hence p ∣ F_{p-1} when (5/p) = 1 and p ∣ F_{p+1} when (5/p) = -1, plus the p % 5 forms via quadratic reciprocity. Proof in (ZMod p)[X]/(X^2 - X - 1) via Frobenius; no case split on (5/p). --- AI disclosure: I used Claude and ChatGPT to discuss ideas, to adjust and optimize the approach, and to explore whether there was something worth taking on. They also proposed many of the problems, lines of thought, and decisions about direction. Almost all of the Lean code, including the changes made in response to review, was written by Claude Code. AI 使用聲明:我使用 Claude 和 ChatGPT 討論構思、調整與優化,也討論有沒有值得挑戰的方向。它們也提出了許多題目、思路和決策方向。Lean 程式碼與依審稿意見所做的修改,幾乎全部由 Claude Code 撰寫。 Note: the English disclosure is a translation of my Chinese text, assisted by Claude. t-number-theory new-contributor LLM-generated awaiting-author 188/0 Mathlib.lean,Mathlib/NumberTheory/Fibonacci.lean 2 25 ['Julian-Kuelshammer', 'bally65', 'github-actions', 'loefflerd'] loefflerd
assignee:loefflerd
20-76816
20 days ago
20-76816
20 days ago
11-11279
11 days
0
45014 GoldenPhysicsProject
author:GoldenPhysicsProject
feat(Analysis/SpecialFunctions/Trigonometric): infinite product formula for sinh Transfers the absolutely convergent Euler product for sine (`euler_sineTerm_tprod`) to the hyperbolic sine, in `Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean` next to the sine statement: * `multipliable_one_add_sq_div`: `Multipliable fun n : ℕ ↦ 1 + x ^ 2 / (n + 1) ^ 2` for every `x : ℂ`. * `euler_sinh_tprod`: for `x * I ∈ ℂ_ℤ`, `∏' n : ℕ, (1 + x ^ 2 / (n + 1) ^ 2) = Complex.sinh (π * x) / (π * x)`. This follows a review comment by @wwylele on the first version of this PR, which was a separate file with the conditionally convergent `Tendsto` form. I searched master and the open PRs for an existing hyperbolic-sine product and found none. AI-assistance disclosure: this PR was written and submitted by Claude Code (Anthropic) at the request of the account owner. The account owner has not reviewed the code line by line. The file builds against current master, `lake exe lint-style` is clean, and `#print axioms` shows only `propext`, `Classical.choice` and `Quot.sound`. Please review it as AI-generated. t-analysis new-contributor LLM-generated 19/0 Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean 1 7 ['GoldenPhysicsProject', 'github-actions', 'wwylele'] nobody
20-65116
20 days ago
20-65310
20 days ago
20-78284
20 days
0
44533 vincentqb
author:vincentqb
feat(Order/Height): relate height, chain height, and cardinality This PR identifies `Order.height a` with the chain height of `Set.Iio a`, and dually for coheight. For linear orders, it deduces `height a = (Set.Iio a).encard` and the corresponding coheight formula, replacing the two `proof_wanted` statements. --- The code, the testing, and this description were prepared with the help of an AI coding assistant. file-removed LLM-generated t-order new-contributor increases-technical-debt large-import merge-conflict 125/32 Mathlib/Order/Height.lean,Mathlib/Order/KrullDimension.lean,Wanted.lean,Wanted/Order/KrullDimension.lean 4 9 ['github-actions', 'mathlib-merge-conflicts', 'vincentqb', 'vlad902'] nobody
20-59368
20 days ago
33-27609
33 days ago
1-6846
1 day
0
42815 korbonits
author:korbonits
feat(Analysis/Calculus/VectorField): the Lie bracket acts as a derivation on functions Add `VectorField.lieBracket_apply_fun`: for a function `f` with derivative `f'` and vector fields `V`, `W`, D(f' W) V - D(f' V) W = f' [V, W] i.e. the familiar `[V, W] f = V (W f) - W (V f)`. The two second-derivative terms cancel by symmetry of the second derivative, leaving exactly the bracket. Placed beside the existing `lieBracket_smul_*` product rules. Needs no new import: `FDeriv.Symmetric` is already imported for `second_derivative_symmetric`, which supplies the symmetry and is the source of the `IsRCLikeNormedField` hypothesis. --- AI disclosure - level: Level 5 / Level 6 in [the link shared](https://www.visidata.org/blog/2026/ai/#self-assessed-ai-level-for-contributions) I feel confident about the math but I am still learning Lean itself - code: most of the Lean in this PR was drafted by Claude Code (statements, proofs, docstrings). - direction and review: I chose the contribution, made the decisions, reviewed every line, and wrote all GitHub/Zulip comments. t-analysis new-contributor LLM-generated t-differential-geometry 17/0 Mathlib/Analysis/Calculus/VectorField.lean 1 12 ['github-actions', 'korbonits', 'themathqueen'] nobody
20-36031
20 days ago
20-36255
20 days ago
85-23160
85 days
0
45076 vdelbarc
author:vdelbarc
feat(Algebra/Lie/SemiDirect): add natural ideal and subalgebra; add equivalences Define the left ideal and right subalgebra of a semidirect product of Lie algebras. Give characterizations through natural inclusion/projection maps. Co-authored by: Gustavo Infanti, Exequiel Rivas and Paul Schwahn --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> new-contributor t-algebra
label:t-algebra$
88/0 Mathlib/Algebra/Lie/SemiDirect.lean 1 2 ['github-actions'] nobody
20-16557
20 days ago
20-16574
20 days ago
20-16779
20 days
0
44958 dkaysin
author:dkaysin
feat(Combinatorics/SimpleGraph/Cayley): reachability and connectedness of Cayley graphs This PR adds reachability and connectedness results for Cayley Simple graphs. --- Implements connectedness results requested [here](https://github.com/leanprover-community/mathlib4/pull/44853#discussion_r4296323074). Implementation details: * One-directional reachability results can also be proven for semigroups and monoids. I chose to implement one such result for monoids: `reachable_mulCayley_mul_of_mem_submonoidClosure`. * Machinery with values of darts can be useful for further proofs when working with Cayley graphs in geometric group theory. Edit: made private for now as per reviewer's comment. Use of AI: I used Claude Opus 5.5 for the following tasks: * To brainstorm and compare API design ideas and naming conventions * To propose simplifications to proofs * To check docstrings for consistency All AI-generated content was reviewed and edited by me. <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> new-contributor t-combinatorics large-import 106/1 Mathlib/Combinatorics/SimpleGraph/Cayley.lean 1 11 ['SnirBroshi', 'dkaysin', 'github-actions'] nobody
19-80608
19 days ago
19-80838
19 days ago
19-83748
19 days
0
34138 pfaffelh
author:pfaffelh
feat(MeasureTheory): Introduce `DiscreteMeasure α` giving rise to a `Measure α` as a sum of `dirac`s Define `DiscreteMeasure α` as a structure with `weight : α → ℝ≥0∞` Define `toMeasure (w : DiscreteMeasure α) : Measure α` as a sum of diracs Show properties of the resulting objects This PR intends to start a more userfriendly interaction with discrete probability (measure) theory, in contrast to probability mass functions (`PMF`). There are two main differences between `DiscreteMeasure` and `PMF`: * Every `PMF` hast the additional property `HasSum 1`, making the resulting measure a probability measure. (For `DiscreteMeasure`, I intend to use the typeclass `IsProbabilityMeasure`in a later PR instead.) * The `toMeasure` function of `MassFunction` defines the measure as a sum of diracs, which immediately makes computations possible. Discussion thread on [zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/PMF.20Refactor.3A.20FunLike.20vs.20Definition.20Change) - depends on: #37060 --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability new-contributor 215/0 Mathlib.lean,Mathlib/Algebra/GroupWithZero/Indicator.lean,Mathlib/Data/Set/Pairwise/Basic.lean,Mathlib/MeasureTheory/Measure/DiscreteMeasure.lean 4 27 ['DavidLedvinka', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'metakunt', 'ocfnash', 'pfaffelh'] RemyDegenne
assignee:RemyDegenne
19-50462
19 days ago
20-7031
20 days ago
102-2220
102 days
0
45112 ZRTMRH
author:ZRTMRH
feat(MeasureTheory/Integral): sharp error bound for Riemann sums of periodic BV functions Add a strict error bound for estimating `1`-periodic function using Riemann sum. This is the equally-spaced case of Koksma's inequality, with the sharp constant. The proof is elementary. * `Function.Periodic.abs_sum_sub_integral_le_eVariationOn` The bound is added as a new file `Mathlib/MeasureTheory/Integral/IntervalIntegral/PeriodicRiemannSum.lean`. Two supporting lemmas on the variation of a periodic function go into `Mathlib/Analysis/BoundedVariation.lean`. * `Function.Periodic.eVariationOn_Icc_add_int` * `Function.Periodic.eVariationOn_Icc_add_one` Discussion on Zulip: [Riemann sums of periodic bounded-variation functions](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Riemann.20sums.20of.20periodic.20bounded-variation.20functions/with/624474372) This PR was written with AI assistance (Claude for first draft, Codex for refinement). The code has been reviewed by the authors. Co-authored-by: Xichen Tang xichen.tang@duke.edu --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> t-measure-probability LLM-generated new-contributor 194/0 Mathlib.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/PeriodicRiemannSum.lean 3 3 ['ZRTMRH', 'github-actions'] nobody
19-41030
19 days ago
19-41283
19 days ago
19-41210
19 days
0
44864 user202729
author:user202729
feat(Order/Bounds): notation for sSup and sInf Also fix a typo (add a full stop) and change some call sites to use the new notation. --- As discussed on Zulip: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Adding.20notation.20for.20sSup.2FsInf.3F t-topology new-contributor 14/3 Mathlib/Order/Bounds/Defs.lean,Mathlib/Order/SetNotation.lean,Mathlib/Topology/Sets/Closeds.lean,Mathlib/Topology/Sets/Opens.lean 4 5 ['Multramate', 'github-actions', 'user202729'] nobody
19-18677
19 days ago
24-75766
24 days ago
24-75693
24 days
0
45111 will1491
author:will1491
feat(Topology/ContinuousMap): define normal families Define `IsNormalFamily` for families of continuous maps into `OnePoint Y` as compactness of their closure in the compact-open topology. The one-point compactification is chosen for applications in complex dynamics. See the [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Geometry.20and.20complex.20dynamics.20formalization/with/615696635) for the definition and design discussion. Co-authored-by: Lasse Rempe <lasse.rempe@manchester.ac.uk> Co-authored-by: Filip Moruś <filip.morus@postgrad.manchester.ac.uk> --- t-topology new-contributor 30/0 Mathlib.lean,Mathlib/Topology/ContinuousMap/NormalFamily.lean 2 3 ['JX-Mo', 'github-actions'] nobody
19-10107
19 days ago
19-44330
19 days ago
19-44257
19 days
0
45135 rmcrkd
author:rmcrkd
feat(Analysis/Calculus/Deriv/Inverse): add HasDerivWithinAt.of_local_left_inverse Add lemma `HasDerivWithinAt.of_local_left_inverse`, following the existing pattern via `HasDerivWithinAt.hasFDerivWithinAt_equiv`. Assisted by Claude (found the gap, helped with learning and examples, linting and building). --- [#mathlib4 > HasDerivWithinAt.of_local_left_inverse](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/HasDerivWithinAt.2Eof_local_left_inverse/with/633245785) t-analysis new-contributor 18/0 Mathlib/Analysis/Calculus/Deriv/Inverse.lean 1 9 ['github-actions', 'grunweg', 'rmcrkd'] nobody
18-64438
18 days ago
18-64438
18 days ago
18-64483
18 days
0
45149 Parsnip37
author:Parsnip37
feat(Combinatorics/Enumerative/DyckWord): count nested Dyck words Nesting gives an equivalence between Dyck words of semilength `n` and words satisfying `DyckWord.IsNested` of semilength `n + 1`. Add this equivalence, the resulting `Fintype` instance, and the theorem that there are `catalan n` such nested words. The maps use the existing `nest` and `denest` operations, with their existing inverse lemmas. The count follows from `card_dyckWord_semilength_eq_catalan`. This adds no imports and changes no existing declarations. --- Validation: - GitHub CI build, test/lint, style, and pre-commit checks passed. - `lake build Mathlib.Combinatorics.Enumerative.DyckWord` - `lake exe lint-style Mathlib/Combinatorics/Enumerative/DyckWord.lean` - `git diff --check` - Checked the axioms of the new equivalence and counting theorem; neither depends on `sorryAx`. AI assistance: OpenAI Codex wrote the new Lean declarations and proofs and ran the checks. t-combinatorics LLM-generated new-contributor awaiting-author 25/0 Mathlib/Combinatorics/Enumerative/DyckWord.lean 1 5 ['Parsnip37', 'SnirBroshi', 'github-actions'] nobody
18-63963
18 days ago
18-63963
18 days ago
0-3155
52 minutes
0
41728 vaca22
author:vaca22
feat(GroupTheory): prove uniqueness of ℤᵐ⁰ automorphisms Prove that every order-preserving multiplicative automorphism of ℤᵐ⁰ is the identity. This also gives a Unique instance for its automorphism type and a Subsingleton instance for order-preserving multiplicative normalizations from G to ℤᵐ⁰. The proof transports an automorphism through WithZero.exp and WithZero.log to an additive automorphism of ℤ, then excludes negation by monotonicity. ------------ **AI disclosure**: this PR is primarily LLM-generated (Claude Code). t-group-theory new-contributor LLM-generated 58/0 Mathlib/GroupTheory/ArchimedeanDensely.lean 1 16 ['github-actions', 'grunweg', 'tb65536', 'vaca22', 'wwylele'] mattrobball
assignee:mattrobball
18-50449
18 days ago
50-31340
50 days ago
79-40228
79 days
0
36813 AlexeyMilovanov
author:AlexeyMilovanov
feat(Computability.Encoding): add self-delimiting unary and pair encodings Adds self-delimiting boolean encodings to `Mathlib.Computability.Encoding`. **Key changes:** * **`unaryPrefixEncodingNat`**: A self-delimiting unary `Encoding ℕ Bool`, using the code $1^n0$. * **`encodingProdBool`**: Builds an `Encoding (α × β) Bool` from boolean encodings of `α` and `β`, by prefixing the length of the first encoded component. * **`encodingListBool`**: Builds an `Encoding (List α) Bool` from a boolean encoding of `α`, using self-delimiting element encodings. * **`UnaryPrefix` helpers**: Internal-style helper API for the underlying length-prefixed boolean-list encoding and decoding. t-computability new-contributor awaiting-author 98/0 Mathlib/Computability/Encoding.lean 1 7 ['AlexeyMilovanov', 'Komyyy', 'YaelDillies', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] YaelDillies
assignee:YaelDillies
18-24659
18 days ago
18-24659
18 days ago
122-12841
122 days
0
41258 ungatz
author:ungatz
feat(Analysis/Fourier/FiniteAbelian): add the Donoho-Stark support uncertainty principle This adds the Donoho–Stark support uncertainty inequality for the unitary Fourier transform on a finite abelian group, plus the supporting Fourier-inversion machinery indexed by the Pontryagin dual `AddChar G ℂ`. The headline: > **Theorem `AddChar.donoho_stark`.** For nonzero `f : G → ℂ`, > `Fintype.card G ≤ (support f).ncard * (support (fourierTransform f)).ncard`, > where `fourierTransform f ψ = |G|^(-1/2) * ∑ g, conj (ψ g) * f g` ranges over `ψ : AddChar G ℂ`. The proof is the elementary (L¹, L∞) duality argument that any harmonic-analysis textbook gives for the classical `ZMod N` case; no Parseval or Cauchy–Schwarz is needed. The finite-abelian generalisation is folklore (stated in Tao–Vu *Additive Combinatorics* and Terras *Fourier Analysis on Finite Groups*); I did not find it formalised in Mathlib or any other major library. ### Why this belongs in Mathlib Mathlib already has the supporting infrastructure — character theory of finite abelian groups (`Mathlib.Algebra.Group.AddChar`), character orthogonality and Pontryagin duality (`Mathlib.Analysis.Fourier.FiniteAbelian.{Orthogonality, PontryaginDuality}`). The Donoho–Stark inequality is the canonical application of all three, and its absence is a real gap: I needed it for a downstream operator-uncertainty result (a diagonal-operator `rank * Pauli-support` bound on the finite Heisenberg group reduces to it) and ended up proving it from scratch. Beyond that use, it is a standard tool in compressed sensing on finite abelian groups, additive combinatorics, and discrete signal recovery (the 1989 paper has ~3500 citations). ### What's in this PR A single new file, `Mathlib/Analysis/Fourier/FiniteAbelian/DonohoStark.lean`: - `AddChar.fourierTransform` — the unitary (symmetric) Fourier transform indexed by `AddChar G ℂ`; - `AddChar.fourier_inversion` — the inversion formula; - `AddChar.norm_fourierTransform_le`, `AddChar.norm_le_sum_norm_fourierTransform` — the two `L∞ ≤ |G|^(-1/2) · L¹` triangle bounds; - `AddChar.donoho_stark` — the support uncertainty inequality. Design choices I expect questions on, and my defaults: - **`ℂ` rather than `RCLike`**: matches the cited literature and the cleanest home of `AddChar.norm_apply`; happy to generalise if preferred. - **`Set.ncard` for support sizes**: avoids needing `DecidableEq ℂ` in the statement. - **A new sibling file** of `Orthogonality.lean` / `PontryaginDuality.lean` rather than a subsection: orthogonality is the tool, Donoho–Stark is the application; can inline if preferred. Deliberately *not* included: the diagonal-operator `rank * Pauli-support ≥ 2^n` corollary from my workspace — the Pauli-word machinery has no natural home in `Analysis/Fourier` yet; happy to factor it into a follow-up if there is interest. ### AI usage disclosure Per the [AI contribution policy](https://leanprover-community.github.io/contribute/index.html): the original Lean proof was generated by **Aristotle** (Harmonic AI's automated proof system) from a dispatch containing the statement and the (L¹, L∞) proof strategy, as part of my PhD research workspace. I audited the delivery line by line against Donoho–Stark 1989 (the dispatch also produced a kernel-checked counterexample to a tempting wrong variant — replacing rank by the count of distinct eigenvalues — which the 2×2 identity falsifies). The file here is my adaptation to Mathlib conventions and to current master (module system, `Set.ncard` statement, robust cast handling in the inversion proof), with final tactic-level repairs done with the assistance of Claude (Anthropic). I understand and can defend every line without AI assistance. Please add the `LLM-generated` label (I cannot set labels myself). ### Test plan - [x] `lake build Mathlib.Analysis.Fourier.FiniteAbelian.DonohoStark` clean (0 errors, 0 warnings). - [x] `#print axioms` on all five declarations: `[propext, Classical.choice, Quot.sound]`. - [x] `lake exe lint-style` clean; all lines ≤ 100 chars. - [x] `Mathlib.lean` updated in alphabetical position. - [x] Imports minimal (`PontryaginDuality` + `RCLike.Basic` only). ### Reference Donoho, D. L. and Stark, P. B. (1989). *Uncertainty principles and signal recovery.* SIAM Journal on Applied Mathematics, **49**(3): 906–931. https://doi.org/10.1137/0149053 --- t-analysis new-contributor LLM-generated awaiting-author 283/0 Mathlib.lean,Mathlib/Analysis/Fourier/FiniteAbelian/DonohoStark.lean 2 4 ['YaelDillies', 'copilot-pull-request-reviewer', 'felixpernegger', 'github-actions'] YaelDillies
assignee:YaelDillies
18-15174
18 days ago
18-15174
18 days ago
112-40517
112 days
0
40973 certik
author:certik
feat: multiplicative automatic continuity on ℝ This PR adds the multiplicative companion of the existing additive automatic-continuity theorem `AddMonoidHom.continuous_of_measurable`. See the git commit descriptions for all the details. Depends on https://github.com/leanprover-community/mathlib4/pull/40976. AI usage disclosure: I used Claude Opus 4.8 to create the theorems and proofs in my own Lean project, then extracted them into this PR since I think they are general purpose and would be useful for other people. I iterated on the proofs until they are as simple as I could get them. I am new to Lean, so if something should be reworked, please let me know. Lean is amazing, I was able to use it to prove various theorems and check my derivations. This is my little contribution back to the project. t-measure-probability LLM-generated new-contributor awaiting-author 159/0 Mathlib.lean,Mathlib/MeasureTheory/Measure/Haar/AutomaticContinuity.lean 2 13 ['YaelDillies', 'certik', 'github-actions', 'mathlib-merge-conflicts', 'wwylele'] YaelDillies
assignee:YaelDillies
18-1588
18 days ago
18-1588
18 days ago
119-47982
119 days
0
45176 marcelolynch
author:marcelolynch
ci: shake Archive and Counterexamples in the weekly shake job This PR adds `Archive` and `Counterexamples` to the weekly `lake shake` job. The job fetches their oleans with `lake exe cache get Archive.lean Counterexamples.lean` and builds them before it runs `lake shake`. Five files get `shake: keep` annotations. `lake shake` does not see the uses inside `example` declarations or the `deriving Fintype` handler. Without the annotations, its edits break these files. With the annotations, the 76 shake edits to `Archive` and `Counterexamples` build. A fork PR runs the workflow file from `master`, so this PR cannot test the workflow change in CI. 🤖 new-contributor 10/10 .github/workflows/shake.yaml,Archive/Examples/Eisenstein.lean,Archive/Imo/Imo1988Q6.lean,Archive/Wiedijk100Theorems/Konigsberg.lean,Counterexamples/OrderedCancelAddCommMonoidWithBounds.lean,Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean 6 2 ['github-actions'] nobody
17-82474
17 days ago
17-82474
17 days ago
17-82401
17 days
0
44986 arihallak
author:arihallak
feat(LinearAlgebra/Projectivization): prove Pascal's hexagon theorem Adds Pascal’s hexagon theorem in Projectivization.pascal: for six points on the zero set of a nonzero quadratic form over a field, the three opposite-side intersections are collinear, provided their homogeneous representatives are nonzero. The proof uses cross products to construct the intersections and a determinant identity involving the six quadratic Veronese images. The conic coefficients give a nonzero vector in the kernel of the latter matrix, forcing its determinant to vanish. I used AI assistance for some parts of this, mostly to translate a few tedious sections of my human-written mathematical proof into Lean (e.g. lines 67-72), and for minor implementation details, such as finding mathlib lemmas. The overall approach and reasoning is my own, and most of the contribution was written by me. I also reviewed the AI-assisted code for correctness. t-algebra new-contributor increases-technical-debt LLM-generated awaiting-author merge-conflict
label:t-algebra$
174/0 Mathlib.lean,Mathlib/LinearAlgebra/Projectivization/Pascal.lean,docs/100.yaml 3 9 ['arihallak', 'github-actions', 'grunweg', 'mathlib-merge-conflicts', 'wwylele'] nobody
17-76344
17 days ago
21-70250
21 days ago
0-21144
5 hours
0
41847 stalex444
author:stalex444
feat(Analysis/Matrix): tightness of the Tsirelson bound This file constructs the explicit real-Pauli CHSH tuple in 4×4 real matrices — X⊗1, Z⊗1, and (√2)⁻¹·(1⊗(X±Z)) — and proves it's a CHSH tuple. It also shows its CHSH operator sends the Bell vector ![1,0,0,1] to √2^3 times itself. The PR also goes further than the request: √2^3 is the least constant bounding that operator in the Loewner order (via the scoped MatrixOrder instances + the existing tsirelson_inequality), so the constant in tsirelson_inequality cannot be improved. Small honest caveat worth stating: the "over every algebra" corollary quantifies over Type (universe-0), since hypotheses can't quantify universes; the concrete least-constant statement is universe-free. This Lean code was drafted with the help of AI (Claude Code). I reviewed the file; built it locally against current Mathlib master and confirmed that it compiled. --- Questions for reviewers: - happy to make B₀' and B₁' private if preferred - happy to provide a ℂ-matrix version if that's more useful <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #45199 new-contributor LLM-generated t-analysis blocked-by-other-PR 296/6 Archive.lean,Archive/TsirelsonTightness.lean,Mathlib/Algebra/Star/CHSH.lean,Mathlib/LinearAlgebra/Matrix/Reindex.lean 4 17 ['github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'stalex444', 'vihdzp'] j-loreaux
assignee:j-loreaux
17-54640
17 days ago
17-54641
17 days ago
85-56295
85 days
0
43286 JX-Mo
author:JX-Mo
feat(GroupTheory): add `LeftFiniteDoubleCoset` for Hecke theory This PR introduces a finiteness condition `DoubleCoset.IsLeftFinite` on double cosets and its bundled version `DoubleCoset₀`, which allows us to describe `Hom_G(k[G ⧸ H₁], k[G ⧸ H₂])` as the free module `k[DoubleCoset₀ H₁ H₂]`. For a triple `(H₁, H₂, g)`, the property `DoubleCoset.IsLeftFinite H₁ H₂ g` says that the double coset H₁gH₂ admits a finite decomposition into left cosets, i.e. the set `{xH₂ | H₁xH₂ = H₁gH₂}` is finite. The collection of all such double cosets is bundled into a type `DoubleCoset₀`. We provide some finiteness instances which help define convolution product of double cosets. We deliberately design two indexing types for the left-coset decomposition: the intrinsic `LeftDecomposition` and the computational `LeftDecompQuotient`. They are equivalent via `toLeftDecompositionEquiv`. The first is useful for coordinate-free definitions and proofs, which saves us from abusing `Quotient.out` everywhere (note that we have three quotients in Hecke theory: `G/H₂`, `H₁/H₁∩gH₂g⁻¹`, `H₁\G/H₂`) and avoids "choosing representative from decomposition in the def => proving the def does not depend the choice + repeating this kind of argument for comparing different representatives in many downstream proofs" pattern. The second `LeftDecompQuotient` carries a fixed base point `gH₂` and remains useful for concrete convolution product computation. - [x] depends on: #43278 - [ ] depends on: #43328 t-group-theory new-contributor blocked-by-other-PR 282/0 Mathlib.lean,Mathlib/RepresentationTheory/Hecke/LeftFiniteDoubleCoset.lean 2 4 ['Whysoserioushah', 'github-actions', 'mathlib-dependent-issues'] nobody
17-34416
17 days ago
68-16721
68 days ago
1-3422
1 day
1
41523 Harmenszoon
author:Harmenszoon
feat(Analysis/SpecialFunctions): add the Chase-Lovett diagonal reduction for binEntropy This PR adds the two-variable entropy inequality of Chase and Lovett ([arXiv:2211.11689](https://arxiv.org/abs/2211.11689), Lemma 2.2): for `x, y ∈ [0, 1]`, ``` x * binEntropy y + y * binEntropy x ≤ 2 * sqrt (x * y) * binEntropy (sqrt (x * y)) ``` in a new leaf file `Mathlib/Analysis/SpecialFunctions/BinaryEntropy/Diagonal.lean`, together with its `negMulLog (1 - ·)` half (`Real.mul_negMulLog_one_sub_add_le`) and a `private` concavity layer for the comparison function `η u = exp u * negMulLog (1 - exp (-u))`. Two entries are added to `docs/references.bib` (Chase–Lovett arXiv:2211.11689, Boppana arXiv:2301.09664). **Motivation.** This inequality is the reusable reduction step behind the recent entropic lower bounds for Frankl's union-closed sets conjecture (Gilmer; Alweiss–Huang–Sellke; Chase–Lovett; Sawin; Boppana): it reduces two-variable inequalities of Boppana type `K * (x * h y + y * h x) ≤ h (x * y)` to one-variable inequalities `2 * K * t * h t ≤ h (t ^ 2)`. `Mathlib/Analysis/SpecialFunctions/BinaryEntropy.lean` currently contains calculus basics for `binEntropy` only, and no inequality of this family; I checked current master for collisions before opening this. A kernel-checked downstream application — a complete Lean formalization of the union-closed lower bound at the constant `(3 - √5)/2` that uses exactly this reduction — is public at https://github.com/demonstrandum-research/artifacts (the `UCFrankl` development), which I maintain. **Proof shape** (one page of calculus): substituting `x = exp (-u)`, the inequality becomes midpoint concavity of `η` on `[0, ∞)`; the `negMulLog (x * y)` parts of the two sides cancel exactly, the `negMulLog (1 - ·)` parts transfer to `η` via the identity `x * η (-log x) = negMulLog (1 - x)`, and `η'' ≤ 0` reduces to `log t ≤ t - 1`. Stating `η` through `negMulLog` absorbs the `0 * log 0` boundary behaviour, so no separate edge-case argument is needed at `x = 1`. **Design notes / open questions for reviewers.** - Hypotheses are stated as `0 ≤ x`/`x ≤ 1` pairs rather than `x ∈ Set.Icc 0 1`; happy to convert if the membership form is preferred. - The `η`-machinery is `private`; it could be exposed if judged independently useful. - File placement: a new `BinaryEntropy/Diagonal.lean` leaf keeps the import footprint of `BinaryEntropy.lean` unchanged (the proof needs `Analysis.Convex.Deriv`); merging into the main file is also possible if preferred. - Naming: `mul_binEntropy_add_mul_binEntropy_le` / `mul_negMulLog_one_sub_add_le` follow the conclusion-based convention but I am glad to rename. **AI disclosure** (per the [mathlib AI policy](https://leanprover-community.github.io/contribute/index.html)): the Lean code in this PR was generated by LLM agents (Anthropic's Claude, running in an agent pipeline that I operate under the name Demonstrandum), and was then compile-verified against mathlib and reviewed by me. This PR description was also prepared with AI assistance and reviewed by me. The proof is elementary calculus as summarized above; I understand it and take full responsibility for the contribution. I am adding the `LLM-generated` label as required. The downstream `UCFrankl` development linked above (kernel-checked, axioms `[propext, Classical.choice, Quot.sound]` only) is the evidence that the lemma carries real weight in applications. --- - [x] depends on: nothing t-analysis LLM-generated new-contributor awaiting-author 227/0 Mathlib.lean,Mathlib/Analysis/SpecialFunctions/BinaryEntropy/Diagonal.lean,docs/references.bib 3 8 ['Harmenszoon', 'Timeroot', 'YaelDillies', 'github-actions'] YaelDillies
assignee:YaelDillies
17-25263
17 days ago
17-25263
17 days ago
106-11935
106 days
0
45210 dongxuelian2
author:dongxuelian2
feat(LinearAlgebra/Matrix/Charpoly): finite determination of matrix power sequences Add finite-determination criteria for matrix sequences `C * A ^ k * B`, allowing the two square matrices to have different index types. `Matrix.mul_pow_mul_eq_of_aeval_eq_zero` uses a common monic annihilating polynomial: agreement below its degree implies agreement at every natural exponent. `Matrix.mul_pow_mul_eq_of_lt_card_add` applies this to the product of the characteristic polynomials, giving the bound `Fintype.card ι + Fintype.card κ`. The statements work over commutative rings and allow empty state index types. The proof reduces `X ^ k` modulo the common polynomial and uses `Polynomial.sum_modByMonic_coeff`, which handles degree zero without a separate dimension case split. This adds two theorems to the existing matrix-power reduction API without introducing imports or definitions. The proof is adapted from [LeanForControl's finite-determination result](https://github.com/dongxuelian2/LeanForControl/blob/kalman-structural-completion/LeanForControl/LinearSystems/Realization/FiniteDetermination.lean). --- ### Validation Checked locally with Lean v4.36.0-rc1 against mathlib master `3d14fd9a313ac35ed4b5c653ed5d99157c9e29f6`: - `lake build Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff` - `lake exe batteries/runLinter --no-build Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff` - Direct invocation of the upstream text linters and module-name checks. - Separate local examples for the requested field/`Fin` statement, either or both dimensions zero, degree-zero and degree-one common annihilators, and matching nonzero sequences in dimensions 1 and 2. - `#print axioms` for both theorems reports only `propext`, `Classical.choice`, and `Quot.sound`. - `git diff --check`. The standalone `lint-style` launcher failed while loading Lake's workspace on Windows; its text linters passed when invoked directly. A clean full `lake shake` run was not obtained: the initial run needed uncached modules outside the targeted dependencies, and the forced run reported suggestions throughout the existing dependency closure. Imports are unchanged from upstream. No full-library build is claimed. ### AI use OpenAI Codex was used to audit nearby APIs and possible duplicates, extract and generalize the LeanForControl proof, write the Lean code and local examples, run validation, and prepare this PR description. t-algebra LLM-generated new-contributor
label:t-algebra$
44/0 Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean 1 3 ['dongxuelian2', 'github-actions'] nobody
17-24910
17 days ago
17-25097
17 days ago
17-25024
17 days
0
44372 Formalistic03
author:Formalistic03
feat(GroupTheory/Perm/Cycle/Basic): subtypePerm preserves IsCycleOn --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> t-group-theory new-contributor awaiting-author 33/15 Mathlib/Algebra/Group/End.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean 2 14 ['Formalistic03', 'github-actions', 'tb65536', 'wwylele'] nobody
17-14005
17 days ago
17-14020
17 days ago
21-4829
21 days
0
35069 A-M-Berns
author:A-M-Berns
feat(Geometry/Polygon): simple polygons and boundary map This PR introduces simple polygons with the predicate `IsSimple`, which captures the idea of a non-self-intersecting boundary, in the file `Simple.lean`. In the file `Boundary.lean`, a boundary map from `AddCircle n` is defined. I prove that the range of this map is the boundary and that this map is injective if and only if the polygon is simple. I kept `Boundary.lean` and `Simple.lean` separate because future results will include stuff just about the boundary map independent of simplicity (e.g. that it is continuous in the appropriate setting) and stuff just about simple polygons independent of the boundary map (e.g. that for `n = 3`, `IsSimple` iff `HasNondegenerateVertices`.) I used Claude Code to help generate some of the proof material, but I golfed and edited all AI contribution. --- - [x] depends on: #34598 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> new-contributor t-euclidean-geometry LLM-generated awaiting-author 360/0 Mathlib.lean,Mathlib/Geometry/Polygon/Boundary.lean,Mathlib/Geometry/Polygon/Simple.lean,Mathlib/Logic/Equiv/Fin/Rotate.lean 4 37 ['A-M-Berns', 'YaelDillies', 'eric-wieser', 'github-actions', 'joneugster', 'jsm28', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp', 'wwylele'] YaelDillies
assignee:YaelDillies
16-67830
16 days ago
18-15015
18 days ago
241-2054
241 days
0
44844 djabbat
author:djabbat
feat(NumberTheory): add Jacobsthal function j(2310)=14 and unbounded prime gaps ## Summary Two additions in the theory of prime gaps, both **classical results whose formal proofs were absent from Mathlib**: ### 1. `Mathlib/Data/Nat/Prime/Gaps.lean` — prime gaps are unbounded * `Nat.exists_consecutive_composites (k)` : there exist `k` consecutive composite numbers (factorial construction: `(k+1)! + 2, ..., (k+1)! + (k+1)`). * `Nat.exists_prime_gap_gt (k)` : two primes `p < q` with `q - p > k` (corollary). ### 2. `Mathlib/NumberTheory/Jacobsthal.lean` — the Jacobsthal function * `Nat.jacobsthal m` : the maximal gap between consecutive integers coprime to `m` (Jacobsthal, 1961). * `Nat.jacobsthal_2310_value` : **`jacobsthal 2310 = 14`** for the primorial `2310 = 2·3·5·7·11` — every interval of length 14 contains an integer coprime to 2310, and the bound is attained (after `113` the next coprime is `127`). * `Nat.coprime_2310_iff` : a characterization of coprimality to 2310 (equivalent to `Nat.Coprime n 2310`). ## Proof outline (Jacobsthal) 1. `coprimeTo2310` — predicate "not divisible by 2, 3, 5, 7, 11"; 2. periodicity mod 2310 (`coprimeTo2310_shift`, `coprimeTo2310_add_mul`); 3. a finite exhaustive check of the 2310 residue classes (`jacobsthal_residues`); 4. transfer from residues to all `n` (`jacobsthal_2310`); 5. bridge to `Nat.Coprime` (`coprime_2310_iff`); 6. the general function and the value via an `sSup` argument. ## Honest notes * Both statements are **classical** (factorial construction; Jacobsthal 1961). The contribution is the formal proof, not new mathematics. * Verified by building the files against Mathlib v4.35.0 (the current `lean-toolchain` of `master`). The modules imported (`Mathlib.Data.Nat.Prime.Infinite`, `Mathlib.Data.Nat.Nth`, `Mathlib.NumberTheory.PrimeCounting`) are present on `master`. ## Testing ``` lake build Mathlib.Data.Nat.Prime.Gaps Mathlib.NumberTheory.Jacobsthal ``` new-contributor increases-technical-debt awaiting-author t-number-theory t-algebra
label:t-algebra$
230/0 Mathlib/Data/Nat/Prime/Gaps.lean,Mathlib/NumberTheory/Jacobsthal.lean 2 3 ['SnirBroshi', 'github-actions'] nobody
16-49585
16 days ago
unknown
unknown
0
43282 JX-Mo
author:JX-Mo
feat(RepresentationTheory): add Hecke/Bimodule We identify the intertwining space `Hom_G(k[G/H₁], k[G/H₂])` with the free module `k[DoubleCoset₀ H₁ H₂]`generated by double cosets with finite left-coset decomposition. We also provide formulas for its action on Hecke modules, which identifies the composition with convolution product. When `H₁ = H₂`, we name the `MulOpposite` of the bimodule as `HeckeAlgebra`. LLM-use: Opus 5 provides the proof of `structureConst_mk_mk_mk`. - [ ] depends on: #43286 - [ ] depends on: #43087 new-contributor blocked-by-other-PR t-algebra
label:t-algebra$
746/0 Mathlib.lean,Mathlib/RepresentationTheory/Hecke/Basic.lean,Mathlib/RepresentationTheory/Hecke/Bimodule.lean,Mathlib/RepresentationTheory/Hecke/LeftFiniteDoubleCoset.lean,Mathlib/RepresentationTheory/Hecke/StructureConst.lean 5 10 ['JX-Mo', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'mathlib-dependent-issues'] nobody
16-49421
16 days ago
unknown
unknown
0
43643 Sanghyeok0
author:Sanghyeok0
refactor(Logic/Relation): move inclusion lemmas out of EqvGen This refactor was split out from #40368 following the review discussion there. Following further review, I moved all lemmas from the `Relation.EqvGen` namespace to `Relation`, except for `is_equivalence`, `setoid`, and `mono`, which retain their original names. The old names are preserved as deprecated aliases for backward compatibility. I also updated the reference in `Mathlib/Order/JordanHolder.lean` to use `Relation.eqvGen_le` instead of the deprecated name. **Changes:** * `Relation.EqvGen.eqvGen_le` → `Relation.eqvGen_le` * `Relation.EqvGen.eqvGen_mono` → `Relation.eqvGen_mono` * `Relation.EqvGen.reflGen_le_eqvGen` → `Relation.reflGen_le_eqvGen` * `Relation.EqvGen.symmGen_le_eqvGen` → `Relation.symmGen_le_eqvGen` * `Relation.EqvGen.transGen_le_eqvGen` → `Relation.transGen_le_eqvGen` * `Relation.EqvGen.reflTransGen_le_eqvGen` → `Relation.reflTransGen_le_eqvGen` * `Relation.EqvGen.eqvGen_reflGen` → `Relation.eqvGen_reflGen` * `Relation.EqvGen.eqvGen_transGen` → `Relation.eqvGen_transGen` * `Relation.EqvGen.eqvGen_symmGen` → `Relation.eqvGen_symmGen` * `Relation.EqvGen.eqvGen_reflTransGen` → `Relation.eqvGen_reflTransGen` * `Relation.EqvGen.eqvGen_eq_reflTransGen` → `Relation.eqvGen_eq_reflTransGen` * `Relation.EqvGen.reflTransGen_symmGen` → `Relation.reflTransGen_symmGen` --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic new-contributor 53/20 Mathlib/Algebra/RingQuot.lean,Mathlib/Data/PFunctor/Multivariate/M.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/Logic/Relation.lean,Mathlib/Order/JordanHolder.lean 5 17 ['Sanghyeok0', 'github-actions', 'j-loreaux', 'themathqueen'] nobody
16-44290
16 days ago
16-44365
16 days ago
41-67522
41 days
0
42313 deancureton
author:deancureton
feat(RingTheory): embDomain composition and range, Laurent series expansion Add to the Hahn series API: - `embDomain_embDomain` (composition of domain embeddings) - `mem_range_embDomain_iff` (range of `embDomain` is characterized by support containment) Add to the Laurent series API: - the expansion ring endomorphism `LaurentSeries.expand` with its monomial and `orderTop` lemmas - follows the pattern of `Polynomial.expand`, `MvPolynomial.expand`, `PowerSeries.expand` - its opposite `LaurentSeries.contract`, with the decomposition of a Laurent series by exponent residues mod `n` (`sum_single_mul_expand_contract`) and its uniqueness (`contract_eq_of_sum_eq`) - `exists_ofPowerSeries_eq_of_orderTop_nonneg` This is the first of a series of PRs formalizing Puiseux series and Puiseux's theorem (entry 41 of Freek Wiedijk's 100 theorems list). t-ring-theory new-contributor LLM-generated awaiting-author 116/0 Mathlib/RingTheory/HahnSeries/Basic.lean,Mathlib/RingTheory/LaurentSeries.lean 2 22 ['deancureton', 'github-actions', 'jjdishere', 'wwylele'] jjdishere
assignee:jjdishere
15-82606
15 days ago
15-82606
15 days ago
84-55416
84 days
0
44293 psvenk
author:psvenk
doc: add lmfdb attributes Following #41290, add cross-references to the LMFDB for various definitions. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> new-contributor documentation awaiting-author merge-conflict 54/25 Mathlib/Algebra/CharP/Defs.lean,Mathlib/Algebra/Field/Defs.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Irreducible/Defs.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean,Mathlib/GroupTheory/Frattini.lean,Mathlib/GroupTheory/Generators.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/Rank.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/GroupTheory/Torsion.lean,Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean,Mathlib/LinearAlgebra/Projectivization/Basic.lean,Mathlib/MeasureTheory/Group/Measure.lean,Mathlib/MeasureTheory/Measure/Haar/Basic.lean,Mathlib/NumberTheory/ArithmeticFunction/Defs.lean,Mathlib/NumberTheory/Bernoulli.lean,Mathlib/NumberTheory/DirichletCharacter/Basic.lean,Mathlib/NumberTheory/LSeries/Basic.lean,Mathlib/NumberTheory/LocalField/Basic.lean,Mathlib/NumberTheory/NumberField/Basic.lean,Mathlib/NumberTheory/NumberField/ClassNumber.lean,Mathlib/NumberTheory/NumberField/Discriminant/Defs.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/RingTheory/DedekindDomain/Basic.lean,Mathlib/RingTheory/FractionalIdeal/Basic.lean,Mathlib/RingTheory/Ideal/Defs.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/Ideal/Prime.lean,Mathlib/RingTheory/IntegralClosure/Algebra/Basic.lean,Mathlib/RingTheory/IntegralClosure/IntegrallyClosed.lean,Mathlib/RingTheory/IntegralClosure/IsIntegral/Defs.lean,Mathlib/RingTheory/LocalRing/MaximalIdeal/Defs.lean,Mathlib/RingTheory/LocalRing/ResidueField/Defs.lean,Mathlib/RingTheory/Noetherian/Defs.lean,Mathlib/RingTheory/Polynomial/Resultant/Basic.lean,Mathlib/RingTheory/Valuation/Integers.lean,Mathlib/Topology/Algebra/Category/ProfiniteGrp/Basic.lean 43 14 ['Multramate', 'github-actions', 'joneugster', 'mathlib-merge-conflicts', 'psvenk'] joneugster
assignee:joneugster
15-60088
15 days ago
31-13019
31 days ago
10-43592
10 days
0
38223 Deicyde
author:Deicyde
feat(Geometry/Manifold): add `MfldCat`, the category of `C^n` manifolds Defines `MfldCat 𝕜 n`: the category of `C^n` manifolds over a field `𝕜`, in which the model with corners is allowed to vary between objects. An object bundles a model vector space `E`, a model space `H`, a model with corners `I : ModelWithCorners 𝕜 E H` and a term of `ModelWithCorners.MfldCat I n`--see #41109. This includes manifolds with boundary / corners. For more discussion see this Zulip thread: [#PR reviews > #38223 The Category of C^n Manifolds](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2338223.20The.20Category.20of.20C.5En.20Manifolds/with/587038032) Also added: `ContMDiffMap.id_apply`, `.coe_id` and `.coe_comp` which are comparable to `ContinuousMap` API. ### Future work - ✅ Define a Monoidal structure via product manifolds, analogous to `Manifold.Topology.Category.TopCat.Monoidal` #38560 - ✅ Define the tangent functor: `M ↦ TM`, `F ↦ F.tangentMap` from `MfldCat (n+1) 𝕜` to `MfldCat n 𝕜` #38270 - Functor `FGModuleCat 𝕜 ⥤ MfldCat 𝕜 n` sending a finite-dimensional `𝕜`-vector space to the manifold modeled on itself. Left as `TODO`. - Define `FGModuleCat 𝕜` as an enriched category over `MfldCat n 𝕜`. Then _smooth functors_ can be realized as endofunctors on the enriched category. This is the main motivation for this construction. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> - [x] depends on: #41109 [The category of `C^n` manifolds on a fixed model] [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry new-contributor t-category-theory 210/0 Mathlib.lean,Mathlib/Geometry/Manifold/Category/MfldCat/Basic.lean,Mathlib/Geometry/Manifold/ContMDiffMap.lean 3 63 ['Deicyde', 'chrisflav', 'dagurtomas', 'github-actions', 'idontgetoutmuch', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'peabrainiac'] robin-carlier
assignee:robin-carlier
15-50462
15 days ago
60-10939
60 days ago
119-44431
119 days
2
44810 zixiaowang17
author:zixiaowang17
feat(Combinatorics): add abstract graphical Markov properties Introduce the global, local, and pairwise Markov properties for undirected graphs, and prove the forward implications global → local → pairwise under the semigraphoid axioms. The implementation is a single module importing `Mathlib.Combinatorics.SimpleGraph.Walk.Basic`. The current framework allows arbitrary vertex types, including infinite and uncountable types. Reference: David Montague and Bala Rajaratnam, *Graphical Markov models for infinitely many variables*, *Transactions of the American Mathematical Society* **370** (2018), no. 11, 7557–7603. [doi:10.1090/tran/7048](https://doi.org/10.1090/tran/7048). --- I want to introduce “a graphical framework in which we can analyze the Markov properties from a purely set theoretic perspective which is independent of probability theory,” as described in [Section 4](https://arxiv.org/pdf/1501.07878#page=8). Motivation: I was trying to provide a common foundation connecting graphical models in statistics, random fields, and percolation on lattices. Along the way, I found that most of the materials I read assumed finite vertex sets. However, I want to understand better what drives the equivalence of the Markov properties, so that we can talk about theorems with more flexibility. I then found this paper, which, in Section 4, takes a purely set-theoretic approach to independence and graphical Markov properties, separately from its treatment of measure-theoretic conditional independence in probabilistic models. If this PR meets the requirements and is in the right direction, I plan to finish proving the equivalence of the pairwise, local, and global Markov properties for ternary relations under suitable intersection assumptions. In the long term, I plan to connect conditional independence in probability with graphical models, including DAGs. AI assistance: OpenAI Codex assisted with the Lean definitions and proofs. I checked every line of the code. t-combinatorics LLM-generated new-contributor 231/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Markov.lean,docs/references.bib 3 4 ['github-actions', 'zixiaowang17'] nobody
14-78829
14 days ago
14-78970
14 days ago
27-51843
27 days
0
44978 ArtificialZeng
author:ArtificialZeng
feat(Analysis/Normed/Module): uniform bounds for compact injective families A continuous family of injective continuous linear maps, with finite-dimensional source over a complete nontrivially normed field, has a uniform positive lower bound on a compact parameter set. A second lemma gives a uniform operator-norm perturbation radius preserving injectivity; the perturbing family need not be continuous. These estimates support compact-family derivative perturbation arguments. The proof uses `LinearMap.exists_antilipschitzWith` and `IsCompact.induction_on`, adds no imports, and does not require the target to be finite-dimensional or complete. --- Local validation on base `4c71e7e7e5f99e938e520c4242aaf2522a594953`, Lean 4.36.0-rc1: - `lake build Mathlib.Analysis.Normed.Module.FiniteDimension` passed after refreshing the base's dependency cache. - Standard Mathlib source linters and examples covering a nonconstant compact family, empty sets, and a zero-dimensional source passed. - A separate fresh compilation and axiom queries passed; both lemmas use only `propext`, `Classical.choice`, and `Quot.sound`. - The same new proofs and a downstream derivative-estimate consumer also compiled against the pinned Lean 4.35.0 baseline. AI disclosure: OpenAI Codex generated and adapted the proofs and performed automated source review and local checks. This draft is pending human review of the mathematics and API choices. Automated checks and AI review do not replace that review. Full upstream CI is still required. t-analysis LLM-generated new-contributor 57/0 Mathlib/Analysis/Normed/Module/FiniteDimension.lean 1 3 ['ArtificialZeng', 'github-actions'] nobody
14-78613
14 days ago
14-78808
14 days ago
22-74957
22 days
0
44798 3y3y3y-huaiji
author:3y3y3y-huaiji
style(Order/Heyting): rename inf_himp to inf_himp_self Rename `inf_himp` to `inf_himp_self` to align with its dual `sup_sdiff_self` and companion lemma `himp_inf_self`, resolving an in-code TODO. Add a deprecated alias `inf_himp`. --- > [!NOTE] > **LLM Disclosure / AI Use**: This PR was prepared with the assistance of an LLM (`LLM-generated`). All proofs and statements have been formally verified by Lean 4 and checked with linters. t-order LLM-generated new-contributor 5/4 Mathlib/Order/Heyting/Basic.lean 1 4 ['3y3y3y-huaiji', 'github-actions', 'plp127', 'vihdzp'] nobody
14-73450
14 days ago
27-9094
27 days ago
27-70544
27 days
0
40368 Sanghyeok0
author:Sanghyeok0
feat: add confluence predicates for relations This PR adds a minimal relation-level API for confluence-style properties: * `Relation.IsDiamond` * `Relation.IsConfluent` * `Relation.IsChurchRosser` It also adds the basic API connecting these predicates: * `Relation.ReflTransGen.to_eqvGen` * `Relation.Join.le_eqvGen` * `Relation.IsChurchRosser.isConfluent` * `Relation.IsConfluent.isChurchRosser` * `Relation.IsChurchRosser.join_reflTransGen_eq_eqvGen` The main downstream application is the polynomial-reduction development in #41475. There, polynomial reduction is treated as an ordinary relation on `MvPolynomial`, and these predicates are used to formulate confluence and the Church--Rosser property. A more general rewriting API exists in CSLib. This PR does not attempt to upstream that API wholesale; its scope is intentionally limited to the declarations needed by the downstream polynomial application. The earlier version of this PR also introduced `Relation.StronglyConfluent` and additional equivalence packaging. Those declarations have been removed to keep this PR small and application-driven. Reference: Becker, Weispfenning, and Kredel, *Gröbner Bases: A Computational Approach to Commutative Algebra*. AI usage disclosure: I used OpenAI Codex to generate initial drafts of the definitions, theorem statements, proof scripts, and docstrings. I made the final decisions on the mathematical scope and API design, reviewed the generated code and final changes, and made a few edits to statements and docstrings. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic new-contributor tech debt LLM-generated 103/25 Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/Logic/Relation.lean 2 38 ['Hagb', 'Sanghyeok0', 'SnirBroshi', 'chenson2018', 'github-actions', 'mathlib-merge-conflicts'] nobody
14-65913
14 days ago
62-58570
62 days ago
135-28964
135 days
1
41053 hawkrobe
author:hawkrobe
refactor(RingTheory): bialgebra and Hopf algebra structures on RingCon quotients --- Since #40451, SymmetricAlgebra R M is (symRingCon R M).Quotient, which the ideal quotients of #39790 don't cover. This PR adds the congruence-level constructions, so SymmetricAlgebra's bialgebra and Hopf algebra structures can descend from TensorAlgebra as suggested in #39579, once #31898 lands. - [x] depends on: #41052 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor 154/41 Mathlib/RingTheory/Bialgebra/Quotient.lean,Mathlib/RingTheory/HopfAlgebra/Quotient.lean 2 6 ['github-actions', 'hawkrobe', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
14-60779
14 days ago
21-60002
21 days ago
21-63855
21 days
0
40967 Formalistic03
author:Formalistic03
feat(Combinatorics/SimpleGraph/Paths): some lemmas about inducing walks Could also be done via `SimpleGraph.Walk.map_induce`, but I thought that doing it directly is not much worse. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics maintainer-merge 59/0 Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Maps.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/Sym/Sym2.lean 4 34 ['Formalistic03', 'SnirBroshi', 'github-actions'] nobody
14-49560
14 days ago
35-11685
35 days ago
128-72861
128 days
0
45263 huntse
author:huntse
feat(Order/Filter/Cofinite): add `Filter.countable_sets_cofinite` My first attempt at a PR for mathlib so I apologize if I'm doing it wrong. I picked up a lemma in FLT that was marked as TODO to upstream into mathlib (there it is Filter.cofinite.sets.countable in FLT/Mathlib/Order/Filter/Cofinite.lean) and upstreamed it. - I used a name which seemed more in keeping with mathlib convention but please lmk if I should rename it. Both `countable_sets_cofinite` and `cofinite_sets_countable` seemed somewhat defensible. - I changed it to a theorem since the neighbouring code seems to all be theorems. - The actual lean proof is due to kbuzzard. I just copied it upstream and made the following tweaks: - `(ι : Type*)` was not needed as that's mentioned higher in the file in a `variable` line - I removed namespacing on Filter.cofinite as we're in that namespace here already - I didn't use AI to generate this PR or description but since it's my first PR to mathlib and I'm a bit nervous I did use AI to review the PR and give me suggestions. It suggested the name change and the removal of the redundant namespacing and type info. - FLT also has a Countable instance for ↥(cofinite).sets which I left there. Co-authored-by: kbuzzard t-order FLT new-contributor 5/0 Mathlib/Order/Filter/Cofinite.lean 1 5 ['github-actions', 'huntse', 'vihdzp'] nobody
14-38854
14 days ago
14-38990
14 days ago
15-42496
15 days
0
32742 LTolDe
author:LTolDe
feat(MeasureTheory/Constructions/Polish/Basic): add class SuslinSpace add new class `SuslinSpace` for a topological space that is an analytic set in itself This will be useful to prove the **Effros Theorem**, see [zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Effros.20Theorem/with/558712441). --- - [ ] awaiting-zulip: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Effros.20Theorem/with/558712441 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor awaiting-zulip t-measure-probability awaiting-author 4/0 Mathlib/MeasureTheory/Constructions/Polish/Basic.lean 1 10 ['ADedecker', 'LTolDe', 'dagurtomas', 'dupuisf', 'github-actions', 'jcommelin'] PatrickMassot
assignee:PatrickMassot
14-22051
14 days ago
306-84297
306 days ago
11-6345
11 days
0
30150 imbrem
author:imbrem
feat(CategoryTheory/Monoidal): to_additive for MonoidalCategory Add `AddMonoidalCategory`, the additive version of `MonoidalCategory`. To get this to work, I needed to _remove_ the `to_additive` attributes in `Discrete.lean`, since existing code relies on the `AddMonoid M → MonoidalCategory M` instance. For now, we simply implement the additive variants by hand instead. --- - [ ] awaiting-zulip: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/to_additive.20on.20MonoidalCategory/with/543107104 As discussed in #28718; I added an `AddMonoidalCategory` struct and tagged `MonoidalCategory` with `to_additive`, along with the lemmas in `Category.lean`. I think this is the right approach, since under this framework the "correct" additive version of `Discrete.lean` would be mapping an `AddMonoid` to an `AddMonoidalCategory`. Next steps would be to: - Make `monoidal_coherence` and `coherence` support `AddMonoidalCategory` - Add `CocartesianMonoidalCategory` extending `AddMonoidalCategory` <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. To indicate co-authors, include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" When merging, all the commits will be squashed into a single commit listing all co-authors. If you are moving or deleting declarations, please include these lines at the bottom of the commit message (that is, before the `---`) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory large-import new-contributor merge-conflict awaiting-zulip t-meta 444/125 Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/Tactic/ToAdditive/GuessName.lean 3 22 ['JovanGerb', 'YaelDillies', 'github-actions', 'imbrem', 'mathlib4-merge-conflict-bot'] nobody
14-21800
14 days ago
401-20202
401 days ago
0-29227
8 hours
3
42066 lyfar
author:lyfar
feat(SimpleGraph/Coloring): add list-coloring compactness This is the focused part of [Lean Pool PR #275](https://github.com/Vilin97/lean-pool/pull/275) that does not duplicate Mathlib's existing ordinary de Bruijn--Erdős API. I brought it here after Vasily Ilin [recommended moving the genuinely new list-coloring part to Mathlib](https://github.com/Vilin97/lean-pool/pull/275#issuecomment-5066933313). It adds `SimpleGraph.ListColoring`, restriction to induced subgraphs, compactness for explicitly finite color sets via `Set.Finite.rado_selection_subtype`, and the finite-induced-subgraph iff. This is a formalized API for a standard corollary of Rado's selection lemma, not new mathematics. ------- AI disclosure: I used OpenAI Codex to inspect the current Mathlib API and contribution policy, adapt the list-coloring part of Lean Pool PR #275, implement this file, and run the verification commands below. Verification: ```text lake build Mathlib.Combinatorics.SimpleGraph.Coloring.List lake exe lint-style Mathlib.Combinatorics.SimpleGraph.Coloring.List lake exe batteries/runLinter Mathlib.Combinatorics.SimpleGraph.Coloring.List lake exe mk_all --check git diff upstream/master...HEAD --check ``` t-combinatorics LLM-generated new-contributor awaiting-author 96/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/List.lean 2 11 ['SnirBroshi', 'felixpernegger', 'github-actions', 'grunweg', 'lyfar'] nobody
14-20455
14 days ago
107-81850
107 days ago
0-3745
1 hour
0
44251 gotrevor
author:gotrevor
doc(1000-yaml): add the Paris–Harrington theorem Adds an external-formalization pointer to the Paris–Harrington entry `Q7137494`, in the same form as my open #41337 (Goodstein / Kirby–Paris). I know #44115 proposes moving non-mathlib entries out of `1000.yaml` (as @wwylele noted on #41337). I'm opening this anyway so the formalization is easy to find: nobody else needs to redo Paris–Harrington, and anyone who wants to build on it or cite it can start from this one. If #44115 lands, I'm happy to close this and re-home the entry wherever external formalizations end up. ## Entry | Wikidata | Theorem | Formalization | |----------|---------|---------------| | `Q7137494` | **Paris–Harrington theorem**: Peano Arithmetic does not prove the Paris–Harrington principle (the strengthened finite Ramsey theorem with "relatively large" homogeneous sets), though it is true | [`goodstein-independence`](https://github.com/gotrevor/goodstein-independence/blob/main/src/GoodsteinPA/PH/Main.lean) | ## Notes - Headline: `GoodsteinPA.PH.pa_not_proves_ph`. For every Σ₁ formula defining the principle, PA does not prove its universal closure. Companion theorems: `exists_sigma1_ph_def` (such a formula exists) and `ph_true` (the principle holds, via infinite Ramsey). - The lower bound follows Buchholz's lecture-notes proof, after Loebl–Nešetřil. Independence then goes through a Wainer-style bound for PA-provable Π₂ sentences, built on the [`FormalizedFormalLogic/Foundation`](https://github.com/FormalizedFormalLogic/Foundation) library, the same library behind the Löb's-theorem entry `Q204884`. - Developed with AI assistance (Claude Code and Codex). ---- - [ ] awaiting-zulip: https://leanprover.zulipchat.com/#narrow/channel/345428-mathlib-reviewers/topic/Purpose.20of.201000.2Eyaml/with/633932200 (in the private reviewers stream) LLM-generated new-contributor awaiting-zulip 4/0 docs/1000.yaml 1 4 ['SnirBroshi', 'github-actions', 'gotrevor'] nobody
14-19090
14 days ago
35-60523
35 days ago
7-21283
7 days
0
44066 cadamcat
author:cadamcat
doc: note formalisation of Mihăilescu's theorem in 1000.yaml Record an external Lean formalisation of Mihăilescu's theorem (Q174955, formerly Catalan's conjecture). The comment no longer says that only the statement is formalised, since the formal-conjectures statement now links to this proof. --- - [ ] awaiting-zulip: https://leanprover.zulipchat.com/#narrow/channel/345428-mathlib-reviewers/topic/Purpose.20of.201000.2Eyaml/with/633932200 (in the private reviewers stream) - Formalisation: [cadamcat/catalan-lean4](https://github.com/cadamcat/catalan-lean4), release [v1.0.0](https://github.com/cadamcat/catalan-lean4/releases/tag/v1.0.0). The link points to `Catalan.catalans_conjecture` in `Catalan/Final/Assembly.lean`, pinned at commit `4bf1f74`. - The statement is verbatim the one in formal-conjectures, which has linked this proof since [google-deepmind/formal-conjectures#6452](https://github.com/google-deepmind/formal-conjectures/pull/6452) (merged 2026-09-22). - The project pins Lean 4.33.1 and Mathlib `0df444a360eaa60ab8c11dca51a86af692955474`. `#print axioms Catalan.catalans_conjecture` reports `[propext, Classical.choice, Quot.sound]` ([recorded output](https://github.com/cadamcat/catalan-lean4/blob/4bf1f742eb341decbdfc59ec56e1616f4d13e33b/Verification/axioms.txt)). The [supplemental evidence](https://github.com/cadamcat/catalan-lean4/blob/4bf1f742eb341decbdfc59ec56e1616f4d13e33b/Verification/Supplemental/README.md) records our runs of the nanoda kernel checker and a build of the complete Mathlib library from source on Linux, for proof commit `897079d`, whose proof sources are identical to `4bf1f74`. - The project vendors 871 unmodified modules of [ClassFieldTheory](https://github.com/n-yamaguchi-0729/ClassFieldTheory) (commit `2930b56`, Apache-2.0) for the class field theory it uses. - `scripts/yaml_check.py docs/100.yaml docs/1000.yaml docs/overview.yaml docs/undergrad.yaml` passes. AI disclosure: the linked formalisation was developed with AI coding agents (Codex and Claude Code; see its [AUTHORS.md](https://github.com/cadamcat/catalan-lean4/blob/4bf1f742eb341decbdfc59ec56e1616f4d13e33b/AUTHORS.md)). I checked the final statement, its match with formal-conjectures, and the axiom output. new-contributor awaiting-zulip LLM-generated 4/1 docs/1000.yaml 1 4 ['github-actions', 'grunweg'] nobody
14-19081
14 days ago
47-19304
47 days ago
1-1492
1 day
0
43318 wpegden
author:wpegden
doc(1000): add the strong and weak perfect graph theorems Adds external-formalization entries for Q16680059 (strong perfect graph theorem) and Q2800071 (perfect graph theorem), both formalized in Lean 4 at https://github.com/wpegden/spgt with commit-pinned permalinks. --- - [ ] awaiting-zulip: https://leanprover.zulipchat.com/#narrow/channel/345428-mathlib-reviewers/topic/Purpose.20of.201000.2Eyaml/with/633932200 (in the private reviewers stream) <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor awaiting-zulip 8/0 docs/1000.yaml 1 15 ['SnirBroshi', 'github-actions', 'grunweg', 'thorimur', 'wpegden', 'wwylele'] nobody
14-19069
14 days ago
67-79199
67 days ago
0-72433
20 hours
0
43196 danderson70-UNL
author:danderson70-UNL
doc: add Jacobi Four-Square proof to the list of 1000 theorems ---- - [ ] awaiting-zulip: https://leanprover.zulipchat.com/#narrow/channel/345428-mathlib-reviewers/topic/Purpose.20of.201000.2Eyaml/with/633932200 (in the private reviewers stream) new-contributor awaiting-zulip 3/0 docs/1000.yaml 1 6 ['SnirBroshi', 'danderson70-UNL', 'github-actions'] nobody
14-19060
14 days ago
35-60753
35 days ago
36-84023
36 days
0
41337 gotrevor
author:gotrevor
doc(1000-yaml): add Goodstein's theorem and the Kirby–Paris theorem Claims two listed-but-unclaimed entries in the 1000+ theorems scoreboard by adding external-formalization pointers (no mathlib declaration; same pattern as Löb's theorem [`Q204884`](https://github.com/leanprover-community/mathlib4/blob/master/docs/1000.yaml#L201), the flypitch continuum-hypothesis independence [`Q208416`](https://github.com/leanprover-community/mathlib4/blob/master/docs/1000.yaml#L216), and Arrow's impossibility theorem [`Q33481`](https://github.com/leanprover-community/mathlib4/blob/master/docs/1000.yaml#L30)). ## Entries | Wikidata | Theorem | Formalization | |----------|---------|---------------| | `Q1149185` | **Goodstein's theorem** — every Goodstein sequence terminates | [`lean-gallery`](https://github.com/gotrevor/lean-gallery/blob/main/LeanGallery/Logic/Goodstein/Statement.lean) (ordinal-descent proof) | | `Q1149185X` | **Kirby–Paris theorem** — PA does not prove that every Goodstein sequence terminates | [`goodstein-independence`](https://github.com/gotrevor/goodstein-independence/blob/main/src/GoodsteinPA/Statement.lean) | ---- - [ ] awaiting-zulip: https://leanprover.zulipchat.com/#narrow/channel/345428-mathlib-reviewers/topic/Purpose.20of.201000.2Eyaml/with/633932200 (in the private reviewers stream) ## Notes - **`Q1149185X` (Kirby–Paris, 1982)** is built on the [`FormalizedFormalLogic/Foundation`](https://github.com/FormalizedFormalLogic/Foundation) library (the same library that backs the existing Löb's-theorem entry [`Q204884`](https://github.com/leanprover-community/mathlib4/blob/master/docs/1000.yaml#L201)), via the Wainer growth-rate route (`Goodstein` outgrows every PA-provably-total function). The headline `peano_not_proves_goodstein` is sorry-free and `#print axioms`-clean — it rests on exactly `[propext, Classical.choice, Quot.sound]`. - **`Q1149185`** is Goodstein's theorem proper (the termination statement, provable in ZFC / Lean); mathlib does not currently contain it. - Both formalizations are by Trevor Morris, developed with AI assistance: Claude Code (Fable 5, Opus), Codex, and Harmonic's Aristotle. 🤖 Generated with [Claude Code](https://claude.com/claude-code) new-contributor LLM-generated awaiting-zulip 6/0 docs/1000.yaml 1 7 ['SnirBroshi', 'felixpernegger', 'github-actions', 'gotrevor', 'wwylele'] nobody
14-19027
14 days ago
127-54576
127 days ago
0-81461
22 hours
0
45136 raja-19
author:raja-19
chore(RingTheory/MvPolynomial/Homogeneous): add lemmas These lemmas are used in the proof that the Motzkin polynomial is not expressible as a polynomial sum of squares: #45138. t-ring-theory new-contributor 52/0 Mathlib/RingTheory/MvPolynomial/Homogeneous.lean 1 9 ['github-actions', 'raja-19', 'vihdzp', 'wwylele'] nobody
14-15328
14 days ago
14-15512
14 days ago
18-79589
18 days
1
45137 raja-19
author:raja-19
chore(Algebra/Polynomial/BigOperators): add `natDegree_sum_pow_eq_of_even` This lemma is used in the proof that the Motzkin polynomial is not expressible as a polynomial sum of squares: #45138 . t-algebra new-contributor
label:t-algebra$
125/0 Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/Order/WithBot.lean 3 20 ['SnirBroshi', 'github-actions', 'raja-19', 'wwylele'] nobody
14-13313
14 days ago
14-13543
14 days ago
18-51637
18 days
1
42775 hawkrobe
author:hawkrobe
feat(RingTheory/HopfAlgebra): construct Hopf algebras from primitive generators Upgrade a bialgebra generated by primitive elements to a Hopf algebra (`HopfAlgebra.ofPrimitives`), given an anti-algebra hom `S : A →ₐ[R] Aᵐᵒᵖ` negating each generator, and show that such an `S` is the antipode (`HopfAlgebra.eq_antipodeAlgHomOp_of_primitives`). Both build on `HopfAlgebra.ofAntipodeOfAdjoin` from #41828, which superseded the generators construction this PR originally carried. Split out of #39841. Claude Code was used to prepare this revision. t-ring-theory new-contributor 31/4 Mathlib/RingTheory/HopfAlgebra/Primitive.lean 1 3 ['github-actions'] alreadydone
assignee:alreadydone
13-77432
13 days ago
13-77483
13 days ago
84-41278
84 days
1
42343 brianrabern
author:brianrabern
feat(Combinatorics/SimpleGraph): extend a coloring to one more vertex Add `Colorable.of_induce_compl_singleton`: if deleting a vertex `v` leaves an `n`-colourable graph and `deg(v) < n`, then `G` itself is `n`-colourable. This is a local colouring-extension / induction step (colour `G - v`, then assign `v` a free colour). It is useful for inductive arguments such as Brooks' theorem. The global greedy bound `χ ≤ Δ + 1` is developed separately in #38357. AI assistance: LLM was used to smooth it out and put things in the expected style --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor LLM-generated 35/0 Mathlib/Combinatorics/SimpleGraph/Coloring/Vertex.lean 1 11 ['Parcly-Taxel', 'SnirBroshi', 'bocowgill', 'brianrabern', 'github-actions'] nobody
13-75283
13 days ago
13-75344
13 days ago
85-77981
85 days
0
42365 hawkrobe
author:hawkrobe
feat(LinearAlgebra/TensorProduct): tensor product of graded modules is graded Given decompositions `ℳ` of `M` and `𝒩` of `N` and a degree function `f : ι → κ → μ`, `TensorProduct.gradeBy f ℳ 𝒩 m` is the submodule of `M ⊗[R] N` spanned by the pure tensors of degree `m`, and `TensorProduct.grade` is the total-degree case `f = (· + ·)`. I modelled it on `AddMonoidAlgebra.gradeBy`. this is a first step toward the TODO in `LinearAlgebra/TensorProduct/Graded/Internal.lean` (the tensor product of graded algebras is graded, #42879). - [ ] depends on: #45326 Claude Code was used to prepare this PR. t-algebra new-contributor blocked-by-other-PR
label:t-algebra$
221/1 Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/LinearAlgebra/TensorProduct/Decomposition.lean 3 3 ['github-actions', 'mathlib-dependent-issues'] ocfnash
assignee:ocfnash
13-68094
13 days ago
13-73654
13 days ago
84-62868
84 days
2
45256 viliml
author:viliml
feat(CategoryTheory/Monad/EquivMon): Upgrade equivalence to isomorphism As a bonus, this seems to get automatically proven even without the need to violate defeq transparency. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> tech debt t-category-theory new-contributor will-close-soon awaiting-author merge-conflict 12/13 Mathlib/CategoryTheory/Monad/EquivMon.lean 1 5 ['github-actions', 'joelriou', 'mathlib-merge-conflicts'] nobody
13-64088
13 days ago
16-6065
16 days ago
0-1654
27 minutes
0
45138 raja-19
author:raja-19
feat(Counterexamples/Motzkin): add `motzkin_ne_sos` This PR proves that the Motzkin polynomial is not expressible as a polynomial sum of squares, completing the `TODO` created in #28482. - [ ] depends on: #45136 - [ ] depends on: #45137 t-ring-theory new-contributor blocked-by-other-PR 396/10 Counterexamples/Motzkin.lean,Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/Order/WithBot.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean 5 9 ['acmepjz', 'github-actions', 'mathlib-dependent-issues', 'raja-19', 'vihdzp'] nobody
13-63930
13 days ago
unknown
unknown
0
41729 vaca22
author:vaca22
feat(RingTheory/DedekindDomain): add divisor group core Add the divisor group of a Dedekind domain as a formal-sum model, together with the additive equivalence to the multiplicative group of nonzero fractional ideals. **Relation to what Mathlib already has.** As pointed out on Zulip, Mathlib already knows that fractional ideals factor: `FractionalIdeal.count` gives the exponent of a height-one prime, and `ClassGroup` is built from fractional ideals directly. This PR does not re-prove any of that — it reuses `count` and `finite_factors` verbatim. What it adds is the *additive* packaging: * `IsDedekindDomain.Divisor R := HeightOneSpectrum R →₀ ℤ`, so a divisor is a finitely supported integer-valued function and one can write `D₁ + D₂`, `-D`, `D v`, and use the whole `Finsupp` API (`support`, `sum`, induction on the support); * `FractionalIdeal.divisorEquiv`, an `AddEquiv` from `(FractionalIdeal R⁰ K)ˣ` to `Divisor R`, turning ideal multiplication into divisor addition. The multiplicative view is the right one for the class group; the additive one is what divisor-theoretic arguments are written in, where one constantly forms `D - D'`, compares coefficients prime by prime, and does induction over `D.support`. Having both, related by a single `AddEquiv`, means neither side has to be re-derived. **Downstream use.** This is the bottom layer of a formalization of Riemann–Roch for algebraic function fields (announced in `#AI authored projects > Riemann–Roch for function fields`): `L(D)`, `deg D`, and the statement `ℓ(D) = deg D + 1 - g + ℓ(W - D)` are all phrased in terms of additive divisors, and the degree map is defined by summing coefficients over `D.support`. Happy to reshape the API — in particular whether `Divisor` should be an `abbrev` or a structure, and whether this belongs next to `Factorization` rather than in its own file. AI usage: LLM-generated, disclosed per the AI policy. t-ring-theory new-contributor LLM-generated 100/0 Mathlib.lean,Mathlib/RingTheory/DedekindDomain/Divisor.lean 2 4 ['github-actions', 'grunweg', 'vaca22'] alreadydone
assignee:alreadydone
13-50457
13 days ago
115-60428
115 days ago
117-57070
117 days
0
42912 justin-palumbo
author:justin-palumbo
feat(Topology/GDelta): a completely metrizable subspace of a T6 space is Gδ Adds TopologicalSpace.IsCompletelyMetrizableSpace.isGδ: a completely metrizable subspace of a T6 space is Gδ This is one direction of a foundational fact in descriptive set theory --- the Polish subspaces of a Polish space are exactly the Gδ subsets. The proof here is modeled on the exposition in Anush Tserunyan's descriptive set theory notes https://www.math.mcgill.ca/atserunyan/Teaching_notes/dst_lectures.pdf, with one adjustment; to make the formalization easier and avoid having multiple distance metrics instantiated at the same time, instead of directly defining open `U_n` with `s = ⋂ n, U` define them such that `s = closure s ∩ ⋂ n, U n` and then appeal to the fact closed sets are Gδ in a perfectly normal space. --- - [x] depends on: #42896 [which fixes buggy naming present in Topology/Metrizable/CompletelyMetrizable] This can be viewed as a companion to #42693, which - under the stronger assumption of the ambient space being Polish - establishes the other direction --- a Gδ subspace of a Polish space is itself Polish. Together, these give Alexandrov's theorem, characterizing the Polish subspaces of an ambient Polish space as exactly the Gδ ones, and (via `Metric.PiNatEmbed.exists_embedding_to_hilbert_cube`) Polish spaces as exactly the Gδ subsets of the Hilbert cube. If and when both these PRs are committed, I anticipate adding these consequences to Topology/MetricSpace/Polish.lean LLM usage: I wrote the initial version myself, while using Google's free "AI mode" to help me find relevant lemma names in the codebase, and afterward used helped Claude Opus to review, which led to simplifying some of the arguments. I take full responsibility for the code here t-topology new-contributor 91/0 Mathlib.lean,Mathlib/Topology/GDelta/CompletelyMetrizable.lean 2 8 ['github-actions', 'justin-palumbo', 'mathlib-dependent-issues', 'plp127'] felixpernegger
assignee:felixpernegger
13-44094
13 days ago
81-13471
81 days ago
82-5735
82 days
0
43216 JadAbouHawili
author:JadAbouHawili
feat(Combinatorics/SimpleGraph/Clique): independence number is zero iff the graph has no vertices --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 62/11 Mathlib/Combinatorics/SimpleGraph/Clique.lean 1 66 ['JadAbouHawili', 'SnirBroshi', 'github-actions', 'mathlib-merge-conflicts'] SnirBroshi
assignee:SnirBroshi
13-22575
13 days ago
15-31252
15 days ago
60-56659
60 days
0
42494 JadAbouHawili
author:JadAbouHawili
feat(Combinatorics/SimpleGraph/Connectivity): add edge reachability and connectivity numbers Define edge reachability and connectivity numbers with some basic API Partially solves #34961 --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 81/2 Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean,Mathlib/Order/CompleteLattice/Lemmas.lean 2 169 ['JadAbouHawili', 'SnirBroshi', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] SnirBroshi
assignee:SnirBroshi
13-22568
13 days ago
15-31080
15 days ago
65-35530
65 days
0
44885 3y3y3y-huaiji
author:3y3y3y-huaiji
feat(Combinatorics/Quiver/Path): monotonicity of valuations and cycle obstruction Define monotonicity of vertex valuations along paths in a quiver and deduce that strict valuations rule out non-trivial cycles. As a consequence, `Reachable` is a partial order when such a valuation exists. --- > [!NOTE] > **LLM Disclosure / AI Use**: This PR was prepared with the assistance of an LLM > (`LLM-generated`). All proofs and statements have been formally verified by Lean 4 > and checked with linters. t-combinatorics LLM-generated new-contributor 65/2 Mathlib/Combinatorics/Quiver/Path.lean 1 5 ['3y3y3y-huaiji', 'github-actions', 'leanprover-radar'] nobody
13-20615
13 days ago
14-35107
14 days ago
14-35034
14 days
0
38973 hyeoniuwu
author:hyeoniuwu
feat(Computability): define (single oracle) turing reducibility, relate it to RecursiveIn and prove basic jump theorems feat(Computability): define (single oracle) Turing reducibility, relate it to RecursiveIn and prove basic jump theorems Defines Turing reducibility and the jump operator, with total functions (from naturals to naturals) as oracles. Defines codes for basic primitive recursive functions, and the evaluation function. Proves basic reducibility arguments, such as `K0_eq_K` asserting that K0 of an oracle is Turing equivalent to K of an oracle. Our reducibility is related back to `RecursiveIn` as is currently defined in Mathlib via the theorem `SingleReducibleIff`. This is part of a larger repository where more advanced theorems such as KP54 have been proven. (https://github.com/hyeoniuwu/CiL) Relevant zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Oracle.20Computability.20Theory Co-authored-by: Tanner Duve --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor awaiting-author increases-technical-debt t-computability 5279/0 Mathlib.lean,Mathlib/Computability/SingleOracle/Basic.lean,Mathlib/Computability/SingleOracle/Constructions/Basic.lean,Mathlib/Computability/SingleOracle/Constructions/CovRec.lean,Mathlib/Computability/SingleOracle/Constructions/Dovetail.lean,Mathlib/Computability/SingleOracle/Constructions/Eval.lean,Mathlib/Computability/SingleOracle/Constructions/EvalAux.lean,Mathlib/Computability/SingleOracle/Constructions/List.lean,Mathlib/Computability/SingleOracle/Constructions/Meta.lean,Mathlib/Computability/SingleOracle/Constructions/Option.lean,Mathlib/Computability/SingleOracle/Constructions/Primitive.lean,Mathlib/Computability/SingleOracle/Encoding.lean,Mathlib/Computability/SingleOracle/Jump.lean,Mathlib/Computability/SingleOracle/Oracle.lean,Mathlib/Computability/SingleOracle/Order.lean,Mathlib/Computability/SingleOracle/RecursiveIn.lean,Mathlib/Computability/SingleOracle/Reducibilities.lean,Mathlib/Data/Option/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Attr/Register.lean,Mathlib/Tactic/Computability/Basic.lean 21 5 ['github-actions', 'grunweg', 'hyeoniuwu'] nobody
12-84596
12 days ago
unknown
unknown
0
42831 ray-shang
author:ray-shang
feat(CategoryTheory/Preadditive): category ring of preadditive category Given a preadditive category `C`, its category ring `CategoryRing C` is the non-unital ring whose underlying additive group is the direct sum of all of its morphism groups `X ⟶ Y`, and whose multiplication is induced by composition: the product of a morphism `f : X ⟶ Y` with a morphism `g : Z ⟶ W` is `f ≫ g` when `Y = Z`, and `0` otherwise. When `C` is `R`-linear this ring is a (non-unital) `R`-algebra, and when `C` has finitely many objects it is unital, with unit `∑ X, 𝟙 X`. This file formalizes `CategoryRing C` and its structure and universal property when `C` is preadditive, `R`-linear, finite type, and both finite type and `R`-linear. For example, when `C` is merely preadditive, the universal property of `CategoryRing C` is: non-unital ring homomorphisms out of `CategoryRing C` correspond to `LiftData`, the data of a compatible family of additive maps `(X ⟶ Y) →+ A` for a `NonUnitalNonAssocSemiring A`. AI Usage: Gemini 3.1 Pro Extended Thinking is in use to generate proof terms for the custom induction principle to unwrap the nested direct sums of the category algebra. Human oversight and work determines the most efficient proof term. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory new-contributor LLM-generated awaiting-author 706/0 Mathlib.lean,Mathlib/CategoryTheory/Preadditive/CategoryRing.lean 2 14 ['b-reinke', 'github-actions', 'joelriou', 'ray-shang', 'robin-carlier'] joelriou
assignee:joelriou
12-82236
12 days ago
12-82261
12 days ago
39-21651
39 days
0
41241 intgrah
author:intgrah
feat(Order/Category): cartesian closed and distributive structure on PartOrd and Preord Give `PartOrd` and `Preord` `CartesianMonoidalCategory`, `MonoidalClosed`, and `IsCartesianDistributive` instances. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order maintainer-merge 311/0 Mathlib.lean,Mathlib/Order/Category/PartOrd/CartesianClosed.lean,Mathlib/Order/Category/PartOrd/Colimits.lean,Mathlib/Order/Category/PartOrd/Reflective.lean,Mathlib/Order/Category/Preord/CartesianClosed.lean,Mathlib/Order/Category/Preord/Colimits.lean,Mathlib/Order/Category/Preord/Reflective.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean 8 27 ['Vierkantor', 'YaelDillies', 'github-actions', 'intgrah', 'thomaskwaring'] nobody
12-81973
12 days ago
13-83851
13 days ago
126-62066
126 days
0
42357 SynBurz
author:SynBurz
feat: the Krull dimension of the product of finitely many rings is equal to the maximum of Krull dimensions of the factors Add `ringKrullDim_pi_eq_iSup_ringKrullDim`. Also add useful defs: `LTSeries.sigmaEquiv`, `PrimeSpectrum.sigmaToPiOrderIso`, and lemmas `PrimeSpectrum.sigmaToPiOrderIso_apply`, Pi.not_comap_evalRingHom_le_comap_of_neq`, `LTSeries.sigma_fst_eq_fst`. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
93/0 Mathlib/Order/RelSeries.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean 3 7 ['SynBurz', 'github-actions', 'mathlib-merge-conflicts', 'tb65536', 'wwylele'] nobody
12-79827
12 days ago
32-58295
32 days ago
61-64249
61 days
0
45343 thinkthoughts
author:thinkthoughts
feat(Data/Nat/Totient): totient of a pairwise coprime product My PR adds a theorem for Euler's totient function over a product of natural numbers, where any two distinct factors have a greatest common divisor of 1. It also adds a theorem for products of distinct primes, where each prime contributes its value minus one. The prime-specific result follows from the more general totient-product theorem. Both results provide reusable statements in Mathlib using existing properties of Euler's totient function. --- **Validation:** The revised PR passed all 12 applicable Mathlib CI checks, including build and lint checks. Two additional checks were skipped. No new imports or axioms introduced. **Research context:** This comes from my work on the General Divisor Theorem and Lean prime-gap formalization; specifically consdering Euler's totient function and products of distinct primes. General Divisor Theorem: https://github.com/thinkthoughts/general-divisor-theorem Lean prime-gap formalization: https://github.com/thinkthoughts/lean-bgp212 Related (my initial) mathematical work: https://translatepi.ai/main.pdf **AI assistance:** I used Claude to develop the Lean proofs, prepare the patch, and perform local compilation and lint checks. I used ChatGPT to review the mathematical specification and help identify a reusable Mathlib contribution. ChatGPT and DeepSeek also assisted with reviewing the sustainably optimized proof, and explaining its mathematical structure. I read Cantor's diagonal argument in 2003 and have since directed my own work, and reviewed the results; so I'm responsible for the submitted work. And thanks for your help! t-data new-contributor LLM-generated 18/0 Mathlib/Data/Nat/Totient.lean 1 6 ['SnirBroshi', 'github-actions', 'thinkthoughts'] nobody
12-71319
12 days ago
12-71319
12 days ago
13-6814
13 days
0
43539 abhijitaj1997
author:abhijitaj1997
feat(CategoryTheory/Monoidal/Cartesian/Endomorphism): add ring and semiring structures Given two monoidal object in a nice enough category, this show that the monoidal morphisms between then forms an additive group. This additive group is part of a larger semiring structure. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-category-theory 133/0 Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Endomorphism.lean 2 41 ['Multramate', 'abhijitaj1997', 'alreadydone', 'github-actions', 'joelriou', 'robin-carlier'] joelriou
assignee:joelriou
12-68285
12 days ago
12-68285
12 days ago
61-22650
61 days
0
42189 cameronfreer
author:cameronfreer
feat(ModelTheory/Basic): add characterization of languages with countably many symbols Add the instance `Countable.countable_relations`, the counterpart of `Countable.countable_functions`, and relate `Countable L.Symbols` and `L.card ≤ ℵ₀` to the separate countability of function and relation symbols, which is how model-theoretic statements usually assume a countable language: * `countable_symbols_iff : Countable L.Symbols ↔ Countable (Σ l, L.Functions l) ∧ Countable (Σ l, L.Relations l)` * `card_le_aleph0_iff_countable : L.card ≤ ℵ₀ ↔ Countable (Σ l, L.Functions l) ∧ Countable (Σ l, L.Relations l)` Also add a general instance `Countable.countable_sum` for `L.sum L'`, move the `constantsOn` instance from `Encoding.lean` to `LanguageMap.lean` as `Countable.countable_constantsOn`, and replace the `withConstants` instance in `Encoding.lean` with `Countable.countable_withConstants` in `LanguageMap.lean`, derived from the sum instance. --- For example, [`Descriptive/Polish.lean#L46`](https://github.com/cameronfreer/infinitary-logic/blob/1a478e80794080a536931c029281bb65266b3171/InfinitaryLogic/Descriptive/Polish.lean#L46) in cameronfreer/infinitary-logic assumes only that the relation symbols are countable. Thanks to @NoneMore for suggesting the `Encoding.lean` cleanup. 🤖 These proofs were written with the assistance of Claude Opus 5 high and reviewed by GPT Sol 5.6 xhigh. t-logic new-contributor LLM-generated 33/12 Mathlib/ModelTheory/Basic.lean,Mathlib/ModelTheory/Encoding.lean,Mathlib/ModelTheory/LanguageMap.lean 3 5 ['NoneMore', 'cameronfreer', 'github-actions'] nobody
12-67561
12 days ago
103-25629
103 days ago
103-25556
103 days
0
42758 cameronfreer
author:cameronfreer
feat(ModelTheory): add syntax and semantics for infinitary logic Add syntax and semantics for the infinitary logics L∞ω and Lω₁ω. In `BoundedFormulaInf L ι α n`, the `iSup`/`iInf` constructors are indexed by a single type `ι`, which is used for every infinitary conjunction and disjunction in a formula. The specialization ```lean abbrev BoundedFormulaω (α : Type u') (n : ℕ) := L.BoundedFormulaInf ℕ α n ``` lives in the same universe as the finitary `BoundedFormula`, as suggested by @plp127 in [#mathlib4 > ModelTheory: API for infinitary formulas of L_{∞,ω} @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/ModelTheory.3A.20API.20for.20infinitary.20formulas.20of.20L_.7B.E2.88.9E.2C.CF.89.7D/near/613390601). Also add derived connectives with `alls`/`exs`, `Realize` with `simp` lemmas for each constructor and derived connective, and the embedding `BoundedFormula.toInf` with `realize_toInf`. --- I developed this with extensive assistance from several Claude and GPT models along with [lean4-skills](https://github.com/cameronfreer/lean4-skills) and [lean-lsp-mcp](https://github.com/oOo0oOo/lean-lsp-mcp) as part of the ongoing project [cameronfreer/infinitary-logic](https://github.com/cameronfreer/infinitary-logic/). t-logic LLM-generated new-contributor 446/0 Mathlib.lean,Mathlib/ModelTheory/Infinitary/Semantics.lean,Mathlib/ModelTheory/Infinitary/Syntax.lean,MathlibTest/InfinitarySyntax.lean 4 4 ['cameronfreer', 'github-actions'] nobody
12-67551
12 days ago
85-68633
85 days ago
87-47522
87 days
0
33712 wangying11123
author:wangying11123
feat(Geometry/Euclidean/Angle/Unoriented/Projection): Add sameray_orthogonalProjection_vsub_of_angle_lt Add sameray_orthogonalProjection_vsub_of_angle_lt `sameray_orthogonalProjection_vsub_of_angle_lt` When an angle is acute, the vector to the orthogonal projection lies in the same ray as the given direction vector. new-contributor t-euclidean-geometry awaiting-author merge-conflict 20/0 Mathlib/Geometry/Euclidean/Angle/Unoriented/Projection.lean 1 5 ['JovanGerb', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts'] JovanGerb
assignee:JovanGerb
12-57299
12 days ago
264-84457
264 days ago
39-3093
39 days
0
41882 theebayuser
author:theebayuser
feat(Data/List): decidability of HasPeriod and periods of repeated lists Hello, this PR extends `Mathlib/Data/List/PeriodicityLemma.lean` with: * a `Decidable (List.HasPeriod w p)` instance (it is a prefix test), and * two directions that relate periods to repetition: * `hasPeriod_flatten_replicate` — `(replicate n l).flatten` has period `l.length` * `eq_flatten_replicate_of_hasPeriod` — a word with period `p` and length `r * p` is the `r`-fold repetition of its length-`p` prefix. This characterizes `r`-th powers of words by a period plus a length constraint, which a future follow-up PR that I plan to work on will use. AI disclosure: This code was mostly generated by Claude Fable 5 and Opus 4.8 as part of my larger project on combinatorics on words, which I then reviewed and revised to contribute to mathlib. t-data LLM-generated new-contributor 56/1 Mathlib/Data/List/PeriodicityLemma.lean 1 8 ['SnirBroshi', 'github-actions', 'theebayuser'] TwoFX
assignee:TwoFX
12-50441
12 days ago
30-34898
30 days ago
114-24520
114 days
0
42353 sankalpsthakur
author:sankalpsthakur
feat(RingTheory): add nilpotence lemmas for zero sums In a semiring, adds: - `sq_eq_sq_of_add_eq_zero`: if `x + y = 0` then `x^2 = y^2` - `IsNilpotent.of_add_eq_zero_left`: if `x + y = 0` and `y` is nilpotent, so is `x` - `isNilpotent_iff_of_add_eq_zero`: under `x + y = 0`, `x` is nilpotent iff `y` is Motivated by #10539. --- ### Validation Built locally: `lake build Mathlib.RingTheory.Nilpotent.Basic` succeeds. ### AI/LLM disclosure AI coding tools were used to help draft this change and PR description. I reviewed the complete change, understand the reasoning, and verified the build locally before submitting. t-ring-theory new-contributor LLM-generated 49/0 Mathlib/RingTheory/Nilpotent/Basic.lean 1 29 ['github-actions', 'sankalpsthakur', 'tb65536'] mattrobball
assignee:mattrobball
12-48362
12 days ago
74-12097
74 days ago
80-5224
80 days
0
40280 mrdouglasny
author:mrdouglasny
feat(Analysis/Calculus/ParametricIntegral): one-sided differentiation under the integral Adds `hasDerivWithinAt_Ici_integral_of_dominated_loc_of_deriv_le`, the within-`Ici x₀` (right) analogue of `hasDerivAt_integral_of_dominated_loc_of_deriv_le`: differentiation under the integral sign where the derivative bound is required only on a **right**-neighborhood `s ∈ 𝓝[≥] x₀`, concluding `HasDerivWithinAt (fun x ↦ ∫ a, F x a ∂μ) (∫ a, F' x₀ a ∂μ) (Ici x₀) x₀`. ### Motivation The existing two-sided theorem needs the domination on a full neighborhood of `x₀`. That fails for parametric integrals dominated only on one side — e.g. Gibbs / partition-function families `g ↦ ∫ A e ^ (-g • V)` where `V` is bounded below but not above, so the weight is integrable only for `g ≥ 0` (the Dyson-instability situation in constructive QFT). One still wants the one-sided derivative at the boundary. ### Proof Rather than re-running the dominated-convergence argument, `F` is extended across `x₀` by its affine first-order part below `x₀`, `G x a = if x₀ ≤ x then F x a else F x₀ a + (x - x₀) • F' x₀ a`, which is two-sided dominated (the affine part has constant derivative `F' x₀ a`, bounded by `bound a`). The existing two-sided theorem applies to `G`, and since `G = F` on `Ici x₀`, the conclusion restricts to the desired `HasDerivWithinAt`. I'm happy to adjust naming, or to generalize to an arbitrary set `t` (`𝓝[t] x₀`) if reviewers prefer — that would need the direct dominated-convergence proof rather than the extension trick. t-analysis new-contributor awaiting-author merge-conflict 105/0 Mathlib/Analysis/Calculus/ParametricIntegral.lean 1 4 ['ADedecker', 'github-actions', 'mathlib-merge-conflicts'] ADedecker
assignee:ADedecker
12-46684
12 days ago
139-82518
139 days ago
16-53863
16 days
0
42100 DrDMT-VR
author:DrDMT-VR
feat(Analysis/CStarAlgebra): spectral projections from clopen spectral sets For `a` in a non-unital C*-algebra and `U : Set ℝ` clopen in the quasispectrum of `a` with `0 ∉ U`, the indicator `U.indicator 1` is continuous on the quasispectrum and vanishes at `0`, so `cfcₙ` applies. The resulting element `CStarAlgebra.spectralProjection a U := cfcₙ (U.indicator 1) a` is a genuine projection: selfadjoint and idempotent. It is nonzero exactly when `U` meets the quasispectrum, and it lies in any closed two-sided ideal containing `a`. A corollary covers the finite-quasispectrum case: a nonzero selfadjoint element with finite quasispectrum admits a nonzero spectral projection onto a nonzero spectral value. The indicator of a clopen spectral set is the standard way to extract projections from a disconnected spectrum. Combined with the `cfcₙ`-into-ideals result this produces projections inside ideals, which is the basic move in the projection theory of non-unital C*-algebras. ---- Parts of this contribution were developed with AI assistance (Claude). ------ - [x] depends on: #42095 (uses `TwoSidedIdeal.cfcₙ_mem_of_isClosed`) t-analysis new-contributor awaiting-author blocked-by-other-PR LLM-generated 238/0 Mathlib.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Ideal.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/SpectralProjection.lean 3 10 ['DrDMT-VR', 'felixpernegger', 'github-actions', 'grunweg', 'mathlib-dependent-issues'] nobody
12-32134
12 days ago
unknown
unknown
0
45404 davidiach
author:davidiach
feat(InformationTheory/KullbackLeibler): add restriction lemmas Restricting two finite measures to the same set decreases their KL divergence. This PR adds the integral identity that explains why, and the inequality that follows from it. Neither lemma requires the set to be measurable. Both concern restrictions without normalization and build on the existing `klFun` API. Verified against current mathlib on Lean 4.36.0-rc2, including builds, linters, and axiom checks. AI assistance: Astra Pro identified the contribution; Codex extracted and refined the proofs, checked for duplicates, and ran verification. t-measure-probability LLM-generated new-contributor 32/0 Mathlib/InformationTheory/KullbackLeibler/Basic.lean 1 3 ['davidiach', 'github-actions'] nobody
12-21725
12 days ago
12-21792
12 days ago
12-21719
12 days
0
41934 NickKobs
author:NickKobs
feat(Order/Nucleus): a nucleus on a Boolean algebra is closed Adds `Mathlib/Order/Nucleus/Boolean.lean` — the Boolean specialization of the nucleus API: ```lean theorem Nucleus.apply_eq_sup_apply_bot [BooleanAlgebra X] (n : Nucleus X) (a : X) : n a = a ⊔ n ⊥ theorem Nucleus.isClosed_of_booleanAlgebra [BooleanAlgebra X] (n : Nucleus X) : ⇑n = fun a => a ⊔ n ⊥ theorem Nucleus.eq_of_apply_bot_eq [BooleanAlgebra X] {m n : Nucleus X} (h : m ⊥ = n ⊥) : m = n ``` **Why.** `Mathlib.Order.Nucleus` provides the frame / Heyting-algebra structure of `Nucleus X`, the closure-operator view (`toClosureOperator`), and the pointwise `le_apply` / `idempotent` / `map_inf` API, but no Boolean specialization. On a Boolean algebra every nucleus is *closed* — completely determined by its value at `⊥` — which is the pointwise algebraic core of the classical fact that the assembly `N(L)` is Boolean iff `L` is (Beazer–Macnab; Simmons; Johnstone, *Stone Spaces*, II.2). It is the natural companion to the existing frame structure and a common building block in point-free topology. **Proof.** `n a = n a ⊓ (a ⊔ aᶜ) = (n a ⊓ a) ⊔ (n a ⊓ aᶜ)`; the left join-and is `a` (inflationarity), the right is `≤ n a ⊓ n aᶜ = n (a ⊓ aᶜ) = n ⊥` (inflationarity of `aᶜ` + `map_inf`). The reverse inequality is inflationarity plus monotonicity applied to `⊥ ≤ a`. No completeness is needed — the statement is pointwise, so `[BooleanAlgebra X]` (not a complete Boolean algebra) suffices. **References.** * R. Beazer, D. S. Macnab, *Modal extensions of Heyting algebras*. * H. Simmons, *A framework for topology*, Logic Colloquium '77. * P. T. Johnstone, *Stone Spaces*, CUP (1982), II.2. **Provenance.** The theorem was first mechanized (Mathlib-free, over a finite Boolean frame) in the BETTI/Araksha refusal-algebra work; this PR is the generalization to an arbitrary `BooleanAlgebra` against Mathlib's own `Nucleus` API. The result is classical open mathematics, cited above. An earlier revision of the file was compiled clean against master `c81c5cbb` (Lean `v4.33.0-rc1`); this revision adapts the header to the module system (`module` / `public import` / `@[expose] public section`). t-order new-contributor LLM-generated awaiting-author 71/0 Mathlib.lean,Mathlib/Order/Nucleus/Boolean.lean 2 5 ['felixpernegger', 'github-actions'] YaelDillies
assignee:YaelDillies
12-18322
12 days ago
12-18322
12 days ago
100-45261
100 days
0
34005 MSpill
author:MSpill
feat: inverse function theorem for manifolds (concrete version) Proves the inverse function theorem for manifolds: given manifolds $M, N$ and a $C^n$ map $f : M \to N$ whose differential is a linear isomorphism at an interior point $p \in M$, then $f$ is a local diffeomorphism at $p$. The proof proceeds in 3 main steps: 1. Show that the extended chart at an interior point can be restricted to an open set on which it is a partial diffeomorphism, viewing the model vector space as a manifold modelled on itself trivially 2. Use the inverse function theorem (applied to $f$ written in coordinates) to obtain a partial diffeomorphism between model vector spaces 3. Compose with chart diffeomorphisms to obtain a partial diffeomorphism between the manifolds. ------ - [x] depends on: #44036 - [x] depends on: #44041 - [x] depends on: #44840 - [ ] depends on: #44841 - [ ] depends on: #44843 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry new-contributor blocked-by-other-PR 423/12 Mathlib.lean,Mathlib/Analysis/Calculus/ContDiff/HasStrictFDerivAt.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Calculus/InverseFunctionTheorem/ContDiff.lean,Mathlib/Geometry/Manifold/InverseFunctionTheorem.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean,Mathlib/Geometry/Manifold/MFDeriv/Basic.lean 7 66 ['MSpill', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib-splicebot', 'pepamontero', 'sgouezel'] grunweg
assignee:grunweg
12-17757
12 days ago
27-84982
27 days ago
0-99
1 minute
1
38534 AlexeyMilovanov
author:AlexeyMilovanov
refactor(Computability): make `PFun` a one-field structure This PR refactors `PFun` from `def PFun α β := α → Part β` to a structure with a `FunLike` instance. [Discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Fix.20for.20fun_prop.20on.20PFun.20.28context.3A.20Computability.20Theory.29) ### Main changes - Redefine `PFun` as a structure with one field, `toFun : α → Part β`. - Add the `FunLike (α →. β) α (Part β)` instance and configure `simps` projections. - Add the projection and application simp lemmas required by the structure wrapper. - Add `fun x ↦. ...` notation for partial-function literals. - Adapt downstream equality proofs to use `PFun.ext` or `DFunLike.ext` where `funext` no longer applies directly. - Remove 33 local `backward.isDefEq.respectTransparency false` workarounds that are no longer needed after the refactor. ### Downstream impact The refactor mainly impacts Computability Theory and Category Theory (`Category/PartialFun.lean`). Since `PFun` is no longer definitionally equal to `α → Part β`, tactics such as `rfl`, `simp`, and `funext` can no longer always see through the old raw-function representation. ### Note on LLM usage The core `PFun` change caused numerous downstream errors. I initially used an LLM to help draft fixes for these files. Afterwards, I spent a significant amount of time manually correcting and modifying all of the generated changes. new-contributor t-computability tech debt LLM-generated merge-conflict 599/544 Mathlib/CategoryTheory/Category/PartialFun.lean,Mathlib/Computability/Ackermann.lean,Mathlib/Computability/Partrec.lean,Mathlib/Computability/PartrecBasis.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/RE.lean,Mathlib/Computability/RecursiveIn.lean,Mathlib/Computability/StateTransition.lean,Mathlib/Computability/TuringDegree.lean,Mathlib/Computability/TuringMachine/Config.lean,Mathlib/Data/Finset/PImage.lean,Mathlib/Data/PFun.lean,Mathlib/NumberTheory/Dioph.lean 13 79 ['AlexeyMilovanov', 'JovanGerb', 'YaelDillies', 'dagurtomas', 'github-actions', 'j-loreaux', 'jcommelin', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts'] nobody
12-13298
12 days ago
47-71224
47 days ago
118-17573
118 days
0
45379 marasilge
author:marasilge
feat: simple lemmas about CW complexes --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> awaiting-author t-topology new-contributor 60/0 Mathlib/Topology/CWComplex/Classical/Basic.lean,Mathlib/Topology/CWComplex/Classical/Finite.lean 2 19 ['github-actions', 'scholzhannah'] scholzhannah
assignee:scholzhannah
12-12331
12 days ago
12-12331
12 days ago
0-56394
15 hours
0
45409 JackFeliks
author:JackFeliks
feat(Analysis/SpecificLimits): bound alternating series error from convergence Our change allows the same error bound to be used in more cases, for example when calculating π/4 using the Leibniz series. Existing uses continue to work. --- I came up with this contribution while testing my own experimental stack of algorithms. Codex prepared the code and tests, and Argon reviewed the proposal. t-analysis LLM-generated new-contributor 81/27 Mathlib/Analysis/Real/Pi/Leibniz.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,MathlibTest/AlternatingSeries.lean 3 3 ['JackFeliks', 'github-actions'] nobody
12-9169
12 days ago
12-11499
12 days ago
12-11426
12 days
0
41898 marcinbugaj
author:marcinbugaj
feat(Analysis/Convex): majorization preorder and T-transform decomposition Add the majorization preorder and its T-transform decomposition. **Majorization.** `Majorizes a b` (notation `a ≺ b`) is defined for `a b : ι → M` with `ι` an arbitrary `Fintype` and `M` an ordered additive commutative monoid: the two tuples have equal total sum and, for every `k`, the maximal sum over `k`-element subsets of `a` is at most that of `b` (`maxSubsetSum`). This is classical (Hardy–Littlewood–Pólya / Schur) majorization; it lives on the values, so it is permutation-invariant and needs no order on the index (in particular it is not first-order stochastic dominance). It is shown to be a preorder (`Majorizes.refl`, `Majorizes.trans`, the `Trans` instance), with `majorizes_iff_descPrefixSum` characterizing it via sorted prefix sums, and `comp_perm_majorizes_iff` / `majorizes_comp_perm_iff` recording permutation-invariance. **T-transforms.** A single T-transform (Robin Hood transfer) is the operation `tTransform a s` for a step `s : TStep ι K` (its two coordinates `k, l` and transfer parameter `t`), over an ordered field `K` . RelatedByTTransform b a` means `b = tTransform a s` for some valid step, and `discrepancy a b` counts the coordinates at which `a` and `b` differ. **Decomposition.** `majorizes_iff_reflTransGen_relatedByTTransform`: `a ≺ b` iff the decreasing rearrangement of `a` is reachable from that of `b` by a finite chain of T-transforms. The chain is also produced as explicit data: `majorizesTStepList` is a `def` returning the concrete `List (TStep …)` bundled with a proof that it is a valid chain folding sorted `b` to sorted `a`, of length at most `discrepancy`; `majorizes_exists_tStepList` is the existence form, and the `ReflTransGen` characterization is derived from it. The construction is computable: over a computable ordered field such as `ℚ` the step list evaluates to a concrete value. --- - [x] depends on: #43741 t-analysis new-contributor awaiting-author 940/0 Mathlib.lean,Mathlib/Analysis/Convex/Majorization.lean,docs/references.bib 3 28 ['YaelDillies', 'github-actions', 'marcinbugaj', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] j-loreaux
assignee:j-loreaux
11-82647
11 days ago
71-82573
71 days ago
41-7379
41 days
0
45441 janbernloehr
author:janbernloehr
feat(Analysis/Normed/Operator/Compact): preserve compact remainders under one-sided inverses Add `IsCompactOperator.sub_id_of_rightInverse` and `IsCompactOperator.sub_id_of_leftInverse`: if `f - id` is compact and `g` is a continuous linear right or left inverse of `f`, then `g - id` is compact. Work over an arbitrary ring and a module whose underlying additive group is a topological group. The proofs use compactness under composition and negation, through the identities `(f - id) ∘L g = id - g` and `g ∘L (f - id) = id - g`. These lemmas are used in my thesis formalization to show that compact derivative remainders are preserved under inverse coordinate changes. They package an elementary consequence of compactness being preserved under composition with continuous linear maps and negation. --- Local validation passed with Lean `v4.36.0-rc2`: the affected-module build, style lint, axiom checks, standalone usage examples, and `git diff --check`. There are no PR dependencies. AI assistance: OpenAI Codex was used when writing the Lean proofs. Related background: #35048 (the existing Fredholm alternative), #39274 (broader Fredholm infrastructure), and #43906 (a closed, unmerged compact-perturbation development). t-analysis new-contributor LLM-generated 37/0 Mathlib/Analysis/Normed/Operator/Compact/Basic.lean 1 2 ['github-actions'] nobody
11-57511
11 days ago
11-60253
11 days ago
11-60180
11 days
0
45444 janbernloehr
author:janbernloehr
feat(Analysis): characterize weighted summability by geometric tails Add `ENNReal.tsum_rpow_mul_lt_top_iff_geometric_tails`: for $f:I\to[0,\infty]$, a size map $\nu:I\to\mathbb N$, a real base $b>1$, a positive integer cutoff $M$, and real $t>0$, set $$ \begin{aligned} S&:=\sum_i f_i, & W_t&:=\sum_i(1+\nu(i))^t f_i,\\ T_k&:=\sum_{\nu(i)\ge b^kM}f_i, & G_t&:=\sum_{k=0}^{\infty}b^{kt}T_k. \end{aligned} $$ Prove the quantitative ENNReal estimates $$ W_t\le(1+bM)^t(S+G_t), \qquad G_t\le\frac{b^t}{b^t-1}\,W_t, $$ and hence the equivalence $$ W_t<\infty \quad\Longleftrightarrow\quad S<\infty\;\land\;G_t<\infty. $$ The estimates allow infinite coefficients and divergent sums; the first also holds at order zero. Use nonnegative double-sum interchange and finite geometric-series estimates, then derive the real-valued summability criteria as corollaries. No monotonicity of the coefficients or finiteness of the size-map fibers is required. This criterion is used in the formalisation of my dissertation, in a weighted-regularity argument. --- Local validation passed with Lean `v4.36.0-rc2`: the affected-module build, style lint, 15 linters, axiom checks, standalone usage examples (including the nonintegral base $b=3/2$ and natural-base specialisations), and `git diff --check`. There are no PR dependencies. AI assistance: OpenAI Codex was used to adapt and generalize the proofs for the ENNReal formulation. t-analysis new-contributor LLM-generated 274/0 Mathlib.lean,Mathlib/Analysis/SummableGeometricTails.lean 2 2 ['github-actions'] nobody
11-57506
11 days ago
11-57956
11 days ago
11-57883
11 days
0
45445 janbernloehr
author:janbernloehr
feat(Analysis/Normed/Lp): detect PiLp norms by conjugate pairings Add norm-attaining conjugate test vectors for finite real or complex `PiLp` spaces, and deduce a criterion for bounding the norm from all conjugate-unit-ball pairings. Include the corresponding Hölder bound, both endpoint pairs `(1, ∞)` and `(∞, 1)`, and empty index types. Use the bilinear pairing `∑ i, a i * b i`, with conjugation incorporated into the test vector, so the results support holomorphic interpolation. Reuse `NNReal.isGreatest_Lp` for finite exponents and handle the endpoints explicitly. These lemmas are used in the formalization of my dissertation to recover ℓp norm bounds from finite test-pairing estimates in the discrete Hilbert-transform argument. --- ## Dependencies and merge order No prerequisite PRs. Merge this before #45447, which is stacked on this change. The coordinate-restriction contribution is independent. ## Validation Checked using Lean `v4.36.0-rc2`: - Module build, style linter and declaration linters. - Real/complex examples, p=2, both conjugate endpoint pairs and an empty index type. - Generated import and diff/whitespace checks. - Axiom inspection: only `propext`, `Classical.choice`, `Quot.sound`. ## AI assistance OpenAI Codex has been used in the writing of the Lean implementation. t-analysis LLM-generated new-contributor 167/0 Mathlib.lean,Mathlib/Analysis/Normed/Lp/PiLpDual.lean 2 2 ['github-actions'] nobody
11-57501
11 days ago
11-57698
11 days ago
11-57625
11 days
0
45447 janbernloehr
author:janbernloehr
feat(Analysis/Normed/Lp): interpolate finite matrix bounds Add `Matrix.norm_sum_mulVec_interpolate` and `Matrix.norm_mulVec_interpolate`, giving sharp interpolation of finite complex matrix bounds. If `A` has nonnegative bounds `B₀` from `ℓp₀` to `ℓq₀` and `B₁` from `ℓp₁` to `ℓq₁`, conclude for `0 ≤ t ≤ 1` $$ \|Ax\|_s \le B_0^{1-t} B_1^t \|x\|_r, \qquad \frac1r = \frac{1-t}{p_0}+\frac{t}{p_1},\quad \frac1s = \frac{1-t}{q_0}+\frac{t}{q_1}. $$ Use entire power families and Hadamard's three-lines theorem for the bilinear estimate, then conjugate norm detection for the operator bound. Endpoint input exponents are positive and finite, with `1 ≤ r < ∞`; output exponents are strictly greater than one and may be infinite. This result is used in the formalization of my dissertation to interpolate finite matrix estimates for the discrete Hilbert transform. The dimension-independent constant keeps the bounds uniform as finite truncations grow. --- ## Dependencies and merge order Depends on #45445 **merge that PR first, then this one**. ## Validation Checked using Lean `v4.36.0-rc2`: - Module build, style linter and declaration linters. - Interpolation from 2 and 4 to 8/3, and from `1 → ∞` and `2 → 2` to `4/3 → 4`. - Zero bounds, t=0 and t=1, empty index types, generated import and diff/whitespace checks. - Axiom inspection: only `propext`, `Classical.choice`, `Quot.sound`. ## AI assistance OpenAI Codex has been used to write the Lean implementation based on my dissertation proofs. t-analysis LLM-generated new-contributor 472/0 Mathlib.lean,Mathlib/Analysis/Normed/Lp/PiLpDual.lean,Mathlib/Analysis/Normed/Lp/PiLpInterpolation.lean 3 2 ['github-actions'] nobody
11-57495
11 days ago
11-57564
11 days ago
11-57491
11 days
0
42142 philipp-svinger
author:philipp-svinger
feat(Analysis/ODE): peano existence theorem, Tonelli approximation 1 Add Tonelli approximation method for ODEs. Implement the structure IsPeano similar to IsPicardLindelof. Construct a sequence of approximations using Tonelli technique. First step towards Peano existence Co-authored-by: Florian Grube <fgrube@math.uni-bielefeld.de> Co-authored-by: Paul Niessner <pniessner@math.uni-bielefeld.de> Co-authored-by: Julian Rolfes <jrolfes@math.uni-bielefeld.de> Co-authored-by: Luke Schleef <lschleef@math.uni-bielefeld.de> Co-authored-by: Philipp Svinger <psvinger@math.uni-bielefeld.de> --- We want to add the proof of the Peano existence theorem for ODEs, using Tonelli approximations. This will be a series of PRs working towards this goal. In this first PR, we implement the structure IsPeano similar to IsPicardLindelof and construct a sequence of approximations using Tonelli technique. See our further PRs for more information, last: #42148 --- The statements, definitions and proofs were written without AI. AI was used afterwards to help us to adapt our code to the style and naming conventions. We also used it in the process of writing a documentation. <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 207/0 Mathlib.lean,Mathlib/Analysis/ODE/Peano.lean 2 24 ['github-actions', 'mcdoll', 'philipp-svinger', 'sgouezel'] urkud
assignee:urkud
11-50458
11 days ago
44-68893
44 days ago
101-30028
101 days
5
41466 EzequielS2
author:EzequielS2
feat(Algebra/Order): stronger sublist product inequality via diff ## Summary Add `Sublist.prod_le_prod'_of_mem_diff` and `Sublist.sum_le_sum_of_mem_diff`. ## Test plan - [x] `lake build` and `lake exe runLinter` on `Mathlib.Algebra.Order.BigOperators.Group.List` t-algebra new-contributor
label:t-algebra$
12/4 Mathlib/Algebra/Order/BigOperators/Group/List.lean 1 8 ['EzequielS2', 'github-actions', 'mathlib-merge-conflicts', 'themathqueen', 'wwylele'] nobody
11-41137
11 days ago
11-40105
11 days ago
52-49101
52 days
0
41449 EzequielS2
author:EzequielS2
feat(Topology/ContinuousMap): domMulAct action on C(X, Y) ## Summary - Define the action of `Mᵈᵐᵃ` on `C(α, β)` when `M` acts continuously on `α`. - Add `SMul`, `MulAction`, `SMulCommClass`, and `ContinuousSMul` instances. - Closes #5379. ## Test plan - [x] `lake build Mathlib.Topology.ContinuousMap.DomAct` - [x] `lake exe runLinter Mathlib.Topology.ContinuousMap.DomAct` t-topology new-contributor 105/0 Mathlib.lean,Mathlib/Topology/ContinuousMap/DomAct.lean 2 7 ['EzequielS2', 'github-actions', 'j-loreaux'] nobody
11-38931
11 days ago
11-39043
11 days ago
32-69613
32 days
1
40727 pepamontero
author:pepamontero
feat(Geometry/Manifold/Instances/Quotient): quotients of manifolds by smooth free properly discontinuous group actions are manifolds Add smooth manifold structure on orbit space `orbitRel.Quotient G M`. This PR is a follow-up to #35653, which equipped `orbitRel.Quotient G M` with a `ChartedSpace` structure. Here we promote that to an `IsManifold I n` instance, assuming M itself is an `IsManifold I n` and `G` acts by `ContMDiffConstSMul`. This PR: * Changes the charted space instance to use `IsLocalHomeomorph.chartedSpaceOfRightInverse` applied to `Quotient.out_eq`, so the charts come from an explicit local section `orbitRel.Quotient.localInverseAt x` of the quotient map at `x.out`. * Adds some API on `localInverseAt` that is only relevant when we have an action (`localInverseAt_apply_mk_eq_smul`, `localInverseAt_symm_trans_eqOn_smul`, `exists_smul_mem_localInverseAt_target`) * Defines the `transitionMap` between the charts of the quotient, and adds `transitionMap_locally_smul` which shows each transition map agrees near any point with `φ x⁻¹ ≫ (g • ·) ≫ φ y` for a single `g : G`. * Uses the above to prove `isManifold_quotient_of_contMDiffSMul`. This started as an ItaLean2025 project; here is the [Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/541885-ItaLean-2025/topic/Projects.3A.20Quotient.20Manifolds/with/575121158) dedicated to it. Co-authored by: Enrique Díaz Blanco <qdiazblanco@gmail.com> Co-authored by: Archie Browne <ajb421@ic.ac.uk> -------- - [x] depends on: #41832 - [x] depends on: #41835 - [x] depends on: #42436 - [x] depends on: #42502 - [x] depends on: #41534 - [x] depends on: #43717 **Questions for reviewers**: 1. Should the acting group be `Γ` rather than `G`? Here `G` has no topology, and in other files `Γ` is used in this case. 2. Should `localInverseAt` be a `def` instead of an `abbrev`? It is an `abbrev` because there is already API for `IsLocalHomeomorph.localInverseAt` that I need. 3. Is changing the `ChartedSpace` instance to `Quotient.out` the right decision? 4. Should I write a definition for `(chartAt H x.out).symm ≫ₕ (g • ·) ≫ₕ chartAt H y.out` , similar to `transitionMap`? new-contributor large-import t-differential-geometry awaiting-author 131/6 Mathlib/Geometry/Manifold/Instances/Quotient.lean 1 89 ['Deicyde', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'ocfnash', 'pepamontero', 'scholzhannah'] grunweg
assignee:grunweg
11-14234
11 days ago
11-86004
11 days ago
66-41234
66 days
1
42669 kris-gaudel
author:kris-gaudel
feat(Analysis/Convex): the Shapley-Folkman lemma Closes https://github.com/leanprover-community/mathlib4/issues/14427 Formalizes the Shapley-Folkman Lemma, uses the proof outlined [here](https://en.wikipedia.org/wiki/Shapley%E2%80%93Folkman_lemma#Proofs) (Via reduction from Carathéodory's theorem) t-analysis new-contributor awaiting-author 284/0 Mathlib.lean,Mathlib/Analysis/Convex/ShapleyFolkman.lean 2 15 ['YaelDillies', 'github-actions', 'kris-gaudel'] YaelDillies
assignee:YaelDillies
10-84802
10 days ago
27-21410
27 days ago
62-38496
62 days
0
35834 homeowmorphism
author:homeowmorphism
feat(Mathlib/GroupTheory/PresentedGroup): every group has a presentation We show that every group has a presentation defined by taking the free group with all of the group elements as the generators, and defining the relations as the kernel of the induced subjective homomorphism from that free group to the group itself. Use of AI: This has been vibe-coded with GPT-Codex-5.3, was updated through review, and was double-checked by the author. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-group-theory large-import awaiting-author LLM-generated merge-conflict 29/1 Mathlib/GroupTheory/PresentedGroup.lean 1 17 ['copilot-pull-request-reviewer', 'euprunin', 'github-actions', 'homeowmorphism', 'mathlib-bors', 'mathlib-merge-conflicts', 'plp127', 'tb65536'] tb65536
assignee:tb65536
10-83274
10 days ago
248-62067
248 days ago
4-29717
4 days
0
41911 kedlaya
author:kedlaya
feat(FieldTheory): implement Artin-Schreier theorem Implement the theorem of Artin-Schreier that a field with a finite algebraically closed extension is either algebraically closed or real closed. - [ ] depends on: #43947 - [ ] depends on: #44287 t-algebra new-contributor blocked-by-other-PR merge-conflict
label:t-algebra$
488/0 Mathlib.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/FieldTheory/ArtinSchreierExtension.lean,Mathlib/FieldTheory/IsRealClosed/ArtinSchreier.lean 4 33 ['ScottCarnahan', 'SnirBroshi', 'artie2000', 'github-actions', 'jcommelin', 'kedlaya', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] nobody
10-64602
10 days ago
50-22402
50 days ago
63-1996
63 days
0
45483 chenle02
author:chenle02
feat(MeasureTheory/Function/ConvergenceInDistribution): the Billingsley approximation theorem ## Statement `tendstoInDistribution_of_approx` (Billingsley, *Convergence of Probability Measures*, 2nd ed., Theorem 3.2). Let `E` be a separable pseudometric space with its Borel σ-algebra, `l` a countably generated filter on `ι` and `l'` a nontrivial filter on `κ`. Let `U i, X k i : Ω i → E` (on the probability spaces `(Ω i, μ i)`), `Y k : Ωκ k → E` (on `(Ωκ k, ν k)`) and `Z : Ω' → E`. If * `X k i` converges in distribution to `Y k` along `l`, for each `k`, * `Y k` converges in distribution to `Z` along `l'`, * `U i` is a.e.-measurable for each `i`, and * for every `δ > 0`, `limsup_{i → l} μ i {ω | δ ≤ dist (U i ω) (X k i ω)}` tends to `0` along `l'`, then `U i` converges in distribution to `Z` along `l`. ```lean theorem tendstoInDistribution_of_approx {κ : Type*} {Ωκ : κ → Type*} {mκ : ∀ k, MeasurableSpace (Ωκ k)} {ν : (k : κ) → Measure (Ωκ k)} [∀ k, IsProbabilityMeasure (ν k)] {l' : Filter κ} [l'.NeBot] [l.IsCountablyGenerated] {X : κ → (i : ι) → Ω i → E} {Y : (k : κ) → Ωκ k → E} {U : (i : ι) → Ω i → E} (hX : ∀ k, TendstoInDistribution (X k) l (Y k) μ (ν k)) (hY : TendstoInDistribution Y l' Z ν μ') (hU : ∀ i, AEMeasurable (U i) (μ i)) (h_approx : ∀ δ > 0, Tendsto (fun k ↦ limsup (fun i ↦ μ i {ω | δ ≤ dist (U i ω) (X k i ω)}) l) l' (𝓝 0)) : TendstoInDistribution U l Z μ μ' ``` Two auxiliary results are added: * `tendstoInDistribution_iff_forall_lipschitz_integral_tendsto`: the `TendstoInDistribution` version of `tendsto_iff_forall_lipschitz_integral_tendsto` (bounded Lipschitz test functions), analogous to the existing `tendstoInDistribution_iff_forall_integral_rclike_tendsto`. * `abs_integral_sub_integral_le_of_lipschitzWith`: for `F` `L`-Lipschitz with oscillation at most `M`, `|∫ F ∘ A ∂μ - ∫ F ∘ B ∂μ| ≤ L * δ + M * μ.real {δ ≤ dist A B}` (`δ ≥ 0`). This estimate was previously inlined in the proof of `tendstoInDistribution_of_tendstoInMeasure_sub`; that proof now calls the lemma (about 45 lines removed there), with no change to its statement. ## Proof idea Test against a bounded `L`-Lipschitz `F` (oscillation `≤ M`). For any `k`, `δ`, `|E F(U i) - E F(Z)| ≤ L δ + M P(δ ≤ dist (U i) (X k i)) + |E F(X k i) - E F(Y k)| + |E F(Y k) - E F(Z)|`. Given `η > 0`, choose `δ` with `L δ < η/4`, then (using `l'.NeBot`) a single `k` for which the last term is `< η/4` and `limsup_i P(δ ≤ dist (U i) (X k i)) < ε` with `M ε ≤ η/4`; for this `k`, eventually in `i` the probability is `< ε` and the third term is `< η/4`. ## Relation to existing results * Slutsky-type lemma `tendstoInDistribution_of_tendstoInMeasure_sub` is the special case `X k = X`, `Y k = Z` (one prelimit space). The new theorem is more general in three ways: the prelimit spaces `Ω i` may depend on `i` (matching the definition of `TendstoInDistribution`), the approximating limits `Y k` live on their own spaces `Ωκ k`, and `E` only needs to be a separable pseudometric space rather than a seminormed group. The statement and proof of the Slutsky lemma are left as they are apart from extracting the comparison estimate; if reviewers prefer, it could instead be derived from the new theorem (with `κ = Unit`, `l' = ⊤`). * #37279 (multivariate CLT) also edits this file: it adds `:= by fun_prop` to `forall_aemeasurable`, switches the `tendsto` field to `Measure.toProbabilityMeasure`, adds `TendstoInDistribution.const_const`, removes some `set_option`s and adapts the proofs of `congr`, `continuous_comp` and `tendstoInDistribution_of_ae_tendsto`. It contains nothing like the approximation theorem. Its hunks are all above `TendstoInMeasure.tendstoInDistribution`, while this PR inserts below it and edits the body of `tendstoInDistribution_of_tendstoInMeasure_sub`. `git apply --check` of the #37279 hunks for this file on top of this branch succeeds (offset only). The new proofs reach the `ProbabilityMeasure` coercion only through `simpa` and the existing `tendstoInDistribution_iff_forall_integral_rclike_tendsto`, so they should not depend on the representation that #37279 changes; this has not been compiled against #37279. ## Reference P. Billingsley, *Convergence of Probability Measures*, 2nd ed., Wiley, 1999, Theorem 3.2. AI tools (Claude and Codex) were used to port and adapt this proof to Mathlib; the author reviewed it. t-measure-probability new-contributor LLM-generated 152/49 Mathlib/MeasureTheory/Function/ConvergenceInDistribution.lean 1 4 ['github-actions', 'lua-vr'] nobody
10-56500
10 days ago
10-59740
10 days ago
10-59667
10 days
0
45482 chenle02
author:chenle02
feat(Analysis/Distribution/SchwartzSpace): the Schwartz space on a finite-dimensional space is separable ## What is proved In `Mathlib/Analysis/Distribution/SchwartzSpace/Separable.lean`: ```lean instance SchwartzMap.instSecondCountableTopology {E F : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] [FiniteDimensional ℝ E] [SecondCountableTopology F] : SecondCountableTopology 𝓢(E, F) ``` so `SeparableSpace 𝓢(E, F)` is found by instance search, for example for `𝓢(EuclideanSpace ℝ (Fin d), ℂ)`, and in particular for `𝓢(ℝ, ℝ)`. There are two supporting instances, both stated in general form: ```lean -- Mathlib/Topology/Compactification/OnePoint/Basic.lean instance OnePoint.instSecondCountableTopology [WeaklyLocallyCompactSpace X] [R1Space X] [SecondCountableTopology X] : SecondCountableTopology (OnePoint X) -- Mathlib/Analysis/Distribution/SchwartzSpace/Separable.lean instance ContinuousMultilinearMap.instSecondCountableTopologyFin [FiniteDimensional 𝕜 E] [SecondCountableTopology F] (n : ℕ) : SecondCountableTopology (E [×n]→L[𝕜] F) ``` ## Proof idea * For `f : 𝓢(E, F)`, the function `x ↦ ‖x‖ ^ k • iteratedFDeriv ℝ n f x` tends to `0` along `cocompact E`, because it is bounded by `‖x‖⁻¹ * seminorm (k + 1) n f`. It therefore extends by `0` to a continuous function on `OnePoint E`, and the sup norm of that extension is exactly `SchwartzMap.seminorm ℝ k n f`. * The resulting map `𝓢(E, F) →L[ℝ] Π (k, n), C(OnePoint E, E [×n]→L[ℝ] F)` is inducing, because each Schwartz seminorm is the norm of one coordinate. * Its target is second countable. `OnePoint E` is compact and second countable (new instance), `E [×n]→L[ℝ] F` is second countable (new instance, proved by induction via currying from the existing `E →L[𝕜] F` instance), and `ContinuousMap.instSecondCountableTopology` gives the rest. ## History of this PR The first version of this PR proved only the case `E = ℝ`, by bounding each Schwartz seminorm by the `L¹` norm of a derivative (`norm_le_integral_norm_deriv`, `derivCLM_pow_apply`). The general argument above covers `E = ℝ`, so that `L¹` proof and its two auxiliary lemmas have been removed. The file now depends only on `SchwartzSpace.Basic`, not on `SchwartzSpace.Deriv` and the integration library. ## Follow-ups * `ContinuousMultilinearMap.instSecondCountableTopologyFin` could be moved next to the `E →L[𝕜] F` instance in `Mathlib/Analysis/Normed/Module/FiniteDimension.lean`, possibly in a more general form (a `Fintype` index with finite-dimensional factors). It sits in this file for now so that the PR does not trigger a rebuild of most of the analysis library. * Consequences that need separability, for example for tempered distributions. AI tools (Claude and Codex) were used to port and adapt this proof to Mathlib; the author reviewed it. t-analysis new-contributor LLM-generated 177/0 Mathlib.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Separable.lean,Mathlib/Topology/Compactification/OnePoint/Basic.lean 3 3 ['github-actions', 'lua-vr'] nobody
10-56406
10 days ago
10-61978
10 days ago
10-62636
10 days
0
44906 yudukikun5120
author:yudukikun5120
feat(Archive): formalize negation in vector logic This adds a formalization of negation in Mizraji's two-valued vector logic to `Archive/VectorLogic.lean`, using mathlib's matrix and real-number APIs. For two orthonormal real vectors `s` and `n` in an arbitrary finite-dimensional coordinate space, define `N = nsᵀ + snᵀ` and the logical identity `I₂ = ssᵀ + nnᵀ`. Prove that negation exchanges the truth vectors, exchanges the coefficients of their linear combinations, and satisfies `N * N = I₂`. Double negation fixes every linear combination of the truth vectors. The formalization also shows that negation annihilates vectors orthogonal to both, so it does not assert that `N²` is the ambient identity in higher dimension. The definitions follow Eduardo Mizraji's *Vector logics: The matrix-vector representation of logical calculus* (1992), as reproduced in §4.2, equations (15)–(16), of his 2016 paper: https://doi.org/10.1387/theoria.13959. --- This is a draft for feedback on whether this paper-specific formalization is suitable for `Archive`; its placement has not been agreed with maintainers. Validation on macOS arm64 with Lean 4.35.0: - `lake build Archive.VectorLogic` - `lake exe lint-style Archive.VectorLogic` - `lake exe mk_all --lib Archive --check` - Separate local checks with a three-dimensional truth pair, including a counterexample to the ambient identity assertion. AI disclosure: OpenAI Codex generated the implementation, proofs, and this PR description, and ran the local validation. The changes are marked as LLM-generated. This description does not claim completion of independent human review. LLM-generated new-contributor t-data 102/0 Archive.lean,Archive/VectorLogic.lean 2 3 ['github-actions', 'yudukikun5120'] nobody
10-50919
10 days ago
25-308
25 days ago
25-235
25 days
0
45470 benpigchu
author:benpigchu
feat(Data): theorem about `List.splitBy` of `List.append` when `getLast` of the first list and `head` of the second list are related This PR add a theorem describing the behaviour of `List.splitBy` of `List.append` when the `ha` assumption in `List.splitBy_append` does not hold. --- This theorem came from https://github.com/dwrensha/compfiles/blob/1745e6ced3e671bd74417548494b034eb2c87da8/Compfiles/Imo2022P1.lean#L148 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> t-data new-contributor 59/0 Mathlib/Data/List/SplitBy.lean 1 2 ['github-actions'] nobody
10-43292
10 days ago
10-83944
10 days ago
10-83871
10 days
0
45053 tomaz1502
author:tomaz1502
feat(Analysis/Polynomial): the jump of a real rational function and the Cauchy index This PR defines `Polynomial.jumpVal p q x : ℤ`, the jump of the rational function `q / p` at a point `x`: `1` if it goes from `-∞` to `+∞`, `-1` if it goes from `+∞` to `-∞`, and `0` otherwise. The definition is algebraic: `q / p` changes sign at `x` exactly when `rootMultiplicity x p - rootMultiplicity x q` is odd, and the direction of the jump is then `signRight x (p * q)`. It develops the API of `jumpVal` needed for the Sturm–Tarski theorem: * `jumpVal_of_eval_ne_zero`, `jumpVal_of_rootMultiplicity_le`: there is no jump where `q / p` has no pole; * `jumpVal_mul_mul`: a common factor of `p` and `q` does not change the jump; * `jumpVal_mod`: `q` can be replaced by `q % p`; * `jumpVal_C_mul`: scaling `q` by `c` scales the jump by `sign c`; * `jumpVal_of_isCoprime`, `jumpVal_mul_one`: jumps of products of coprime polynomials; * `jumpVal_derivative_mul`: at a root `x` of `p`, the jump of `derivative p * q / p` is `sign (q.eval x)`. This is what links the Cauchy index to the signs of `q` at the roots of `p`. It also defines `Polynomial.rootsInInterval p a b`, the distinct roots of `p` in `(a, b)`, and the Cauchy index `Polynomial.cauchyIndex p q a b`, the sum of `jumpVal p q x` over those roots, with a few basic lemmas (`cauchyIndex_zero_left`, `cauchyIndex_zero_right`, `cauchyIndex_C`, `cauchyIndex_mul_mul`, `cauchyIndex_mod`, `cauchyIndex_C_mul`), which follow directly from the corresponding `jumpVal` lemmas. The main results about the Cauchy index (its relation to sign changes and to Tarski queries) will follow in the next PR of the series. One small addition to existing files: * `Polynomial.rootMultiplicity_C_mul` in `RingDivision.lean`: multiplying by a nonzero constant does not change root multiplicities; This is the fourth PR of a series formalising the Sturm-Tarski theorem, following #43783 (`List.signVariations`), #43954 (`Polynomial.sturmSeq`) and #44248 (`Polynomial.signRight`). As in #44248, everything is stated over `ℝ` because `signRight` is; apart from `signRight`, the proofs only use the algebra of polynomials over a field. Co-authored-by: Pedro Saccomani <psaccomani15@gmail.com> Co-authored-by: Sarah Pereira <sarahcomh@proton.me> --- The definitions and the original proofs, ported from Wenda Li's Isabelle/AFP entry, were written by hand. We used Claude to review the code, suggest improvements and help in the preparation of the PR. new-contributor t-analysis awaiting-author 248/0 Mathlib.lean,Mathlib/Analysis/Polynomial/CauchyIndex.lean 2 14 ['github-actions', 'mathlib-splicebot', 'ocfnash', 'tomaz1502', 'vihdzp'] nobody
10-29942
10 days ago
10-73873
10 days ago
9-42835
9 days
0
45497 chenle02
author:chenle02
feat(MeasureTheory): tightness in separable Hilbert spaces This PR adds a tightness criterion for measures on a Hilbert space, stated with a Hilbert basis. It also adds the "tight + unique cluster point ⇒ convergence" step that usually follows Prokhorov's theorem. **(A) Tightness in a Hilbert space.** New file `Mathlib/MeasureTheory/Measure/TightHilbert.lean`. Here `b : HilbertBasis ι ℝ E` and `S : Set (Measure E)`. * `HilbertBasis.isCompact_closedBall_inter_iInter`: if `ε m → 0`, then `closedBall 0 r ∩ ⋂ m, {x | ‖x - ∑ i ∈ s m, ⟪b i, x⟫ • b i‖ ≤ ε m}` is compact. * `HilbertBasis.isTightMeasureSet_of_tendsto_measure`: `S` is tight if both of these hold: - the norms are bounded in probability uniformly over `S`: `Tendsto (fun r ↦ ⨆ μ ∈ S, μ {x | r < ‖x‖}) atTop (𝓝 0)`; - for every `ε > 0`, `Tendsto (fun s : Finset ι ↦ ⨆ μ ∈ S, μ {x | ε < ‖x - ∑ i ∈ s, ⟪b i, x⟫ • b i‖}) atTop (𝓝 0)`. This needs no measurability assumption. * `HilbertBasis.isTightMeasureSet_of_lintegral`: the second-moment version. It assumes `⨆ μ ∈ S, ∫⁻ x, ‖x‖ₑ ^ 2 ∂μ ≠ ∞` and that the tails `⨆ μ ∈ S, ∫⁻ x, ‖x - ∑ i ∈ s, ⟪b i, x⟫ • b i‖ₑ ^ 2 ∂μ` tend to `0`. * `HilbertBasis.isTightMeasureSet_of_lintegral_inner_sq_le`: for `[Countable ι]`, assume `∫⁻ x, ‖⟪b i, x⟫‖ₑ ^ 2 ∂μ ≤ c i` for all `μ ∈ S` and all `i`, with `∑' i, c i ≠ ∞`. Then `S` is tight. * Supporting lemmas: - `HilbertBasis.hasSum_inner_sq` (Parseval); - `HilbertBasis.hasSum_indicator_inner_sq` and `HilbertBasis.tsum_indicator_enorm_inner_sq` (the tail outside `s` is `‖x - ∑ i ∈ s, ⟪b i, x⟫ • b i‖ ^ 2`); - `HilbertBasis.completeSpace`; - `HilbertBasis.countable` and `Orthonormal.countable` (in a separable space). **(B) Tight + unique cluster point ⇒ convergence.** * In `Prokhorov.lean`, for `E` T2 with its Borel σ-algebra: - `ProbabilityMeasure.tendsto_of_isTightMeasureSet_of_forall_mapClusterPt`: if `{μ i | i}` is tight and every cluster point of `μ` along `l` equals `ν`, then `Tendsto μ l (𝓝 ν)`; - `ProbabilityMeasure.exists_tendsto_of_isTightMeasureSet`: if `l` is `NeBot`, the family is tight and any two cluster points are equal, then the family converges. * In `LevyConvergence.lean`: - `TendstoInDistribution.of_isTightMeasureSet_of_forall_mapClusterPt`; - `ProbabilityMeasure.tendsto_of_isTightMeasureSet_of_tendsto_charFunDual` (separable Banach space): a tight family whose `charFunDual` converge pointwise to that of `ν₀` converges to `ν₀`. This is the infinite-dimensional form of Lévy's theorem, where tightness has to be assumed; - `ProbabilityMeasure.tendsto_of_isTightMeasureSet_of_tendsto_charFun` (complete separable inner product space; the same statement with `charFun`); - `TendstoInDistribution.of_isTightMeasureSet_of_tendsto_charFunDual`. **Proof idea.** * (A): Fix `ε`. - Pick `r` with `μ {r < ‖x‖} ≤ ε / 2` for all `μ ∈ S`. - For each `m`, pick `s m` with `μ {1/(m+1) < dist(x, span (b '' s m))} ≤ δ m`, where `∑ δ m < ε / 2`. - The resulting set `K` is closed. It is totally bounded: its points are within `δ / 2` of a bounded subset of a finite-dimensional subspace. Since `E` is complete, `K` is compact, and the union bound gives `μ Kᶜ ≤ ε`. - The moment versions follow by Markov's inequality, Parseval and `lintegral_tsum`. * (B): By Prokhorov (`isCompact_closure_of_isTightMeasureSet`), the closure of the family is compact. `IsCompact.tendsto_nhds_of_unique_mapClusterPt` then gives convergence. For the characteristic-functional corollaries, a cluster point has the limiting `charFunDual`, because `P ↦ ∫ probCharDual L ∂P` is continuous. `Measure.ext_of_charFunDual` then identifies the cluster point. **Relation to existing Mathlib and open PRs.** * `TightNormed.lean` treats proper and finite-dimensional spaces: tightness from norms, or from inner products against an orthonormal basis. In infinite dimensions closed balls are not compact, so those criteria do not apply; (A) is the infinite-dimensional analogue. I put it in a new file to keep `TightNormed.lean` (and its importers) free of the `l2Space` import. * `ProbabilityMeasure.tendsto_of_tight_of_separatesPoints` (`LevyConvergence.lean`) is close to (B) but uses a separating subalgebra and a Polish space. (B) is the purely topological step: it needs only T2 and a Borel σ-algebra, works along any filter, and takes the cluster-point identification as a hypothesis. * #45375 (refactor of the proof of Prokhorov's theorem) only changes the interior of `Prokhorov.lean`, up to the end of the `Forward` section. It contains neither (A) nor (B). The new lemmas here are appended after the `Backward` section, plus one docstring bullet. `git merge-tree` against the PR head reports a clean merge. * #37279 (multivariate CLT) changes `TendstoInDistribution` to use `Measure.toProbabilityMeasure` and edits one line of `LevyConvergence.lean`. It contains neither (A) nor (B). The additions here are at the end of `LevyConvergence.lean` and already state the cluster-point hypothesis with `toProbabilityMeasure`; `git merge-tree` reports a clean merge. * A search of open PRs found nothing else with a Hilbert-space tightness criterion or a "tight + unique cluster point" lemma. **References.** * Yu. V. Prokhorov, *Convergence of random processes and limit theorems in probability theory*, Theory Probab. Appl. 1 (1956). * K. R. Parthasarathy, *Probability measures on metric spaces*, Academic Press (1967), Chapter VI (Probability measures in a Hilbert space). * V. I. Bogachev, *Measure theory, Vol. II*, Springer (2007): Definition 8.6.1 (uniform tightness, p. 202); Theorem 8.6.2 (Prokhorov's theorem, p. 202); Example 8.6.5(i) (tightness from a uniform moment bound, p. 205); Theorem 8.6.7 (a uniformly bounded, uniformly tight family has compact closure in the weak topology, p. 206). This is the `[bogachev2007]` key cited in `TightHilbert.lean`. AI tools (Claude and Codex) were used to port and adapt this proof to Mathlib; the author reviewed it. t-measure-probability new-contributor LLM-generated 375/0 Mathlib.lean,Mathlib/MeasureTheory/Measure/LevyConvergence.lean,Mathlib/MeasureTheory/Measure/Prokhorov.lean,Mathlib/MeasureTheory/Measure/TightHilbert.lean 4 2 ['github-actions'] nobody
10-8649
10 days ago
10-56110
10 days ago
10-56037
10 days
0
45494 chenle02
author:chenle02
feat(MeasureTheory): the cylinder σ-algebra on the weak dual This PR adds `Mathlib/MeasureTheory/Constructions/WeakDual.lean`, which defines the cylinder σ-algebra on `WeakDual 𝕜 E` (the σ-algebra generated by the evaluations `T ↦ T x`) and proves that a finite measure for it is determined by its finite-dimensional marginals. ## Statements The setting is the general one of `WeakDual`: `𝕜` a commutative topological semiring with `[MeasurableSpace 𝕜]`, and `E` a topological `𝕜`-module. * `WeakDual.cylinderMeasurableSpace 𝕜 E : MeasurableSpace (WeakDual 𝕜 E)`, defined as `MeasurableSpace.comap (fun T x ↦ T x) MeasurableSpace.pi`. This mirrors the definition of the weak-* topology as an induced topology. * `cylinderMeasurableSpace_eq_iSup`: it equals `⨆ x, MeasurableSpace.comap (fun T ↦ T x) ‹_›`. * `measurable_cylinder_iff`: a map `f : α → WeakDual 𝕜 E` is measurable iff `fun a ↦ f a x` is measurable for every `x`. Also `measurable_eval_cylinder` and `measurable_coeFn_cylinder`. * `cylinderMeasurableSpace_le_borel` (needs `[BorelSpace 𝕜]`): it is contained in `borel (WeakDual 𝕜 E)`. `cylinderMeasurableSpace_le` gives the same for any `OpensMeasurableSpace` structure. * `ext_of_forall_finset_map_eq`: two measures `μ ν`, with `μ` finite, are equal if `μ.map (fun T (x : I) ↦ T x) = ν.map (fun T (x : I) ↦ T x)` for every `I : Finset E`. * `map_eq_iff_forall_finset_map_eq`: two a.e.-measurable random elements `X : Ω → WeakDual 𝕜 E` and `Y : Ω' → WeakDual 𝕜 E` (under a finite `P` and `P'`) have the same law iff they have the same finite-dimensional laws. This is the analogue of `ProbabilityTheory.map_eq_iff_forall_finset_map_restrict_eq` for processes. * `cylinderMeasurableSpace_eq_comap_of_denseRange` (needs `[FrechetUrysohnSpace E] [PseudoMetrizableSpace 𝕜] [BorelSpace 𝕜]`): for any `d : ι → E` with `DenseRange d`, the σ-algebra is `comap (fun T i ↦ T (d i)) pi`. * `ext_of_forall_finset_map_eq_of_denseRange`: under the same hypotheses, it is enough to compare finite-dimensional marginals along `d`. * `countablyGenerated_cylinderMeasurableSpace`: if in addition `E` is separable and `𝕜` is countably generated, then the cylinder σ-algebra is countably generated. ## Design: a `def`, not an instance The measurable structure of a topological type in Mathlib is normally its Borel σ-algebra, and lemmas such as `Continuous.measurable` rely on `OpensMeasurableSpace`. On `WeakDual 𝕜 E` the cylinder σ-algebra is contained in the Borel σ-algebra, but the two are different in general. Equality needs extra hypotheses, for instance E separable Fréchet/nuclear, and that is not proved here. A global instance would therefore close off the Borel choice for every user of `WeakDual`. So the σ-algebra is a `def` marked `@[instance_reducible]`, in the same way as `borel` and `cylinderEvents`, and users enable it with `attribute [local instance] WeakDual.cylinderMeasurableSpace`. This adds no global instance and creates no diamond. `WeakDual` is a non-reducible `def`, so the norm-Borel instance `ContinuousLinearMap.instMeasurableSpace` on `E →L[𝕜] F` (for normed `E`) does not apply to it. I checked that `MeasurableSpace (WeakDual ℝ ℝ)` still fails to synthesize after importing that file. A downstream project that wants an instance can set `instance : MeasurableSpace (WeakDual 𝕜 E) := WeakDual.cylinderMeasurableSpace 𝕜 E` on its own type synonym. Projects that do this all get the same σ-algebra. ## Proof idea The coercion `F : T ↦ (x ↦ T x)` generates the σ-algebra by definition. Hence `μ.map F` and `ν.map F` are both projective limits of the same family of finite-dimensional laws, and `IsProjectiveLimit.unique` makes them equal. Every measurable set has the form `F ⁻¹' t`, so `μ = ν` follows. For the dense-range version, `T x` is the limit of `T (d (j n))` along a sequence (Fréchet–Urysohn, and each `T` is continuous), so `measurable_of_tendsto_metrizable` shows that the evaluations along `d` already generate the σ-algebra. ## Prior art * Two projects outside Mathlib already define this σ-algebra, each as a global instance: * mrdouglasny/gaussian-field defines `instMeasurableSpaceConfiguration` on `Configuration E := WeakDual ℝ E` as `comap (fun ω f ↦ ω f) pi`. It proves `configuration_measurable_of_eval_measurable` and, for Gaussian measures, `pushforward_eq_of_eval_eq`. * mrdouglasny/bochner (`Minlos/NuclearSpace.lean`) defines an instance on `WeakDual ℝ E` as `⨆ f, (borel ℝ).comap (· f)`. These two definitions are not defeq, so importing both projects fails to synthesize instances; gaussian-field's notes record this. A shared definition in Mathlib avoids that diamond. No code was taken from either project. * Mathlib has `cylinderEvents` and `measurableCylinders` on product types, and `ProbabilityTheory.map_eq_iff_forall_finset_map_restrict_eq` for processes. Neither covers `WeakDual`, and Mathlib has no `MeasurableSpace` on `WeakDual`, `WeakBilin` or `WeakSpace`. * Open PRs: a search for WeakDual measurable, cylinder, Minlos, nuclear, "random distribution" and "measure on dual" found no overlapping PR. #42278 (nuclear spaces) touches no measurable structure on duals, but it would be a natural input to a later Minlos theorem. #44909 (Kolmogorov extension) covers existence on product spaces, so it complements the uniqueness result here. * Zulip could only be searched through the public web archive, which showed no prior thread. ## Follow-ups * The Bochner–Minlos theorem on duals of nuclear spaces, stated for this σ-algebra. * Borel = cylinder on `WeakDual 𝕜 E` under suitable separability hypotheses (e.g. separable Fréchet `E`). This would allow a `BorelSpace` statement for the cylinder σ-algebra. * Tempered distributions: once the `SeparableSpace 𝓢(ℝ, ℝ)` instance (#45482) lands, `countablyGenerated_cylinderMeasurableSpace` and `ext_of_forall_finset_map_eq_of_denseRange` apply directly to `WeakDual ℝ 𝓢(ℝ, ℝ)`. `SchwartzMap` is already first-countable on master. AI tools (Claude and Codex) were used to port and adapt this proof to Mathlib; the author reviewed it. t-measure-probability new-contributor LLM-generated 245/0 Mathlib.lean,Mathlib/MeasureTheory/Constructions/WeakDual.lean 2 2 ['github-actions'] nobody
10-8628
10 days ago
10-58082
10 days ago
10-58009
10 days
0
45487 chenle02
author:chenle02
feat(Probability/Distributions/Poisson): higher moments of the Poisson distribution This PR adds a new file `Mathlib/Probability/Distributions/Poisson/Moments.lean` with the moments of the Poisson distribution `poissonMeasure r`, `r : ℝ≥0`. Main statements (namespace `ProbabilityTheory`): * `hasSum_mul_descFactorial_poissonMeasure` and `integral_descFactorial_poissonMeasure`: the factorial moments, `∫ n, (n.descFactorial k : ℝ) ∂Po(r) = r ^ k`. * `integrable_exp_mul_map_cast_poissonMeasure`, `integrableExpSet_id_map_cast_poissonMeasure`: `x ↦ exp (t * x)` is integrable for every `t`, so `integrableExpSet id Po(ℝ, r) = univ`. * `memLp_id_map_cast_poissonMeasure (p : ℝ≥0) : MemLp id p Po(ℝ, r)` and `integrable_pow_map_cast_poissonMeasure : Integrable (fun x ↦ x ^ k) Po(ℝ, r)`. * `hasSum_mul_pow_poissonMeasure` and `integral_pow_map_cast_poissonMeasure`: the raw moments are the Touchard polynomials, `∫ x, x ^ k ∂Po(ℝ, r) = ∑ j ∈ range (k + 1), S(k, j) * r ^ j` with `S(k, j) = Nat.stirlingSecond k j`. * `integral_id_map_cast_poissonMeasure : ∫ x, x ∂Po(ℝ, r) = r` * `integral_pow_two_map_cast_poissonMeasure : ∫ x, x ^ 2 ∂Po(ℝ, r) = r ^ 2 + r` * `integral_pow_three_map_cast_poissonMeasure : ∫ x, x ^ 3 ∂Po(ℝ, r) = r ^ 3 + 3 * r ^ 2 + r` * `integral_pow_four_map_cast_poissonMeasure : ∫ x, x ^ 4 ∂Po(ℝ, r) = r ^ 4 + 6 * r ^ 3 + 7 * r ^ 2 + r` * `variance_id_map_cast_poissonMeasure : Var[id; Po(ℝ, r)] = r` * `centralMoment_three_map_cast_poissonMeasure : centralMoment id 3 Po(ℝ, r) = r` * `centralMoment_four_map_cast_poissonMeasure : centralMoment id 4 Po(ℝ, r) = 3 * r ^ 2 + r` Proof idea: the factorial moment sum is reindexed by `n ↦ n + k` (the first `k` terms vanish) and becomes `r ^ k` times the total mass of `Po(r)`. Writing `n ^ k` in terms of falling factorials with `Nat.pow_eq_sum_stirlingSecond_mul_descFactorial` gives the general raw moment; the moments of order 1 to 4 are its special cases. The central moments follow by expanding `(x - r) ^ j` into raw moments, adding the corresponding `HasSum` statements and `ring`. Integrability comes from finiteness of the moment generating function via `memLp_of_mem_interior_integrableExpSet`. --- Relation to #33688: that PR adds `HasSum`/`tsum` expectation lemmas for the old `poissonPMF` / `poissonPMFReal` API in `Mathlib/Probability/Distributions/Poisson.lean`. Those declarations and that file are no longer on master (the distribution is now `poissonMeasure` in `Poisson/Basic.lean`), and #33688 is labelled `merge-conflict` / `awaiting-author`. This PR states the mean at the level of `poissonMeasure` in the same style as `integral_id_binomial` and `integral_id_gaussianReal`; it does not depend on #33688 and touches different files. AI tools (Claude and Codex) were used to port and adapt this proof to Mathlib; the author reviewed it. t-measure-probability new-contributor LLM-generated 187/0 Mathlib.lean,Mathlib/Probability/Distributions/Poisson/Moments.lean 2 2 ['github-actions'] nobody
10-8620
10 days ago
10-56038
10 days ago
10-58695
10 days
0
44613 keithadler
author:keithadler
feat(RepresentationTheory): irreducible representations are bounded by conjugacy classes For a finite group `G` and an algebraically closed field `k` in which `|G|` is invertible, `Representation.char_orthonormal` gives orthogonality of irreducible characters. This PR adds the consequence that is used in practice: * `Representation.classFunction ρ : ConjClasses G → k`, the character as a class function; * `Representation.linearIndependent_classFunction`: the class functions of a family of pairwise non-isomorphic irreducible representations are linearly independent; * `Representation.card_le_card_conjClasses`: such a family has at most `Nat.card (ConjClasses G)` members. This is the upper-bound half of "the number of irreducible representations equals the number of conjugacy classes" (the other half, that characters span the class functions, is not yet in Mathlib). The bound is exactly what is needed to show that an explicit list of `Nat.card (ConjClasses G)` pairwise non-isomorphic irreducibles is complete; e.g. with the companion PR on conjugacy classes of `Perm α`, that the Specht modules exhaust the irreducible representations of `S_n` (used downstream in https://github.com/keithadler/saxl-lean). 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- t-algebra new-contributor LLM-generated
label:t-algebra$
118/0 Mathlib.lean,Mathlib/RepresentationTheory/CharacterCount.lean 2 3 ['artie2000', 'github-actions'] nobody
9-77198
9 days ago
32-68337
32 days ago
32-68264
32 days
0
45420 PSchwahn
author:PSchwahn
feat(Algebra): define sets of finite products in a magma This PR adds a file `Algebra/Products.lean` containing declarations about products of tuples of elements in a magma, together with some basic API. We plan to expand on this later. Ultimately we plan to use these to prove results about [Leibniz algebras](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Leibniz.20algebras/with/598438796). We note that `Fin.prod` (from `Batteries.Data.Fin.Basic`) provides a similar functionality as our declaration `OrderedLeftProduct`. However `Fin.prod` requires a multiplicative unit on the magma and it associates the products to the right, whereas `OrderedLeftProduct` is associated to the left and works for any magma. This will become important because we work with non-associative operations and in the future would like to align with the literature (e.g. on Leibniz algebras). Co-authored by: Viviana del Barco, Gustavo Infanti, Artem Lopatin, Exequiel Rivas --- t-algebra new-contributor
label:t-algebra$
162/0 Mathlib.lean,Mathlib/Algebra/Products.lean 2 2 ['github-actions'] nobody
9-67698
9 days ago
11-70327
11 days ago
11-70254
11 days
0
31377 CoolRmal
author:CoolRmal
feat: a series of smooth functions that converges (locally) uniformly is smooth The main theorem is the proof that an infinite sum of $C^n$ functions on a one-dimensional domain which converges locally uniformly is $C^n$ and related results. This should be compared with [contDiff_tsum](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Calculus/SmoothSeries.html#contDiff_tsum) where the same result is proved for functions on an arbitrary domain but with a slightly stronger convergence assumption. The main motivation for this PR is the [#mathlib4 > Tychonov's Counterexample for the Heat Equation](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Tychonov's.20Counterexample.20for.20the.20Heat.20Equation/with/547367912). --- <!-- The text above the `---` will become the commit message when your PR is merged. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology new-contributor awaiting-author 112/22 Mathlib/Analysis/Calculus/SmoothSeries.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/QExpansion.lean,Mathlib/Topology/Algebra/InfiniteSum/TsumUniformlyOn.lean,Mathlib/Topology/Algebra/InfiniteSum/UniformOn.lean 5 20 ['CoolRmal', 'github-actions', 'mathlib4-merge-conflict-bot', 'ocfnash', 'sgouezel'] ocfnash
assignee:ocfnash
9-66087
9 days ago
345-81199
345 days ago
8-10488
8 days
0
45514 PSchwahn
author:PSchwahn
feat(Logic/Equiv/Fin/Basic): extension/deletion operations on permutations on `Fin n` Add basic operations on permutations on `Fin n`: - `Fin.Perm.castSucc`: extend a permutation on `Fin n` to one on `Fin (n + 1)` in the obvious way. - `Fin.Perm.removeNth`: removes a given position in a permutation on `Fin (n + 1)`, and collapses the domain and range to `Fin n`. Useful in conjunction with `Fin.succAbove`. Along this, add some API theorems: - `removeNth_of_castSucc_lt₁`, `removeNth_of_castSucc_lt₂`, `removeNth_of_le_castSucc₁` and `removeNth_of_le_castSucc₂` are analogous to [Fin.succAbove_of_castSucc_lt](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Fin/SuccPred.html#Fin.succAbove_of_castSucc_lt) resp. [Fin.succAbove_of_le_castSucc](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Fin/SuccPred.html#Fin.succAbove_of_le_castSucc). - `succAbove_removeNth` shows how `Fin.Perm.removeNth` interacts with [Fin.succAbove](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Fin/SuccPred.html#Fin.succAbove). - `castSucc_zero` and `castSucc_succ` are simp lemmas for `Fin.Perm.castSucc`. --- new-contributor t-logic 130/0 Mathlib/Logic/Equiv/Fin/Basic.lean 1 3 ['github-actions'] nobody
9-61687
9 days ago
9-61746
9 days ago
9-61673
9 days
0
43104 elazarg
author:elazarg
feat(InformationTheory/KullbackLeibler): finite Kullback-Leibler divergence Add finite-sum formulas for `InformationTheory.klDiv` on finite measurable spaces, including equal-mass and probability-measure specializations and formulas for sums of weighted Dirac measures. Provide both `ℝ≥0∞`-valued and `toReal` versions. Supporting API includes a formula for the Radon–Nikodym derivative at points of nonzero reference-measure mass, a finite-sum formula for the integral of the log-likelihood ratio, and singleton-mass and absolute-continuity lemmas for sums of weighted Dirac measures. --- Continuing #42584, another part of https://github.com/elazarg/kraft. Following review, this uses the existing `klDiv` instead of introducing `klDivFin`. The `toReal` formulas connect it to real-valued sums in downstream code. For measures of unequal mass, the formulas retain the correction term `ν.real univ - μ.real univ`. The KL formulas are in `KullbackLeibler/Basic.lean`; the supporting lemmas are in the corresponding measure-theory modules. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability new-contributor LLM-generated 100/1 Mathlib/InformationTheory/KullbackLeibler/Basic.lean,Mathlib/MeasureTheory/Measure/Decomposition/RadonNikodym.lean,Mathlib/MeasureTheory/Measure/Dirac/Basic.lean,Mathlib/MeasureTheory/Measure/LogLikelihoodRatio.lean 4 9 ['EtienneC30', 'elazarg', 'github-actions', 'vlad902'] urkud
assignee:urkud
9-50455
9 days ago
56-69844
56 days ago
65-50452
65 days
0
45522 EzequielS2
author:EzequielS2
feat: add the Grigorchuk group Add generators, relations, level stabilizers, and infiniteness of G --- - [ ] depends on: #45521 t-geometric-group-theory blocked-by-other-PR new-contributor 1666/0 Mathlib.lean,Mathlib/Geometry/Group/Grigorchuk/Basic.lean,Mathlib/Geometry/Group/InfiniteBinaryTree.lean 3 3 ['github-actions', 'mathlib-dependent-issues'] nobody
9-40450
9 days ago
9-49258
9 days ago
0-51
51 seconds
2
43577 javgomzar
author:javgomzar
chore(Order/BooleanAlgebra): Add push tags Add push tags to some lemmas in Mathlib/Order/BooleanAlgebra/Set.lean --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor merge-conflict 19/4 Mathlib/Order/BooleanAlgebra/Set.lean 1 5 ['github-actions', 'mathlib-merge-conflicts'] nobody
9-29388
9 days ago
9-29389
9 days ago
52-39990
52 days
0
44955 user202729
author:user202729
chore: change all occurrences of equational lemma to equation lemma Change all occurrences of "equational lemma" to "equation lemma". Also add a missing apostrophe. --- As far as I can tell, both are grammatical: the "equation" in "equation lemma" is a noun adjunct, while "equational" is an adjective. It feels like noun adjunct is "more advanced English" though. Before this pull request: ("equation lemma" is more popular than "equational lemma") ``` [mathlib4]$ rg 'equational lemma'|wc -l 10 [mathlib4]$ rg 'equation lemma'|wc -l 31 [mathlib4]$ rg 'equational theorem'|wc -l 6 [mathlib4]$ rg 'equation theorem'|wc -l 2 ``` and in Lean: (same, but only slightly) ``` [lean4]$ rg 'equational lemma'|wc -l 16 [lean4]$ rg 'equation lemma'|wc -l 20 [lean4]$ rg 'equational theorem'|wc -l 85 [lean4]$ rg 'equation theorem'|wc -l 38 ``` Not sure if it's worth unifying the theorem case (probably yes. But in this case, apparently "equational theorem" is more popular than "equation theorem".), and/or unify lemma and theorem (probably not, mathlib distinguishes lemmas and theorems). new-contributor 10/10 Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/MappingCone.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Sites/CoversTop/Basic.lean,Mathlib/CategoryTheory/Sites/Hypercover/One.lean,Mathlib/Data/Nat/Fib/Zeckendorf.lean,Mathlib/Tactic/Eqns.lean,Mathlib/Tactic/Translate/ToAdditive.lean,docs/Conv/Guide.lean 9 4 ['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts'] nobody
9-14920
9 days ago
9-14969
9 days ago
18-60460
18 days
0
42895 cameronfreer
author:cameronfreer
feat(SetTheory/Ordinal): add lift_sSup and lift_iSup Show that an initial segment embedding between conditionally complete linear orders with bottom preserves bounded suprema (`InitialSeg.map_sSup`, `InitialSeg.map_iSup`). Specializing to `Ordinal.liftInitialSeg` gives `Ordinal.lift_sSup`, `Ordinal.lift_iSup`, `Ordinal.lift_iSup_le` and `Ordinal.lift_iSup_le_iff`. These take an explicit boundedness hypothesis; in particular, `lift_iSup` assumes `BddAbove (Set.range f)` rather than requiring the index type to be small. --- 🤖 This PR was developed with assistance from Claude and GPT models, using [lean4-skills](https://github.com/cameronfreer/lean4-skills) and [lean-lsp-mcp](https://github.com/oOo0oOo/lean-lsp-mcp). t-set-theory new-contributor LLM-generated awaiting-author 40/0 Mathlib/Order/IsNormal.lean,Mathlib/SetTheory/Ordinal/Family.lean 2 14 ['cameronfreer', 'github-actions', 'plp127', 'vihdzp'] jjdishere
assignee:jjdishere
8-80756
8 days ago
8-80756
8 days ago
74-9516
74 days
0
41426 gmcninch-prof
author:gmcninch-prof
feat: add symmetric multilinear maps Define `SymmetricMap R M N ι`, the type of symmetric `R`-multilinear maps from `ι → M` to `N` (i.e. multilinear maps invariant under permutation of their arguments). --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> The code is adapted from Kenny Lau's work [here](https://github.com/kckennylau/EllipticCurve/blob/master/EllipticCurve/ProjectiveSpace/TensorProduct/SymmetricMap.lean) -- see [`SymmetricMap`](https://github.com/gmcninch-prof/mathlib4/blob/symmetric-power-lift/Mathlib/LinearAlgebra/TensorProduct/SymmetricMap.lean). This PR previously also contained the universal property / `lift` for `SymmetricPower` (relating linear maps out of `Sym[R]^n M` to symmetric multilinear maps), but per reviewer feedback on Zulip that work has been split into a separate PR that depends on this one. Zulip discussion [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/SymmetricPower.20universal.20property/near/608532652) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
397/0 Mathlib.lean,Mathlib/LinearAlgebra/TensorProduct/SymmetricMap.lean 2 10 ['github-actions', 'gmcninch-prof', 'jcommelin'] riccardobrasca
assignee:riccardobrasca
8-50462
8 days ago
119-68307
119 days ago
121-36536
121 days
1
44822 William7743
author:William7743
feat(Geometry/Euclidean/Inversion): affine limits and filter identities Adds filter-level limit and continuity lemmas for `EuclideanGeometry.inversion` in `Geometry/Euclidean/Inversion/Basic.lean`: * `not_continuousAt_inversion_center_of_neBot` — nonzero-radius inversion is discontinuous at a non-isolated center (`[NeBot (𝓝[≠] c)]`). * `continuousAt_inversion_iff` — inversion is continuous at `x` iff `x ≠ c ∨ R = 0`. * `tendsto_inversion_cobounded_nhds_center` / `tendsto_inversion_cobounded_nhdsNE_center` — as the argument tends to infinity, inversion tends to the center, resp. its punctured neighborhood for nonzero radius. * `map_inversion_cobounded` / `map_inversion_nhdsNE_center` — for nonzero radius, inversion pushes the cobounded filter exactly to `𝓝[≠] c` and back, via its involutivity. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> t-euclidean-geometry LLM-generated new-contributor 53/0 Mathlib/Geometry/Euclidean/Inversion/Basic.lean 1 6 ['SnirBroshi', 'William7743', 'github-actions'] jsm28
assignee:jsm28
8-50458
8 days ago
9-33101
9 days ago
9-35060
9 days
0
42630 will1491
author:will1491
feat(Analysis/Complex): define Wirtinger derivatives Define the Wirtinger derivatives `Complex.wirtingerDeriv` and `Complex.wirtingerDerivBar` from `fderiv ℝ`, and prove: the Cauchy-Riemann characterization of complex differentiability (pointwise and on open sets), agreement of `wirtingerDeriv` with `deriv` for holomorphic functions, additivity, Leibniz product rules, conjugation identities, both Wirtinger chain rules, and the Wirtinger decomposition of a real-linear map `ℂ →L[ℝ] ℂ`. Extracted from https://github.com/will1491/RiemannDynamics, where it underlies the Beltrami-equation and Cauchy/Beurling-transform theory used in the proof of the measurable Riemann mapping theorem. --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other PRs, please list them below this comment, using the following format: - [ ] depends on: #abc [optional extra text] - [ ] depends on: #xyz [optional extra text] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 253/0 Mathlib.lean,Mathlib/Analysis/Complex/Wirtinger.lean 2 6 ['Maldooor', 'github-actions', 'mathlib-merge-conflicts', 'will1491'] felixpernegger
assignee:felixpernegger
8-29393
8 days ago
59-64037
59 days ago
90-39086
90 days
0
44632 skwh54
author:skwh54
feat(RingTheory): prove semiprimary rings are closed under opposites This PR proves that a ring is semiprimary if and only if its opposite ring is semiprimary, resolving the three proof_wanted declarations in Wanted/RingTheory/SimpleModule/WedderburnArtin.lean. It adds the required Jacobson radical symmetry and quotient-ring equivalence, and includes the Artinian/Noetherian consequence as an example in MathlibTest. The Jacobson radical symmetry proof is adapted from [Haruhisa Enomoto's Lean 3 formalization](https://github.com/haruhisa-enomoto/lean-noncommutative-ring/blob/master/src/nc_jacobson_ideal.lean). This PR was created with assistance from Codex. file-removed t-ring-theory new-contributor LLM-generated 174/21 Mathlib.lean,Mathlib/Algebra/Ring/Units.lean,Mathlib/RingTheory/Jacobson/Opposite.lean,Mathlib/RingTheory/SimpleModule/WedderburnArtin.lean,MathlibTest/JacobsonOpposite.lean,Wanted.lean,Wanted/RingTheory/SimpleModule/WedderburnArtin.lean 7 6 ['github-actions', 'skwh54', 'tb65536'] nobody
8-20745
8 days ago
16-79381
16 days ago
32-14446
32 days
0
43280 idontgetoutmuch
author:idontgetoutmuch
feat(Topology/VectorBundle): coordinate lemmas for the bundle of bilinear forms Coordinate lemmas for bundles of continuous linear maps. Bundle.Trivialization.continuousLinearMap_symm_apply, hom_trivializationAt_symm_apply: the inverse of the trivialization of the bundle fun x ↦ E₁ x →SL[σ] E₂ x sends a model map L to v ↦ e₂⁻¹ (L (e₁ v)). inCoordinates_apply_eq₂_of_trivial: inCoordinates_apply_eq₂ when the target bundle is trivial. trivializationAt_symm_apply_bilin: the same for bilinear maps into a fixed space, deduced from hom_trivializationAt_symm_apply. Motivation: in #33714 (existence of a Riemannian metric), the local metric is defined as the inverse trivialization applied to the inner product on the model fibre, and trivializationAt_symm_apply_bilin rewrites it as ⟪e u, e v⟫, from which symmetry and positivity follow. This PR is the first piece split out of #33714, which will be rebased on it. t-topology new-contributor 68/20 Mathlib/Topology/VectorBundle/Hom.lean,Mathlib/Topology/VectorBundle/Riemannian.lean 2 29 ['github-actions', 'grunweg', 'idontgetoutmuch'] grunweg
assignee:grunweg
8-16827
8 days ago
8-16872
8 days ago
65-39031
65 days
0
43758 joelcanary
author:joelcanary
feat(NumberTheory/ArithmeticFunction): the Redheffer determinant equals the Mertens function This PR adds the zeta (divisibility) matrix, the Redheffer matrix and the Mertens function, and proves **Redheffer's theorem** (1977): the determinant of the `(n+1) × (n+1)` Redheffer matrix equals the Mertens function `M(n+1) = ∑_{k ≤ n+1} μ(k)`. In `Mathlib/NumberTheory/ArithmeticFunction/Moebius.lean`: - `ArithmeticFunction.sum_divisors_moebius (k) : ∑ d ∈ k.divisors, μ d = if k = 1 then 1 else 0`, the pointwise form of `moebius_mul_coe_zeta`. New file `Mathlib/NumberTheory/ArithmeticFunction/Redheffer.lean`: - `ArithmeticFunction.mertens : ArithmeticFunction ℤ`, the summatory function of `μ`, with `mertens_apply : mertens n = ∑ k ∈ Icc 1 n, μ k`, `mertens_one`, `mertens_add_one` and `mertens_eq_sum_fin` (the `0`-based form `∑ i : Fin n, μ (i + 1)` used on the matrix side); - `Matrix.zetaMatrix R n : Matrix (Fin n) (Fin n) R` for any `R` with `0` and `1` (entry `1` iff `i + 1 ∣ j + 1`), with `zetaMatrix_apply` (simp), `zetaMatrix_isUpperTriangular` and, for `CommRing R`, `det_zetaMatrix : det = 1` and `det_zetaMatrix_updateCol : det (updateCol 0 u) = ∑ j, μ (j + 1) * u j` (the first row of the inverse is `(μ 1, …, μ n)`); - `Matrix.redheffer R n` (the zeta matrix with its first column set to ones), with `redheffer_apply` (simp) and `redheffer_eq_updateCol`; - `Matrix.det_redheffer (n) : (redheffer R (n + 1)).det = mertens (n + 1)` for any `CommRing R` (with `mertens` cast into `R`). The remaining declarations (the row vector `(μ 1, …, μ n)`, the reindexing of a `Fin n`-sum over divisibility as a sum over `m.divisors`, and three intermediate steps) are `private`: they are proof scaffolding, not API. Proof sketch: by linearity of `det` in the first column, `det (redheffer R (n+1)) = det (zetaMatrix R (n+1)) + det (zetaMatrix with first column (0,1,…,1))`. The first term is `1`; by Cramer's rule (`det_smul_inv_mulVec_eq_cramer`) the second is the first row of the inverse of the zeta matrix dotted with `(0,1,…,1)`, and that row is `(μ 1, …, μ (n+1))` because `μ * ζ = 1` (`moebius_mul_coe_zeta`, via `sum_divisors_moebius`). The remaining sum `μ 2 + ⋯ + μ (n+1)` is `mertens (n+1) - 1`. The ring `R` is an explicit argument of `zetaMatrix` and `redheffer` since nothing else determines it. Neither the Mertens function nor the Redheffer matrix currently appear in Mathlib. The new file imports only `LinearAlgebra.Matrix.Block` and `NumberTheory.ArithmeticFunction.Moebius`. References added to `docs/references.bib`: `redheffer1977` (the theorem) and `odlyzko1985` (cited in the module docstring for the disproof of the Mertens conjecture). AI use: the Lean code and this description were written with an AI agent (Claude) under my direction, from a proof in my own project; I reviewed every declaration, and the branch was checked locally with `lake build`, `lake exe lint-style` and `lake exe runLinter` before each push. t-number-theory new-contributor LLM-generated 238/0 Mathlib.lean,Mathlib/NumberTheory/ArithmeticFunction/Moebius.lean,Mathlib/NumberTheory/ArithmeticFunction/Redheffer.lean,docs/references.bib 4 17 ['MichaelStollBayreuth', 'Parcly-Taxel', 'github-actions', 'joelcanary', 'mathlib-merge-conflicts', 'wwylele'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
8-6234
8 days ago
8-6289
8 days ago
57-16043
57 days
2
43884 joelcanary
author:joelcanary
feat(NumberTheory/ArithmeticFunction): the gcd matrix and Smith's determinant This PR adds the GCD matrix `Matrix.gcdMatrix n f` (entry `f (gcd (i + 1) (j + 1))`) and proves **Smith's determinant** (1875): if `f m = ∑ d ∈ m.divisors, g d` for every `m ≥ 1` (i.e. `f = g * ζ` as arithmetic functions), then `det (gcdMatrix n f) = ∏ i, g (i + 1)`, over any commutative ring (`Matrix.det_gcdMatrix`). The classical case `det [gcd (i, j)] = φ 1 * φ 2 * ⋯ * φ n` is `Matrix.det_gcdMatrix_id`, from `Nat.sum_totient`. Proof: the factorisation `gcdMatrix n f = Zᵀ * (D * Z)` (`Matrix.gcdMatrix_eq_transpose_mul_mul`) with `Z = zetaMatrix R n` from #43758 and `D = diagonal (g (i + 1))`; entry-wise this is `∑ k, [k + 1 ∣ i + 1] [k + 1 ∣ j + 1] g (k + 1) = ∑ d ∣ gcd (i + 1) (j + 1), g d`, obtained from the reindexing lemma of #43880 with `a = 1` and `Nat.dvd_gcd_iff` (`Nat.sum_fin_dvd_dvd_eq_sum_divisors_gcd`). Then `det Z = 1` (`Matrix.det_zetaMatrix`) and `det_diagonal`. New file `Mathlib/NumberTheory/ArithmeticFunction/Smith.lean`, importing `Data.Nat.Totient` and `NumberTheory.ArithmeticFunction.ZetaMatrixInv`; `docs/references.bib` gets `smith1875`. The divisor-function instances are included as one-line corollaries: `Matrix.det_gcdMatrix_sigma` (`det [σ k (gcd i j)] = ∏ (i + 1) ^ k`, so `n!` for `k = 1`) and `Matrix.det_gcdMatrix_card_divisors` (`det [τ (gcd i j)] = 1`). The LCM matrix is left for a follow-up. AI use: the Lean code and this description were written with an AI agent (Claude) under my direction, from a proof in my own project; I reviewed every declaration, and the branch was checked locally with `lake build`, `lake exe lint-style`, `lake exe runLinter` and `scripts/lint-bib.sh` before pushing. - [ ] depends on: #43880 t-number-theory LLM-generated new-contributor blocked-by-other-PR 531/0 Mathlib.lean,Mathlib/NumberTheory/ArithmeticFunction/Moebius.lean,Mathlib/NumberTheory/ArithmeticFunction/Redheffer.lean,Mathlib/NumberTheory/ArithmeticFunction/Smith.lean,Mathlib/NumberTheory/ArithmeticFunction/ZetaMatrixInv.lean,docs/references.bib 6 6 ['github-actions', 'joelcanary', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
8-6166
8 days ago
53-68306
53 days ago
0-243
4 minutes
0
43880 joelcanary
author:joelcanary
feat(NumberTheory/ArithmeticFunction): the inverse of the zeta matrix is the Möbius matrix This PR adds the Möbius matrix `Matrix.moebiusMatrix R n` (entry `μ ((j + 1) / (i + 1))` when `i + 1 ∣ j + 1`, else `0`, over any `R` with `0` and an `IntCast`) and proves that it is the two-sided inverse of the zeta (divisibility) matrix of #43758 over any commutative ring: `Matrix.moebiusMatrix_mul_zetaMatrix`, `Matrix.zetaMatrix_mul_moebiusMatrix`, `Matrix.zetaMatrix_inv : (zetaMatrix R n)⁻¹ = moebiusMatrix R n`, `Matrix.moebiusMatrix_inv`, and `Matrix.det_moebiusMatrix : det = 1`. This is Möbius inversion (`μ * ζ = 1`) written for the matrices of the truncated Dirichlet convolution on `{1, …, n}`. Proof: the `(i, j)` entry of the product is `∑ k, [i + 1 ∣ k + 1] μ ((k + 1) / (i + 1)) [k + 1 ∣ j + 1]`; for `i + 1 ∣ j + 1` the `k` with `i + 1 ∣ k + 1 ∣ j + 1` are reindexed to the divisors of `(j + 1) / (i + 1)` (`Nat.sum_fin_dvd_dvd_eq_sum_divisors`, for any `AddCommMonoid`) and the sum is `ArithmeticFunction.sum_divisors_moebius`; the other product follows from `Matrix.mul_eq_one_comm`. New file `Mathlib/NumberTheory/ArithmeticFunction/ZetaMatrixInv.lean`, importing only `NumberTheory.ArithmeticFunction.Redheffer`. AI use: the Lean code and this description were written with an AI agent (Claude) under my direction; I reviewed every declaration, and the branch was checked locally with `lake build`, `lake exe lint-style` and `lake exe runLinter` before pushing. - [ ] depends on: #43758 t-number-theory LLM-generated new-contributor blocked-by-other-PR 404/0 Mathlib.lean,Mathlib/NumberTheory/ArithmeticFunction/Moebius.lean,Mathlib/NumberTheory/ArithmeticFunction/Redheffer.lean,Mathlib/NumberTheory/ArithmeticFunction/ZetaMatrixInv.lean,docs/references.bib 5 5 ['github-actions', 'joelcanary', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
8-6127
8 days ago
unknown
unknown
1
43947 kedlaya
author:kedlaya
feat(FieldTheory): Artin-Schreier extensions of fields Implement the Artin-Schreier description of cyclic degree-p extensions of fields of characteristic p. Split off from from #41911. - [ ] depends on: #44926 new-contributor t-algebra blocked-by-other-PR merge-conflict
label:t-algebra$
355/0 Mathlib.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/FieldTheory/ArtinSchreierExtension.lean,Mathlib/FieldTheory/Finite/Basic.lean 5 109 ['JX-Mo', 'artie2000', 'github-actions', 'kedlaya', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'plp127', 'tb65536', 'vihdzp'] artie2000
assignee:artie2000
8-1993
8 days ago
31-42341
31 days ago
20-1554
20 days
1
44926 kedlaya
author:kedlaya
feat(FieldTheory): implement Artin-Schreier polynomials --- Implement Artin-Schreier polynomials in preparation for using them to describe cyclic degree-p extensions of fields of characteristic p. Split off from #43947. - [ ] depends on: #44690 t-algebra blocked-by-other-PR new-contributor
label:t-algebra$
156/0 Mathlib.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/FieldTheory/ArtinSchreierExtension.lean,Mathlib/FieldTheory/Finite/Basic.lean 5 18 ['github-actions', 'kedlaya', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'plp127'] nobody
7-52405
7 days ago
unknown
unknown
2
41915 theebayuser
author:theebayuser
feat(Data/List): infixes, the enumerator of contiguous factors This PR adds `List.infixes`, which is the list of all infixes of a list. --- AI disclosure: This code was mostly generated by Claude Fable 5 and Opus 4.8 as part of my larger project on combinatorics on words, which I then reviewed and revised to contribute to mathlib. t-data LLM-generated new-contributor awaiting-author 37/2 Mathlib/Data/List/Infix.lean 1 4 ['YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'theebayuser'] YaelDillies
assignee:YaelDillies
7-22976
7 days ago
7-22976
7 days ago
106-3523
106 days
0
45583 ouboub
author:ouboub
feat(Analysis/ODE): Grönwall's inequality with a variable coefficient Title: feat(Analysis/ODE): Grönwall's inequality with a variable coefficient- #45583 Description: I believe I have successfully implemented and tested the differential form of Grönwall's inequality with variable coefficients. Details can be found in https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/Gronwall.27s.20inequality.3A.20differential.20form.2C.20variable.20coeff/with/636639527 which includes two PDFs with a more detailed description. - Here is a short description: Add Grönwall's inequality in differential form with a variable coefficient `K` and a variable inhomogeneous term `ε`, both continuous and of arbitrary sign, for a function with right derivatives: if `f` is continuous on `[a, b]`, `f' t ≤ K t * f t + ε t` on `[a, b)` and `f a ≤ δ`, then on `[a, b]` `f t ≤ (δ + ∫ s in a..t, ε s / exp (∫ r in a..s, K r)) * exp (∫ s in a..t, K s)`. This addresses (for differentiable `f`) the TODO in `Mathlib/Analysis/ODE/Gronwall.lean` asking for a variable coefficient `K x` of any sign. The main results found in the new file `Mathlib/Analysis/ODE/GronwallVariableCoeff.lean` are * `gronwallBoundVar`: the bound above; * `le_gronwallBoundVar_of_deriv_right_le`: the inequality; * `gronwallBoundVar_const`: for constant `K` and `ε`, `gronwallBoundVar` agrees with the existing `gronwallBound`; * `le_mul_exp_integral_of_deriv_right_le_mul`: the homogeneous case `ε = 0`. The proof uses the integrating factor `exp (∫ s in a..t, K s)` and the comparison lemma `image_le_of_deriv_right_le_deriv_boundary`. - Some open problems: 1. The two auxiliary lemmas `continuousOn_primitive_of_continuousOn` and `hasDerivWithinAt_Ici_primitive` (one-sided FTC) are stated here; I did not find them in Mathlib. Should they move to `Mathlib/MeasureTheory/Integral/IntervalIntegral/`, or into the `intervalIntegral` namespace? 2. I did not dare to put my results into `Mathlib/Analysis/ODE/Gronwall.lean` itself, 3. There might be another TODO in the module docstring: the energy form of Bahouri–Chemin–Danchin, Lemma 3.3. At some point, I asked Claude for advice on the main lemma, but I didn't include syntax I don't understand or haven't tested. The code might be clumsy. regards Uwe Brauer t-analysis new-contributor 270/0 Mathlib.lean,Mathlib/Analysis/ODE/GronwallVariableCoeff.lean 2 4 ['github-actions', 'ouboub'] nobody
7-3219
7 days ago
7-14413
7 days ago
7-14340
7 days
0

Stale delegated PRs

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
44365 justus-springer
author:justus-springer
feat(Algebra/Module/Lattice): improve lattice definition Two changes to the definition of a lattice: * No longer requires fullness: `IsLattice` is split into `IsLattice` (finitely generated, and `R`-linear independence in `M` implies `A`-linear independence) and `IsFullLattice` (a lattice whose `A`-span is `V`). * The new `IsLattice` behaves well when `A` is not the fraction field of `R` (e.g. when `R = ℤ` and `A = ℝ`). Over a fraction field `IsFullLattice` agrees with the old definition. See the [Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Definitions.20of.20lattices/with/620086310) for more context. `Mathlib/Algebra/Module/Lattice.lean` becomes a deprecated module. Every previous declaration is still available, with deprecated aliases where the name changed. The lemma `Submodule.span_range_eq_top_of_injective_of_rank_le` was previously part of the lattice file. In the new setup, it's no longer needed, so it got moved into a more appropriate place. Since it's now unused, one could also argue for removing it. Co-authored-by: Anouk Brose <aebrose@ucdavis.edu> --- - [x] depends on: #43487 - [x] depends on: #44360 <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other 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 delegated
label:t-algebra$
417/210 Mathlib.lean,Mathlib/Algebra/Module/Lattice.lean,Mathlib/Algebra/Module/Lattice/Basic.lean,Mathlib/Algebra/Module/Lattice/Full.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/LinearAlgebra/Dimension/Localization.lean,docs/references.bib 7 59 ['github-actions', 'justus-springer', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'ocfnash', 'tb65536'] nobody
2-8183
2 days ago
12-77287
12 days ago
0-83983
23 hours
1
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 delegated
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 3 ['github-actions', 'grunweg', 'mathlib-bors'] nobody
1-20422
1 day ago
1-20423
1 day ago
2-29739
2 days
2
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 delegated
label:t-algebra$
59/0 Mathlib/LinearAlgebra/Matrix/Defs.lean,Mathlib/LinearAlgebra/Matrix/Reindex.lean 2 11 ['github-actions', 'mathlib-bors', 'riccardobrasca', 'stalex444', 'themathqueen'] nobody
1-13646
1 day ago
1-13667
1 day ago
4-43331
4 days
1
45628 Zetetic-Dhruv
author:Zetetic-Dhruv
feat(Analysis/Complex/Exponential): `one_add_div_pow_le_exp` and `sum_choose_le_exp_pow` - `Real.one_add_div_pow_le_exp : (1 + x / m) ^ m ≤ exp x` for `-m ≤ x`. - `Real.sum_choose_le_exp_pow : ∑ i ∈ range (d + 1), (m.choose i : ℝ) ≤ (exp 1 / d * m) ^ d` for `d ≤ m`. new-contributor t-analysis delegated 36/0 Mathlib/Analysis/Complex/Exponential.lean 1 16 ['YaelDillies', 'Zetetic-Dhruv', 'github-actions', 'mathlib-bors', 'riccardobrasca'] nobody
1-630
1 day ago
1-649
1 day ago
3-42117
3 days
0
45757 Komyyy
author:Komyyy
feat: basic results about `LieHom` Also, replace `Type u`s with `Type*`. From [Ado.ForMathlib.LieMap](https://komyyy.github.io/ado/docs/Ado/ForMathlib/LieMap.html) in [Komyyy/ado](https://github.com/Komyyy/ado) --- <!-- Your PR title will become the first line of the commit message. In this box, the text above the `---` (if not empty) will be appended to the commit message, and can be used to give additional context or details. Please leave a blank newline before the `---`, otherwise GitHub will format the text above it as a title. For details on the "pull request lifecycle" in mathlib, please see: https://leanprover-community.github.io/contribute/index.html In particular, note that most reviewers will only notice your PR if it passes the continuous integration checks. Please ask for help on https://leanprover.zulipchat.com if needed. When merging, all the commits will be squashed into a single commit listing all co-authors. Co-authors in the squash commit are gathered from two sources: First, all authors of commits to this PR branch are included. Thus, one way to add co-authors is to include at least one commit authored by each co-author among the commits in the pull request. If necessary, you may create empty commits to indicate co-authorship, using commands like so: git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor" Second, co-authors can also be listed in lines at the very bottom of the commit message (that is, directly before the `---`) using the following format: Co-authored-by: Author Name <author@email.com> If you are moving or deleting declarations, please include these lines at the bottom of the commit message (before the `---`, and also before any "Co-authored-by" lines) using the following format: Moves: - Vector.* -> List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they will be invisible to reviewers. If this PR depends on other 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 delegated
label:t-algebra$
89/16 Mathlib/Algebra/Lie/Ideal.lean 1 10 ['Komyyy', 'github-actions', 'grunweg', 'mathlib-bors', 'riccardobrasca'] nobody
1-583
1 day ago
1-601
1 day ago
1-18776
1 day
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] --> t-number-theory t-analysis delegated 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 11 ['JovanGerb', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'riccardobrasca', 'smmercuri', 'tb65536'] nobody
1-419
1 day ago
1-436
1 day ago
8-80332
8 days
0

This page collects anonymous visit counts for usage reporting (no cookies, no IP addresses stored). See the Mathlib Initiative privacy policy.