Welcome to the PR triage page! This page is perfect if you intend to look for pull request which seem to have stalled.
Feedback on designing this page or further information to include is very welcome.
These are triage-oriented views, not the main review queue. Updating a PR may remove it from one of these lists, but does not remove it from the review queue unless the PR's status changes out of awaiting review.
| 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 |
| 14720 |
eric-wieser author:eric-wieser |
refactor: change `CliffordAlgebra.lift` to use quadratic maps |
This works towards addressing a footnote on [page 152](https://eric-wieser.github.io/thesis/eric-wieser-thesis.pdf#page=164) of my thesis.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
200/167 |
Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Equivs.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Prod.lean,Mathlib/LinearAlgebra/QuadraticForm/Complex.lean,Mathlib/LinearAlgebra/QuadraticForm/Dual.lean,Mathlib/LinearAlgebra/QuadraticForm/Isometry.lean,Mathlib/LinearAlgebra/QuadraticForm/IsometryEquiv.lean,Mathlib/LinearAlgebra/QuadraticForm/Prod.lean,Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat.lean,Mathlib/LinearAlgebra/QuadraticForm/Real.lean,Mathlib/LinearAlgebra/QuadraticForm/TensorProduct/Isometries.lean |
11 |
1 |
['github-actions'] |
nobody |
663-35135 1 year ago |
unknown |
0-0 0 seconds |
| 14889 |
yuma-mizuno author:yuma-mizuno |
feat(CategoryTheory/Bicategory/Monad): define monad in bicategory |
---
- [ ] depends on: #12107
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
blocked-by-other-PR
t-category-theory
|
1566/12 |
Mathlib.lean,Mathlib/CategoryTheory/Bicategory/Functor/Oplax.lean,Mathlib/CategoryTheory/Bicategory/LocallyDiscrete.lean,Mathlib/CategoryTheory/Bicategory/Monad/Adjunction.lean,Mathlib/CategoryTheory/Bicategory/Monad/Basic.lean,Mathlib/CategoryTheory/Bicategory/Monad/Cat.lean,Mathlib/CategoryTheory/Monad/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/Coherence.lean,Mathlib/Tactic/Widget/StringDiagram.lean,scripts/noshake.json,test/StringDiagram.lean,widget/src/penrose/monoidal.dsl,widget/src/penrose/monoidal.sty |
14 |
2 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
663-35135 1 year ago |
unknown |
0-0 0 seconds |
| 13847 |
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`.
+ Introduce the cusp curve `Y² = X³`, on which lies the rational point `(1,1)`, with the nice property that `ψₙ(1,1) = n`, making it easy to prove nonvanishing of the universal `ψₙ` when `n ≠ 0` by specializing to the cusp curve, which shows that `(X,Y)` is a point of infinite order on the universal pointed elliptic curve.
---
- [x] depends on: #13845
- [x] depends on: #12883
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
t-algebraic-geometry
label:t-algebra$ |
543/208 |
Mathlib.lean,Mathlib/Algebra/Polynomial/Bivariate.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Universal.lean |
6 |
4 |
['Multramate', 'alreadydone', 'github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
663-35134 1 year ago |
unknown |
0-0 0 seconds |
| 14036 |
adomani author:adomani |
Test/decl diff in lean |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
465/1040 |
.github/workflows/Lean_decl_diff.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,.github/workflows/mk_build_yml.sh,scripts/decls_diff_hybrid.sh,scripts/list_decls.lean |
8 |
1 |
['github-actions'] |
nobody |
663-35134 1 year ago |
unknown |
0-0 0 seconds |
| 12952 |
adomani author:adomani |
test: length statistics |
---
[](https://gitpod.io/from-referrer/)
|
WIP
test-ci
|
124/0 |
.github/workflows/mathlib_stats.yml,.github/workflows/ml_stats_label.yaml,scripts/mathlib_stats.sh |
3 |
9 |
['github-actions'] |
nobody |
663-35133 1 year ago |
unknown |
0-0 0 seconds |
| 13297 |
urkud author:urkud |
feat(Semicontinuous): add `comp` lemma |
---
[](https://gitpod.io/from-referrer/) |
merge-conflict
awaiting-author
t-topology
t-order
|
31/13 |
Mathlib/Topology/Semicontinuous.lean |
1 |
3 |
['sgouezel', 'urkud'] |
nobody |
663-35133 1 year ago |
727-35831 727 days ago |
0-18201 5 hours |
| 13372 |
adomani author:adomani |
dev: generic replacement |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
446/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/ReplaceRefine.lean,Mathlib/Tactic/Replacements.lean |
4 |
4 |
['adomani', 'github-actions'] |
nobody |
663-35133 1 year ago |
unknown |
0-0 0 seconds |
| 13512 |
adomani author:adomani |
test: count all |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
85/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/Tally.lean |
4 |
0 |
[] |
nobody |
663-35133 1 year ago |
unknown |
0-0 0 seconds |
| 12416 |
adomani author:adomani |
chore: remove some cdots |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
3830/3239 |
Archive/Imo/Imo1972Q5.lean,Archive/Imo/Imo2006Q5.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2021Q1.lean,Archive/Wiedijk100Theorems/AbelRuffini.lean,Archive/Wiedijk100Theorems/BallotProblem.lean,Archive/Wiedijk100Theorems/BirthdayProblem.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Archive/Wiedijk100Theorems/Partition.lean,Counterexamples/Cyclotomic105.lean,Counterexamples/DirectSumIsInternal.lean,Mathlib.lean,Mathlib/Algebra/Algebra/Spectrum.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/List/Basic.lean,Mathlib/Algebra/Category/GroupCat/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/Images.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/CharP/Quotient.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/DirectLimit.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/GeomSum.lean,Mathlib/Algebra/Group/UniqueProds.lean,Mathlib/Algebra/GroupPower/Order.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/Algebra/Homology/Exact.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/Triangulated.lean,Mathlib/Algebra/Homology/LocalCohomology.lean,Mathlib/Algebra/Homology/TotalComplex.lean,Mathlib/Algebra/Lie/DirectSum.lean,Mathlib/Algebra/Lie/IdealOperations.lean,Mathlib/Algebra/Lie/Nilpotent.lean,Mathlib/Algebra/Lie/Weights/Basic.lean,Mathlib/Algebra/Module/DedekindDomain.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/Module/LocalizedModule.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Module/Submodule/Bilinear.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/Module/Zlattice/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/MonoidAlgebra/Ideal.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Order/Archimedean.lean,Mathlib/Algebra/Order/BigOperators/Group/List.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Algebra/Order/Group/Int.lean,Mathlib/Algebra/Order/Group/MinMax.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/Pointwise.lean,Mathlib/Algebra/Order/Sub/Defs.lean,Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Module/Basic.lean,Mathlib/Algebra/Polynomial/PartialFractions.lean,Mathlib/Algebra/Polynomial/Reverse.lean,Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/Algebra/Polynomial/UnitTrinomial.lean,Mathlib/Algebra/Quandle.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean,Mathlib/AlgebraicGeometry/FunctionField.lean,Mathlib/AlgebraicGeometry/Gluing.lean,Mathlib/AlgebraicGeometry/Morphisms/Basic.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiCompact.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiSeparated.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/Properties.lean,Mathlib/AlgebraicGeometry/Pullbacks.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/AlgebraicTopology/SimplexCategory.lean,Mathlib/AlgebraicTopology/SplitSimplicialObject.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Extend.lean,Mathlib/Analysis/Calculus/InverseFunctionTheorem/ApproximatesLinearOn.lean,Mathlib/Analysis/Calculus/LocalExtr/Basic.lean,Mathlib/Analysis/Calculus/ParametricIntegral.lean,Mathlib/Analysis/Calculus/TangentCone.lean |
608 |
0 |
[] |
nobody |
663-35132 1 year ago |
unknown |
0-0 0 seconds |
| 12465 |
rosborn author:rosborn |
style: Change Subtype.val to (↑) |
---
This is a test to see replacing `Subtype.val` with `(↑)` where appropriate.
After performing the rewrite, some of the types subtly changed in a difficult to detect manner.
Before the change, `openEmbedding' _` had type `OpenEmbedding Subtype.val` where `Subtype.val` expanded as `@Subtype.val α fun x ↦ x ∈ U : ↥U → α`. After the change, `Subtype.val` expands to `@Subtype.val α fun x ↦ x ∈ ↑U : { x // x ∈ ↑U } → α`. This caused some later proofs to fail due to the different definition.
In a similar case, within the proof of `mfderiv_coe_sphere_injective` on line 553 `Subtype.val` expanded as `@Subtype.val E fun x ↦ x ∈ (Submodule.span ℝ {↑(-v)})ᗮ : ↥(Submodule.span ℝ {↑(-v)})ᗮ → E`.
After changing to `(↑)`, it expanded to `@Subtype.val E fun x ↦ x ∈ ↑(Submodule.span ℝ {↑(-v)})ᗮ : { x // x ∈ ↑(Submodule.span ℝ {↑(-v)})ᗮ } → E`. One benefit to using `(↑)` was that it lead to a shorter proof as `ContinuousLinearEquiv.coe_coe` could be removed on line 559.
In general, this subtle change in types is basically impossible to detect without a tool like leaff.
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
50/50 |
Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/Normed/Group/Hom.lean,Mathlib/CategoryTheory/Generator.lean,Mathlib/CategoryTheory/Limits/Shapes/Types.lean,Mathlib/CategoryTheory/Subobject/Types.lean,Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Set/Function.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/Geometry/Manifold/ContMDiff/Basic.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/Geometry/Manifold/LocalInvariantProperties.lean,Mathlib/GroupTheory/Subsemigroup/Operations.lean,Mathlib/LinearAlgebra/LinearIndependent.lean,Mathlib/Order/Directed.lean,Mathlib/Order/RelIso/Basic.lean,Mathlib/Order/RelIso/Set.lean,Mathlib/RingTheory/Artinian.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean,Mathlib/SetTheory/Game/Basic.lean,Mathlib/SetTheory/Game/PGame.lean,Mathlib/SetTheory/Surreal/Basic.lean,Mathlib/Topology/Bornology/Constructions.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean,Mathlib/Topology/Germ.lean,Mathlib/Topology/UniformSpace/Basic.lean,Mathlib/Topology/UniformSpace/UniformConvergenceTopology.lean,Mathlib/Topology/UniformSpace/UniformEmbedding.lean |
28 |
1 |
['eric-wieser', 'rosborn'] |
nobody |
663-35132 1 year ago |
unknown |
0-0 0 seconds |
| 12473 |
adomani author:adomani |
first translations |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
424/265 |
Mathlib.lean,Mathlib/Order/Lattice.lean,Mathlib/Order/WithBot.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MinMax.lean |
5 |
0 |
[] |
nobody |
663-35132 1 year ago |
unknown |
0-0 0 seconds |
| 12528 |
adomani author:adomani |
test: autotranslations Bot --> Top |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
350/294 |
Mathlib.lean,Mathlib/Order/WithBot.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MinMax.lean,test/MinMax.lean |
5 |
0 |
[] |
nobody |
663-35132 1 year ago |
755-70570 755 days ago |
0-4 4 seconds |
| 12588 |
adomani author:adomani |
remove trailingDegree |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
1280/979 |
Mathlib.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Degree/TrailingDegree.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/Mirror.lean,Mathlib/Order/WithBot.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MinMax.lean,Mathlib/Tactic/MinMaxTwo.lean,test/MinMax.lean |
11 |
0 |
[] |
nobody |
663-35132 1 year ago |
unknown |
0-0 0 seconds |
| 12608 |
eric-wieser author:eric-wieser |
feat: allow `nsmul` / `zsmul` to be omitted again, with a warning |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
t-meta
label:t-algebra$ |
118/2 |
Mathlib.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Tactic.lean,Mathlib/Tactic/DefaultFieldLinter.lean,scripts/noshake.json,test/default_field_linter.lean |
6 |
12 |
['YaelDillies', 'eric-wieser', 'fpvandoorn', 'github-actions'] |
nobody |
663-35132 1 year ago |
752-67551 752 days ago |
0-84 1 minute |
| 12637 |
adomani author:adomani |
translation: MonoidAlgebra to AddMonoidAlgebra |
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/merge.20Add-MonoidAlgebra)
* #12646 was found as a consequence of unification.
* #12659 the typo `single 1 1` for `single 0 1`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
t-meta
label:t-algebra$ |
615/986 |
Mathlib.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Division.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MinMaxTwo.lean,scripts/noshake.json |
7 |
0 |
[] |
nobody |
663-35132 1 year ago |
unknown |
0-0 0 seconds |
| 12984 |
adomani author:adomani |
Adomani/periodic reports dev custom action |
---
[](https://gitpod.io/from-referrer/)
|
WIP
test-ci
|
366/0 |
.github/workflows/mathlib_stats.yml,.github/workflows/ml_stats_label.yaml,scripts/count_decls.lean,scripts/mathlib_stats.sh |
4 |
69 |
['github-actions'] |
nobody |
663-35132 1 year ago |
unknown |
0-0 0 seconds |
| 13057 |
alreadydone author:alreadydone |
feat(NumberTheory): characterize elliptic divisibility sequences |
Main results:
+ Every `normEDS` is an elliptic divisibility sequence (EDS). The key proof is `rel₄_of_anti_oddRec_evenRec`, based on my original argument first published on [MathSE](https://math.stackexchange.com/a/4903422/12932)
+ Conversely, every EDS is equal to some `normEDS` (assuming that the first two terms are not zero divisors)
---
- [ ] depends on: #13155
- [x] depends on: #13153
- [x] depends on: #10843
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
t-number-theory
blocked-by-other-PR
label:t-algebra$ |
1032/55 |
Mathlib/Algebra/Ring/NegOnePow.lean,Mathlib/Data/Int/Defs.lean,Mathlib/Data/Int/Parity.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/NumberTheory/EllipticDivisibilitySequence.lean |
5 |
6 |
['Multramate', 'alreadydone', 'kbuzzard', 'leanprover-community-mathlib4-bot'] |
nobody |
663-35132 1 year ago |
731-59560 731 days ago |
0-34672 9 hours |
| 12192 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: generalize isLittleO_const_id_atTop/atBot |
From PNT+.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-analysis
|
10/4 |
Mathlib/Analysis/Asymptotics/Asymptotics.lean |
1 |
6 |
['Ruben-VandeVelde', 'llllvvuu', 'urkud'] |
nobody |
663-35131 1 year ago |
767-57227 767 days ago |
1-21749 1 day |
| 10024 |
ADedecker author:ADedecker |
feat: rename `connectedComponentOfOne` to `identityComponent`, prove that it is normal and open |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
awaiting-CI
|
58/24 |
Mathlib/FieldTheory/AbsoluteGaloisGroup.lean,Mathlib/Topology/Algebra/Group/Basic.lean,Mathlib/Topology/Algebra/Group/TopologicalAbelianization.lean,Mathlib/Topology/Algebra/OpenSubgroup.lean,Mathlib/Topology/Connected/Basic.lean |
5 |
0 |
[] |
nobody |
663-35130 1 year ago |
850-27254 850 days ago |
0-832 13 minutes |
| 10521 |
eric-wieser author:eric-wieser |
chore: generalize `IsBoundedLinearMap` to modules |
Most of the lemmas don't actually need the normed on the scalars at all.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-analysis
|
58/42 |
Mathlib/Analysis/NormedSpace/BoundedLinearMaps.lean |
1 |
3 |
['github-actions', 'j-loreaux', 'urkud'] |
nobody |
663-35130 1 year ago |
830-3180 830 days ago |
1-29105 1 day |
| 10721 |
urkud author:urkud |
feat(Order/FunLike): define `PointwiseLE` |
- introduce a mixin class `DFunLike.PointwiseLE`, use it to define `DFunLike.instPartialOrder`;
- add a generic `DFunLike.orderEmbeddingCoe`
- add `DFunLike.PointwiseLE` instances here and there.
With this refactor and #13022, I'm going to generalize lemmas like `MeasureTheory.ae_mono` to `OuterMeasureClass`.
---
- [x] depends on: #12983
[](https://gitpod.io/from-referrer/) |
merge-conflict
t-order
t-logic
|
123/50 |
Mathlib.lean,Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/FunLike/Basic.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean,Mathlib/GroupTheory/Congruence.lean,Mathlib/Order/FunLike.lean,Mathlib/Order/Heyting/Hom.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/Hom/Bounded.lean,Mathlib/Order/Hom/CompleteLattice.lean,Mathlib/Topology/Order/Hom/Basic.lean |
13 |
48 |
['YaelDillies', 'dupuisf', 'leanprover-community-mathlib4-bot', 'urkud'] |
nobody |
663-35130 1 year ago |
713-13532 713 days ago |
64-12984 64 days |
| 10845 |
Shamrock-Frost author:Shamrock-Frost |
Refactor: Make MonoidalFunctor carry the data of an inverse |
We change the definition of a strong monoidal functor from a lax monoidal functor for which the unitor and tensorator are `IsIso` to a lax monoidal functor with the data of inverses for the unitor and tensorator. This requires fixing a lot of knock on effects.
---
This is a **draft PR**. I would like to talk with people on zulip before merging it, and plan ahead to when we have oplax/colax monoidal functors as well. I'm not sure the approach I took here where `MonoidalFunctor` inherits from `LaxMonoidalFunctor` is a good choice if we want to be lax/oplax symmetric.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
RFC
t-category-theory
|
3799/1589 |
Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Algebra/Homology/HomotopyCategory/DegreewiseSplit.lean,Mathlib/CategoryTheory/Adjunction/Basic.lean,Mathlib/CategoryTheory/Adjunction/Mates.lean,Mathlib/CategoryTheory/Adjunction/Opposites.lean,Mathlib/CategoryTheory/Adjunction/Prod.lean,Mathlib/CategoryTheory/Adjunction/Whiskering.lean,Mathlib/CategoryTheory/Bicategory/End.lean,Mathlib/CategoryTheory/Bicategory/SingleObj.lean,Mathlib/CategoryTheory/CatCommSq.lean,Mathlib/CategoryTheory/CatSquares.lean,Mathlib/CategoryTheory/Enriched/Basic.lean,Mathlib/CategoryTheory/Equivalence.lean,Mathlib/CategoryTheory/Iso.lean,Mathlib/CategoryTheory/Monoidal/Adjunction.lean,Mathlib/CategoryTheory/Monoidal/Braided.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/CategoryTheory/Monoidal/CommMon_.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/CategoryTheory/Monoidal/End.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/Limits.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/NaturalTransformation.lean,Mathlib/CategoryTheory/Monoidal/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Rigid/FunctorCategory.lean,Mathlib/CategoryTheory/Monoidal/Rigid/OfEquivalence.lean,Mathlib/CategoryTheory/Monoidal/Subcategory.lean,Mathlib/CategoryTheory/Monoidal/Transport.lean,Mathlib/CategoryTheory/Monoidal/Types/Basic.lean,Mathlib/CategoryTheory/Opposites.lean,Mathlib/CategoryTheory/Products/Associator.lean,Mathlib/CategoryTheory/Products/Basic.lean,Mathlib/CategoryTheory/Shift/Basic.lean,Mathlib/CategoryTheory/Shift/Pullback.lean,Mathlib/CategoryTheory/Whiskering.lean,Mathlib/RepresentationTheory/Action/Monoidal.lean,Mathlib/RepresentationTheory/GroupCohomology/Resolution.lean,Mathlib/RepresentationTheory/Rep.lean |
41 |
7 |
['Shamrock-Frost', 'joelriou'] |
nobody |
663-35130 1 year ago |
unknown |
0-0 0 seconds |
| 11100 |
eric-wieser author:eric-wieser |
feat(CategoryTheory/Limits): add `Functor.mapBinaryBiconeInv` |
---
- [ ] depends on: #11130
[](https://gitpod.io/from-referrer/)
It's tempting to try to prove something like
```lean
theorem Functor.mapBinaryBiconeInv_toCone [Limits.HasZeroMorphisms C]
[Limits.HasZeroMorphisms D]
(e : D ⥤ C) [IsEquivalence e] {X Y : D} (b : BinaryBicone (e.obj X) (e.obj Y)) :
(e.mapBinaryBiconeInv b).toCone =
(e.mapConeInv <| (Cones.postcompose (pairComp X Y e).symm.hom).obj b.toCone) := by
simp
sorry
theorem Functor.mapBinaryBiconeInv_toCocone [Limits.HasZeroMorphisms C]
[Limits.HasZeroMorphisms D]
(e : D ⥤ C) [IsEquivalence e] {X Y : D} (b : BinaryBicone (e.obj X) (e.obj Y)) :
(e.mapBinaryBiconeInv b).toCocone =
(e.mapCoconeInv <| (Cocones.precompose (pairComp X Y e).hom).obj b.toCocone) := by
sorry
```
but maybe equality is evil here |
merge-conflict
t-category-theory
awaiting-CI
|
52/0 |
Mathlib/CategoryTheory/Adjunction/Basic.lean,Mathlib/CategoryTheory/Equivalence.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Biproducts.lean |
3 |
6 |
['TwoFX', 'eric-wieser', 'leanprover-community-mathlib4-bot'] |
nobody |
663-35130 1 year ago |
unknown |
0-0 0 seconds |
| 8503 |
thorimur author:thorimur |
feat: meta utils for `refine?` |
This PR introduces some metaprogramming infrastructure and utilities that are necessary for `refine?` (#8364).
* `elabTermWithHoles'` (and `withCollectingNewGoalsFrom'`): a more configurable version of `elabTermWithHoles`, which allows: preserving the initial mvar type; *not* tagging untagged goals; and postponing mvars.
* Some `Syntax` and `TSyntax` functionality, including:
* `TSyntax.map`(`M`), for acting on `TSyntax` with functions `f : Syntax -> (m) Syntax`
* Range operations: `includes` and `isEqByRange`
* `setTrailingInfoBy?` and `unsetOriginalTrailing`, which is like `unsetTrailing`, but behaves as expected.
* `Term.withoutModifyingState`, which does not allow unknown mvarIds to escape via the infotree
* `hasNewErrors`, which runs a monad computation and returns the value along with `true` or `false` depending on whether new error messages have been logged
* the option `pp.anonymousMVarSuffixes`, which can be set to `false` to replace all numeric suffixes of anonymous mvars with `✝`, which is useful in tandem with `#guard_msgs` for tests (but is essentially a workaround—although it can make some tactic states more legible).
---
I'm open to suggestions on the location and name of the option/delaborator used for trimming the numeric suffixes of anonymous mvar names (which is used in the tests)—including whether or not it should exist in the first place, as it's essentially just a workaround.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
312/5 |
Mathlib.lean,Mathlib/Lean/CoreM.lean,Mathlib/Lean/Elab/Tactic/ElabTerm.lean,Mathlib/Lean/Elab/Term.lean,Mathlib/Util/Delaborators.lean,Mathlib/Util/Syntax.lean |
6 |
2 |
['kmill', 'thorimur'] |
kmill assignee:kmill |
663-35129 1 year ago |
880-7453 880 days ago |
38-46649 38 days |
| 8519 |
eric-wieser author:eric-wieser |
refactor(LinearAlgebra/TensorProduct): golf using `liftAddHom` |
This new `TensorProduct.liftAddHom` doesn't require bilinearity, only that scalar multiplication can be moved between the arguments.
While in theory we only need the `AddMonoidHom` version as it offers exactly the same generality, we first provide an unbundled `liftFun` as this seems to give a sizeable performance boost if used in downstream `lift` variants.
---
- [x] depends on: #8571
- [x] depends on: #8584
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
53/50 |
Mathlib/Algebra/Category/AlgebraCat/Monoidal.lean,Mathlib/LinearAlgebra/TensorProduct.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean |
3 |
28 |
['bustercopley', 'eric-wieser', 'jcommelin', 'jjaassoonn', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib-bors'] |
nobody |
663-35129 1 year ago |
903-492 903 days ago |
5-6524 5 days |
| 8582 |
eric-wieser author:eric-wieser |
wip |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
3/7 |
Mathlib/Algebra/Category/AlgebraCat/Monoidal.lean,Mathlib/LinearAlgebra/TensorProduct.lean |
2 |
4 |
['eric-wieser', 'leanprover-bot'] |
nobody |
663-35129 1 year ago |
unknown |
0-0 0 seconds |
| 8616 |
eric-wieser author:eric-wieser |
feat(Algebra/FreeAlgebra): add right action and `IsCentralScalar` |
---
- [ ] depends on: #8652
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-CI
label:t-algebra$ |
30/8 |
Mathlib/Algebra/FreeAlgebra.lean |
1 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
663-35129 1 year ago |
910-69071 910 days ago |
2-25170 2 days |
| 8658 |
eric-wieser author:eric-wieser |
feat: support right actions for `Con` |
This adds a new `Con.CompatibleSMul` typeclass that captures exactly the condition when `smul` descends to the quotient.
I was not quite able to merge this with `MulAction.QuotientAction`:
* The imports are such that the congruence relation `QuotientGroup.con` is not yet available in that file
* `QuotientGroup.con` requires the subgroup to be normal, while `MulAction.QuotientAction` does not
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
80/18 |
Mathlib/GroupTheory/Congruence.lean,Mathlib/RingTheory/Congruence.lean |
2 |
6 |
['YaelDillies', 'eric-wieser'] |
nobody |
663-35129 1 year ago |
880-776 880 days ago |
29-65537 29 days |
| 8788 |
FMLJohn author:FMLJohn |
feat(Algebra/Module/GradeZeroModule): if `A` is a graded semiring and `M` is a graded `A`-module, then each grade of `M` is a module over the 0-th grade of `A`. |
---
- [ ] depends on: #8187
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
237/4 |
Mathlib.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/Module/GradeZeroModule.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/Noetherian.lean |
6 |
4 |
['FMLJohn', 'github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
663-35129 1 year ago |
903-25025 903 days ago |
1-57831 1 day |
| 8906 |
jjaassoonn author:jjaassoonn |
feat: add some missing lemmas about linear algebra |
---
- [ ] depends on: #8905 [lifting injective modules to higher universe]
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
45/1 |
Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/LinearAlgebra/Basic.lean,Mathlib/LinearAlgebra/BilinearMap.lean |
4 |
21 |
['AntoineChambert-Loir', 'alreadydone', 'jjaassoonn', 'leanprover-community-mathlib4-bot'] |
nobody |
663-35129 1 year ago |
899-8223 899 days ago |
0-343 5 minutes |
| 8961 |
eric-wieser author:eric-wieser |
refactor: use the coinduced topology on ULift |
---
- [x] depends on: #8958
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
awaiting-author
awaiting-CI
|
46/14 |
Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Topology/Bornology/Constructions.lean,Mathlib/Topology/Constructions.lean |
3 |
6 |
['eric-wieser', 'github-actions', 'leanprover-community-mathlib4-bot', 'urkud'] |
nobody |
663-35129 1 year ago |
896-66959 896 days ago |
0-1 1 second |
| 9146 |
laughinggas author:laughinggas |
feat(Data/ZMod/Defs): Topological structure on `ZMod` |
Added a discrete topology structure to `ZMod n` for all `n`
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-author
t-topology
label:t-algebra$ |
55/3 |
Mathlib.lean,Mathlib/Topology/Algebra/Constructions.lean,Mathlib/Topology/Algebra/Group/Basic.lean,Mathlib/Topology/Instances/ZMod.lean,Mathlib/Topology/Maps.lean |
5 |
61 |
['YaelDillies', 'eric-wieser', 'github-actions', 'jcommelin', 'laughinggas', 'mo271', 'urkud'] |
nobody |
663-35129 1 year ago |
869-79620 869 days ago |
7-11053 7 days |
| 9229 |
eric-wieser author:eric-wieser |
refactor(Algebra/GradedMonoid): Use `HMul` to define `GMul` |
This make the notation much nicer, but I'm pretty sure this is a bad idea for performance / ambiguity reasons.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
114/125 |
Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/GradedMulAction.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/Algebra/MonoidAlgebra/ToDirectSum.lean,Mathlib/LinearAlgebra/TensorAlgebra/ToTensorPower.lean,Mathlib/LinearAlgebra/TensorPower.lean,Mathlib/LinearAlgebra/TensorProduct/Graded/Internal.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean |
11 |
6 |
['eric-wieser', 'leanprover-bot'] |
nobody |
663-35129 1 year ago |
unknown |
0-0 0 seconds |
| 9252 |
FR-vdash-bot author:FR-vdash-bot |
chore: remove redundant covariance instances, add priority |
I noticed that the following code is surprisingly slow.
``` lean
import Mathlib
count_heartbeats in
example {n : ℕ} : CovariantClass (Fin (n + 1)) (Fin (n + 1)) (· + ·) (· < ·) := by
try infer_instance
sorry
```
This PR removed some redundant instances. The heartbeats have dropped from 19118 to 11450 (still too slow).
Lean4 still seems to make some redundant attempts. See also https://github.com/leanprover-community/mathlib4/issues/6646#issuecomment-1691792488.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
t-order
merge-conflict
slow-typeclass-synthesis
awaiting-author
label:t-algebra$ |
40/32 |
Mathlib/Algebra/CovariantAndContravariant.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/CategoryTheory/Abelian/DiagramLemmas/Four.lean |
4 |
8 |
['astrainfinita', 'leanprover-bot', 'urkud'] |
nobody |
663-35129 1 year ago |
unknown |
0-0 0 seconds |
| 9354 |
chenyili0818 author:chenyili0818 |
feat: monotonicity of gradient on convex real-valued functions |
This file is based on Mathlib.Analysis.Calculus.Gradient.Basic, and describes the calculation properties
co-authored-by: Ziyu Wang [tropicalfish910@gmail.com](mailto:tropicalfish910@gmail.com)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-analysis
|
540/0 |
Mathlib.lean,Mathlib/Analysis/Convex/ConvexFunction.lean |
2 |
15 |
['github-actions', 'winstonyin'] |
nobody |
663-35129 1 year ago |
853-65755 853 days ago |
23-36394 23 days |
| 9356 |
alexjbest author:alexjbest |
feat: assumption? |
A little helper for replacing `assumption`s with `exact` statements quickly
---
If this is approved I will add tests
This begs the question of whether it might simply be better to add some sort of code action for "replace with trythis output"
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
24/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/TryAssumption.lean |
4 |
5 |
['alexjbest', 'j-loreaux', 'jcommelin'] |
nobody |
663-35129 1 year ago |
857-71127 857 days ago |
19-26336 19 days |
| 9469 |
dupuisf author:dupuisf |
feat: maximum modulus principle for functions vanishing at infinity |
This PR adds versions of the maximum modulus principle for functions vanishing at infinity that parallel those we already had for functions over a bounded set. These will have applications in e.g. norm interpolation.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-analysis
|
71/0 |
Mathlib/Analysis/Complex/AbsMax.lean |
1 |
8 |
['dupuisf', 'j-loreaux'] |
nobody |
663-35129 1 year ago |
857-76375 857 days ago |
12-86009 12 days |
| 9482 |
yuma-mizuno author:yuma-mizuno |
refactor(CategoryTheory/Monoidal): add `LaxMonoidalStruct` |
Add a `LaxMonoidalStruct` with only the unit morphism `ε` and the tensorator `μ`. This is used in #6307 to provide two different constructors for `LaxMonoidal` that have common `ε` and `μ` but use the tensor of morphisms or the whiskerings.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
21/8 |
Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/CategoryTheory/Monoidal/Functorial.lean,Mathlib/CategoryTheory/Monoidal/Limits.lean |
3 |
0 |
[] |
nobody |
663-35129 1 year ago |
unknown |
0-0 0 seconds |
| 9487 |
eric-wieser author:eric-wieser |
feat: the exponential of dual numbers over non-commutative rings |
This is a work in progress, as I don't know my way around the measure theory library.
---
- [x] depends on: #9489
- [x] depends on: #9486
- [x] depends on: #10427
- [ ] depends on: #10452
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
t-measure-probability
merge-conflict
t-analysis
label:t-algebra$ |
97/0 |
Mathlib/Analysis/NormedSpace/TrivSqZeroExt.lean |
1 |
7 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
663-35129 1 year ago |
unknown |
0-0 0 seconds |
| 9504 |
alreadydone author:alreadydone |
chore: remove some IsSeparable assumptions |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
41/14 |
Mathlib/NumberTheory/NumberField/Norm.lean,Mathlib/RingTheory/Norm.lean |
2 |
0 |
[] |
nobody |
663-35129 1 year ago |
unknown |
0-0 0 seconds |
| 9510 |
eric-wieser author:eric-wieser |
feat(Analysis/Calculus/DualNumber): Extending differentiable functions to dual numbers |
This shows that this operation preserves multiplication and composition
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
t-analysis
awaiting-CI
label:t-algebra$ |
119/0 |
Mathlib/Analysis/Calculus/DualNumber.lean |
1 |
4 |
['github-actions'] |
nobody |
663-35129 1 year ago |
unknown |
0-0 0 seconds |
| 9570 |
eric-wieser author:eric-wieser |
feat(Algebra/Star): Non-commutative generalization of `StarModule` |
[Zulip thread](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/Star.20modules.20over.20non-commutative.20scalars/near/383664005).
Until we address #7152, we have to have both `StarModule` and `StarModule'`.
To prove this generalization is useful, this shows that with it as an assumption, `TrivSqZeroExt` is a `StarRing`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
awaiting-CI
label:t-algebra$ |
66/6 |
Mathlib/Algebra/Star/Basic.lean,Mathlib/Algebra/Star/Pi.lean,Mathlib/Algebra/Star/Prod.lean,Mathlib/Algebra/TrivSqZeroExt.lean |
4 |
0 |
[] |
nobody |
663-35129 1 year ago |
unknown |
0-0 0 seconds |
| 9642 |
eric-wieser author:eric-wieser |
refactor(Analysis/Normed/{Group/Field}/Basic): Let `extends` generate the repeated fields |
New-style structure shenanigans mean that instance constructors randomly complain about a missing field that can be found with `__ : MetricSpace _ := infer_instance`.
---
[](https://gitpod.io/from-referrer/)
I will write a longer PR description for this once CI is happy
|
WIP
merge-conflict
awaiting-author
help-wanted
t-analysis
|
122/202 |
Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Matrix.lean,Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Group/Completion.lean,Mathlib/Analysis/Normed/Order/Basic.lean,Mathlib/Analysis/NormedSpace/ProdLp.lean,Mathlib/Analysis/NormedSpace/Star/Matrix.lean,Mathlib/Analysis/NormedSpace/Unitization.lean,Mathlib/Analysis/Quaternion.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/InformationTheory/Hamming.lean,Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding.lean,Mathlib/NumberTheory/Padics/PadicIntegers.lean,Mathlib/Topology/ContinuousFunction/Bounded.lean |
17 |
11 |
['eric-wieser', 'leanprover-bot', 'urkud'] |
nobody |
663-35129 1 year ago |
unknown |
0-0 0 seconds |
| 6580 |
adomani author:adomani |
chore: `move_add`-driven replacements |
This PR accompanies #6576 and uses `move_add/mul` to simplify/streamline a selection of proofs.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
|
12/13 |
Counterexamples/Monic_nonRegular.lean,Mathlib/Algebra/Associated.lean,Mathlib/Data/Polynomial/RingDivision.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean |
4 |
0 |
[] |
nobody |
663-35128 1 year ago |
948-84292 948 days ago |
62-34247 62 days |
| 6630 |
MohanadAhmed author:MohanadAhmed |
feat: Reduced Spectral Theorem |
For A hermitian matrix $A : n \times n$ with rank $A.rank \leq n$, we can eliminate the zero eigenvalues and their corresponding eigenvectors from the (alternate) spectral theorem. As such the matrix $A$ can be written as: $$A = V₁ D V₁ᴴ$$ where
- $V₁$ : $n \times r$ is the matrix of eigenvector with non-zero associated eigenvalues.
- $D$ is $r \times r$ is the diagonal matrix containing only non-zero eigenvalues on its main diagonal.
with $r = A.rank$ being the rank of the matrix
Towards that goal we make several equivalence definitions:
- `{i // hA.eigenvalues i ≠ 0} ≃ Fin (A.rank)` the set of non-zero eigenvalues can be indexed by the numbers from 0 to (r - 1).
- `{i // ¬ hA.eigenvalues i ≠ 0} ≃ Fin (n - A.rank)` the set of non-zero eigenvalues can be indexed by the numbers from 0 to (n - r - 1).
- `{i // hA.eigenvalues i ≠ 0} ⊕ {i // ¬hA.eigenvalues i ≠ 0} ≃ n`: the index set of the matrix (together with the associated eigenvector matrix and eigenvalues matrix ) can be partitioned into two complement groups the ones corresponding to non-zero eigenvalues and the ones corresponding to zero eigenvalues.
- We can then put the previous definitions together to obtain a: `Fin (A.rank) ⊕ Fin (Fintype.card n - A.rank) ≃ n`
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
31/0 |
Mathlib/LinearAlgebra/Matrix/Spectrum.lean |
1 |
0 |
[] |
nobody |
663-35128 1 year ago |
unknown |
0-0 0 seconds |
| 6777 |
adomani author:adomani |
chore(Co*variantClass): replace eta-expanded (· * ·), (· + ·), (· ≤ ·), (· < ·) |
Replace `CovariantClass X X (· * ·) (· ≤ ·)` with -> `CovariantClass X X HMul.hMul LE.le` and similarly for `HAdd`, `LT`, `Contravariant`.
This PR is inspired by [Issue #6646](https://github.com/leanprover-community/mathlib4/issues/6646) and, more specifically, [this comment](https://github.com/leanprover-community/mathlib4/issues/6646#issuecomment-1692792066).
Note that https://github.com/leanprover/lean4/pull/2267 would make this unnecessary
---
```bash
# First sed command:
# the first captured pattern is `Co*variantClass `
# the second captured pattern is ``
# the third captured pattern is `+` or `*`
# the fourth captured pattern is `<` or `≤`
# a match for `Co*variantClass (· ·) (· ·)` becomes
# `Co*variantClass replaceop replaceop`
# Second sed command: similar to the first, but looks for `(Function.swap (· ·))`
sed -i '
s=\(Co[ntra]*variantClass \(..*\) \2 \)(· *\([+*]\) *·) (· *\([<≤]\) *·)=\1replaceop\3 replaceop\4=g
s=\(Co[ntra]*variantClass \(..*\) \2 \)(\([Functio\.swap ]*\)(· *\([+*]\) *·)) (· *\([<≤]\) *·)=\1(\3replaceop\4) replaceop\5=g
s=replaceop+=HAdd.hAdd=g
s=replaceop\*=HMul.hMul=g
s=replaceop<=LT.lt=g
s=replaceop≤=LE.le=g
s=\(Co[ntra]*variantClass N N\) (· \* ·) r=\1 HMul.hMul r=g
s=\(Co[ntra]*variantClass N N (swap μ)\) (· ≤ ·)=\1 LE.le=g
s=\(Co[ntra]*variantClass N N\) (swap (· \* ·)) r=\1 (swap HMul.hMul) r=g
s=\(CovariantClass (Filter α) (Filter α)\) (· / ·) (· ≤ ·)=\1 HDiv.hDiv LE.le=g
s=\(CovariantClass (Filter α) (Filter α)\) (swap (· / ·)) (· ≤ ·)=\1 (swap HDiv.hDiv) LE.le=g
s=\(Co[ntra]*variantClass .* (fun x y .> . \* .)\) (· ≤ ·)=\1 LE.le=g
s=\(Co[ntra]*variantClass .* (fun x y .> . \* .)\) (· < ·)=\1 LT.lt=g
s=\(Co[ntra]*variantClass [^}]*\) (· ≤ ·)=\1 LE.le=g
s=\(CovariantClass .* (Filter β)\) (· • ·) LE.le=\1 HSMul.hSMul LE.le=g
' $(git ls-files '*.lean')
```
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
703/678 |
Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean,Mathlib/Algebra/BigOperators/Basic.lean,Mathlib/Algebra/Bounds.lean,Mathlib/Algebra/CovariantAndContravariant.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/Group/UniqueProds.lean,Mathlib/Algebra/GroupPower/Order.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/Order/Archimedean.lean,Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Group/DenselyOrdered.lean,Mathlib/Algebra/Order/Group/MinMax.lean,Mathlib/Algebra/Order/Group/OrderIso.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Interval.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/Algebra/Order/LatticeGroup.lean,Mathlib/Algebra/Order/Module.lean,Mathlib/Algebra/Order/Monoid/Basic.lean,Mathlib/Algebra/Order/Monoid/Cancel/Defs.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/Lemmas.lean,Mathlib/Algebra/Order/Monoid/MinMax.lean,Mathlib/Algebra/Order/Monoid/NatCast.lean,Mathlib/Algebra/Order/Monoid/OrderDual.lean,Mathlib/Algebra/Order/Monoid/Prod.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean,Mathlib/Algebra/Order/Monoid/WithZero/Basic.lean,Mathlib/Algebra/Order/Monoid/WithZero/Defs.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Pointwise.lean,Mathlib/Algebra/Order/Positive/Ring.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/Lemmas.lean,Mathlib/Algebra/Order/Sub/Basic.lean,Mathlib/Algebra/Order/Sub/Canonical.lean,Mathlib/Algebra/Order/Sub/Defs.lean,Mathlib/Algebra/Order/WithZero.lean,Mathlib/Algebra/Parity.lean,Mathlib/Algebra/Star/Order.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/Normed/Order/Lattice.lean,Mathlib/Data/DFinsupp/Lex.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/Finset/Fold.lean,Mathlib/Data/Finsupp/Lex.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/List/BigOperators/Basic.lean,Mathlib/Data/List/BigOperators/Lemmas.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/Nat/Cast/Order.lean,Mathlib/Data/PNat/Basic.lean,Mathlib/Data/Real/ENNReal.lean,Mathlib/Data/Real/NNReal.lean,Mathlib/Data/Set/Semiring.lean,Mathlib/Data/Sign.lean,Mathlib/MeasureTheory/Function/LpOrder.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/VectorMeasure.lean,Mathlib/Order/ConditionallyCompleteLattice/Group.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Probability/Martingale/Basic.lean,Mathlib/Probability/Process/Stopping.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Game/Basic.lean,Mathlib/SetTheory/Game/PGame.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/NaturalOps.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/Positivity/Basic.lean,Mathlib/Topology/ContinuousFunction/Algebra.lean,lean-toolchain,test/Recall.lean,test/propose.lean |
81 |
37 |
['adomani', 'alreadydone', 'digama0', 'eric-wieser', 'ericrbg', 'jcommelin', 'leanprover-bot', 'sgouezel', 'vihdzp'] |
nobody |
663-35128 1 year ago |
938-625 938 days ago |
35-63136 35 days |
| 6791 |
eric-wieser author:eric-wieser |
refactor: Use flat structures for morphisms |
This restores the symmetry we had in Lean3, where we had `MonoidHom.mk f one mul` not `MonoidHom.mk (OneHom.mk f one) mul`, and `f.toFun` wasn't notation for `f.toMulHom.toFun`.
The nesting provided by the previous inheritance is useless to us in the face of `MonoidHomClass.toMonoidHom`, which completely eta-expands the structure anyway.
We call the class `FunLikeFlatHack._` because this means the field is called `to_` which uses up less space in the goal view than any alternative.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
help-wanted
awaiting-CI
|
174/201 |
Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Category/GroupCat/ZModuleEquivalence.lean,Mathlib/Algebra/Category/GroupWithZeroCat.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/MonCat/Basic.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Group/UniqueProds.lean,Mathlib/Algebra/Hom/Equiv/Basic.lean,Mathlib/Algebra/Hom/Group/Defs.lean,Mathlib/Algebra/Hom/GroupAction.lean,Mathlib/Algebra/Hom/NonUnitalAlg.lean,Mathlib/Algebra/Hom/Ring/Defs.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Module/Equiv.lean,Mathlib/Algebra/Module/LinearMap.lean,Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Algebra/Order/Interval.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Analysis/Normed/Group/SemiNormedGroupCat.lean,Mathlib/Data/FunLike/Basic.lean,Mathlib/Data/Rat/Cast/CharZero.lean,Mathlib/Data/Real/EReal.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/GroupTheory/FreeAbelianGroup.lean,Mathlib/GroupTheory/MonoidLocalization.lean,Mathlib/LinearAlgebra/Quotient.lean,Mathlib/LinearAlgebra/TensorProduct.lean,Mathlib/RingTheory/RingInvo.lean,Mathlib/Topology/Algebra/Module/Basic.lean,Mathlib/Topology/MetricSpace/Dilation.lean |
32 |
0 |
[] |
nobody |
663-35128 1 year ago |
unknown |
0-0 0 seconds |
| 6930 |
kmill author:kmill |
feat: `resynth_instances` tactic for resynthesizing instances in the goal or local context |
This tactic can be useful for debugging non-canonical instances or for fixing up goals and hypotheses after using the `classical` tactic.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-meta
|
327/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ResynthInstances.lean,test/ResynthInstances.lean |
4 |
0 |
[] |
nobody |
663-35128 1 year ago |
unknown |
0-0 0 seconds |
| 6931 |
urkud author:urkud |
refactor(Analysis/Normed*): use `RingHomIsometric` for `*.norm_cast` |
---
I don't understand why linter fails.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
help-wanted
t-analysis
|
78/68 |
Mathlib/Analysis/LocallyConvex/ContinuousOfBounded.lean,Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/NormedSpace/Basic.lean,Mathlib/Analysis/NormedSpace/Exponential.lean,Mathlib/Analysis/NormedSpace/Spectrum.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/NumberTheory/NumberField/Embeddings.lean |
8 |
0 |
[] |
nobody |
663-35128 1 year ago |
unknown |
0-0 0 seconds |
| 7225 |
jjaassoonn author:jjaassoonn |
some random stuff |
- Consider two commutative rings `R` and `S` and `X` and `(R, S)`-bimodule.
Consider the tensor functor `(X ⊗[R] .)` from the category of `R`-modules to the category of `S`-modules and the hom functor `X →ₗ[S] .` from the category of `S`-modules to the category of `R`-modules, they form an adjunction.
- direct limits of modules commute with tensor product
- A proof of 
Three definitions for flatness:
1. in terms of injectiveness
```lean
def Flat.injective : Prop :=
∀ ⦃N N' : ModuleCat.{u} R⦄ (L : N ⟶ N'),
Function.Injective L → Function.Injective ((tensorRight (ModuleCat.of R M)).map L)
```
2. in terms of ideals
```lean
def Flat.ideal : Prop :=
∀ (I : Ideal R), Function.Injective (TensorProduct.lift ((lsmul R M).comp I.subtype))
```
3. in terms of finitely generated ideal
```lean
def Flat.fg_ideal : Prop :=
∀ ⦃I : Ideal R⦄ (_ : I.FG), Function.Injective (TensorProduct.lift ((lsmul R M).comp I.subtype))
```
and they are all equivalent:
```lean
lemma tfae : List.TFAE
[ Flat.injective R M,
Flat.ideal R M,
Flat.fg_ideal R M ] := by
```
The dependencies between these changed files are:
```
Algebra.Module.LinearMap---------------------------------
| |
| |
v v
Algebra.Category.ModuleCat.TensorProduct -----> Algebra.Character
|
|
|
v
Algebra.DirectLimitAndTensorProduct -------------> RingTheory.Flat
```
to prove equivalence of other definitions, e.g. exact functor, tor, etc should be easier with this because the proof is will be categorical
---
-------------
Some other stuff not about flatness
1. If $S$ is a submonoid and $I$ is maximally disjoint from $S$ then $I$ is prime
2. if $\mathfrak p$ is a minimal prime, then $x \in \mathfrak p$ implies that $x$ is a zero divisor
3. Noetherian rings has only finitely many minimal ideals
4. One version of [the prime avoidance lemma](https://en.wikipedia.org/wiki/Prime_avoidance_lemma): if $E$ is an addsubgroup of a ring and is mutiplicatively closed, and $\mathfrak p_i$ is some prime ideals, then not being any subset of the individual prime ideal implies that not being a subset of their union
----------
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
1828/16 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/TensorProduct.lean,Mathlib/Algebra/Character.lean,Mathlib/Algebra/DirectLimitAndTensorProduct.lean,Mathlib/Algebra/Module/LinearMap.lean,Mathlib/AlgebraicGeometry/PrimeSpectrum/Basic.lean,Mathlib/AlgebraicGeometry/PrimeSpectrum/Noetherian.lean,Mathlib/CategoryTheory/Functor/Fin.lean,Mathlib/CategoryTheory/ShortExactSequence.lean,Mathlib/RingTheory/Flat.lean,Mathlib/RingTheory/Ideal/Basic.lean,Mathlib/RingTheory/Ideal/MinimalPrime.lean,Mathlib/RingTheory/Ideal/PrimeAvoidance.lean |
13 |
6 |
['eric-wieser', 'jjaassoonn'] |
nobody |
663-35128 1 year ago |
unknown |
0-0 0 seconds |
| 7227 |
kmill author:kmill |
feat: flexible binders and integration into notation3 |
Introduces `flexibleBinders`, which is an extensible system for binder notations that allow destructuring, bounded domains, and other niceties. Integrates this into `notation3`, and makes `Finset.sum`/`Finset.prod` use it.
---
- [ ] depends on: #6833
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-meta
|
1215/131 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Basic.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/BigOperators/NatAntidiagonal.lean,Mathlib/Mathport/Notation.lean,Mathlib/Util/FlexibleBinders.lean,Mathlib/Util/FlexibleBindersFinset.lean,Mathlib/Util/SyntaxFun.lean,test/FlexibleBinders.lean,test/notation3.lean |
10 |
3 |
['eric-wieser', 'kmill', 'leanprover-community-mathlib4-bot'] |
nobody |
663-35128 1 year ago |
unknown |
0-0 0 seconds |
| 7351 |
shuxuezhuyi author:shuxuezhuyi |
feat(Topology/Algebra/Order): extend function on `Ioo` to `Icc` |
Extend a strictly monotone function defined on an open interval.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-order
|
59/0 |
Mathlib.lean,Mathlib/Data/Set/Function.lean,Mathlib/Topology/Algebra/Order/IccExtendFromIoo.lean |
3 |
7 |
['j-loreaux', 'shuxuezhuyi'] |
nobody |
663-35128 1 year ago |
942-3956 942 days ago |
30-32706 30 days |
| 7467 |
ADedecker author:ADedecker |
feat: spectrum of X →ᵇ ℂ is StoneCech X |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-analysis
|
121/23 |
Mathlib/Analysis/NormedSpace/Star/BoundedContinuousFunction.lean,Mathlib/Analysis/NormedSpace/Star/GelfandDuality.lean,Mathlib/Topology/ContinuousFunction/Bounded.lean,Mathlib/Topology/ContinuousFunction/Compact.lean |
4 |
1 |
['github-actions'] |
nobody |
663-35128 1 year ago |
unknown |
0-0 0 seconds |
| 7512 |
Komyyy author:Komyyy |
perf: override the data structures of coinductive types |
The data structures of the model of coinductive types (`Stream'`, `Computation`, `Stream'.Seq`) are inefficient, so we override their data structures.
---
- [x] depends on: #7514
- [ ] depends on: leanprover/lean4#2292
- [x] depends on: leanprover/std4#371
- [x] depends on: #8460
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-core-PR
blocked-by-other-PR
merge-conflict
t-meta
|
6919/3700 |
Mathlib.lean,Mathlib/Algebra/ContinuedFractions/Basic.lean,Mathlib/Algebra/ContinuedFractions/Computation/ApproximationCorollaries.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Computation/Basic.lean,Mathlib/Algebra/ContinuedFractions/Computation/CorrectnessTerminating.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean,Mathlib/Algebra/ContinuedFractions/ContinuantRecurrence.lean,Mathlib/Algebra/ContinuedFractions/EvalEquiv.lean,Mathlib/Algebra/ContinuedFractions/Real.lean,Mathlib/Algebra/ContinuedFractions/TerminatedStable.lean,Mathlib/Algebra/ContinuedFractions/Translations.lean,Mathlib/Combinatorics/Hindman.lean,Mathlib/Control/Fix.lean,Mathlib/Control/LawfulFix.lean,Mathlib/Data/Seq/Computation.lean,Mathlib/Data/Seq/Parallel.lean,Mathlib/Data/Seq/Seq.lean,Mathlib/Data/Seq/WSeq.lean,Mathlib/Data/Stream.lean,lean-toolchain |
22 |
2 |
['digama0', 'leanprover-community-mathlib4-bot'] |
nobody |
663-35128 1 year ago |
unknown |
0-0 0 seconds |
| 7564 |
shuxuezhuyi author:shuxuezhuyi |
feat(Topology/Algebra/Order): extend strictly monotone function on `Ioo` to homeomorphism on `Icc` |
A strictly monotone function between open intervals can be extended to a homeomorphism between the closed intervals.
---
- [ ] depends on: #7351
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
blocked-by-other-PR
|
162/0 |
Mathlib.lean,Mathlib/Topology/Algebra/Order/IccExtendFromIoo.lean |
2 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
663-35128 1 year ago |
961-22360 961 days ago |
0-537 8 minutes |
| 7601 |
digama0 author:digama0 |
feat: ring hom support in `ring` |
As [requested on Zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/aroots/near/395750055). Adds support for distributing ring morphisms in `ring`:
```lean
example (p : ℤ[X]) (r : ℤ) : C (2 * r) * p = C r * p + C r * p := by ring
```
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
t-meta
label:t-algebra$ |
257/48 |
Mathlib/Tactic/Ring/Basic.lean,test/linear_combination.lean,test/ring.lean |
3 |
1 |
['eric-wieser'] |
nobody |
663-35128 1 year ago |
896-18731 896 days ago |
62-28836 62 days |
| 7615 |
eric-wieser author:eric-wieser |
chore(LinearAlgebra/Basic): generalize compatibleMaps to semilinear maps |
Spotted while reviewing #7611
---
- [x] depends on: #7611
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
easy
awaiting-CI
label:t-algebra$ |
9/33 |
Mathlib/LinearAlgebra/Basic.lean |
1 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
663-35128 1 year ago |
957-69836 957 days ago |
0-1 1 second |
| 7713 |
RemyDegenne author:RemyDegenne |
feat: add_left/right_inj for measures |
`μ + ν₁ = μ + ν₂ ↔ ν₁ = ν₂`, and similarly on the right. This is not true in general for measures, but is true when `μ` is mutually singular with the two other measures or when `μ` is finite.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-measure-probability
|
53/1 |
Mathlib/MeasureTheory/Measure/MutuallySingular.lean,lean-toolchain |
2 |
6 |
['RemyDegenne', 'digama0', 'eric-wieser', 'fpvandoorn'] |
nobody |
663-35128 1 year ago |
951-29266 951 days ago |
0-62955 17 hours |
| 7835 |
shuxuezhuyi author:shuxuezhuyi |
feat(LinearAlgebra/Matrix): `lift` for projective special linear group |
We provide converters to help with the use of "quotient.liftOn" on projective special linear groups.
---
- [x] depends on: #7826
- [x] depends on: #7791
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
52/0 |
Mathlib/LinearAlgebra/Matrix/ProjectiveSpecialLinearGroup.lean |
1 |
3 |
['jcommelin', 'leanprover-community-mathlib4-bot', 'shuxuezhuyi'] |
jcommelin assignee:jcommelin |
663-35128 1 year ago |
809-44959 809 days ago |
1-85797 1 day |
| 7875 |
astrainfinita author:astrainfinita |
chore: make `SMulCommClass A A B` and `SMulCommClass A B B` higher priority |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
label:t-algebra$ |
54/48 |
Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Subgroup/Actions.lean,Mathlib/Algebra/Lie/NonUnitalNonAssocAlgebra.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/Ring/CentroidHom.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/Analysis/Complex/UnitDisc/Basic.lean,Mathlib/Analysis/NormedSpace/lpSpace.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/GroupTheory/GroupAction/Prod.lean,Mathlib/GroupTheory/GroupAction/Ring.lean,Mathlib/GroupTheory/GroupAction/SubMulAction.lean,Mathlib/GroupTheory/MonoidLocalization.lean,Mathlib/GroupTheory/Submonoid/Center.lean,Mathlib/LinearAlgebra/PiTensorProduct.lean,Mathlib/RingTheory/Ideal/Quotient.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/Topology/ContinuousFunction/ContinuousMapZero.lean,Mathlib/Topology/ContinuousFunction/StoneWeierstrass.lean,Mathlib/Topology/ContinuousFunction/ZeroAtInfty.lean |
27 |
15 |
['Parcly-Taxel', 'astrainfinita', 'jcommelin', 'leanprover-bot'] |
nobody |
663-35128 1 year ago |
717-51636 717 days ago |
1-47913 1 day |
| 7932 |
eric-wieser author:eric-wieser |
refactor(Algebra/TrivSqZeroExt): replace with a structure |
This is dogfooding my claim that "one-field structures are the lesser evil in Lean 4".
This runs into the `simp [(stupid_parens)]` bug; or rather, a particular nasty instance of it where the offending simp call is inside `@[simps]`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-CI
label:t-algebra$ |
155/73 |
Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/TrivSqZeroExt.lean,Mathlib/Logic/Equiv/TransferInstance.lean,Mathlib/Topology/Instances/TrivSqZeroExt.lean |
4 |
1 |
['github-actions'] |
nobody |
663-35128 1 year ago |
unknown |
0-0 0 seconds |
| 7962 |
eric-wieser author:eric-wieser |
feat: `DualNumber (Quaternion R)` as a `CliffordAlgebra` |
This provides a clifford algebra isomorphic to the dual quaternions
---
- [x] depends on: #7934
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
307/7 |
Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/QuaternionBasis.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Equivs.lean |
3 |
16 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
663-35128 1 year ago |
unknown |
0-0 0 seconds |
| 8364 |
thorimur author:thorimur |
feat: `refine?` |
This PR adds `refine? e`, which suggests replacing unsynthesized `_`'s in `e` with `?_` in order to make `refine e'` work:
```lean
example : Nat → Nat := by
refine? fun (_ : _) => _ -- Try this: refine fun (_ : _) => ?_
```
Note that this only suggests replacements for `_`'s present in the syntax; to create goals for implicit or instance arguments, the user is expected to use `refine'`.
---
I'm especially open to suggestions on the filename (currently `RefineFix`).
I'm also curious if this behaves as expected! Feel free to try it out "in real life" and comment here on edge cases.
- [ ] depends on: #8503
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-meta
|
684/5 |
Mathlib.lean,Mathlib/Lean/CoreM.lean,Mathlib/Lean/Elab/Tactic/ElabTerm.lean,Mathlib/Lean/Elab/Term.lean,Mathlib/Tactic.lean,Mathlib/Tactic/RefineFix.lean,Mathlib/Util/Delaborators.lean,Mathlib/Util/Syntax.lean,test/RefineFix.lean |
9 |
5 |
['j-loreaux', 'leanprover-community-mathlib4-bot', 'thorimur'] |
nobody |
663-35128 1 year ago |
918-55262 918 days ago |
6-59892 6 days |
| 3575 |
Kha author:Kha |
perf: selectively enable precompilation |
---
This is an initial performance test on Linux. TODO:
- [ ] test on macOS and Windows as well
- [ ] adapt caching |
merge-conflict
WIP
|
3/0 |
lakefile.lean |
1 |
21 |
['Kha', 'kim-em', 'leanprover-bot', 'tydeu'] |
nobody |
663-35127 1 year ago |
unknown |
0-0 0 seconds |
| 4771 |
thorimur author:thorimur |
feat: Backtrack minimize |
Utilities for backtracking in order to attain a minimum according to some arbitrary notion of size when generating lists of parts and alternatives in alternating fashion. Motivated by minimizing the number of generated subgoals under apply-like actions on the goal.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
482/1 |
Mathlib/Tactic/Backtracking.lean,test/Backtracking.lean |
2 |
0 |
[] |
nobody |
663-35127 1 year ago |
unknown |
0-0 0 seconds |
| 4775 |
thorimur author:thorimur |
feat: `SubExpr` utilities |
This file contains utilities for handling positions in expressions, including folding over subexpressions along with their positions.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-meta
|
148/0 |
Mathlib.lean,Mathlib/Lean/SubExpr.lean |
2 |
0 |
[] |
nobody |
663-35127 1 year ago |
unknown |
0-0 0 seconds |
| 4785 |
thorimur author:thorimur |
feat: ExprWithLevels |
This introduces `ExprWithLevels`, a means of emulating universe polymorphism for non-constants during metaprogramming. [Description pending]
- [ ] depends on: #4786
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-meta
|
491/1 |
Mathlib.lean,Mathlib/Lean/Meta/AppBuilder.lean,Mathlib/Lean/Meta/Basic.lean,Mathlib/Lean/Meta/ExprWithLevels.lean |
4 |
1 |
['kim-em'] |
nobody |
663-35127 1 year ago |
unknown |
0-0 0 seconds |
| 4871 |
j-loreaux author:j-loreaux |
feat: define the additive submonoid of positive elements in a star ordered ring |
This file defines the `AddSubmonoid` of nonegative elements `StarOrderedRing.positive R` in a star ordered ring `R` with carrier `{ x : R | 0 ≤ x }` (in fact, the definition only requires `OrderedAddCommMonoid R` to allow for other use cases, but it is primarily intended for `StarOrderedRing R`). Equivalently, this is the `AddSubmonoid` generated by the elements of the form `star s * s`. Even though this technically corresponds to the nonnegative elements, the "positive" terminology is standard throughout the literature (at least in C⋆-algebra theory and operator theory), so we choose to prefer that.
The advantage of using this over other definitions of positivity is that it allows us to unify several different concepts under a single umbrella. For example, one might be tempted to consider the collection of bounded linear operators on an Hilbert space and define positivity as `∀ x, 0 ≤ ⟪T x, x⟫`, but this doesn't generalize nicely to C⋆-algebras. Alternatively, one could define positivity as those self-adjoint elements with nonnegative spectrum, but this requires the algebra to be unital. Our definition herein conveniently sidesteps these issues.
---
Note: I declared the `AddMonoidWithOne` and `AddGroupWithOne` instances for `selfAdjoint R` separately because it made the proof of the latter easier.
- [x] depends on: #6229
- [x] depends on: #10209
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-CI
label:t-algebra$ |
216/12 |
Mathlib.lean,Mathlib/Algebra/Order/Ring/CharZero.lean,Mathlib/Algebra/Star/Order.lean,Mathlib/Algebra/Star/Positive.lean,Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/GroupTheory/Submonoid/Operations.lean |
6 |
28 |
['eric-wieser', 'j-loreaux', 'leanprover-community-mathlib4-bot'] |
nobody |
663-35127 1 year ago |
1076-21179 1076 days ago |
5-55287 5 days |
| 5133 |
kmill author:kmill |
feat: IntermediateField adjoin syntax for sets of elements |
Adds support for both `F⟮S⟯` and `F⟮α⟯`. The term `x` in `F⟮x⟯` is elaborated, and if it has type `Set _` the first interpretation is used, and otherwise the second is.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
110/55 |
Mathlib/FieldTheory/Adjoin.lean |
1 |
0 |
[] |
nobody |
663-35127 1 year ago |
1074-36253 1074 days ago |
0-20 20 seconds |
| 5912 |
ADedecker author:ADedecker |
feat(Analysis.Distribution.ContDiffMapSupportedIn): space of smooth maps with support in a fixed compact |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-analysis
|
513/13 |
Mathlib.lean,Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Data/FunLike/Basic.lean,Mathlib/Data/Set/Function.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean,Mathlib/Topology/ContinuousFunction/Bounded.lean |
8 |
0 |
[] |
nobody |
663-35127 1 year ago |
unknown |
0-0 0 seconds |
| 6002 |
slerpyyy author:slerpyyy |
feat(Analysis.SpecialFunctions.Gaussian): add `integrable_fun_mul_exp_neg_mul_sq` |
If `f : ℝ → ℝ` is bounded by a polynomial, `fun x : ℝ => f x * exp (-b * x ^ 2)` is integrable.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-analysis
|
26/0 |
Mathlib/Analysis/SpecialFunctions/Gaussian.lean |
1 |
3 |
['ocfnash', 'slerpyyy', 'urkud'] |
nobody |
663-35127 1 year ago |
1031-35489 1031 days ago |
9-71263 9 days |
| 6195 |
eric-wieser author:eric-wieser |
chore(RingTheory/TensorProduct): golf the `mul` definition |
---
- [x] depends on: #6211
- [x] depends on: #6187
[](https://gitpod.io/from-referrer/)
Strangely this causes a timeout downstream
|
merge-conflict
t-algebra
awaiting-CI
label:t-algebra$ |
4/29 |
Mathlib/RingTheory/TensorProduct.lean |
1 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
663-35127 1 year ago |
unknown |
0-0 0 seconds |
| 6307 |
yuma-mizuno author:yuma-mizuno |
refactor(CategoryTheory/Monoidal): add whiskering operators |
We introduce whiskering operators. This allows us to introduce a simp-normal form for morphisms in monoidal categories. Rewriting into simp-normal forms is especially useful when combined with the coherence tactic.
---
- [x] depends on: #6420
- [x] depends on: #8191
- [x] depends on: #9988
- [x] depends on: #9991
- [x] depends on: #9995
- [x] depends on: #10061
- [x] depends on: #10078
- [x] depends on: #10898
- [x] depends on: #10912
- [x] depends on: #11223
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
|
325/280 |
Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/CategoryTheory/Bicategory/End.lean,Mathlib/CategoryTheory/Closed/Ideal.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/FunctorCategory.lean,Mathlib/CategoryTheory/Monoidal/Limits.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/NaturalTransformation.lean,Mathlib/CategoryTheory/Monoidal/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Transport.lean,test/CategoryTheory/Coherence.lean |
15 |
38 |
['eric-wieser', 'github-actions', 'grunweg', 'jcommelin', 'kim-em', 'leanprover-community-mathlib4-bot', 'yuma-mizuno'] |
nobody |
663-35127 1 year ago |
802-1401 802 days ago |
60-84345 60 days |
| 6328 |
FR-vdash-bot author:FR-vdash-bot |
chore: make some instance about `Sub...Class` lower priority |
Many similar instances have been marked as lower priority. I'd like to see if this would make things faster.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
awaiting-CI
label:t-algebra$ |
14/14 |
Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean,Mathlib/RingTheory/Subsemiring/Basic.lean,lean-toolchain |
3 |
1 |
['digama0'] |
nobody |
663-35127 1 year ago |
unknown |
0-0 0 seconds |
| 6330 |
astrainfinita author:astrainfinita |
chore: make some instance about `Sub...Class` higher priority than `Sub...` |
The opposite direction to #6328.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
slow-typeclass-synthesis
label:t-algebra$ |
123/128 |
Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/FieldTheory/IsAlgClosed/Basic.lean,Mathlib/FieldTheory/Subfield.lean,Mathlib/RingTheory/NonUnitalSubring/Basic.lean,Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean,Mathlib/RingTheory/Polynomial/Quotient.lean,Mathlib/RingTheory/Subring/Basic.lean,Mathlib/RingTheory/Subsemiring/Basic.lean,lean-toolchain |
11 |
13 |
['astrainfinita', 'digama0', 'leanprover-bot'] |
nobody |
663-35127 1 year ago |
unknown |
0-0 0 seconds |
| 6491 |
eric-wieser author:eric-wieser |
chore(Mathlib/Algebra/Hom/GroupAction): add `SMulHomClass.comp_smul` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
24/10 |
Mathlib/Algebra/Hom/GroupAction.lean |
1 |
0 |
[] |
nobody |
663-35127 1 year ago |
935-21127 935 days ago |
83-76369 83 days |
| 7076 |
grunweg author:grunweg |
feat: define measure zero subsets of a manifold |
A topological manifold has no canonical measure, but there is a canonical notion of measure zero subsets.
We show that these are closed under subsets and countable unions (hence define a filter, the almost everywhere filter)
and that a closed nowhere dense has empty interior.
This is necessary for stating the general version of Sard's theorem (in finite dimensions), and a first step towards its proof.
This code was written at LftCM 2023. Thanks for @fpvandoorn for mentoring me! :heart:
---
Unresolved questions/looking for feedback
- Is "measure zero" a good name or would "null set" be better? I tend towards the former, but welcome input from a measure theorist (which I'm not).
- What is the correct definition? One could also define "measure zero" using any `IsOpenPosMeasure` on the charted space.
I think all results in this file still hold then, but for applications (e.g., Sard's theorem), this might be too general.
- define custom notation, similar to the a.e. filter on a measure space? (We could include $J$ instead of $\mu$.)
- what's the right syntax for formulas in docstrings --- use LaTeX or backticks? I don't know how to preview the generated docs, the guidelines are a bit ambiguous for me.
|
merge-conflict
WIP
t-differential-geometry
t-measure-probability
|
165/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/MeasureZero.lean,docs/references.bib |
3 |
27 |
['ADedecker', 'github-actions', 'grunweg', 'mo271', 'sgouezel'] |
ADedecker assignee:ADedecker |
663-35127 1 year ago |
818-32436 818 days ago |
43-56110 43 days |
| 3757 |
thorimur author:thorimur |
feat: config options for `fail_if_no_progress` |
This PR creates config options for `fail_if_no_progress` that allow the user to tweak what exactly counts as "progress". This includes whether to use defeq or `BEq`, what transparency to use, and which parts of the goal and local context to check.
It also splits off the comparison functionality into `Mathlib.Lean.Meta.Compare`, which provides fully configurable comparison functions for common complex metaprogramming types not specific to `fail_if_no_progress`. These types are `Expr`, `LocalDecl`, `LocalContext`, `MetavarDecl`, `MVarId`, and `List MVarId`.
---
See [zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/progress.20on.20fail_if_no_progress) for a couple review questions.
Status update: this PR is now basically done, save for some extra tests which should probably be included.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-meta
|
603/54 |
Mathlib.lean,Mathlib/Lean/Meta.lean,Mathlib/Lean/Meta/Compare.lean,Mathlib/Tactic/FailIfNoProgress.lean,test/fail_if_no_progress.lean |
5 |
38 |
['alexjbest', 'github-actions', 'joneugster', 'kim-em', 'thorimur'] |
nobody |
663-35126 1 year ago |
1119-86208 1119 days ago |
0-15 15 seconds |
| 12353 |
thorimur author:thorimur |
feat: `conv%` |
This PR introduces `conv% e => tac`, along with `simp%`, `norm_num%`, and `push_neg%`, which are defined in terms of `conv%`.
It also introduces `conv%?` (and `simp%?`, `norm_num%?`, and `push_neg%?`) as shortcuts for `show_term ...`.
This is a relatively straightforward refactor of code already present in the implementation of `#conv`, and otherwise relies entirely on simple macros.
This PR also introduces some modifications to existing command syntax for `#conv`, `#simp`, and `#norm_num`:
* The syntax for `#conv` was `#conv tac => e`; however, this is inconsistent with the tactic syntax, and so this has been flipped to `#conv e => tac`. Likewise, `conv%` uses the same (new) syntax `conv% e => tac`.
* `#simp` and `#norm_num` separated their config and `only` syntax from the expression by an optional `=>` (for `#simp`) and an optional `:` (for `#norm_num`) (e.g. `#simp only [lem] => e`). These have both been replaced with an optional`on` (e.g. `#simp only [lem] on e`) which is also used for `simp%` and `norm_num%`.
Although `#whnf` is implemented in terms of `#conv`, this PR doesn't introduce `whnf%` in the same way, as that's probably better off being implemented directly instead of through `conv`.
---
WIP: needs tests.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-meta
|
131/32 |
Mathlib/Tactic/Conv.lean,Mathlib/Tactic/NormNum/Core.lean,Mathlib/Tactic/PushNeg.lean,docs/Conv/Guide.lean |
4 |
0 |
[] |
nobody |
659-11436 1 year ago |
762-49478 762 days ago |
0-17 17 seconds |
| 13852 |
FR-vdash-bot author:FR-vdash-bot |
perf: skip some typeclasses in TC search |
---
- [ ] depends on: #7873
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
blocked-by-other-PR
|
45/33 |
Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/RingTheory/Norm.lean |
3 |
21 |
['MichaelStollBayreuth', 'astrainfinita', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
nobody |
659-5116 1 year ago |
unknown |
0-0 0 seconds |
| 7903 |
urkud author:urkud |
feat: define `UnboundedSpace` |
---
The new instances generate some timeouts, and I don't understand why.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
help-wanted
t-topology
|
111/59 |
Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Topology/Bornology/Basic.lean,Mathlib/Topology/Bornology/Constructions.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/GromovHausdorffRealized.lean |
6 |
1 |
['github-actions'] |
nobody |
656-23105 1 year ago |
unknown |
0-0 0 seconds |
| 15679 |
adomani author:adomani |
test: refactor in CI |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
213/5 |
.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,Mathlib.lean,Mathlib/Algebra/Homology/HomotopyCategory/SingleFunctors.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unique.lean,Mathlib/Analysis/Convex/Combination.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/CategoryTheory/Bicategory/Adjunction.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/Order/Filter/Cocardinal.lean,Mathlib/Order/UpperLower/Basic.lean,Mathlib/TestRefactor.lean,Refactor/Main.lean,lakefile.lean,lean-toolchain |
21 |
1 |
['github-actions'] |
nobody |
650-78681 1 year ago |
653-1723 653 days ago |
0-8 8 seconds |
| 7565 |
shuxuezhuyi author:shuxuezhuyi |
feat(Topology/Algebra/Order): extend homeomorphism of `Ioo` to `Icc` |
We extend the homeomorphisms between open intervals to homeomorphisms between the closed intervals.
---
- [ ] depends on: #7018
- [ ] depends on: #7351
- [ ] depends on: #7564
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
blocked-by-other-PR
t-order
|
389/5 |
Mathlib.lean,Mathlib/Data/Set/Intervals/Image.lean,Mathlib/Order/Directed.lean,Mathlib/Topology/Algebra/Order/IccExtendFromIoo.lean,Mathlib/Topology/Algebra/Order/IntermediateValue.lean |
5 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
649-28781 1 year ago |
961-9660 961 days ago |
0-222 3 minutes |
| 10629 |
madvorak author:madvorak |
feat: List.cons_sublist_append_iff_right |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
11/0 |
Mathlib/Data/List/Basic.lean |
1 |
1 |
['eric-wieser'] |
nobody |
649-28672 1 year ago |
775-37509 775 days ago |
53-73442 53 days |
| 9973 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: polynomials formed by lists |
From https://github.com/leanprover-community/mathlib/pull/15476
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
t-data
|
311/0 |
Mathlib.lean,Mathlib/Data/Polynomial/OfList.lean |
2 |
0 |
[] |
nobody |
649-28205 1 year ago |
unknown |
0-0 0 seconds |
| 12926 |
joelriou author:joelriou |
feat(CategoryTheory): the monoidal category structure induced by a monoidal functor |
In this PR, given a monoidal functor `F : MonoidalFunctor C D`, we define a monoidal category structure on the category `InducedCategory D F.obj`, which has the "same" objects as `C`, but the morphisms between `X` and `Y` identify to `F.obj X ⟶ F.obj Y`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
105/0 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Induced.lean |
2 |
3 |
['eric-wieser', 'github-actions', 'joelriou'] |
nobody |
649-26604 1 year ago |
740-31809 740 days ago |
0-10 10 seconds |
| 12869 |
adomani author:adomani |
feat: linter and script for `theorem` vs `lemma` |
This PR contains a linter for flagging doc-string-less `theorem`s, as well as a bash script that, once the linter ran on Mathlib, automatically replaces every linter-offending `theorem` by `lemma`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
awaiting-author
|
106/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/ThmLemma.lean,scripts/thmLemma.sh |
4 |
13 |
['adomani', 'github-actions', 'grunweg', 'joneugster'] |
nobody |
649-13368 1 year ago |
703-33863 703 days ago |
38-16364 38 days |
| 14563 |
awueth author:awueth |
feat: if-then-else of exclusive or statement |
---
If `¬(P ∧ Q)` then `ite (P ∨ Q) a 1 = (ite P a 1) * (ite Q a 1)`
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
5/0 |
Mathlib/Algebra/Group/Basic.lean |
1 |
3 |
['eric-wieser', 'github-actions', 'kim-em'] |
nobody |
648-27520 1 year ago |
678-74502 678 days ago |
6-38745 6 days |
| 14308 |
grhkm21 author:grhkm21 |
feat(Algebra/Category): Direct construction of colimits in algebraic categories |
(Below I only write about colimits since that's what I'm familiar with after working on it the last few days, but maybe it's the same for other categorical constructions)
**Main feature:** Construct colimits in `AddCommGrp`/`ModuleCat`/`FGModuleCat`(/...) directly as coequalizer (i.e. cokernel i.e. quotient) of two maps, allowing one to say $\coprod_j M_j \cong *$
Currently, if you look at how colimits are constructed for [AddCommGrp](https://github.com/leanprover-community/mathlib4/blob/master/Mathlib/Algebra/Category/Grp/Colimits.lean#L69-L92), you see this massive block of code of all relations generating the quotient relation, but that's kind of bad, you can't say anything concretely about it.
Also as noted in the TODOs of a few files:
```
TODO:
In fact, in `ModuleCat R` there is a much nicer model of colimits as quotients
of finitely supported functions, and we really should implement this as well.
```
I wrote it down [here](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Braided.20left.20rigid.20categories.20are.20right.20rigid/near/447490672), and **have formalised it** in a small file already [here](https://gist.github.com/grhkm21/5b2d938753c0ce0900d21c93a39e3b7d#file-addcommgrpcolimits-lean-L162-L163) (I also have a `ModuleCat` version, and proving existence of colimits in `FGModuleCat` from it).
Usually I will try to merge the file into Mathlib directly (preferably in one sitting), but I have been trying for a while now and been struggling. One issue is I am struggling to understand universes, which I asked [here](https://leanprover.zulipchat.com/#narrow/stream/113489-new-members/topic/Universe.20constraints!/near/448049266) along with many other places. A more concrete issue is that
- [ ] FGModuleCat (and `FullSubcategory` in general) requires morphism and objects to be on the same universe, whereas generally `Category.{v, u}` don't.
So that seems to limit what I can express, and maybe I have to fix it first.
Here are a few more TODOs just so I don't forget, probably done before the one above:
- [ ] Generalise `cokernelIsoQuotient` to other categories.
- [ ] Also prove `coproductIsoDirectSum`
- [ ] Also prove coequalizer (f + h) (g + h) ~ coequalizer f g ~ cokernel (f - g) 0
- [ ] Fix typo `FGModuleCatCat`
If anyone is familiar with universe stuff and can answer my many questions that'll be great too. I need help understanding just [these five lines](https://github.com/leanprover-community/mathlib4/blob/master/Mathlib/Algebra/Category/Grp/Colimits.lean#L267-L271) |
merge-conflict
WIP
t-algebra
label:t-algebra$ |
10/3 |
Mathlib/Algebra/DirectSum/Module.lean,Mathlib/LinearAlgebra/FreeModule/Basic.lean |
2 |
1 |
['github-actions'] |
nobody |
648-25389 1 year ago |
693-60066 693 days ago |
0-23 23 seconds |
| 13010 |
ADedecker author:ADedecker |
feat: relax universe constraint in stoneCechExtend |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
33/3 |
Mathlib/Topology/StoneCech.lean |
1 |
2 |
['ADedecker', 'erdOne'] |
nobody |
648-25186 1 year ago |
unknown |
0-0 0 seconds |
| 12411 |
adomani author:adomani |
feat: more linting of cdots |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
|
953/617 |
Archive/Wiedijk100Theorems/CubingACube.lean,Mathlib.lean,Mathlib/Algebra/Category/GroupCat/Colimits.lean,Mathlib/Algebra/Homology/Exact.lean,Mathlib/Algebra/Homology/LocalCohomology.lean,Mathlib/Algebra/Lie/Nilpotent.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Module/Submodule/Bilinear.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/Order/Archimedean.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/InverseFunctionTheorem/ApproximatesLinearOn.lean,Mathlib/Analysis/Calculus/LocalExtr/Basic.lean,Mathlib/Analysis/Calculus/TangentCone.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/InnerProductSpace/Projection.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/Normed/Group/ControlledClosure.lean,Mathlib/Analysis/Normed/Group/Pointwise.lean,Mathlib/Analysis/NormedSpace/FiniteDimension.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Separation.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean,Mathlib/Analysis/NormedSpace/Star/Basic.lean,Mathlib/Analysis/NormedSpace/Star/Multiplier.lean,Mathlib/Analysis/NormedSpace/lpSpace.lean,Mathlib/Analysis/PSeries.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Log/Base.lean,Mathlib/Analysis/SpecialFunctions/Log/Monotone.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/CategoryTheory/Action.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation.lean,Mathlib/CategoryTheory/Category/Cat/Limit.lean,Mathlib/CategoryTheory/Category/PartialFun.lean,Mathlib/CategoryTheory/Category/TwoP.lean,Mathlib/CategoryTheory/Closed/Cartesian.lean,Mathlib/CategoryTheory/Functor/Flat.lean,Mathlib/CategoryTheory/Galois/GaloisObjects.lean,Mathlib/CategoryTheory/Limits/Over.lean,Mathlib/CategoryTheory/Limits/VanKampen.lean,Mathlib/CategoryTheory/Localization/Predicate.lean,Mathlib/CategoryTheory/Monad/Coequalizer.lean,Mathlib/CategoryTheory/Monad/Monadicity.lean,Mathlib/CategoryTheory/Pi/Basic.lean,Mathlib/CategoryTheory/Sites/DenseSubsite.lean,Mathlib/CategoryTheory/Sites/InducedTopology.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/Combinatorics/Additive/PluenneckeRuzsa.lean,Mathlib/Combinatorics/HalesJewett.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Chunk.lean,Mathlib/Computability/Reduce.lean,Mathlib/Data/Holor.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Nat/Pairing.lean,Mathlib/Data/Real/Cardinality.lean,Mathlib/Data/Real/Hyperreal.lean,Mathlib/Data/Real/Irrational.lean,Mathlib/Data/Set/Card.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean,Mathlib/FieldTheory/Finite/Polynomial.lean,Mathlib/FieldTheory/Minpoly/IsIntegrallyClosed.lean,Mathlib/FieldTheory/PerfectClosure.lean,Mathlib/FieldTheory/RatFunc.lean,Mathlib/Geometry/RingedSpace/OpenImmersion.lean,Mathlib/Geometry/RingedSpace/PresheafedSpace/Gluing.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/GroupTheory/Perm/Finite.lean,Mathlib/GroupTheory/SpecificGroups/Quaternion.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/LinearAlgebra/Dimension/RankNullity.lean,Mathlib/LinearAlgebra/Dual.lean,Mathlib/LinearAlgebra/LinearIndependent.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/LinearAlgebra/Prod.lean,Mathlib/LinearAlgebra/QuadraticForm/Complex.lean,Mathlib/LinearAlgebra/Reflection.lean,Mathlib/MeasureTheory/Constructions/Pi.lean,Mathlib/MeasureTheory/Covering/VitaliFamily.lean,Mathlib/MeasureTheory/Measure/Haar/Basic.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/Typeclasses.lean,Mathlib/MeasureTheory/OuterMeasure/Basic.lean,Mathlib/ModelTheory/Skolem.lean,Mathlib/NumberTheory/Dioph.lean,Mathlib/NumberTheory/LegendreSymbol/Basic.lean,Mathlib/NumberTheory/Padics/Hensel.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/Padics/RingHoms.lean,Mathlib/NumberTheory/RamificationInertia.lean,Mathlib/RingTheory/AdjoinRoot.lean |
147 |
2 |
['adomani', 'leanprover-bot'] |
nobody |
648-25049 1 year ago |
unknown |
0-0 0 seconds |
| 12279 |
casavaca author:casavaca |
WIP: feat: Holder's inequality n-ary |
---
- [x] depends on #12291
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-analysis
|
129/0 |
Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean |
2 |
13 |
['github-actions'] |
nobody |
648-25034 1 year ago |
764-86139 764 days ago |
0-50185 13 hours |
| 12093 |
ADedecker author:ADedecker |
feat: tweak the definition of semicontinuity to behave better in nonlinear orders |
Summary of the changes:
- change definitions to make [lowerSemicontinuous_iff_isClosed_preimage](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Semicontinuous.html#lowerSemicontinuous_iff_isClosed_preimage) true without assuming `LinearOrder`, so that semicontinuity corresponds to continuity for lower/upper order topology on the codomain. See discussion on [Zulip](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/Semicontinuity.20definition.20for.20non-linear.20orders/near/432898278)
- add new `iff` lemmas for unfolding the definition
- add `iff` lemmas with the old definition in the linearly ordered case
- some basic lemmas need to be changed in an easy way
- minimize assumptions for continuity => semicontinuity
- prove the semicontinuity criterion for indicators using "preimage of Ici/Iic" instead of a direct proof, because the proof is more natural (especially because we have no `filter_upwards` for `Frequently`)
- in the rest of the file (which is about linear orders anyway), we don't touch the statements and just rewrite to the old definition. Some of these could be generalized, but we keep that for a later PR.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-topology
|
274/130 |
Mathlib/Analysis/BoundedVariation.lean,Mathlib/MeasureTheory/Integral/FundThmCalculus.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Topology/Semicontinuous.lean |
4 |
0 |
[] |
nobody |
648-24996 1 year ago |
unknown |
0-0 0 seconds |
| 11520 |
thorimur author:thorimur |
feat: `linting_rules` and deprecated syntax |
---
Experimental. WIP. Might not be performance-viable.
- [ ] depends on: #11519
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-meta
|
1016/0 |
Mathlib.lean,Mathlib/Command/Linter.lean,Mathlib/Command/Linter/Deprecated.lean,Mathlib/Command/Linter/LintingRules.lean,Mathlib/Command/SyntaxRules.lean,Mathlib/Command/SyntaxRules/Attr.lean,Mathlib/Command/SyntaxRules/Elab.lean,Mathlib/Command/SyntaxRules/Header.lean,Mathlib/Command/SyntaxRules/Util.lean,Mathlib/Tactic/Common.lean,scripts/noshake.json |
11 |
11 |
['leanprover-bot', 'leanprover-community-mathlib4-bot', 'thorimur'] |
nobody |
648-24986 1 year ago |
unknown |
0-0 0 seconds |
| 11519 |
thorimur author:thorimur |
feat: `syntax_rules` |
---
Experimental. WIP.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
485/0 |
Mathlib.lean,Mathlib/Command/SyntaxRules.lean,Mathlib/Command/SyntaxRules/Attr.lean,Mathlib/Command/SyntaxRules/Elab.lean,Mathlib/Command/SyntaxRules/Header.lean,Mathlib/Command/SyntaxRules/Util.lean,scripts/noshake.json |
7 |
0 |
[] |
nobody |
648-24972 1 year ago |
unknown |
0-0 0 seconds |
| 11393 |
mcdoll author:mcdoll |
feat(Analysis/Distribution/SchwartzSpace): The Heine-Borel property |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-analysis
|
688/3 |
Mathlib.lean,Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/UniformSpace/Ascoli.lean,Mathlib/Topology/UniformSpace/Pi.lean,Mathlib/Topology/UniformSpace/UniformConvergenceTopology.lean |
6 |
0 |
[] |
nobody |
648-24962 1 year ago |
unknown |
0-0 0 seconds |
| 9444 |
erdOne author:erdOne |
feat: Various instances regarding `𝓞 K`. |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
help-wanted
t-number-theory
|
27/0 |
Mathlib/NumberTheory/NumberField/Basic.lean,Mathlib/RingTheory/IntegralClosure.lean |
2 |
9 |
['erdOne', 'leanprover-bot', 'mattrobball', 'riccardobrasca', 'xroblot'] |
nobody |
648-24881 1 year ago |
870-24308 870 days ago |
1-62292 1 day |
| 8931 |
hmonroe author:hmonroe |
feat(Computable): define P, NP, and NP-complete |
Revised to focus on languages that are binary strings, given the issue of non-acceptable encodings of unspecified Types
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
awaiting-author
|
381/5 |
Mathlib.lean,Mathlib/Computability/Complexity copy.lean,Mathlib/Computability/Complexity.lean,Mathlib/Computability/Encoding.lean,Mathlib/Computability/TMComputable.lean,Mathlib/Computability/TuringMachine.lean,Mathlib/Computability/halting example.lean,docs/references.bib |
8 |
3 |
['fpvandoorn', 'github-actions', 'hmonroe'] |
nobody |
648-24846 1 year ago |
804-34228 804 days ago |
93-64275 93 days |
| 10641 |
newell author:newell |
feat(Topology/MetricSpace/WellSpaced): Define sets that are *well-spaced*. |
Create a new file `Mathlib.Topology.MetricSpace.WellSpaced` that contains definitions of sets which are in some sense *well-spaced*.
Some examples are Delone and Meyer sets, which find applications in Quasicrystals and Coding Theory, among others.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
1073/14 |
Mathlib.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Topology/EMetricSpace/Basic.lean,Mathlib/Topology/GMetric/Basic.lean,Mathlib/Topology/GMetric/GInfSep.lean,Mathlib/Topology/GMetric/WellSpaced.lean,Mathlib/Topology/GPseudoMetric/Basic.lean,Mathlib/Topology/MetricSpace/WellSpaced.lean |
8 |
1 |
['edegeltje'] |
nobody |
648-24814 1 year ago |
unknown |
0-0 0 seconds |
| 10387 |
adomani author:adomani |
feat(Tactic/ComputeDegree): add `polynomial` tactic |
Introducing the `polynomial` tactic, summing up `compute_degree, monicity` and adding support for `leadingCoeff`.
This is more of a proof of concept: if there is interest in this tactic, I can polish it up.
See [this Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/113489-new-members/topic/Compute.20roots.20of.20polynomials/near/420713624).
---
[](https://gitpod.io/from-referrer/)
|
WIP
RFC
t-meta
|
24/0 |
Mathlib/Tactic/ComputeDegree.lean |
1 |
0 |
[] |
nobody |
648-24668 1 year ago |
692-7698 692 days ago |
143-73801 143 days |
| 9154 |
FR-vdash-bot author:FR-vdash-bot |
feat: `npow` / `nsmul` / `Nat.cast`/ `zpow` / `zsmul` implemented using `Nat.binaryRec` |
---
- [ ] depends on: https://github.com/leanprover/lean4/pull/3756
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
blocked-by-other-PR
label:t-algebra$ |
168/359 |
Mathlib/Algebra/Group/Defs.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/Primrec.lean,Mathlib/Data/Bool/Basic.lean,Mathlib/Data/Int/Bitwise.lean,Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Digits.lean,Mathlib/Data/Nat/EvenOddRec.lean,Mathlib/Data/Nat/Fib/Basic.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Nat/Order/Basic.lean,Mathlib/Data/Nat/Parity.lean,Mathlib/Data/Nat/Size.lean,Mathlib/Data/Num/Lemmas.lean,Mathlib/Init/Data/Nat/Bitwise.lean,Mathlib/LinearAlgebra/TensorProduct/Graded/Internal.lean,Mathlib/Logic/Basic.lean,Mathlib/Logic/Denumerable.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Logic/Equiv/Nat.lean,lake-manifest.json,lakefile.lean,test/zmod.lean |
25 |
7 |
['astrainfinita', 'eric-wieser', 'kim-em', 'leanprover-community-mathlib4-bot'] |
nobody |
648-24459 1 year ago |
unknown |
0-0 0 seconds |
| 6603 |
tydeu author:tydeu |
feat: automatically try `cache get` before build |
---
A quick proof-of-concept. With this, `lake build` will always try `cache get` before building mathlib.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
CI
|
29/0 |
lakefile.lean |
1 |
3 |
['kim-em', 'tydeu'] |
nobody |
648-24433 1 year ago |
1002-40956 1002 days ago |
11-2031 11 days |
| 6058 |
apurvnakade author:apurvnakade |
feat: duality theory for cone programs |
This PR tracks the development of duality theory for cone programs.
[Reference](https://ti.inf.ethz.ch/ew/courses/ApproxSDP09/notes/conelp.pdf)
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #6059
- [ ] define direct sum of cones
- [ ] weak duality
- [ ] regular duality
- [ ] slater condition
- [ ] strong duality |
merge-conflict
WIP
t-analysis
|
159/0 |
Mathlib.lean,Mathlib/Analysis/Convex/Cone/ConeLinearProgram.lean |
2 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
648-24378 1 year ago |
1037-61286 1037 days ago |
0-9 9 seconds |
| 6449 |
ADedecker author:ADedecker |
feat: functions with finite fibers |
---
This has been discussed before on [Zulip](https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there-code-for-X.3F/topic/.E2.9C.94.20Cofinite.20maps.3F) and it came up again while working with @kkytola's student. As explained in the docstring, we could absolutely just use `Tendsto f cofinite cofinite` all the time, but (1) we lack some API for it (2) the API is nicer to setup if we have a separate def (e.g for dot notation) and (3) mentioning filters for such a simple concept is really not beginner-friendly.
I'm not sure at all about the name.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
|
203/0 |
Mathlib.lean,Mathlib/Logic/Function/HasFiniteFibers.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Cofinite.lean |
4 |
14 |
['ADedecker', 'YaelDillies', 'alexjbest', 'kkytola'] |
nobody |
648-24372 1 year ago |
1014-22426 1014 days ago |
6-70040 6 days |
| 8100 |
digama0 author:digama0 |
feat: add support for other types in norm_num |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
177/12 |
Mathlib/Tactic/NormNum/Basic.lean,Mathlib/Tactic/NormNum/Eq.lean,Mathlib/Tactic/NormNum/Ineq.lean,Mathlib/Tactic/NormNum/Pow.lean,Mathlib/Tactic/NormNum/Result.lean,Mathlib/Tactic/NormNum/Structural.lean,test/norm_num.lean |
7 |
4 |
['dwrensha'] |
nobody |
648-24240 1 year ago |
unknown |
0-0 0 seconds |
| 13163 |
erdOne author:erdOne |
feat(.vscode/module-docstring.code-snippet): Prevent auto-complete from firing on `do` |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
|
5/0 |
.vscode/module-docstring.code-snippets |
1 |
5 |
['erdOne', 'grunweg', 'robertylewis', 'trivial1711'] |
nobody |
648-22982 1 year ago |
680-37174 680 days ago |
50-78405 50 days |
| 15585 |
FR-vdash-bot author:FR-vdash-bot |
test make `HasQuotient.quotient'` reducible |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
8/1 |
Mathlib/Algebra/Quotient.lean,Mathlib/GroupTheory/Coset.lean |
2 |
1 |
['github-actions'] |
nobody |
646-56648 1 year ago |
unknown |
0-0 0 seconds |
| 15586 |
astrainfinita author:astrainfinita |
test make `HasQuotient` out put a `setoid` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
22/36 |
Mathlib/Algebra/Lie/CartanExists.lean,Mathlib/Algebra/Lie/Quotient.lean,Mathlib/Algebra/Lie/Weights/Basic.lean,Mathlib/Algebra/Quotient.lean,Mathlib/Analysis/Normed/Group/AddCircle.lean,Mathlib/GroupTheory/Commensurable.lean,Mathlib/GroupTheory/Coset.lean,Mathlib/GroupTheory/CosetCover.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/QuotientGroup.lean,Mathlib/LinearAlgebra/Quotient.lean,Mathlib/RingTheory/Ideal/Quotient.lean,Mathlib/Topology/Algebra/UniformRing.lean |
14 |
5 |
['astrainfinita', 'github-actions', 'leanprover-bot'] |
nobody |
646-56648 1 year ago |
unknown |
0-0 0 seconds |
| 13791 |
digama0 author:digama0 |
refactor: Primrec and Partrec |
General cleanup of the `Primrec` and `Partrec` files, to better adjust to lean 4 things. The main user-visible change is that `Primrec₂` is no longer a `def` but an `abbrev`, because it was causing inference issues in lean 4. I also removed all the nonterminal `simp`s in `PartrecCode.lean`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
tech debt
|
585/778 |
Mathlib/Computability/Ackermann.lean,Mathlib/Computability/Halting.lean,Mathlib/Computability/Partrec.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/Primrec.lean |
5 |
2 |
['github-actions', 'grunweg'] |
nobody |
644-77917 1 year ago |
708-67503 708 days ago |
1-84718 1 day |
| 11964 |
adamtopaz author:adamtopaz |
feat: The functor of points of a scheme |
We construct the functor of points functor, and prove that it's full and faithful.
---
- [x] depends on: #11947
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebraic-geometry
t-category-theory
|
210/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/FunctorOfPoints.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean |
3 |
4 |
['github-actions', 'grunweg'] |
nobody |
644-77776 1 year ago |
773-8317 773 days ago |
0-1223 20 minutes |
| 12418 |
rosborn author:rosborn |
style: replace preimage_val with ↓∩ notation |
---
This is a rough draft of what the new `↓∩` notation would look like within mathlib. I believe this is an improvement in clarity and would like to have `↓∩` as a standard notation (along with `''`, `⁻¹'`, `↑`, etc...). As `↓∩` is specialized for `Set`s, I have only changed `preimage_val` when the left-hand side of `↓∩` is a `Set`.
The introduction of the `↓∩` notation to Data.Set.Image is temporary as it isn't possible to import Data.Set.Subset directly. If we want `↓∩` unscoped, where would be the best place to define it? An option is Data.Set.Defs, but the notation cannot be defined without additional imports as the file does not import `notation3`.
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
56/61 |
Mathlib/Analysis/InnerProductSpace/Projection.lean,Mathlib/Data/Set/Function.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Set/Subset.lean,Mathlib/MeasureTheory/Constructions/Polish.lean,Mathlib/MeasureTheory/MeasurableSpace/Basic.lean,Mathlib/MeasureTheory/Measure/Restrict.lean,Mathlib/Order/UpperLower/Basic.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/Clopen.lean,Mathlib/Topology/Connected/Basic.lean,Mathlib/Topology/Connected/PathConnected.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/ContinuousOn.lean,Mathlib/Topology/LocalAtTarget.lean,Mathlib/Topology/LocallyConstant/Basic.lean,Mathlib/Topology/Separation.lean,Mathlib/Topology/Sober.lean |
18 |
3 |
['grunweg', 'rosborn'] |
nobody |
644-77675 1 year ago |
731-1259 731 days ago |
29-50022 29 days |
| 9978 |
FR-vdash-bot author:FR-vdash-bot |
chore(FieldTheory/KummerExtension): move some lemmas earlier |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
197/177 |
Mathlib.lean,Mathlib/Data/Polynomial/FieldDivision.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Polynomial/Irreducible.lean |
5 |
5 |
['alreadydone', 'grunweg', 'riccardobrasca'] |
nobody |
644-77467 1 year ago |
842-71649 842 days ago |
8-83342 8 days |
| 12429 |
adomani author:adomani |
feat: toND -- auto-generating natDegree |
This is an experiment to automatically translate theorems about `degree` to theorems about `natDegree`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
RFC
merge-conflict
awaiting-author
t-meta
label:t-algebra$ |
167/132 |
Mathlib.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Degree/Lemmas.lean,Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Algebra/Polynomial/HasseDeriv.lean,Mathlib/Algebra/Polynomial/Inductions.lean,Mathlib/Algebra/Polynomial/Mirror.lean,Mathlib/Algebra/Polynomial/Reverse.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ToNatDegree.lean,scripts/noshake.json |
11 |
2 |
['adomani', 'grunweg'] |
nobody |
644-76778 1 year ago |
756-24451 756 days ago |
3-76602 3 days |
| 15823 |
eric-wieser author:eric-wieser |
Quotients of rings in model theory |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-logic
|
55/13 |
Mathlib/ModelTheory/Algebra/Ring/FreeCommRing.lean,Mathlib/ModelTheory/Syntax.lean |
2 |
1 |
['github-actions'] |
nobody |
644-55341 1 year ago |
unknown |
0-0 0 seconds |
| 12178 |
joneugster author:joneugster |
feat(Data/Matrix/Basic): add notation for `m×n`-Matrices |
Introduce the notation `Mat[m,n][R]` for `Matrix (Fin m) (Fin n) R`.
[Zulip thread](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Why.20does.20.60Matrix.2Erow.60.20use.20.20.60Unit.60.20instead.20of.20.60Fin.201.60.3F/near/427949223)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
139/135 |
Mathlib/Algebra/Lie/CartanMatrix.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Rank.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/LinearAlgebra/Matrix/Adjugate.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/LinearAlgebra/Matrix/Determinant.lean,Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/Matrix/Transvection.lean,Mathlib/LinearAlgebra/PID.lean,Mathlib/LinearAlgebra/Vandermonde.lean,Mathlib/NumberTheory/Modular.lean,Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean,Mathlib/NumberTheory/ModularForms/SlashActions.lean,Mathlib/NumberTheory/ModularForms/SlashInvariantForms.lean,Mathlib/NumberTheory/RamificationInertia.lean,Mathlib/RingTheory/SimpleModule.lean,test/matrix.lean |
22 |
9 |
['YaelDillies', 'eric-wieser', 'grunweg', 'joneugster'] |
nobody |
644-32465 1 year ago |
763-22858 763 days ago |
5-76679 5 days |
| 12751 |
Command-Master author:Command-Master |
feat: add lemmas for Nat/Bits, Nat/Bitwise and Nat/Size |
Remove `@[simp]` from `Nat.bit_false` and `Nat.bit_true`, as `bit0` and `bit1` are deprecated, and add some lemmas to `Bits`, `Bitwise` and `Size`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
new-contributor
|
66/7 |
Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Nat/Size.lean |
4 |
26 |
['Command-Master', 'Rida-Hamadani', 'Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'jcommelin'] |
nobody |
644-12429 1 year ago |
679-18651 679 days ago |
56-40668 56 days |
| 15448 |
urkud author:urkud |
chore(*): deprecate `Option.elim'` |
Use `Option.elim` instead.
---
[](https://gitpod.io/from-referrer/) |
merge-conflict
awaiting-author
tech debt
|
54/50 |
Mathlib/Algebra/BigOperators/Option.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Split.lean,Mathlib/Analysis/Calculus/LagrangeMultipliers.lean,Mathlib/CategoryTheory/Category/PartialFun.lean,Mathlib/Computability/TMToPartrec.lean,Mathlib/Data/Option/Defs.lean,Mathlib/LinearAlgebra/Basis.lean,Mathlib/Logic/Embedding/Set.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/MeasureTheory/OuterMeasure/Induced.lean,Mathlib/NumberTheory/Dioph.lean,Mathlib/Topology/Compactness/Paracompact.lean,Mathlib/Topology/LocallyFinite.lean |
17 |
12 |
['Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'grunweg', 'urkud'] |
nobody |
644-1482 1 year ago |
653-47644 653 days ago |
7-18420 7 days |
| 10350 |
Shamrock-Frost author:Shamrock-Frost |
feat(Data/Setoid): add the operations of taking the equivalence class of an element and of saturating a set wrt an equivalence relation |
I'm open to suggestions about changing the name "saturate", someone on zulip rightly pointed out this is a very overloaded term in math. That said, I think it's unlikely to cause confusion and that there's only one reasonable interpretation in the context of setoids.
---
- [x] depends on: #10347
- [x] depends on: #10348
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
169/3 |
Mathlib/Data/Setoid/Basic.lean,Mathlib/Data/Setoid/Partition.lean,Mathlib/Order/Closure.lean |
3 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
642-14703 1 year ago |
761-6331 761 days ago |
19-74546 19 days |
| 13573 |
Shamrock-Frost author:Shamrock-Frost |
feat: add multivariate polynomial modules |
Add a type synonym for multivariate polynomials with coefficients in a module.
---
Multivariate polynomials with module coefficients are sort of silly, but they sometimes show up in commutative algebra (eg in the definition of a quasi regular sequence). Writing this code involved a lot of copy and pasting from `PolynomialModule` and `MvPolynomial`. The API is definitely lacking at this stage but it's a start.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
691/6 |
Mathlib.lean,Mathlib/Algebra/MvPolynomial/Module/Basic.lean,Mathlib/Algebra/MvPolynomial/Module/MvAEval.lean,Mathlib/Algebra/Polynomial/Module/Basic.lean |
4 |
9 |
['Shamrock-Frost', 'erdOne', 'github-actions'] |
nobody |
642-14683 1 year ago |
678-7051 678 days ago |
39-72752 39 days |
| 6517 |
MohanadAhmed author:MohanadAhmed |
feat: discrete Fourier transform of a finite sequence |
# Discrete Fourier Transform (DFT) Matrix and DFT of a (finite) sequence
This file defines the `dft` opertaion on a sequence (also a vecotr) and the DFT operation matrix
## Main definitions
- `dft v`: given a sequence (v : (Fin n) → ℂ) we can transform it into a sequence (V : (Fin n) →ℂ)
such that
$$V [p] = ∑_{k = 0}^{N - 1} e^{-j*2πkp/n} v [k]$$
- `idft V` : given a sequence (V : (Fin n) → ℂ) we can transform it into a sequence
(v : (Fin n) → ℂ)
such that
$$v [k] = \frac{1}{N}∑_{p = 0}^{n - 1} e^{j*2πkp/N} v [p]$$
- `dftMatrix n` : the dft matrix of dimensions $n \times n$ with the `k, p` entry equal to
$$Wₙ[k, p] = e^{-j2πkp/n}$$
- `(dftMatrix n)⁻¹` : the idft matrix of dimensions $n \times n$ with the `k, p` entry equal to
$$Wₙ[k, p] = (1/N) e^{j2πkp/n}$$
## Main results
- `dft v = (dftMatrix n) v` : the dft operation on a sequence is the same as the dft matrix applied to the vector
- `idft V = (dftMatrix n)⁻¹ V` : the idft operation on a sequence is the same as the idft matrix applied to the vector
- `dft (idft v) = dft ( idft v) = v` the dft and idft operations are inverses
- `Wₙ = vandermonde (w)` : the dft matrix is vandermonde with `w` being the first row of the dft matrix
- `circulant t = (dftMatrix n)⁻¹ ⬝ diagonal (dft t) ⬝ (dftMatrix n)` : a circulant matrix is diagonalizable by the dft and idft matrix pair.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
294/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/DFT.lean |
2 |
26 |
['MohanadAhmed', 'ericrbg'] |
nobody |
642-14521 1 year ago |
951-38737 951 days ago |
65-20427 65 days |
| 13155 |
alreadydone author:alreadydone |
feat(NumberTheory/EllipticDivisibilitySequence): show elliptic relations follow from even-odd recursion |
This PR is centered around the (generalized) elliptic relations (`rel₄`)
$E(a,b,c,d): W_{a+b}W_{a-b}W_{c+d}W_{c-d}=W_{a+c}W_{a-c}W_{b+d}W_{b-d}-W_{a+d}W_{a-d}W_{b+c}W_{b-c}$.
For an integer-indexed sequence W valued in a commutative ring, the relation makes sense only when a,b,c,d are all integers or all half integers. For convenience of formalization, we instead consider integers a,b,c,d of the same parity and divide all subscripts by 2. We extract the subexpression $W_{(a+b)/2}W_{(a-b)/2}$ (which appear six times) as `addMulSub W a b`.
The collection of all $E(a,b,c,d)$ is equivalent to Stange's axiom for elliptic nets (`net`), and the literature (e.g. Silverman) commonly consider only the three-index special case $E(m,n,r,0)$ (`Rel₃`). Important special cases of these relations are
(i) $E(m+1,m,1,0): W_{2m+1}W_1^3=W_{m+2}W_m^3-W_{m+1}^3 W_{m-1}$ (`oddRec`) and
(ii) $E(m+1,m-1,1,0): W_{2m}W_2 W_1^2=W_m(W_{m+2}W_{m-1}^2-W_{m-2}W_{m+1}^2)$ (`evenRec`),
which suffice to uniquely specify $W$ on all positive integers recursively from four initial values $W_1, W_2, W_3, W_4$ (`IsEllSequence.ext`, if $W_1 W_2$ is not a zero divisor). In the usual setting where $W_1=1$ and $W_2\mid W_4$, there does exist a sequence (`normEDS`) satisfying (i) and (ii) given initial values $W_2, W_3$ and $W_4/W_2$. It turns out the same non-zerodivisor condition also guarantees that W is an odd function with $W_0=0$, which naturally extends W to all integers.
The main result of this PR (`rel₄_of_oddRec_evenRec`, `IsEllSequence.of_oddRec_evenRec`) is a purely algebraic proof that the sequence W defined by the single-parameter elliptic relations (i) and (ii) implies all $E(a,b,c,d)$, based on my original argument first published on [Math.SE](https://math.stackexchange.com/a/4903422/12932). It's based on the observation that a nonzerodivisor-multiple of $E(a,b,c,d)$ can be expressed as a linear combination of various $E(a,b,c_\min,d_\min)$ with the two smallest indices fixed at their minimal possible values, which can be transformed (`transf`) to an elliptic relation with smaller `a` (which can be assumed to hold by induction), unless they are of the form (i) or (ii) which hold by assumption. For this argument it's necessary to assume `a > b > c > d ≥ 0` (see `StrictAnti₄` and `Rel₄OfValid`), but it's easy to extend to arbitrary a,b,c,d by symmetry properties of `rel₄` under negation and permutations of indices.
In the subsequent PR #13057, we show all normalized EDSs (`normEDS`), defined using the even-odd recursion (i)-(ii), are elliptic (i.e. satisfy the elliptic relations) divisibility sequences. This PR doesn't directly apply because a normEDS doesn't always satisfy the nonzerodivisor condition, but they are specializations of the universal normEDS, which does satisfy the condition. The technique of reducing to the universal case will be applied many times, and relies on the naturality (`map`) lemmas.
We also change the `ℕ` in the definition `IsDivSequence` to `ℤ` which is more natural given that W is a `ℤ`-indexed sequence.
---
- [x] depends on: #13153
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-author
t-number-theory
label:t-algebra$ |
565/12 |
Mathlib/NumberTheory/EllipticDivisibilitySequence.lean |
1 |
55 |
['Multramate', 'alreadydone', 'github-actions', 'grunweg', 'leanprover-community-mathlib4-bot'] |
nobody |
636-28125 1 year ago |
685-30012 685 days ago |
26-39367 26 days |
| 15600 |
adomani author:adomani |
feat: lint also `let` vs `have` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-linter
|
77/26 |
Mathlib/Tactic/Linter/HaveLetLinter.lean,test/HaveLetLinter.lean |
2 |
1 |
['github-actions'] |
nobody |
634-82801 1 year ago |
655-76499 655 days ago |
0-8 8 seconds |
| 16253 |
Shreyas4991 author:Shreyas4991 |
feat: Basics of Discrete Fair Division in Mathlib |
This PR adds the basics of discrete fair division in mathlib. We include the definitions of allocations, valuations, properties of valuations, and the following notions : Envy-Freeness (EF), Envy-Freeness upto 1 good (EF1), and envy freeness upto any good (EFX). We also include the various implications between these notions.
---
[](https://gitpod.io/from-referrer/)
|
WIP
awaiting-author
|
144/0 |
Mathlib/GameTheory/FairDivision/Discrete/Basic.lean |
1 |
9 |
['Shreyas4991', 'eric-wieser', 'github-actions'] |
nobody |
633-80714 1 year ago |
633-84975 633 days ago |
0-20853 5 hours |
| 13970 |
adomani author:adomani |
feat: a linter to flag unnecessary uses of `nolint simpNF` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
awaiting-author
|
230/0 |
Mathlib.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/Quaternion.lean,Mathlib/CategoryTheory/Comma/Arrow.lean,Mathlib/CategoryTheory/Monoidal/End.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/Data/Rat/Defs.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Even.lean,Mathlib/LinearAlgebra/CliffordAlgebra/EvenEquiv.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/UnnecessarySyntax.lean,test/UnnecessarySyntax.lean |
13 |
4 |
['adomani', 'github-actions', 'grunweg', 'leanprover-bot'] |
nobody |
633-19615 1 year ago |
unknown |
0-0 0 seconds |
| 15162 |
adomani author:adomani |
feat: checkAsSorry linter |
A very preliminary version of the `checkAsSorry` linter.
It flags declarations whose type is not equal to the 'asSorry'ed one.
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Running.20Mathlib.20under.20.60set_option.20debug.2EbyAsSorry.60)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
|
119/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/CheckAsSorry.lean,test/CheckAsSorry.lean |
4 |
1 |
['github-actions'] |
nobody |
633-18603 1 year ago |
unknown |
0-0 0 seconds |
| 14669 |
Command-Master author:Command-Master |
feat(Data/Nat/PartENat): add lemmas for PartENat |
Add some missing lemmas for `PartENat`, as well as the additive homomorphism from it to `WithTop Int`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
new-contributor
merge-conflict
|
90/0 |
Mathlib/Data/Nat/PartENat.lean |
1 |
4 |
['erdOne', 'github-actions', 'mathlib-merge-conflicts', 'urkud'] |
nobody |
631-24319 1 year ago |
682-31841 682 days ago |
0-6775 1 hour |
| 15121 |
Eloitor author:Eloitor |
feat: iff theorems for IsSplitEpi and IsSplitMono in opposite category |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-category-theory
new-contributor
|
40/0 |
Mathlib/CategoryTheory/EpiMono.lean |
1 |
3 |
['github-actions', 'joelriou', 'mattrobball'] |
nobody |
630-73664 1 year ago |
662-32923 662 days ago |
7-3203 7 days |
| 15895 |
madvorak author:madvorak |
feat(Computability/ContextFreeGrammar): mapping between two types of nonterminal symbols |
---
[](https://gitpod.io/from-referrer/)
|
t-computability
WIP
|
172/0 |
Mathlib/Computability/ContextFreeGrammar.lean |
1 |
43 |
['YaelDillies', 'github-actions', 'madvorak'] |
nobody |
630-4057 1 year ago |
634-37566 634 days ago |
1-43047 1 day |
| 14038 |
adomani author:adomani |
test/decl diff in lean dev |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
231/2 |
.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,.github/workflows/mk_build_yml.sh,Mathlib/Tactic/Eval.lean,scripts/decls_diff_hybrid.sh,scripts/list_decls.lean |
8 |
3 |
['github-actions'] |
nobody |
629-12117 1 year ago |
701-68636 701 days ago |
0-8 8 seconds |
| 14046 |
adomani author:adomani |
test: diff of declarations in lean |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
231/2 |
.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,.github/workflows/mk_build_yml.sh,Mathlib/Tactic/Eval.lean,scripts/decls_diff_hybrid.sh,scripts/list_decls.lean |
8 |
2 |
['github-actions'] |
nobody |
629-12117 1 year ago |
unknown |
0-0 0 seconds |
| 12107 |
yuma-mizuno author:yuma-mizuno |
feat(Mathlib/Tactic/Widget/StringDiagram): support 2-morphisms in bicategories |
---
- [x] depends on: #11080
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
t-meta
|
1158/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/Coherence.lean,Mathlib/Tactic/Widget/StringDiagram.lean,scripts/noshake.json,test/StringDiagram.lean,widget/src/penrose/monoidal.dsl,widget/src/penrose/monoidal.sty |
8 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
624-6861 1 year ago |
unknown |
0-0 0 seconds |
| 15925 |
yuma-mizuno author:yuma-mizuno |
feat(CategoryTheory/Monoida): proof producing coherence tactic |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
t-meta
|
5018/265 |
Mathlib.lean,Mathlib/CategoryTheory/Bicategory/Adjunction.lean,Mathlib/CategoryTheory/Bicategory/Kan/Adjunction.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/CoherenceLemmas.lean,Mathlib/CategoryTheory/Monoidal/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Rigid/Basic.lean,Mathlib/CategoryTheory/Monoidal/Rigid/Braided.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/BicategoricalComp.lean,Mathlib/Tactic/CategoryTheory/Bicategory/Normalize.lean,Mathlib/Tactic/CategoryTheory/Bicategory/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/Coherence.lean,Mathlib/Tactic/CategoryTheory/Coherence/Basic.lean,Mathlib/Tactic/CategoryTheory/Coherence/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Coherence/Normalize.lean,Mathlib/Tactic/CategoryTheory/Coherence/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/CoherenceNew.lean,Mathlib/Tactic/CategoryTheory/Monoidal.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Basic.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/MonoidalComp.lean,Mathlib/Tactic/Widget/StringDiagram.lean,lake-manifest.json,scripts/noshake.json,test/CategoryTheory/Bicategory.lean,test/CategoryTheory/Coherence.lean,test/CategoryTheory/CoherenceNew.lean,test/CategoryTheory/Monoidal.lean,test/CategoryTheory/Monoidal/Basic.lean,test/CategoryTheory/Monoidal/Normalize.lean,test/CategoryTheory/MonoidalComp.lean,test/StringDiagram.lean |
35 |
1 |
['github-actions'] |
nobody |
623-53398 1 year ago |
unknown |
0-0 0 seconds |
| 7861 |
shuxuezhuyi author:shuxuezhuyi |
feat(Geometry/Hyperbolic/UpperHalfPlane): instance IsometricSMul PSL(2, ℝ) ℍ |
---
- [ ] depends on: #7835
- [ ] depends on: #7791
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-euclidean-geometry
|
98/0 |
Mathlib.lean,Mathlib/Geometry/Hyperbolic/UpperHalfPlane/Basic.lean,Mathlib/LinearAlgebra/Matrix/ProjectiveSpecialLinearGroup.lean |
3 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
623-34458 1 year ago |
683-74986 683 days ago |
43-50453 43 days |
| 16570 |
yuma-mizuno author:yuma-mizuno |
chore(Tactic/CategoryTheory): change `TermElabM` to `MetaM` |
Separated from #15335.
To use `Qq`, we need to modify `Qq` to support universe matching. See [Zulip](https://leanprover.zulipchat.com/#narrow/stream/144837-PR-reviews/topic/.2315335.20meta.20code.20for.20monoidal.20categories).
---
- [ ] depends on: #15335
[](https://gitpod.io/from-referrer/)
|
WIP
t-meta
|
26/15 |
Mathlib/Tactic/CategoryTheory/BicategoryCoherence.lean,Mathlib/Tactic/CategoryTheory/Coherence.lean |
2 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mergify'] |
nobody |
623-10923 1 year ago |
unknown |
0-0 0 seconds |
| 6475 |
joneugster author:joneugster |
refactor(LinearAlgebra/Span): replace ∙ with • as notation for `span R {x}` |
Change the notation for `Submodule.span R {x}` from `R ∙ x` to the bullet `R • x`, which is also used for scalar multiplication.
---
(this was an experiment originating from a [Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/.2E.C2.B7.E2.AC.9D.20.5Brant.5D), I don't have a clear opinion if this is actually a desired thing to do...)
Generally this works and Lean seems to do fine figuring out the difference between `r • x` and `R • x` (The former is scalar multiplication in an `R`-module `M`, the latter is the `Submodule R M` generated by `x`).
Encountered a few regressions that should be considered (the first two might be also bugs that could be looked at independently):
1. `(· • ·)`, and general simple function syntax, does not work as notation for `HSMul.hSMul` anymore. For this reason, I introduced the notation `scoped` to minimise the effect of this. Now it's only a problem if you `open Span`. Note that `fun x₁ x₂ ↦ x₁ • x₂` works flawlessly all the time.
4. `change` and `convert` have troubles to deal with the two competing notations. `have := _; convert this` works.
5. `R • x - y` is not valid anymore and needs parentheses: `R • (x - y)`. I do think this actually helps readability, so I don't mind.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
RFC
label:t-algebra$ |
323/240 |
Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Lie/Engel.lean,Mathlib/Algebra/Lie/Normalizer.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Analysis/InnerProductSpace/Orthogonal.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/InnerProductSpace/Projection.lean,Mathlib/Analysis/InnerProductSpace/TwoDim.lean,Mathlib/Analysis/NormedSpace/ContinuousLinearMap.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Extension.lean,Mathlib/Analysis/NormedSpace/OperatorNorm.lean,Mathlib/Data/ZMod/Quotient.lean,Mathlib/Geometry/Euclidean/Angle/Oriented/Basic.lean,Mathlib/Geometry/Euclidean/Inversion/Calculus.lean,Mathlib/Geometry/Euclidean/MongePoint.lean,Mathlib/Geometry/Euclidean/PerpBisector.lean,Mathlib/Geometry/Euclidean/Sphere/SecondInter.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace.lean,Mathlib/LinearAlgebra/AffineSpace/FiniteDimensional.lean,Mathlib/LinearAlgebra/BilinearForm.lean,Mathlib/LinearAlgebra/DFinsupp.lean,Mathlib/LinearAlgebra/Dimension.lean,Mathlib/LinearAlgebra/FiniteDimensional.lean,Mathlib/LinearAlgebra/LinearIndependent.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/ProjectiveSpace/Basic.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/Quotient.lean,Mathlib/LinearAlgebra/SesquilinearForm.lean,Mathlib/LinearAlgebra/Span.lean,Mathlib/MeasureTheory/Integral/Periodic.lean,Mathlib/RingTheory/Coprime/Ideal.lean,Mathlib/RingTheory/Finiteness.lean,Mathlib/RingTheory/Ideal/AssociatedPrime.lean,Mathlib/RingTheory/Ideal/IdempotentFG.lean,Mathlib/RingTheory/Noetherian.lean,Mathlib/Topology/Instances/AddCircle.lean |
42 |
3 |
['eric-wieser', 'joneugster', 'leanprover-bot'] |
nobody |
622-31754 1 year ago |
unknown |
0-0 0 seconds |
| 10591 |
adri326 author:adri326 |
feat(Topology/Algebra/ConstMulAction): properties of continuous actions in Hausdorff spaces |
Defines some useful properties of `ContinuousConstSMul` group actions on Hausdorff spaces:
- `MulAction.isClosed_fixedBy`, which proves that the `fixedBy α m` set is closed
- `t2_separation_smul`, which constructs an open set `s` such that `s` and `g • s` are disjoint
- `Set.InjOn.t2_separation_smul`, the extension of `t2_separation_smul` to a set of group elements whose action is injective
---
This PR belongs my series of PR around the formalization of Rubin's theorem. `MulAction.isClosed_fixedBy` is used in several places along the proof, and the separation lemmas are primarily used in showing that `(fixedBy α g)ᶜ` and `(fixedBy α h)ᶜ` are disjoint under some intricate but fully group-theoretic condition.
[](https://gitpod.io/from-referrer/)
|
t-topology
awaiting-author
t-algebra
label:t-algebra$ |
57/0 |
Mathlib/Topology/Algebra/ConstMulAction.lean |
1 |
9 |
['ADedecker', 'adri326', 'j-loreaux', 'jcommelin'] |
ADedecker assignee:ADedecker |
622-2915 1 year ago |
774-15657 774 days ago |
55-82204 55 days |
| 7545 |
shuxuezhuyi author:shuxuezhuyi |
feat: APIs of `Function.extend f g e'` when `f` is injective |
We characterizes `range g`, `Injective g`, `Surjective g` and `Bijective g` in terms of `extend f g e'`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-logic
|
50/0 |
Mathlib.lean,Mathlib/Logic/Function/ApiForExtend.lean |
2 |
1 |
['fpvandoorn'] |
nobody |
621-47290 1 year ago |
929-81472 929 days ago |
32-32325 32 days |
| 16658 |
adomani author:adomani |
add tips file |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
awaiting-author
test-ci
|
51/508 |
.github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,scripts/Tips.lean |
5 |
1 |
['github-actions'] |
nobody |
617-76223 1 year ago |
unknown |
0-0 0 seconds |
| 14078 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat(CI): continue after mk_all fails |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
CI
|
43/0 |
.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,Mathlib/Data/Nat/Test.lean |
5 |
2 |
['bryangingechen', 'github-actions'] |
nobody |
617-56523 1 year ago |
700-23083 700 days ago |
0-13311 3 hours |
| 11283 |
hmonroe author:hmonroe |
feat(ModelTheory/Satisfiability): define theory with independent sentence |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-logic
|
8/0 |
Mathlib/ModelTheory/Satisfiability.lean |
1 |
2 |
['fpvandoorn', 'hmonroe'] |
nobody |
615-27077 1 year ago |
802-747 802 days ago |
3-63452 3 days |
| 16914 |
siddhartha-gadgil author:siddhartha-gadgil |
Loogle syntax with non-reserved |
This is PR mainly to test that loogle syntax does not break stuff downstream
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
4/4 |
lake-manifest.json,lakefile.lean |
2 |
1 |
['github-actions'] |
nobody |
613-15686 1 year ago |
614-12775 614 days ago |
0-14835 4 hours |
| 13782 |
alreadydone author:alreadydone |
feat(EllipticCurve): ZSMul formula in terms of division polynomials |
The formula $[n]P = (\phi_n(x,y) : \omega_n(x,y) : \psi_n(x,y))$ in Jacobian coordinates for $P=(x,y)$ a nonsingular point on a Weierstrass/elliptic curve.
---
- [x] depends on: #12883
- [x] depends on: #13399
- [ ] depends on: #13057
- [ ] depends on: #13155
- [x] depends on: #13845
- [x] depends on: #13846
- [ ] depends on: #13847
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-number-theory
blocked-by-other-PR
merge-conflict
t-algebraic-geometry
label:t-algebra$ |
2462/232 |
Mathlib.lean,Mathlib/Algebra/MvPolynomial/PDeriv.lean,Mathlib/Algebra/Polynomial/Bivariate.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/ZSMul.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Universal.lean,Mathlib/NumberTheory/EllipticDivisibilitySequence.lean |
10 |
8 |
['Multramate', 'alreadydone', 'github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
610-65051 1 year ago |
unknown |
0-0 0 seconds |
| 8118 |
iwilare author:iwilare |
feat(CategoryTheory): add dinatural transformations |
A starting point to define [dinatural transformations](https://ncatlab.org/nlab/show/dinatural+transformation).
This is my first PR so style comments and improvements are very welcome!
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
|
147/7 |
Mathlib.lean,Mathlib/CategoryTheory/DinatTrans.lean,Mathlib/CategoryTheory/Functor/Category.lean,Mathlib/CategoryTheory/Products/Bifunctor.lean |
4 |
49 |
['Shamrock-Frost', 'github-actions', 'iwilare', 'joelriou'] |
Shamrock-Frost assignee:Shamrock-Frost |
608-37972 1 year ago |
712-18449 712 days ago |
21-30729 21 days |
| 14242 |
js2357 author:js2357 |
feat: Prove equivalence of `isDedekindDomain` and `isDedekindDomainDvr` |
Prove that `isDedekindDomainDvr` is equivalent to both `isDedekindDomain` and `isDedekindDomainInv`.
Specifically, prove `isDedekindDomainDvr A → isDedekindDomainInv A`, because `isDedekindDomain A → isDedekindDomainDvr A` and `IsDedekindDomain A ↔ IsDedekindDomainInv A` are already in Mathlib.
- [x] depends on: #14099
- [x] depends on: #14216
- [ ] depends on: #14237
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
new-contributor
label:t-algebra$ |
269/1 |
Mathlib.lean,Mathlib/RingTheory/DedekindDomain/Dvr.lean,Mathlib/RingTheory/FractionalIdeal/LocalizedAtPrime.lean,Mathlib/RingTheory/Localization/Basic.lean |
4 |
2 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
607-84723 1 year ago |
695-73670 695 days ago |
0-273 4 minutes |
| 17171 |
FR-vdash-bot author:FR-vdash-bot |
test extends carrier and property |
---
We need https://github.com/leanprover/lean4/issues/2666 ...
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
433/309 |
Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Directed.lean,Mathlib/Algebra/DirectSum/Decomposition.lean,Mathlib/Algebra/Field/Subfield.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/MulOpposite.lean,Mathlib/Algebra/Group/Submonoid/Basic.lean,Mathlib/Algebra/Group/Submonoid/MulOpposite.lean,Mathlib/Algebra/Group/Submonoid/Pointwise.lean,Mathlib/Algebra/Group/Submonoid/Units.lean,Mathlib/Algebra/Group/Subsemigroup/Basic.lean,Mathlib/Algebra/Group/Subsemigroup/Operations.lean,Mathlib/Algebra/Module/Submodule/Basic.lean,Mathlib/Algebra/Module/Submodule/Lattice.lean,Mathlib/Algebra/Module/Submodule/Map.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/MulOpposite.lean,Mathlib/Algebra/Ring/Subsemiring/Order.lean,Mathlib/Algebra/Star/Subalgebra.lean,Mathlib/Algebra/Star/Subsemiring.lean,Mathlib/Data/Complex/Module.lean,Mathlib/Data/SetLike/Basic.lean,Mathlib/Deprecated/Subfield.lean,Mathlib/Deprecated/Subgroup.lean,Mathlib/Deprecated/Submonoid.lean,Mathlib/Deprecated/Subring.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/GroupTheory/DoubleCoset.lean,Mathlib/GroupTheory/Finiteness.lean,Mathlib/GroupTheory/GroupAction/SubMulAction.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace.lean,Mathlib/LinearAlgebra/Span.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/NonUnitalSubring/Basic.lean,Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean,Mathlib/SetTheory/Cardinal/Subfield.lean,Mathlib/Topology/Algebra/Algebra.lean,Mathlib/Topology/Algebra/OpenSubgroup.lean |
42 |
1 |
['github-actions'] |
nobody |
603-83065 1 year ago |
unknown |
0-0 0 seconds |
| 7516 |
ADedecker author:ADedecker |
perf: use `abbrev` to prevent unifying useless data |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
4/3 |
Mathlib/Topology/ContinuousFunction/Bounded.lean |
1 |
3 |
['ADedecker', 'leanprover-bot', 'mattrobball'] |
nobody |
602-54725 1 year ago |
963-18942 963 days ago |
0-16 16 seconds |
| 17127 |
FR-vdash-bot author:FR-vdash-bot |
chore: remove global `Quotient.mk` `⟦·⟧` notation |
---
Merge this PR when we are ready to migrate to `QuotLike` API (#16421).
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
137/2 |
Counterexamples/Pseudoelement.lean,Mathlib/Algebra/Associated/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Order/CauSeq/Completion.lean,Mathlib/Algebra/Quandle.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Product.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnected.lean,Mathlib/CategoryTheory/Abelian/Pseudoelements.lean,Mathlib/CategoryTheory/Limits/Shapes/SingleObj.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean,Mathlib/CategoryTheory/Skeletal.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Fintype/List.lean,Mathlib/Data/Fintype/Quotient.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/QPF/Multivariate/Constructions/Fix.lean,Mathlib/Data/QPF/Univariate/Basic.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Real/Basic.lean,Mathlib/Data/Set/Finite.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/LinearAlgebra/Dual.lean,Mathlib/LinearAlgebra/Ray.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/ModelTheory/DirectLimit.lean,Mathlib/ModelTheory/Fraisse.lean,Mathlib/ModelTheory/Quotients.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean,Mathlib/NumberTheory/NumberField/Embeddings.lean,Mathlib/NumberTheory/NumberField/Units/DirichletTheorem.lean,Mathlib/NumberTheory/Padics/PadicIntegers.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Order/RelIso/Basic.lean,Mathlib/RepresentationTheory/Action/Concrete.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Ordinal.lean,Mathlib/SetTheory/Game/Basic.lean,Mathlib/SetTheory/Game/Birthday.lean,Mathlib/SetTheory/Game/Impartial.lean,Mathlib/SetTheory/Game/Ordinal.lean,Mathlib/SetTheory/Game/State.lean,Mathlib/SetTheory/Lists.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Surreal/Basic.lean,Mathlib/SetTheory/Surreal/Dyadic.lean,Mathlib/SetTheory/Surreal/Multiplication.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Rank.lean,Mathlib/Topology/Connected/PathConnected.lean,Mathlib/Topology/Homotopy/HomotopyGroup.lean,Mathlib/Topology/Homotopy/Path.lean,Mathlib/Topology/Homotopy/Product.lean,Mathlib/Topology/MetricSpace/GromovHausdorff.lean,Mathlib/Topology/UniformSpace/Separation.lean,test/interactiveUnfold.lean |
68 |
1 |
['github-actions'] |
nobody |
602-49768 1 year ago |
602-49768 602 days ago |
4-72805 4 days |
| 16887 |
metinersin author:metinersin |
feat(ModelTheory/Complexity): define conjunctive and disjunctive formulas |
Defines `FirstOrder.Language.BoundedFormula.IsConjunctive` and `FirstOrder.Language.BoundedFormula.IsDisjunctive`.
---
- [ ] depends on: #16885
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
new-contributor
t-logic
|
300/7 |
Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Syntax.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
599-80701 1 year ago |
615-22375 615 days ago |
0-1299 21 minutes |
| 16888 |
metinersin author:metinersin |
feat(ModelTheory/Complexity): Define conjunctive and disjunctive normal forms |
Define `FirstOrder.Language.BoundedFormula.IsDNF` and `FirstOrder.Language.BoundedFormula.IsCNF`.
---
- [ ] depends on: #16887
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
new-contributor
t-logic
|
415/7 |
Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Syntax.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
599-80701 1 year ago |
615-22376 615 days ago |
0-1045 17 minutes |
| 16889 |
metinersin author:metinersin |
feat(ModelTheory/Complexity): Normal forms |
Defines `FirstOrder.Language.BoundedFormula.toDNF` and `FirstOrder.Language.BoundedFormula.toCNF` - given a quantifier-free formula, these construct a semantically equivalent formula in disjunctive normal form and conjunctive normal form, respectively.
---
- [ ] depends on: #16888
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
new-contributor
t-logic
|
525/7 |
Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Syntax.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
599-80700 1 year ago |
615-18126 615 days ago |
0-613 10 minutes |
| 5995 |
FR-vdash-bot author:FR-vdash-bot |
feat: add APIs about `Quotient.choice` |
Some docs in this PR refer to the definition in #5576.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
RFC
t-data
|
76/6 |
Mathlib/Data/Quot.lean |
1 |
3 |
['YaelDillies', 'astrainfinita', 'gebner'] |
eric-wieser assignee:eric-wieser |
593-8510 1 year ago |
718-29171 718 days ago |
285-35716 285 days |
| 14619 |
Command-Master author:Command-Master |
chore: Merge `Trunc` to `Squash` |
Remove `Trunc` and use `Squash` instead
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
new-contributor
|
197/211 |
Mathlib/CategoryTheory/EpiMono.lean,Mathlib/CategoryTheory/Preadditive/Biproducts.lean,Mathlib/Data/DFinsupp/Basic.lean,Mathlib/Data/Fintype/Basic.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Data/Fintype/Option.lean,Mathlib/Data/Fintype/Perm.lean,Mathlib/Data/Fintype/Quotient.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Semiquot.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/Logic/Equiv/List.lean |
13 |
3 |
['Command-Master', 'github-actions', 'vihdzp'] |
nobody |
590-40851 1 year ago |
unknown |
0-0 0 seconds |
| 13156 |
erdOne author:erdOne |
refactor(Algebra/Module/LocalizedModule): Redefine `LocalizedModule` in terms of `OreLocalization`. |
---
- [x] depends on: #13151
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
519/628 |
Mathlib.lean,Mathlib/Algebra/Module/LocalizedModule.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/OreLocalization/Basic.lean,Mathlib/RingTheory/OreLocalization/Module.lean,Mathlib/RingTheory/OreLocalization/Ring.lean |
8 |
4 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mattrobball'] |
nobody |
588-15650 1 year ago |
588-15650 588 days ago |
51-84473 51 days |
| 16348 |
urkud author:urkud |
refactor(Topology): require `LinearOrder` with `OrderTopology` |
While the definition formally makes sense for a preorder,
this topology is usually not the right one for a non-linear order (e.g., `Real × Real`).
See [Zulip thread](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Open.20Ioi)
---
This PR doesn't cleanup any API, I'm going to do it in a later PR.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
t-order
|
33/46 |
Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean,Mathlib/Topology/Algebra/Order/LiminfLimsup.lean,Mathlib/Topology/Instances/Sign.lean,Mathlib/Topology/Order/Basic.lean,Mathlib/Topology/Order/Filter.lean,Mathlib/Topology/Order/MonotoneContinuity.lean |
6 |
10 |
['YaelDillies', 'github-actions', 'jcommelin', 'urkud'] |
nobody |
588-15274 1 year ago |
628-47608 628 days ago |
3-83049 3 days |
| 13965 |
pechersky author:pechersky |
feat(Data/DigitExpansion): reals via digit expansion are complete |
---
[](https://gitpod.io/from-referrer/)
- [ ] depends on: #13964 |
merge-conflict
blocked-by-other-PR
t-data
|
3876/0 |
Mathlib.lean,Mathlib/Data/DigitExpansion/Add.lean,Mathlib/Data/DigitExpansion/Defs.lean,Mathlib/Data/DigitExpansion/Hensel.lean,Mathlib/Data/DigitExpansion/Integer/Basic.lean,Mathlib/Data/DigitExpansion/Integer/Mul.lean,Mathlib/Data/DigitExpansion/Real/Basic.lean,Mathlib/Data/DigitExpansion/Real/CompleteSpace.lean,Mathlib/Data/DigitExpansion/Real/ConditionallyComplete.lean,docs/references.bib |
10 |
4 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
586-52442 1 year ago |
704-85061 704 days ago |
0-600 10 minutes |
| 16984 |
hrmacbeth author:hrmacbeth |
feat: extend `module` tactic to handle multiple rings, not strictly ordered by inclusion |
The `module` tactic currently in Mathlib handles scalars from multiple rings, but only if for any two rings `R` and `S` which appear, either `R` is an algebra over `S` or vice versa. This PR extends the tactic by providing a syntax `module T`, which will handle scalars from any ring `R` which `T` is an algebra over.
For example,
```lean
example : (2:ℤ) • x = (2:ℚ≥0) • x := by module
```
fails since `ℤ` is not a `ℚ≥0`-algebra and `ℚ≥0` is not a `ℤ`-algebra, but
```lean
example : (2:ℤ) • x = (2:ℚ≥0) • x := by module ℚ
```
works since `ℚ` is both a `ℤ`-algebra and a `ℚ≥0`-algebra.
This PR is a quick proof-of-concept implementation, just to record the desired approach and tactic syntax. It should not be merged as-is. It has with a lot of code duplication and should be rewritten more efficiently (for example, `parse` and `parseEnsuringType` should be merged to a single function, and the `some`/`none` cases in `matchScalarsAux` should be merged to a uniform treatment) before being considered for merging to Mathlib.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
158/35 |
Mathlib/Tactic/Module.lean,test/module.lean |
2 |
1 |
['github-actions'] |
nobody |
584-37714 1 year ago |
unknown |
0-0 0 seconds |
| 12750 |
Command-Master author:Command-Master |
feat: define Gray code |
---
Define binary reflected gray code, both as a permutation of `Nat` and as a permutation of `BitVec n`, and prove some theorems about them. Additionally, remove `@[simp]` from `Nat.bit_false` and `Nat.bit_true`, as `bit0` and `bit1` are deprecated, and add some lemmas to `Bits`, `Bitwise` and `Size`.
- [ ] depends on: #12751
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-data
new-contributor
merge-conflict
awaiting-author
|
226/0 |
Mathlib.lean,Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/GrayCode.lean,Mathlib/Data/Nat/Size.lean |
5 |
5 |
['Rida-Hamadani', 'alreadydone', 'github-actions', 'grunweg', 'leanprover-community-mathlib4-bot'] |
nobody |
582-16958 1 year ago |
730-85456 730 days ago |
16-49744 16 days |
| 12414 |
adomani author:adomani |
test: lint and unlint `·` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
64/14 |
Archive/Wiedijk100Theorems/CubingACube.lean,Mathlib/Algebra/Module/Submodule/Bilinear.lean,Mathlib/Tactic/Linter/Multigoal.lean,test/Multigoal.lean |
4 |
4 |
['adomani', 'github-actions', 'grunweg', 'leanprover-bot'] |
nobody |
580-13499 1 year ago |
unknown |
0-0 0 seconds |
| 16647 |
eric-wieser author:eric-wieser |
feat: partitions of lists |
The length of this list is the bell numbers.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-combinatorics
t-data
|
311/0 |
Mathlib.lean,Mathlib/Data/List/Partition.lean |
2 |
1 |
['github-actions'] |
nobody |
577-33973 1 year ago |
unknown |
0-0 0 seconds |
| 13514 |
madvorak author:madvorak |
feat(Computability/ContextFreeGrammar): closure under union |
- [ ] depends on: #15895
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
blocked-by-other-PR
|
448/4 |
Mathlib/Computability/ContextFreeGrammar.lean |
1 |
50 |
['Rida-Hamadani', 'YaelDillies', 'github-actions', 'leanprover-community-mathlib4-bot', 'madvorak'] |
nobody |
569-28286 1 year ago |
647-2267 647 days ago |
72-28417 72 days |
| 5364 |
thorimur author:thorimur |
feat: `wlog ... replacing` |
This allows hypotheses to be removed from the set of generalized hypotheses. E.g. `wlog h : P replacing h'` will remove `h'` from the hypotheses of the type of `this` and from the context of the goal that will suppose `h`. See [zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/wlog.20.2E.2E.2E.20replacing.20.2E.2E.2E.3F).
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
125/18 |
Mathlib/Tactic/WLOG.lean,test/wlog.lean |
2 |
2 |
['thorimur', 'urkud'] |
nobody |
567-61325 1 year ago |
unknown |
0-0 0 seconds |
| 9654 |
urkud author:urkud |
feat: add `@[mk_eq]` version of `@[mk_iff]` |
The new attribute generates theorems like
```lean
List.chain_eq : @List.Chain = fun {α} R a a_1 => a_1 = [] ∨ ∃ b l, R a b ∧ List.Chain R b l ∧ a_1 = b :: l
```
and is useful to rewrite in a theorem that argues about the properties of an unapplied inductive predicate.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
63/9 |
Mathlib/Lean/Meta.lean,Mathlib/Tactic/MkIffOfInductiveProp.lean,test/MkIffOfInductive.lean |
3 |
6 |
['Vierkantor', 'github-actions', 'urkud'] |
nobody |
567-61079 1 year ago |
839-24378 839 days ago |
25-70825 25 days |
| 16704 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(Mathlib.Data.Ordering.Dickson): Dickson orders |
Dickson orders are a particular class of well founded orders
characterized by the fact that every nonempty set has finitely many minimal elements.
They appear in the classical theory of Groebner bases because it is easier to prove
that some sets are well founded using this property.
WiP. In the `tfae` function, property 2 is exactly `Set.PartiallyWellOrderedOn`, so the PR should be rewritten so as to use that property (and not define `IsDickson`).
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-order
|
324/0 |
Mathlib.lean,Mathlib/Data/Ordering/Dickson.lean,scripts/noshake.json |
3 |
9 |
['AntoineChambert-Loir', 'b-mehta', 'github-actions'] |
nobody |
567-39636 1 year ago |
618-28467 618 days ago |
2-84515 2 days |
| 16355 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: odd_{add,sub}_one |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-author
t-number-theory
label:t-algebra$ |
12/0 |
Mathlib/Algebra/Ring/Int.lean,Mathlib/Algebra/Ring/Parity.lean |
2 |
4 |
['Ruben-VandeVelde', 'github-actions', 'urkud'] |
nobody |
566-73833 1 year ago |
631-62279 631 days ago |
0-57608 16 hours |
| 8638 |
alreadydone author:alreadydone |
refactor: noncommutative tensor product |
Co-authored-by: Eric Wieser
Co-authored-by: Jujian Zhang
This draft PR currently only generalizes a single file TensorProduct.lean; it allows TensorProduct to be taken over a non-commutative ring. Most of the declarations in TensorProduct.lean are now generalized to the non-commutative setting, and very few are deleted (their commutative version will be restored in another file).
Next plans:
+ Change the namespace in TensorProduct.lean from TensorProduct to NonCommTensorProduct, and remove the #aligns
+ I plan to use the same notation for the non-commutative and the commutative TensorProduct, and the user will need to `open scoped` different namespaces to use the one of their choice.
+ Start a new file TensorProduct/Comm.lean, copy the content of TensorProduct.lean on master into it, change the definition TensorProduct to be semi-reducibly defeq to NonCommTensorProduct (in order to support more instances or unify non-defeq instances that become prop-eq in the commutative setting, e.g. we've chosen the R-action on a tensor product over commutative R to come from the left factor, since the action from the right factor is the same), and reuse the NonComm constructions as much as possible. We then change all files that imports TensorProduct.lean to import TensorProduct/Comm.lean instead. Once we do that, mathlib would compile and this PR would be complete. We can gradually generalize other files about tensor products this way.
In this PR:
`TensorProduct.map` is now defined in terms of `lTensor` and `rTensor` rather than the other way around, which requires moving `lTensor` and `rTensor` up from their original location. The definition of `rid` also becomes more challenging and is moved down.
An evident observation is that actions on the domain of AddMonoidHom / LinearMap is really natural in the context of tensor products and Hom-tensor adjunction (`TensorProduct.lift`), not the default actions on the codomain. For example, it allows us to write the "balanced biadditive monoid homs" in #8536 as simply `N →ₗ[R] M →+ P` (where the right R-action on M turns into the left action on `M →+ P`).
For this reason, we disable the default instances `AddMonoidHom/LinearMap.module` at the beginning of the file and enable the `AddMonoidHom/LinearMap.domModule` instances instead. (The action on the codomain would be necessary for the non-commutative version of [TensorProduct.lTensorHomToHomLTensor](https://leanprover-community.github.io/mathlib4_docs/Mathlib/LinearAlgebra/TensorProduct.html#TensorProduct.lTensorHomToHomLTensor) (in the form of `P ⊗[R] (M →+ Q) →+ M →+ P ⊗[R] Q`), but I've deleted it for now.)
We register actions on the left factor of a tensor product as the default instance, but we also talk about actions on the right factor (`attribute [local instance] rightModule`).
The Tensor-Hom adjunction #8495 is now `uncurryEquiv` in this PR.
#8519 is now included in this PR and #8584 is now called `lift` in this PR.
`CharacterModule.homEquiv` in #8559 can be obtained by combining `liftEquiv` and `flipMop` in this PR (except for a mop). To refactor the commutative tensor product, we'd need to transfer many R^mop-action to R-action and R^mop-LinearMaps to R-LinearMaps, which can be achieved via `Module.compHom` and `LinearMap.restrictScalars` (requires `LinearMap.CompatibleSMul` instance) given `RingEquiv.toOpposite`. `LinearMap.characterfy` and `CharacterModule.cong` could be obtained from `LinearMap.compAddMonoidHom` in this PR.
TODO:
+ Move delarations that belong to other files.
+ Change docstrings that are no longer accurate.
+ Fix some argument order to be more natural.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
793/676 |
Mathlib/Algebra/Module/LinearMap.lean,Mathlib/GroupTheory/GroupAction/DomAct/Basic.lean,Mathlib/LinearAlgebra/TensorProduct.lean |
3 |
6 |
['alreadydone', 'eric-wieser', 'grhkm21', 'jjaassoonn'] |
nobody |
566-13646 1 year ago |
unknown |
0-0 0 seconds |
| 14598 |
Command-Master author:Command-Master |
chore: add typeclasses to unify various `add_top`, `add_eq_top`, etc. |
Add the four typeclasses `IsTopAbsorbing`, `IsBotAbsorbing`, `NoTopSum`, `NoBotSum`, as additive equivalents for `MulZeroClass` and `NoZeroDivisors`. Add instances of these for `ENNReal`, `WithTop α`, `WithBot α`, `PUnit`, `EReal`, `PartENat`, `Measure`, `Interval` and `Filter`.
Also split `Algebra/Order/AddGroupWithTop` to `Algebra/Order/Group/WithTop` and `Algebra/Order/Monoid/WithTop`
---
Previous usages of lemmas with quantified names like `WithTop.add_top` have to be changed to just `add_top`.
`add_lt_top` is `@[simp]`, in accordance with `ENNReal.add_lt_top` being `@[simp]`. This affects `WithTop.add_lt_top` which previously hadn't been `@[simp]`.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
t-order
new-contributor
label:t-algebra$ |
264/195 |
Archive/Wiedijk100Theorems/BallotProblem.lean,Mathlib.lean,Mathlib/Algebra/Order/Group/WithTop.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean,Mathlib/Algebra/PUnitInstances/Order.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/Analytic/Meromorphic.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/NormedSpace/ENorm.lean,Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean,Mathlib/Analysis/SpecialFunctions/Log/ENNRealLog.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/Nat/WithBot.lean,Mathlib/Data/Real/EReal.lean,Mathlib/LinearAlgebra/Lagrange.lean,Mathlib/MeasureTheory/Covering/Differentiation.lean,Mathlib/MeasureTheory/Decomposition/Lebesgue.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL1.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,Mathlib/MeasureTheory/Function/L1Space.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean,Mathlib/MeasureTheory/Function/LpSpace.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/Bochner.lean,Mathlib/MeasureTheory/Integral/MeanInequalities.lean,Mathlib/MeasureTheory/Integral/SetIntegral.lean,Mathlib/MeasureTheory/Integral/VitaliCaratheodory.lean,Mathlib/MeasureTheory/Measure/Hausdorff.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean,Mathlib/MeasureTheory/Measure/Regular.lean,Mathlib/MeasureTheory/Measure/Typeclasses.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Probability/Kernel/Defs.lean,Mathlib/Probability/Martingale/Convergence.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/RingTheory/MvPowerSeries/NoZeroDivisors.lean,Mathlib/RingTheory/UniqueFactorizationDomain.lean,Mathlib/Topology/EMetricSpace/Defs.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/HausdorffDistance.lean,Mathlib/Topology/MetricSpace/Lipschitz.lean |
57 |
30 |
['Command-Master', 'YaelDillies', 'github-actions'] |
nobody |
565-45234 1 year ago |
565-45234 565 days ago |
7-45599 7 days |
| 18636 |
adomani author:adomani |
Test/latest import report dev |
This PR is a test accompanying #18631.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
CI
|
147/0 |
.github/workflows/latest_import.yml,lakefile.lean |
2 |
1 |
['github-actions'] |
nobody |
564-32505 1 year ago |
unknown |
0-0 0 seconds |
| 16885 |
metinersin author:metinersin |
feat(ModelTheory/Complexity): define literals |
Defines `FirstOrder.Language.BoundedFormula.IsLiteral` and `FirstOrder.Language.BoundedFormula.simpleNot` - an auxiliary operation that takes the negation of a formula and does some simplification.
---
- [x] depends on: #16800
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
new-contributor
t-logic
|
148/5 |
Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Syntax.lean |
4 |
20 |
['YaelDillies', 'awainverse', 'github-actions', 'mathlib4-dependent-issues-bot', 'metinersin'] |
nobody |
563-1355 1 year ago |
598-77067 598 days ago |
0-19926 5 hours |
| 18716 |
jjaassoonn author:jjaassoonn |
feat(Algebra/Module/GradedModule): quotient and subgrading |
- [ ] depends on: #9820
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
blocked-by-other-PR
awaiting-CI
merge-conflict
label:t-algebra$ |
997/191 |
Counterexamples/HomogeneousPrimeNotPrime.lean,Mathlib.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Module/GradedModule/Basic.lean,Mathlib/Algebra/Module/GradedModule/QuotientGrading.lean,Mathlib/Algebra/Module/GradedModule/Subgrading.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Submodule.lean,Mathlib/RingTheory/GradedAlgebra/Quotient.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean,scripts/no_lints_prime_decls.txt |
12 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
563-986 1 year ago |
unknown |
0-0 0 seconds |
| 9341 |
winstonyin author:winstonyin |
feat: Naturality of integral curves |
Let `v` and `v'` be sections of the tangent bundle of manifolds `M` and `M'`, respectively, and let `f : M → M'` be a differentiable map. Then `f` maps integral curves of `v` to integral curves of `v'` if and only if `v` and `v'` are `f`-related.
- [x] depends on: #8483
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-differential-geometry
|
45/0 |
Mathlib/Geometry/Manifold/IntegralCurve.lean,Mathlib/Topology/Algebra/Module/Basic.lean |
2 |
9 |
['github-actions', 'grunweg', 'leanprover-community-mathlib4-bot', 'winstonyin'] |
nobody |
559-53178 1 year ago |
867-23248 867 days ago |
0-28222 7 hours |
| 13248 |
hcWang942 author:hcWang942 |
feat: basic concepts of auction theory |
## Description
Formalise some core concepts and results in auction theory: this includes definitions for first-price and second-price auctions, as well as several fundamental results and helping lemmas.
This is the very first PR of the project formalizing core concepts and results in auction theory.
Our group is working on more contributions on the formalization of game theory prefix.
Co-authored-by: Ma Jiajun
## Reference
Roughgarden, Tim. ***Twenty Lectures on Algorithmic Game Theory***. Cambridge University Press, 2020. [Link](https://www.cambridge.org/core/books/twenty-lectures-on-algorithmic-game-theory/A9D9427C8F43E7DAEF8C702755B6D72B)
---
- [x] Will depend on #14163 once that PR is merged. The Fintype lemmas introduced by this PR have been added in that PR and will be removed from here once that PR gets merged
## Current plan for formalization of Game Theory
The current plan for the formalizing of Game Theory include:
#### 1. Auction Theory. 🎉 _(200+ lines, this PR)_
- Essential definitions of Sealed-bid auction, First-price auction and Second-price auction.
- First-price auction has no dominant strategy.
- Second-price auction has dominant strategy. (Second-price auction is DSIC)
#### 2. Mechanism design & Myerson's Lemma. 🎉 (400+ lines, pending for modification to Mathlib Standard)
- Mechanism design
An allocation rule is implementable if there exists
- Dominant Strategy Incentive Compatible (DSIC) payment rule
- An allocation rule is monotone if for every bidder’s gain is nondecreasing w.r.t. her/his bid
- Myerson's Lemma
Implementable ⇔ Monotone
In the above case, the DSIC payment rule is unique.
#### 3. von Neumann‘s Minimax Theorem. 🎉 (800+ lines, pending for modification to Mathlib Standard)
- Equilibrium in zero sum game
- Formalization strategy: via Loomis’s theorem.
#### 4. Nash Equilibrium. 🎉 (pending for modification to Mathlib Standard)
#### 5. Brouwer fixed-point theorem. (Work in Progress)
#### 6. More Mechanism design. (Planning)
|
merge-conflict
awaiting-author
new-contributor
t-logic
|
204/0 |
Mathlib.lean,Mathlib/GameTheory/Auction/Basic.lean,docs/references.bib |
3 |
148 |
['Shreyas4991', 'YaelDillies', 'eric-wieser', 'faenuccio', 'github-actions', 'grunweg', 'hcWang942', 'tb65536', 'urkud', 'vihdzp'] |
hcWang942 assignee:hcWang942 |
558-40187 1 year ago |
572-26375 572 days ago |
109-82807 109 days |
| 17675 |
FR-vdash-bot author:FR-vdash-bot |
perf: do not search algebraic hierarchy when searching `FunLike` hierarchy |
---
Unification is still very slow.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
label:t-algebra$ |
144/4 |
Mathlib.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Algebra/Rat.lean,Mathlib/Algebra/Group/Equiv/Basic.lean,Mathlib/Algebra/GroupWithZero/Hom.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Order/Hom/Basic.lean,Mathlib/Algebra/Ring/CentroidHom.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Algebra/Ring/Hom/Defs.lean,Mathlib/Algebra/Star/StarAlgHom.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Operator/LinearIsometry.lean,Mathlib/GroupTheory/GroupAction/Hom.lean,Mathlib/RingTheory/Bialgebra/Equiv.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/Coalgebra/Equiv.lean,Mathlib/Topology/Algebra/Module/Basic.lean,Mathlib/Util/SetSynthOrder.lean,MathlibTest/TCSynth.lean,scripts/noshake.json |
24 |
5 |
['astrainfinita', 'github-actions', 'leanprover-bot'] |
nobody |
558-15320 1 year ago |
unknown |
0-0 0 seconds |
| 9344 |
erdOne author:erdOne |
feat: Add `AddGroup.FG` -> `Module.Finite ℤ` as instances |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
4/0 |
Mathlib/RingTheory/Finiteness.lean |
1 |
4 |
['alreadydone', 'erdOne', 'leanprover-bot'] |
nobody |
557-24580 1 year ago |
856-25023 856 days ago |
21-27905 21 days |
| 12133 |
ADedecker author:ADedecker |
feat: generalize instIsLowerProd to arbitrary products |
Also change a bit the proof of the product case to match my own taste, feel free to tell if you prefer the old one.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
t-order
|
34/14 |
Mathlib/Topology/Constructions.lean,Mathlib/Topology/Order/LowerUpperTopology.lean |
2 |
13 |
['Ruben-VandeVelde', 'TwoFX', 'github-actions', 'jcommelin', 'mans0954', 'mathlib-bors', 'riccardobrasca'] |
nobody |
556-34334 1 year ago |
707-29970 707 days ago |
63-69226 63 days |
| 16637 |
FR-vdash-bot author:FR-vdash-bot |
perf: reorder `extends` of `(Add)Monoid` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
46/51 |
Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/BigOperators/Ring/List.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Algebra/Ring/SumsOfSquares.lean,Mathlib/CategoryTheory/Preadditive/FunctorCategory.lean,Mathlib/Data/Finset/NoncommProd.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Torsion.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/Coalgebra/Hom.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean |
20 |
3 |
['astrainfinita', 'github-actions', 'leanprover-bot'] |
nobody |
556-33572 1 year ago |
621-40928 621 days ago |
1-49655 1 day |
| 18765 |
FR-vdash-bot author:FR-vdash-bot |
chore: changing `outParam` of `MulActionSemiHomClass` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
60/34 |
Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Category/ModuleCat/Limits.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/GroupTheory/GroupAction/Hom.lean |
4 |
4 |
['astrainfinita', 'github-actions', 'leanprover-bot'] |
nobody |
555-76233 1 year ago |
unknown |
0-0 0 seconds |
| 15822 |
kmill author:kmill |
feat: greedy colorings of finite graphs |
Proves that the greedy coloring only takes `G.maxDegree + 1` colors.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-combinatorics
|
159/0 |
Mathlib/Combinatorics/SimpleGraph/ConcreteColorings.lean |
1 |
1 |
['github-actions'] |
nobody |
553-15026 1 year ago |
unknown |
0-0 0 seconds |
| 8661 |
joelriou author:joelriou |
feat(CategoryTheory/Sites): descent of sheaves |
In this PR, it is shown that the category of sheaves on a site `(C, J)` identifies as a full subcategory of a category of families of sheaves equipped with a descent data (for a family of objects which cover the final object). Under suitable conditions, it shall be shown that this is an equivalence of categories (TODO).
---
This shall be split in small PRs later.
- [x] depends on: #8622
- [x] depends on: #8632
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
1396/26 |
Mathlib.lean,Mathlib/CategoryTheory/Over.lean,Mathlib/CategoryTheory/Sites/CoverPreserving.lean,Mathlib/CategoryTheory/Sites/Descent.lean,Mathlib/CategoryTheory/Sites/EqualizerSheafCondition.lean,Mathlib/CategoryTheory/Sites/InducedTopology.lean,Mathlib/CategoryTheory/Sites/ObjectsCoverTop.lean,Mathlib/CategoryTheory/Sites/Over.lean,Mathlib/CategoryTheory/Sites/SheafHom.lean,Mathlib/CategoryTheory/Sites/Sieves.lean |
10 |
3 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
553-10554 1 year ago |
unknown |
0-0 0 seconds |
| 19055 |
JLimperg author:JLimperg |
Test precompilation (batteries + aesop) again |
|
merge-conflict |
9/8 |
lake-manifest.json,lakefile.lean |
2 |
5 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
552-78597 1 year ago |
unknown |
0-0 0 seconds |
| 10476 |
shuxuezhuyi author:shuxuezhuyi |
feat(Topology/UniformSpace): define uniform preordered space |
We define the semi-uniform structure and the uniform preordered space.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
|
94/0 |
Mathlib.lean,Mathlib/Topology/UniformSpace/UniformOrder.lean,docs/references.bib |
3 |
2 |
['shuxuezhuyi'] |
nobody |
551-83608 1 year ago |
780-24636 780 days ago |
52-19273 52 days |
| 17593 |
astrainfinita author:astrainfinita |
chore(Algebra/Order/GroupWithZero/Unbundled): deprecate useless lemmas, use `ZeroLEOneClass` |
There are still some useless lemmas that were simply ported from `Algebra.Order.Monoid.Lemmas`, such as just chain an existing lemma with an assumption and lemmas whose assumptions imply `1 ≤ 0`. This PR removes them.
Also, some lemmas have both assumptions like `1 < a` `0 < a`. This PR uses `ZeroLEOneClass` to remove redundant assumptions.
---
- [ ] depends on: #17623
Ported from https://github.com/leanprover-community/mathlib/pull/16525 and https://github.com/leanprover-community/mathlib/pull/18158
Adapted from #9250. This version is easier to review.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
t-order
label:t-algebra$ |
188/48 |
Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Counting.lean,Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean,Mathlib/Topology/Algebra/Order/Field.lean |
6 |
4 |
['astrainfinita', 'github-actions', 'mathlib4-dependent-issues-bot', 'vihdzp'] |
nobody |
551-20550 1 year ago |
592-6131 592 days ago |
0-74903 20 hours |
| 17623 |
FR-vdash-bot author:FR-vdash-bot |
feat(Algebra/Order/GroupWithZero/Unbundled): add some lemmas |
Some lemmas in `Algebra.Order.GroupWithZero.Unbundled` have incorrect or unsatisfactory names, or assumptions that can be omitted using `ZeroLEOneClass`. The lemmas added in this PR are versions of existing lemmas that use the correct or better name or `ZeroLEOneClass` to omit an assumption. The original lemmas will be deprecated in #17593.
| New name | Old name |
|-------------------------|-------------------------|
| `mul_le_one_left₀` | `Left.mul_le_one_of_le_of_le` |
| `mul_lt_one_of_le_of_lt_left₀` (`0 ≤ ·` version) / `mul_lt_one_of_le_of_lt_of_pos_left` | `Left.mul_lt_of_le_of_lt_one_of_pos` |
| `mul_lt_one_of_lt_of_le_left₀` | `Left.mul_lt_of_lt_of_le_one_of_nonneg` |
| `mul_le_one_right₀` | `Right.mul_le_one_of_le_of_le` |
| `mul_lt_one_of_lt_of_le_right₀` (`0 ≤ ·` version) / `mul_lt_one_of_lt_of_le_of_pos_right` | `Right.mul_lt_one_of_lt_of_le_of_pos` |
| `mul_lt_one_of_le_of_lt_right₀` | `Right.mul_lt_one_of_le_of_lt_of_nonneg` |
The following lemmas use `ZeroLEOneClass`.
| New name | Old name |
|-------------------------|-------------------------|
| `(Left.)one_le_mul₀` | `Left.one_le_mul_of_le_of_le` |
| `Left.one_lt_mul_of_le_of_lt₀` | `Left.one_lt_mul_of_le_of_lt_of_pos` |
| `Left.one_lt_mul_of_lt_of_le₀` | `Left.lt_mul_of_lt_of_one_le_of_nonneg` / `one_lt_mul_of_lt_of_le` (still there) |
| `(Left.)one_lt_mul₀` | |
| `Right.one_le_mul₀` | `Right.one_le_mul_of_le_of_le` |
| `Right.one_lt_mul_of_lt_of_le₀` | `Right.one_lt_mul_of_lt_of_le_of_pos` |
| `Right.one_lt_mul_of_le_of_lt₀` | `Right.one_lt_mul_of_le_of_lt_of_nonneg` / `one_lt_mul_of_le_of_lt` (still there) / `one_lt_mul` (still there) |
| `Right.one_lt_mul₀` | `Right.one_lt_mul_of_lt_of_lt` |
---
Split from #17593.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-zulip
t-order
label:t-algebra$ |
146/44 |
Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled.lean |
2 |
11 |
['YaelDillies', 'astrainfinita', 'github-actions', 'j-loreaux'] |
nobody |
551-20550 1 year ago |
558-13109 558 days ago |
33-64877 33 days |
| 18969 |
alreadydone author:alreadydone |
chore: generalize Module to NonUnitalSemiring |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
94/75 |
Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/End.lean,Mathlib/Algebra/Group/Action/Prod.lean,Mathlib/Algebra/Group/Action/TypeTags.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/Module/Defs.lean,Mathlib/Algebra/Module/Submodule/Defs.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/GroupTheory/CoprodI.lean,Mathlib/LinearAlgebra/FreeModule/IdealQuotient.lean,Mathlib/LinearAlgebra/LinearDisjoint.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/TensorProduct/Submodule.lean,Mathlib/RingTheory/Filtration.lean,Mathlib/RingTheory/Flat/FaithfullyFlat.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/Defs.lean,Mathlib/RingTheory/Ideal/Lattice.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Prod.lean,Mathlib/RingTheory/Presentation.lean,Mathlib/RingTheory/Smooth/Kaehler.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean |
31 |
11 |
['alreadydone', 'eric-wieser', 'github-actions', 'leanprover-bot'] |
nobody |
549-44202 1 year ago |
unknown |
0-0 0 seconds |
| 17624 |
FR-vdash-bot author:FR-vdash-bot |
feat(Algebra/Order/GroupWithZero/Unbundled): generalize lemmas |
---
- [ ] depends on: #17623
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
t-order
label:t-algebra$ |
121/26 |
Mathlib/Algebra/Order/GroupWithZero/Unbundled.lean |
1 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
547-57722 1 year ago |
592-5001 592 days ago |
0-465 7 minutes |
| 17513 |
FR-vdash-bot author:FR-vdash-bot |
perf: do not search algebraic hierarchies when using `map_*` lemmas |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
awaiting-bench
label:t-algebra$ |
5/3 |
Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/GroupTheory/GroupAction/Hom.lean |
2 |
10 |
['astrainfinita', 'github-actions', 'grunweg', 'leanprover-bot'] |
nobody |
546-16744 1 year ago |
590-18609 590 days ago |
4-72589 4 days |
| 17515 |
FR-vdash-bot author:FR-vdash-bot |
perf: do not need `simp low` now |
---
- [ ] depends on: #17513
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
label:t-algebra$ |
12/10 |
Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Analysis/SpecialFunctions/Bernstein.lean,Mathlib/GroupTheory/GroupAction/Hom.lean,Mathlib/NumberTheory/LucasLehmer.lean |
4 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
546-16743 1 year ago |
595-4255 595 days ago |
0-380 6 minutes |
| 19212 |
Julian author:Julian |
feat(LinearAlgebra): add a variable_alias for VectorSpace |
Taken directly from the variable_alias docs.
Zulip: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/why.20.5Bvariable_alias.5D.20attribute.20is.20not.20used.20in.20Mathlib.3F
---
This is the first actual variable alias added to mathlib. I haven't reviewed variable_alias fully, but it seems like there's at least 3 ways they could be distributed in Mathlib:
* alongside whatever subfolder they "belong to" (which is what I've tentatively done here)
* In a file called `Aliases` somewhere near the thing they alias (which seems less discoverable to me)
* In a single file, a la `Mathlib.TrainingWheels` (with some less playful name) which is meant to define a bunch of more "friendly" aliases all in one place.
I kind of like the idea of the third thing as a future module but perhaps it can be synthesized if/when there are more aliases? For now as I say I've done the first one, but please let me know if someone prefers something else.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
25/0 |
Mathlib.lean,Mathlib/LinearAlgebra/VectorSpace.lean,scripts/noshake.json |
3 |
10 |
['Julian', 'PieterCuijpers', 'github-actions', 'urkud'] |
nobody |
545-21989 1 year ago |
545-21989 545 days ago |
7-68089 7 days |
| 19337 |
zeramorphic author:zeramorphic |
feat(Data/Finsupp): generalise `Finsupp` to any "zero" value |
Remove the explicit dependence of `Finsupp` on `[Zero M]`, instead defining `Finsupp'` (better name pending) to be functions that are equal to a fixed value `z : M` cofinitely often.
This PR is intended to do the initial work of replacing the definition of `Finsupp` with an instantiation of the more general definition, without adding any appropriate API. If accepted, the API development will follow in later PRs.
Issues to consider:
- Naming of `Finsupp'.`
- Where should `Finsupp'` lemmas go? Do they need their own file/folder under `Data/`?
Relevant Zulip threads:
- https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Finsupp.20generalisations
- https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Finsupp-like.20partial.20function
Comments are welcome.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
203/83 |
Archive/Wiedijk100Theorems/Partition.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/Rename.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/Data/Finsupp/BigOperators.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/Defs.lean,Mathlib/RingTheory/PowerBasis.lean,scripts/nolints_prime_decls.txt |
13 |
5 |
['github-actions', 'vihdzp', 'zeramorphic'] |
nobody |
542-84466 1 year ago |
542-84466 542 days ago |
4-60621 4 days |
| 18756 |
astrainfinita author:astrainfinita |
refactor: deprecate `DistribMulActionSemiHomClass` `MulSemiringActionSemiHomClass` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
50/28 |
Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/GroupTheory/GroupAction/Hom.lean |
3 |
4 |
['astrainfinita', 'github-actions', 'leanprover-bot'] |
nobody |
531-50135 1 year ago |
531-50135 531 days ago |
31-53021 31 days |
| 19125 |
yhtq author:yhtq |
feat: add theorems to transfer `IsGalois` between pairs of fraction rings |
feat: add theorems to transfer `IsGalois` between pairs of fraction rings.
- [x] depends on: #18404
- [x] depends on: #19124
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
new-contributor
label:t-algebra$ |
121/0 |
Mathlib.lean,Mathlib/FieldTheory/Galois/IsFractionRing.lean,Mathlib/RingTheory/Localization/FractionRing.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'tb65536'] |
nobody |
528-62604 1 year ago |
555-23986 555 days ago |
0-1980 33 minutes |
| 18841 |
hrmacbeth author:hrmacbeth |
chore: change some `linarith`s to `linear_combination`s |
Change 100 `linarith`s to `linear_combination`s; this is generally a slight speedup.
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #18714 (not strictly blocked by this, but the speed comparison will be more informative after it)
|
merge-conflict
WIP
|
106/107 |
Archive/Imo/Imo1959Q2.lean,Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo2005Q3.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2008Q3.lean,Archive/Imo/Imo2013Q5.lean,Archive/Imo/Imo2021Q1.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Complex/AbelLimit.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Convex/Slope.lean,Mathlib/Analysis/Convex/SpecificFunctions/Basic.lean,Mathlib/Analysis/Convex/Uniform.lean,Mathlib/Analysis/Convex/Visible.lean,Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/PSeries.lean,Mathlib/Analysis/SpecialFunctions/Gamma/BohrMollerup.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/Monotone.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecificLimits/FloorPow.lean,Mathlib/MeasureTheory/Covering/BesicovitchVectorSpace.lean,Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean,Mathlib/NumberTheory/Modular.lean,Mathlib/NumberTheory/Transcendental/Liouville/LiouvilleWith.lean,Mathlib/Probability/Distributions/Pareto.lean |
30 |
29 |
['github-actions', 'grunweg', 'hrmacbeth', 'jcommelin', 'leanprover-bot', 'mathlib4-dependent-issues-bot'] |
nobody |
527-23530 1 year ago |
549-45776 549 days ago |
3-28253 3 days |
| 11142 |
hmonroe author:hmonroe |
feat(ProofTheory): Define logical symbols abstractly; opens new top-level section, drawing from lean4-logic |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-logic
|
468/1 |
Mathlib.lean,Mathlib/Data/Fin/VecNotation.lean,Mathlib/ProofTheory/LogicSymbol.lean |
3 |
19 |
['PatrickMassot', 'YaelDillies', 'avigad', 'fpvandoorn', 'github-actions'] |
nobody |
521-33350 1 year ago |
718-6999 718 days ago |
94-3235 94 days |
| 11210 |
hmonroe author:hmonroe |
Test commit |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
1950/1 |
Mathlib.lean,Mathlib/Data/Fin/VecNotation.lean,Mathlib/ProofTheory/Calculus.lean,Mathlib/ProofTheory/FirstOrder/Arith/Language.lean,Mathlib/ProofTheory/FirstOrder/Basic/Syntax/Term.lean,Mathlib/ProofTheory/LogicSymbol.lean,Mathlib/ProofTheory/Matrix.lean,Mathlib/ProofTheory/Semantics.lean,Mathlib/ProofTheory/System.lean,docs/references.bib |
10 |
100 |
['github-actions'] |
nobody |
521-33349 1 year ago |
807-22830 807 days ago |
2-67901 2 days |
| 19621 |
Command-Master author:Command-Master |
feat: Multiplicity and prime-adic valuation of derivations |
---
- [ ] depends on: #19596
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
large-import
label:t-algebra$ |
397/13 |
Mathlib.lean,Mathlib/Algebra/Order/AddGroupWithTop.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/Order/WithBot.lean,Mathlib/RingTheory/Derivation/Multiplicity.lean,Mathlib/RingTheory/DiscreteValuationRing/Basic.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/PrimeMultiplicity.lean |
9 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
521-15610 1 year ago |
541-40959 541 days ago |
0-666 11 minutes |
| 18262 |
joelriou author:joelriou |
feat(Algebra/Category/ModuleCat/Presheaf): exterior powers of presheaves of modules |
---
- [x] depends on: #18261
- [ ] depends on: #18236
- [ ] depends on: #18197
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
blocked-by-other-PR
t-category-theory
merge-conflict
label:t-algebra$ |
874/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/ExteriorPower.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/ExteriorPower.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/FunctorOfNatTrans.lean,Mathlib/Algebra/Category/ModuleCat/Pseudofunctor.lean |
6 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
521-6905 1 year ago |
unknown |
0-0 0 seconds |
| 18294 |
FR-vdash-bot author:FR-vdash-bot |
perf: make `Mul.toSMul` higher priority |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-bench
t-algebra
label:t-algebra$ |
2/5 |
Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Order/Field/Pointwise.lean,Mathlib/Combinatorics/Additive/AP/Three/Defs.lean,Mathlib/Topology/Algebra/Module/WeakBilin.lean |
4 |
4 |
['astrainfinita', 'github-actions', 'leanprover-bot'] |
nobody |
516-14542 1 year ago |
unknown |
0-0 0 seconds |
| 15269 |
kkytola author:kkytola |
feat: Add ENNReal.floor |
A right-continuous floor function on `ENNReal`.
---
- [x] depends on: #13938
- [ ] depends on: #15773 (general type class for `ENat`-valued floor functions)
- [x] depends on: #15380 (topology on `ENat` is needed to state right continuity of the floor function)
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
t-order
merge-conflict
awaiting-author
label:t-algebra$ |
445/0 |
Mathlib.lean,Mathlib/Algebra/Order/EFloor.lean,Mathlib/Data/ENNReal/Floor.lean,Mathlib/Data/Nat/Lattice.lean |
4 |
18 |
['YaelDillies', 'github-actions', 'kkytola', 'leanprover-community-mathlib4-bot', 'urkud'] |
nobody |
507-74239 1 year ago |
656-69305 656 days ago |
0-3440 57 minutes |
| 15773 |
kkytola author:kkytola |
feat: Add type class for ENat-valued floor functions |
This PR adds a type class for extended natural number -valued floor functions. This is split off from #15269, where the suggestions were to make the floor function on ENNReal ENat-valued and to have an API mimicling FloorSemirings. Besides ENNReal, at least ENNRat would naturally satisfy the general type class.
---
Two things are worth noting:
* To fully mimic `FloorSemiring` API, also ceiling functions need to be added. The plan is to do that in a later PR.
* The PR introduces the class `CastNatENatClass` to ensure that `natCast` and a coercion from `ENat` behave in the natural and order-respecing manner. This feels a little ad hoc, but such assumptions are needed for general `ENat`-valued floor functions to behave well.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-order
|
231/0 |
Mathlib.lean,Mathlib/Algebra/Order/EFloor.lean,Mathlib/Data/ENat/Basic.lean |
3 |
5 |
['YaelDillies', 'github-actions', 'kkytola', 'urkud'] |
nobody |
507-74116 1 year ago |
583-73469 583 days ago |
66-24436 66 days |
| 3251 |
kmill author:kmill |
feat: deriving `LinearOrder` for simple enough inductive types |
Uses the same machinery underlying the `Fintype` derive handler to derive a lexicographical `LinearOrder` for non-recursive inductive types that have no indices.
In principle more complicated types can have `LinearOrder`s, but that would require a more sophisticated implementation.
---
- [x] depends on: #3198
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
awaiting-author
t-meta
|
82/0 |
Mathlib.lean,Mathlib/Tactic/DeriveLinearOrder.lean |
2 |
5 |
['ChrisHughes24', 'kim-em', 'kmill', 'vihdzp'] |
nobody |
505-48769 1 year ago |
1131-50800 1131 days ago |
1-80343 1 day |
| 3610 |
TimothyGu author:TimothyGu |
feat: derive Infinite automatically for inductive types |
Deals with recursive types, but not mutually recursive types or types with indices right now. See docstring for details.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
517/0 |
Mathlib.lean,Mathlib/Tactic/DeriveInfinite.lean,test/DeriveInfinite.lean |
3 |
11 |
['TimothyGu', 'digama0', 'eric-wieser', 'grunweg', 'kim-em', 'kmill'] |
kmill assignee:kmill |
505-48768 1 year ago |
1117-43810 1117 days ago |
9-24079 9 days |
| 16120 |
awainverse author:awainverse |
feat(ModelTheory/Algebra/Ring/Basic): Ring homomorphisms are a `StrongHomClass` for the language of rings |
Adds an `IsAlgebraic` instance to the language of rings
Adds a `StrongHomClass` instance to the type of ring homomorphisms between rings with `CompatibleRing` structures
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
RFC
t-logic
label:t-algebra$ |
34/13 |
Mathlib/ModelTheory/Algebra/Ring/Basic.lean |
1 |
10 |
['ChrisHughes24', 'YaelDillies', 'awainverse', 'github-actions', 'jcommelin'] |
nobody |
503-66309 1 year ago |
503-66309 503 days ago |
135-29017 135 days |
| 20459 |
Ruben-VandeVelde author:Ruben-VandeVelde |
chore: fix names of roots_C_mul_X_{add,sub}_C_of_IsUnit |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
label:t-algebra$ |
11/5 |
Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Roots.lean |
2 |
2 |
['eric-wieser', 'github-actions'] |
nobody |
502-4352 1 year ago |
502-4352 502 days ago |
4-64422 4 days |
| 20527 |
trivial1711 author:trivial1711 |
refactor(Topology/UniformSpace/Completion): more descriptive names for `α → Completion α` |
- We rename the various maps `α → Completion α` in order to make their names more consistent.
- Let `α` be a uniform space. We rename the uniformly continuous function `α → Completion α` from `UniformSpace.Completion.coe'` to `UniformSpace.Completion.coe`.
- Let `α` be a uniform additive group. We rename the additive group homomorphism `α →+ Completion α` from `UniformSpace.Completion.toCompl` to `UniformSpace.Completion.coeAddHom`.
- Let `α` be a uniform ring. The ring homomorphism `α →+* Completion α` is called `UniformSpace.Completion.coeRingHom`; its name is unchanged.
- Let `α` be a normed space over a field `𝕜`. We rename the linear isometry `α →ₗᵢ[𝕜] Completion α` from `UniformSpace.Completion.toComplₗᵢ` to `UniformSpace.Completion.coeₗᵢ`.
- Let `α` be a normed space over a field `𝕜`. We rename the continuous linear map `α →L[𝕜] Completion α` from `UniformSpace.Completion.toComplL` to `UniformSpace.Completion.coeL`.
- Let `α` be a normed additive group. We rename the norm preserving homomorphism `NormedAddGroupHom α (Completion α)` from `NormedAddCommGroup.toCompl` to `UniformSpace.Completion.coeNormedAddGroupHom`.
- We analogously rename some other theorems.
- We add some trivial theorems (all of which are proved by `rfl`) that state that the functions considered above are equal. We give all of them the `simp` and `norm_cast` attributes.
- We add a new theorem `UniformSpace.Completion.coeAddHom_eq_coe` that states that `UniformSpace.Completion.coeAddHom` and `UniformSpace.Completion.coe` are equal as functions.
- We similarly add a new theorem `UniformSpace.Completion.coeRingHom_eq_coe`.
- We rename the theorem `UniformSpace.Completion.coe_toComplₗᵢ` to `UniformSpace.Completion.coeₗᵢ_eq_coe`.
- We rename the theorem `UniformSpace.Completion.coe_toComplL` to `UniformSpace.Completion.coeL_eq_coe`.
- We similarly add a new theorem `UniformSpace.Completion.coeNormedAddGroupHom_eq_coe`.
- We change all occurrences of the string `((↑) : α → Completion α)` to `(coe : α → Completion α)` or just `coe`.
- We put the statements of some theorems into simp normal form by using the plain function `coe` rather than the homomorphisms that carry more structure.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
130/92 |
Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Complex/AbsMax.lean,Mathlib/Analysis/Complex/Liouville.lean,Mathlib/Analysis/InnerProductSpace/Completion.lean,Mathlib/Analysis/Normed/Group/HomCompletion.lean,Mathlib/Analysis/Normed/Module/Completion.lean,Mathlib/Analysis/SpecialFunctions/NonIntegrable.lean,Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean,Mathlib/Topology/Algebra/GroupCompletion.lean,Mathlib/Topology/Algebra/InfiniteSum/GroupCompletion.lean,Mathlib/Topology/Algebra/InfiniteSum/Nonarchimedean.lean,Mathlib/Topology/Algebra/Nonarchimedean/Completion.lean,Mathlib/Topology/Algebra/UniformRing.lean,Mathlib/Topology/Category/UniformSpace.lean,Mathlib/Topology/MetricSpace/Completion.lean,Mathlib/Topology/UniformSpace/Completion.lean |
17 |
4 |
['eric-wieser', 'github-actions', 'trivial1711'] |
nobody |
497-10941 1 year ago |
497-10941 497 days ago |
6-66637 6 days |
| 17739 |
Aaron1011 author:Aaron1011 |
feat(Topology/Order/DenselyOrdered): prove Not (IsOpen) for intervals |
Prove that Iic/Ici/Ioc/Ico/Icc intervals are not open in densely ordered topologies with no min/max element
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
new-contributor
|
27/0 |
Mathlib/Topology/Order/DenselyOrdered.lean |
1 |
8 |
['github-actions', 'vihdzp'] |
nobody |
494-84616 1 year ago |
587-76186 587 days ago |
0-4704 1 hour |
| 18474 |
FR-vdash-bot author:FR-vdash-bot |
perf: lower the priority of `*WithOne.to*` instances |
---
From #7873.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
t-data
label:t-algebra$ |
9/2 |
Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Data/Int/Cast/Defs.lean,Mathlib/Data/Nat/Cast/Defs.lean |
3 |
7 |
['astrainfinita', 'eric-wieser', 'github-actions', 'leanprover-bot'] |
nobody |
494-84371 1 year ago |
494-84371 494 days ago |
76-66907 76 days |
| 20656 |
Komyyy author:Komyyy |
feat(Mathlib/Geometry/Manifold/VectorBundle/Sphere): convert orthogonal smooth `M → 𝕊ⁿ` & `M → ℝⁿ⁺¹` to smooth `M → T𝕊ⁿ` |
Current Mathlib has no easy way to define function from a manifold to tangent bundles of sphere: `T𝕊ⁿ`.
This PR gives this: `sphereTangentMap`. This convert orthogonal smooth `M → 𝕊ⁿ` & `M → ℝⁿ⁺¹` to smooth `M → T𝕊ⁿ`.
I also proved that if `f : M → 𝕊ⁿ` & `g : M → ℝⁿ⁺¹` are smooth then `sphereTangentMap` of `f` & `g` is smooth too.
---
⚠ **CAUTION**
I formalized this in my spare time.
I don't have the energy to maintain the PR, but I create this PR so this may helps everyone.
The only one thing to do is proof cleanup.
TODO:
- [x] `contDiff_uncurry_stereoInvFunAux` & `coe_sphere_comp_stereoInvFun` may have to be moved to `Mathlib.Geometry.Manifold.Instances.Sphere`.
- [ ] Proof cleanup. Current proof may be redundant and ugly.
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
t-differential-geometry
|
246/6 |
Mathlib.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/Geometry/Manifold/VectorBundle/Sphere.lean |
3 |
1 |
['github-actions'] |
nobody |
494-32905 1 year ago |
unknown |
0-0 0 seconds |
| 15711 |
znssong author:znssong |
feat(Combinatorics/SimpleGraph): Some lemmas about walk, cycle and Hamiltonian cycle |
---
These lemmas are separated from the `meow-sister/BondyChvatal` branch and will be needed for the proof of the Bondy-Chvátal theorem.
- [x] depends on: #15536
- [x] depends on: #16294 |
merge-conflict
awaiting-author
t-combinatorics
new-contributor
|
407/3 |
Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Path.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean |
4 |
22 |
['Rida-Hamadani', 'YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'znssong'] |
nobody |
494-17302 1 year ago |
615-28463 615 days ago |
9-13962 9 days |
| 15720 |
znssong author:znssong |
feat(SimpleGraph): The Bondy-Chvátal theorem |
The proof of the Bondy-Chvátal theorem, with Dirac's theorem and Ore's theorem as its corollary.
- [x] depends on: #15536
- [ ] depends on: #15711
- [ ] depends on: #15578 |
merge-conflict
blocked-by-other-PR
t-combinatorics
new-contributor
|
903/3 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/BondyChvatal.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Path.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean,Mathlib/Dynamics/FixedPoints/Basic.lean,Mathlib/Dynamics/FixedPoints/Increasing.lean |
8 |
3 |
['github-actions', 'grunweg'] |
nobody |
494-17302 1 year ago |
651-34656 651 days ago |
0-1791 29 minutes |
| 18629 |
tomaz1502 author:tomaz1502 |
feat(Computability.Timed): Formalization of runtime complexity of List.merge |
This PR adds the formalization of the runtime complexity of the merge function, defined in `Data/List/Sort`.
Requires: https://github.com/leanprover-community/mathlib4/pull/15450
References:
- Previous PR on mathlib3: https://github.com/leanprover-community/mathlib3/pull/14494/
- First discussion on Zulip: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/BSc.20Final.20Project/near/220647062
- Second disussion on Zulip: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Formalization.20of.20Runtime.20Complexity.20of.20Sorting.20Algorithms/near/284184450
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
awaiting-author
new-contributor
|
186/0 |
Mathlib.lean,Mathlib/Computability/Timed/InsertionSort.lean,Mathlib/Computability/Timed/Merge.lean |
3 |
2 |
['github-actions', 'trivial1711'] |
nobody |
493-69621 1 year ago |
533-69234 533 days ago |
33-11262 33 days |
| 14412 |
jjaassoonn author:jjaassoonn |
feat: show stalk of presheaf of modules is a module over stalk of ring |
---
- [x] depends on: #14413
- [ ] depends on: #14501
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebraic-geometry
blocked-by-other-PR
workshop-AIM-AG-2024
|
966/2 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/OverColimitsRing'.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/OverColimitsRing.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/CategoryTheory/Limits/ConcreteCategory.lean,Mathlib/Geometry/RingedSpace/Basic.lean,Mathlib/Geometry/RingedSpace/Module.lean,Mathlib/Topology/Sheaves/Stalks.lean |
8 |
5 |
['github-actions', 'jjaassoonn', 'leanprover-community-mathlib4-bot', 'smorel394'] |
nobody |
492-1804 1 year ago |
unknown |
0-0 0 seconds |
| 8362 |
urkud author:urkud |
feat(Asymptotics): define `ReflectsGrowth` |
---
- [x] depends on: #8349
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-analysis
|
268/0 |
Mathlib.lean,Mathlib/Analysis/Asymptotics/ReflectsGrowth.lean |
2 |
14 |
['YaelDillies', 'fpvandoorn', 'github-actions', 'leanprover-community-mathlib4-bot', 'urkud'] |
nobody |
491-76875 1 year ago |
683-42302 683 days ago |
240-47513 240 days |
| 6692 |
prakol16 author:prakol16 |
feat: disjoint indexed union of local homeomorphisms |
Add disjoint indexed union of local equivs and local homeomorphisms
---
This is leading up to PRing some things related to covering spaces that I wrote a long time ago in lean 3 but never submitted a PR for. Note that this was converted using mathport.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
|
126/0 |
Mathlib/Logic/Equiv/PartialEquiv.lean,Mathlib/Topology/PartialHomeomorph.lean |
2 |
4 |
['alreadydone', 'github-actions', 'winstonyin'] |
nobody |
491-61471 1 year ago |
583-71490 583 days ago |
118-5497 118 days |
| 18461 |
hannahfechtner author:hannahfechtner |
feat: left and right common multiples mixins |
add mixins for left and right common multiples. These carry the data of what factors are used to create the common multiples
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
78/0 |
Mathlib/Algebra/Group/Defs.lean |
1 |
13 |
['github-actions', 'hannahfechtner', 'jcommelin', 'kbuzzard', 'kim-em', 'trivial1711'] |
nobody |
490-30801 1 year ago |
490-30801 490 days ago |
69-35596 69 days |
| 19291 |
PieterCuijpers author:PieterCuijpers |
feat(Algebra/Order/Hom): add quantale homomorphism |
Definition of quantale homomorphisms as functions that are both semigroup homomorphisms and complete lattice homomorphisms.
---
- [x] depends on: #19810
- [x] depends on: #19811
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
209/0 |
Mathlib.lean,Mathlib/Algebra/Order/Hom/Quantale.lean,scripts/noshake.json |
3 |
29 |
['PieterCuijpers', 'YaelDillies', 'github-actions', 'kim-em', 'mathlib4-dependent-issues-bot'] |
nobody |
489-4880 1 year ago |
494-58681 494 days ago |
29-51482 29 days |
| 19352 |
hrmacbeth author:hrmacbeth |
chore: change some `nlinarith`s to `linear_combination`s |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
13/13 |
Archive/Imo/Imo2021Q1.lean,Archive/Wiedijk100Theorems/AreaOfACircle.lean,Mathlib/Analysis/Normed/Group/AddCircle.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Ring/Units.lean,Mathlib/Analysis/SpecialFunctions/Complex/LogBounds.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Increment.lean,Mathlib/NumberTheory/Modular.lean |
8 |
4 |
['github-actions', 'hrmacbeth', 'leanprover-bot'] |
nobody |
487-34091 1 year ago |
549-45796 549 days ago |
0-8636 2 hours |
| 20372 |
jvlmdr author:jvlmdr |
feat(MeasureTheory/Function): Add ContinuousLinearMap.bilinearCompLp(L) |
Introduce ContinuousLinearMap.bilinearCompLp and bilinearCompLpL.
Generalize eLpNorm_le_eLpNorm_mul_eLpNorm theorems to include constant C in bound condition.
---
Expect this may be useful for defining tempered distributions from functions in `L^p`.
The definitions more or less follow `ContinuousLinearMap.compLp...`. Names are loosely analogous to `ContinuousLinearMap.bilinearComp` and `SchwartzMap.bilinLeftCLM`.
Note: I preferred the spelling `hpqr : p⁻¹ + q⁻¹ = r⁻¹` with `f` in `L^p` and `g` in `L^q` to `hpqr : 1 / p = 1 / q + 1 / r`. It's easier to obtain from `ENNReal.IsConjExponent` too.
A few questions:
- [ ] I defined `bilinear{Left,Right}LpL` in addition to `bilinearCompLpL` because `LinearMap.mkContinuous₂` is marked as `noncomputable` and `LinearMap.mkContinuous` is not. Is this worth the extra definitions? (Note: This is not visible in the source due to `noncomputable section`.)
- [ ] Should I use `C : ℝ` instead of `C : NNReal` for `eLpNorm_le_eLpNorm_mul_eLpNorm'_of_norm'`?
- [ ] Is it going to be painful to have `[Fact (1 ≤ p)] [Fact (1 ≤ q)] [Fact (1 ≤ r)]`? I don't think there's a way to avoid it though. Maybe providing specialized versions for `p.IsConjExponent q` with `L^1`?
Naming:
- [ ] Is it satisfactory to add a `'` to the `eLpNorm_le_eLpNorm_mul_eLpNorm ` definitions in `CompareExp.lean` where `≤ ‖f x‖ * ‖g x‖` has been replaced with `≤ C * ‖f x‖ * ‖g x‖`? These could replace the existing theorems, although I don't want to break backwards compatibility. There are 5 instances: `eLpNorm_le_eLpNorm_top_mul_eLpNorm'`, `eLpNorm_le_eLpNorm_mul_eLpNorm_top'`, `eLpNorm'_le_eLpNorm'_mul_eLpNorm''`, `eLpNorm_le_eLpNorm_mul_eLpNorm_of_nnnorm'`, `eLpNorm_le_eLpNorm_mul_eLpNorm'_of_norm'` (I'm not sure why the existing theorem `eLpNorm_le_eLpNorm_mul_eLpNorm'_of_norm` has an internal `'`)
- [ ] Is `bilinearLeftLpL` a suitable name? Other options: `bilinearCompLpLeftL`, `bilinearCompLeftLpL`, `bilinLeftLpL` (analogous to `SchwartzMap.bilinLeftCLM`)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-measure-probability
new-contributor
|
203/40 |
Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSpace.lean |
2 |
1 |
['github-actions'] |
nobody |
482-22228 1 year ago |
482-22228 482 days ago |
27-43617 27 days |
| 2605 |
eric-wieser author:eric-wieser |
chore: better error message in linarith |
On this mwe:
```lean
import Mathlib.Tactic.Linarith
example (s : Set ℕ) (h : s = s) : 0 ≤ 1 :=
by linarith
```
this now indicates where the internal error is coming from.
Is there a better way of chaining errors than this?
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
12/1 |
Mathlib/Tactic/Linarith/Preprocessing.lean |
1 |
3 |
['Vierkantor', 'harahu', 'kim-em', 'mo271'] |
nobody |
480-12821 1 year ago |
1127-44360 1127 days ago |
51-42225 51 days |
| 11837 |
trivial1711 author:trivial1711 |
feat: completion of a uniform multiplicative group |
Multiplicativize `Topology.Algebra.GroupCompletion`. That is, rewrite it in the multiplicative setting and recover the original results using `@[to_additive]`.
- Because `@[to_additive]` doesn't work with `noncomputable section` (https://github.com/leanprover/lean4/pull/2610), some instances with `@[to_additive]` need to be explicitly marked with `noncomputable instance`.
- One might be tempted to multiplicativize this definition from `Topology.Algebra.GroupCompletion`:
```lean
instance [UniformSpace α] [Add α] : Add (Completion α) :=
⟨Completion.map₂ (· + ·)⟩
```
to this:
```lean
@[to_additive]
instance [UniformSpace α] [Mul α] : Mul (Completion α) :=
⟨Completion.map₂ (· * ·)⟩
```
However, as Eric Wieser pointed out, doing so would create a bad diamond with the definition
```lean
instance [UniformSpace α] [TopologicalRing α] [UniformAddGroup α] [Ring α] : Mul (Completion α) :=
⟨curry <| (denseInducing_coe.prod denseInducing_coe).extend ((↑) ∘ uncurry (· * ·))⟩
```
in `Topology.Algebra.UniformRing`.
How should this diamond be resolved? Well, the definition of multiplication that uses `curry <| (denseInducing_coe.prod denseInducing_coe).extend ((↑) ∘ uncurry (· * ·))` is the "correct" one. For example, it yields the correct result if `α` is `ℚ`, unlike the definition that uses `Completion.map₂ (· * ·)`. (This is because `Completion.map₂` yields junk values if used on a function which is not uniformly continuous. Note, however, that if multiplication on `α` *is* uniformly continuous, then `Completion.map₂ (· * ·)` and `curry <| (denseInducing_coe.prod denseInducing_coe).extend ((↑) ∘ uncurry (· * ·))` are propositionally equal.) So, following Eric's suggestion, we remove the definition that uses `Completion.map₂ (· * ·)`, and generalize the other definition to any uniform space with a multiplication operation:
```lean
@[to_additive]
noncomputable instance [UniformSpace α] [Mul α] : Mul (Completion α) :=
⟨curry <| (denseInducing_coe.prod denseInducing_coe).extend ((↑) ∘ uncurry (· * ·))⟩
```
This requires slightly modifying some of the proofs in `Topology.Algebra.GroupCompletion`. For example, suppose that `α` is a uniform group. Since we can no longer use `Completion.continuous_map₂`, it becomes more efficient to prove that the multiplication, inversion, and division operations on `Completion α` are uniformly continuous *before* we prove that `Completion α` is a group.
- Previously, `Topology.Algebra.GroupCompletion` had an instance:
```lean
instance [UniformSpace α] [Sub α] : Sub (Completion α) := ...
```
Naively multiplicativizing this would yield
```lean
@[to_additive]
instance [UniformSpace α] [Inv α] : Inv (Completion α) := ...
```
Unfortunately, this would conflict with `Topology.Algebra.UniformField`, which already instantiates `Inv (Completion α)` when `α` is a uniform field. Instead, we use two different `instance` declarations. (If `α` is an additive group, then this instantiates `Neg (Completion α)` twice, and the instances are syntactically equal.)
```lean
@[to_additive]
noncomputable instance [UniformSpace α] [Group α] : Inv (Completion α) := ...
instance [UniformSpace α] [Neg α] : Neg (Completion α) := ...
```
This avoids the bad diamond (because a uniform field can never be a `Group`) while remaining backward compatible. Note that the `@[to_additive]` is necessary here, because it maintains the link between the additive setting and multiplicative setting. We use a similar method to instantiate `Div (Completion α)`.
- Some definitions in this file involve a module structure on `α`. We leave these as is and do not attempt to multiplicativize them at all.
- The instance of `DistribMulAction` must be multiplicativized to an instance of `MulDistribMulAction` manually.
Zulip thread: https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Completion.20of.20a.20uniform.20multiplicative.20group
---
# (Small) Issue
Recall the following trick that this pull request uses to define inversion and negation on uniform spaces. The idea is that we define negation on the completion of any uniform space that has a negation operation, but we define inversion on only the completion of a uniform space that has the structure of a multiplicative group. We do this to avoid creating a bad diamond with the inversion operation on a uniform field.
```lean
@[to_additive]
noncomputable instance {α : Type*} [UniformSpace α] [Group α] : Inv (Completion α) := ...
instance {α : Type*} [UniformSpace α] [Neg α] : Neg (Completion α) := ...
```
Now, suppose that we want to prove `coe_inv_of_group` (resp. `coe_neg`), which states that the coercion `α → Completion α` commutes with inversion (resp. negation). In the current version of this pull request, `coe_inv_of_group` (resp. `coe_neg`) only applies to uniform multiplicative (resp. additive) groups. However, we do not use the fact that multiplication (resp. addition) on `α` is uniformly continuous to prove it. We only use the fact that inversion (resp. negation) is continuous. So, what we really want is to have more general statements that look like this:
```lean
theorem coe_inv_of_group {α : Type*} [UniformSpace α] [Group α] [ContinuousInv α] : ...
theorem coe_neg {α : Type*} [UniformSpace α] [Neg α] [ContinuousNeg α] : ...
```
Note that `coe_inv_of_group` needs the assumption `[Group α]`, because otherwise inversion is not defined on `Completion α` at all. However, `coe_neg` does not need the analogous assumption `[AdditiveGroup α]`.
The question is: If `coe_inv_of_group` and `coe_neg` are written in this more general form, how can we link them using `@[to_additive]`? Here is one option, but it obviously leaves something to be desired.
```lean
@[to_additive coe_neg_do_not_use_this_use_the_more_general_version]
theorem coe_inv_of_group {α : Type*} [UniformSpace α] [Group α] [ContinuousInv α] : ...
theorem coe_neg {α : Type*} [UniformSpace α] [Neg α] [ContinuousNeg α] : ...
```
Co-authored-by: Eric Wieser
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
merge-conflict
help-wanted
t-topology
label:t-algebra$ |
342/217 |
Mathlib/Analysis/InnerProductSpace/Completion.lean,Mathlib/Analysis/Normed/Group/HomCompletion.lean,Mathlib/Analysis/Normed/Module/Completion.lean,Mathlib/Topology/Algebra/GroupCompletion.lean,Mathlib/Topology/Algebra/InfiniteSum/GroupCompletion.lean,Mathlib/Topology/Algebra/Nonarchimedean/Completion.lean,Mathlib/Topology/Algebra/UniformField.lean,Mathlib/Topology/Algebra/UniformMulAction.lean,Mathlib/Topology/Algebra/UniformRing.lean |
9 |
14 |
['eric-wieser', 'github-actions', 'trivial1711'] |
nobody |
479-76726 1 year ago |
509-2605 509 days ago |
101-63310 101 days |
| 12670 |
trivial1711 author:trivial1711 |
feat: completion of a nonarchimedean multiplicative group |
We prove that the completion of a nonarchimedean multiplicative group is a nonarchimedean multiplicative group.
---
- [x] depends on: #12669
- [ ] depends on: #11837
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
t-topology
blocked-by-other-PR
label:t-algebra$ |
358/228 |
Mathlib/Analysis/InnerProductSpace/Completion.lean,Mathlib/Analysis/Normed/Group/HomCompletion.lean,Mathlib/Analysis/Normed/Module/Completion.lean,Mathlib/Topology/Algebra/GroupCompletion.lean,Mathlib/Topology/Algebra/InfiniteSum/GroupCompletion.lean,Mathlib/Topology/Algebra/Nonarchimedean/Completion.lean,Mathlib/Topology/Algebra/UniformField.lean,Mathlib/Topology/Algebra/UniformMulAction.lean,Mathlib/Topology/Algebra/UniformRing.lean |
9 |
2 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
479-76603 1 year ago |
506-58059 506 days ago |
50-17994 50 days |
| 21384 |
alreadydone author:alreadydone |
experiment: make submodule quotient reducibly defeq to additive group quotient |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
1/1 |
Mathlib/LinearAlgebra/Quotient/Defs.lean |
1 |
1 |
['github-actions'] |
nobody |
476-1968 1 year ago |
unknown |
0-0 0 seconds |
| 9449 |
hmonroe author:hmonroe |
feat: Add Turing machine with the quintet definition (TMQ) and a chainable step function for each TM type |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
awaiting-author
|
458/1 |
Mathlib/Computability/TuringMachine.lean,Mathlib/Logic/PartArith.lean |
2 |
8 |
['eric-wieser', 'github-actions', 'hmonroe'] |
nobody |
474-41405 1 year ago |
818-54457 818 days ago |
53-6945 53 days |
| 18719 |
FR-vdash-bot author:FR-vdash-bot |
perf: lower the priority of `SemilinearMapClass.toAddHomClass` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
awaiting-bench
label:t-algebra$ |
14/7 |
Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unique.lean,MathlibTest/TCSynth.lean |
3 |
4 |
['astrainfinita', 'github-actions', 'leanprover-bot'] |
nobody |
473-16222 1 year ago |
unknown |
0-0 0 seconds |
| 19697 |
quangvdao author:quangvdao |
feat(BigOperators/Fin): Sum/product over `Fin` intervals |
This PR adds new theorems about the sum/product of some vector over `Fin` intervals. One example is:
```
@[to_additive]
theorem prod_Iic_succ (i : Fin n) :
∏ j ∈ Iic i.succ, v j = (∏ j ∈ Iic i.castSucc, v j) * v i.succ
```
---
- [x] depends on: #20360
This is in preparation for reworking `finSigmaFinEquiv` and `finProdFinEquiv` in #19013.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-data
|
87/12 |
Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Data/Fintype/Fin.lean,Mathlib/Order/Interval/Finset/Fin.lean |
3 |
20 |
['Ruben-VandeVelde', 'YaelDillies', 'eric-wieser', 'github-actions', 'mathlib4-dependent-issues-bot', 'quangvdao'] |
nobody |
471-83823 1 year ago |
506-33353 506 days ago |
6-25961 6 days |
| 19353 |
hrmacbeth author:hrmacbeth |
chore: golf some term/rw proofs using `linear_combination` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
47/102 |
Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Mathlib/Analysis/Convex/Slope.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani.lean,Mathlib/NumberTheory/Modular.lean,Mathlib/NumberTheory/Zsqrtd/Basic.lean,Mathlib/Topology/ContinuousMap/ZeroAtInfty.lean |
7 |
5 |
['github-actions', 'grunweg', 'hrmacbeth', 'leanprover-bot'] |
grunweg assignee:grunweg |
470-82944 1 year ago |
549-45788 549 days ago |
0-7781 2 hours |
| 20248 |
peabrainiac author:peabrainiac |
feat(Topology/Compactness): first-countable locally path-connected spaces are delta-generated |
Shows that all first-countable locally path-connected spaces are delta-generated (so in particular all normed spaces and convex subsets thereof are), and that delta-generated spaces are equivalently generated by the unit interval or standard simplices.
---
- [ ] depends on: #21616
In principle, this should be close to all that's required to show that all simplicial complexes and CW-complexes are delta-generated; I just haven't done it yet because I'm not sure which file to best do it in.
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
large-import
new-contributor
merge-conflict
awaiting-author
t-topology
|
1189/813 |
Mathlib.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Topology/Algebra/Module/LocallyConvex.lean,Mathlib/Topology/Compactness/DeltaGeneratedSpace.lean,Mathlib/Topology/Connected/LocPathConnected.lean,Mathlib/Topology/Connected/PathConnected.lean,Mathlib/Topology/ContinuousOn.lean,Mathlib/Topology/Homotopy/HSpaces.lean,Mathlib/Topology/Path.lean |
9 |
22 |
['YaelDillies', 'github-actions', 'kbuzzard', 'mathlib4-dependent-issues-bot', 'peabrainiac'] |
nobody |
469-65938 1 year ago |
476-30455 476 days ago |
39-21495 39 days |
| 21610 |
JLimperg author:JLimperg |
Aesop forward benchmark: forward precomp |
Not a real PR, just for benchmarking.
|
merge-conflict |
30/27 |
Mathlib/Data/List/InsertIdx.lean,Mathlib/Tactic/Recall.lean,Mathlib/Topology/List.lean,Test.lean,lake-manifest.json,lakefile.lean,lean-toolchain |
7 |
3 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
469-15429 1 year ago |
unknown |
0-0 0 seconds |
| 21611 |
JLimperg author:JLimperg |
Aesop forward benchmark: master no-precomp |
Not a real PR, just for benchmarking. |
merge-conflict |
30/27 |
Mathlib/Data/List/InsertIdx.lean,Mathlib/Tactic/Recall.lean,Mathlib/Topology/List.lean,Test.lean,lake-manifest.json,lakefile.lean,lean-toolchain |
7 |
4 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
469-15428 1 year ago |
unknown |
0-0 0 seconds |
| 21612 |
JLimperg author:JLimperg |
Aesop forward benchmark: master precomp |
Not a real PR, just for benchmarking. |
merge-conflict |
30/27 |
Mathlib/Data/List/InsertIdx.lean,Mathlib/Tactic/Recall.lean,Mathlib/Topology/List.lean,Test.lean,lake-manifest.json,lakefile.lean,lean-toolchain |
7 |
3 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
469-15427 1 year ago |
unknown |
0-0 0 seconds |
| 10678 |
adri326 author:adri326 |
feat(Topology/UniformSpace): prove that a uniform space is completely regular |
Provides the pseudometric definition of a uniform space (for any open set `s` and `x ∈ s`, there exists a finite family of pseudometric spaces on `X` and an `ε > 0`, such that the intersection of the balls of these pseudometric spaces is a subset of `s`),
and uses it to prove that `UniformSpace X` implies `CompletelyRegularSpace X`.
---
This PR aims to close the gap of pi-base's theorem [T345](https://topology.pi-base.org/theorems/T000345), which says that topological groups are completely regular. We already have a proof that topological groups are uniform, but it turns out that we do not have any connection between `UniformSpace X` and `CompletelyRegularSpace X`.
There is an equivalence between `UniformSpace X` and `CompletelyRegularSpace X`: the former implies the latter, and the latter implies *the existence of* the former. This PR provides the first half of this equivalence.
The construction of the pseudometric definition is based on N. Bourbaki, Chapter 9, Theorem 4.1
The proof that a uniform space is completely regular is based on [the outline on mathexchange](https://math.stackexchange.com/questions/494718/how-to-prove-that-every-uniform-space-is-completely-regular).
I tried to outline the major steps of the different proofs inside of comments; I can happily be more verbose to clear up any confusion.
See [the corresponding Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Some.20missing.2C.20accessible.2C.20topology.20results) for more context.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
|
332/0 |
Mathlib.lean,Mathlib/Topology/UniformSpace/Basic.lean,Mathlib/Topology/UniformSpace/CompletelyRegular.lean |
3 |
6 |
['ADedecker', 'adri326'] |
ADedecker assignee:ADedecker |
468-77355 1 year ago |
810-14634 810 days ago |
17-44804 17 days |
| 18785 |
erdOne author:erdOne |
feat(CategoryTheory): command that generates instances for `MorphismProperty` |
Co-authored-by: Calle Sönne
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
t-meta
|
369/0 |
Mathlib.lean,Mathlib/CategoryTheory/MorphismProperty/Tactic.lean,MathlibTest/AddMorphismPropertyInstances.lean,scripts/noshake.json |
4 |
19 |
['alexjbest', 'chrisflav', 'erdOne', 'github-actions', 'grunweg', 'jcommelin', 'joelriou'] |
nobody |
467-7465 1 year ago |
488-35735 488 days ago |
52-4682 52 days |
| 16311 |
madvorak author:madvorak |
feat(Computability): regular languages are context-free |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-computability
|
72/0 |
Mathlib.lean,Mathlib/Computability/Chomsky.lean,Mathlib/Computability/ContextFreeGrammar.lean |
3 |
7 |
['Rida-Hamadani', 'YaelDillies', 'github-actions', 'madvorak'] |
nobody |
465-13884 1 year ago |
unknown |
0-0 0 seconds |
| 19943 |
AlexLoitzl author:AlexLoitzl |
feat(Computability): Add Chomsky Normal Form Grammar and translation |
- Define Chomsky normal form grammars
- Add language-preserving translation between context-free grammars and Chomsky normal form grammars
Co-authored-by: Martin Dvorak martin.dvorak@matfyz.cz
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
awaiting-author
new-contributor
|
3151/0 |
Mathlib.lean,Mathlib/Computability/ChomskyNormalForm/Basic.lean,Mathlib/Computability/ChomskyNormalForm/EmptyElimination.lean,Mathlib/Computability/ChomskyNormalForm/LengthRestriction.lean,Mathlib/Computability/ChomskyNormalForm/TerminalRestriction.lean,Mathlib/Computability/ChomskyNormalForm/Translation.lean,Mathlib/Computability/ChomskyNormalForm/UnitElimination.lean,Mathlib/Computability/ContextFreeGrammar.lean |
8 |
59 |
['AlexLoitzl', 'YaelDillies', 'github-actions', 'kim-em', 'madvorak'] |
nobody |
465-13637 1 year ago |
472-25259 472 days ago |
37-29014 37 days |
| 21501 |
sksgurdldi author:sksgurdldi |
feat(List): add sum_zipWith_eq_finset_sum |
### **Description:**
This PR adds the lemma `List.sum_zipWith_eq_finset_sum` to `Mathlib.Algebra.BigOperators.Group.Finset.Basic`.
#### **Statement:**
The sum of the `zipWith` operation on two lists equals the sum of applying the operation to corresponding elements of the two lists, indexed over the minimum of their lengths.
#### **Formal Statement:**
```lean
lemma sum_zipWith_eq_finset_sum [Inhabited α] [Inhabited β] [AddCommMonoid γ]
{op : α → β → γ}
(l : List α) (m : List β) :
(List.zipWith op l m).sum =
∑ x ∈ (Finset.range (Nat.min l.length m.length)), op (l[x]!) (m[x]!)
```
#### **Remarks:**
- This lemma provides a useful equivalence between `List.zipWith` and summation over a `Finset.range` indexed by `Nat.min l.length m.length`.
- It can be helpful in algebraic manipulations involving list-based summations.
#### **Dependencies:**
No additional dependencies.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
43/0 |
Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean |
1 |
1 |
['github-actions', 'j-loreaux'] |
nobody |
459-68808 1 year ago |
459-68808 459 days ago |
13-33168 13 days |
| 12054 |
adomani author:adomani |
feat: auto-bugs |
This PR introduces a linter for suggesting bugs in tactics.
See
* #12077
* #12083
* #12084
for some bugs exposed by the test suite.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
737/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/MetaTesting.lean,scripts/noshake.json,test/MetaTesting.lean |
5 |
20 |
['adomani', 'eric-wieser', 'github-actions', 'joneugster', 'kim-em'] |
joneugster assignee:joneugster |
459-56465 1 year ago |
672-28483 672 days ago |
45-6051 45 days |
| 5062 |
adomani author:adomani |
feat(Tactic/Prune + test/Prune): add `prune` tactic, for removing unnecessary hypotheses |
This tactic removes very conservatively all local declarations that
1. do not appear in the main goal,
2. do not appear in a declaration that appears in the main goal,
3. ... and so on recursively.
The main motivation for this tactic is that all available variables in the current `namespace/section` appear in the goal state, not just the ones that are needed for the statement to type-check. Using `prune` mitigates this situation.
The tactic also admits an optional natural number argument: `prune n` removes all variables that have not appeared at the `(n+1)`-st stage in the above list. Thus, `prune 0` only leaves the variables needed for the statement to type-check. Also, for sufficiently large `n`, `prune n` is a synonym for `prune`.
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/substitute.20for.20.60include.2Fomit.60.3F)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
modifies-tactic-syntax
awaiting-author
t-meta
|
181/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Prune.lean,test/Prune.lean |
4 |
5 |
['adomani', 'j-loreaux', 'kmill'] |
nobody |
459-23772 1 year ago |
880-9103 880 days ago |
195-57118 195 days |
| 22169 |
JLimperg author:JLimperg |
Aesop forward benchmark: forward no-precomp naive |
Not a real PR, just for benchmarking. |
merge-conflict |
31/27 |
Mathlib/Data/List/InsertIdx.lean,Mathlib/Tactic/Recall.lean,Mathlib/Topology/List.lean,Test.lean,lake-manifest.json,lakefile.lean,lean-toolchain |
7 |
6 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
457-75836 1 year ago |
unknown |
0-0 0 seconds |
| 21433 |
grunweg author:grunweg |
chore: change more lemmas to be about enorm instead of nnnorm |
---
- [x] depends on: #21782
- [x] depends on: #21783 (and this PR modifies the file split, and file splits are painful to merge over)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
carleson
t-measure-probability
|
172/71 |
Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/ContinuousFunctions.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean |
9 |
18 |
['RemyDegenne', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib4-dependent-issues-bot'] |
nobody |
457-75025 1 year ago |
464-71090 464 days ago |
2-37989 2 days |
| 22171 |
JLimperg author:JLimperg |
Aesop forward benchmark: forward no-precomp naive rpinf pr-release |
Not a real PR, just for benchmarking. |
merge-conflict |
31/27 |
Mathlib/Data/List/InsertIdx.lean,Mathlib/Tactic/Recall.lean,Mathlib/Topology/List.lean,Test.lean,lake-manifest.json,lakefile.lean,lean-toolchain |
7 |
5 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
456-83709 1 year ago |
unknown |
0-0 0 seconds |
| 20454 |
urkud author:urkud |
chore(TangentCone): review names |
Also add some `@[simp]` attrs.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
|
201/139 |
Mathlib/Analysis/Analytic/IteratedFDeriv.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/Deriv/Abs.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Equiv.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Calculus/FDeriv/RestrictScalars.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean,Mathlib/Analysis/Calculus/MeanValue.lean,Mathlib/Analysis/Calculus/TangentCone.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/Calculus/VectorField.lean,Mathlib/Analysis/Convex/SpecificFunctions/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/InverseDeriv.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/Manifold/MFDeriv/UniqueDifferential.lean,Mathlib/Geometry/Manifold/VectorBundle/Tangent.lean,Mathlib/MeasureTheory/Integral/FundThmCalculus.lean |
25 |
3 |
['github-actions', 'sgouezel', 'urkud'] |
nobody |
453-35205 1 year ago |
502-74968 502 days ago |
4-8272 4 days |
| 21608 |
JLimperg author:JLimperg |
Aesop forward benchmark: forward no-precomp rpinf pr-release |
Not a real PR, just for benchmarking. |
merge-conflict |
38/29 |
Mathlib/Data/List/InsertIdx.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/Tactic/Recall.lean,Mathlib/Topology/List.lean,Test.lean,lake-manifest.json,lakefile.lean,lean-toolchain |
8 |
13 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
453-9938 1 year ago |
unknown |
0-0 0 seconds |
| 21609 |
JLimperg author:JLimperg |
Aesop forward benchmark: forward no-precomp |
Not a real PR, just for benchmarking. |
merge-conflict |
38/29 |
Mathlib/Data/List/InsertIdx.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/Tactic/Recall.lean,Mathlib/Topology/List.lean,Test.lean,lake-manifest.json,lakefile.lean,lean-toolchain |
8 |
13 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
453-8302 1 year ago |
unknown |
0-0 0 seconds |
| 16550 |
awainverse author:awainverse |
feat(ModelTheory): A typeclass for languages expanding other languages |
Defines `L.Expands L'` to consist of a privileged injective inclusion, `L'.Inclusion L`, from `L'` to `L`, corresponding to one language being a subset of the other in set-theoretic foundations.
Replaces `L.IsOrdered` with `L.Expands Language.order` and `L.OrderLHom` with `Language.order.Inclusion L`
Redefines `leSymb` in terms of `Language.order.Inclusion L`
Deletions:
- `FirstOrder.Language.IsOrdered`
- `FirstOrder.Language.OrderLHom`
- `instance : IsOrdered Language.order`
- `sum.instIsOrdered`
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-logic
|
97/43 |
Mathlib/ModelTheory/LanguageMap.lean,Mathlib/ModelTheory/Order.lean |
2 |
9 |
['YaelDillies', 'awainverse', 'github-actions'] |
nobody |
452-74073 1 year ago |
625-18904 625 days ago |
0-61590 17 hours |
| 10823 |
alexkeizer author:alexkeizer |
feat: convert curried type functions into uncurried type functions |
Adds a conversion `TypeFun.ofCurried : CurriedTypeFun.{u, v} n -> TypeFun.{u, v} n`,
where `CurriedTypeFun.{u,v} n` is a (def-eq) abbreviation for `Type u -> ... -> Type u -> Type v`, i.e., the type of *curried* functions taking `n` arguments of type `Type u` to return an element of `Type v`, and
`TypeFun.{u, v} n` is an abbreviation for `TypeVec.{u} n -> Type v`.
It is generally more idiomatic to define type functions with multiple arguments in the curried style, but in the QPF development we use the uncurried equivalent `TypeVec n -> Type _`. Thus, having a canonical conversion from curried functions to uncurried gives us a canonical way to ask if a curried type function, say `Sum` is a QPF (namely, "is there an instance of `MvQPF (TypeFun.ofCurried Sum)`").
---
This is code ported from https://github.com/alexkeizer/QpfTypes, where this conversion is crucial in presenting a high-level interface, in terms of idiomatic, curried, type functions to users, while being built on QPFs (and thus, uncurried typefunctions) underneath.
There is also a conversion in the other direction, from uncurried to curried, which I've decided to PR later, to keep this PR smaller and hopefully easier to review.
- [x] depends on: #10818 (all changes to `Fin2.lean` are part of 10818, not the current PR)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-data
|
66/0 |
Mathlib.lean,Mathlib/Data/TypeFun.lean |
2 |
9 |
['YaelDillies', 'alexkeizer', 'github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
450-266 1 year ago |
700-71266 700 days ago |
15-9013 15 days |
| 13648 |
urkud author:urkud |
feat(Topology/Module): generalize `ContinuousLinearMap.compSL` |
Generalize `ContinuousLinearMap.compSL` to topological vector spaces.
---
- [ ] depends on: #15217
This PR is not polished yet, but the main statement is there.
@ADedecker This answers a question I asked you on Zulip a few months ago.
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
awaiting-author
t-topology
t-analysis
label:t-algebra$ |
23/18 |
Mathlib/Analysis/NormedSpace/OperatorNorm/Bilinear.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean |
2 |
5 |
['fpvandoorn', 'github-actions', 'mathlib4-dependent-issues-bot', 'urkud'] |
nobody |
448-23356 1 year ago |
686-6283 686 days ago |
28-69042 28 days |
| 19372 |
Command-Master author:Command-Master |
find defeq abuse using diagnostics |
---
[](https://gitpod.io/from-referrer/)
- [ ] depends on: #19177 |
merge-conflict
blocked-by-other-PR
large-import
|
169/1 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/FindDefEqAbuse.lean,MathlibTest/FindDefEqAbuse.lean,lakefile.lean |
6 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
448-22856 1 year ago |
unknown |
0-0 0 seconds |
| 22408 |
JLimperg author:JLimperg |
Aesop forward bench: precomp only rpinf |
---
Not a real PR (yet), just for benchmarking.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
dependency-bump
|
5/3 |
lake-manifest.json,lakefile.lean,scripts/bench/fake-root/lib/lean/libleanshared.so,scripts/bench/run |
4 |
6 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
448-11760 1 year ago |
unknown |
0-0 0 seconds |
| 20636 |
eric-wieser author:eric-wieser |
feat: multiplication of intervals in rings |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
label:t-algebra$ |
36/1 |
Mathlib/Algebra/Order/Interval/Basic.lean |
1 |
16 |
['Timeroot', 'YaelDillies', 'eric-wieser', 'github-actions'] |
nobody |
446-81725 1 year ago |
482-85502 482 days ago |
17-17852 17 days |
| 22340 |
sinhp author:sinhp |
feat(CategoryTheory): Locally Cartesian Closed Categories (Beck-Chevalley Conditions) |
Building on top of the API of `ExponentiableMorphism` in #22321, we state and prove Beck-Chevalley conditions. This will be crucial for our development of polynomial functors along exponentiable morphisms.
Co-authored-by: Emily Riehl
---
- [ ] depends on: #22321
- [ ] depends on: #22319
- [ ] depends on: #21525
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-other-PR
t-category-theory
large-import
merge-conflict
|
1144/24 |
Mathlib.lean,Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/Comma/Over/Pullback.lean,Mathlib/CategoryTheory/Comma/Over/Sections.lean,Mathlib/CategoryTheory/Galois/Examples.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/Basic.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/BeckChevalley.lean,docs/references.bib |
8 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
446-11907 1 year ago |
452-80234 452 days ago |
0-17 17 seconds |
| 21959 |
BGuillemet author:BGuillemet |
feat(Topology/ContinuousMap): Stone-Weierstrass theorem for MvPolynomial |
Add the subalgebra of multivariate polynomials and prove it separates points, on the same model as `ContinuousMap/Polynomial.lean`.
Prove the Stone-Weierstrass theorem and some variations for multivariate polynomials.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
new-contributor
|
285/1 |
Mathlib.lean,Mathlib/Topology/ContinuousMap/MvPolynomial.lean,Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean |
3 |
1 |
['github-actions'] |
nobody |
446-8249 1 year ago |
446-8249 446 days ago |
16-76141 16 days |
| 19177 |
adomani author:adomani |
test: the findDefEqAbuse linter |
This is a prototype, as per [this Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Locating.20defeq.20abuse)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
large-import
|
126/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/FindDefEqAbuse.lean,MathlibTest/FindDefEqAbuse.lean |
5 |
1 |
['github-actions'] |
nobody |
444-10262 1 year ago |
unknown |
0-0 0 seconds |
| 22359 |
adomani author:adomani |
feat(whitespace): do not allow indented doc-strings |
In a doc-string, Do not allow the first character after the first line break to be a space.
---
There are approximately 2.5k exceptions. I think that they should be unindented, judging from the sample that I looked at, but won't act on it, unless there is a clear plan to fix and merge this modification!
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-linter
large-import
|
222/70 |
Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Mathlib.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveAdjunction.lean,Mathlib/Analysis/Asymptotics/ExpGrowth.lean,Mathlib/Data/Matroid/Circuit.lean,Mathlib/Init.lean,Mathlib/Lean/Meta/RefinedDiscrTree/Encode.lean,Mathlib/LinearAlgebra/Dimension/StrongRankCondition.lean,Mathlib/LinearAlgebra/LinearIndependent/Basic.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean,Mathlib/Tactic.lean,Mathlib/Tactic/FunProp/Decl.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/DocString.lean,Mathlib/Topology/Path.lean,Mathlib/Topology/UnitInterval.lean,MathlibTest/LintDocstring.lean,lakefile.lean |
20 |
1 |
['github-actions'] |
nobody |
444-9181 1 year ago |
452-35254 452 days ago |
0-2590 43 minutes |
| 18470 |
FR-vdash-bot author:FR-vdash-bot |
perf: lower the priority of `Normed*.to*` instances |
---
From #7873.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
t-analysis
label:t-algebra$ |
28/0 |
Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean |
2 |
9 |
['astrainfinita', 'github-actions', 'jcommelin', 'leanprover-bot'] |
nobody |
441-66076 1 year ago |
441-66076 441 days ago |
129-16341 129 days |
| 17368 |
Felix-Weilacher author:Felix-Weilacher |
feat(Topology/Baire/BaireMeasurable): add the Kuratowski-Ulam theorem |
Add the Kuratowski-Ulam theorem, which one can think of as a "Fubini" for Baire category.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
187/1 |
Mathlib/MeasureTheory/MeasurableSpace/Basic.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Topology/Baire/BaireMeasurable.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/GDelta/Basic.lean |
5 |
6 |
['Felix-Weilacher', 'github-actions', 'urkud'] |
nobody |
440-3745 1 year ago |
577-15264 577 days ago |
22-48725 22 days |
| 8767 |
eric-wieser author:eric-wieser |
refactor(Cache): tidy lake-manifest parsing in Cache |
This now respects local copies of Mathlib dependencies (though in practice these invalidate the *online* cache because to point to local copies of Mathlib, the hash for `lakefile.lean` and `lake-manifest.json` is first invalidated).
---
- [x] depends on: #11492
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
49/49 |
Cache/Hashing.lean,Cache/IO.lean,lake-manifest.json |
3 |
8 |
['digama0', 'eric-wieser', 'github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
438-65808 1 year ago |
620-31758 620 days ago |
119-35643 119 days |
| 22434 |
qawbecrdtey author:qawbecrdtey |
feat(Mathlib/Analysis/Normed/Lp/WithLp): Added more instances for `WithLp` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-analysis
|
51/22 |
Mathlib/Analysis/Normed/Lp/WithLp.lean |
1 |
11 |
['eric-wieser', 'github-actions', 'leanprover-bot', 'qawbecrdtey'] |
nobody |
438-8847 1 year ago |
444-64512 444 days ago |
1-79072 1 day |
| 15578 |
znssong author:znssong |
feat(Function): Fixed points of function `f` with `f(x) >= x` |
We added some lemmas of fixed points of function `f` with `f(x) >= x`, where `f : α → α` is a function on a finite type `α`. This will be needed in proof of Bondy-Chvátal theorem.
---
See also branch `meow-sister/BondyChvatal`.
[](https://gitpod.io/from-referrer/) |
merge-conflict
awaiting-author
t-analysis
new-contributor
|
82/0 |
Mathlib.lean,Mathlib/Dynamics/FixedPoints/Basic.lean,Mathlib/Dynamics/FixedPoints/Increasing.lean |
3 |
32 |
['Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'urkud', 'vihdzp', 'znssong'] |
nobody |
438-4075 1 year ago |
621-7304 621 days ago |
29-48368 29 days |
| 22660 |
Ruben-VandeVelde author:Ruben-VandeVelde |
chore: follow naming convention around Group.IsNilpotent |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
133/67 |
Mathlib/GroupTheory/Frattini.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/SpecificGroups/ZGroup.lean |
3 |
1 |
['github-actions'] |
nobody |
434-30504 1 year ago |
434-30504 434 days ago |
10-48025 10 days |
| 13999 |
adomani author:adomani |
feat: a linter to flag potential confusing conventions |
Currently, the linter flags all uses of
* `a - b` where `a b : Nat`;
* `a / b` where `a b : Nat` or `a b : Int`;
* `a / 0` more or less whenever the type of `a` has a `0` and a division.
This comes up often when starting to use Lean and hopefully the flag can help mitigate initial confusions.
When the local context contains the relevant inequality/divisibility hypothesis, the linter is quiet.
A recent [Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/113489-new-members/topic/not.20understanding.20deliberate.20error.20with.20.60ring.60.20over.20.E2.84.95/near/445879310)
---
To make sure that the linter does not produce errors, #14007 activates the linter on "all" of mathlib. The expectation is that no error is thrown, just warnings.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
awaiting-author
|
251/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/Papercut.lean,MathlibTest/Papercut.lean |
4 |
24 |
['Julian', 'YaelDillies', 'adomani', 'eric-wieser', 'github-actions'] |
nobody |
433-62538 1 year ago |
694-40029 694 days ago |
7-47589 7 days |
| 19013 |
quangvdao author:quangvdao |
feat(Algebra/BigOperators/Fin): Add `finSigmaFinEquiv` |
This PR adds `finSigmaFinEquiv` which is the equivalence `(i : Fin m) × Fin (n i) ≃ Fin (∑ i, n i)`. This is the dependent version of `finProdFinEquiv`.
CI should be passing, but there are two things I'd like feedback on:
1. When defining the mappings, I have to consider `m = 0` separately. Is there a more uniform definition?
2. I'm proving this as a step toward defining `Fin.join`, which is the analogue of `List.join`. I can now technically define `Fin.join` as:
```
variable {a : Fin n → ℕ} {α : (i : Fin n) → (j : Fin (a i)) → Sort*}
def join (v : (i : Fin n) → (j : Fin (a i)) → α i j) (k : Fin (∑ i, a i)) :
α (finSigmaFinEquiv.invFun k).1 (finSigmaFinEquiv.invFun k).2 :=
v (finSigmaFinEquiv.invFun k).1 (finSigmaFinEquiv.invFun k).2
```
but this looks horrible. This highly motivates refactoring `invFun` as two new definitions:
```
def func1 {n : ℕ} (a : Fin n → ℕ) (k : Fin (∑ i, a i)) : Fin n := sorry
def func2 {n : ℕ} (a : Fin n → ℕ) (k : Fin (∑ i, a i)) : Fin (a (func1 a k)) := sorry
```
I'm not sure what to call these functions. The analogues in the non-dependent case are `divNat` and `modNat`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
92/16 |
Mathlib/Algebra/BigOperators/Fin.lean |
1 |
14 |
['YaelDillies', 'eric-wieser', 'github-actions', 'quangvdao'] |
nobody |
431-84571 1 year ago |
553-62499 553 days ago |
3-28829 3 days |
| 20389 |
eric-wieser author:eric-wieser |
feat: generalize results to `WithLp 0` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
|
116/53 |
Mathlib/Analysis/Normed/Lp/PiLp.lean |
1 |
1 |
['github-actions'] |
nobody |
430-73119 1 year ago |
unknown |
0-0 0 seconds |
| 19227 |
adomani author:adomani |
fix(CI): unwrap `lake test` in problem matcher |
... and also add a `#guard_msgs` in `AssertImported` test, so that `lake test` properly fails.
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/CI.3A.20noisy.20.22test.20mathlib.22/near/483126955)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
CI
|
9/20 |
.github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,MathlibTest/AssertImported.lean |
5 |
2 |
['bryangingechen', 'github-actions'] |
nobody |
429-17207 1 year ago |
529-57878 529 days ago |
22-71271 22 days |
| 15774 |
kkytola author:kkytola |
feat: Topology on `ENat` |
This PR may contain some results that are not in the PR that adds a toppology on `ENat`.
---
The immediate motivation is to be able to make the right continuity statement of the extended floor function on `ENNReal`, when this floor function is made `ENat`valued as suggested in the PR review of #15269.
The API here is modelled on the early parts of [the corresponding ENNReal file](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Instances/ENNReal.html#top), although much of this case is more trivial.
- [x] depends on: #15380
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-topology
t-order
|
161/9 |
Mathlib/Data/ENat/Basic.lean,Mathlib/Topology/Instances/ENat.lean |
2 |
4 |
['YaelDillies', 'github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
424-61139 1 year ago |
650-4282 650 days ago |
0-6819 1 hour |
| 16009 |
Command-Master author:Command-Master |
acyclic graph |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-combinatorics
|
232/0 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean |
1 |
1 |
['github-actions'] |
nobody |
423-9288 1 year ago |
unknown |
0-0 0 seconds |
| 20222 |
eric-wieser author:eric-wieser |
feat: generalize lemmas about derivatives |
Rather than creating a huge diff by shuffling things around, this generalizes everything in-place and swaps between `section`s for topological and normed vector spaces.
The rationale for this approach is that:
* we may further generalize the results of this file, and this avoids us jumbling up the order multiple times unnecessarily.
* this greatly reduces the chance of merge conflicts
---
- [ ] depends on: #21065
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-analysis
|
554/50 |
Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,MathlibTest/Recall.lean |
3 |
8 |
['adomani', 'eric-wieser', 'github-actions', 'leanprover-bot', 'mathlib4-dependent-issues-bot'] |
nobody |
420-31407 1 year ago |
483-44649 483 days ago |
7-27718 7 days |
| 21018 |
markimunro author:markimunro |
feat(Data/Matrix): add file with key definitions and theorems about elementary row operations |
Prove that each elementary row operation is equivalent to a multiplication by an elementary matrix, has another row operation which inverts it, and that each elementary matrix has a left inverse.
This is a very large PR and I understand it will take time. This is my first one and will likely have issues but I will be ready to answer questions/fix them as soon as possible.
Co-authored-by: Christopher Lynch
---
[](https://gitpod.io/from-referrer/)
|
t-data
enhancement
new-contributor
merge-conflict
awaiting-author
|
1230/0 |
Mathlib.lean,Mathlib/Data/Matrix/ElementaryRowOperations.lean,Mathlib/Data/Matrix/GaussianElimination.lean,Mathlib/Data/Matrix/GaussianEliminationOld,Mathlib/Data/Matrix/oldnames,et --hard 18533caba32,lean-toolchain |
7 |
17 |
['chrisflav', 'eric-wieser', 'github-actions', 'j-loreaux', 'markimunro'] |
nobody |
419-39474 1 year ago |
444-68430 444 days ago |
23-22681 23 days |
| 23514 |
eric-wieser author:eric-wieser |
refactor: smooth over Lattice/LinearOrder inheritance |
This fixes the forgetful inheritance in `CompleteLinearOrder` and `ConditionallyCompleteLinearOrder`, which previously did not carry `compare` fields. (edit: moved to #23515)
The following is the inheritance diagram before, where the dotted lines are manual instances. Note that every lattice typeclass that extends `LinearOrder` has to implement another dotted line edge, and remember to copy all the necessary data fields.
```mermaid
graph TD
LinearOrder --> Min,Max;
LinearOrder --> PartialOrder;
Lattice --> PartialOrder;
CompleteLinearOrder --> Lattice;
ConditionallyCompleteLinearOrder --> Lattice;
LinearOrder-.-> Lattice;
CompleteLinearOrder -.-> LinearOrder;
ConditionallyCompleteLinearOrder -.-> LinearOrder;
```
This change introduces two new auxiliary typeclasses, to encapsulate these troublesome edges. `LinearOrderedLattice` can be thought of as `LinearOrder`, but with `sup`/`inf` instead of `min`/`max`. This is crucial, because it ensures the duplicate fields are merged in `extends CompleteLattice X, LinearOrderedLattice X`, which would not be the case for `extends CompleteLattice X, LinearOrder X`. The result is:
```mermaid
graph TD
LinearOrder --> Min,Max;
LinearOrder --> LinearOrderBase;
LinearOrderBase --> PartialOrder;
Lattice --> PartialOrder;
LinearOrderedLattice -.-> LinearOrder;
LinearOrderedLattice --> LinearOrderBase;
LinearOrderedLattice --> Lattice;
CompleteLinearOrder --> LinearOrderedLattice;
ConditionallyCompleteLinearOrder --> LinearOrderedLattice;
```
---
- [ ] depends on: #23515
- [ ]
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
85/66 |
Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Order/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/Defs/LinearOrder.lean,Mathlib/Order/Lattice.lean |
7 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
418-65304 1 year ago |
419-70243 419 days ago |
0-172 2 minutes |
| 20746 |
JLimperg author:JLimperg |
Aesop forward branch test |
---
This is not a real PR; I just want to benchmark this Aesop branch.
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
14/6 |
.github/workflows/build.yml,Mathlib/Data/Nat/Prime/Defs.lean,lake-manifest.json,lakefile.lean,scripts/bench/fake-root/lib/lean/libleanshared.so,scripts/bench/run |
6 |
11 |
['JLimperg', 'Kha', 'github-actions', 'leanprover-bot'] |
nobody |
418-22710 1 year ago |
unknown |
0-0 0 seconds |
| 22810 |
pechersky author:pechersky |
feat(Counterexamples): metric space not induced by norm |
Because the distance is not homogeneous
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #22845 |
merge-conflict
WIP
t-topology
t-analysis
|
202/1 |
Counterexamples.lean,Counterexamples/NotBoundedSMulMetricSpace.lean,Mathlib.lean,Mathlib/Analysis/Normed/PiNat.lean,Mathlib/Topology/Algebra/Module/LocallyConvex.lean,Mathlib/Topology/MetricSpace/Polish.lean |
6 |
21 |
['eric-wieser', 'github-actions', 'loefflerd', 'mathlib4-dependent-issues-bot', 'pechersky'] |
nobody |
418-15366 1 year ago |
433-48857 433 days ago |
0-82394 22 hours |
| 13124 |
FR-vdash-bot author:FR-vdash-bot |
chore: remove `CovariantClass` and `ContravariantClass` |
Lean cannot handle `CovariantClass` and `ContravariantClass` correctly
- TC slowness
- [Zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/TC.20slowness)
- https://github.com/leanprover-community/mathlib4/issues/6646#issuecomment-1691792488
- It may also have made #6326 fail.
- Needs a weird hack to find instance: #9252
---
- [x] depends on: #13154
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
602/486 |
Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean,Mathlib/Algebra/Group/Subgroup/Pointwise.lean,Mathlib/Algebra/Group/Submonoid/Pointwise.lean,Mathlib/Algebra/Group/UniqueProds/Basic.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/Order/AddTorsor.lean,Mathlib/Algebra/Order/Group/Action.lean,Mathlib/Algebra/Order/Group/DenselyOrdered.lean,Mathlib/Algebra/Order/Group/Units.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled.lean,Mathlib/Algebra/Order/GroupWithZero/WithZero.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/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Algebra/Ring/Subring/Pointwise.lean,Mathlib/Algebra/Ring/Subsemiring/Pointwise.lean,Mathlib/Analysis/SumOverResidueClass.lean,Mathlib/Data/DFinsupp/Lex.lean,Mathlib/Data/Finsupp/Lex.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/GroupTheory/OrderOfElement.lean,Mathlib/Order/Filter/IsBounded.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Probability/Kernel/Defs.lean,Mathlib/RingTheory/Ideal/Pointwise.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/Topology/Algebra/Order/LiminfLimsup.lean |
37 |
6 |
['MichaelStollBayreuth', 'astrainfinita', 'github-actions', 'leanprover-bot', 'mathlib4-dependent-issues-bot'] |
nobody |
417-43343 1 year ago |
unknown |
0-0 0 seconds |
| 15212 |
victorliu5296 author:victorliu5296 |
feat: Add fundamental theorem of calculus-2 for Banach spaces |
add the Mean Value Theorem for Banach spaces to the library and include reference for the theorem statement
This theorem states that if `f : X → Y` is differentiable along the line segment from `a` to `b`, then the change in `f` equals the integral of its derivative along this path. This extends the mean value theorem to Banach spaces. This can be used for the eventual proof of the Newton-Kantorovich theorem with 1 constant contained inside the added reference.
Here is the discussion on Zulipchat: https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Contributing.20FTC-2.20for.20Banach.20spaces |
t-measure-probability
new-contributor
merge-conflict
awaiting-author
t-analysis
|
60/1 |
Mathlib/MeasureTheory/Integral/FundThmCalculus.lean |
1 |
3 |
['github-actions', 'hrmacbeth', 'victorliu5296'] |
nobody |
414-34463 1 year ago |
608-11834 608 days ago |
51-85104 51 days |
| 22888 |
plp127 author:plp127 |
perf: replace `Lean.Expr.swapBVars` with a better? implementation |
Replaces `Lean.Expr.swapBVars` with a version that traverses the expression.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
|
14/12 |
Mathlib/Tactic/FunProp/ToBatteries.lean |
1 |
23 |
['eric-wieser', 'github-actions', 'joneugster', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'plp127'] |
eric-wieser and joneugster assignee:eric-wieser assignee:joneugster |
413-27508 1 year ago |
433-77348 433 days ago |
4-80306 4 days |
| 15943 |
urkud author:urkud |
feat: add `ProdQuotientMapSpace` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
731/11 |
Mathlib.lean,Mathlib/Topology/Basic.lean,Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/Maps/ProdQuotient.lean |
4 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
412-52835 1 year ago |
unknown |
0-0 0 seconds |
| 22579 |
kvanvels author:kvanvels |
doc(Topology/Defs/Induced): fix comments on three functions related to RestrictGenTopology |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
documentation
awaiting-author
|
10/9 |
Mathlib/Topology/Defs/Induced.lean,Mathlib/Topology/RestrictGen.lean |
2 |
4 |
['github-actions', 'kvanvels', 'leanprover-community-bot-assistant', 'urkud'] |
nobody |
411-41366 1 year ago |
434-45743 434 days ago |
12-18679 12 days |
| 19771 |
robertylewis author:robertylewis |
perf: qqify two functions in linarith |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
17/24 |
Mathlib/Tactic/Linarith/Frontend.lean,Mathlib/Tactic/Linarith/Verification.lean |
2 |
5 |
['github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-bot-assistant', 'robertylewis'] |
nobody |
411-20872 1 year ago |
unknown |
0-0 0 seconds |
| 22308 |
plp127 author:plp127 |
feat (Analysis/Convex): Generalize `Convex` lemmas to `StarConvex` |
This PR generalizes many lemmas assuming `Convex 𝕜 s` to assume `StarConvex 𝕜 0 s`.
---
- [x] depends on: #22421
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-analysis
new-contributor
|
30/18 |
Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Convex/GaugeRescale.lean,Mathlib/Analysis/Convex/Star.lean,Mathlib/Analysis/LocallyConvex/AbsConvexOpen.lean |
4 |
5 |
['Paul-Lez', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
411-20383 1 year ago |
unknown |
0-0 0 seconds |
| 21488 |
imbrem author:imbrem |
feat(CategoryTheory/Monoidal): premonoidal categories |
Add support for premonoidal categories
---
Still want to add support for:
- Premonoidal braided/symmetric categories
- The monoidal coherence theorem, which I've already ported in my `discretion` library
- The `coherence` tactic, which should work fine for premonoidal categories too
but wanted to get this in front of reviewers ASAP to make sure my general approach was alright
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
new-contributor
|
900/361 |
Mathlib/Algebra/Category/ModuleCat/Presheaf/Monoidal.lean,Mathlib/CategoryTheory/Bicategory/End.lean,Mathlib/CategoryTheory/GradedObject/Monoidal.lean,Mathlib/CategoryTheory/Localization/Monoidal.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/CategoryTheory/Monoidal/CoherenceLemmas.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/CategoryTheory/Monoidal/End.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/FunctorCategory.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Transport.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/MonoidalComp.lean,MathlibTest/StringDiagram.lean |
21 |
9 |
['YaelDillies', 'github-actions', 'grunweg', 'imbrem', 'kim-em', 'leanprover-community-bot-assistant'] |
nobody |
411-16651 1 year ago |
411-16652 411 days ago |
58-6026 58 days |
| 21525 |
sinhp author:sinhp |
feat(CategoryTheory): Locally Cartesian Closed Categories (Prelim) |
This PR defines the basic preliminaries for defining locally cartesian closed categories (LCCCs). In particular, using the calculus of mates we define certain natural isomorphisms involving `Over.star` and `Over.pullback` which will be crucial in defining the right adjoint to the pullback functor in the development of LCCCs.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
large-import
|
338/24 |
Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/Comma/Over/Pullback.lean,Mathlib/CategoryTheory/Galois/Examples.lean |
3 |
13 |
['b-mehta', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'sinhp'] |
nobody |
411-16649 1 year ago |
411-16651 411 days ago |
36-69400 36 days |
| 22319 |
sinhp author:sinhp |
feat(CategoryTheory): Locally Cartesian Closed Categories (Sections Right Adjoint) |
we define the `Over.sections` functor in the file `CategoryTheory.Comma.Over.Sections` and prove that it is a right adjoint to the `Over.star`, thereby solving an existing TODO in `Over.pullback` file.
The `sections` functor is used to define the right adjoint to the pullback functor `Over.pullback` in the development of LCCCs. Moreover, the rest of added lemmas and theorems to `CategoryTheory.Comma.Over.Pullback` are crucial for the development of LCCCs in the next PR.
---
- [ ] depends on: #21525
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
large-import
|
547/24 |
Mathlib.lean,Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/Comma/Over/Pullback.lean,Mathlib/CategoryTheory/Comma/Over/Sections.lean,Mathlib/CategoryTheory/Galois/Examples.lean |
5 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
411-16122 1 year ago |
453-20157 453 days ago |
0-2084 34 minutes |
| 22321 |
sinhp author:sinhp |
feat(CategoryTheory): Locally Cartesian Closed Categories (Definition) |
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.
Some of the content is based on the project of formalization of polynomial functors at the Trimester "Prospect of Formal Mathematics" at the Hausdorff Institute (HIM) in Bonn. https://github.com/sinhp/Poly
I found this implementation of locally cartesian closed categories amenable to polynomial functors formalization.
Co-authored-by: Emily Riehl
---
- [ ] depends on: #21525
- [ ] depends on: #22319
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
large-import
|
812/24 |
Mathlib.lean,Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/Comma/Over/Pullback.lean,Mathlib/CategoryTheory/Comma/Over/Sections.lean,Mathlib/CategoryTheory/Galois/Examples.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/Basic.lean |
6 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
411-16122 1 year ago |
453-18898 453 days ago |
0-336 5 minutes |
| 13653 |
adomani author:adomani |
feat: the unusedSetOptionIn linter |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
large-import
|
199/0 |
Mathlib.lean,Mathlib/Algebra/Homology/HomotopyCategory/Triangulated.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/UnnecessarySetOptionIn.lean,MathlibTest/UnnecessarySetOptionIn.lean |
6 |
15 |
['adomani', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant'] |
nobody |
410-47487 1 year ago |
unknown |
0-0 0 seconds |
| 19425 |
hrmacbeth author:hrmacbeth |
perf: gcongr forward-reasoning adjustment |
This PR changes the "forward-reasoning" component of `gcongr`, rendering it more efficient, particularly in problems with a large number of variables/hypotheses in the context.
Previously `gcongr` attempted to match *every* `LocalDecl` against *every* node in the parse tree using *each* of the five implemented `@[gcongr_forward]` mini-tactics: matching directly, matching after applying `symm`, matching after applying `le_of_lt`, etc etc.
The new algorithm filters out the non-Prop `LocalDecl`s, and also adjusts the `@[gcongr_forward]` extensions so that, rather than re-apply the relevant lemmas (`symm`, `le_of_lt`, etc) at every node in the parse tree, the lemmas are applied in advance to the `LocalDecl`s and the result (if successful) stored.
The performance effect on mathlib as a whole is miniscule, but it speeds up the profiler's count of "tactic execution of Mathlib.Tactic.GCongr" in the newly-added test from 257 ms to 47 ms, and has a similar effect on real-life examples in an analysis project of mine.
Co-authored-by: Mario Carneiro
---
[](https://gitpod.io/from-referrer/)
(Note that Mario provided the ideas but not the code, so please review with appropriate diligence!) |
merge-conflict
awaiting-author
|
130/59 |
Mathlib/Order/Lattice.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/GCongr/ForwardAttr.lean,MathlibTest/GCongr/inequalities.lean |
4 |
17 |
['Vierkantor', 'github-actions', 'hrmacbeth', 'leanprover-bot', 'leanprover-community-bot-assistant'] |
Vierkantor assignee:Vierkantor |
410-29183 1 year ago |
543-17600 543 days ago |
1-41769 1 day |
| 20873 |
vbeffara author:vbeffara |
feat(Topology/Covering): path lifting and homotopy lifting |
This proves the existence and uniqueness of path and homotopy lifts through covering maps.
---
I tried to separate as much of the proof as possible into separate PRs (which are already in Mathlib now), but the proof here relies on a monolithic construction of an explicit lift along a well-chosen subdivision, in `partial_lift`, with associated definitions. Only one standalone lean file added.
An older WIP PR #10084 by Junyan Xu @alreadydone proves similar results using a very similar construction for path lifting, with a different argument to obtain continuity for homotopy lifting.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
new-contributor
|
281/1 |
Mathlib.lean,Mathlib/Topology/Covering/Basic.lean,Mathlib/Topology/Covering/Lift.lean |
3 |
9 |
['alreadydone', 'github-actions', 'grunweg', 'vbeffara'] |
nobody |
410-19379 1 year ago |
485-12139 485 days ago |
5-5648 5 days |
| 22817 |
peabrainiac author:peabrainiac |
feat(CategoryTheory/Sites): local sites |
Defines local sites and shows that sheaves of types on them form a local topos, in that the global sections functor `Sheaf.Γ` has a right adjoint `Sheaf.codisc` that is fully faithful.
---
- [x] depends on: #22816
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
263/0 |
Mathlib.lean,Mathlib/CategoryTheory/Limits/FunctorCategory/Shapes/Products.lean,Mathlib/CategoryTheory/Limits/Types.lean,Mathlib/CategoryTheory/Sites/GlobalSections.lean,Mathlib/CategoryTheory/Sites/LocalSite.lean,Mathlib/CategoryTheory/Sites/Sheaf.lean |
6 |
4 |
['github-actions', 'joelriou', 'mathlib4-dependent-issues-bot'] |
nobody |
409-39388 1 year ago |
440-40887 440 days ago |
0-568 9 minutes |
| 24040 |
astrainfinita author:astrainfinita |
refactor: unbundle algebra from `(NonUnital){Seminormed, Normed}(Comm)Ring` |
---
- [ ] depends on: #23966
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
merge-conflict
slow-typeclass-synthesis
t-analysis
label:t-algebra$ |
3775/3674 |
Archive/Imo/Imo1998Q2.lean,Counterexamples/LinearOrderWithPosMulPosEqZero.lean,Mathlib/Algebra/Algebra/RestrictScalars.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Algebra/Order/Field/Canonical.lean,Mathlib/Algebra/Order/Field/Rat.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Nonneg/Field.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/CPolynomial.lean,Mathlib/Analysis/Analytic/CPolynomialDef.lean,Mathlib/Analysis/Analytic/ChangeOrigin.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/Analytic/IteratedFDeriv.lean,Mathlib/Analysis/Analytic/Linear.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Analytic/Polynomial.lean,Mathlib/Analysis/Analytic/RadiusLiminf.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Analytic/Within.lean,Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean,Mathlib/Analysis/Asymptotics/Defs.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/Asymptotics/Theta.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/BoxIntegral/Integrability.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Measure.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/CStarAlgebra/Classes.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Integral.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean,Mathlib/Analysis/CStarAlgebra/ContinuousLinearMap.lean,Mathlib/Analysis/CStarAlgebra/ContinuousMap.lean,Mathlib/Analysis/CStarAlgebra/Exponential.lean,Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean,Mathlib/Analysis/CStarAlgebra/Module/Defs.lean,Mathlib/Analysis/CStarAlgebra/Multiplier.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/CStarAlgebra/lpSpace.lean,Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean,Mathlib/Analysis/Calculus/AddTorsor/Coord.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/BumpFunction/Convolution.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean,Mathlib/Analysis/Calculus/BumpFunction/Normed.lean,Mathlib/Analysis/Calculus/Conformal/InnerProduct.lean,Mathlib/Analysis/Calculus/Conformal/NormedSpace.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/CPolynomial.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Calculus/ContDiff/FiniteDimension.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Analysis/Calculus/ContDiff/WithLp.lean,Mathlib/Analysis/Calculus/DSlope.lean,Mathlib/Analysis/Calculus/Deriv/Abs.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/AffineMap.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Comp.lean,Mathlib/Analysis/Calculus/Deriv/Inv.lean,Mathlib/Analysis/Calculus/Deriv/Inverse.lean,Mathlib/Analysis/Calculus/Deriv/Linear.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Calculus/Deriv/Prod.lean,Mathlib/Analysis/Calculus/Deriv/Shift.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/Deriv/Star.lean,Mathlib/Analysis/Calculus/Deriv/Support.lean,Mathlib/Analysis/Calculus/Deriv/ZPow.lean,Mathlib/Analysis/Calculus/DiffContOnCl.lean,Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Bilinear.lean |
630 |
5 |
['astrainfinita', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
406-10082 1 year ago |
unknown |
0-0 0 seconds |
| 16314 |
FR-vdash-bot author:FR-vdash-bot |
chore(Data/Quot): deprecate `ind*'` APIs |
---
- [x] depends on: #16264
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
247/287 |
Counterexamples/CliffordAlgebraNotInjective.lean,Mathlib/Algebra/Colimit/Module.lean,Mathlib/Algebra/Lie/Quotient.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/CategoryTheory/ConnectedComponents.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Subobject/FactorThru.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/Computability/Reduce.lean,Mathlib/Computability/Tape.lean,Mathlib/Data/List/Cycle.lean,Mathlib/Data/Multiset/MapFold.lean,Mathlib/Data/Multiset/ZeroCons.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/Data/Setoid/Partition.lean,Mathlib/FieldTheory/Fixed.lean,Mathlib/GroupTheory/Complement.lean,Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Congruence/Hom.lean,Mathlib/GroupTheory/Coset/Basic.lean,Mathlib/GroupTheory/Coset/Defs.lean,Mathlib/GroupTheory/FreeAbelianGroup.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/PGroup.lean,Mathlib/GroupTheory/Perm/Cycle/Concrete.lean,Mathlib/GroupTheory/PresentedGroup.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/GroupTheory/SchurZassenhaus.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/LinearAlgebra/Alternating/DomCoprod.lean,Mathlib/LinearAlgebra/Projectivization/Basic.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/LinearAlgebra/Quotient/Defs.lean,Mathlib/MeasureTheory/Function/AEEqFun.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/Order/Antisymmetrization.lean,Mathlib/Order/Category/PartOrd.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/RepresentationTheory/GroupCohomology/Hilbert90.lean,Mathlib/RingTheory/AdicCompletion/Algebra.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/Functoriality.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Congruence/Basic.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Defs.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Valuation/Quotient.lean,Mathlib/Topology/Algebra/Group/TopologicalAbelianization.lean,Mathlib/Topology/Algebra/InfiniteSum/Module.lean,Mathlib/Topology/Separation/Basic.lean |
65 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
405-41615 1 year ago |
405-41617 405 days ago |
55-52030 55 days |
| 23509 |
eric-wieser author:eric-wieser |
refactor: Make ENNReal an abbrev |
The `Coe` instance becomes `CoeTC` to match what we do for `WithTop` (such that the priority kicks in)
Probably we could have both copies and things would be ok.
---
[](https://gitpod.io/from-referrer/)
This includes part of #23750
|
merge-conflict
t-data
|
22/66 |
Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/ENNReal/BigOperators.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/MeasureTheory/Integral/SetToL1.lean,Mathlib/MeasureTheory/Measure/Sub.lean,Mathlib/MeasureTheory/Measure/TightNormed.lean,Mathlib/Topology/MetricSpace/PartitionOfUnity.lean |
7 |
22 |
['eric-wieser', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot', 'mattrobball', 'urkud'] |
nobody |
405-25268 1 year ago |
407-9996 407 days ago |
5-23475 5 days |
| 24060 |
eric-wieser author:eric-wieser |
chore(MeasureTheory): use `0` instead of `const _ 0` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-measure-probability
|
30/20 |
Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/MeasureTheory/Function/SimpleFuncDense.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Countable.lean,Mathlib/MeasureTheory/Integral/SetToL1.lean,Mathlib/Probability/StrongLaw.lean |
7 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
405-14963 1 year ago |
unknown |
0-0 0 seconds |
| 24058 |
FR-vdash-bot author:FR-vdash-bot |
refactor: unbundle algebra from `*NormedField` |
---
- [ ] depends on: #24040
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
merge-conflict
slow-typeclass-synthesis
t-analysis
label:t-algebra$ |
4602/4346 |
Archive/Hairer.lean,Archive/Imo/Imo1998Q2.lean,Counterexamples/LinearOrderWithPosMulPosEqZero.lean,Mathlib/Algebra/Algebra/RestrictScalars.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Algebra/Order/Field/Canonical.lean,Mathlib/Algebra/Order/Field/Rat.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Nonneg/Field.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/CPolynomial.lean,Mathlib/Analysis/Analytic/CPolynomialDef.lean,Mathlib/Analysis/Analytic/ChangeOrigin.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/Analytic/IteratedFDeriv.lean,Mathlib/Analysis/Analytic/Linear.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Analytic/Polynomial.lean,Mathlib/Analysis/Analytic/RadiusLiminf.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Analytic/Within.lean,Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean,Mathlib/Analysis/Asymptotics/Defs.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/Asymptotics/Theta.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/BoxIntegral/Integrability.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Measure.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/CStarAlgebra/Classes.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Integral.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean,Mathlib/Analysis/CStarAlgebra/ContinuousLinearMap.lean,Mathlib/Analysis/CStarAlgebra/ContinuousMap.lean,Mathlib/Analysis/CStarAlgebra/Exponential.lean,Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean,Mathlib/Analysis/CStarAlgebra/Module/Defs.lean,Mathlib/Analysis/CStarAlgebra/Multiplier.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/CStarAlgebra/lpSpace.lean,Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean,Mathlib/Analysis/Calculus/AddTorsor/Coord.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/BumpFunction/Convolution.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean,Mathlib/Analysis/Calculus/BumpFunction/Normed.lean,Mathlib/Analysis/Calculus/Conformal/InnerProduct.lean,Mathlib/Analysis/Calculus/Conformal/NormedSpace.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/CPolynomial.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Calculus/ContDiff/FiniteDimension.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Analysis/Calculus/ContDiff/WithLp.lean,Mathlib/Analysis/Calculus/DSlope.lean,Mathlib/Analysis/Calculus/Deriv/Abs.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/AffineMap.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Comp.lean,Mathlib/Analysis/Calculus/Deriv/Inv.lean,Mathlib/Analysis/Calculus/Deriv/Inverse.lean,Mathlib/Analysis/Calculus/Deriv/Linear.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Calculus/Deriv/Pi.lean,Mathlib/Analysis/Calculus/Deriv/Polynomial.lean,Mathlib/Analysis/Calculus/Deriv/Pow.lean,Mathlib/Analysis/Calculus/Deriv/Prod.lean,Mathlib/Analysis/Calculus/Deriv/Shift.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/Deriv/Star.lean,Mathlib/Analysis/Calculus/Deriv/Support.lean,Mathlib/Analysis/Calculus/Deriv/ZPow.lean |
665 |
7 |
['astrainfinita', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
405-4873 1 year ago |
unknown |
0-0 0 seconds |
| 11455 |
adomani author:adomani |
fix: unsqueeze simp, re Yaël's comments on #11259 |
This PR reverts/simplifies some of the "squeeze `simp`" changes in #11259.
See #11259 for context.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
|
3/6 |
Mathlib/Algebra/Group/Conj.lean,Mathlib/Data/Seq/WSeq.lean |
2 |
8 |
['Ruben-VandeVelde', 'YaelDillies', 'grunweg', 'loefflerd', 'robertylewis', 'urkud'] |
nobody |
404-73268 1 year ago |
703-16775 703 days ago |
93-60645 93 days |
| 7325 |
eric-wieser author:eric-wieser |
chore: use preimageIso instead of defeq abuse for InducedCategory |
This makes a few things slightly more verbose, but the type casts are now explicit in those places.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
awaiting-CI
|
22/21 |
Mathlib/CategoryTheory/EssentialImage.lean,Mathlib/CategoryTheory/Monoidal/Braided.lean,Mathlib/CategoryTheory/Monoidal/Subcategory.lean |
3 |
1 |
['grunweg'] |
nobody |
404-73147 1 year ago |
unknown |
0-0 0 seconds |
| 7874 |
astrainfinita author:astrainfinita |
chore: make `IsScalarTower A A B` and `IsScalarTower A B B` higher priority |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
awaiting-CI
label:t-algebra$ |
10/9 |
Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Data/Rat/Cast/Defs.lean,Mathlib/GroupTheory/GroupAction/Ring.lean |
4 |
3 |
['astrainfinita', 'grunweg', 'leanprover-bot'] |
nobody |
404-73122 1 year ago |
unknown |
0-0 0 seconds |
| 13038 |
adomani author:adomani |
feat: Mathlib weekly reports |
This PR introduces a weekly cron job that computes a "global" report on the evolution of Mathlib in the previous week.
It consists of
* a CI workflow with a cron job that runs at minight on Sunday (`.github/workflows/mathlib_stats.yaml`);
* a Lean file extracting a categorized list of "all" the declarations in Mathlib (`scripts/count_decls.lean`);
* a bash file computing Git-diff-related information and collating the data from the Lean file (`scripts/mathlib_stats.sh`);
* a convenience CI workflow that is triggered on adding the `test-ci` label and results in posting on the PR and on Zulip the report (`.github/workflows/mathlib_stats_label.yaml`).
The second CI workflow is intended to be removed just before/right after the PR is ready to merge.
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/113488-general)
[Thread for the reports](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Mathlib.20weekly.20change.20report)
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
CI
t-meta
|
338/0 |
.github/workflows/mathlib_stats.yaml,.github/workflows/mathlib_stats_label.yaml,scripts/count_decls.lean,scripts/mathlib_stats.sh |
4 |
10 |
['adomani', 'github-actions', 'grunweg', 'kim-em', 'kmill'] |
nobody |
404-73080 1 year ago |
679-4560 679 days ago |
57-4374 57 days |
| 5952 |
eric-wieser author:eric-wieser |
feat: add Qq wrappers for ToExpr |
---
- [ ] depends on: #6699 (to appease the linter)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-CI
t-meta
|
247/150 |
Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Fin/VecNotation.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Tactic/DeriveToExpr.lean,Mathlib/Tactic/FBinop.lean,Mathlib/Tactic/ToExpr.lean,Mathlib/Util/Qq.lean,test/DeriveToExpr.lean,test/vec_notation.lean |
9 |
7 |
['eric-wieser', 'gebner', 'grunweg', 'leanprover-community-mathlib4-bot'] |
nobody |
404-72948 1 year ago |
1011-29811 1011 days ago |
29-67421 29 days |
| 15483 |
FR-vdash-bot author:FR-vdash-bot |
chore(GroupTheory/Coset): reduce defeq abuse |
---
- [x] depends on: #15482
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
114/60 |
Mathlib/GroupTheory/Commensurable.lean,Mathlib/GroupTheory/Coset.lean,Mathlib/GroupTheory/QuotientGroup.lean,Mathlib/LinearAlgebra/Alternating/DomCoprod.lean,Mathlib/MeasureTheory/Measure/Haar/Quotient.lean,Mathlib/Topology/Algebra/Group/Compact.lean |
6 |
14 |
['astrainfinita', 'eric-wieser', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mattrobball', 'mergify', 'urkud'] |
nobody |
404-72908 1 year ago |
653-24838 653 days ago |
4-79214 4 days |
| 16594 |
FR-vdash-bot author:FR-vdash-bot |
perf: reorder `extends` and remove some instances in algebra hierarchy |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
label:t-algebra$ |
240/92 |
Mathlib.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Associated/Basic.lean,Mathlib/Algebra/BigOperators/Ring/List.lean,Mathlib/Algebra/Field/Defs.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/GroupWithZero/Prod.lean,Mathlib/Algebra/Homology/Embedding/Basic.lean,Mathlib/Algebra/Order/AddGroupWithTop.lean,Mathlib/Algebra/Order/Field/Canonical/Defs.lean,Mathlib/Algebra/Order/Field/Defs.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/Algebra/Ring/InjSurj.lean,Mathlib/Algebra/Ring/Rat.lean,Mathlib/Algebra/Ring/SumsOfSquares.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/InnerProductSpace/Symmetric.lean,Mathlib/CategoryTheory/Preadditive/FunctorCategory.lean,Mathlib/Data/Finset/NoncommProd.lean,Mathlib/Data/Int/Cast/Defs.lean,Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,Mathlib/FieldTheory/SplittingField/Construction.lean,Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/GroupTheory/Torsion.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/Order/Interval/Finset/Box.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/Coalgebra/Hom.lean,Mathlib/RingTheory/Ideal/Quotient.lean,Mathlib/RingTheory/Perfection.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean,Mathlib/Util/NoInstances.lean,scripts/noshake.json |
50 |
8 |
['astrainfinita', 'github-actions', 'grunweg', 'leanprover-bot'] |
nobody |
404-72684 1 year ago |
609-25831 609 days ago |
14-58900 14 days |
| 24106 |
FR-vdash-bot author:FR-vdash-bot |
refactor: unbundle algebra from `*CStarAlgebra` |
---
[](https://gitpod.io/from-referrer/)
- [ ] depends on: #24058
|
t-algebra
blocked-by-other-PR
merge-conflict
slow-typeclass-synthesis
t-analysis
label:t-algebra$ |
4702/4459 |
Archive/Hairer.lean,Archive/Imo/Imo1998Q2.lean,Counterexamples/LinearOrderWithPosMulPosEqZero.lean,Mathlib/Algebra/Algebra/RestrictScalars.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Algebra/Order/Field/Canonical.lean,Mathlib/Algebra/Order/Field/Rat.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Nonneg/Field.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/CPolynomial.lean,Mathlib/Analysis/Analytic/CPolynomialDef.lean,Mathlib/Analysis/Analytic/ChangeOrigin.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/Analytic/IteratedFDeriv.lean,Mathlib/Analysis/Analytic/Linear.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Analytic/Polynomial.lean,Mathlib/Analysis/Analytic/RadiusLiminf.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Analytic/Within.lean,Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean,Mathlib/Analysis/Asymptotics/Defs.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/Asymptotics/Theta.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/BoxIntegral/Integrability.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Measure.lean,Mathlib/Analysis/CStarAlgebra/ApproximateUnit.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/CStarAlgebra/Classes.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Integral.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/CStarAlgebra/ContinuousLinearMap.lean,Mathlib/Analysis/CStarAlgebra/ContinuousMap.lean,Mathlib/Analysis/CStarAlgebra/Exponential.lean,Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean,Mathlib/Analysis/CStarAlgebra/Hom.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean,Mathlib/Analysis/CStarAlgebra/Module/Defs.lean,Mathlib/Analysis/CStarAlgebra/Multiplier.lean,Mathlib/Analysis/CStarAlgebra/PositiveLinearMap.lean,Mathlib/Analysis/CStarAlgebra/SpecialFunctions/PosPart.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/CStarAlgebra/lpSpace.lean,Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean,Mathlib/Analysis/Calculus/AddTorsor/Coord.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/BumpFunction/Convolution.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean,Mathlib/Analysis/Calculus/BumpFunction/Normed.lean,Mathlib/Analysis/Calculus/Conformal/InnerProduct.lean,Mathlib/Analysis/Calculus/Conformal/NormedSpace.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/CPolynomial.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Calculus/ContDiff/FiniteDimension.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Analysis/Calculus/ContDiff/WithLp.lean,Mathlib/Analysis/Calculus/DSlope.lean,Mathlib/Analysis/Calculus/Deriv/Abs.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/AffineMap.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Comp.lean,Mathlib/Analysis/Calculus/Deriv/Inv.lean,Mathlib/Analysis/Calculus/Deriv/Inverse.lean,Mathlib/Analysis/Calculus/Deriv/Linear.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Calculus/Deriv/Pi.lean,Mathlib/Analysis/Calculus/Deriv/Polynomial.lean,Mathlib/Analysis/Calculus/Deriv/Pow.lean,Mathlib/Analysis/Calculus/Deriv/Prod.lean |
670 |
5 |
['astrainfinita', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
404-44414 1 year ago |
unknown |
0-0 0 seconds |
| 13780 |
adomani author:adomani |
deprecate injective |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
31/9 |
.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,Mathlib/Init/Function.lean,lake-manifest.json,lakefile.lean |
7 |
2 |
['github-actions', 'grunweg'] |
nobody |
404-40198 1 year ago |
unknown |
0-0 0 seconds |
| 19467 |
quangvdao author:quangvdao |
feat(MvPolynomial/Equiv): Add `MvPolynomial.finSuccEquivNth` |
This PR adds `MvPolynomial.finSuccEquivNth`, which is the algebra isomorphism between `MvPolynomial (Fin (n + 1)) R` and `Polynomial (MvPolynomial (Fin n) R)` by identifying the `p`-th variable as the indeterminate.
This generalizes `MvPolynomial.finSuccEquiv` which is only for the `0`-th variable. The supporting theorems for the `Nth` version are identical to the current version, with the `Nth` version deduced from the former.
These changes require new definitions in `Finsupp/Fin`, which is a separate PR.
Co-authored-by: Yaël Dillies ---
- [ ] depends on: #19315
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
label:t-algebra$ |
541/163 |
Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finsupp.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Fin/Tuple/Basic.lean,Mathlib/Data/Finsupp/Fin.lean,scripts/nolints_prime_decls.txt |
7 |
9 |
['acmepjz', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'quangvdao'] |
nobody |
402-77024 1 year ago |
546-10590 546 days ago |
0-790 13 minutes |
| 20313 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat(Data/Complex/Exponential): prove some useful results about the complex exponential. |
This PR proves two basic results about the complex exponential:
* `abs_exp_mul_I (x : ℂ) : abs (Complex.exp (I * x)) = Real.exp (-x.im)`
* `one_sub_rexp_re_le_abs_one_sub_cexp (x : ℂ) : 1 - Real.exp x.re ≤ Complex.abs (1 - Complex.exp x)`
Both results were proved as part of the sphere packing project. There's a chance they're too specific for mathlib, but I thought they were worth PRing anyway. Would it also be a good idea to tag `abs_exp_mul_I` with `simp`? Feedback/suggestions welcome.
Note: `one_sub_rexp_re_le_abs_one_sub_cexp` was proved by Bhavik Mehta @b-mehta
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
new-contributor
|
167/141 |
Mathlib.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/ERealExp.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev.lean,Mathlib/Data/Complex/Exponential/Defs.lean,Mathlib/Data/Complex/Exponential/Lemmas.lean,Mathlib/Data/Complex/ExponentialBounds.lean,Mathlib/Tactic/FunProp.lean,MathlibTest/Recall.lean,MathlibTest/positivity.lean |
10 |
12 |
['b-mehta', 'github-actions', 'kim-em', 'thefundamentaltheor3m', 'trivial1711'] |
nobody |
402-76977 1 year ago |
486-1824 486 days ago |
8-42257 8 days |
| 22698 |
Kiolt author:Kiolt |
feat: notation for whisker(Left/Right)Iso |
From Toric
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
toric
|
175/113 |
Mathlib/Algebra/Homology/Monoidal.lean,Mathlib/CategoryTheory/Bicategory/Adjunction/Basic.lean,Mathlib/CategoryTheory/Bicategory/Basic.lean,Mathlib/CategoryTheory/Bicategory/Coherence.lean,Mathlib/CategoryTheory/Bicategory/Extension.lean,Mathlib/CategoryTheory/Bicategory/Functor/Pseudofunctor.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Strong.lean,Mathlib/CategoryTheory/Bicategory/SingleObj.lean,Mathlib/CategoryTheory/Closed/Functor.lean,Mathlib/CategoryTheory/Closed/Ideal.lean,Mathlib/CategoryTheory/Enriched/FunctorCategory.lean,Mathlib/CategoryTheory/GradedObject/Monoidal.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/Braided/Reflection.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean,Mathlib/CategoryTheory/Monoidal/Preadditive.lean,Mathlib/CategoryTheory/Monoidal/Transport.lean,Mathlib/Tactic/CategoryTheory/BicategoricalComp.lean,Mathlib/Tactic/CategoryTheory/Bicategory/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Bicategory/Normalize.lean,Mathlib/Tactic/CategoryTheory/Bicategory/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/MonoidalComp.lean |
27 |
21 |
['Kiolt', 'YaelDillies', 'b-mehta', 'github-actions', 'leanprover-bot'] |
nobody |
402-76806 1 year ago |
439-9763 439 days ago |
3-29299 3 days |
| 20730 |
kuotsanhsu author:kuotsanhsu |
feat(LinearAlgebra/Matrix/SchurTriangulation): prove Schur decomposition/triangulation |
`Matrix.schur_triangulation` shows that a matrix over an algebraically closed field is unitarily similar to an upper triangular matrix
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
317/2 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Block.lean,Mathlib/LinearAlgebra/Matrix/SchurTriangulation.lean,Mathlib/Logic/Equiv/Basic.lean |
4 |
14 |
['eric-wieser', 'github-actions', 'kim-em', 'kuotsanhsu'] |
nobody |
402-73109 1 year ago |
482-64082 482 days ago |
13-56244 13 days |
| 19117 |
eric-wieser author:eric-wieser |
feat: derivatives of matrix operations |
These are finally possible to state after #19108.
However, a lot of bundled `ContinuousLinearMap`s are missing.
---
- [x] depends on: #19108
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-analysis
|
336/22 |
Mathlib.lean,Mathlib/Analysis/Calculus/Deriv/Matrix.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Matrix.lean |
4 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
401-9087 1 year ago |
unknown |
0-0 0 seconds |
| 12605 |
FR-vdash-bot author:FR-vdash-bot |
chore: attribute [induction_eliminator] |
Add attribute [induction_eliminator] to
`AdjoinRoot.induction_on`
`ENat.recTopCoe`
`ENNReal.recTopCoe`
`Finset.induction`
`Magma.AssocQuotient.induction_on`
`ManyOneDegree.ind_on`
`Module.Ray.ind` (and add `Orientation.ind` for `Orientation`, an abbrev of it. I wish that we do not need to add it in the future.)
`Multiset.induction`
`MvPolynomial.induction_on`
`OnePoint.rec`
`Opposite.rec'`
`Ordinal.limitRecOn`
`PartENat.casesOn`
`Polynomial.induction_on'`
`QuotientAddGroup.induction_on'` (and add `AddCircle.induction_on` for `AddCircle`, an abbrev of it. I wish that we do not need to add it in the future.)
`QuotientGroup.induction_on'` (doesn't actually work)
`Real.Angle.induction_on`
`SimplexCategory.rec`
`Trunc.induction_on`
---
- [x] depends on: #13476
- [x] depends on: #13264
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
|
354/342 |
Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/BigOperators/Group/Finset.lean,Mathlib/Algebra/BigOperators/Group/Multiset.lean,Mathlib/Algebra/BigOperators/Ring.lean,Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/GCDMonoid/Multiset.lean,Mathlib/Algebra/Group/Subgroup/Finite.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Lie/Weights/Basic.lean,Mathlib/Algebra/Module/BigOperators.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/Derivation.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/Degree/Lemmas.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/Eval.lean,Mathlib/Algebra/Polynomial/Induction.lean,Mathlib/Algebra/Polynomial/Module/Basic.lean,Mathlib/Algebra/Polynomial/PartialFractions.lean,Mathlib/Algebra/Polynomial/Smeval.lean,Mathlib/Algebra/Tropical/BigOperators.lean,Mathlib/AlgebraicTopology/DoldKan/NCompGamma.lean,Mathlib/AlgebraicTopology/SimplexCategory.lean,Mathlib/AlgebraicTopology/SplitSimplicialObject.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Asymptotics/Asymptotics.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Split.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/Deriv/Polynomial.lean,Mathlib/Analysis/Convex/Combination.lean,Mathlib/Analysis/Convex/Exposed.lean,Mathlib/Analysis/Fourier/AddCircle.lean,Mathlib/Analysis/NormedSpace/Exponential.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Complex/Circle.lean,Mathlib/Analysis/SpecialFunctions/Log/Base.lean,Mathlib/Analysis/SpecialFunctions/PolynomialExp.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/Combinatorics/Additive/PluenneckeRuzsa.lean,Mathlib/Combinatorics/SetFamily/Compression/Down.lean,Mathlib/Combinatorics/SetFamily/FourFunctions.lean,Mathlib/Combinatorics/SetFamily/HarrisKleitman.lean,Mathlib/Computability/Reduce.lean,Mathlib/Data/DFinsupp/Basic.lean,Mathlib/Data/DFinsupp/WellFounded.lean,Mathlib/Data/Finset/Basic.lean,Mathlib/Data/Finset/Fold.lean,Mathlib/Data/Finset/Lattice.lean,Mathlib/Data/Finset/NAry.lean,Mathlib/Data/Fintype/Sum.lean,Mathlib/Data/Multiset/Antidiagonal.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/Multiset/Bind.lean,Mathlib/Data/Multiset/Fold.lean,Mathlib/Data/Multiset/Lattice.lean,Mathlib/Data/Multiset/Pi.lean,Mathlib/Data/Multiset/Powerset.lean,Mathlib/Data/Multiset/Sections.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Set/Pointwise/BigOperators.lean,Mathlib/FieldTheory/IntermediateField.lean,Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,Mathlib/Geometry/Manifold/Algebra/Monoid.lean,Mathlib/Geometry/RingedSpace/Basic.lean,Mathlib/Geometry/RingedSpace/OpenImmersion.lean,Mathlib/Geometry/RingedSpace/PresheafedSpace/Gluing.lean,Mathlib/GroupTheory/Coset.lean,Mathlib/GroupTheory/NoncommPiCoprod.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/LinearAlgebra/Determinant.lean,Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/LinearAlgebra/FiniteDimensional.lean,Mathlib/LinearAlgebra/LinearIndependent.lean,Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Orientation.lean,Mathlib/LinearAlgebra/Projectivization/Basic.lean,Mathlib/LinearAlgebra/Ray.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/Logic/Hydra.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Basic.lean,Mathlib/MeasureTheory/Function/L1Space.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/MeasureTheory/Integral/Lebesgue.lean,Mathlib/MeasureTheory/Integral/Marginal.lean,Mathlib/MeasureTheory/Integral/MeanInequalities.lean,Mathlib/MeasureTheory/Integral/SetIntegral.lean,Mathlib/MeasureTheory/Measure/AddContent.lean |
140 |
14 |
['YaelDillies', 'astrainfinita', 'eric-wieser', 'github-actions', 'leanprover-community-mathlib4-bot', 'urkud'] |
nobody |
401-3702 1 year ago |
733-35273 733 days ago |
4-46495 4 days |
| 23859 |
urkud author:urkud |
feat(Topology/../Order/Field): generalize to `Semifield` |
.. from a linear ordered field to a linear ordered semifield---
- [ ] depends on: #23857
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
245/219 |
Mathlib/Algebra/Order/Group/Pointwise/Interval.lean,Mathlib/Analysis/BoxIntegral/Box/SubboxInduction.lean,Mathlib/Topology/Algebra/Order/Field.lean,Mathlib/Topology/Order/Basic.lean |
4 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
398-29525 1 year ago |
411-40166 411 days ago |
0-265 4 minutes |
| 24219 |
Paul-Lez author:Paul-Lez |
feat: linear independence of the tensor product of two linearly independent families |
This is still WIP (the proofs are a little too long, and some lemmas need to be moved to other files!)
From Toric
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
toric
label:t-algebra$ |
193/0 |
Mathlib/LinearAlgebra/LinearIndependent/Tprod.lean |
1 |
1 |
['github-actions'] |
nobody |
398-8957 1 year ago |
400-23858 400 days ago |
0-2221 37 minutes |
| 23810 |
b-reinke author:b-reinke |
chore(Order/Interval): generalize succ/pred lemmas to partial orders |
Many lemmas in `Mathlib/Order/Interval/Set/SuccPred.lean`and `Mathlib/Order/Interval/Finset/SuccPred.lean` also work for partial orders. They are generalized in this PR by introducing different sections for `PartialOrder` and `LinearOrder` assumptions in the respective files.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-order
|
231/89 |
Mathlib/Order/Interval/Finset/SuccPred.lean,Mathlib/Order/Interval/Set/SuccPred.lean |
2 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
396-6300 1 year ago |
396-6302 396 days ago |
16-29623 16 days |
| 24285 |
madvorak author:madvorak |
chore(Algebra/*-{Category,Homology}): remove unnecessary universe variables |
Discussions:
https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Call.20for.20help.3A.20technical.2F.20organisational.20debt/with/513620128
https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Algebra.20and.20.60Type*.60/with/513558902
https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Task.2026.3A.20Replace.20Type.20u.20by.20Type*.20wherever.20possible/with/513592993
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
542/916 |
Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Field.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/Algebra/Subalgebra/Tower.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Central/Basic.lean,Mathlib/Algebra/Central/Defs.lean,Mathlib/Algebra/Central/TensorProduct.lean,Mathlib/Algebra/CharP/Pi.lean,Mathlib/Algebra/CharP/Quotient.lean,Mathlib/Algebra/CharP/Subring.lean,Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Finsupp.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/Field/Basic.lean,Mathlib/Algebra/Field/Defs.lean,Mathlib/Algebra/Field/IsField.lean,Mathlib/Algebra/Field/MinimalAxioms.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/Field/Subfield/Defs.lean,Mathlib/Algebra/FreeNonUnitalNonAssocAlgebra.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Equiv/Finite.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Hom/End.lean,Mathlib/Algebra/Group/Hom/Instances.lean,Mathlib/Algebra/Group/Invertible/Basic.lean,Mathlib/Algebra/Group/Invertible/Defs.lean,Mathlib/Algebra/Group/Pi/Basic.lean,Mathlib/Algebra/Group/Pi/Lemmas.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean,Mathlib/Algebra/Group/TypeTags/Finite.lean,Mathlib/Algebra/Group/TypeTags/Hom.lean,Mathlib/Algebra/Group/Units/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/Algebra/Group/WithOne/Basic.lean,Mathlib/Algebra/Group/WithOne/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/Pi.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/GroupWithZero/Invertible.lean,Mathlib/Algebra/GroupWithZero/NeZero.lean,Mathlib/Algebra/Lie/Abelian.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Lie/CartanMatrix.lean,Mathlib/Algebra/Lie/CartanSubalgebra.lean,Mathlib/Algebra/Lie/Character.lean,Mathlib/Algebra/Lie/Classical.lean,Mathlib/Algebra/Lie/DirectSum.lean,Mathlib/Algebra/Lie/Free.lean,Mathlib/Algebra/Lie/Ideal.lean,Mathlib/Algebra/Lie/IdealOperations.lean,Mathlib/Algebra/Lie/Matrix.lean,Mathlib/Algebra/Lie/Nilpotent.lean,Mathlib/Algebra/Lie/NonUnitalNonAssocAlgebra.lean,Mathlib/Algebra/Lie/OfAssociative.lean,Mathlib/Algebra/Lie/Quotient.lean,Mathlib/Algebra/Lie/SkewAdjoint.lean,Mathlib/Algebra/Lie/Solvable.lean,Mathlib/Algebra/Lie/Subalgebra.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Lie/TensorProduct.lean,Mathlib/Algebra/Lie/UniversalEnveloping.lean,Mathlib/Algebra/Module/Basic.lean,Mathlib/Algebra/Module/CharacterModule.lean,Mathlib/Algebra/Module/DedekindDomain.lean,Mathlib/Algebra/Module/Defs.lean,Mathlib/Algebra/Module/End.lean,Mathlib/Algebra/Module/Equiv/Opposite.lean,Mathlib/Algebra/Module/Lattice.lean,Mathlib/Algebra/Module/LinearMap/Basic.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/Algebra/Module/MinimalAxioms.lean,Mathlib/Algebra/Module/NatInt.lean,Mathlib/Algebra/Module/Opposite.lean,Mathlib/Algebra/Module/Pi.lean,Mathlib/Algebra/Module/Presentation/Differentials.lean,Mathlib/Algebra/Module/Presentation/Tensor.lean,Mathlib/Algebra/Module/Rat.lean,Mathlib/Algebra/Module/RingHom.lean,Mathlib/Algebra/Module/Submodule/Basic.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MonoidAlgebra/Support.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/CommRing.lean,Mathlib/Algebra/MvPolynomial/Degrees.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean |
182 |
22 |
['erdOne', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'madvorak', 'mattrobball'] |
nobody |
395-81397 1 year ago |
395-81398 395 days ago |
2-11655 2 days |
| 14931 |
eric-wieser author:eric-wieser |
feat: volume of a simplex |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-euclidean-geometry
|
207/0 |
Mathlib/Geometry/Euclidean/Basic.lean,Mathlib/Geometry/Euclidean/Circumcenter.lean,Mathlib/Geometry/Euclidean/Volume.lean |
3 |
3 |
['eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
394-7454 1 year ago |
unknown |
0-0 0 seconds |
| 22583 |
imathwy author:imathwy |
feat: affinespace homeomorphism |
There exists a homeomorphism (a continuous bijection with a continuous inverse) between an affine subspace s of a vector space V over a field 𝕜 and its direction s.direction , given a chosen point z ∈ s .
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
64/2 |
Mathlib/Analysis/Normed/Group/AddTorsor.lean,Mathlib/LinearAlgebra/AffineSpace/ContinuousAffineEquiv.lean,Mathlib/Topology/Algebra/ConstMulAction.lean,Mathlib/Topology/Algebra/MulAction.lean |
4 |
6 |
['JovanGerb', 'eric-wieser', 'github-actions', 'grunweg'] |
nobody |
394-5172 1 year ago |
446-17193 446 days ago |
0-18122 5 hours |
| 24243 |
Timeroot author:Timeroot |
feat(Analysis/Calculus/FDeriv): Fderiv on torsors |
Experiment to see how this goes for now, see [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Upgrade.20.60fderiv.60.20to.20.60AddTorsor.60)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
|
539/447 |
Mathlib/Algebra/AddTorsor/Defs.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Prod.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Bilinear.lean,Mathlib/Analysis/Calculus/FDeriv/Equiv.lean,Mathlib/Analysis/Calculus/FDeriv/Linear.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Calculus/FDeriv/Mul.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Calculus/Gradient/Basic.lean,Mathlib/Analysis/Calculus/LineDeriv/Basic.lean,Mathlib/Analysis/Calculus/LocalExtr/Basic.lean,Mathlib/Analysis/Calculus/ParametricIntegral.lean,Mathlib/Analysis/Calculus/Rademacher.lean,Mathlib/Analysis/Calculus/TangentCone.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Complex/Periodic.lean,Mathlib/Analysis/Complex/RealDeriv.lean,Mathlib/Analysis/MellinTransform.lean,Mathlib/Analysis/Normed/Group/Uniform.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Analysis/SpecialFunctions/ExpDeriv.lean,Mathlib/Analysis/SpecialFunctions/Exponential.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean,Mathlib/Geometry/Manifold/IntegralCurve/Transform.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/Manifold/MFDeriv/Basic.lean,Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean,Mathlib/NumberTheory/EulerProduct/ExpLog.lean,Mathlib/NumberTheory/Harmonic/GammaDeriv.lean,Mathlib/NumberTheory/LSeries/Nonvanishing.lean,MathlibTest/Recall.lean |
37 |
3 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
392-74710 1 year ago |
unknown |
0-0 0 seconds |
| 23593 |
erdOne author:erdOne |
feat(AlgebraicGeometry): the tilde construction is functorial |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebraic-geometry
|
95/38 |
Mathlib/AlgebraicGeometry/Modules/Sheaf.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean |
2 |
4 |
['chrisflav', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
392-22368 1 year ago |
417-25382 417 days ago |
0-71091 19 hours |
| 21065 |
eric-wieser author:eric-wieser |
feat: generalize `tangentConeAt.lim_zero` to TVS |
... and then adjust the `variable`s down the rest of the file to make use of the generality.
There are two key lemmas that this does not generalize, which would probably unlock the rest of the file:
* `subset_tangentCone_prod_left` (and `_right`)
* `zero_mem_tangentCone`
---
- [ ] depends on: #20859
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-analysis
|
55/28 |
Mathlib/Analysis/Calculus/TangentCone.lean |
1 |
16 |
['ADedecker', 'eric-wieser', 'github-actions', 'j-loreaux', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'urkud'] |
nobody |
392-14772 1 year ago |
459-50847 459 days ago |
23-20072 23 days |
| 22721 |
grunweg author:grunweg |
chore(MeasureTheory/Function/LpSeminorm/Basic): generalise more results to enorm classes |
Done for the Carleson project.
---
- depends on #22708
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
carleson
t-measure-probability
|
134/10 |
Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean |
1 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
391-7440 1 year ago |
442-80206 442 days ago |
0-6 6 seconds |
| 14731 |
adomani author:adomani |
feat: the repeated typeclass assumption linter |
[#mathlib4 > recyclable variables @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/recyclable.20variables/near/451167963) also [#mathlib4 > Normed modules @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Normed.20modules/near/512242167)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-linter
large-import
|
178/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/DependentTypeclass.lean,MathlibTest/DependentTypeclass.lean |
5 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mattrobball'] |
nobody |
390-12679 1 year ago |
680-11424 680 days ago |
0-109 1 minute |
| 24549 |
grunweg author:grunweg |
feat: define embedded submanifolds, attempt 1 |
Not meant to be merged (I think a different design is better); opening this so I can find this more easily.
---
- [ ] depends on: #23040
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-differential-geometry
blocked-by-other-PR
|
1445/2 |
Mathlib.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Splits.lean,Mathlib/Geometry/Manifold/Diffeomorph.lean,Mathlib/Geometry/Manifold/EmbeddedSubmanifold.lean,Mathlib/Geometry/Manifold/IsImmersionEmbedding.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean,Mathlib/Geometry/Manifold/MSplits.lean,Mathlib/LinearAlgebra/Prod.lean |
8 |
2 |
['leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
387-37892 1 year ago |
388-20815 388 days ago |
0-1 1 second |
| 23921 |
alreadydone author:alreadydone |
Jyxu/projective trace |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
157/123 |
Mathlib/FieldTheory/CardinalEmb.lean,Mathlib/FieldTheory/Relrank.lean,Mathlib/LinearAlgebra/Contraction.lean,Mathlib/LinearAlgebra/Dual.lean,Mathlib/RingTheory/LocalProperties/Projective.lean |
5 |
1 |
['leanprover-community-bot-assistant'] |
nobody |
387-37724 1 year ago |
unknown |
0-0 0 seconds |
| 22809 |
b-reinke author:b-reinke |
feat: Category algebras and path algebras |
This PR defines the category algebra of a linear category and path algebras of quivers.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
t-category-theory
new-contributor
label:t-algebra$ |
218/0 |
Mathlib/Algebra/Ring/Assoc.lean,Mathlib/CategoryTheory/Linear/CategoryAlgebra.lean,Mathlib/Combinatorics/Quiver/PathAlgebra.lean,Mathlib/Data/DFinsupp/BigOperators.lean |
4 |
2 |
['b-reinke', 'github-actions'] |
nobody |
387-37548 1 year ago |
unknown |
0-0 0 seconds |
| 21252 |
ADedecker author:ADedecker |
feat: redefine uniformly convex normed spaces with filters instead of epsilons |
And conceptualize some proofs.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
t-algebra
label:t-algebra$ |
301/87 |
Mathlib/Analysis/Convex/Uniform.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Topology/Algebra/UniformGroup/Defs.lean,Mathlib/Topology/Algebra/UniformMulAction.lean |
6 |
1 |
['github-actions'] |
nobody |
387-37463 1 year ago |
unknown |
0-0 0 seconds |
| 19821 |
eric-wieser author:eric-wieser |
feat: add a Qq version of AtomM that groups by type |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
large-import
t-meta
|
332/30 |
Mathlib/Data/Ineq.lean,Mathlib/Tactic/Linarith/Datatypes.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm.lean,Mathlib/Tactic/Linarith/Preprocessing.lean,Mathlib/Util/AtomM.lean,Mathlib/Util/Qq.lean |
6 |
1 |
['github-actions'] |
nobody |
387-37276 1 year ago |
unknown |
0-0 0 seconds |
| 19120 |
hrmacbeth author:hrmacbeth |
feat: stop `ring`/`abel` from seeing algebraic operations inside `let`s |
This draft PR illustrates a feature I would like to see in core: a variant of `whnf` which allows particular kinds of reduction, such as zeta-delta reduction, to be turned off. Here it is used to make ring-normalization and abelian-group-normalization a bit more responsive to what (I think) users expect: these normalizations would no longer look inside user-defined lets to see algebraic operations in those expressions.
Note: In Lean/Mathlib 3, `ring` matched for algebraic operations on an algebraic expression `e` itself, not on `← whnfR e`. So mathlib3 `ring` didn't see algebraic operations inside `let`s -- but it also didn't see algebraic operations requiring beta-reduction (like `(fun t ↦ t + 1) x`) or see inside abbreviations.
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/239415-metaprogramming-.2F-tactics/topic/whnf.20variant.20which.20preserves.20let-bindings)
Update: fortuitously, it looks like the new core PR https://github.com/leanprover/lean4/pull/6053 will provide this feature!
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-core-PR
t-meta
|
137/15 |
Archive/Imo/Imo2006Q3.lean,Archive/Imo/Imo2008Q2.lean,Mathlib.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/SpecialFunctions/Gamma/BohrMollerup.lean,Mathlib/Analysis/SpecialFunctions/Integrals.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/Data/Real/Pi/Irrational.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaOdd.lean,Mathlib/NumberTheory/SumPrimeReciprocals.lean,Mathlib/RingTheory/WittVector/DiscreteValuationRing.lean,Mathlib/Tactic/Abel.lean,Mathlib/Tactic/Polyrith.lean,Mathlib/Tactic/Ring/Basic.lean,Mathlib/Tactic/Ring/RingNF.lean,Mathlib/Topology/MetricSpace/GromovHausdorff.lean,Mathlib/Util/WHNF.lean,MathlibTest/abel.lean,MathlibTest/ring.lean |
21 |
5 |
['JovanGerb', 'github-actions', 'grunweg', 'hrmacbeth'] |
nobody |
387-37256 1 year ago |
unknown |
0-0 0 seconds |
| 17069 |
yuma-mizuno author:yuma-mizuno |
chore(CategoryTheory/Functor/Basic): put `simp` at `Functor.id_comp` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
41/30 |
Mathlib/CategoryTheory/Adjunction/Mates.lean,Mathlib/CategoryTheory/Functor/Basic.lean,Mathlib/CategoryTheory/GuitartExact/VerticalComposition.lean,Mathlib/CategoryTheory/Limits/HasLimits.lean,Mathlib/CategoryTheory/Shift/CommShift.lean |
5 |
3 |
['github-actions', 'leanprover-bot', 'yuma-mizuno'] |
nobody |
387-37246 1 year ago |
unknown |
0-0 0 seconds |
| 14803 |
StevenClontz author:StevenClontz |
chore: use `Disjoint` nhd filters for all separation axioms |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
157/122 |
Mathlib/Topology/Separation.lean |
1 |
1 |
['github-actions'] |
nobody |
387-37230 1 year ago |
unknown |
0-0 0 seconds |
| 14675 |
adomani author:adomani |
dev: the repeated variable linter |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-linter
|
71/0 |
Mathlib/Tactic/Linter/Lint.lean |
1 |
1 |
['github-actions'] |
nobody |
387-37225 1 year ago |
682-23779 682 days ago |
0-8 8 seconds |
| 14330 |
Ruben-VandeVelde author:Ruben-VandeVelde |
chore: split Mathlib.Algebra.Star.Basic |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
|
446/331 |
Mathlib.lean,Mathlib/Algebra/Module/LinearMap/Star.lean,Mathlib/Algebra/Star/Basic.lean,Mathlib/Algebra/Star/BigOperators.lean,Mathlib/Algebra/Star/Defs.lean,Mathlib/Algebra/Star/Lemmas.lean,Mathlib/Algebra/Star/Order.lean,Mathlib/Algebra/Star/Pi.lean,Mathlib/Algebra/Star/Pointwise.lean,Mathlib/Algebra/Star/Rat.lean,Mathlib/Algebra/Star/Regular.lean,Mathlib/Algebra/Star/StarRingHom.lean,Mathlib/Analysis/NormedSpace/LinearIsometry.lean,Mathlib/Data/Complex/Basic.lean,scripts/noshake.json |
15 |
3 |
['github-actions', 'grunweg', 'j-loreaux'] |
nobody |
387-37185 1 year ago |
692-53530 692 days ago |
0-45204 12 hours |
| 14007 |
adomani author:adomani |
test: papercut linter working on all mathlib |
This PR is a testing ground for potential issues with the papercut linter #13999. It is not intended to be merged.
The linter is active on all of mathlib, to make sure that the linter does not throw errors, but only emits warnings!
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-linter
|
249/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/Papercut.lean,test/Papercut.lean |
5 |
1 |
['github-actions'] |
nobody |
387-37070 1 year ago |
unknown |
0-0 0 seconds |
| 20354 |
eric-wieser author:eric-wieser |
feat: generalize `ContinuousLinearMap.curry` to TVS |
Follow on from #10777
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
|
57/25 |
Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean |
1 |
3 |
['eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
387-37005 1 year ago |
unknown |
0-0 0 seconds |
| 8511 |
eric-wieser author:eric-wieser |
refactor(MeasureTheory/Measure/Haar/Basic): partially generalize to the affine case |
Without a `Mul` version of `AddTorsor`, this generalization can only go so far.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-measure-probability
|
52/46 |
Mathlib/MeasureTheory/Measure/Haar/Basic.lean |
1 |
0 |
[] |
nobody |
387-36816 1 year ago |
918-8496 918 days ago |
0-7 7 seconds |
| 7994 |
ericrbg author:ericrbg |
chore: generalize `LieSubalgebra.mem_map_submodule` |
---
Not sure if we should rename to something like `mem_map_iff_mem_map_submodule` or not.
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
t-algebra
label:t-algebra$ |
16/4 |
Mathlib/Algebra/Lie/SkewAdjoint.lean,Mathlib/Algebra/Lie/Subalgebra.lean |
2 |
3 |
['eric-wieser', 'ericrbg'] |
nobody |
387-36804 1 year ago |
940-31799 940 days ago |
0-1 1 second |
| 6317 |
eric-wieser author:eric-wieser |
refactor(Data/Finsupp/Defs): make Finsupp.single defeq to Pi.single |
By adding a `DecidableEq ι` argument to `Finsupp.single`, we remove the reference to `Classical.decEq ι` in the definition, which in turn means that when coerced to a function it is now defeq to `Pi.single`.
This also brings it in line with `DFinsupp.single`.
This does not go as far as making `Finsupp.single` computable.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-data
|
269/226 |
Mathlib/Algebra/BigOperators/Finsupp.lean,Mathlib/Data/Finsupp/AList.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Finsupp/Fintype.lean,Mathlib/Data/Finsupp/Indicator.lean,Mathlib/Data/Finsupp/Multiset.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Finsupp/ToDFinsupp.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/LinearAlgebra/Basis.lean,Mathlib/LinearAlgebra/Finsupp.lean |
12 |
0 |
[] |
nobody |
387-36798 1 year ago |
unknown |
0-0 0 seconds |
| 6277 |
jjaassoonn author:jjaassoonn |
Dimension theory |
Some results are
- The ring Krull dimension and the topological dimension of the prime spectrum of a ring are the same
- A field is zero-dimensional and a PID that is not a field is one dimensional
- An Artinian ring is zero-dimensional
- The Krull dimension of ring $R$ is equal to the supremum of heights of maximal ideals [00KG](https://stacks.math.columbia.edu/tag/00KG)
- two definitions of module length agree
- A module is finite length iff both artinian and noetherian
- length of module $M$ is equal to the sum of length of $N$ and length of $M / N$ where $N$ is a submodule of $M$.
- Noetherian ring has only finitely many minimal primes #9088
- In a zero dimensional ring, prime ideals are maximal
- Artinian rings has finitely many maximal ideals #9087
- zero-dimensional rings with finitely many prime ideals are products of its localizations: $R \cong \prod_{\mathfrak{p}}R_{\mathfrak{p}}$
- Let $M_0 \le ... \le M_n$, then $l(M_n/ M_0) = l(M_1/M_0) + l(M_2/M_1) + ... + l(M_n/M_{n-1})$ where $l$ denotes module length.
- If $f : R \to S$ is a ring homomorphism and $M$ an $S$-module, then $l_R(M) \le l_S(M)$, when $f$ is surjective then they are equal. (Note that this is expressed using `[Algebra R S]` and `RestrictScalars R S M`, instead of a literal ring hom)
- Artinian rings are noetherian ring of dimension 0.
- For 0-dimensional local ring, its maximal ideal is locally nilpotent
- In notherian ring, $I \le \sqrt{J}$ implies $I ^ n \le J$ for some $n$
---
- [x] depends on: #6309
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
3289/459 |
Mathlib.lean,Mathlib/Algebra/Module/Length.lean,Mathlib/Algebra/Module/Submodule/JordanHolder.lean,Mathlib/Algebra/PUnitInstances.lean,Mathlib/AlgebraicGeometry/PrimeSpectrum/ArtinianAndNoetherian.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Dedup.lean,Mathlib/Data/List/Nodup.lean,Mathlib/LinearAlgebra/Quotient.lean,Mathlib/Order/Cover.lean,Mathlib/Order/JordanHolder.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Order/ListOnPartialOrderTypes.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/RelSeries.lean,Mathlib/RingTheory/Artinian.lean,Mathlib/RingTheory/Finiteness.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Pi.lean,Mathlib/RingTheory/KrullDimension.lean,Mathlib/RingTheory/Noetherian.lean,Mathlib/RingTheory/SimpleModule.lean,Mathlib/Topology/KrullDimension.lean,Mathlib/Topology/Sheaves/SheafCondition/EqualizerProducts.lean |
24 |
11 |
['alreadydone', 'jjaassoonn', 'leanprover-community-mathlib4-bot'] |
nobody |
387-36793 1 year ago |
unknown |
0-0 0 seconds |
| 8536 |
jjaassoonn author:jjaassoonn |
characteristic predicate of tensor product |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
399/7 |
Mathlib/Algebra/Category/AlgebraCat/Monoidal.lean,Mathlib/LinearAlgebra/IsTensorProduct.lean,Mathlib/LinearAlgebra/TensorProduct.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean |
4 |
12 |
['alreadydone', 'eric-wieser', 'jjaassoonn'] |
nobody |
387-36746 1 year ago |
unknown |
0-0 0 seconds |
| 11524 |
mcdoll author:mcdoll |
refactor: Introduce type-class for SchwartzMap |
---
There are a lot of other refactors to do (`seminormAux` should have a nicer name and gobble up more theorems from `seminorm`), then one can prove `integrable` and friends with only `SchwartzMapClass`.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-analysis
|
139/137 |
Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/Fourier/PoissonSummation.lean,Mathlib/Topology/ContinuousFunction/ZeroAtInfty.lean |
3 |
0 |
[] |
nobody |
387-36712 1 year ago |
unknown |
0-0 0 seconds |
| 11003 |
thorimur author:thorimur |
chore: migrate to `tfae` block tactic |
Migrates to the `tfae` block tactic syntax, eliminating uses of `tfae_have` and `tfae_finish`.
---
- [ ] depends on: #11000
- [ ] depends on: #10991
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
blocked-by-other-PR
t-meta
|
1267/1081 |
Mathlib/Algebra/Exact.lean,Mathlib/Algebra/Homology/ShortComplex/ExactFunctor.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/NormedSpace.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/CategoryTheory/Abelian/Exact.lean,Mathlib/CategoryTheory/Bicategory/Kan/Adjunction.lean,Mathlib/FieldTheory/Galois.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/LinearAlgebra/Eigenspace/Zero.lean,Mathlib/MeasureTheory/Group/Action.lean,Mathlib/NumberTheory/FLT/Basic.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Order/Height.lean,Mathlib/Order/WellFoundedSet.lean,Mathlib/RingTheory/Bezout.lean,Mathlib/RingTheory/DiscreteValuationRing/TFAE.lean,Mathlib/RingTheory/Flat/EquationalCriterion.lean,Mathlib/RingTheory/Henselian.lean,Mathlib/RingTheory/LocalRing/RingHom/Basic.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/ValuationRing.lean,Mathlib/SetTheory/Ordinal/Topology.lean,Mathlib/Tactic/TFAE.lean,Mathlib/Topology/Algebra/Group/SubmonoidClosure.lean,Mathlib/Topology/Category/CompHaus/EffectiveEpi.lean,Mathlib/Topology/Category/Profinite/EffectiveEpi.lean,Mathlib/Topology/Category/Stonean/EffectiveEpi.lean,Mathlib/Topology/Inseparable.lean,Mathlib/Topology/LocallyClosed.lean,Mathlib/Topology/LocallyConstant/Basic.lean,Mathlib/Topology/NoetherianSpace.lean,Mathlib/Topology/Order/LeftRightNhds.lean,Mathlib/Topology/Separation.lean,Mathlib/Topology/UniformSpace/UniformConvergence.lean,scripts/noshake.json,test/tfae.lean |
42 |
2 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
387-36708 1 year ago |
615-84481 615 days ago |
3-60883 3 days |
| 9819 |
jjaassoonn author:jjaassoonn |
fg graded ring |
1. if $A$ is a noetherian graded ring, then $A_0$ is a noetherian subring of $A$ and $A$ is a finitely generated algebra over $A_0$, if $M$ is a finitely generated graded module over $A$, then each $M_n$ is a finitely generated module over
$A_0$.
2. Definition of additive functions over any abelian category: if $C$ is an abelian category, a function $f : C \to \mathbb Z$ is said to be additive, if $f(y) = f(x) + f(z)$ whenever $0\to x \to y \to z \to 0$ is exact. proved some basic properties such as $f(0) = 0$ and $f(x) = f(y)$ whenever $x \cong y$ and interaction of $f$ with longer exact sequences
3. The category of finitely generated module over noetherian ring is abelian
4. A proof of Hilbert-Serre theorem: the Poincare series is actually of the form $\frac{p}{\prod(1- X^i)}$ where $p$ is polynomial
The code works, but poorly written.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
6745/217 |
Mathlib.lean,Mathlib/Algebra/Category/FGModuleCat/Abelian.lean,Mathlib/Algebra/Category/FGModuleCat/Basic.lean,Mathlib/Algebra/Category/FGModuleCat/EpiMono.lean,Mathlib/Algebra/Category/FGModuleCat/Kernels.lean,Mathlib/Algebra/Category/FGModuleCat/Limits.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/HilbertSerre/AdditiveFunction.lean,Mathlib/Algebra/HilbertSerre/FiniteInstances.lean,Mathlib/Algebra/HilbertSerre/HilbertPolynomial.lean,Mathlib/Algebra/HilbertSerre/Theorem.lean,Mathlib/Algebra/Module/GradeZeroModule.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean,Mathlib/RingTheory/FiniteType.lean,Mathlib/RingTheory/Finiteness.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousIdeal.lean,Mathlib/RingTheory/GradedAlgebra/Noetherian.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean,Mathlib/RingTheory/GradedAlgebra/Subgrading.lean,Mathlib/RingTheory/Polynomial/Hilbert.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/WellKnown.lean |
25 |
2 |
['FMLJohn', 'github-actions'] |
nobody |
387-36694 1 year ago |
unknown |
0-0 0 seconds |
| 14348 |
eric-wieser author:eric-wieser |
perf: disable the `unusedVariables` linter for speed |
I doubt we want to merge this, but it shaves two minutes of the lint time.
---
[](https://gitpod.io/from-referrer/)
|
performance-hack |
1/0 |
lakefile.lean |
1 |
3 |
['eric-wieser', 'github-actions', 'leanprover-bot'] |
nobody |
387-36578 1 year ago |
unknown |
0-0 0 seconds |
| 13543 |
adomani author:adomani |
test: automatically undeprecate |
A test for `update_deprecations`. There are two files with deprecated declarations, but CI automatically fixes them, so that they pass the noisy tests (as well as passing fail-on-warning `lake build`).
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
|
345/4 |
.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/UpdateDeprecations.lean,Mathlib/test_depr.lean,Mathlib/test_depr_no_change.lean,lakefile.lean,scripts/update_deprecations.lean,test/UpdateDeprecations.lean |
12 |
0 |
[] |
nobody |
387-36545 1 year ago |
unknown |
0-0 0 seconds |
| 14932 |
eric-wieser author:eric-wieser |
chore: add nndist versions of lemmas |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
|
108/1 |
Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Geometry/Euclidean/Basic.lean |
2 |
1 |
['github-actions'] |
nobody |
387-36358 1 year ago |
unknown |
0-0 0 seconds |
| 18202 |
ADedecker author:ADedecker |
chore: refactor algebraic filter bases |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
t-algebra
label:t-algebra$ |
1086/1315 |
Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/Barrelled.lean,Mathlib/Analysis/LocallyConvex/WeakDual.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/Normed/Operator/WeakOperatorTopology.lean,Mathlib/FieldTheory/KrullTopology.lean,Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/Module/UniformConvergence.lean,Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/UniformFilterBasis.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean |
14 |
1 |
['github-actions'] |
nobody |
386-29029 1 year ago |
unknown |
0-0 0 seconds |
| 22488 |
smmercuri author:smmercuri |
fix: lower priority for `UniformSpace.Completion.instSMul` |
Following the introduction of the `WithVal` type synonym in #22055 the following instance takes a long time to synthesise in FLT, and times out in the default heartbeats
```lean
import Mathlib
namespace IsDedekindDomain.HeightOneSpectrum
variable (A K : Type*) [CommRing A] [Field K] [Algebra A K] [IsFractionRing A K]
[IsDedekindDomain A] (v : HeightOneSpectrum A)
#synth SMul (v.adicCompletionIntegers K) (v.adicCompletion K)
```
The issue is that `UniformSpace.Completion.instSMul (v.adicCompletionIntegers K) (v.adicCompletion K)` now fires during the start of instance search (because we now have `UniformSpace (WithVal (v.valuation K))` whereas previously this would be `UniformSpace K`, which was not automatic), and this takes a long time to fail (leading to ~1400 entries in the trace). The first few lines of the new trace is
```lean
[Meta.synthInstance] [5.512418] ✅️ SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▼
[] [0.000118] new goal SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000537] ✅️ apply UniformSpace.Completion.instSMul to SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.004411] ✅️ apply @WithVal.instSMul to SMul (↥(adicCompletionIntegers K v)) (WithVal (valuation K v)) ▶
[] [0.000765] ❌️ apply @GradedMonoid.GradeZero.smul to SMul (↥(adicCompletionIntegers K v)) K ▶
[] [0.000378] ✅️ apply @Algebra.toSMul to SMul (↥(adicCompletionIntegers K v)) K ▶
...
[] 1339 more entries... ▶
```
Lowering the priority of `UniformSpace.Completion.instSMul` fixes this particular issue, leading to a trace that matches that seen prior to the introduction of `WithVal`:
```lean
[Meta.synthInstance] [0.016405] ✅️ SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▼
[] [0.000119] new goal SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000491] ❌️ apply @GradedMonoid.GradeZero.smul to SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000403] ✅️ apply @Algebra.toSMul to SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000134] ❌️ apply inst✝⁴ to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000093] ❌️ apply inst✝⁵ to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000077] ❌️ apply inst✝⁷ to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000082] ❌️ apply inst✝⁹ to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000075] ❌️ apply inst✝¹² to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000220] ❌️ apply Algebra.id to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.001015] ✅️ apply @ValuationSubring.instAlgebraSubtypeMem to Algebra (↥(adicCompletionIntegers K v))
(adicCompletion K v) ▶
[resume] [0.000038] propagating Algebra (↥(adicCompletionIntegers K v))
(adicCompletion K
v) to subgoal Algebra (↥(adicCompletionIntegers K v))
(adicCompletion K v) of SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[check] [0.013358] ✅️ Algebra.toSMul
[] result Algebra.toSMul
```
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-topology
FLT
|
1/1 |
Mathlib/Topology/Algebra/UniformMulAction.lean |
1 |
10 |
['github-actions', 'leanprover-bot', 'smmercuri', 'urkud'] |
nobody |
386-20362 1 year ago |
392-48914 392 days ago |
55-70108 55 days |
| 15161 |
adomani author:adomani |
feat(Linter): flag `intros x y` which can be replaced by `intro x y` |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-linter
|
78/1 |
Mathlib/Tactic/Linter/Lint.lean,test/Lint.lean |
2 |
4 |
['adomani', 'github-actions', 'grunweg'] |
nobody |
385-77837 1 year ago |
unknown |
0-0 0 seconds |
| 15654 |
TpmKranz author:TpmKranz |
feat(Computability): language-preserving maps between NFA and RE |
Map REs to NFAs via Thompson's construction and NFAs to REs using GNFAs
Last chunk of #12648
---
- [ ] depends on: #15651
- [ ] depends on: #15649
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
new-contributor
t-computability
merge-conflict
awaiting-zulip
|
985/2 |
Mathlib.lean,Mathlib/Computability/GNFA.lean,Mathlib/Computability/Language.lean,Mathlib/Computability/NFA.lean,Mathlib/Computability/RegularExpressions.lean,Mathlib/Data/FinEnum/Option.lean,docs/references.bib |
7 |
3 |
['github-actions', 'leanprover-community-mathlib4-bot', 'meithecatte'] |
nobody |
384-70227 1 year ago |
654-7012 654 days ago |
0-179 2 minutes |
| 19315 |
quangvdao author:quangvdao |
feat(Data/Finsupp/Fin): Add `Finsupp` operations on `Fin` tuple |
This PR adds more analogues of operations on `Fin` tuples to the `Finsupp` setting. Before, there were only `Finsupp.cons` and `Finsupp.tail`. Now there are also `Finsupp.snoc`, `Finsupp.insertNth`, `Finsupp.init`, and `Finsupp.removeNth`. These all come with supporting lemmas.
I also removed the porting comment about `succAboveCases` in `Data/Fin/Basic`, and added a lemma about `succAbove` in `Data/Fin/Tuple/Basic`.
---
- [x] depends on: #20361
- [x] depends on: #20771
- [x] depends on: #20770
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-data
|
193/16 |
Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finsupp.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Data/Finsupp/Fin.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean,scripts/nolints_prime_decls.txt |
6 |
44 |
['YaelDillies', 'github-actions', 'j-loreaux', 'kbuzzard', 'mathlib4-dependent-issues-bot', 'quangvdao'] |
nobody |
383-72188 1 year ago |
461-10811 461 days ago |
43-80684 43 days |
| 19464 |
adomani author:adomani |
test: removed merge-conflict |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
CI
delegated
|
22/1 |
.github/workflows/PR_summary.yml,scripts/zulip_emoji_merge_delegate.py |
2 |
10 |
['adomani', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
382-83512 1 year ago |
unknown |
0-0 0 seconds |
| 24155 |
eric-wieser author:eric-wieser |
feat: add a "rw_proc" for fin vectors |
This seems a little nicer than an elaborator, since it means I can use the default elaboration rules to handle my first few variables.
Ideally there would be something like
```lean
rw_procQ {A : Type u} {B : A -> Type v} (a : A) (b : B a) : b = ?rhs => do
/-- Context:
u v : Level
A : Q(Type u)
B : Q($A -> Type v)
a : Q($A)
b : Q($B $a)
rhs : Q($B $a) -- metavariable to assign
|- MetaM Q($b = ?rhs)
-/
```
or
```lean
rw_proc {A : Type u} {B : A -> Type v} (a : A) (b : B a) : b = ?rhs => do
/-- Context:
u v : Level
A B a b : Expr
rhs : MVarId
|- MetaM Expr
-/
```
which would generate the code I wrote here
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
RFC
t-data
t-meta
|
27/2 |
Mathlib/Data/Fin/Tuple/Reflection.lean |
1 |
2 |
['github-actions', 'urkud'] |
nobody |
381-68068 1 year ago |
381-68068 381 days ago |
20-83091 20 days |
| 21276 |
GabinKolly author:GabinKolly |
feat(ModelTheory/Substructures): define equivalences between equal substructures |
Define first-order equivalences between equal substructures, and prove related properties.
---
This is some preparatory work for #18876
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-logic
|
62/0 |
Mathlib/ModelTheory/Substructures.lean |
1 |
19 |
['GabinKolly', 'YaelDillies', 'fpvandoorn', 'github-actions', 'grunweg'] |
nobody |
381-3862 1 year ago |
381-3862 381 days ago |
46-55730 46 days |
| 24008 |
meithecatte author:meithecatte |
chore(EpsilonNFA): replace manual lemmas with @[simps] |
---
[](https://gitpod.io/from-referrer/)
|
t-computability
awaiting-author
new-contributor
|
2/24 |
Mathlib/Computability/EpsilonNFA.lean |
1 |
2 |
['YaelDillies', 'github-actions', 'urkud'] |
nobody |
379-29406 1 year ago |
379-29406 379 days ago |
27-52316 27 days |
| 24642 |
grunweg author:grunweg |
WIP-feat: add layercake formula for ENNReal-valued functions |
Not much to see here yet; some significant amount of work remains.
---
- [ ] depends on: #24643
- [ ] depends on: #24640 (based on that PR for simplicity)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
carleson
t-analysis
|
189/24 |
Mathlib/Analysis/SpecialFunctions/Pow/Integral.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Integral/Layercake.lean |
4 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
378-5787 1 year ago |
unknown |
0-0 0 seconds |
| 21712 |
grunweg author:grunweg |
chore: generalise more lemmas to `ContinuousENorm` |
---
- [x] depends on: #21781 (minor drive-by clean-up)
- [x] depends on: #21670
- [x] depends on: #22708 (extracted from this)
- some parts depend on #21433 (or better: #22175); when the dependent PR has landed, I will re-assess whether to split these into a separate PR
[](https://gitpod.io/from-referrer/)
|
merge-conflict
carleson
awaiting-CI
t-measure-probability
|
76/31 |
Mathlib/Analysis/Normed/MulAction.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/ContinuousFunctions.lean |
4 |
5 |
['github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
377-27471 1 year ago |
unknown |
0-0 0 seconds |
| 21375 |
grunweg author:grunweg |
WIP: generalise lemmas to ENorm |
This work is part of (and a necessary pre-requisite for) the Carleson project.
---
[](https://gitpod.io/from-referrer/)
|
WIP
awaiting-CI
t-measure-probability
carleson
merge-conflict
|
471/221 |
Mathlib/Analysis/NormedSpace/IndicatorFunction.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Function/LpOrder.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/ChebyshevMarkov.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Trim.lean,Mathlib/MeasureTheory/Function/LpSpace.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/Probability/Independence/Integrable.lean |
13 |
2 |
['fpvandoorn', 'grunweg'] |
nobody |
377-21846 1 year ago |
unknown |
0-0 0 seconds |
| 24378 |
urkud author:urkud |
feat(Algebra/Order/Field/Basic): generalize lemmas |
... from linear ordered semifields to (commutative) groups with zero.
---
I'm going to do another round of generalizing today or tomorrow, so making it a draft PR for now.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
183/181 |
Archive/OxfordInvariants/Summer2021/Week3P1.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/CStarAlgebra/ApproximateUnit.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean,Mathlib/Analysis/Complex/AbelLimit.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/Analysis/Convex/SpecificFunctions/Basic.lean,Mathlib/Analysis/Convex/SpecificFunctions/Pow.lean,Mathlib/Analysis/Convex/StrictConvexSpace.lean,Mathlib/Analysis/Convex/Uniform.lean,Mathlib/Analysis/Convex/Visible.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/Normed/Field/Lemmas.lean,Mathlib/Analysis/Normed/Field/Ultra.lean,Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean,Mathlib/Analysis/NormedSpace/HomeomorphBall.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/NormedSpace.lean,Mathlib/Analysis/NormedSpace/Pointwise.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Analysis/SpecialFunctions/Log/Deriv.lean,Mathlib/Analysis/SpecialFunctions/MulExpNegMulSqIntegral.lean,Mathlib/Analysis/SpecialFunctions/SmoothTransition.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Bounds.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/Analysis/SpecificLimits/FloorPow.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean,Mathlib/Combinatorics/Schnirelmann.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Chunk.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Data/Nat/Cast/Order/Field.lean,Mathlib/Data/Real/Archimedean.lean,Mathlib/Data/Real/Cardinality.lean,Mathlib/Data/Real/Pi/Wallis.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/RightAngle.lean,Mathlib/Geometry/Euclidean/Sphere/Tangent.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/CircleIntegral.lean,Mathlib/MeasureTheory/Integral/MeanInequalities.lean,Mathlib/MeasureTheory/Integral/PeakFunction.lean,Mathlib/MeasureTheory/Measure/SeparableMeasure.lean,Mathlib/NumberTheory/Bertrand.lean,Mathlib/NumberTheory/ClassNumber/AdmissibleAbs.lean,Mathlib/NumberTheory/DiophantineApproximation/Basic.lean,Mathlib/NumberTheory/LSeries/Injectivity.lean,Mathlib/NumberTheory/LSeries/ZMod.lean,Mathlib/NumberTheory/NumberField/Discriminant/Basic.lean,Mathlib/NumberTheory/Padics/Hensel.lean,Mathlib/NumberTheory/Padics/MahlerBasis.lean,Mathlib/NumberTheory/Pell.lean,Mathlib/NumberTheory/Transcendental/Liouville/LiouvilleNumber.lean,Mathlib/Order/Filter/AtTopBot/Floor.lean,Mathlib/Order/Interval/Set/IsoIoo.lean,Mathlib/Probability/StrongLaw.lean,Mathlib/RingTheory/Perfection.lean,Mathlib/Topology/ContinuousMap/Polynomial.lean,Mathlib/Topology/Instances/AddCircle.lean,Mathlib/Topology/UrysohnsLemma.lean |
72 |
3 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
377-6176 1 year ago |
394-49128 394 days ago |
0-14 14 seconds |
| 24618 |
b-mehta author:b-mehta |
feat(Analysis): add Schur inequality and variants |
Add Schur inequality and some of its common variants.
TODO:
- [x] add reference to source: https://www.cip.ifi.lmu.de/~grinberg/VornicuS.pdf
- [ ] add other generalisations
- [ ] move some of the lemmas elsewhere
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
|
145/0 |
Mathlib/Analysis/Convex/Schur.lean |
1 |
16 |
['b-mehta', 'eric-wieser', 'github-actions'] |
nobody |
376-16939 1 year ago |
384-83341 384 days ago |
0-2 2 seconds |
| 15115 |
kkytola author:kkytola |
feat: Generalize assumptions in liminf and limsup results in ENNReals |
In a [review comment](https://github.com/leanprover-community/mathlib4/pull/13938#discussion_r1649744441) it was pointed out that results about liminf and limsup in ENNReal hold under milder assumptions. This PR does the generalization.
---
This PR is split off from #13938, where the review comment was made. The changes needed for the suggested generalization were of different kind than the simple PR's content, justifying a separate PR.
- [x] depends on: #13938
[](https://gitpod.io/from-referrer/)
|
t-order
merge-conflict
help-wanted
awaiting-author
t-topology
|
215/27 |
Mathlib/MeasureTheory/Measure/Portmanteau.lean,Mathlib/Order/LiminfLimsup.lean,Mathlib/Topology/Instances/ENNReal.lean |
3 |
8 |
['Ruben-VandeVelde', 'github-actions', 'grunweg', 'j-loreaux', 'kkytola', 'leanprover-community-mathlib4-bot'] |
nobody |
375-18181 1 year ago |
621-10999 621 days ago |
21-25493 21 days |
| 24957 |
eric-wieser author:eric-wieser |
feat: use ` binderNameHint` in sum_congr |
Zulip thread: [#new members > Choosing dummy variable inside summation @ 💬](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Choosing.20dummy.20variable.20inside.20summation/near/518492888)
Co-authored-by: Joachim Breitner
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
23/16 |
Mathlib/Algebra/BigOperators/Expect.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Data/Finset/Fold.lean,Mathlib/Data/Finset/Lattice/Fold.lean,Mathlib/Data/List/OfFn.lean,Mathlib/Data/Multiset/Count.lean,Mathlib/Data/Multiset/Filter.lean,Mathlib/Data/Multiset/MapFold.lean,Mathlib/Data/Option/Basic.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Sym/Basic.lean,Mathlib/Data/Sym/Sym2.lean |
13 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
374-16083 1 year ago |
374-17185 374 days ago |
0-424 7 minutes |
| 8495 |
jjaassoonn author:jjaassoonn |
feat : Tensor-Hom adjunction in the category of modules |
# Tensor-Hom adjunction
Let $R$ be a commutative ring and $S$ any ring. Let $X$ be an $(S,R)$-bimoule. Then the tensor functor $(X \otimes_R \cdot)$ is a functor from left $R$-modules to left $S$-modules; and the hom-functor $Hom_S(X, \cdot)$ is a functor from left $S$-modules to left $R$-modules. For another left $S$-module $Y$, the left $R$-module structure of $Hom_S(X, Y)$ is given by $s \cdot f := x \mapsto f(s \cdot x)$. These two functors are adjoint.. In particular we have that
```math
{\rm Hom}_{S}(X\otimes_R Y, Z) \cong {\rm Hom}_R (Y, {\rm Hom}_S (X, Z))
```
## Implementation notes
1. Why not use the `Mathlib/LinearAlgebra/TensorProduct/Tower.lean`
In our setting `X` is an `(R, S)` bimodule and `Y` an `R`-module and `Z` an `S`-module
so to use the `Tower` file, we need `S` to be an `R`-algebra which is a luxury we do not have.
But note that in `Tower` file, `curry` and `uncurry` are both tri-linear maps. So `Tower` file
allows interplay of 3 rings which is not allowed in this file.
2. We require `R` to be commutative but we never used anything commutative. This is because of tensor product requires commutativity, but thanks to @alreadydone, this assumption could be removed soon.
I think this PR should wait for Junyan's attempt on removing commutativity, so it is marked as draft and wip for now
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
awaiting-author
t-algebra
label:t-algebra$ |
214/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/TensorHomAdjunction.lean |
2 |
88 |
['alreadydone', 'bustercopley', 'eric-wieser', 'github-actions', 'jjaassoonn', 'kbuzzard', 'kim-em', 'leanprover-community-bot-assistant'] |
eric-wieser assignee:eric-wieser |
373-12717 1 year ago |
917-37072 917 days ago |
1-57685 1 day |
| 19284 |
adomani author:adomani |
test: commit a change only to the "master" CI build action |
This PR should fail CI, since the main CI build file is incompatible with the autogenerated ones.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
CI
|
3/3 |
.github/build.in.yml,.github/workflows/actionlint.yml |
2 |
12 |
['adomani', 'bryangingechen', 'github-actions', 'jcommelin', 'leanprover-community-bot-assistant'] |
bryangingechen assignee:bryangingechen |
371-44121 1 year ago |
490-17909 490 days ago |
61-913 61 days |
| 15254 |
yuma-mizuno author:yuma-mizuno |
feat(CategoryTheory/Monoidal): replace `Mon_` lemmas with `Mon_Class` lemmas |
We redefine algebras internal to monoidal categories, which were defined by full-bundled structures, in terms of semi-bundled type classes. The original full-bundled structure `X` is renamed to `X_Cat`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
3982/96 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Bimod_Class.lean,Mathlib/CategoryTheory/Monoidal/Bimon_.lean,Mathlib/CategoryTheory/Monoidal/Bimon_Class copy.lean,Mathlib/CategoryTheory/Monoidal/Bimon_Class.lean,Mathlib/CategoryTheory/Monoidal/Braided/Opposite.lean,Mathlib/CategoryTheory/Monoidal/CommMon_Class.lean,Mathlib/CategoryTheory/Monoidal/Comon_.lean,Mathlib/CategoryTheory/Monoidal/Comon_Class.lean,Mathlib/CategoryTheory/Monoidal/Internal/ModuleClass.lean,Mathlib/CategoryTheory/Monoidal/Mod_Class.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/Mon_Class.lean,Mathlib/CategoryTheory/Monoidal/mwe.lean |
14 |
6 |
['YaelDillies', 'github-actions', 'leanprover-community-bot-assistant', 'yuma-mizuno'] |
nobody |
367-69692 1 year ago |
unknown |
0-0 0 seconds |
| 23489 |
plp127 author:plp127 |
chore: fix recursors |
Replace motive with `motive` and other improvements. Will probably split this PR after fixing is done.
4013 recursors left
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
4255/172 |
Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/Free.lean,Mathlib/Algebra/FreeMonoid/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Lie/BaseChange.lean,Mathlib/Algebra/Lie/IdealOperations.lean,Mathlib/Algebra/Lie/TraceForm.lean,Mathlib/Algebra/Order/Rearrangement.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/SubboxInduction.lean,Mathlib/CategoryTheory/Quotient.lean,Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Fin/Tuple/Basic.lean,Mathlib/Data/Fin/Tuple/BubbleSortInduction.lean,Mathlib/Data/Fin/Tuple/NatAntidiagonal.lean,Mathlib/Data/FinEnum/Option.lean,Mathlib/Data/Finset/Max.lean,Mathlib/Data/Fintype/CardEmbedding.lean,Mathlib/Data/Fintype/Option.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/Data/Nat/BinaryRec.lean,Mathlib/Data/PFun.lean,Mathlib/Data/PFunctor/Multivariate/W.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Coprod/Basic.lean,Mathlib/GroupTheory/Coset/Defs.lean,Mathlib/GroupTheory/Coxeter/Basic.lean,Mathlib/LinearAlgebra/Span/Defs.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaEven.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaOdd.lean,Mathlib/Order/DirectedInverseSystem.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/SetTheory/Cardinal/Defs.lean,Mathlib/SetTheory/PGame/Algebra.lean,done.csv,print.lean,working.csv |
42 |
3 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
365-14010 1 year ago |
unknown |
0-0 0 seconds |
| 23349 |
BGuillemet author:BGuillemet |
feat: add LocallyLipschitzOn.lipschitzOnWith_of_isCompact and two small lemmas about Lipschitz functions |
Main feat (in Mathlib/Topology/EMetricSpace/Basic.lean): if a function `f` from an extended pseudometric space to a pseudometric space is locally Lipschitz on a compact subset `s`, then `f` is Lipschitz on `s`. The theorem is true only when the codomain of `f` is a pseudometric space, so it needs imports from Mathlib/Topology/MetricSpace.
Other small feat (in Mathlib/Analysis/Calculus/ContDiff/RCLike.lean): a function that is continuously differentiable on an open subset is locally Lipschitz on this subset.
---
- [ ] depends on: #22890
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
large-import
new-contributor
|
59/4 |
Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean |
2 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
PatrickMassot assignee:PatrickMassot |
363-1747 11 months ago |
363-1749 363 days ago |
35-30364 35 days |
| 12438 |
jjaassoonn author:jjaassoonn |
feat: some APIs for flat modules |
Need horseshoe lemma
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
1674/3 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Symmetric.lean,Mathlib/Algebra/Exact.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/CategoryTheory/Abelian/DiagramLemmas/Horseshoe.lean,Mathlib/CategoryTheory/Abelian/LeftDerived.lean,Mathlib/RingTheory/Flat/Basic.lean |
8 |
21 |
['erdOne', 'github-actions', 'jjaassoonn', 'joelriou'] |
nobody |
358-14373 11 months ago |
759-63644 759 days ago |
0-20 20 seconds |
| 17715 |
adomani author:adomani |
feat: the unusedVariableCommand linter |
This is still work-in-progress, but also help-wanted!
The linter reliably flags unused variables: so far, only `example`s fool it (and that is simply because I did not implement a fix, as there are very few `variable`s that are only used in `example`s in mathlib).
The work-in-progress part refers to the fact that the linter uses an `IO.Ref` to keep track of variables and this does not work well with editing the file. The linter works on a fresh parse of a file, but becomes out-of-sync with every edit.
The help-wanted is to ask for help to make mathlib compliant with the linter, by checking out this branch and PR-ing a few variable removals!
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Unused.20variables)
---
Known issues:
* automatic namespacing and `nonrec` may cause difficulty when the newly introduced declaration is preferred in the term, rather than the original one (see examples here
```bash
code -r -g ././././Mathlib/Analysis/SpecialFunctions/Arsinh.lean:183
code -r -g ././././Mathlib/Probability/Independence/Basic.lean:368
```
where, for instance, `ContinuousOn.arsinh` is used internally instead of `Real.arsinh`).
* `mutual` declarations confuse the linter
```bash
code -r -g ././././Mathlib/SetTheory/Lists.lean:313
```
* `code -r -g Mathlib/CategoryTheory/EffectiveEpi/Comp.lean:133:29`
* universe annotations confuse the linter:
```bash
code -r -g ././././Mathlib/Topology/Category/CompactlyGenerated.lean:53
code -r -g ././././Mathlib/AlgebraicTopology/CechNerve.lean:46
```
* `inductive`s confusing the linter
```bash
code -r -g ././././Mathlib/Deprecated/Subgroup.lean:389
code -r -g ././././Mathlib/FieldTheory/PerfectClosure.lean:55
```
* `def`s confusing the linter
```bash
code -r -g ././././Mathlib/Data/MLList/BestFirst.lean:104
```
* special typeclass assumptions
```code
code -r -g ././././Mathlib/RingTheory/WittVector/Truncated.lean:273
code -r -g ././././Mathlib/Topology/Category/Profinite/Product.lean:79
```
* not sure what is going on here:
```bash
code -r -g ././././Mathlib/RingTheory/WittVector/IsPoly.lean:95
code -r -g ././././Mathlib/Probability/Independence/Basic.lean:368
code -r -g ././././Mathlib/Analysis/Calculus/FDeriv/Star.lean:30
```
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
large-import
|
695/22 |
Mathlib.lean,Mathlib/Algebra/Group/Idempotent.lean,Mathlib/Algebra/GroupWithZero/Idempotent.lean,Mathlib/Data/Finite/Defs.lean,Mathlib/Data/Int/Cast/Field.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/Init.lean,Mathlib/MeasureTheory/Function/LpSpace/DomAct/Continuous.lean,Mathlib/NumberTheory/LSeries/PrimesInAP.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/Order/BoundedOrder/Lattice.lean,Mathlib/Order/BoundedOrder/Monotone.lean,Mathlib/Order/Monotone/Monovary.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/UnusedVariableCommand.lean,MathlibTest/UnusedVariableCommand.lean,lakefile.lean |
17 |
3 |
['github-actions', 'grunweg', 'leanprover-community-bot-assistant'] |
nobody |
356-9131 11 months ago |
588-60564 588 days ago |
0-92 1 minute |
| 25473 |
adomani author:adomani |
feat(CI): check that Mathlib files have lean or md extension |
Twice recently there have been files with an "intended" `.lean` extension in `Mathlib/`:
* #24942, ending in `;lean`;
* #25457, ending in `.Lean`.
`mk_all` does not add these files to `Mathlib.lean`, since they do not end in `.lean` and this later causes problems.
This CI step checks that all files in `Mathlib/` end with `.lean` or `.md`.
See #25474 for a test where the new step [correctly fails](https://github.com/leanprover-community/mathlib4/actions/runs/15464097783/job/43532018379?pr=25474).
---
[](https://gitpod.io/from-referrer/)
|
CI
delegated
|
10/0 |
.github/workflows/lint_and_suggest_pr.yml |
1 |
10 |
['adomani', 'bryangingechen', 'github-actions', 'grunweg', 'mathlib-bors'] |
nobody |
354-18314 11 months ago |
354-19205 354 days ago |
0-10326 2 hours |
| 16020 |
adomani author:adomani |
feat: compare PR `olean`s size with `master` |
Adds two CI steps:
* `print the sizes of the oleans` that prints the sizes of all the folders containing `Mathlib` `.olean`s;
* `compare oleans` that compares the sizes of the previous step with the corresponding sizes on `master`.
In the test runs, the two steps have taken at most 3 seconds combined (the first is virtually instantaneous, the second one depends on `curl` to find a job id and on `gh` to retrieve the logs of a previous CI run -- everything else appears to be negligible).
This hopefully helps finding out if some PR is bloating up the `.olean`s.
See [this Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Error.3A.20No.20space.20left.20on.20device/near/463792355) for a PR of mine that prompted this check.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
CI
|
120/0 |
.github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,scripts/olean_comparison.sh |
5 |
50 |
['Vtec234', 'YaelDillies', 'adomani', 'bryangingechen', 'github-actions', 'grunweg', 'kim-em', 'leanprover-community-bot-assistant', 'mattrobball'] |
nobody |
353-51754 11 months ago |
551-12776 551 days ago |
87-65841 87 days |
| 16062 |
adomani author:adomani |
Test/ci olean size |
Tests for oleans
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
awaiting-author
CI
|
114/0 |
.github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,scripts/olean_comparison.sh |
5 |
4 |
['Parcly-Taxel', 'adomani', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
353-51754 11 months ago |
641-26334 641 days ago |
0-16 16 seconds |
| 25507 |
eric-wieser author:eric-wieser |
chore(RingTheory/Valuation): golf using `Con` |
This has no particular motivation besides seeing if `Con` is a performant substitute.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
20/35 |
Mathlib/RingTheory/Valuation/ValuationRing.lean |
1 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
353-43233 11 months ago |
unknown |
0-0 0 seconds |
| 12799 |
jstoobysmith author:jstoobysmith |
feat(LinearAlgebra/UnitaryGroup): Add properties of Special Unitary Group |
Add properties of the special unitary group, mirroring the properties of found in Algebra/Star/Unitary.lean. In particular, I add an instance of `specialUnitaryGroup` as a `Group`, `Star`, `InvolutiveStar`, and `StarMul`.
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
t-algebra
new-contributor
merge-conflict
awaiting-author
label:t-algebra$ |
78/0 |
Mathlib/LinearAlgebra/UnitaryGroup.lean |
1 |
8 |
['chrisflav', 'jcommelin', 'leanprover-community-bot-assistant'] |
nobody |
352-60100 11 months ago |
736-1353 736 days ago |
9-22045 9 days |
| 23709 |
plp127 author:plp127 |
feat: `Nat.findFrom` |
This PR adds `Nat.findFrom`, which is like `Nat.find`, but starting from an arbitrary `k` instead of `0`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
190/47 |
Mathlib/Data/Nat/Find.lean |
1 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
352-25389 11 months ago |
414-77562 414 days ago |
0-943 15 minutes |
| 25340 |
dupuisf author:dupuisf |
chore(Analysis/Convex): move files pertaining to convex/concave functions to their own folder |
This PR creates a new folder under `Analysis/Convex` called `Analysis/Convex/Function`, which includes files that are mostly or entirely about convex/concave functions (as opposed to convex sets).
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-convex-geometry
|
4264/4155 |
Mathlib.lean,Mathlib/Analysis/Convex/Continuous.lean,Mathlib/Analysis/Convex/Deriv.lean,Mathlib/Analysis/Convex/Exposed.lean,Mathlib/Analysis/Convex/Extrema.lean,Mathlib/Analysis/Convex/Function.lean,Mathlib/Analysis/Convex/Function/Basic.lean,Mathlib/Analysis/Convex/Function/Continuous.lean,Mathlib/Analysis/Convex/Function/Deriv.lean,Mathlib/Analysis/Convex/Function/Extrema.lean,Mathlib/Analysis/Convex/Function/Integral.lean,Mathlib/Analysis/Convex/Function/Jensen.lean,Mathlib/Analysis/Convex/Function/Mul.lean,Mathlib/Analysis/Convex/Function/Piecewise.lean,Mathlib/Analysis/Convex/Function/Quasiconvex.lean,Mathlib/Analysis/Convex/Function/Slope.lean,Mathlib/Analysis/Convex/Function/Strong.lean,Mathlib/Analysis/Convex/Integral.lean,Mathlib/Analysis/Convex/Jensen.lean,Mathlib/Analysis/Convex/Mul.lean,Mathlib/Analysis/Convex/Piecewise.lean,Mathlib/Analysis/Convex/Quasiconvex.lean,Mathlib/Analysis/Convex/Slope.lean,Mathlib/Analysis/Convex/SpecificFunctions/Basic.lean,Mathlib/Analysis/Convex/SpecificFunctions/Deriv.lean,Mathlib/Analysis/Convex/Strong.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/Normed/Module/Convex.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/Log/NegMulLog.lean,Mathlib/Analysis/SpecialFunctions/Pochhammer.lean,Mathlib/MeasureTheory/Measure/Decomposition/IntegralRNDeriv.lean,Mathlib/NumberTheory/Harmonic/GammaDeriv.lean |
34 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
352-24574 11 months ago |
352-24576 352 days ago |
6-38644 6 days |
| 21734 |
adomani author:adomani |
fix(PR summary): checkout GITHUB_SHA |
This should make the version of the script that is used on PRs more stable.
Suggested by Eric Wieser on [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/messageFile.2Emd/near/498941855).
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
awaiting-author
CI
|
2/1 |
.github/workflows/PR_summary.yml |
1 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
351-41241 11 months ago |
467-77520 467 days ago |
0-6023 1 hour |
| 25579 |
JovanGerb author:JovanGerb |
feat(Order/Notation): only allow ⊔/⊓ for non-linear orders |
⊔/⊓ is the same as max/min. The difference is that it is meant to be used if and only if there is no linear order. This PR implements a check for one of the two directions.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
33/7 |
Mathlib/Order/Notation.lean |
1 |
1 |
['github-actions'] |
nobody |
351-26537 11 months ago |
351-55541 351 days ago |
0-8 8 seconds |
| 8949 |
sebzim4500 author:sebzim4500 |
Add `by_approx` tactic for proving real inequalities using rational approximation |
feat: Add `by_approx` tactic for proving real inequalities by finding rational approximations
---
```lean
example : |sqrt 2 - 1.414| < 0.001 := by by_approx
```
This is a work in progress, the code is messy and the tactic is often very slow. It also depends on some other PRs that haven't been merged yet.
It currently supports basic operations (`+`, `-`, `*`, `/`, `abs`) and has approximation extensions for `sqrt` and `exp`.
- [ ] depends on: #8167
- [x] depends on: #8832
[](https://gitpod.io/from-referrer/)
|
merge-conflict
modifies-tactic-syntax
t-meta
|
1670/3 |
Mathlib.lean,Mathlib/Data/Int/ModEq.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ByApprox.lean,Mathlib/Tactic/ByApprox/Basic.lean,Mathlib/Tactic/ByApprox/Core.lean,Mathlib/Tactic/ByApprox/Exp.lean,Mathlib/Tactic/ByApprox/Lemmas.lean,Mathlib/Tactic/ByApprox/Test.lean,Mathlib/Tactic/ByApprox/Util.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/GRW.lean,Mathlib/Tactic/GRW/Core.lean,Mathlib/Tactic/GRW/Lemmas.lean,Mathlib/Tactic/NormNum/NatFactorial.lean,test/ByApprox.lean,test/GRW.lean,test/norm_num_ext.lean |
18 |
1 |
['mathlib4-dependent-issues-bot'] |
nobody |
347-65288 11 months ago |
unknown |
0-0 0 seconds |
| 20334 |
miguelmarco author:miguelmarco |
feat: allow polyrith to use a local Singular/Sage install |
Try to call a local install of Singular (either standalone or inside Sage) to find the witness for polyrith before trying to call the online sage cell server.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
new-contributor
t-meta
|
171/48 |
Mathlib/Tactic/Polyrith.lean,scripts/polyrith_sage.py |
2 |
16 |
['eric-wieser', 'github-actions', 'hanwenzhu', 'kim-em', 'miguelmarco', 'mkoeppe'] |
nobody |
345-52653 11 months ago |
484-4234 484 days ago |
27-61498 27 days |
| 25911 |
BoltonBailey author:BoltonBailey |
make `a / b` simp normal form |
This PR continues the work from #25631.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25631 |
t-algebra label:t-algebra$ |
11/1 |
Mathlib/Algebra/Group/Defs.lean |
1 |
2 |
['BoltonBailey', 'github-actions'] |
nobody |
344-10002 11 months ago |
unknown |
0-0 0 seconds |
| 25912 |
BoltonBailey author:BoltonBailey |
feat: add simp lemmas for trig functions on `π * 2⁻¹` |
This PR adds a number of simp lemmas to reduce trig functions evaluated on `π * 2⁻¹`. This allows `simp` to reduce expressions such as `sin (π * (1 / 2))`
---
- [ ] depends on: #25911 [experiment with simp normal form]
Original PR: #24213 |
awaiting-author
blocked-by-other-PR
t-analysis
|
45/0 |
Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean |
1 |
3 |
['BoltonBailey', 'github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
344-8715 11 months ago |
344-9412 344 days ago |
0-136 2 minutes |
| 25918 |
BoltonBailey author:BoltonBailey |
feat: one time pad string diagram |
This PR continues the work from #10655.
Original PR: https://github.com/leanprover-community/mathlib4/pull/10655 |
|
159/0 |
MathlibTest/StringDiagram.lean |
1 |
2 |
['BoltonBailey', 'github-actions'] |
nobody |
344-8146 11 months ago |
unknown |
0-0 0 seconds |
| 23953 |
b-reinke author:b-reinke |
feat(Data/Matroid/Tutte): define the Tutte polynomial of a matroid |
This PR defines the Tutte polynomial of a matroid and shows basic properties.
- [x] depends on: #23926
- [ ] depends on #24336
- [ ] depends on: #23951
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-data
|
111/0 |
Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Data/Matroid/Tutte/Basic.lean,Mathlib/Data/Set/Image.lean |
3 |
7 |
['apnelson1', 'b-reinke', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
343-7733 11 months ago |
unknown |
0-0 0 seconds |
| 25921 |
BoltonBailey author:BoltonBailey |
feat: scripts to analyze overlap between namespaces |
This PR continues the work from #11385.
Original PR: https://github.com/leanprover-community/mathlib4/pull/11385 |
WIP
migrated-from-branch
t-meta
|
86/0 |
scripts/RecordNamespaces.lean,scripts/namespace-overlap.py |
2 |
1 |
['github-actions'] |
nobody |
341-82413 11 months ago |
341-82429 341 days ago |
2-11832 2 days |
| 18771 |
joelriou author:joelriou |
feat(LinearAlgebra/ExteriorPower): exterior powers of free modules are free |
Co-authored-by: sophie.morel@ens-lyon.fr
---
- [ ] depends on: #18662
- [x] depends on: #18534
- [x] depends on: #18651
- [x] depends on: #18590
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
blocked-by-other-PR
label:t-algebra$ |
1185/160 |
Mathlib.lean,Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/Sum/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Basis.lean,Mathlib/LinearAlgebra/ExteriorPower/Generators.lean,Mathlib/LinearAlgebra/ExteriorPower/Pairing.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Multilinear/TensorProduct.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Finite.lean,Mathlib/LinearAlgebra/PiTensorProduct/Generators.lean,Mathlib/LinearAlgebra/Span.lean,Mathlib/LinearAlgebra/TensorAlgebra/ToTensorPower.lean,Mathlib/LinearAlgebra/TensorPower/Basic.lean,Mathlib/LinearAlgebra/TensorPower/Pairing.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/RingTheory/PiTensorProduct.lean |
19 |
3 |
['alreadydone', 'github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
340-30870 11 months ago |
unknown |
0-0 0 seconds |
| 18441 |
ADedecker author:ADedecker |
refactor(AdicTopology): use new API for algebraic filter bases, and factor some code |
---
- [x] depends on: #18437
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
t-algebra
label:t-algebra$ |
847/159 |
Mathlib.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/FilterBasisNew.lean,Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/BasesNew.lean |
6 |
3 |
['ADedecker', 'github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
340-16315 11 months ago |
572-14214 572 days ago |
0-679 11 minutes |
| 18439 |
ADedecker author:ADedecker |
refactor: use new algebraic filter bases API in `FiniteAdeleRing` |
---
- [x] depends on: #18437
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
t-algebra
label:t-algebra$ |
699/21 |
Mathlib.lean,Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/FilterBasisNew.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/BasesNew.lean |
6 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
340-16313 11 months ago |
572-15857 572 days ago |
0-619 10 minutes |
| 18438 |
ADedecker author:ADedecker |
refactor: adapt `KrullTopology` to the new algebraic filter bases API |
---
- [x] depends on: #18437
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
t-algebra
label:t-algebra$ |
771/168 |
Mathlib.lean,Mathlib/FieldTheory/KrullTopology.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/FilterBasisNew.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/BasesNew.lean |
6 |
5 |
['ADedecker', 'AntoineChambert-Loir', 'github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
340-16312 11 months ago |
572-16499 572 days ago |
0-638 10 minutes |
| 26239 |
BoltonBailey author:BoltonBailey |
feat: add sample pre-commit git hook file |
This PR adds a sample pre-commit git hook file that runs `mk_all` and `lint-style`. The script provides instructions on how to activate these as git hooks. Installing these would be optional, but hopefully people who would install them would find it easier to avoid commits that immediately fail linters.
Discussion of hooks on [Zulip here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Automatic.20setup.20and.20distribution.20of.20git.20hooks/with/525103090).
Some thoughts:
- Perhaps it would be better, for speed, to attempt to avoid certain commands if the staged changes suggest they would be unnecessary.
- i.e. only run linters on files that have been updated / only run `mk_all` if a file has been added or deleted.
---
[](https://gitpod.io/from-referrer/)
|
WIP |
18/0 |
git_hooks/pre-commit |
1 |
1 |
['github-actions'] |
nobody |
338-74246 11 months ago |
338-74246 338 days ago |
0-1331 22 minutes |
| 13964 |
pechersky author:pechersky |
feat(Data/DigitExpansion): begin defining variant of reals without rationals |
Based on a de Bruijn 1976 paper.
This file is just the basic definition of a digit expansion. Will be followed up with further constructions.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
518/0 |
Mathlib.lean,Mathlib/Data/DigitExpansion/Defs.lean,docs/references.bib |
3 |
11 |
['eric-wieser', 'github-actions', 'kim-em', 'pechersky'] |
dupuisf assignee:dupuisf |
336-85003 11 months ago |
575-24819 575 days ago |
129-57999 129 days |
| 21450 |
eric-wieser author:eric-wieser |
feat: improve trace nodes for `positivity` |
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
25/7 |
Mathlib/Tactic/Positivity/Core.lean |
1 |
1 |
['github-actions'] |
nobody |
336-71025 11 months ago |
unknown |
0-0 0 seconds |
| 26327 |
eric-wieser author:eric-wieser |
chore: split the tests for positivity |
---
[](https://gitpod.io/from-referrer/)
|
|
528/2 |
MathlibTest/Positivity/basic.lean,MathlibTest/positivity.lean |
2 |
1 |
['github-actions'] |
nobody |
335-69042 11 months ago |
unknown |
0-0 0 seconds |
| 18662 |
joelriou author:joelriou |
feat(LinearAlgebra/ExteriorPower): generators of the exterior powers |
---
- [x] depends on: #18534
- [x] depends on: #18590
- [ ] depends on: #26464
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
blocked-by-other-PR
label:t-algebra$ |
818/158 |
Mathlib.lean,Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/Sum/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Generators.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Multilinear/TensorProduct.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Finite.lean,Mathlib/LinearAlgebra/PiTensorProduct/Generators.lean,Mathlib/LinearAlgebra/Span.lean,Mathlib/LinearAlgebra/TensorPower.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/RingTheory/PiTensorProduct.lean |
15 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
332-37325 10 months ago |
unknown |
0-0 0 seconds |
| 18735 |
joelriou author:joelriou |
feat(Algebra/Module): presentation of the exterior power |
Given a presentation of a `R`-module `M`, we obtain a presentation of `⋀[R]^n M`.
---
(Still one sorry left.)
- [ ] depends on: #18527
- [ ] depends on: #18432
- [ ] depends on: #26464
- [ ] depends on: #18534
- [ ] depends on: #18662
- [x] depends on: #18590
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
blocked-by-other-PR
label:t-algebra$ |
1856/157 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ExteriorPower.lean,Mathlib/Algebra/Module/Presentation/Basic.lean,Mathlib/Algebra/Module/Presentation/ExteriorPower.lean,Mathlib/Algebra/Module/Presentation/PiTensor.lean,Mathlib/Algebra/Module/Presentation/Tensor.lean,Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/Sum/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Generators.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Multilinear/TensorProduct.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Finite.lean,Mathlib/LinearAlgebra/PiTensorProduct/Generators.lean,Mathlib/LinearAlgebra/Span.lean,Mathlib/LinearAlgebra/TensorPower.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/RingTheory/PiTensorProduct.lean |
20 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
332-33299 10 months ago |
unknown |
0-0 0 seconds |
| 26581 |
nomeata author:nomeata |
ignore this: Lean pr testing 9124 |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
1723/1362 |
Archive/Arithcc.lean,Archive/Examples/Eisenstein.lean,Archive/Examples/IfNormalization/WithoutAesop.lean,Archive/Imo/Imo1972Q5.lean,Archive/Imo/Imo1975Q1.lean,Archive/Imo/Imo1987Q1.lean,Archive/Imo/Imo1994Q1.lean,Archive/Imo/Imo1998Q2.lean,Archive/Imo/Imo2006Q5.lean,Archive/Imo/Imo2008Q3.lean,Archive/Imo/Imo2024Q1.lean,Archive/Imo/Imo2024Q3.lean,Archive/Imo/Imo2024Q5.lean,Archive/MiuLanguage/DecisionNec.lean,Archive/MiuLanguage/DecisionSuf.lean,Archive/Sensitivity.lean,Archive/Wiedijk100Theorems/AbelRuffini.lean,Archive/Wiedijk100Theorems/AreaOfACircle.lean,Archive/Wiedijk100Theorems/AscendingDescendingSequences.lean,Archive/Wiedijk100Theorems/BallotProblem.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Archive/Wiedijk100Theorems/Partition.lean,Archive/Wiedijk100Theorems/PerfectNumbers.lean,Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Archive/ZagierTwoSquares.lean,Cache/Lean.lean,Counterexamples/AharoniKorman.lean,Counterexamples/CanonicallyOrderedCommSemiringTwoMul.lean,Counterexamples/CliffordAlgebraNotInjective.lean,Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Counterexamples/MapFloor.lean,Counterexamples/MonicNonRegular.lean,Counterexamples/Phillips.lean,Counterexamples/Pseudoelement.lean,Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean,Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/Algebra/Unitization.lean,Mathlib/Algebra/Algebra/ZMod.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/Category/ContinuousCohomology/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Homology.lean,Mathlib/Algebra/Category/MonCat/FilteredColimits.lean,Mathlib/Algebra/Category/Ring/Epi.lean,Mathlib/Algebra/Category/Ring/FinitePresentation.lean,Mathlib/Algebra/Category/Ring/Topology.lean,Mathlib/Algebra/CharP/Basic.lean,Mathlib/Algebra/CharP/Defs.lean,Mathlib/Algebra/Colimit/Module.lean,Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/Equiv/TransferInstance.lean,Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/Group/Action/Basic.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Finset/Scalar.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Lie/CartanExists.lean,Mathlib/Algebra/Lie/LieTheorem.lean,Mathlib/Algebra/Lie/Weights/Chain.lean,Mathlib/Algebra/Lie/Weights/RootSystem.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Module/Presentation/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MonoidAlgebra/ToDirectSum.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Eval.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/NoZeroSMulDivisors/Defs.lean,Mathlib/Algebra/Order/Antidiag/Pi.lean,Mathlib/Algebra/Order/CauSeq/Completion.lean,Mathlib/Algebra/Order/Field/Power.lean,Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean,Mathlib/Algebra/Polynomial/Bivariate.lean,Mathlib/Algebra/Polynomial/Degree/CardPowDegree.lean,Mathlib/Algebra/Polynomial/HasseDeriv.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Regular/Pi.lean,Mathlib/Algebra/Ring/Basic.lean,Mathlib/Algebra/Ring/CentroidHom.lean,Mathlib/Algebra/Ring/GrindInstances.lean,Mathlib/Algebra/Ring/Int/Defs.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean |
567 |
0 |
[] |
nobody |
328-14428 10 months ago |
unknown |
0-0 0 seconds |
| 15213 |
adomani author:adomani |
dev: add Mathlib.Tactic.Linter.ForallIntro |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-linter
large-import
|
608/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/ForallIntro.lean,MathlibTest/ForallIntro.lean |
5 |
5 |
['adomani', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant'] |
nobody |
324-52800 10 months ago |
unknown |
0-0 0 seconds |
| 17458 |
urkud author:urkud |
refactor(Algebra/Group): make `IsUnit` a typeclass |
Also change some lemmas to assume `[IsUnit _]` instead of `[Invertible _]`.
Motivated by potential non-defeq diamonds in #14986, see also [Zulip](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/Invertible.20and.20data)
I no longer plan to merge this PR, but I'm going to cherry-pick some changes to a new PR before closing this one.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-zulip
label:t-algebra$ |
82/72 |
Mathlib/Algebra/CharP/Invertible.lean,Mathlib/Algebra/Group/Invertible/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/Invertible.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Units.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Analysis/Normed/Ring/Units.lean,Mathlib/CategoryTheory/Linear/Basic.lean,Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/FieldTheory/Separable.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/GroupTheory/Submonoid/Inverses.lean,Mathlib/LinearAlgebra/AffineSpace/AffineEquiv.lean,Mathlib/LinearAlgebra/AffineSpace/Combination.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Contraction.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Inversion.lean,Mathlib/LinearAlgebra/CliffordAlgebra/SpinGroup.lean,Mathlib/LinearAlgebra/Eigenspace/Minpoly.lean,Mathlib/NumberTheory/MulChar/Basic.lean,Mathlib/RingTheory/Localization/NumDen.lean,Mathlib/RingTheory/Polynomial/Content.lean,Mathlib/RingTheory/Polynomial/GaussLemma.lean,Mathlib/RingTheory/Valuation/Basic.lean |
26 |
12 |
['MichaelStollBayreuth', 'acmepjz', 'eric-wieser', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'urkud'] |
nobody |
324-50576 10 months ago |
595-84619 595 days ago |
0-66650 18 hours |
| 22928 |
javra author:javra |
feat(CategoryTheory): infrastructure for inclusion morphisms into products in categories with 0-morphisms |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
52/14 |
Mathlib/CategoryTheory/Limits/Shapes/BinaryBiproducts.lean,Mathlib/CategoryTheory/Limits/Shapes/Biproducts.lean,Mathlib/CategoryTheory/Limits/Shapes/ZeroMorphisms.lean |
3 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
324-50070 10 months ago |
324-50071 324 days ago |
112-51866 112 days |
| 22952 |
eric-wieser author:eric-wieser |
refactor: reimplement `RingQuot` in terms of `RingCon.Quotient` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
157/184 |
Mathlib/Algebra/RingQuot.lean,Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/RingTheory/Congruence/Basic.lean,Mathlib/RingTheory/Congruence/Defs.lean |
4 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
324-50069 10 months ago |
unknown |
0-0 0 seconds |
| 24710 |
chrisflav author:chrisflav |
chore(Data/Set): `tsum` version of `Set.encard_iUnion_of_finite` for non-finite types |
As requested here: https://github.com/leanprover-community/mathlib4/pull/23849#discussion_r2081070200
---
- [ ] depends on: #23849
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
163/0 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Data/Set/Card/Arithmetic.lean,Mathlib/Data/Set/Card/InfiniteArithmetic.lean,Mathlib/Data/Set/Finite/Lattice.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean,Mathlib/Topology/Instances/ENat/Lemmas.lean |
7 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
324-49664 10 months ago |
324-49664 324 days ago |
1-80465 1 day |
| 24823 |
eric-wieser author:eric-wieser |
refactor: add `hom` lemmas for the `MonoidalCategory` structure on `ModuleCat` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
148/164 |
Mathlib/Algebra/Category/FGModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Adjunctions.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/Free.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Generator.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Monoidal.lean,Mathlib/CategoryTheory/Monoidal/Internal/Module.lean,Mathlib/RepresentationTheory/Coinvariants.lean,Mathlib/RepresentationTheory/Rep.lean |
11 |
21 |
['101damnations', 'YaelDillies', 'eric-wieser', 'github-actions', 'joelriou', 'kbuzzard', 'leanprover-community-bot-assistant'] |
101damnations assignee:101damnations |
324-49663 10 months ago |
324-49663 324 days ago |
37-56728 37 days |
| 25071 |
erdOne author:erdOne |
feat(EllipticCurve): basic API for singular cubics |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebraic-geometry
|
320/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Singular/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/VariableChange.lean |
3 |
35 |
['Multramate', 'acmepjz', 'erdOne', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
324-49417 10 months ago |
324-49418 324 days ago |
45-4165 45 days |
| 25197 |
eric-wieser author:eric-wieser |
feat: Finset.sum induction for tensor products. |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
large-import
label:t-algebra$ |
81/0 |
Mathlib/LinearAlgebra/TensorProduct/Basic.lean |
1 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
324-49415 10 months ago |
unknown |
0-0 0 seconds |
| 25218 |
kckennylau author:kckennylau |
feat(AlgebraicGeometry): Tate normal form of elliptic curves |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebraic-geometry
awaiting-zulip
new-contributor
|
291/26 |
Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/IsomOfJ.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Modular/TateNormalForm.lean,Mathlib/AlgebraicGeometry/EllipticCurve/NormalForms.lean,Mathlib/AlgebraicGeometry/EllipticCurve/VariableChange.lean |
5 |
31 |
['MichaelStollBayreuth', 'Multramate', 'acmepjz', 'github-actions', 'grunweg', 'kckennylau', 'leanprover-community-bot-assistant'] |
nobody |
324-49414 10 months ago |
357-24531 357 days ago |
6-47693 6 days |
| 25247 |
alreadydone author:alreadydone |
Projective contraction |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
160/31 |
Mathlib/Data/Finsupp/Defs.lean,Mathlib/LinearAlgebra/Contraction.lean,Mathlib/LinearAlgebra/Pi.lean,Mathlib/RingTheory/Finiteness/Finsupp.lean |
4 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
324-49411 10 months ago |
362-73186 362 days ago |
0-9 9 seconds |
| 25561 |
callesonne author:callesonne |
feat(Category/Grpd): define the bicategory of groupoids |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
|
179/25 |
Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/CategoryTheory/Bicategory/Functor/Pseudofunctor.lean,Mathlib/CategoryTheory/Bicategory/Functor/Strict.lean,Mathlib/CategoryTheory/Category/Cat.lean,Mathlib/CategoryTheory/Category/Grpd.lean |
6 |
6 |
['callesonne', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'robin-carlier'] |
nobody |
324-49399 10 months ago |
341-722 341 days ago |
10-55201 10 days |
| 25671 |
eric-wieser author:eric-wieser |
refactor: generalize `OreSet` to work for bimodules |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
large-import
|
243/256 |
Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/GroupTheory/OreLocalization/Basic.lean,Mathlib/GroupTheory/OreLocalization/OreSet.lean,Mathlib/RingTheory/OreLocalization/Ring.lean,Mathlib/RingTheory/TensorProduct/Nontrivial.lean |
6 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
324-49270 10 months ago |
unknown |
0-0 0 seconds |
| 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 |
324-49105 10 months ago |
324-49105 324 days ago |
18-21880 18 days |
| 26002 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Monoidal/Action): action of `Type` on categories with coproducts |
We show that if a category admits coproducts of size `w`, then `Type w` acts on the left on that category.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
213/0 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Action/ChosenTypeCopowers.lean |
2 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
324-49103 10 months ago |
unknown |
0-0 0 seconds |
| 26090 |
grunweg author:grunweg |
chore: make `finiteness` a default tactic |
Opening for discussion.
This PR continues the work from #25119. |
merge-conflict |
423/366 |
Archive/Wiedijk100Theorems/BallotProblem.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Asymptotics/ExpGrowth.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Convex/Integral.lean,Mathlib/Analysis/Fourier/AddCircle.lean,Mathlib/Analysis/Fourier/AddCircleMulti.lean,Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean,Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Lp/PiLp.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/ENNReal/Holder.lean,Mathlib/Data/ENNReal/Inv.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/Data/ENNReal/Real.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/InformationTheory/KullbackLeibler/Basic.lean,Mathlib/MeasureTheory/Covering/Besicovitch.lean,Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean,Mathlib/MeasureTheory/Function/ContinuousMapDense.lean,Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean,Mathlib/MeasureTheory/Function/Egorov.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,Mathlib/MeasureTheory/Function/L1Space/AEEqFun.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/ChebyshevMarkov.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Defs.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/Complete.lean,Mathlib/MeasureTheory/Function/LpSpace/Indicator.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Integral/MeanInequalities.lean,Mathlib/MeasureTheory/Integral/Prod.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean,Mathlib/MeasureTheory/Measure/Decomposition/IntegralRNDeriv.lean,Mathlib/MeasureTheory/Measure/Decomposition/Lebesgue.lean,Mathlib/MeasureTheory/Measure/Haar/Basic.lean,Mathlib/MeasureTheory/Measure/Haar/DistribChar.lean,Mathlib/MeasureTheory/Measure/Haar/Quotient.lean,Mathlib/MeasureTheory/Measure/Haar/Unique.lean,Mathlib/MeasureTheory/Measure/Lebesgue/EqHaar.lean,Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean,Mathlib/MeasureTheory/Measure/Real.lean,Mathlib/MeasureTheory/Measure/Restrict.lean,Mathlib/MeasureTheory/Measure/Tilted.lean,Mathlib/MeasureTheory/Measure/Typeclasses/Finite.lean,Mathlib/NumberTheory/NumberField/Discriminant/Basic.lean,Mathlib/Probability/BorelCantelli.lean,Mathlib/Probability/Independence/Conditional.lean,Mathlib/Probability/Integration.lean,Mathlib/Probability/Kernel/Composition/IntegralCompProd.lean,Mathlib/Probability/Kernel/Disintegration/CondCDF.lean,Mathlib/Probability/Kernel/Disintegration/Density.lean,Mathlib/Probability/Martingale/Convergence.lean,Mathlib/Probability/Martingale/OptionalStopping.lean,Mathlib/Probability/Moments/CovarianceBilin.lean,Mathlib/Probability/Moments/Tilted.lean,Mathlib/Probability/Moments/Variance.lean,Mathlib/Probability/UniformOn.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/Perfect.lean,scripts/noshake.json |
73 |
3 |
['github-actions', 'grunweg', 'leanprover-community-bot-assistant'] |
nobody |
324-47115 10 months ago |
324-47116 324 days ago |
16-56825 16 days |
| 26395 |
winstonyin author:winstonyin |
feat: $C^1$ vector fields on compact manifolds define global flows |
This PR continues the work from #22254.
Original PR: https://github.com/leanprover-community/mathlib4/pull/22254
Any $C^1$ vector field on a compact boundaryless manifold `M` defines a unique global flow `ℝ → M → M`.
- [ ] depends on: #26394
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-differential-geometry
blocked-by-other-PR
merge-conflict
|
841/406 |
Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Geometry/Manifold/IntegralCurve/Compact.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/Order/Filter/Prod.lean |
7 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'winstonyin'] |
nobody |
324-46966 10 months ago |
334-44413 334 days ago |
0-52 52 seconds |
| 26465 |
joelriou author:joelriou |
feat(Algebra/Module): presentation of the `PiTensorProduct` |
Given a presentation of a finite number of `R`-modules `M i`, we obtain a presentation of the module `⨂[R] i, M i`.
---
- [ ] depends on: #26464
This PR continues the work from #18527.
Original PR: https://github.com/leanprover-community/mathlib4/pull/18527 |
merge-conflict
file-removed
t-algebra
blocked-by-other-PR
label:t-algebra$ |
525/4 |
Mathlib.lean,Mathlib/Algebra/Module/Presentation/PiTensor.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/Set/ComplSingletonLift.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Finite.lean,Mathlib/LinearAlgebra/PiTensorProduct/Generators.lean,Mathlib/LinearAlgebra/TensorPower/Basic.lean,Mathlib/RingTheory/PiTensorProduct.lean,Mathlib/SetTheory/Cardinal/Finite.lean |
10 |
4 |
['github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
324-46836 10 months ago |
332-34403 332 days ago |
0-1271 21 minutes |
| 26467 |
joelriou author:joelriou |
feat(LinearAlgebra): the tensor product of a finite family of free modules is free |
---
- [ ] depends on: #26464
- [ ] depends on: #26465
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
blocked-by-other-PR
merge-conflict
file-removed
label:t-algebra$ |
607/7 |
Mathlib.lean,Mathlib/Algebra/Module/Presentation/Free.lean,Mathlib/Algebra/Module/Presentation/PiTensor.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/Set/ComplSingletonLift.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basis.lean,Mathlib/LinearAlgebra/PiTensorProduct/Finite.lean,Mathlib/LinearAlgebra/PiTensorProduct/Generators.lean,Mathlib/LinearAlgebra/TensorPower/Basic.lean,Mathlib/RingTheory/PiTensorProduct.lean,Mathlib/SetTheory/Cardinal/Finite.lean |
12 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
324-46834 10 months ago |
332-30262 332 days ago |
0-2 2 seconds |
| 20784 |
eric-wieser author:eric-wieser |
fix: prevent `exact?` recursing forever on `n = 55` |
Test case thanks to @llllvvuu:
```lean
import Mathlib.SetTheory.Ordinal.Basic
theorem natCast_inj {m n : ℕ} : (m : Ordinal) = n ↔ m = n := sorry
example (n : Nat) : n = 55 := by
exact?
```
This is surely a workaround for some unreported lean bug. The bug still exists for `n = 71` or higher, so we can still track down the bug after merging this patch.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
22/3 |
Mathlib/SetTheory/Ordinal/Basic.lean,MathlibTest/LibrarySearchRecDepth.lean |
2 |
15 |
['Command-Master', 'eric-wieser', 'github-actions', 'kbuzzard', 'kim-em', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mattrobball'] |
nobody |
324-18099 10 months ago |
461-76861 461 days ago |
32-73698 32 days |
| 26647 |
b-mehta author:b-mehta |
feat(Data/Sym/Sym2): lift commutative operations to sym2 |
While we have `Sym2.lift`, it's often useful to lift operations which are known to be commutative to the typeclass system. Indeed, the existing `Sym2.mul` witnesses this already. Thus, this PR can also be seen as generalising `Sym2.mul`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-data
|
48/28 |
Mathlib/Data/Sym/Sym2.lean,Mathlib/Data/Sym/Sym2/Finsupp.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/QuadraticForm/Basis.lean |
4 |
12 |
['b-mehta', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
322-52695 10 months ago |
322-71932 322 days ago |
3-71897 3 days |
| 26878 |
adomani author:adomani |
feat: declaration diff script in Lean |
Although, it is still text-based, the parsing of the output of `git diff` is now done in Lean.
The new script already performed better than the old one in a couple of situations:
* #26877
See [this comment](https://github.com/leanprover-community/mathlib4/pull/26847#issuecomment-3045308885)
* #26849
See [this comment](https://github.com/leanprover-community/mathlib4/pull/26849#issuecomment-3045092965)
---
This is still work in progress: the parsing should be more or less done, but I have not yet hooked this into the action workflow.
[](https://gitpod.io/from-referrer/)
|
|
497/0 |
scripts/DeclarationDiff_text_based.lean |
1 |
4 |
['adomani', 'bryangingechen', 'github-actions'] |
bryangingechen assignee:bryangingechen |
321-32626 10 months ago |
321-82577 321 days ago |
0-9 9 seconds |
| 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.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
18/0 |
Mathlib/Topology/StoneCech.lean |
1 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
321-30483 10 months ago |
321-30483 321 days ago |
20-8582 20 days |
| 25999 |
bjoernkjoshanssen author:bjoernkjoshanssen |
feat(Topology/Compactification): projective line over ℝ is homeomorphic to the one-point compactification of ℝ |
This PR continues the work from #18306.
Original PR: https://github.com/leanprover-community/mathlib4/pull/18306 |
merge-conflict
t-topology
|
920/0 |
Mathlib.lean,Mathlib/Topology/Compactification/OnePointHomeomorph.lean,Mathlib/Topology/Compactification/OnePointRealLemmas.lean |
3 |
3 |
['bjoernkjoshanssen', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
319-36557 10 months ago |
321-30485 321 days ago |
21-20473 21 days |
| 26994 |
Paul-Lez author:Paul-Lez |
feat(Topology/MetricSpace/Pseudo/Defs): add easy lemma about opens in topological spaces |
Split from #26992
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-topology
easy
|
9/0 |
Mathlib/Topology/MetricSpace/Pseudo/Defs.lean |
1 |
4 |
['Paul-Lez', 'github-actions', 'grunweg'] |
nobody |
318-11283 10 months ago |
318-12705 318 days ago |
0-11233 3 hours |
| 21039 |
eric-wieser author:eric-wieser |
hack: override `instance` to insert `fast_instance%` |
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
t-meta
|
40/4 |
Mathlib/Algebra/Equiv/TransferInstance.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/Tactic/FastInstance.lean,Mathlib/Topology/FiberBundle/Basic.lean |
4 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
317-79585 10 months ago |
unknown |
0-0 0 seconds |
| 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
---
[](https://gitpod.io/from-referrer/)
|
delegated
merge-conflict
|
238/171 |
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 |
59 |
11 |
['JovanGerb', 'bryangingechen', 'github-actions', 'leanprover-community-bot-assistant', 'linesthatinterlace', 'mathlib-bors', 'mathlib-merge-conflicts'] |
bryangingechen assignee:bryangingechen |
317-58290 10 months ago |
318-12889 318 days ago |
2-55296 2 days |
| 25611 |
erdOne author:erdOne |
chore(RingTheory): add `Algebra (FractionRing R) (FractionRing S)` |
Co-authored-by: Yakov Pechersky
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
152/108 |
Mathlib.lean,Mathlib/Algebra/Algebra/NonZeroDivisors.lean,Mathlib/NumberTheory/RamificationInertia/Galois.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/DedekindDomain/IntegralClosure.lean,Mathlib/RingTheory/Ideal/Norm/RelNorm.lean,Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean,Mathlib/RingTheory/Localization/FractionRing.lean,Mathlib/RingTheory/Localization/FractionRingAlgebra.lean,Mathlib/RingTheory/Localization/Integral.lean |
10 |
20 |
['alreadydone', 'erdOne', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'pechersky'] |
nobody |
314-19301 10 months ago |
348-14987 348 days ago |
2-26945 2 days |
| 18230 |
digama0 author:digama0 |
feat(Tactic/ScopedNS): extend `scoped[NS]` to more commands |
refactor `ScopedNS` to remove error prone repetitiveness and extend it to other commands such as `syntax`, `macro`, `elab`, etc.
Co-authored-by: Jon Eugster
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
|
201/26 |
Mathlib/Tactic/ScopedNS.lean,MathlibTest/scopedNS.lean |
2 |
7 |
['adomani', 'digama0', 'eric-wieser', 'github-actions', 'joneugster', 'kbuzzard'] |
nobody |
312-25762 10 months ago |
455-25267 455 days ago |
41-32344 41 days |
| 27330 |
BoltonBailey author:BoltonBailey |
feat(Tactic/Linter): add TacticMs for natural subtraction and division |
This is a (pair of) short tactic scripts I wrote for Project Numina while vetting formal formal statements (thanks to [this guide](https://github.com/mirefek/lean-tactic-programming-guide) for the primer). The scripts check for the presence of natural subtraction and natural division, which can often lead to mistakes.
Of course, Mathlib allows natural subtraction freely, so it's not obvious this could be made useful to Mathlib itself. Still, maybe it's of use to some other project, so I'll leave it here.
---
[](https://gitpod.io/from-referrer/)
|
t-linter |
66/0 |
Mathlib/Tactic/Linter/TruncatedNat.lean |
1 |
2 |
['BoltonBailey', 'eric-wieser', 'github-actions'] |
nobody |
307-56287 10 months ago |
unknown |
0-0 0 seconds |
| 25284 |
alreadydone author:alreadydone |
feat(LinearAlgebra/Contraction): bijectivity of `dualTensorHom` + generalize to CommSemiring |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
167/32 |
Mathlib/Data/Finsupp/Defs.lean,Mathlib/LinearAlgebra/Contraction.lean,Mathlib/LinearAlgebra/Pi.lean,Mathlib/LinearAlgebra/Trace.lean,Mathlib/RingTheory/Finiteness/Finsupp.lean |
5 |
16 |
['alreadydone', 'eric-wieser', 'github-actions', 'kckennylau', 'leanprover-bot', 'leanprover-community-bot-assistant'] |
nobody |
306-70241 10 months ago |
313-36008 313 days ago |
45-36570 45 days |
| 22749 |
joelriou author:joelriou |
feat(CategoryTheory/Abelian): the Gabriel-Popescu theorem as a localization with respect to a Serre class |
This PR introduces a structure `GabrielPopescuPackage C` which contains the information to say that the abelian category `C` is a localization of a category of modules with respect to a suitable Serre class.
---
- [x] depends on: #26033
- [ ] depends on: #26663
- [x] depends on: #22733
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
202/6 |
Mathlib.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ModuleEmbedding/GabrielPopescu.lean,Mathlib/CategoryTheory/Abelian/SerreClass/Bousfield.lean,Mathlib/CategoryTheory/Abelian/SerreClass/MorphismProperty.lean,Mathlib/CategoryTheory/ObjectProperty/ContainsZero.lean |
5 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
306-27127 10 months ago |
326-12928 326 days ago |
0-10614 2 hours |
| 26784 |
eric-wieser author:eric-wieser |
chore: remove suppress_compilation |
Still not exhaustive.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
0/37 |
Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/Colimit/Module.lean,Mathlib/Algebra/Colimit/Ring.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/Analysis/Normed/Algebra/Unitization.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean,Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Basic.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Bilinear.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Completeness.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Mul.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/NNNorm.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/NormedSpace.lean,Mathlib/CategoryTheory/Abelian/Projective/Resolution.lean,Mathlib/CategoryTheory/Monoidal/Internal/Module.lean |
18 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
305-85788 10 months ago |
unknown |
0-0 0 seconds |
| 26987 |
joelriou author:joelriou |
chore: deprecating module LinearAlgebra.PiTensorProduct |
---
- [ ] depends on: #26464
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
blocked-by-other-PR
label:t-algebra$ |
1209/934 |
Mathlib.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/SubtypeNeLift.lean,Mathlib/LinearAlgebra/PiTensorProduct.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Finite.lean,Mathlib/LinearAlgebra/PiTensorProduct/Generators.lean,Mathlib/LinearAlgebra/TensorPower/Basic.lean,Mathlib/RingTheory/PiTensorProduct.lean,Mathlib/SetTheory/Cardinal/Finite.lean |
10 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
305-28140 10 months ago |
318-29906 318 days ago |
0-2 2 seconds |
| 27435 |
callesonne author:callesonne |
feat(Normed/Algebra/Logarithm): add FormalMultilinearSeries of logarithm around `1` |
This PR adds the `FormalMultilinearSeries` corresponding to `log` around `1` (or rather, corresponding to `log(1 + x)`. For now, this PR just adds the definition, and copies over as many (easy) results as possible from the corresponding exponential file.
In a follow up PR, we will add a criterion for when the logarithm converges on the unit disk (based on the growth of the inverse norms of naturals in the given algebra), and show that this holds for any Q_p algebra.
This work has been done as part of the workshop "Formalizing Class Field Theory" in Oxford.
Since much of this is copy-pasting the Exponential file, I have kept Anatole Dedecker and Eric Wieser as coauthors.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
|
311/0 |
Mathlib/Analysis/Normed/Algebra/Logarithm.lean |
1 |
1 |
['github-actions'] |
nobody |
305-6995 10 months ago |
305-7333 305 days ago |
0-29 29 seconds |
| 24668 |
robertmaxton42 author:robertmaxton42 |
feat(LinearAlgebra): add inductive principle for the free product of algebras |
* Add `FreeProduct.inductionOn` and `.asPowers.inductionOn`.
- [ ] depends on: #24532
---
* `simp↓` on `empty_rel'_bot`: the LHS is indeed not in simp-normal form, but `simp` can't solve the full lemma (if only because `Function.onFun` isn't marked `@[simp]`) and the actual simp-normal form of `rel'` isn't terribly useful for humans. Since I do expect users to type `rel' R A` by hand, I claim this use of `simp↓` is justified.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
label:t-algebra$ |
205/9 |
Mathlib/LinearAlgebra/FreeProduct/Basic.lean |
1 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
303-57709 9 months ago |
382-69918 382 days ago |
0-229 3 minutes |
| 13973 |
digama0 author:digama0 |
feat: lake exe refactor, initial framework |
This is the initial framework code for `lake exe refactor`. To use it, you add your refactoring to `Refactor/Main.lean` (note, you have to actually write some metaprogramming code here for the refactoring itself), and the harness will run it on specified files and apply the generated edits.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
139/0 |
Refactor/Main.lean,lakefile.lean |
2 |
11 |
['adomani', 'digama0', 'eric-wieser', 'github-actions', 'joneugster', 'leanprover-community-bot-assistant', 'mattrobball'] |
nobody |
300-11300 9 months ago |
649-14753 649 days ago |
6-30547 6 days |
| 12181 |
adomani author:adomani |
lint also `let` vs `have` |
This PR is symmetrical to #12157: here we lint for non-`Type`-valued `let`s.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
|
797/544 |
Archive/Imo/Imo1962Q1.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Mathlib.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/BigOperators/Basic.lean,Mathlib/Algebra/DirectLimit.lean,Mathlib/Algebra/Group/UniqueProds.lean,Mathlib/Algebra/Homology/HomologicalComplexBiprod.lean,Mathlib/Algebra/Homology/HomologySequence.lean,Mathlib/Algebra/Homology/HomotopyCategory/Pretriangulated.lean,Mathlib/Algebra/Homology/Localization.lean,Mathlib/Algebra/Homology/ShortComplex/Abelian.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/LeftHomology.lean,Mathlib/Algebra/Homology/ShortComplex/Linear.lean,Mathlib/Algebra/Homology/ShortComplex/Preadditive.lean,Mathlib/Algebra/Homology/ShortComplex/PreservesHomology.lean,Mathlib/Algebra/Homology/ShortComplex/QuasiIso.lean,Mathlib/Algebra/Homology/ShortComplex/RightHomology.lean,Mathlib/Algebra/Lie/Engel.lean,Mathlib/Algebra/Lie/Killing.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Module/Submodule/Localization.lean,Mathlib/Algebra/Module/Zlattice.lean,Mathlib/Algebra/MonoidAlgebra/Grading.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiCompact.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiSeparated.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/Pullbacks.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/AlgebraicTopology/DoldKan/Homotopies.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/FDeriv/Comp.lean,Mathlib/Analysis/Calculus/Rademacher.lean,Mathlib/Analysis/Complex/Tietze.lean,Mathlib/Analysis/Convex/Between.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/InnerProductSpace/Rayleigh.lean,Mathlib/Analysis/NormedSpace/ContinuousAffineMap.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Completeness.lean,Mathlib/Analysis/NormedSpace/Spectrum.lean,Mathlib/Analysis/SpecialFunctions/Integrals.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/CategoryTheory/Abelian/Exact.lean,Mathlib/CategoryTheory/Abelian/Pseudoelements.lean,Mathlib/CategoryTheory/Abelian/Transfer.lean,Mathlib/CategoryTheory/Adhesive.lean,Mathlib/CategoryTheory/Closed/Cartesian.lean,Mathlib/CategoryTheory/Closed/Monoidal.lean,Mathlib/CategoryTheory/Comma/Arrow.lean,Mathlib/CategoryTheory/EffectiveEpi/Extensive.lean,Mathlib/CategoryTheory/Extensive.lean,Mathlib/CategoryTheory/Functor/EpiMono.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Galois/Basic.lean,Mathlib/CategoryTheory/Galois/Decomposition.lean,Mathlib/CategoryTheory/Galois/Examples.lean,Mathlib/CategoryTheory/GradedObject/Trifunctor.lean,Mathlib/CategoryTheory/IsConnected.lean,Mathlib/CategoryTheory/Limits/ConcreteCategory.lean,Mathlib/CategoryTheory/Limits/Constructions/EpiMono.lean,Mathlib/CategoryTheory/Limits/Constructions/WeaklyInitial.lean,Mathlib/CategoryTheory/Limits/FilteredColimitCommutesFiniteLimit.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/FintypeCat.lean,Mathlib/CategoryTheory/Limits/Fubini.lean,Mathlib/CategoryTheory/Limits/IsLimit.lean,Mathlib/CategoryTheory/Limits/Preserves/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/FiniteLimits.lean,Mathlib/CategoryTheory/Limits/VanKampen.lean,Mathlib/CategoryTheory/Localization/LocalizerMorphism.lean,Mathlib/CategoryTheory/Localization/Pi.lean,Mathlib/CategoryTheory/Localization/Resolution.lean,Mathlib/CategoryTheory/Monad/Monadicity.lean,Mathlib/CategoryTheory/PUnit.lean,Mathlib/CategoryTheory/Sites/Coherent/CoherentSheaves.lean,Mathlib/CategoryTheory/Sites/Coherent/RegularSheaves.lean,Mathlib/CategoryTheory/Sites/Coverage.lean,Mathlib/CategoryTheory/Sites/LeftExact.lean,Mathlib/CategoryTheory/Sites/Preserves.lean,Mathlib/CategoryTheory/Sites/Pullback.lean,Mathlib/CategoryTheory/Sites/Sheaf.lean,Mathlib/CategoryTheory/Triangulated/Pretriangulated.lean,Mathlib/Combinatorics/Colex.lean,Mathlib/Combinatorics/SetFamily/Kleitman.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity.lean |
271 |
0 |
[] |
nobody |
298-21616 9 months ago |
769-30550 769 days ago |
0-8 8 seconds |
| 10190 |
jstoobysmith author:jstoobysmith |
feat(AlgebraicTopology): add Augmented Simplex Category |
- Added the definition of the category FinLinOrd of finite linear ordered sets.
- Added the definition of the augmented simplex category `AugmentedSimplexCategory`, and showed it is the Skeleton of FinLinOrd.
- Showed that the category of augmented simplicial objects defined as a comma category is equivalent to the category of functors from `AugmentedSimplexCategory^\op`
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
WIP
t-category-theory
new-contributor
merge-conflict
|
720/0 |
Mathlib.lean,Mathlib/AlgebraicTopology/AugmentedSimplexCategory.lean,Mathlib/AlgebraicTopology/SimplicialObject.lean,Mathlib/Order/Category/FinLinOrd.lean |
4 |
5 |
['TwoFX', 'YaelDillies', 'joelriou', 'jstoobysmith'] |
nobody |
298-21554 9 months ago |
835-14480 835 days ago |
7-63253 7 days |
| 10084 |
alreadydone author:alreadydone |
draft for Van Kampen |
The part about the homotopy lifting property for covering maps has been extracted to #22649
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebraic-topology
|
91/24 |
Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/VanKampen.lean |
2 |
1 |
['leanprover-community-bot-assistant'] |
nobody |
298-21463 9 months ago |
unknown |
0-0 0 seconds |
| 25914 |
eric-wieser author:eric-wieser |
feat: add an ext lemma for the opposite category |
This powers up `aesop_cat`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
awaiting-CI
|
18/56 |
Mathlib/AlgebraicTopology/SimplicialObject/Basic.lean,Mathlib/CategoryTheory/Abelian/Opposite.lean,Mathlib/CategoryTheory/Category/RelCat.lean,Mathlib/CategoryTheory/GuitartExact/Opposite.lean,Mathlib/CategoryTheory/Limits/Opposites.lean,Mathlib/CategoryTheory/Limits/Shapes/Products.lean,Mathlib/CategoryTheory/Opposites.lean,Mathlib/CategoryTheory/Triangulated/Opposite/Functor.lean,Mathlib/Combinatorics/Quiver/Basic.lean |
9 |
7 |
['eric-wieser', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'robin-carlier'] |
nobody |
298-19197 9 months ago |
344-8613 344 days ago |
0-523 8 minutes |
| 20208 |
js2357 author:js2357 |
feat: Define the localization of a fractional ideal at a prime ideal |
Define the localization of a fractional ideal at a prime ideal, and prove some basic properties.
---
Alternate version of #14237 generalized to use `IsLocalization` and `IsFractionRing` rather than `Localization.AtPrime` and `FractionRing`
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
248/0 |
Mathlib.lean,Mathlib/RingTheory/FractionalIdeal/LocalizedAtPrime.lean |
2 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
298-4440 9 months ago |
517-71941 517 days ago |
0-21 21 seconds |
| 24260 |
plp127 author:plp127 |
feat(Topology): add API for Hereditarily Lindelof spaces |
Copies the stuff about Lindelof spaces to Hereditarily Lindelof spaces.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
|
222/42 |
Mathlib/Topology/Compactness/Lindelof.lean |
1 |
15 |
['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'urkud'] |
urkud assignee:urkud |
297-60412 9 months ago |
369-21052 369 days ago |
29-42365 29 days |
| 27181 |
ADedecker author:ADedecker |
chore: more conceptual definition of `ValuativeRel.ValueGroupWithZero` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
large-import
label:t-algebra$ |
685/467 |
Mathlib.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Congruence/GroupWithZero.lean,Mathlib/RingTheory/OreLocalization/Basic.lean,Mathlib/RingTheory/OreLocalization/NonZeroDivisors.lean,Mathlib/RingTheory/OreLocalization/Ring.lean,Mathlib/RingTheory/Valuation/ValuativeRel.lean |
9 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
nobody |
297-60401 9 months ago |
unknown |
0-0 0 seconds |
| 27813 |
javra author:javra |
feat: IMO 2025 Q1 |
---
[](https://gitpod.io/from-referrer/)
|
IMO
WIP
|
882/0 |
Archive/Imo/Imo2025Q1.lean |
1 |
1 |
['github-actions'] |
nobody |
297-22422 9 months ago |
297-23620 297 days ago |
0-14 14 seconds |
| 27608 |
RemyDegenne author:RemyDegenne |
feat(MeasureTheory): typeclasses for measures with finite moments |
WIP because it seems useful for #26291 but I want to investigate more.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-measure-probability
|
97/17 |
Mathlib.lean,Mathlib/MeasureTheory/Measure/Typeclasses/FiniteMoments.lean,Mathlib/Probability/Moments/CovarianceBilin.lean |
3 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
297-8877 9 months ago |
300-79141 300 days ago |
0-1 1 second |
| 20008 |
FLDutchmann author:FLDutchmann |
feat(NumberTheory): Selberg sieve |
This PR is a working draft of the full proof of the fundamental theorem of the Selberg sieve. I will create dependent PRs as I clean up the code.
This work was used in the first proof of the prime number theorem in PNT+.
---
- [x] depends on: #20025
- [x] depends on: #20026
- [x] depends on: #20779
- [x] depends on: #21880
- [ ] depends on: #27702
- [ ] depends on: #27707
[](https://gitpod.io/from-referrer/)
|
t-number-theory
blocked-by-other-PR
merge-conflict
awaiting-author
t-analysis
|
937/0 |
Mathlib/NumberTheory/SelbergSieve/Basic.lean,Mathlib/NumberTheory/SelbergSieve/Selberg.lean,docs/references.bib |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
297-6722 9 months ago |
unknown |
0-0 0 seconds |
| 27050 |
BoltonBailey author:BoltonBailey |
doc(Control/Monad/Cont): add docstrings |
Split of #25917. Adds docstrings to this file. Note: this documentation was written by asking Cursor (Claude 3.5 sonnet) to write the docstrings.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
LLM-generated
|
183/0 |
Mathlib/Control/Monad/Cont.lean |
1 |
9 |
['BoltonBailey', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
296-52832 9 months ago |
315-70515 315 days ago |
0-84441 23 hours |
| 27225 |
eric-wieser author:eric-wieser |
refactor(Tactic/Lift): deprecate the third with argument |
We already have a number of tactics where the clearing happens all the time, and you have to opt out with `id h`.
This also fixes a bug where `lift z to Nat with n hn this_is_unused` would silently ignore `this_is_unused`.
---
- [ ] depends on: #27223
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
merge-conflict
|
21/9 |
Mathlib/Tactic/Lift.lean,MathlibTest/lift.lean |
2 |
9 |
['JovanGerb', 'adomani', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'vihdzp'] |
JovanGerb assignee:JovanGerb |
295-56323 9 months ago |
296-16823 296 days ago |
15-64386 15 days |
| 26383 |
eric-wieser author:eric-wieser |
feat: `Real.sin_eq_one_iff` and similar |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
|
155/101 |
Mathlib/Algebra/ModEq.lean,Mathlib/Analysis/SpecialFunctions/Complex/Log.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Complex.lean |
5 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
294-28105 9 months ago |
unknown |
0-0 0 seconds |
| 25991 |
Multramate author:Multramate |
feat(AlgebraicGeometry/EllipticCurve): generalise nonsingular condition |
This PR continues the work from #25219.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25219 |
merge-conflict
t-algebraic-geometry
|
2127/1561 |
Mathlib/Algebra/Group/Units/Basic.lean,Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,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,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Span.lean |
15 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
294-27987 9 months ago |
324-49104 324 days ago |
18-21743 18 days |
| 25986 |
Multramate author:Multramate |
feat(AlgebraicGeometry/EllipticCurve/NumberField/Height): define heights on Weierstrass curves |
This PR continues the work from #15786.
Original PR: https://github.com/leanprover-community/mathlib4/pull/15786 |
t-algebraic-geometry |
650/0 |
Mathlib/AlgebraicGeometry/EllipticCurve/NumberField/Height.lean |
1 |
2 |
['Multramate', 'github-actions'] |
nobody |
294-27980 9 months ago |
unknown |
0-0 0 seconds |
| 25985 |
Multramate author:Multramate |
feat(AlgebraicGeometry/EllipticCurve/Jacobian): add equivalences between points and explicit WithZero types |
This PR continues the work from #14923.
Original PR: https://github.com/leanprover-community/mathlib4/pull/14923 |
merge-conflict
t-algebraic-geometry
|
262/66 |
Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean,scripts/style-exceptions.txt |
4 |
1 |
['Multramate'] |
nobody |
294-27975 9 months ago |
342-71193 342 days ago |
0-48 48 seconds |
| 25982 |
Multramate author:Multramate |
feat(AlgebraicGeometry/EllipticCurve/Group): compute range of baseChange |
This PR continues the work from #10142.
Original PR: https://github.com/leanprover-community/mathlib4/pull/10142 |
merge-conflict
t-algebraic-geometry
|
421/212 |
Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/Subgroup/Basic.lean,Mathlib/GroupTheory/Submonoid/Operations.lean |
6 |
1 |
['Multramate'] |
nobody |
294-27961 9 months ago |
342-71360 342 days ago |
0-51 51 seconds |
| 25362 |
adomani author:adomani |
feat: a linter for duplicated `open` |
This linter warns when a namespace is repeated.
It makes an effort to report only the problematic namespaces, but is not especially robust. The linter has some awareness of the `namespace` command, so
```lean
def X.Y := 0
open X
namespace X
open Y
```
will flag both `namespace X` and `open Y` as problematic, even though it was the `open `X` that became redundant with `namespace X`.
However, I will not have much time to devote to polishing this and there are quite a few exception in Mathlib before a better version could be seriously considered for adoption.
[#mathlib4 > linter requests @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/linter.20requests/near/520273644)
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
t-linter
large-import
|
191/94 |
Mathlib.lean,Mathlib/Algebra/Group/Pi/Basic.lean,Mathlib/Algebra/GroupWithZero/Pi.lean,Mathlib/Algebra/Order/Ring/InjSurj.lean,Mathlib/CategoryTheory/Functor/ReflectsIso/Basic.lean,Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Finite/Defs.lean,Mathlib/Data/Ineq.lean,Mathlib/Data/List/Lemmas.lean,Mathlib/Data/List/NatAntidiagonal.lean,Mathlib/Data/Nat/Choose/Basic.lean,Mathlib/Data/Nat/Prime/Basic.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Init.lean,Mathlib/Logic/Basic.lean,Mathlib/Logic/Embedding/Set.lean,Mathlib/Logic/Pairwise.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/Order/WithBot.lean,Mathlib/RingTheory/OreLocalization/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ApplyFun.lean,Mathlib/Tactic/Bound.lean,Mathlib/Tactic/CongrM.lean,Mathlib/Tactic/Find.lean,Mathlib/Tactic/Lift.lean,Mathlib/Tactic/Linarith/Oracle/FourierMotzkin.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/DupOpen.lean,Mathlib/Tactic/NormNum/PowMod.lean,Mathlib/Tactic/Recover.lean,Mathlib/Tactic/ReduceModChar.lean,Mathlib/Tactic/Widget/Calc.lean,Mathlib/Tactic/Widget/SelectInsertParamsClass.lean,Mathlib/Tactic/Widget/StringDiagram.lean,Mathlib/Topology/CWComplex/Abstract/Basic.lean,Mathlib/Topology/ContinuousMap/Interval.lean,Mathlib/Topology/Germ.lean,Mathlib/Topology/Homotopy/HSpaces.lean,Mathlib/Topology/Order/LowerUpperTopology.lean,Mathlib/Topology/Order/PartialSups.lean,Mathlib/Topology/Separation/DisjointCover.lean,Mathlib/Topology/Sheaves/Sheafify.lean,Mathlib/Util/CountHeartbeats.lean,MathlibTest/DupOpen.lean |
47 |
14 |
['adomani', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
nobody |
294-27750 9 months ago |
357-21532 357 days ago |
0-23 23 seconds |
| 25238 |
Hagb author:Hagb |
feat(Tactic/ComputeDegree): add support for scalar multiplication with different types |
It would be able to deal with `a • (X : R[X])` where `a : S` is in a different type `S` with `[SMulZeroClass S R]`.
---
- [x] depends on: #25237
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
new-contributor
|
17/5 |
Mathlib/Tactic/ComputeDegree.lean,MathlibTest/ComputeDegree.lean |
2 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
294-27745 9 months ago |
324-49414 324 days ago |
38-26044 38 days |
| 17145 |
Command-Master author:Command-Master |
feat(Archive/Ioi/Ioi2024Q2): a proof of the solution of question 2 from IOI 2024. |
---
- [x] depends on: #17189
- [x] depends on: #17190
- [x] depends on: #17191
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
IMO
large-import
|
1013/1 |
Archive.lean,Archive/Ioi/Ioi2024Q2.lean,Mathlib.lean,Mathlib/Combinatorics/Orbits.lean,Mathlib/Data/List/SplitLengths.lean,Mathlib/Data/List/Transpose.lean,Mathlib/Data/List/Zip.lean,Mathlib/Data/Vector/Basic.lean,Mathlib/Data/Vector/Defs.lean,Mathlib/Data/Vector/MapLemmas.lean,Mathlib/Data/Vector/Transpose.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/Logic/Function/Iterate.lean,Mathlib/Order/Antisymmetrization.lean,Mathlib/Order/Partition/Finpartition.lean |
15 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
294-27705 9 months ago |
unknown |
0-0 0 seconds |
| 27643 |
ADedecker author:ADedecker |
Ad bdd unif conv |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
111/26 |
Mathlib/Analysis/LocallyConvex/Bounded.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean,Mathlib/Topology/Algebra/Module/UniformConvergence.lean,Mathlib/Topology/Bornology/Absorbs.lean |
4 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
294-6464 9 months ago |
unknown |
0-0 0 seconds |
| 26385 |
jjdishere author:jjdishere |
feat(RingTheory/Perfectoid): define integral perfectoid rings |
This PR continues the work from #22331.
Original PR: https://github.com/leanprover-community/mathlib4/pull/22331 |
merge-conflict
WIP
t-ring-theory
|
1081/15 |
Mathlib.lean,Mathlib/Algebra/Ring/Aut.lean,Mathlib/FieldTheory/Perfect.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Quotient/Defs.lean,Mathlib/RingTheory/Ideal/Quotient/PowTransition.lean,Mathlib/RingTheory/Perfection.lean,Mathlib/RingTheory/Perfectoid/BDeRham.lean,Mathlib/RingTheory/Perfectoid/FontaineTheta.lean,Mathlib/RingTheory/Perfectoid/IntergalPerfectoid.lean,Mathlib/RingTheory/Perfectoid/Untilt.lean,Mathlib/RingTheory/WittVector/Basic.lean,Mathlib/RingTheory/WittVector/Complete.lean,Mathlib/RingTheory/WittVector/TeichmullerSeries.lean,docs/references.bib |
16 |
3 |
['github-actions', 'jjdishere', 'leanprover-community-bot-assistant'] |
nobody |
293-30172 9 months ago |
334-54595 334 days ago |
0-79 1 minute |
| 22909 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(RingTheory/Pure): pure submodules |
A submodule `N` of an `R`-module is *pure* if all maps `S ⊗[R] N → S ⊗[R] M`
deduced by base change from the injection of `N` into `M` are injective,
for all `R`-algebras `S`.
This is expressed by the class `Submodule.IsPure`.
For type theoretic reason, the definition of `Submodule.IsPure` only considers
algebras `S` in the same universe as `R`, but `Submodule.IsPure.baseChange_injective`
establishes the property for all universes.
* `Submodule.IsComplemented.isPure` : a complemented submodule is pure.
Co-authored with @mariainesdff
---
- [ ] depends on: #22898
- [ ] depends on: #22908
- [x] depends on: #22911
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
blocked-by-other-PR
|
592/3 |
Mathlib.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/RingTheory/Adjoin/FG.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Finiteness/Cardinality.lean,Mathlib/RingTheory/Finiteness/Small.lean,Mathlib/RingTheory/Pure.lean,Mathlib/RingTheory/Spectrum/Prime/RingHom.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/DirectLimit/FG.lean,Mathlib/RingTheory/TensorProduct/DirectLimit/Small.lean |
11 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
293-29887 9 months ago |
437-67093 437 days ago |
0-1047 17 minutes |
| 22908 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(RingTheory/Finiteness/Small): tensor product of the system of small submodules |
The directed limit of a tensor product for the directed system of small submodules.
Co-authored with @mariainesdff
---
- [ ] depends on: #22898
- [x] depends on: #22911
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
blocked-by-other-PR
|
624/2 |
Mathlib.lean,Mathlib/RingTheory/Adjoin/FG.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Finiteness/Cardinality.lean,Mathlib/RingTheory/Finiteness/Small.lean,Mathlib/RingTheory/Spectrum/Prime/RingHom.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/DirectLimit/FG.lean,Mathlib/RingTheory/TensorProduct/DirectLimit/Small.lean |
9 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
293-29839 9 months ago |
437-67092 437 days ago |
0-3552 59 minutes |
| 22898 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(RingTheory/TensorProduct/DirectLimit/FG): direct limit of finitely generated submodules and tensor product |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-ring-theory
|
399/0 |
Mathlib.lean,Mathlib/RingTheory/Adjoin/FG.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/DirectLimit/FG.lean |
5 |
9 |
['AntoineChambert-Loir', 'alreadydone', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
293-29832 9 months ago |
427-62333 427 days ago |
10-44390 10 days |
| 20431 |
erdOne author:erdOne |
feat(RingTheory/AdicCompletion): monotonicity of adic-completeness |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-ring-theory
|
206/16 |
Mathlib.lean,Mathlib/Algebra/Module/Submodule/Defs.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/RingTheory/AdicCompletion/Algebra.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/Mono.lean,Mathlib/RingTheory/Finiteness/Ideal.lean |
7 |
13 |
['chrisflav', 'erdOne', 'github-actions'] |
nobody |
293-29788 9 months ago |
469-28822 469 days ago |
32-78180 32 days |
| 19596 |
Command-Master author:Command-Master |
feat(RingTheory/Valuation/PrimeMultiplicity): define `WithTop ℤ`-valued prime multiplicity on a fraction field |
Moves:
- `multiplicity_addValuation` -> `AddValuation.multiplicity`
- `multiplicity_addValuation_apply` -> `AddValuation.multiplicity_apply`
---
- [x] depends on: #19149
- [x] depends on: #18786
- [x] depends on: #19122
- [x] depends on: #18954
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-ring-theory
large-import
|
101/37 |
Mathlib/Data/ENat/Basic.lean,Mathlib/RingTheory/DiscreteValuationRing/Basic.lean,Mathlib/RingTheory/Valuation/PrimeMultiplicity.lean |
3 |
11 |
['ChrisHughes24', 'Command-Master', 'Vierkantor', 'faenuccio', 'github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
293-29773 9 months ago |
498-5707 498 days ago |
8-2214 8 days |
| 18646 |
jxjwan author:jxjwan |
feat(RingTheory): isotypic components |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
new-contributor
|
308/0 |
Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/RingTheory/Isotypic.lean,Mathlib/RingTheory/SimpleModule.lean |
3 |
1 |
['github-actions'] |
nobody |
293-29766 9 months ago |
546-23359 546 days ago |
20-16585 20 days |
| 17246 |
pechersky author:pechersky |
feat(RingTheory/PrimaryDecomposition): PIR of Noetherian under jacobson condition |
---
- [x] depends on: #17634
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-ring-theory
|
653/1 |
Mathlib.lean,Mathlib/NumberTheory/KummerDedekind.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Jacobson/Ideal.lean,Mathlib/RingTheory/PrimaryDecomposition.lean,docs/references.bib |
8 |
8 |
['erdOne', 'github-actions', 'mathlib4-dependent-issues-bot'] |
erdOne assignee:erdOne |
293-29760 9 months ago |
554-51653 554 days ago |
13-7138 13 days |
| 21474 |
erdOne author:erdOne |
feat(RingTheory): replace `Ring.DimensionLEOne` with `Ring.KrullDimLE` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
large-import
|
285/170 |
Mathlib.lean,Mathlib/RingTheory/DedekindDomain/Basic.lean,Mathlib/RingTheory/DedekindDomain/Dvr.lean,Mathlib/RingTheory/DedekindDomain/Ideal.lean,Mathlib/RingTheory/DiscreteValuationRing/TFAE.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/KrullDimension/Basic.lean,Mathlib/RingTheory/KrullDimension/Localization.lean,Mathlib/RingTheory/KrullDimension/Polynomial.lean,Mathlib/RingTheory/KrullDimension/Quotient.lean,Mathlib/RingTheory/LocalRing/ResidueField/Basic.lean,Mathlib/RingTheory/Nilpotent/End.lean,Mathlib/RingTheory/Nilpotent/Lemmas.lean,Mathlib/RingTheory/PID/Quotient.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/Spectrum/Maximal/Localization.lean |
16 |
1 |
['github-actions'] |
nobody |
293-29704 9 months ago |
474-9741 474 days ago |
0-81 1 minute |
| 8195 |
newell author:newell |
feat: add a group presentation of the `DihedralGroup n` |
Add group presentation $\< a, b\ |\ a ^ 2 = 1, b ^ 2 = 1, (a * b) ^ n = 1 \>$ for `DihedralGroup n`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-group-theory
|
206/2 |
Mathlib/GroupTheory/PresentedGroup.lean,Mathlib/GroupTheory/SpecificGroups/Dihedral.lean |
2 |
6 |
['kbuzzard', 'newell'] |
nobody |
293-29503 9 months ago |
unknown |
0-0 0 seconds |
| 11212 |
shuxuezhuyi author:shuxuezhuyi |
feat(GroupTheory/GroupAction): instance `MulAction (β ⧸ H) α` |
We instance this naturally from `MulAction β α` when `H` is a normal subgroup and acts trivially on `α`.
We also instance `IsometricSMul (M ⧸ N) X` in this way.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-group-theory
large-import
|
53/1 |
Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/Topology/MetricSpace/IsometricSMul.lean |
2 |
6 |
['YaelDillies', 'github-actions', 'grunweg', 'urkud'] |
eric-wieser assignee:eric-wieser |
293-29496 9 months ago |
506-30835 506 days ago |
193-73871 193 days |
| 27886 |
alreadydone author:alreadydone |
feat(Algebra): (Mv)Polynomial.X is irreducible assuming NoZeroDivisors |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
178/66 |
Archive/Examples/Eisenstein.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Domain.lean,Mathlib/Algebra/Polynomial/Degree/Units.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/Combinatorics/Nullstellensatz.lean,Mathlib/RingTheory/MvPolynomial/Groebner.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder/DegLex.lean,Mathlib/RingTheory/Polynomial/Content.lean,Mathlib/RingTheory/Polynomial/Eisenstein/Criterion.lean |
13 |
3 |
['alreadydone', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
293-27231 9 months ago |
294-33972 294 days ago |
0-80025 22 hours |
| 26200 |
adomani author:adomani |
fix: add label when landrun fails |
Adds the `permission-denied` label on PRs that get blocked by landrun.
---
[](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 |
292-65098 9 months ago |
292-65098 292 days ago |
46-52210 46 days |
| 17469 |
joelriou author:joelriou |
feat(Algebra/ModuleCat/Differentials/Presheaf): the presheaf of relative differentials |
Given a functor `F : C ⥤ D`, presheaves of commutative rings `S`, `R` and a morphism `φ : S ⟶ F.op ⋙ R`, we show that derivations relative to `φ` are representable by a presheaf of `R`-modules.
This is obtained by reducing to the case of absolute differentials. The construction shall allow to deduce the presheaf version of the cokernel sequence $$f^\star \Omega_{Y/S} ⟶ \Omega_{X/S} ⟶ \Omega_{X/Y} ⟶ 0$$ when `f : X ⟶ Y` and `g : Y ⟶ S` are morphisms of schemes.
---
- [x] depends on: #17366
- [x] depends on: #19507
- [x] depends on: #17388
- [x] depends on: #16755
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
large-import
merge-conflict
t-algebraic-geometry
|
391/10 |
Mathlib/Algebra/Category/ModuleCat/Differentials/Presheaf.lean |
1 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
292-60447 9 months ago |
596-17154 596 days ago |
0-530 8 minutes |
| 25288 |
robertmaxton42 author:robertmaxton42 |
feat(CategoryTheory): generalize `Discrete` to arbitrary morphism levels |
Using an unused `let`, add an 'anchor' to the definition of `Discrete`, allowing it to carry a second universe level that is then used to permit discrete categories to live in any `Cat.{v, u}`. (This trick was borrowed from the code of `ULiftHom`.)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
38/32 |
Mathlib/CategoryTheory/Bicategory/LocallyDiscrete.lean,Mathlib/CategoryTheory/Discrete/Basic.lean,Mathlib/CategoryTheory/IsConnected.lean |
3 |
3 |
['github-actions', 'joelriou', 'mathlib4-merge-conflict-bot'] |
nobody |
292-49806 9 months ago |
361-39507 361 days ago |
0-15615 4 hours |
| 27709 |
kckennylau author:kckennylau |
chore: fix links |
---
See https://github.com/leanprover-community/mathlib4/pull/27545#discussion_r2238206933
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
269/256 |
Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/GCDMonoid/Multiset.lean,Mathlib/Algebra/Group/Even.lean,Mathlib/Algebra/Group/Pi/Basic.lean,Mathlib/Algebra/Group/Pi/Lemmas.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/Basic.lean,Mathlib/Algebra/Homology/Embedding/Basic.lean,Mathlib/Algebra/Module/Hom.lean,Mathlib/Algebra/Module/Submodule/Bilinear.lean,Mathlib/Algebra/Order/Field/Pi.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Algebra/Order/Hom/Basic.lean,Mathlib/Algebra/Order/Monovary.lean,Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean,Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean,Mathlib/Algebra/Ring/Basic.lean,Mathlib/Algebra/Squarefree/Basic.lean,Mathlib/Algebra/Star/BigOperators.lean,Mathlib/Algebra/Star/Free.lean,Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/Analysis/Analytic/RadiusLiminf.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/Calculus/Conformal/NormedSpace.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/Inv.lean,Mathlib/Analysis/Calculus/Deriv/Inverse.lean,Mathlib/Analysis/Calculus/Deriv/Linear.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Complex/Circle.lean,Mathlib/Analysis/Complex/OperatorNorm.lean,Mathlib/Analysis/Convex/Function.lean,Mathlib/Analysis/Convex/Jensen.lean,Mathlib/Analysis/Meromorphic/IsolatedZeros.lean,Mathlib/Analysis/Normed/Operator/BoundedLinearMaps.lean,Mathlib/Analysis/SpecialFunctions/Exponential.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Bounds.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean,Mathlib/CategoryTheory/Abelian/Opposite.lean,Mathlib/CategoryTheory/Adjunction/Opposites.lean,Mathlib/CategoryTheory/Bicategory/Functor/Pseudofunctor.lean,Mathlib/CategoryTheory/Closed/Monoidal.lean,Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean,Mathlib/CategoryTheory/Localization/Equivalence.lean,Mathlib/CategoryTheory/Localization/Trifunctor.lean,Mathlib/CategoryTheory/ObjectProperty/Basic.lean,Mathlib/CategoryTheory/Sites/Coherent/SheafComparison.lean,Mathlib/Combinatorics/Colex.lean,Mathlib/Combinatorics/Hall/Finite.lean,Mathlib/Combinatorics/Pigeonhole.lean,Mathlib/Combinatorics/Quiver/Covering.lean,Mathlib/Combinatorics/Quiver/Path.lean,Mathlib/Control/LawfulFix.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Data/Fin/Pigeonhole.lean,Mathlib/Data/FinEnum/Option.lean,Mathlib/Data/Finset/Filter.lean,Mathlib/Data/Finsupp/Fin.lean,Mathlib/Data/Fintype/BigOperators.lean,Mathlib/Data/Fintype/Defs.lean,Mathlib/Data/Int/Basic.lean,Mathlib/Data/Int/Cast/Basic.lean,Mathlib/Data/Int/Cast/Lemmas.lean,Mathlib/Data/Int/Lemmas.lean,Mathlib/Data/Int/Order/Lemmas.lean,Mathlib/Data/Int/Range.lean,Mathlib/Data/List/Chain.lean,Mathlib/Data/List/Dedup.lean,Mathlib/Data/List/Destutter.lean,Mathlib/Data/List/Forall2.lean,Mathlib/Data/List/Lattice.lean,Mathlib/Data/List/Lemmas.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/List/Pairwise.lean,Mathlib/Data/List/Permutation.lean,Mathlib/Data/List/ProdSigma.lean,Mathlib/Data/List/Sections.lean,Mathlib/Data/List/Sublists.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matroid/Minor/Restrict.lean,Mathlib/Data/Multiset/FinsetOps.lean,Mathlib/Data/Nat/Basic.lean,Mathlib/Data/Nat/Cast/WithTop.lean,Mathlib/Data/Nat/Choose/Basic.lean,Mathlib/Data/Nat/Factorization/Basic.lean,Mathlib/Data/Nat/Factorization/LCM.lean,Mathlib/Data/PSigma/Order.lean,Mathlib/Data/Prod/Lex.lean,Mathlib/Data/Rat/Encodable.lean,Mathlib/Data/Set/Card.lean,Mathlib/Data/Set/Defs.lean,Mathlib/Data/Set/Finite/Basic.lean,Mathlib/Data/Set/Finite/Lattice.lean,Mathlib/Data/Set/Functor.lean,Mathlib/Data/Set/Notation.lean,Mathlib/Data/Set/Pairwise/Basic.lean,Mathlib/Data/Set/Prod.lean,Mathlib/Data/Sigma/Lex.lean |
157 |
87 |
['github-actions', 'kbuzzard', 'kckennylau', 'mathlib4-merge-conflict-bot'] |
nobody |
292-48017 9 months ago |
298-61658 298 days ago |
0-9 9 seconds |
| 10345 |
newell author:newell |
feat(Algebra.Module.Zlattice): Add Voronoi Domain |
Adds the definition for a Voronoi Domain in regards to the $\mathbb{Z}$-lattice:
$$C := \lbrace\mathbf{w} \in \mathbb{V}^n\ :\ |\mathbf{w}| \leq |\mathbf{w} - \mathbf{v}|\ \text{for all}\ \mathbf{v} \in \mathbf{L} \rbrace$$
where $\mathbf{L}\$ is the $\mathbb{Z}$-lattice.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
17/0 |
Mathlib/Algebra/Module/Zlattice.lean |
1 |
3 |
['alreadydone', 'newell'] |
nobody |
291-65905 9 months ago |
unknown |
0-0 0 seconds |
| 28075 |
tristan-f-r author:tristan-f-r |
chore(Finsupp/Indicator): make non-classical |
This was surprising to see on a data-carrying definition.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
easy
merge-conflict
|
11/9 |
Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Data/Finsupp/Indicator.lean |
2 |
4 |
['github-actions', 'mathlib-merge-conflicts', 'ocfnash', 'tristan-f-r'] |
nobody |
289-74730 9 months ago |
290-32149 290 days ago |
0-85904 23 hours |
| 28168 |
astrainfinita author:astrainfinita |
feat: hensel's lemma for topological rings |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
WIP
t-ring-theory
t-topology
label:t-algebra$ |
616/0 |
Mathlib/RingTheory/Polynomial/Hensel.lean |
1 |
1 |
['github-actions'] |
nobody |
288-60165 9 months ago |
unknown |
0-0 0 seconds |
| 20671 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat(Analysis/Asymptotics/SpecificAsymptotics): Proving that 𝛔ₖ(n) = O(nᵏ⁺¹) |
This PR proves a result about the $\sigma_k(n)$ arithmetic function, namely, that it is $O\left(n^{k+1}\right)$. Main theorem:
`theorem sigma_asymptotic (k : ℕ) : (fun n ↦ (σ k n : ℝ)) =O[atTop] (fun n ↦ (n ^ (k + 1) : ℝ))`
This result was proved as part of the sphere packing project.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
large-import
merge-conflict
awaiting-author
|
29/0 |
Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean |
1 |
3 |
['b-mehta', 'github-actions', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
288-33307 9 months ago |
489-8122 489 days ago |
9-59130 9 days |
| 20267 |
joelriou author:joelriou |
feat(CategoryTheory): comma categories are accessible |
---
(I shall probably not work on this PR in the near future.)
- [ ] depends on: #19937
- [ ] depends on: #19945
- [ ] depends on: #19959
- [ ] depends on: #20005
- [ ] depends on: #19955
- [x] depends on: #20263
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
awaiting-author
t-category-theory
|
1513/7 |
Mathlib.lean,Mathlib/CategoryTheory/Comma/Arrow.lean,Mathlib/CategoryTheory/Comma/CardinalArrow.lean,Mathlib/CategoryTheory/EssentiallySmall.lean,Mathlib/CategoryTheory/Limits/Comma.lean,Mathlib/CategoryTheory/Limits/TypesFiltered.lean,Mathlib/CategoryTheory/Presentable/Basic.lean,Mathlib/CategoryTheory/Presentable/CardinalFilteredPresentation.lean,Mathlib/CategoryTheory/Presentable/Comma.lean,Mathlib/CategoryTheory/Presentable/IsCardinalFiltered.lean,Mathlib/CategoryTheory/Presentable/Limits.lean,Mathlib/CategoryTheory/Presentable/LocallyPresentable.lean,Mathlib/CategoryTheory/Presentable/ParallelMaps.lean,Mathlib/SetTheory/Cardinal/HasCardinalLT.lean,docs/references.bib |
15 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
288-26274 9 months ago |
unknown |
0-0 0 seconds |
| 27451 |
kckennylau author:kckennylau |
feat(RingTheory/Valuation): define ball, closed ball, and sphere |
*From the 2025 Local Class Field Theory Workshop.*
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
|
27/0 |
Mathlib/RingTheory/Valuation/Basic.lean |
1 |
13 |
['JovanGerb', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'pechersky', 'wwylele'] |
nobody |
287-11201 9 months ago |
287-11202 287 days ago |
17-52359 17 days |
| 27987 |
kckennylau author:kckennylau |
feat(RingTheory/Valuation): define ball, closed ball, and sphere |
---
The pullback PR of #26827 and #27451.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
large-import
|
73/0 |
Mathlib/RingTheory/Valuation/Basic.lean |
1 |
4 |
['JovanGerb', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] |
nobody |
287-10830 9 months ago |
287-10831 287 days ago |
6-6455 6 days |
| 27444 |
grunweg author:grunweg |
feat: generalise more lemmas to enorms |
The selection of lemmas may seem eclectic, but follows a clear path: I'm working on generalising the last section of `IntegrableOn.lean` to enorms. (This will be continued in a later PR.)
---
Commits can be reviewed independently.
- [x] depends on: #27419 (first commits)
- [x] depends on: #27456 (last commits)
[](https://gitpod.io/from-referrer/)
|
carleson
WIP
|
10/0 |
Mathlib/MeasureTheory/Function/L1Space/HasFiniteIntegral.lean |
1 |
3 |
['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot'] |
nobody |
287-6826 9 months ago |
304-76237 304 days ago |
0-259 4 minutes |
| 24862 |
grunweg author:grunweg |
feat(LocallyIntegrable): generalise more to enorms |
---
Note: github's diff is very confused; it includes changes which very clearly are already on the master branch.
I'll see which of the remaining changes after the dependencies have landed is already polished enough.
- [x] depends on: #24352
- [x] depends on: #27457 (this half is settled already)
- [ ] open question: filter lemmas; IsBoundedUnder is not the right condition as-is; need to think (or just not generalise)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
carleson
t-measure-probability
|
171/88 |
Mathlib/MeasureTheory/Function/L1Space/HasFiniteIntegral.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean |
3 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
287-4551 9 months ago |
376-72310 376 days ago |
0-1 1 second |
| 25133 |
erdOne author:erdOne |
feat(Tactic/NormNum): support positive characteristic |
Co-authored-by: Heather Macbeth
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
large-import
t-meta
|
250/39 |
Mathlib/Tactic/NormNum/CharP.lean,Mathlib/Tactic/NormNum/Core.lean,Mathlib/Tactic/NormNum/Eq.lean,Mathlib/Tactic/NormNum/Inv.lean,Mathlib/Tactic/NormNum/Test.lean |
5 |
5 |
['erdOne', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
285-25990 9 months ago |
unknown |
0-0 0 seconds |
| 27003 |
eric-wieser author:eric-wieser |
chore: use `Simp.ResultQ` more often |
Also uses `~q` in place of manual `isDefEq` matching.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
18/22 |
Mathlib/Tactic/NormNum/Core.lean,Mathlib/Tactic/NormNum/Result.lean,Mathlib/Tactic/ReduceModChar.lean |
3 |
7 |
['JovanGerb', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] |
JovanGerb assignee:JovanGerb |
285-25454 9 months ago |
285-25455 285 days ago |
32-70098 32 days |
| 16150 |
urkud author:urkud |
feat(Dynamics): Hopf decomposition |
Prove Hopf decomposition.
- [ ] rewrite to work with the saturations right away, not with a wandering set.
- [ ] generalize to an action of a countable group, use fundamental domains.
---
- [ ] depends on: #16146
- [ ] depends on: #16126
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-dynamics
t-measure-probability
|
212/0 |
Mathlib.lean,Mathlib/Dynamics/Ergodic/Dissipative.lean,Mathlib/MeasureTheory/MeasurableSpace/Basic.lean |
3 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'urkud'] |
nobody |
284-79826 9 months ago |
unknown |
0-0 0 seconds |
| 25401 |
digama0 author:digama0 |
feat(Util): SuppressSorry option |
See also leanprover/lean4#8611 and [#lean4 > Silent sorry @ 💬](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/Silent.20sorry/near/503537964). This is a stop-gap solution while leanprover/lean4#8611 is underway, but it works about as well as any other built in option. Hooking declaration elaborators turns out to be a very powerful technique.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
342/0 |
Mathlib.lean,Mathlib/Util/CommandElabHook.lean,Mathlib/Util/SuppressSorry.lean,MathlibTest/suppressSorry.lean |
4 |
15 |
['digama0', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] |
alexjbest assignee:alexjbest |
284-66650 9 months ago |
284-66650 284 days ago |
71-27957 71 days |
| 27759 |
plp127 author:plp127 |
chore(FreeAbelianGroup): deprecate multiplication |
Deprecate multiplication on `FreeAbelianGroup` in favor of using `MonoidAlgebra`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
large-import
label:t-algebra$ |
176/86 |
Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/MonoidAlgebra/MapDomain.lean,Mathlib/GroupTheory/FreeAbelianGroup.lean,Mathlib/RingTheory/FreeCommRing.lean,Mathlib/RingTheory/FreeRing.lean |
5 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
283-33096 9 months ago |
297-13408 297 days ago |
0-79663 22 hours |
| 21776 |
alreadydone author:alreadydone |
Invertible modules |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
571/26 |
Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Module/Submodule/Equiv.lean,Mathlib/Data/Set/Semiring.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean,Mathlib/RingTheory/PicardGroup.lean |
5 |
3 |
['alreadydone', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
282-32645 9 months ago |
467-45134 467 days ago |
0-19 19 seconds |
| 20722 |
ctchou author:ctchou |
feat(Counterexamples): the Vitali set is non-measurable |
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
t-measure-probability
new-contributor
merge-conflict
awaiting-author
|
258/3 |
Counterexamples.lean,Counterexamples/VitaliSetNotMeasurable.lean,Mathlib/MeasureTheory/Measure/NullMeasurable.lean,docs/1000.yaml |
4 |
76 |
['ctchou', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
vihdzp assignee:vihdzp |
282-22991 9 months ago |
496-14961 496 days ago |
0-47663 13 hours |
| 27446 |
grunweg author:grunweg |
chore: more enorm lemmas |
Nothing to see yet: this is a big mess!
Start unrolling at `eLpNorm_le_eLpNorm_top_mul_eLpNorm_enorm`; that proof could be a good next target.
Need a version of `eLpNorm'_const_smul' which applies to NNReal (or ENNReal, I guess): need to generalise a bunch of lemmas for that.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
carleson
|
107/9 |
Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean |
3 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
nobody |
282-14505 9 months ago |
304-75380 304 days ago |
0-172 2 minutes |
| 5897 |
eric-wieser author:eric-wieser |
feat: add a `MonadError` instance for `ContT` |
We already have a `MonadExcept` instance; this promotes it to `MonadError`.
Note the issue with the existing `MonadExcept` instance still applies.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
|
16/0 |
Mathlib/Control/Monad/Cont.lean |
1 |
25 |
['Vierkantor', 'YaelDillies', 'eric-wieser', 'github-actions', 'kmill'] |
nobody |
280-23805 9 months ago |
706-36607 706 days ago |
339-54818 339 days |
| 28276 |
eric-wieser author:eric-wieser |
refactor: tidy `lift_unique` lemmas |
---
- [ ] depends on: #28275
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
37/20 |
Mathlib/Algebra/FreeAlgebra.lean,Mathlib/Algebra/Lie/UniversalEnveloping.lean,Mathlib/LinearAlgebra/DFinsupp.lean,Mathlib/LinearAlgebra/ExteriorAlgebra/Basic.lean |
4 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
280-23076 9 months ago |
unknown |
0-0 0 seconds |
| 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 |
279-44803 9 months ago |
282-30332 282 days ago |
0-35689 9 hours |
| 28622 |
alreadydone author:alreadydone |
chore(Mathlib): replace `=>` by `↦` |
---
[](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 |
278-70130 9 months ago |
278-70131 278 days ago |
0-62065 17 hours |
| 24793 |
tristan-f-r author:tristan-f-r |
feat: trace of unitarily similar matrices |
adds a theorem relating trace to unitarily similar matrices used in the easy direction of specht's theorem
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
7/0 |
Mathlib/LinearAlgebra/UnitaryGroup.lean |
1 |
4 |
['github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot', 'tristan-f-r'] |
nobody |
278-65769 9 months ago |
377-10818 377 days ago |
1-55872 1 day |
| 27198 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Monoidal/DayConvolution): the Yoneda embedding is monoidal (for Day convolution) |
We show that the Yoneda embedding is monoidal when we interpret its target category as Day presheaves (i.e presheaves with the Day convolution monoidal structure). The actual way we prove it is by registering a `LawfulDayConvolutionMonoidalCategoryStruct Cᵒᵖ (Type v₁) C`, for which the "interpretation" functor `C ⥤ Cᵒᵖ ⥤ Type v₁` is the Yoneda embedding. This allows to state a result independently of any size constraint on `C`.
Then, we specialize to the case of a small category `C`, in this case, using the fact that the relevant colimit of preseaves exist, we use the fact that the interpretation functor induces a monoidal functor to put a `Monoidal` instance on the functor `dayYoneda : C ⥤ (Cᵒᵖ ⊛⥤ Type v₁) := yoneda ⋙ (equiv Cᵒᵖ _).inverse`.
---
I was unsure about which form of simp lemmas we want for characterization of the monoidal structure on `dayYoneda`. I opted for making the "fully applied" lemmas simp, but still leaves the "unapplied" ones as non-simp just in case.
- [ ] depends on: #27175
- [x] depends on: #25732
[](https://gitpod.io/from-referrer/)
|
merge-conflict
file-removed
blocked-by-other-PR
t-category-theory
|
1847/26 |
Mathlib.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Types.lean,Mathlib/CategoryTheory/Monoidal/Internal/Limits.lean,Mathlib/CategoryTheory/Monoidal/Limits/Basic.lean,Mathlib/CategoryTheory/Monoidal/Limits/Preserves.lean |
8 |
8 |
['alreadydone', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
nobody |
278-43336 9 months ago |
313-27423 313 days ago |
0-21 21 seconds |
| 28626 |
alreadydone author:alreadydone |
chore(Archive, Counterexamples): replace => by ↦ |
---
[](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 |
277-12856 9 months ago |
277-12857 277 days ago |
2-47136 2 days |
| 26078 |
kckennylau author:kckennylau |
feat(AlgebraicGeometry): add x, y, px, py for points on elliptic curves |
---
Split from #25218.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebraic-geometry
|
44/0 |
Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean |
1 |
12 |
['MichaelStollBayreuth', 'Multramate', 'acmepjz', 'dagurtomas', 'github-actions', 'kckennylau'] |
nobody |
277-9866 9 months ago |
277-9866 277 days ago |
64-11252 64 days |
| 19582 |
yu-yama author:yu-yama |
feat(GroupExtension/Abelian): define `OfMulDistribMulAction.equivH2` |
Mainly defines:
- `structure GroupExtension.OfMulDistribMulAction N G [MulDistribMulAction G N]`: group extensions of `G` by `N` where the multiplicative action of `G` on `N` is the conjugation
- `structure GroupExtension.OfMulDistribMulActionWithSection N G [MulDistribMulAction G N]`: group extensions with specific choices of sections
- `def GroupExtension.OfMulDistribMulAction.equivH2`: a bijection between the equivalence classes of group extensions and $H^2 (G, N)$
---
- [x] depends on: #20802 (split PR: contains changes to the `Defs` file)
- [x] depends on: #20998 (split PR: mainly adds the `Basic` file)
- [ ] depends on: #26670 (split PR: adds the first part of the `Abelian` file)
Here is a relevant TODO in Mathlib:
https://github.com/leanprover-community/mathlib4/blob/4e9fa40d7c480937e09cd6e47a591bd6f3b8be42/Mathlib/RepresentationTheory/GroupCohomology/LowDegree.lean#L46-L48
I would appreciate your comments.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
new-contributor
label:t-algebra$ |
750/14 |
Mathlib.lean,Mathlib/GroupTheory/GroupExtension/Abelian.lean,Mathlib/GroupTheory/GroupExtension/Defs.lean,docs/references.bib |
4 |
5 |
['YaelDillies', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
276-81311 9 months ago |
499-51870 499 days ago |
43-22586 43 days |
| 7300 |
ah1112 author:ah1112 |
feat: synthetic geometry |
This is adding synthetic geometry using Avigad's axioms and formalizing Euclid Book I, through the Pythagorean theorem.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
help-wanted
t-euclidean-geometry
|
2661/0 |
Mathlib.lean,Mathlib/Geometry/Synthetic/Avigad/Axioms.lean,Mathlib/Geometry/Synthetic/Avigad/EuclidBookI.lean,Mathlib/Geometry/Synthetic/Avigad/Tactics.lean |
4 |
74 |
['ah1112', 'alreadydone', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'plp127', 'tb65536', 'urkud'] |
nobody |
276-57942 9 months ago |
977-10427 977 days ago |
0-84 1 minute |
| 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)
---
[](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 |
275-45892 9 months ago |
298-21814 298 days ago |
7-54661 7 days |
| 28042 |
kckennylau author:kckennylau |
feat(Topology/ValuativeRel): a topological basis indexed by pairs of elements |
---
The pullback PR of #27314 and #27163.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
|
140/23 |
Mathlib/RingTheory/Valuation/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean |
2 |
3 |
['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
275-45846 9 months ago |
285-10890 285 days ago |
7-4998 7 days |
| 23966 |
astrainfinita author:astrainfinita |
refactor: unbundle algebra from `{Seminormed, Normed}(Add)(Comm)Group` |
---
[](https://gitpod.io/from-referrer/)
- [ ] depends on: #23621
- [ ] depends on: #23961
|
t-algebra
blocked-by-other-PR
merge-conflict
slow-typeclass-synthesis
t-analysis
label:t-algebra$ |
3233/2752 |
Archive/Imo/Imo1998Q2.lean,Counterexamples/LinearOrderWithPosMulPosEqZero.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Algebra/Order/Field/Canonical.lean,Mathlib/Algebra/Order/Field/Rat.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Nonneg/Field.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/CPolynomial.lean,Mathlib/Analysis/Analytic/CPolynomialDef.lean,Mathlib/Analysis/Analytic/ChangeOrigin.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/Analytic/IteratedFDeriv.lean,Mathlib/Analysis/Analytic/Linear.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Analytic/Polynomial.lean,Mathlib/Analysis/Analytic/RadiusLiminf.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Analytic/Within.lean,Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean,Mathlib/Analysis/Asymptotics/Defs.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/Asymptotics/Theta.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/BoxIntegral/Integrability.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Measure.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/CStarAlgebra/ContinuousLinearMap.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean,Mathlib/Analysis/CStarAlgebra/Module/Defs.lean,Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean,Mathlib/Analysis/Calculus/AddTorsor/Coord.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/BumpFunction/Convolution.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean,Mathlib/Analysis/Calculus/BumpFunction/Normed.lean,Mathlib/Analysis/Calculus/Conformal/InnerProduct.lean,Mathlib/Analysis/Calculus/Conformal/NormedSpace.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/CPolynomial.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Calculus/ContDiff/FiniteDimension.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Analysis/Calculus/ContDiff/WithLp.lean,Mathlib/Analysis/Calculus/DSlope.lean,Mathlib/Analysis/Calculus/Deriv/Abs.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/AffineMap.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Comp.lean,Mathlib/Analysis/Calculus/Deriv/Inv.lean,Mathlib/Analysis/Calculus/Deriv/Inverse.lean,Mathlib/Analysis/Calculus/Deriv/Linear.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Calculus/Deriv/Prod.lean,Mathlib/Analysis/Calculus/Deriv/Shift.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/Deriv/Star.lean,Mathlib/Analysis/Calculus/Deriv/Support.lean,Mathlib/Analysis/Calculus/Deriv/ZPow.lean,Mathlib/Analysis/Calculus/DiffContOnCl.lean,Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Bilinear.lean,Mathlib/Analysis/Calculus/FDeriv/Comp.lean,Mathlib/Analysis/Calculus/FDeriv/Equiv.lean,Mathlib/Analysis/Calculus/FDeriv/Extend.lean,Mathlib/Analysis/Calculus/FDeriv/Linear.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Calculus/FDeriv/Mul.lean,Mathlib/Analysis/Calculus/FDeriv/Norm.lean,Mathlib/Analysis/Calculus/FDeriv/Pi.lean,Mathlib/Analysis/Calculus/FDeriv/Prod.lean,Mathlib/Analysis/Calculus/FDeriv/RestrictScalars.lean,Mathlib/Analysis/Calculus/FDeriv/Star.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Calculus/FDeriv/WithLp.lean,Mathlib/Analysis/Calculus/FormalMultilinearSeries.lean |
579 |
7 |
['astrainfinita', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
275-21113 9 months ago |
unknown |
0-0 0 seconds |
| 27399 |
MoritzBeroRoos author:MoritzBeroRoos |
chore: replace every usage of ⬝ᵥ (with old \cdot) by ·ᵥ (with \centerdot) |
Discussion at [zulip](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/.5Ccdot.20!.3D.20.5Ccenterdot).
Currently the abbreviations `\cdot` and `\centerdot` resolve to different, with the naked eye nearly undistinguishable symbols (despite the c in cdot surely standing for `center`..):
- `\cdot` gives ⬝ [U+2B1D](https://www.compart.com/en/unicode/U+2B1D) "Black Very Small Square"
- `\centerdot` gives · [U+00B7](https://www.compart.com/en/unicode/U+00B7) "Middle Dot"
Mathlib mostly uses the `\centerdot` variant, except for the dotProduct notation and some probably unsuspecting people wanting \centerdot but getting \cdot in their comments and 6 uses of a notation using the raw `\cdot` without any subscript at `Mathlib\Topology\Homotopy\Product.lean`.
This PR replaces the dot product `⬝ᵥ` with its `\centerdot` counterpart `·ᵥ`. The related PR [here](https://github.com/leanprover/vscode-lean4/pull/639) can then overwrite the `\cdot` abbreviation, to produce the same symbol as the `centerdot` abbreviation does.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
new-contributor
|
133/133 |
Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/Matrix/ConjTranspose.lean,Mathlib/Data/Matrix/Hadamard.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/Data/Matrix/RowCol.lean,Mathlib/Data/Matrix/Vec.lean,Mathlib/LinearAlgebra/CrossProduct.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/DotProduct.lean,Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean,Mathlib/LinearAlgebra/Matrix/Orthogonal.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/SchurComplement.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean,Mathlib/LinearAlgebra/Projectivization/Constructions.lean,Mathlib/Topology/Instances/Matrix.lean |
25 |
6 |
['MoritzBeroRoos', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
275-7724 9 months ago |
298-21815 298 days ago |
7-62439 7 days |
| 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.
---
[](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 |
275-7485 9 months ago |
304-5182 304 days ago |
0-237 3 minutes |
| 28787 |
alreadydone author:alreadydone |
feat(Counterexamples): a domain whose ring of differences is not a domain |
Example produced by Gemini 2.5 Pro: https://gemini.google.com/share/9558539e1309
---
- [ ] depends on: #28468
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
large-import
label:t-algebra$ |
1200/204 |
Counterexamples.lean,Counterexamples/GrothendieckAddGroupIsDomain.lean,Mathlib.lean,Mathlib/Algebra/Group/Subsemigroup/Defs.lean,Mathlib/Algebra/Module/End.lean,Mathlib/Algebra/Module/LocalizedModule/IsLocalization.lean,Mathlib/Algebra/Order/Nonneg/Basic.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Ring/Invertible.lean,Mathlib/GroupTheory/MonoidLocalization/Archimedean.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/Lemmas.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/RingTheory/IsTensorProduct.lean,Mathlib/RingTheory/Localization/Additive.lean,Mathlib/RingTheory/Localization/Away/Basic.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/Defs.lean,Mathlib/RingTheory/Localization/Ideal.lean,Mathlib/RingTheory/Localization/StrongRankCondition.lean,Mathlib/RingTheory/Smooth/StandardSmooth.lean,Mathlib/RingTheory/Trace/Quotient.lean |
23 |
6 |
['alreadydone', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'riccardobrasca'] |
nobody |
274-10935 9 months ago |
274-16379 274 days ago |
1-13263 1 day |
| 24719 |
madvorak author:madvorak |
feat(LinearAlgebra/Matrix/NonsingularInverse): inverting `Matrix` inverts its `LinearEquiv` |
---
Discussion:
https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2324719.20cannot.20find.20home/with/517142655
|
awaiting-author
t-algebra
label:t-algebra$ |
10/0 |
Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean |
1 |
16 |
['eric-wieser', 'github-actions', 'madvorak', 'ocfnash'] |
nobody |
272-32422 8 months ago |
294-14399 294 days ago |
86-37603 86 days |
| 27437 |
kckennylau author:kckennylau |
feat(RingTheory/Valuation): some lemmas about comparing with 1 and 0 and with each other |
*From the 2025 Local Class Field Theory Workshop.*
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-ring-theory
|
109/22 |
Mathlib/NumberTheory/Padics/ValuativeRel.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/Extension.lean,Mathlib/RingTheory/Valuation/ValuativeRel.lean |
4 |
20 |
['erdOne', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'matthewjasper', 'pechersky'] |
nobody |
271-10305 8 months ago |
290-61316 290 days ago |
14-27134 14 days |
| 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]
```
---
[](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 |
270-51058 8 months ago |
270-51059 270 days ago |
12-78143 12 days |
| 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`.
---
- [ ] depends on: #28685
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-combinatorics
merge-conflict
WIP
|
757/14 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/ErdosStoneSimonovits.lean |
10 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
270-14498 8 months ago |
278-31441 278 days ago |
0-10 10 seconds |
| 28687 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): prove the Erdős-Stone-Simonovits theorem |
Proves the Erdős-Stone-Simonovits theorem:
If the chromatic number of `H` equals `r + 1 > 0`, then the `extremalNumber` of `H` is greater than `(1 - 1 / r - o(1)) * card V ^ 2 / 2` and at most `(1 - 1 / r + o(1)) * card V ^ 2 / 2`.
---
- [ ] depends on: #28686
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
blocked-by-other-PR
t-combinatorics
|
879/14 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/ErdosStoneSimonovits.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Operations.lean,Mathlib/Data/Finset/Union.lean,Mathlib/Data/Nat/Cast/Order/Field.lean |
10 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
270-14497 8 months ago |
278-31256 278 days ago |
0-32 32 seconds |
| 28689 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): prove well-known corollaries of the Erdős-Stone-Simonovits theorem |
Proves well-known corollaries of the Erdős-Stone-Simonovits theorem:
E.g., if the chromatic number of `H` equals `r + 1 > 1`, then `extremalNumber n H` is asymptotically equivalent to `(1 - 1 / r) * n.choose 2` as `n → ∞`
---
- [ ] depends on: #28687
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
blocked-by-other-PR
t-combinatorics
|
958/14 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/ErdosStoneSimonovits.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Operations.lean,Mathlib/Data/Finset/Union.lean,Mathlib/Data/Nat/Cast/Order/Field.lean |
10 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
270-14496 8 months ago |
278-31030 278 days ago |
0-45 45 seconds |
| 26952 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/DayConvolution): monoid objects internal to day convolutions |
In this file, given `F : C ⊛⥤ V`, we provide a bijective correspondence between lax monoidal structures on `F.functor` and
`Mon_Class F` structures. We also prove that through this correspondance, monoidal natural transformations correspond to morphisms of internal monoid objects.
---
- [ ] depends on: #26890
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
|
1574/19 |
Mathlib.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Mon_.lean |
5 |
5 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
269-73107 8 months ago |
319-68190 319 days ago |
0-584 9 minutes |
| 27133 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Monoidal/DayConvolution): `C ⊛⥤ V` is monoidal closed when `V` is |
When `V` is a monoidal closed category admitting enough limits, we show that the type alias `C ⊛⥤ V` for functors `C ⥤ V` with Day convolution monoidal structure is monoidal closed using the API for `LawfulDayConvolutionClosedMonoidalCategoryStruct` developped in #27119.
We expose the required data to exhibit (realization as a functor of) the internal hom as a suitable, and we port the lemmas that characterize its functoriality in that regard, as well as the evaluation and coevaluation morphisms.
---
- [ ] depends on: #27119
- [ ] depends on: #26890
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
|
1706/20 |
Mathlib.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Closed.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean |
5 |
6 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
269-72982 8 months ago |
315-13036 315 days ago |
0-1192 19 minutes |
| 27151 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Monoidal/DayConvolution): `C ⊛⥤ V` is braided/symmetric when `C` and `V` are braided/symmetric |
We use the machinery from #27150 to show that Day functors (the type alias for functors endowed with the Day convolution monoidal structure) are braided/symmetric when the base categories are.
---
- [ ] depends on: #27150
- [ ] depends on: #26890
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
|
1591/20 |
Mathlib.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Braided.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean |
5 |
5 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
269-72980 8 months ago |
314-33529 314 days ago |
0-1022 17 minutes |
| 27175 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Monoidal/DayConvolution): `LawfulDayConvolutionMonoidalCategoryStruct.ι C V D` is monoidal when the target is `C ⊛⥤ V` |
We prove a "soundness" result for our notion of `LawfulDayConvolutionMonoidalCategoryStruct`, i.e that when be interpret its field `ι` as valued in Day functors (the type alias for functors endowed with the Day convolution monoidal structure), the data from `LawfulDayConvolutionMonoidalCategoryStruct` turn `ι` in a monoidal functor, proving that the categories endowed with such a structure are precisely those that can be identified to monoidal (not necessarily full) subcategories of Day functors.
Implicitly, the structure isomorphisms for this monoidal structure bundle isomorphisms asserting unicity up to isomorphisms of day convolutions.
---
- [ ] depends on: #26890
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
|
1585/24 |
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 |
269-72979 8 months ago |
314-661 314 days ago |
0-673 11 minutes |
| 26097 |
adomani author:adomani |
dev: the relative linter |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
awaiting-author
t-linter
|
316/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/Local.lean,Mathlib/Util/ParseGit.lean |
4 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
269-49754 8 months ago |
unknown |
0-0 0 seconds |
| 25741 |
robin-carlier author:robin-carlier |
feat(AlgebraicTopology/SimplexCategory/SimplicialObject): definitions of simplicial objects by generators and relation |
We leverage the equivalence between `SimplexCategory` and `SimplexCategoryGenRel` to give new constructors for (co)simplicial objects, as well as constructors for natural transformations (resp. isomorphism) between those.
Final PR in the series of PR formalising the equivalence between `SimplexCategory` and `SimplexCategoryGenRel`.
---
- [ ] depends on: #25740
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #21748.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/21748* |
t-algebraic-topology
blocked-by-other-PR
t-category-theory
large-import
merge-conflict
|
1363/9 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/Equivalence.lean,Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms.lean,Mathlib/AlgebraicTopology/SimplicialObject/GeneratorsRelations.lean |
4 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
266-26774 8 months ago |
336-20062 336 days ago |
11-15676 11 days |
| 26931 |
javra author:javra |
feat(CategoryTheory/Enriched): `V`-enriched isomorphisms |
Defines isomorphisms in `V`-enriched categories and relate them to ordinary isomorphisms in the case of ordinary enriched categories.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
infinity-cosmos
|
211/14 |
Mathlib.lean,Mathlib/CategoryTheory/Enriched/Basic.lean,Mathlib/CategoryTheory/Enriched/Iso.lean,Mathlib/CategoryTheory/Enriched/Opposite.lean,Mathlib/CategoryTheory/Enriched/Ordinary/Basic.lean,Mathlib/CategoryTheory/Enriched/Ordinary/Iso.lean |
6 |
21 |
['emilyriehl', 'github-actions', 'javra', 'joelriou', 'mathlib4-merge-conflict-bot', 'mckoen'] |
nobody |
266-26164 8 months ago |
300-30411 300 days ago |
19-74885 19 days |
| 27707 |
FLDutchmann author:FLDutchmann |
feat(NumberTheory/SelbergSieve): define Selberg's weights and prove basic results. |
This PR continues the work from #23635.
Original PR: https://github.com/leanprover-community/mathlib4/pull/23635
- [ ] depends on: #27702 |
merge-conflict
t-number-theory
blocked-by-other-PR
t-analysis
|
407/83 |
Mathlib/NumberTheory/Divisors.lean,Mathlib/NumberTheory/SelbergSieve.lean |
2 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
265-79824 8 months ago |
295-63503 295 days ago |
1-28956 1 day |
| 25208 |
erdOne author:erdOne |
feat(LinearAlgebra): `tensor_induction` macro |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
RFC
label:t-algebra$ |
87/116 |
Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Central/TensorProduct.lean,Mathlib/LinearAlgebra/DirectSum/Finsupp.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/RingTheory/Flat/Equalizer.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/Finite.lean,Mathlib/RingTheory/Unramified/Finite.lean |
8 |
8 |
['chrisflav', 'eric-wieser', 'github-actions', 'leanprover-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
265-47531 8 months ago |
364-18978 364 days ago |
0-600 10 minutes |
| 28803 |
astrainfinita author:astrainfinita |
refactor: unbundle algebra from `ENormed*` |
Further speed up the search in the algebraic typeclass hierarchy by avoiding searching for `TopologicalSpace`.
This PR continues the work from #23961.
- Change `ESeminormed(Add)Monoid` and `ENormed(Add)Monoid` so they no longer carry algebraic data.
- Deprecate `ESeminormed(Add)CommMonoid` and `ENormed(Add)CommMonoid` in favor of `ESeminormed(Add)Monoid` and `ENormed(Add)Monoid` with a commutative algebraic typeclass.
|Old|New|
|---|---|
| `[ESeminormed(Add)(Comm)Monoid E]` | `[(Add)(Comm)Monoid E] [ESeminormed(Add)Monoid E]` |
| `[ENormed(Add)(Comm)Monoid]` | `[(Add)(Comm)Monoid E] [ENormed(Add)Monoid]` |
See [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2328803.20refactor.3A.20unbundle.20algebra.20from.20.60ENormed*.60/with/536024350)
------------
- [x] depends on: #28813 |
t-algebra
merge-conflict
slow-typeclass-synthesis
awaiting-zulip
t-analysis
label:t-algebra$ |
80/63 |
Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Group/Continuity.lean,Mathlib/Analysis/Normed/Group/InfiniteSum.lean,Mathlib/Analysis/NormedSpace/IndicatorFunction.lean,Mathlib/MeasureTheory/Function/L1Space/AEEqFun.lean,Mathlib/MeasureTheory/Function/L1Space/HasFiniteIntegral.lean,Mathlib/MeasureTheory/Function/L1Space/Integrable.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean |
14 |
28 |
['astrainfinita', 'bryangingechen', 'github-actions', 'grunweg', 'kbuzzard', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
grunweg assignee:grunweg |
264-65059 8 months ago |
273-16213 273 days ago |
0-20585 5 hours |
| 26935 |
Paul-Lez author:Paul-Lez |
feat(Analysis/SpecialFunction/NthRoot): definition and basic API of Real.nthRoot |
This PR continues the work from #25364.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25364
Co-authored-by: Eric Wieser |
t-analysis |
311/0 |
Mathlib/Analysis/SpecialFunctions/NthRoot.lean |
1 |
10 |
['Paul-Lez', 'eric-wieser', 'github-actions', 'mo271', 'smmercuri', 'yury-harmonic'] |
nobody |
263-67169 8 months ago |
319-27539 319 days ago |
0-74776 20 hours |
| 27995 |
kckennylau author:kckennylau |
feat(RingTheory/Valuation): alternate constructors for Valuation |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
awaiting-CI
|
82/0 |
Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/FieldTheory/RatFunc/Degree.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/RingTheory/Valuation/Basic.lean |
4 |
22 |
['YaelDillies', 'github-actions', 'grunweg', 'kckennylau', 'pechersky'] |
nobody |
262-39044 8 months ago |
275-10498 275 days ago |
17-72481 17 days |
| 26159 |
upobir author:upobir |
feat(Algebra/QuadraticDiscriminant): Adding inequalities on quadratic from inequalities on discriminant |
This PR continues the work from #24517.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24517
---
[](https://gitpod.io/from-referrer/) |
awaiting-author
t-algebra
label:t-algebra$ |
34/0 |
Mathlib/Algebra/QuadraticDiscriminant.lean |
1 |
8 |
['chrisflav', 'github-actions', 'tb65536', 'upobir'] |
chrisflav assignee:chrisflav |
261-11948 8 months ago |
285-3476 285 days ago |
55-10605 55 days |
| 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.
---
- [ ] depends on: #26899
- [ ] depends on: #26906
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
307/18 |
Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean |
2 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
259-11004 8 months ago |
259-11005 259 days ago |
0-1812 30 minutes |
| 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.
---
- [x] depends on: #27067
- [x] depends on: #26820
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
826/9 |
Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Braided.lean |
2 |
5 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
259-6043 8 months ago |
314-35738 314 days ago |
0-1002 16 minutes |
| 26462 |
PSchwahn author:PSchwahn |
feat(LinearAlgebra/Projection): add results about inverse of `Submodule.prodEquivOfIsCompl` |
Add two theorems `Submodule.prodEquivOfIsCompl_symm_apply` and `Submodule.prodEquivOfIsCompl_symm_add`, which are API for `Submodule.prodEquivOfIsCompl`.
We believe these theorems are useful; for example, we have used their statements in a [classification formalization project](https://github.com/LieLean/LowDimSolvClassification).
Co-authored by:
- [Viviana del Barco](https://github.com/vdelbarc)
- [Gustavo Infanti](https://github.com/GuQOliveira)
- [Exequiel Rivas](https://github.com/erivas)
---
I am not sure whether the `prodEquivOfIsCompl_symm_apply` theorem should be tagged with `@[simp]`; this might lead to confluence issues. Opinions are welcome!
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
10/0 |
Mathlib/LinearAlgebra/Projection.lean |
1 |
7 |
['PSchwahn', 'github-actions', 'joelriou', 'kckennylau'] |
joelriou assignee:joelriou |
258-65253 8 months ago |
259-9956 259 days ago |
73-43082 73 days |
| 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`.
---
- [x] depends on: #27079
- [x] depends on: #27091
- [x] depends on: #26879
- [x] depends on: #26820
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
900/9 |
Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Closed.lean |
2 |
6 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
258-19894 8 months ago |
315-41206 315 days ago |
0-1 1 second |
| 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 |
258-13755 8 months ago |
258-13756 258 days ago |
10-61840 10 days |
| 28804 |
grunweg author:grunweg |
feat: a few more tactic linters |
All analysis passes in this list have been suggested [on zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Tactic.20analysis.20framework/with/535766713).
---
Untested, so may not work yet.
- [ ] depends on: #28802
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-meta
|
204/26 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/TacticAnalysis/Declarations.lean,Mathlib/Tactic/TacticAnalysis/FunProp.lean,Mathlib/Tactic/TacticAnalysis/Misc.lean,MathlibTest/TacticAnalysis2.lean |
6 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
257-33319 8 months ago |
275-20152 275 days ago |
0-705 11 minutes |
| 13036 |
joelriou author:joelriou |
feat(CategoryTheory/Sites): under certain conditions, cover preserving functors preserve 1-hypercovers |
Previously, in order to show that a functor between Grothendieck sites was continuous, it was necessary to show that it was "cover preserving" and "compatible preserving". There were two lemmas which could be used in order to show that a functor was "compatible preserving".
Since #13012, the better condition of "1-hypercover preserving" functor was introduced and it implies that the functor is continuous. In this PR, under the same assumptions as in the two lemmas mentionned above, we show that cover preserving functors are 1-hypercover preserving functors. This gives slightly better criteria in order to show that a functor is continuous.
---
- [x] depends on: #13004
- [x] depends on: #13011
- [x] depends on: #13012
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
94/7 |
Mathlib/CategoryTheory/Sites/Continuous.lean,Mathlib/CategoryTheory/Sites/CoverPreserving.lean,Mathlib/CategoryTheory/Sites/Over.lean,Mathlib/CategoryTheory/Sites/Sieves.lean |
4 |
3 |
['github-actions', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
256-69479 8 months ago |
736-22011 736 days ago |
0-1 1 second |
| 29527 |
kim-em author:kim-em |
feat: script for checking Github URLs |
This adds scripts/check_github_urls.py, which checks for links for closed github issues/prs, and shows the context at the link.
Of course, many links are to closed pull requests because the discussion there provides useful context. Not sure how to best filter results. |
WIP
CI
|
475/0 |
scripts/README.md,scripts/check_github_urls.py |
2 |
2 |
['github-actions', 'kim-em'] |
nobody |
256-58632 8 months ago |
256-59377 256 days ago |
0-1 1 second |
| 27335 |
eric-wieser author:eric-wieser |
chore(Data/List): use simp-normal-form for boolean equalities |
This replaces `¬(p x = true)` with `p x = false`. It also makes explicit some adjacent `h : p x` spellings for symmetry, but the `= true`s were already implied by the coercion.
Zulip: [#lean4 > `h : ¬(b = true)` vs `h : b = false` @ 💬](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/.60h.20.3A.20.C2.AC.28b.20.3D.20true.29.60.20vs.20.60h.20.3A.20b.20.3D.20false.60/near/529976237)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
38/32 |
Mathlib/Data/List/DropRight.lean,Mathlib/Data/List/SplitOn.lean,Mathlib/Data/List/TakeWhile.lean |
3 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
nobody |
256-53121 8 months ago |
307-48306 307 days ago |
0-19242 5 hours |
| 25778 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat: Monotonicity of `setIntegral` for nonnegative functions |
This PR makes it easier to prove monotonicity of the Bochner integral on sets for nonnegative functions by removing the stronger assumption required by the general monotonicity lemma that both of the functions being compared must be integrable.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-measure-probability
new-contributor
|
8/0 |
Mathlib/MeasureTheory/Integral/Bochner/Set.lean |
1 |
6 |
['RemyDegenne', 'github-actions', 'sgouezel', 'thefundamentaltheor3m'] |
nobody |
256-9477 8 months ago |
347-17315 347 days ago |
0-11893 3 hours |
| 29484 |
eric-wieser author:eric-wieser |
refactor: switch to [] notation for Stream' |
I'll continue fixing this only if people agree this is a good use of this notation.
[#mathlib4 > Changing `Stream.Seq` to use `GetElem` @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Changing.20.60Stream.2ESeq.60.20to.20use.20.60GetElem.60/near/538548680)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
large-import
|
195/173 |
Mathlib/Algebra/ContinuedFractions/Basic.lean,Mathlib/Algebra/ContinuedFractions/Computation/Basic.lean,Mathlib/Algebra/ContinuedFractions/Translations.lean,Mathlib/Combinatorics/Hindman.lean,Mathlib/Control/Fix.lean,Mathlib/Control/LawfulFix.lean,Mathlib/Data/Seq/Computation.lean,Mathlib/Data/Seq/Defs.lean,Mathlib/Data/Stream/Defs.lean,Mathlib/Data/Stream/Init.lean,Mathlib/Data/WSeq/Basic.lean,Mathlib/Data/WSeq/Productive.lean |
12 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
255-68140 8 months ago |
unknown |
0-0 0 seconds |
| 22517 |
j-loreaux author:j-loreaux |
feat: `ℕ+` powers in semigroups |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
large-import
|
275/28 |
Mathlib.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/PNatPowAssoc.lean,Mathlib/Algebra/Group/PPow.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/Algebra/Ring/ULift.lean,Mathlib/Data/Num/Lemmas.lean,Mathlib/Data/Real/Basic.lean,Mathlib/Data/ZMod/Defs.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/NumberTheory/Dioph.lean,Mathlib/Tactic/ToAdditive/Frontend.lean |
14 |
6 |
['eric-wieser', 'github-actions', 'j-loreaux', 'leanprover-bot', 'mattrobball'] |
nobody |
254-73462 8 months ago |
447-75043 447 days ago |
0-27 27 seconds |
| 29615 |
eric-wieser author:eric-wieser |
chore: add a computable shortcut for `AddCommMonoid ℂ` |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
easy
|
9/1 |
Mathlib/Analysis/Complex/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
254-27921 8 months ago |
254-28004 254 days ago |
254-27999 254 days |
| 25069 |
erdOne author:erdOne |
feat(EllipticCurve): rational points of singular nodal cubics |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebraic-geometry
|
251/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Singular/Node.lean |
3 |
14 |
['Multramate', 'acmepjz', 'chrisflav', 'erdOne', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
chrisflav assignee:chrisflav |
253-2263 8 months ago |
269-34072 269 days ago |
100-20892 100 days |
| 25070 |
erdOne author:erdOne |
feat(EllipticCurve): rational points on singular cuspidal cubics |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebraic-geometry
|
123/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Singular/Cusp.lean |
2 |
12 |
['Multramate', 'acmepjz', 'adamtopaz', 'erdOne', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] |
adamtopaz assignee:adamtopaz |
253-2262 8 months ago |
279-3226 279 days ago |
90-52970 90 days |
| 26670 |
yu-yama author:yu-yama |
feat(GroupExtension/Abelian): define `conjClassesEquivH1` |
This PR continues the work from #21837.
Original PR: https://github.com/leanprover-community/mathlib4/pull/21837 |
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
162/5 |
Mathlib.lean,Mathlib/GroupTheory/GroupExtension/Abelian.lean,Mathlib/GroupTheory/GroupExtension/Basic.lean,Mathlib/GroupTheory/GroupExtension/Defs.lean,docs/references.bib |
5 |
3 |
['erdOne', 'github-actions', 'mathlib4-merge-conflict-bot', 'yu-yama'] |
erdOne assignee:erdOne |
252-30556 8 months ago |
276-80334 276 days ago |
49-15167 49 days |
| 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 |
252-25999 8 months ago |
252-26000 252 days ago |
87-79752 87 days |
| 27024 |
grunweg author:grunweg |
feat: Gram-Schmidt orthonormalisation for sections of a vector bundle |
Add a parametrised version of Gram-Schmidt, for sections of a topological vector bundle with a bundle metric.
This will be used to define orthonormal local frames.
From the path towards geodesics and the Levi-Civita connection.
Co-authored-by: Patrick Massot
---
- [x] depends on: #27023
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-differential-geometry
|
279/11 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Topology/VectorBundle/GramSchmidtOrtho.lean,scripts/noshake.json |
4 |
71 |
['faenuccio', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
sgouezel assignee:sgouezel |
252-16656 8 months ago |
284-2786 284 days ago |
28-11083 28 days |
| 28580 |
kmill author:kmill |
refactor: simplify implementation of `filter_upwards` |
This PR makes a few changes to `filter_upwards`:
- it uses `focus`, which prevents multiGoalLinter from ever blaming the tactics used inside its implementation
- it constructs the whole proof syntax and elaborates it at once using `evalTactic` and `refine`, rather than using the lower-level TermElab API, which can lose track of goals
- it's written in a way that doesn't require goals to be in some particular order
This was motivated by some multiGoalLinter issues I ran into when working on https://github.com/leanprover/lean4/pull/9942
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-order
t-meta
|
14/16 |
Mathlib/Order/Filter/Defs.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
252-14615 8 months ago |
280-48680 280 days ago |
0-8809 2 hours |
| 29010 |
grunweg author:grunweg |
chore: more tests for field_simp features and edge cases |
---
[](https://gitpod.io/from-referrer/)
|
|
135/0 |
MathlibTest/FieldSimp.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
250-78859 8 months ago |
270-50710 270 days ago |
0-69950 19 hours |
| 27937 |
madvorak author:madvorak |
feat(Logic/Basic): `congr_heq₂` |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-logic
|
6/0 |
Mathlib/Logic/Basic.lean |
1 |
8 |
['YaelDillies', 'fpvandoorn', 'github-actions', 'madvorak', 'vihdzp'] |
fpvandoorn assignee:fpvandoorn |
250-29192 8 months ago |
276-29977 276 days ago |
17-62644 17 days |
| 29741 |
JovanGerb author:JovanGerb |
trying #28803 using lean#10178 |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
1111/718 |
.github/actionlint.yml,.github/workflows/nightly-docgen.yml,.github/workflows/nightly_detect_failure.yml,.github/workflows/report-grind-regressions.yml,Cache/Requests.lean,Mathlib.lean,Mathlib/Algebra/Field/Rat.lean,Mathlib/Algebra/Homology/ExactSequence.lean,Mathlib/Algebra/Order/Ring/Rat.lean,Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean,Mathlib/Algebra/Polynomial/Bivariate.lean,Mathlib/Algebra/Polynomial/Eval/Defs.lean,Mathlib/Algebra/Polynomial/Eval/SMul.lean,Mathlib/Algebra/Ring/Rat.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Group/Continuity.lean,Mathlib/Analysis/SpecialFunctions/Log/Summable.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/Computability/TMToPartrec.lean,Mathlib/Data/DFinsupp/Notation.lean,Mathlib/Data/FP/Basic.lean,Mathlib/Data/Finsupp/Notation.lean,Mathlib/Data/Int/Bitwise.lean,Mathlib/Data/Int/GCD.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/Data/Nat/GCD/Basic.lean,Mathlib/Data/Nat/GCD/BigOperators.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/Data/Rat/Cast/Defs.lean,Mathlib/Data/Rat/Defs.lean,Mathlib/Data/Rat/Floor.lean,Mathlib/Data/Rat/Lemmas.lean,Mathlib/Data/Seq/Basic.lean,Mathlib/Data/UInt.lean,Mathlib/Dynamics/PeriodicPts/Defs.lean,Mathlib/GroupTheory/Perm/Centralizer.lean,Mathlib/Init.lean,Mathlib/Lean/Expr/Rat.lean,Mathlib/Lean/Meta/CongrTheorems.lean,Mathlib/LinearAlgebra/PID.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/LinearAlgebra/Vandermonde.lean,Mathlib/Logic/Equiv/Prod.lean,Mathlib/NumberTheory/Ostrowski.lean,Mathlib/NumberTheory/Padics/PadicVal/Basic.lean,Mathlib/Order/Defs/LinearOrder.lean,Mathlib/Order/Defs/PartialOrder.lean,Mathlib/Order/Disjoint.lean,Mathlib/Order/Filter/Defs.lean,Mathlib/Probability/Distributions/Pareto.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/Reassoc.lean,Mathlib/Tactic/CategoryTheory/Refs.lean,Mathlib/Tactic/DeriveFintype.lean,Mathlib/Tactic/FieldSimp.lean,Mathlib/Tactic/Hint.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/Datatypes.lean,Mathlib/Tactic/Linter/DeprecatedModule.lean,Mathlib/Tactic/Linter/Header.lean,Mathlib/Tactic/Linter/Lint.lean,Mathlib/Tactic/Linter/Style.lean,Mathlib/Tactic/NormNum/GCD.lean,Mathlib/Tactic/StacksAttribute.lean,Mathlib/Tactic/SuppressCompilation.lean,Mathlib/Tactic/ToAdditive/Frontend.lean,Mathlib/Tactic/WLOG.lean,Mathlib/Testing/Plausible/Sampleable.lean,Mathlib/Util/Notation3.lean,Mathlib/Util/ParseCommand.lean,Mathlib/Util/Superscript.lean,MathlibTest/AssertExists.lean,MathlibTest/CalcQuestionMark.lean,MathlibTest/Change.lean,MathlibTest/DeprecateTo.lean,MathlibTest/FieldSimp.lean,MathlibTest/FindSyntax.lean,MathlibTest/LibrarySearch/basic.lean,MathlibTest/LibrarySearch/mathlib.lean,MathlibTest/LibrarySearch/observe.lean,MathlibTest/MinImports.lean,MathlibTest/RewriteSearch/Basic.lean,MathlibTest/RewriteSearch/Polynomial.lean,MathlibTest/StacksAttribute.lean,MathlibTest/Subsingleton.lean,MathlibTest/Use.lean,MathlibTest/Variable.lean,MathlibTest/hint.lean,MathlibTest/lift.lean,MathlibTest/linarith.lean,MathlibTest/notation3.lean,MathlibTest/propose.lean,MathlibTest/renameBvar.lean,MathlibTest/rewrites.lean,MathlibTest/ring.lean,MathlibTest/says.lean,MathlibTest/success_if_fail_with_msg.lean |
105 |
2 |
['JovanGerb', 'leanprover-bot'] |
nobody |
250-24801 8 months ago |
250-31907 250 days ago |
0-15 15 seconds |
| 7125 |
eric-wieser author:eric-wieser |
feat: additive monoid structure via biproducts |
I suspect I'm missing a trick with these transport lemmas.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
awaiting-CI
|
237/0 |
Mathlib/CategoryTheory/Limits/Skeleton.lean |
1 |
3 |
['alreadydone', 'eric-wieser', 'mathlib4-merge-conflict-bot'] |
nobody |
249-74120 8 months ago |
unknown |
0-0 0 seconds |
| 27950 |
alreadydone author:alreadydone |
feat(MonoidAlgebra): criteria for `single` to be a unit, irreducible or prime |
---
- [ ] depends on: #27936
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
blocked-by-other-PR
label:t-algebra$ |
714/192 |
Mathlib.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/List/Lemmas.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean,Mathlib/Algebra/Divisibility/Basic.lean,Mathlib/Algebra/Divisibility/Finite.lean,Mathlib/Algebra/Divisibility/Hom.lean,Mathlib/Algebra/Divisibility/Prod.lean,Mathlib/Algebra/Divisibility/Units.lean,Mathlib/Algebra/Group/Action/Pointwise/Finset.lean,Mathlib/Algebra/Group/Irreducible/Lemmas.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Algebra/MonoidAlgebra/Divisibility.lean,Mathlib/Algebra/MonoidAlgebra/NoZeroDivisors.lean,Mathlib/Algebra/Notation/Defs.lean,Mathlib/Algebra/Prime/Defs.lean,Mathlib/Algebra/Prime/Lemmas.lean,Mathlib/Algebra/Prime/Prod.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Dynamics/PeriodicPts/Defs.lean,Mathlib/GroupTheory/Coset/Card.lean,Mathlib/GroupTheory/Exponent.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/GroupTheory/GroupAction/Period.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/OrderOfElement.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/GroupTheory/Schreier.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/Tactic/ToAdditive/Frontend.lean |
33 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
249-19342 8 months ago |
293-76821 293 days ago |
0-53 53 seconds |
| 28067 |
grunweg author:grunweg |
Docstring enumerations |
Tracking PR; to be split. Audit all ocurrences of `^ \S`; exhaustive.
---
- [x] depends on: #28068
- [x] depends on: #28069
- [ ] depends on: #28070
- [x] depends on: #28118
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
|
264/263 |
Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/BrauerGroup/Defs.lean,Mathlib/Algebra/Module/LinearMap/Polynomial.lean,Mathlib/CategoryTheory/Abelian/NonPreadditive.lean,Mathlib/CategoryTheory/EqToHom.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/Pi.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/CategoryTheory/Sites/Grothendieck.lean,Mathlib/CategoryTheory/Sites/Pretopology.lean,Mathlib/Condensed/Discrete/Characterization.lean,Mathlib/FieldTheory/ChevalleyWarning.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Basic.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean,Mathlib/MeasureTheory/OuterMeasure/Basic.lean,Mathlib/MeasureTheory/OuterMeasure/Defs.lean,Mathlib/NumberTheory/FLT/Basic.lean,Mathlib/NumberTheory/LSeries/PrimesInAP.lean,Mathlib/RingTheory/Grassmannian.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/Defs.lean,Mathlib/RingTheory/WittVector/Teichmuller.lean,Mathlib/Tactic/Bound.lean,Mathlib/Tactic/Bound/Attribute.lean,Mathlib/Tactic/ENatToNat.lean,Mathlib/Tactic/FBinop.lean,Mathlib/Tactic/IntervalCases.lean,Mathlib/Tactic/TermCongr.lean,Mathlib/Util/Notation3.lean,Mathlib/Util/Superscript.lean,docs/Conv/Guide.lean |
38 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
247-20919 8 months ago |
291-34576 291 days ago |
0-2904 48 minutes |
| 28908 |
joelriou author:joelriou |
feat(CategoryTheory): Pullback functors on `Over` categories in `Type` have right adjoints |
Given a map `f : E → B`, in order to show that `Over.pullback f : Over B ⥤ Over E` commutes with colimits, we show that it admits a right adjoint. In order to do that, we first construct a functor `overPullback f : Over B ⥤ Over E` whose definition involves explicit types rather than categorical pullbacks, and we define its right adjoint `overPushforward f : Over E ⥤ Over B`.
(In a future PR, it will be shown that the `Over.pullback` also commutes with colimits in categories of presheaves, and hopefully this will be used in the construction of the Quillen model category structure on simplicial sets.)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
|
103/0 |
Mathlib.lean,Mathlib/CategoryTheory/Limits/Types/OverPullback.lean,Mathlib/CategoryTheory/Limits/Types/Shapes.lean |
3 |
10 |
['emilyriehl', 'github-actions', 'joelriou', 'mathlib4-merge-conflict-bot', 'robin-carlier', 'sinhp'] |
nobody |
244-83685 8 months ago |
259-32018 259 days ago |
13-50151 13 days |
| 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.
---
[](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 |
243-37596 8 months ago |
243-37597 243 days ago |
20-3817 20 days |
| 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 |
243-12955 8 months ago |
255-19337 255 days ago |
0-976 16 minutes |
| 29482 |
mattrobball author:mattrobball |
refactor (Algebra.Group.Defs): add npow/zpow/nsmul/zsmul as fields of new parents classes |
Adds ZPow G class and makes this a parent to DivInvMonoid and the corresponding additive versions. Updates zpow/zsmul operations to use the integrated power/scalar multiplication syntax.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
177/122 |
Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Group/Commute/Defs.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Int/Defs.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/Basic.lean,Mathlib/Algebra/Module/NatInt.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean,Mathlib/Algebra/Ring/ULift.lean,Mathlib/Data/BitVec.lean,Mathlib/Tactic/Abel.lean,Mathlib/Tactic/NormNum/Pow.lean |
21 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
242-47854 8 months ago |
257-74179 257 days ago |
0-274 4 minutes |
| 27829 |
dupuisf author:dupuisf |
feat: modify `cfc_tac` to use `grind` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
60/50 |
Mathlib/Algebra/Order/Star/Basic.lean,Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Integral.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/NonUnital.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unital.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/PosPart/Basic.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean,Mathlib/Tactic/ContinuousFunctionalCalculus.lean |
9 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
241-15697 7 months ago |
297-13257 297 days ago |
0-1 1 second |
| 21950 |
erdOne author:erdOne |
feat(NumberTheory/Padics): the completion of `ℚ` at a finite place is `ℚ_[p]` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-number-theory
|
253/1 |
Mathlib.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/NumberTheory/Padics/HeightOneSpectrum.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean,Mathlib/Topology/Algebra/WithZeroMulInt.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean |
7 |
33 |
['Ruben-VandeVelde', 'erdOne', 'faenuccio', 'github-actions', 'leanprover-community-bot-assistant', 'pechersky', 'smmercuri', 'xroblot'] |
nobody |
241-12706 7 months ago |
322-12643 322 days ago |
73-10873 73 days |
| 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.
---
[](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 |
238-27999 7 months ago |
339-37399 339 days ago |
0-47665 13 hours |
| 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.
---
- [ ] depends on: #26679
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
786/1 |
Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Square.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
238-2788 7 months ago |
238-2789 238 days ago |
0-4464 1 hour |
| 27391 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical): pseudofunctoriality structure of categorical pullback squares |
Using pseudofunctoriality of the construction `CatCommSqOver`, we show that categorical pullback squares have pseudofunctorial-like structures: given a `CatCommSq T L R B` and a `CatPullbackSq T' L' R' B'`, and a `CatCospanTransform R B R' B'`, there is a
functor `CatPullbackSq.functorOfTransform` between the top left corners of the two squares. We give `CatCommSq` instances that relates this functor with other constructions such as `CatCommSqOver.transform`.
Similarly, we construct `CatPullbackSq.functorOfTransform₂`, that maps morphisms of `CatCospanTransforms` to natural transformations. Finally, we show that `functorOfTransform` respects identities and compositions.
We do not yet prove that all of this data satisfies all the expected properties of pseudofunctors: this will be the content of a follow-up PR.
---
- [ ] depends on: #27214
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
|
1090/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 |
238-2786 7 months ago |
306-21280 306 days ago |
0-264 4 minutes |
| 27432 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical): pseudofunctoriality of categorical pulback squares |
In this PR, we show that the "unbundled pseudofunctor" data constructed in #27391 satisfy the axioms of an actual "unbundled pseudo-functor". This is intended to give all the required coherence for a formal bicategory-like proof of the fact that `CatCospanAdjunction`s from #26578 (resp. `CatCospanEquivalence`s from #26579) promote to adjunctions (resp. equivalences) between the top left corners of categorical pullback squares.
---
- [ ] depends on: #27391
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
|
1244/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 |
238-2784 7 months ago |
305-6981 305 days ago |
0-1056 17 minutes |
| 27481 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical): adjunctions and equivalences of categorical pullback squares |
We show that a `CatCospanAdjunction` (resp `CatCospanEquivalence`) induces adjunctions (resp. equivalences) of the categories that sit at the top left corners of categorical pullback squares via the pseudofunctoriality proved in #27432. Thanks to the lemmas that proves that categorical pullback squares are fully pseudofunctorial, the proof is purely formal ("a pseudofunctor maps adjunctions (resp. equivalences) to adjunctions (resp. equivalences)"), rather than being a painful computation for the triangle equalities.
In particular, the results here show that two categorical pullback squares with equivalent "underlying categorical cospan" are equivalent, which realizes the equivalence-invariance of the notion of categorical pullbacks.
We do not yet show that a (not-necessarily pullback) `CatCommSq T L R B` equivalent to a `CatPullbackSquare T' L' R' B'` via a
`CatCospanEquivalence R B R' B'` is also a `CatPullbackSquare`: this will be the content of a follow-up PR.
---
- [ ] depends on: #27432
- [ ] depends on: #26579
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
large-import
|
1829/1 |
Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Square.lean |
4 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
238-2782 7 months ago |
304-4779 304 days ago |
0-49 49 seconds |
| 27686 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical/Square): more API for `CatPullbackSquare` |
In this PR, we provide more API around the notion of categorical pullback squares. Having established the pseudofunctoriality of the notion in #27432, we characterize the behaviour of the equivalence
`CatPullbackSquare.functorEquiv (π₁ R B) (π₂ R B) R B X : X ⥤ R ⊡ B ≌ CatCommSqOver R B X` via various (d)simp lemmas. This ports all the pseudofunctoriality and equivalence-invariance results of `CatPullbackSquare` to `CategoricalPullback`.
We also show this equivalence is isomorphic to the one from `CategoricalPullback.functorEquiv`.
Unfortunately, this small duplication is necessary, as `CatPullbackSquare.functorEquiv` is bulit using `CategoricalPullback.functorEquiv`. The equivalence `CategoricalPullback.functorEquiv` is now an implementation detail, the idiomatic way is to use `CatPullbackSquare.functorEquiv`; docstrings are updated accordingly.
This deprecates some constructions and lemmas for `CategoricalPullback`: they are now special case of the API that is available for any categorical pullback square.
---
- [ ] depends on: #27481
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
large-import
|
2245/74 |
Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Square.lean |
4 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
238-2657 7 months ago |
299-8520 299 days ago |
0-2752 45 minutes |
| 27687 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical): squares equivalent to a `CatPullbackSquare` |
We provide the last remaining piece of the "equivalence-invariance" of categorical pullback squares: given a `CatCommSq (T : C₁ ⥤ _) L R B`, a `CatPullbackSquare (T' : D₁ ⥤ _) L' R' B'`, a `ψ : CatCospanEquivalence R B R' B'` and an equivalence `C₁ ≌ D₁` that identifies to the functor induced by `ψ`, the `CatCommSq T L R B` can be promoted to a `CatPullbackSquare T L R B'`.
In other words: a `CatCommSq` that is equivalent to a `CatPullbackSquare` is a `CatPullbackSquare`.
---
- [ ] depends on: #27686
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
large-import
|
2318/74 |
Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Square.lean |
4 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
238-2655 7 months ago |
299-8869 299 days ago |
0-959 15 minutes |
| 27688 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical): coherence statement for `CatPullbackSquare.inverse` |
This PR records a "coherence" statement for `CatPullbackSquares`: it bridges the gap between the user-provided `inverse` field of the `CatPullbackSquare` structure, and the other way one can deduce an equivalence between the top left corner of the square and a categorical pullback (via the pseudofunctoriality of categorical pullback squares induced by the identity `CatCospanTransform`). We show the two possible natural isomorphisms on the inverses of the equivalences are in fact the same (hence the term "coherence").
---
- [ ] depends on: #27686
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
large-import
|
2351/74 |
Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Square.lean |
4 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
238-2654 7 months ago |
299-8523 299 days ago |
0-283 4 minutes |
| 27689 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical): horizontal pasting calculus for `CatPullbackSquare` |
Given two categorical commutative squares that can be horizontally pasted, we prove that if the rightmost square is a `CatPullbackSquare`, then the leftmost square is a `CatPullbackSquare` if and only if the horizontal composition of the squares is a `CatPullbackSquare`. This generalizes to `CatPullbackSquare` the well-known "pasting calculus" for pullback squares in a category.
The statement is made available both in terms of the `Type`-class `CatPullbackSquare`, and in terms of the `Prop`-class `IsCatPullbackSquare`.
---
- [ ] depends on: #27686
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
large-import
|
2562/74 |
Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Pasting.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Square.lean |
5 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
238-2652 7 months ago |
299-7783 299 days ago |
0-667 11 minutes |
| 27690 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical): vertical pasting calculus for `CatPullbackSquare` |
We mirror the constructions from #27689 to construct the vertical pasting calculus of `CatPullbackSquares`: given two vertically composable `CatCommSq` such that the bottom one is a `CatPullbackSquare`, the top square is a `CatPullbackSquare` if and only if the vertical composition (the "outer" square) is a `CatPullbackSquare`.
---
- [ ] depends on: #27689
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
large-import
|
2841/74 |
Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Pasting.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Square.lean |
5 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
238-2650 7 months ago |
298-27411 298 days ago |
0-5969 1 hour |
| 27740 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical): pasting calculus for `CategoricalPullback` |
Specialize the pasting calculus for categorical pullback squares to `CategoricalPullback̀` by providing equivalences of categories `R ⊡ (B₁ ⋙ B₂) ≌ (π₂ R B₂) ⊡ B₁` and `(R₁ ⋙ R₂) ⊡ B ≌ R₁ ⊡ (π₁ R₂ B)`. The `@[simps!]` attribute works wonderfully on these equivalences so that their component all have the expected (d)simp lemmas.
---
- [ ] depends on: #27690
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
large-import
|
2872/75 |
Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Pasting.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Square.lean |
5 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
238-2649 7 months ago |
298-27421 298 days ago |
0-1017 16 minutes |
| 26330 |
Timeroot author:Timeroot |
feat: "Junk value" test file |
This PR continues the work from #25173.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25173 |
awaiting-author
t-data
|
360/0 |
MathlibTest/Junk.lean |
1 |
17 |
['SnirBroshi', 'Timeroot', 'bryangingechen', 'github-actions', 'leanprover-community-bot-assistant', 'madvorak', 'pechersky', 'vihdzp'] |
pechersky assignee:pechersky |
237-56433 7 months ago |
237-56433 237 days ago |
48-67789 48 days |
| 28807 |
alreadydone author:alreadydone |
experiment: Submodule with SMul only (no Semiring) |
---
`SubMulAction` already takes `SMul`.
TODO: relax typeclass requirements of `Ideal` as well.
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-CI
merge-conflict
label:t-algebra$ |
54/42 |
Mathlib/Algebra/Module/Submodule/Defs.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
237-52222 7 months ago |
unknown |
0-0 0 seconds |
| 28808 |
alreadydone author:alreadydone |
experiment: Ideal with Mul only (no Semiring) |
---
- [ ] depends on: #28807
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
awaiting-CI
merge-conflict
label:t-algebra$ |
172/120 |
Mathlib/Algebra/Module/Submodule/Defs.lean,Mathlib/Algebra/Module/Submodule/Lattice.lean,Mathlib/LinearAlgebra/Matrix/Ideal.lean,Mathlib/LinearAlgebra/TensorProduct/Subalgebra.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/DividedPowers/SubDPIdeal.lean,Mathlib/RingTheory/Ideal/Defs.lean,Mathlib/RingTheory/Ideal/Lattice.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/Spectrum/Prime/RingHom.lean |
10 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
237-52221 7 months ago |
unknown |
0-0 0 seconds |
| 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.
---
- [ ] depends on: #25743
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebraic-topology
t-category-theory
|
571/111 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Mon_.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Monoidal.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean |
6 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
237-22190 7 months ago |
332-29474 332 days ago |
0-1708 28 minutes |
| 28074 |
grunweg author:grunweg |
Isbilinearmap |
TODO see if it builds, move everything to the right place, add docs.
update Pr description - written by Patrick, part of #26221 (and prereq for #28056)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
64/0 |
Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/LinearAlgebra/BilinearMap.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
236-74957 7 months ago |
291-34473 291 days ago |
0-2 2 seconds |
| 26579 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Limits/Pullbacks/Categorical/CatCospanTransform): equivalences of categorical cospans |
Building on the notion of adjunctions of categorical cospans, we define equivalences of categorical cospans as a structure extending that of an adjunction, with the extra data of a chosen inverse of the unit and counit morphisms.
To mirror the design for usual equivalences of categories, we provide an alternative constructor that requires the forward and
inverse direction of the equivalence, as well as unit and counits already as isomorphisms, and only a proof of the left triangle identity.
Finally, we also provide a third constructor that builds such an equivalence out of the data of 3 component equivalences of categories, as well as chosen `CatCommSq` on the functors of the these equivalences.
This notion of equivalence of categorical cospans is intended to encode the required data to show the full equivalence invariance of the categorical pullback defined in #26366.
---
- [ ] depends on: #26578
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
large-import
|
438/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 |
236-29054 7 months ago |
328-33595 328 days ago |
0-838 13 minutes |
| 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).
---
- [x] depends on: #26447
- [x] depends on: #26547
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
large-import
|
205/0 |
Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean |
1 |
5 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
236-25415 7 months ago |
328-34587 328 days ago |
0-625 10 minutes |
| 26115 |
grunweg author:grunweg |
WIP/proof of concept,feat: the inverse function theorem for manifolds |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-differential-geometry
|
348/0 |
Mathlib.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Geometry/Manifold/InverseFunctionTheorem.lean,Mathlib/Topology/PartialHomeomorph.lean |
4 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
235-27302 7 months ago |
unknown |
0-0 0 seconds |
| 28245 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Bicategory/NaturalTransformation/Icon): strict associativity and unitality of icon composition |
We show that the vertical composition of icons defined in #28244 satisfies strict associativity and strict unitality. This morally shows that icons are fit as the 2-cells of a bicategory structure on bicategories and lax functors, though we do not record an instance of this sort.
---
- [ ] depends on: #28244
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-other-PR
t-category-theory
awaiting-CI
large-import
merge-conflict
|
975/33 |
Mathlib.lean,Mathlib/CategoryTheory/Bicategory/EqToHom.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Icon.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Lax.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Oplax.lean,Mathlib/CategoryTheory/Bicategory/Strict.lean,Mathlib/CategoryTheory/EqToHom.lean,scripts/noshake.json |
8 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
234-80326 7 months ago |
287-8871 287 days ago |
0-331 5 minutes |
| 30079 |
dagurtomas author:dagurtomas |
feat(CategoryTheory): IsSheafFor as a multiequalizer condition |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
|
112/0 |
Mathlib/CategoryTheory/Sites/Multifork.lean |
1 |
3 |
['chrisflav', 'github-actions', 'joelriou'] |
nobody |
234-67650 7 months ago |
237-46456 237 days ago |
0-1 1 second |
| 29012 |
grunweg author:grunweg |
chore: reduce `Topology` imports in `Data` |
Move Data.Real.Sqrt to Analysis.
---
- [ ] depends on: #28966
[](https://gitpod.io/from-referrer/)
|
merge-conflict
file-removed
|
25/21 |
Archive/Imo/Imo1959Q2.lean,Archive/Imo/Imo1960Q2.lean,Archive/Imo/Imo2008Q3.lean,Archive/Imo/Imo2008Q4.lean,Archive/Sensitivity.lean,Mathlib.lean,Mathlib/Algebra/Star/CHSH.lean,Mathlib/Analysis/Complex/Norm.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/Normed/Module/Ball/Homeomorph.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/Real/Sqrt.lean,Mathlib/Data/Rat/NatSqrt/Real.lean,Mathlib/Data/Real/CompleteField.lean,Mathlib/Data/Real/Irrational.lean,Mathlib/Data/Real/StarOrdered.lean,Mathlib/NumberTheory/Zsqrtd/ToReal.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,Mathlib/Tactic/NormNum/RealSqrt.lean,MathlibTest/positivity.lean |
20 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
234-20728 7 months ago |
271-30674 271 days ago |
0-2683 44 minutes |
| 26601 |
yuma-mizuno author:yuma-mizuno |
feat(CategoryTheory): make `Functor.comp` irreducible |
[#mathlib4 > Functor identity `𝟭 _ ⋙ F = F` is definitional equality](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Functor.20identity.20.60.F0.9D.9F.AD.20_.20.E2.8B.99.20F.20.3D.20F.60.20is.20definitional.20equality/with/523978659)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
514/261 |
Mathlib/AlgebraicTopology/DoldKan/Compatibility.lean,Mathlib/AlgebraicTopology/SimplexCategory/Defs.lean,Mathlib/CategoryTheory/Adjunction/Basic.lean,Mathlib/CategoryTheory/CatCommSq.lean,Mathlib/CategoryTheory/Category/Cat.lean,Mathlib/CategoryTheory/Category/RelCat.lean,Mathlib/CategoryTheory/Category/ULift.lean,Mathlib/CategoryTheory/Core.lean,Mathlib/CategoryTheory/Discrete/Basic.lean,Mathlib/CategoryTheory/EqToHom.lean,Mathlib/CategoryTheory/Equivalence.lean,Mathlib/CategoryTheory/Functor/Basic.lean,Mathlib/CategoryTheory/Functor/Category.lean,Mathlib/CategoryTheory/Functor/Const.lean,Mathlib/CategoryTheory/Functor/Currying.lean,Mathlib/CategoryTheory/Functor/CurryingThree.lean,Mathlib/CategoryTheory/Functor/FullyFaithful.lean,Mathlib/CategoryTheory/Functor/Functorial.lean,Mathlib/CategoryTheory/Functor/ReflectsIso/Basic.lean,Mathlib/CategoryTheory/Functor/TwoSquare.lean,Mathlib/CategoryTheory/Groupoid/FreeGroupoid.lean,Mathlib/CategoryTheory/Join/Basic.lean,Mathlib/CategoryTheory/Limits/Cones.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/ObjectProperty/FullSubcategory.lean,Mathlib/CategoryTheory/Opposites.lean,Mathlib/CategoryTheory/PathCategory/Basic.lean,Mathlib/CategoryTheory/Pi/Basic.lean,Mathlib/CategoryTheory/Products/Associator.lean,Mathlib/CategoryTheory/Products/Basic.lean,Mathlib/CategoryTheory/Quotient.lean,Mathlib/CategoryTheory/Sigma/Basic.lean,Mathlib/CategoryTheory/Whiskering.lean,Mathlib/CategoryTheory/Yoneda.lean |
34 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
nobody |
234-8529 7 months ago |
unknown |
0-0 0 seconds |
| 23621 |
astrainfinita author:astrainfinita |
chore: deprecate `LinearOrderedComm{Monoid, Group}WithZero` |
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #20676
|
merge-conflict
t-algebra
t-order
label:t-algebra$ |
261/205 |
Archive/Imo/Imo1998Q2.lean,Counterexamples/LinearOrderWithPosMulPosEqZero.lean,Mathlib/Algebra/Order/Field/Canonical.lean,Mathlib/Algebra/Order/Field/Rat.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Nonneg/Field.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/Combinatorics/Additive/PluenneckeRuzsa.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Basic.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/NNRat/Lemmas.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Rat/Cast/Order.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Defs.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/NumberTheory/EllipticDivisibilitySequence.lean,Mathlib/NumberTheory/FunctionField.lean,Mathlib/NumberTheory/Ostrowski.lean,Mathlib/RingTheory/Valuation/Archimedean.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/ExtendToLocalization.lean,Mathlib/RingTheory/Valuation/Integers.lean,Mathlib/RingTheory/Valuation/Integral.lean,Mathlib/RingTheory/Valuation/Minpoly.lean,Mathlib/RingTheory/Valuation/Quotient.lean,Mathlib/RingTheory/Valuation/RankOne.lean,Mathlib/RingTheory/Valuation/ValExtension.lean,Mathlib/RingTheory/Valuation/ValuationRing.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/Topology/Algebra/Valued/LocallyCompact.lean,Mathlib/Topology/Algebra/Valued/NormedValued.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean,Mathlib/Topology/Algebra/Valued/ValuedField.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean,Mathlib/Topology/UnitInterval.lean,MathlibTest/instance_diamonds.lean,scripts/noshake.json |
44 |
24 |
['YaelDillies', 'astrainfinita', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
kbuzzard assignee:kbuzzard |
233-7130 7 months ago |
403-65903 403 days ago |
5-42380 5 days |
| 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)
---
[](https://gitpod.io/from-referrer/)
|
IMO
awaiting-author
new-contributor
|
196/0 |
Archive.lean,Archive/Imo/Imo1975Q3.lean |
2 |
36 |
['Antidite', 'LLaurance', 'github-actions', 'jsm28'] |
jsm28 assignee:jsm28 |
232-80145 7 months ago |
232-80145 232 days ago |
46-25852 46 days |
| 30192 |
erdOne author:erdOne |
feat(RingTheory): valuative topology = adic topology for discrete rank 1 valuations |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-ring-theory
t-topology
|
190/2 |
Mathlib.lean,Mathlib/Order/Filter/Bases/Basic.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Integers.lean,Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean |
6 |
3 |
['erdOne', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
232-22853 7 months ago |
233-17298 233 days ago |
0-331 5 minutes |
| 26886 |
pechersky author:pechersky |
feat(NumberTheory/Padics/ValuativeRel): ValuativeRel ℚ_[p] |
as well as instances for IsRankLeOne, IsNontrivial, IsDiscrete
---
[](https://gitpod.io/from-referrer/)
- [ ] depends on: #26827 |
WIP
t-number-theory
blocked-by-other-PR
t-algebra
merge-conflict
t-analysis
label:t-algebra$ |
310/25 |
Mathlib.lean,Mathlib/Analysis/Normed/ValuativeRel.lean,Mathlib/NumberTheory/Padics/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean |
4 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
231-66730 7 months ago |
321-51658 321 days ago |
0-1386 23 minutes |
| 27314 |
pechersky author:pechersky |
feat(TopologyValued): `Valued` based on a range topology |
Switch from a topology based on `fun γ : Γ₀ˣ => (v.ltAddSubgroup γ : AddSubgroup R)` to
```
fun rs : {rs : R × R // v rs.1 ≠ 0 ∧ v rs.2 ≠ 0} ↦
(v.ltAddSubgroup (Units.mk0 (v rs.val.2 / v rs.val.1) (by simp [rs.prop])) : AddSubgroup R)
```
This is in preparation for using `IsValuativeTopology` instead. In fact, that basis is precisely what `ValuativeTopology` asserts.
`Valued.mk'` is kept, we do not yet rely on `IsValuativeTopology` and `UniformSpace`.
The new `Valued` behaves the same way as it did before for `MulArchimedean` valuation codomains, which are all of the current in-mathlib uses of `Valued`. This is, for rank-one valuations. For valuations which rank one, but do not pass to the whole codomain, there are helper lemmas to discuss open/closed/clopen sets.
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #27264
- [x] depends on: #27265
- [ ] depends on: #27163
- [x] depends on: #27339 |
merge-conflict
t-topology
blocked-by-other-PR
|
733/259 |
Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/NumberTheory/FunctionField.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/Valuation/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/LocallyCompact.lean,Mathlib/Topology/Algebra/Valued/NormedValued.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuedField.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean,Mathlib/Topology/Algebra/Valued/WithZeroMulInt.lean |
12 |
9 |
['github-actions', 'kckennylau', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
231-13381 7 months ago |
308-54487 308 days ago |
0-22127 6 hours |
| 30135 |
erdOne author:erdOne |
feat(RingTheory): `ValuativeRel` on subrings |
---
@pechersky do we want this?
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-ring-theory
|
19/0 |
Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean |
1 |
5 |
['erdOne', 'github-actions', 'pechersky'] |
nobody |
231-7426 7 months ago |
231-66518 231 days ago |
3-20137 3 days |
| 28328 |
pechersky author:pechersky |
chore(Topology/Valued): golf using local finite order of WithZeroTopology |
have to juggle in a version of `mrangeRestrict`
which works on valuations,
and also juggle the scoped topology over
the subtype topology
---
[](https://gitpod.io/from-referrer/)
- [ ] depends on: #28325 |
t-number-theory
blocked-by-other-PR
t-algebra
large-import
merge-conflict
t-topology
label:t-algebra$ |
187/88 |
Mathlib/Topology/Algebra/GroupWithZero.lean,Mathlib/Topology/Algebra/Valued/LocallyCompact.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean,Mathlib/Topology/Compactness/Compact.lean |
4 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
227-24802 7 months ago |
285-41764 285 days ago |
0-1600 26 minutes |
| 16773 |
arulandu author:arulandu |
feat(Probability/Distributions): formalize Beta distribution |
Formalize Beta distribution, using Gamma distribution as a reference. Added real-valued beta wrapper, in the manner of gamma. Thanks to @EtienneC30 for help with casting real <-> complex.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
new-contributor
t-measure-probability
|
286/1 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Probability/Distributions/Beta.lean |
3 |
50 |
['EtienneC30', 'arulandu', 'github-actions', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
arulandu assignee:arulandu |
227-3050 7 months ago |
617-30599 617 days ago |
1-21124 1 day |
| 30359 |
JLimperg author:JLimperg |
[Not a PR] Benchmark for Aesop RPINF precompilation |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
file-removed
|
5/3 |
lake-manifest.json,lakefile.lean,scripts/bench/fake-root/lib/lean/libleanshared.so,scripts/bench/run |
4 |
5 |
['JLimperg', 'github-actions', 'leanprover-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
226-81457 7 months ago |
unknown |
0-0 0 seconds |
| 30425 |
JLimperg author:JLimperg |
[Not a PR] Benchmark Aesop with precompiled RPINF at instance transparency |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
5/3 |
lake-manifest.json,lakefile.lean,scripts/bench/fake-root/lib/lean/libleanshared.so,scripts/bench/run |
4 |
3 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
226-63591 7 months ago |
unknown |
0-0 0 seconds |
| 30438 |
JLimperg author:JLimperg |
[Not a PR] Benchmark Aesop change that computes fewer RPINFs |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
5/3 |
lake-manifest.json,lakefile.lean,scripts/bench/fake-root/lib/lean/libleanshared.so,scripts/bench/run |
4 |
5 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
226-7539 7 months ago |
unknown |
0-0 0 seconds |
| 30440 |
JLimperg author:JLimperg |
[Not a PR] Benchmark Aesop with no `hypTypes` in `ForwardState` and `instances` RPINF transparency |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
5/3 |
lake-manifest.json,lakefile.lean,scripts/bench/fake-root/lib/lean/libleanshared.so,scripts/bench/run |
4 |
3 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
226-3020 7 months ago |
unknown |
0-0 0 seconds |
| 30452 |
JLimperg author:JLimperg |
[Not a PR] Benchmark Aesop with no `hypTypes` in `ForwardState`, RPINF at `instances` transparency and lazy forward state |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
5/3 |
lake-manifest.json,lakefile.lean,scripts/bench/fake-root/lib/lean/libleanshared.so,scripts/bench/run |
4 |
3 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
225-70299 7 months ago |
unknown |
0-0 0 seconds |
| 26284 |
plp127 author:plp127 |
feat: faster implementation of `Nat.primeFactorsList` + `@[csimp]` lemma |
Add a function `Nat.primeFactorsListFast` that `#eval`s faster, and a `@[csimp]` lemma `Nat.primeFactorsList_eq_primeFactorsListFast` that shows `Nat.primeFactorsList = Nat.primeFactorsListFast`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
|
95/0 |
Mathlib/Data/Nat/Factors.lean |
1 |
11 |
['b-mehta', 'github-actions', 'grunweg', 'plp127'] |
b-mehta assignee:b-mehta |
225-19928 7 months ago |
225-47141 225 days ago |
111-15071 111 days |
| 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.
---
[](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 |
225-9261 7 months ago |
225-9262 225 days ago |
67-79609 67 days |
| 28243 |
robin-carlier author:robin-carlier |
chore(CategoryTheory/Bicategory): move some `eqToHom` lemmas |
The file `CategoryTheory/Bicategory/EqToHom.lean` introduced in #28242 is a more suitable hom for the lemmas `CategoryTheory.Bicategory.whiskerLeft_eqToHom` and `CategoryTheory.Bicategory.eqToHom_whiskerRight` than the current `CategoryTheory/Bicategory/Strict.lean`. We move these lemmas to the new file, and make `CategoryTheory/Bicategory/Strict` import these lemmas.
---
- [x] depends on: #28242
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
|
165/23 |
Mathlib.lean,Mathlib/CategoryTheory/Bicategory/EqToHom.lean,Mathlib/CategoryTheory/Bicategory/Strict.lean,Mathlib/CategoryTheory/EqToHom.lean,scripts/noshake.json |
5 |
9 |
['github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
nobody |
225-5999 7 months ago |
234-80329 234 days ago |
0-9063 2 hours |
| 26913 |
Paul-Lez author:Paul-Lez |
feat(NumberTheory/{*}): add a few lemmas about number field and cyclotomic extensions |
The motivation for this PR is that the main statement in [this PR](https://github.com/google-deepmind/formal-conjectures/pull/297) shouldn't need to assume `p` has type `PNat` for the instances to work.
This is still WIP as I need to clean up (currently waiting on the build!)
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-number-theory
t-algebra
awaiting-CI
merge-conflict
label:t-algebra$ |
52/0 |
Mathlib/NumberTheory/ClassNumber/Temporary.lean,Mathlib/NumberTheory/Cyclotomic/Basic.lean,Mathlib/NumberTheory/Cyclotomic/Embeddings.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/TotallyRealComplex.lean |
4 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
222-10837 7 months ago |
320-71611 320 days ago |
0-28 28 seconds |
| 27302 |
tristan-f-r author:tristan-f-r |
feat(Fintype/Quotient): finLiftOn₂ |
The combination of [`Quotient.finLiftOn`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Fintype/Quotient.html#Quotient.finLiftOn) and [`liftOn₂`](https://leanprover-community.github.io/mathlib4_docs/Init/Core.html#Quotient.liftOn%E2%82%82).
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
|
19/0 |
Mathlib/Data/Fintype/Quotient.lean |
1 |
12 |
['github-actions', 'kckennylau', 'pechersky', 'tristan-f-r', 'vihdzp'] |
pechersky assignee:pechersky |
221-47193 7 months ago |
221-47193 221 days ago |
6-5358 6 days |
| 28925 |
grunweg author:grunweg |
chore: remove `linear_combination'` tactic |
When `linear_combination` was refactored in #15899, the old code was kept as the `linear_combination'` tactic, for easier migration. The consensus of the zulip discussion ([#mathlib4 > Narrowing the scope of `linear_combination` @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Narrowing.20the.20scope.20of.20.60linear_combination.60/near/470237816)) was to wait, and "revisit this once people have experienced the various tactics in practice".
One year later, the old tactic has almost no uses: it is unused in mathlib; [searching on github](https://github.com/search?q=linear_combination%27%20path%3A*.lean&type=code) yields 37 hits --- all of which are in various forks of mathlib. Thus, removing this tactic seems appropriate.
---
Do not merge before the zulip discussion has concluded!
[](https://gitpod.io/from-referrer/)
|
merge-conflict
file-removed
awaiting-zulip
|
0/564 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/LinearCombination'.lean,Mathlib/Tactic/Linter/UnusedTactic.lean,MathlibTest/linear_combination'.lean |
5 |
4 |
['euprunin', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
221-42269 7 months ago |
272-74066 272 days ago |
0-1 1 second |
| 19616 |
adamtopaz author:adamtopaz |
fix: fix the definition of the absolute Galois group of a field |
Previously it was defined as the Galois group of the algebraic closure, as opposed to the separable closure.
Also, this adds some missing instances for this group.
Still missing is compactness, but that seems like a bigger project.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-author
t-number-theory
label:t-algebra$ |
23/8 |
Mathlib/FieldTheory/AbsoluteGaloisGroup.lean,Mathlib/FieldTheory/KrullTopology.lean |
2 |
4 |
['acmepjz', 'alreadydone', 'github-actions'] |
nobody |
219-36040 7 months ago |
538-14536 538 days ago |
3-64280 3 days |
| 28826 |
alreadydone author:alreadydone |
feat(CategoryTheory): Additive and Linear when Hom types are only monoids |
+ introduce Presemiadditive categories, which generalizes Preadditive categories: the Hom sets are commutative monoids rather than groups, and `comp_zero` and `zero_comp` is no longer automatic. The new file Preadditive/Semi.lean is adapted from Preadditive/Basic.lean, though many contents can't be generalized.
+ generalize Functor.Additive and Functor.Linear to take Presemiadditive categories instead. The former needs a `map_zero` field since it's not automatic for Presemiadditive categories.
+ introduce SemimoduleCat, the category of semimodules (mathlib's Module) over a Semiring. The new file ModuleCat/Semi.lean is copied from ModuleCat/Basic.lean.
TODOs: additive/linear equivalence between SemimoduleCat and ModuleCat and use it to transfer results; monoidal structure on SemimoduleCat; change `CommRing.Pic` to use SemimoduleCat.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
awaiting-CI
|
978/123 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Semi.lean,Mathlib/Algebra/Category/MonCat/Presemiadditive.lean,Mathlib/CategoryTheory/Linear/Basic.lean,Mathlib/CategoryTheory/Preadditive/AdditiveFunctor.lean,Mathlib/CategoryTheory/Preadditive/Basic.lean,Mathlib/CategoryTheory/Preadditive/Biproducts.lean,Mathlib/CategoryTheory/Preadditive/FunctorCategory.lean,Mathlib/CategoryTheory/Preadditive/Semi.lean |
9 |
4 |
['alreadydone', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127'] |
nobody |
219-29825 7 months ago |
274-64670 274 days ago |
0-1 1 second |
| 16428 |
astrainfinita author:astrainfinita |
test use `QuotLike` APIs |
---
- [ ] depends on: #16421
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
1501/564 |
Mathlib.lean,Mathlib/Algebra/Associated/Basic.lean,Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Order/CauSeq/Completion.lean,Mathlib/Algebra/Quandle.lean,Mathlib/CategoryTheory/IsomorphismClasses.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean,Mathlib/CategoryTheory/Skeletal.lean,Mathlib/Data/Finmap.lean,Mathlib/Data/Fintype/Quotient.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/Multiset/Functor.lean,Mathlib/Data/QPF/Multivariate/Constructions/Fix.lean,Mathlib/Data/QPF/Univariate/Basic.lean,Mathlib/Data/Quot.lean,Mathlib/Data/QuotLike.lean,Mathlib/Data/Real/Basic.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/GroupTheory/Coset/Basic.lean,Mathlib/GroupTheory/Coset/Defs.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/ConjAct.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/GroupTheory/Subgroup/Center.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/LinearAlgebra/Quotient/Defs.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Logic/Relation.lean,Mathlib/Order/RelIso/Basic.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Finite.lean,Mathlib/SetTheory/Game/Basic.lean,Mathlib/SetTheory/Lists.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/Topology/Inseparable.lean,test/QuotLike.lean |
43 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
218-44404 7 months ago |
unknown |
0-0 0 seconds |
| 16210 |
astrainfinita author:astrainfinita |
Clean up quotient APIs |
~~We may migrate to `Quot` and `IsEquiv` APIs in the future, but it might be a good start to clean up `Quotient` APIs anyway.~~
The diffs in this PR did not include `QuotLike` APIs, but eventually I decided to migrate to `QuotLike` before deprecating some old APIs. This is because some lemmas don't have alternatives that don't use `· ≈ ·`, and the alternatives that use `· ≈ ·` are in the core. See [Zulip](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/.60.28.C2.B7.20.E2.89.88.20.C2.B7.29.60.20in.20.60Quotient.60.20APIs/near/466970386).
---
- [x] depends on: #16254
- [x] depends on: #16256
- [x] depends on: #16258
- [x] depends on: #16260
- [x] depends on: #16264
- [x] depends on: #16267
- [ ] depends on: #16314
- [x] depends on: #16410
- [x] depends on: #17588
- [x] depends on: #17594
- [x] depends on: #17940
- [ ] depends on: #17941
---
`QuotLike`
- [ ] depends on: #16421
- [ ] depends on: #16428
---
[remaining diffs](https://github.com/leanprover-community/mathlib4/compare/FR_quot_now..FR_quot)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
tech debt
blocked-by-other-PR
t-data
|
1015/1114 |
Counterexamples/CliffordAlgebraNotInjective.lean,Mathlib/Algebra/Associated/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset.lean,Mathlib/Algebra/CharZero/Quotient.lean,Mathlib/Algebra/DirectLimit.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Lie/Free.lean,Mathlib/Algebra/Lie/Quotient.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/Module/Zlattice/Basic.lean,Mathlib/Algebra/Order/CauSeq/Completion.lean,Mathlib/Algebra/Periodic.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean,Mathlib/Analysis/Normed/Group/Quotient.lean,Mathlib/Analysis/Normed/Group/SemiNormedGrp/Kernels.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/CategoryTheory/ConnectedComponents.lean,Mathlib/CategoryTheory/Limits/Shapes/SingleObj.lean,Mathlib/CategoryTheory/Limits/Types.lean,Mathlib/CategoryTheory/Skeletal.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Subobject/FactorThru.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/Combinatorics/Quiver/ConnectedComponent.lean,Mathlib/Combinatorics/SimpleGraph/Path.lean,Mathlib/Computability/Reduce.lean,Mathlib/Computability/TuringMachine.lean,Mathlib/Data/Countable/Defs.lean,Mathlib/Data/FinEnum.lean,Mathlib/Data/Finite/Basic.lean,Mathlib/Data/Fintype/Basic.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Data/Fintype/Quotient.lean,Mathlib/Data/List/Cycle.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/Data/Setoid/Partition.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,Mathlib/FieldTheory/PerfectClosure.lean,Mathlib/FieldTheory/SplittingField/Construction.lean,Mathlib/GroupTheory/Abelianization.lean,Mathlib/GroupTheory/Commensurable.lean,Mathlib/GroupTheory/CommutingProbability.lean,Mathlib/GroupTheory/Complement.lean,Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/GroupTheory/Coprod/Basic.lean,Mathlib/GroupTheory/Coset/Basic.lean,Mathlib/GroupTheory/DoubleCoset.lean,Mathlib/GroupTheory/FreeAbelianGroup.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/ConjAct.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/PGroup.lean,Mathlib/GroupTheory/Perm/Cycle/Concrete.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/GroupTheory/SchurZassenhaus.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/GroupTheory/Transfer.lean,Mathlib/LinearAlgebra/Alternating/DomCoprod.lean,Mathlib/LinearAlgebra/Dimension/Constructions.lean,Mathlib/LinearAlgebra/InvariantBasisNumber.lean,Mathlib/LinearAlgebra/Isomorphisms.lean,Mathlib/LinearAlgebra/Projectivization/Basic.lean,Mathlib/LinearAlgebra/Quotient.lean,Mathlib/LinearAlgebra/QuotientPi.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/MeasureTheory/Constructions/Polish/Basic.lean,Mathlib/MeasureTheory/Function/AEEqFun.lean,Mathlib/MeasureTheory/Group/FundamentalDomain.lean,Mathlib/MeasureTheory/MeasurableSpace/Basic.lean,Mathlib/MeasureTheory/Measure/Haar/Quotient.lean,Mathlib/ModelTheory/DirectLimit.lean,Mathlib/ModelTheory/Fraisse.lean,Mathlib/ModelTheory/Ultraproducts.lean,Mathlib/NumberTheory/NumberField/Embeddings.lean,Mathlib/NumberTheory/NumberField/Units/DirichletTheorem.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/RamificationInertia.lean,Mathlib/Order/Antisymmetrization.lean,Mathlib/Order/Category/PartOrd.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/Order/Partition/Finpartition.lean,Mathlib/Order/RelIso/Basic.lean,Mathlib/RepresentationTheory/GroupCohomology/Hilbert90.lean,Mathlib/RingTheory/AdicCompletion/Algebra.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/Functoriality.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Congruence/Basic.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean |
134 |
6 |
['astrainfinita', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
nobody |
218-44403 7 months ago |
unknown |
0-0 0 seconds |
| 30642 |
thorimur author:thorimur |
bench: lean4#10832 |
|
merge-conflict
large-import
|
507/460 |
.github/workflows/nightly-docgen.yml,Cache/IO.lean,Mathlib.lean,Mathlib/Algebra/Algebra/StrictPositivity.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/Notation/Defs.lean,Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean,Mathlib/Algebra/Polynomial/RuleOfSigns.lean,Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/FiveWheelLike.lean,Mathlib/Computability/DFA.lean,Mathlib/Computability/RegularExpressions.lean,Mathlib/Control/Monad/Cont.lean,Mathlib/Data/Finset/Attach.lean,Mathlib/Data/Finset/Defs.lean,Mathlib/Data/Finset/Empty.lean,Mathlib/Data/Finsupp/Notation.lean,Mathlib/Data/Fintype/Defs.lean,Mathlib/Data/Fintype/EquivFin.lean,Mathlib/Data/Int/LeastGreatest.lean,Mathlib/Data/List/Chain.lean,Mathlib/Data/List/Flatten.lean,Mathlib/Data/List/SplitOn.lean,Mathlib/Data/List/Triplewise.lean,Mathlib/Data/Multiset/ZeroCons.lean,Mathlib/Data/Nat/Digits/Defs.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Data/String/Basic.lean,Mathlib/Data/String/Defs.lean,Mathlib/Data/String/Lemmas.lean,Mathlib/Lean/Elab/InfoTree.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/LebesgueDifferentiationThm.lean,Mathlib/Order/CompleteLattice/MulticoequalizerDiagram.lean,Mathlib/SetTheory/PGame/Basic.lean,Mathlib/Tactic/Basic.lean,Mathlib/Tactic/DeclarationNames.lean,Mathlib/Tactic/Hint.lean,Mathlib/Tactic/Linter/CommandStart.lean,Mathlib/Tactic/Linter/DocString.lean,Mathlib/Tactic/Linter/Header.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/Says.lean,Mathlib/Tactic/SuccessIfFailWithMsg.lean,Mathlib/Tactic/ToAdditive/Frontend.lean,Mathlib/Tactic/ToAdditive/GuessName.lean,Mathlib/Tactic/ToExpr.lean,Mathlib/Tactic/Widget/Calc.lean,Mathlib/Tactic/Widget/CongrM.lean,Mathlib/Tactic/Widget/Conv.lean,Mathlib/Tactic/Widget/GCongr.lean,Mathlib/Tactic/Widget/InteractiveUnfold.lean,Mathlib/Tactic/Widget/LibraryRewrite.lean,Mathlib/Tactic/Widget/SelectPanelUtils.lean,Mathlib/Util/CompileInductive.lean,Mathlib/Util/Superscript.lean,MathlibTest/CalcQuestionMark.lean,MathlibTest/Change.lean,MathlibTest/DeprecateTo.lean,MathlibTest/FieldSimp.lean,MathlibTest/FindSyntax.lean,MathlibTest/LibraryRewrite.lean,MathlibTest/LibrarySearch/basic.lean,MathlibTest/LibrarySearch/mathlib.lean,MathlibTest/LibrarySearch/observe.lean,MathlibTest/Simps.lean,MathlibTest/Subsingleton.lean,MathlibTest/Use.lean,MathlibTest/Util/PrintSorries.lean,MathlibTest/Variable.lean,MathlibTest/fast_instance.lean,MathlibTest/grind/pairwise_disjoint.lean,MathlibTest/hint.lean,MathlibTest/propose.lean,MathlibTest/rewrites.lean,MathlibTest/ring.lean,MathlibTest/says.lean,MathlibTest/says_whitespace.lean,MathlibTest/success_if_fail_with_msg.lean,MathlibTest/toAdditive.lean,lake-manifest.json,lakefile.lean,lean-toolchain,scripts/check-yaml.lean,scripts/noshake.json |
92 |
4 |
['github-actions', 'leanprover-bot', 'mathlib4-merge-conflict-bot', 'thorimur'] |
nobody |
218-4214 7 months ago |
unknown |
0-0 0 seconds |
| 30643 |
thorimur author:thorimur |
bench: before lean4#10832 |
|
merge-conflict
large-import
|
507/460 |
.github/workflows/nightly-docgen.yml,Cache/IO.lean,Mathlib.lean,Mathlib/Algebra/Algebra/StrictPositivity.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/Notation/Defs.lean,Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean,Mathlib/Algebra/Polynomial/RuleOfSigns.lean,Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/FiveWheelLike.lean,Mathlib/Computability/DFA.lean,Mathlib/Computability/RegularExpressions.lean,Mathlib/Control/Monad/Cont.lean,Mathlib/Data/Finset/Attach.lean,Mathlib/Data/Finset/Defs.lean,Mathlib/Data/Finset/Empty.lean,Mathlib/Data/Finsupp/Notation.lean,Mathlib/Data/Fintype/Defs.lean,Mathlib/Data/Fintype/EquivFin.lean,Mathlib/Data/Int/LeastGreatest.lean,Mathlib/Data/List/Chain.lean,Mathlib/Data/List/Flatten.lean,Mathlib/Data/List/SplitOn.lean,Mathlib/Data/List/Triplewise.lean,Mathlib/Data/Multiset/ZeroCons.lean,Mathlib/Data/Nat/Digits/Defs.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Data/String/Basic.lean,Mathlib/Data/String/Defs.lean,Mathlib/Data/String/Lemmas.lean,Mathlib/Lean/Elab/InfoTree.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/LebesgueDifferentiationThm.lean,Mathlib/Order/CompleteLattice/MulticoequalizerDiagram.lean,Mathlib/SetTheory/PGame/Basic.lean,Mathlib/Tactic/Basic.lean,Mathlib/Tactic/DeclarationNames.lean,Mathlib/Tactic/Hint.lean,Mathlib/Tactic/Linter/CommandStart.lean,Mathlib/Tactic/Linter/DocString.lean,Mathlib/Tactic/Linter/Header.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/Says.lean,Mathlib/Tactic/SuccessIfFailWithMsg.lean,Mathlib/Tactic/ToAdditive/Frontend.lean,Mathlib/Tactic/ToAdditive/GuessName.lean,Mathlib/Tactic/ToExpr.lean,Mathlib/Tactic/Widget/Calc.lean,Mathlib/Tactic/Widget/CongrM.lean,Mathlib/Tactic/Widget/Conv.lean,Mathlib/Tactic/Widget/GCongr.lean,Mathlib/Tactic/Widget/InteractiveUnfold.lean,Mathlib/Tactic/Widget/LibraryRewrite.lean,Mathlib/Tactic/Widget/SelectPanelUtils.lean,Mathlib/Util/CompileInductive.lean,Mathlib/Util/Superscript.lean,MathlibTest/CalcQuestionMark.lean,MathlibTest/Change.lean,MathlibTest/DeprecateTo.lean,MathlibTest/FieldSimp.lean,MathlibTest/FindSyntax.lean,MathlibTest/LibraryRewrite.lean,MathlibTest/LibrarySearch/basic.lean,MathlibTest/LibrarySearch/mathlib.lean,MathlibTest/LibrarySearch/observe.lean,MathlibTest/Simps.lean,MathlibTest/Subsingleton.lean,MathlibTest/Use.lean,MathlibTest/Util/PrintSorries.lean,MathlibTest/Variable.lean,MathlibTest/fast_instance.lean,MathlibTest/grind/pairwise_disjoint.lean,MathlibTest/hint.lean,MathlibTest/propose.lean,MathlibTest/rewrites.lean,MathlibTest/ring.lean,MathlibTest/says.lean,MathlibTest/says_whitespace.lean,MathlibTest/success_if_fail_with_msg.lean,MathlibTest/toAdditive.lean,lake-manifest.json,lakefile.lean,lean-toolchain,scripts/check-yaml.lean,scripts/noshake.json |
92 |
4 |
['github-actions', 'leanprover-bot', 'mathlib4-merge-conflict-bot', 'thorimur'] |
nobody |
218-4213 7 months ago |
unknown |
0-0 0 seconds |
| 26291 |
RemyDegenne author:RemyDegenne |
feat(Probability): Cameron-Martin theorem |
- Definition of the Cameron-Martin space of a Gaussian measure
- The Cameron-Martin theorem: shifting a Gaussian measure by an element of the Cameron-Martin space gives an equivalent measure, and shifting by an element which is not in the Cameron-Martin space gives a mutually singular measure.
---
- [x] depends on: #24975
- [x] depends on: #24969
- [x] depends on: #24930
- [x] depends on: #24925
- [x] depends on: #24900
- [x] depends on: #25532
- [x] depends on: #27022
- [x] depends on: #27027
- [x] depends on: #27029
- [x] depends on: #27123
- [x] depends on: #27610
- [x] depends on: #28342
- [x] depends on: #28343
- [x] depends on: #30167
- [x] depends on: #30346
- [x] depends on: #30348
- [ ] depends on: #30582
- [x] depends on: #31551
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #24430.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/24430* |
WIP
blocked-by-other-PR
t-measure-probability
merge-conflict
|
1963/13 |
Mathlib.lean,Mathlib/Probability/Distributions/Gaussian/CameronMartin.lean,Mathlib/Probability/Distributions/Gaussian/CameronMartinThm.lean,Mathlib/Probability/Distributions/Gaussian/CompletionResultsToBeMoved.lean,Mathlib/Probability/Distributions/Gaussian/Real.lean,Mathlib/Probability/Moments/CovarianceBilinDual.lean,Mathlib/Probability/Moments/Variance.lean,Mathlib/Topology/Algebra/Module/Basic.lean,Mathlib/Topology/Algebra/Module/ClosedSubmodule.lean,Mathlib/Topology/UniformSpace/AbstractCompletion.lean,docs/1000.yaml |
14 |
13 |
['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
217-14803 7 months ago |
336-34195 336 days ago |
0-2 2 seconds |
| 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
---
[](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 |
217-13300 7 months ago |
217-13300 217 days ago |
8-8414 8 days |
| 25737 |
robin-carlier author:robin-carlier |
feat(AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms): Normal forms for `P_δ`s |
We prove that admissible lists indeed provide a normal form for morphisms of satisfying `P_δ`.
To this end, we introduce `standardδ`, a construction that takes a list and turn it into a composition of `δ i`s in `SimplexCategoryGenRel`. We then prove that, thanks to the first simplicial identity, composition on the left corresponds to simplicial insertion in the list. This gives existence of a normal form for every morphism satisfying `P_δ`.
For unicity, we introduce an auxiliary function `simplicialEvalδ : (List ℕ) → ℕ → ℕ` and show that for admissible lists, it lifts to `ℕ` the `orderHom` attached to `toSimplexCategory.map standardδ`, and that we can recover elements of the list only by looking at values of this function.
Part of a series of PR formalising that `SimplexCategoryGenRel` is equivalent to `SimplexCategory`.
---
- [x] depends on: #25736
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #21746.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/21746* |
t-algebraic-topology
delegated
t-category-theory
|
182/2 |
Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms.lean |
1 |
6 |
['github-actions', 'joelriou', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
216-14088 7 months ago |
217-5804 217 days ago |
0-22513 6 hours |
| 30209 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: some TwoSidedIdeal.span lemmas |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-ring-theory
FLT
|
16/0 |
Mathlib/RingTheory/TwoSidedIdeal/Operations.lean |
1 |
2 |
['erdOne', 'github-actions'] |
erdOne assignee:erdOne |
215-70994 7 months ago |
215-70994 215 days ago |
17-9153 17 days |
| 25225 |
xcloudyunx author:xcloudyunx |
feat(Combinatorics/SimpleGraph): Eulerian walk in connected graph contains all vertices |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-combinatorics
new-contributor
|
16/0 |
Mathlib/Combinatorics/SimpleGraph/Trails.lean |
1 |
6 |
['IvanRenison', 'github-actions', 'vlad902'] |
kmill assignee:kmill |
215-63232 7 months ago |
215-63232 215 days ago |
148-3286 148 days |
| 27206 |
grhkm21 author:grhkm21 |
feat(CategoryTheory/Adjunction): partial adjoints are adjoints |
Partial adjunctions `F.partial{Left,Right}Adjunction` are adjunctions when fully
defined i.e. `F.{left,right}AdjointObjIsDefined = ⊤`.
|
awaiting-author
t-category-theory
|
48/2 |
Mathlib/CategoryTheory/Adjunction/PartialAdjoint.lean |
1 |
1 |
['github-actions'] |
nobody |
215-9068 7 months ago |
313-21273 313 days ago |
0-53 53 seconds |
| 27196 |
YaelDillies author:YaelDillies |
refactor(Polynomial/Bivariate): swap `X` and `Y` for improved notation |
This way, `X` keeps on being `X`.
From Toric
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
toric
label:t-algebra$ |
3/3 |
Mathlib/Algebra/Polynomial/Bivariate.lean |
1 |
7 |
['YaelDillies', 'alreadydone', 'github-actions', 'kckennylau'] |
nobody |
215-2621 7 months ago |
297-39732 297 days ago |
15-75841 15 days |
| 24532 |
robertmaxton42 author:robertmaxton42 |
feat(LinearAlgebra/FreeProduct): fill out the `FreeProduct.asPowers` namespace |
* Replicate the existing API for `LinearAlgebra.FreeProduct` under `FreeProduct.asPowers`, for convenience when working primarily with the power algebra representation
* Adds convenience lemmas for using the corresponding quotient relation `rel'` (used in the above).
---
- [x] depends on: #24531
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
122/5 |
Mathlib/LinearAlgebra/FreeProduct/Basic.lean |
1 |
26 |
['YaelDillies', 'adomani', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robertmaxton42'] |
nobody |
214-53082 7 months ago |
379-40513 379 days ago |
0-47665 13 hours |
| 27683 |
dupuisf author:dupuisf |
feat: grind tags for set operations |
This PR adds `grind` tags for various set operations (union, intersection, complement, etc).
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
29/9 |
Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Operations.lean |
2 |
5 |
['dupuisf', 'euprunin', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
214-4371 7 months ago |
299-13683 299 days ago |
0-292 4 minutes |
| 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`).
---
[](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 |
214-264 7 months ago |
214-335 214 days ago |
0-80 1 minute |
| 29355 |
girving author:girving |
feat(Trigonometric): Taylor series bounds for sin and cos |
Zulip discussion here:
https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Better.20.60Real.2Esin.60.20bounds/near/535035576
We also include the full set of intervals on which sin and cos are monotone/antitone.
---
Questions to resolve as part of review:
1. I've left the `Finset.sum_range_even` in the new `SeriesBounds` file, but presumably it should go somewhere else (unless you want me to inline it, but that seems worse).
2. Is putting the new Taylor series bounds in a new `SeriesBounds` file right, or should it go in the current `Bounds.lean` file? When I started writing the PR I thought the new bounds would need more imports via more analysis, but it turns out the only new import needed would be `Mathlib.Algebra.BigOperators.Field` which seems lightweight. I am happy with whatever the preference is in terms of file structure.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
|
158/0 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Bounds.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/SeriesBounds.lean |
4 |
28 |
['Parcly-Taxel', 'Ruben-VandeVelde', 'adomani', 'girving', 'github-actions', 'llllvvuu', 'mathlib4-merge-conflict-bot', 'urkud'] |
nobody |
213-82154 7 months ago |
261-81943 261 days ago |
0-76697 21 hours |
| 28298 |
thorimur author:thorimur |
chore: dedent `to_additive` docstrings |
This PR uses automation to dedent `to_additive` docstrings throughout Mathlib. It does not lint against indentation or in any way enforce indentation standards for future docstrings. The convention was chosen in accordance with the discussion and polls at [this Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Poll.3A.20Indentation.20style.20for.20.60to_additive.60.20docstrings/with/534285603).
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
documentation
awaiting-author
|
949/949 |
Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset/Lemmas.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Defs.lean,Mathlib/Algebra/BigOperators/Pi.lean,Mathlib/Algebra/Category/Grp/Basic.lean,Mathlib/Algebra/Category/Grp/FilteredColimits.lean,Mathlib/Algebra/Category/Grp/Limits.lean,Mathlib/Algebra/Category/Grp/Ulift.lean,Mathlib/Algebra/Category/MonCat/Basic.lean,Mathlib/Algebra/Category/MonCat/FilteredColimits.lean,Mathlib/Algebra/Category/MonCat/Limits.lean,Mathlib/Algebra/Category/Semigrp/Basic.lean,Mathlib/Algebra/Free.lean,Mathlib/Algebra/FreeMonoid/Basic.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/Pi.lean,Mathlib/Algebra/Group/Action/Pointwise/Finset.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Embedding.lean,Mathlib/Algebra/Group/Equiv/Basic.lean,Mathlib/Algebra/Group/Equiv/Defs.lean,Mathlib/Algebra/Group/Equiv/Opposite.lean,Mathlib/Algebra/Group/Even.lean,Mathlib/Algebra/Group/Hom/Basic.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Group/Hom/Instances.lean,Mathlib/Algebra/Group/Indicator.lean,Mathlib/Algebra/Group/Pi/Lemmas.lean,Mathlib/Algebra/Group/Pi/Units.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/Algebra/Group/Subgroup/Map.lean,Mathlib/Algebra/Group/Subgroup/Pointwise.lean,Mathlib/Algebra/Group/Submonoid/Basic.lean,Mathlib/Algebra/Group/Submonoid/BigOperators.lean,Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/Submonoid/MulAction.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Group/Subsemigroup/Basic.lean,Mathlib/Algebra/Group/Subsemigroup/Operations.lean,Mathlib/Algebra/Group/UniqueProds/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/Group/Units/Equiv.lean,Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/Algebra/Group/Units/Opposite.lean,Mathlib/Algebra/Notation/Pi/Basic.lean,Mathlib/Algebra/Opposites.lean,Mathlib/Algebra/Order/BigOperators/Group/List.lean,Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Algebra/Order/Group/Basic.lean,Mathlib/Algebra/Order/Group/Cone.lean,Mathlib/Algebra/Order/Group/OrderIso.lean,Mathlib/Algebra/Order/Group/Units.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Monoid/Basic.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Submonoid.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Algebra/Order/Monoid/Units.lean,Mathlib/Algebra/Order/Pi.lean,Mathlib/Algebra/Regular/Defs.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/Data/Finset/NoncommProd.lean,Mathlib/Data/Fintype/BigOperators.lean,Mathlib/Data/Set/MulAntidiagonal.lean,Mathlib/Data/Set/SMulAntidiagonal.lean,Mathlib/Data/Vector/Basic.lean,Mathlib/Dynamics/Ergodic/Action/OfMinimal.lean,Mathlib/Dynamics/FixedPoints/Prufer.lean,Mathlib/Geometry/Manifold/Algebra/SmoothFunctions.lean,Mathlib/GroupTheory/Complement.lean,Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Coprod/Basic.lean,Mathlib/GroupTheory/Coset/Basic.lean,Mathlib/GroupTheory/Divisible.lean,Mathlib/GroupTheory/EckmannHilton.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/FreeGroup/Reduce.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/GroupAction/FixedPoints.lean,Mathlib/GroupTheory/GroupAction/Hom.lean,Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean,Mathlib/GroupTheory/GroupAction/Primitive.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/GroupAction/SubMulAction.lean |
141 |
11 |
['eric-wieser', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'thorimur'] |
nobody |
211-30336 6 months ago |
284-82561 284 days ago |
0-46097 12 hours |
| 28737 |
astrainfinita author:astrainfinita |
refactor: deprecate `MulEquivClass` |
This PR continues the work from #18806.
Original PR: https://github.com/leanprover-community/mathlib4/pull/18806 |
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
67/77 |
Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/Group/Equiv/Basic.lean,Mathlib/Algebra/Group/Equiv/Defs.lean,Mathlib/Algebra/Group/Irreducible/Lemmas.lean,Mathlib/Algebra/Group/Subgroup/Map.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Group/Units/Equiv.lean,Mathlib/Algebra/GroupWithZero/Equiv.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Prime/Lemmas.lean,Mathlib/Algebra/Ring/Divisibility/Basic.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Algebra/Star/MonoidHom.lean,Mathlib/Combinatorics/Additive/FreimanHom.lean,Mathlib/GroupTheory/GroupExtension/Defs.lean,Mathlib/GroupTheory/Submonoid/Center.lean,Mathlib/LinearAlgebra/FreeModule/Finite/CardQuotient.lean,Mathlib/RingTheory/Bialgebra/Equiv.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/RingTheory/UniqueFactorizationDomain/NormalizedFactors.lean,Mathlib/Topology/Algebra/ContinuousMonoidHom.lean,Mathlib/Topology/Algebra/InfiniteSum/Basic.lean |
26 |
20 |
['Vierkantor', 'alreadydone', 'astrainfinita', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
Vierkantor assignee:Vierkantor |
209-32751 6 months ago |
272-79324 272 days ago |
2-39213 2 days |
| 28676 |
sun123zxy author:sun123zxy |
feat(NumberTheory/ArithmeticFunction): wrap `Nat.totient` as an `ArithmeticFunction` |
This wraps the Euler's totient function `Nat.totient` into a new `ArithmeticFunction` `ϕ`, with some basic identities such as `ϕ * ζ = id` and `μ * id = ϕ.`
---
We use the notation `ϕ` to distinguish from `Nat.totient`'s notation `φ`, however this might be controversial. Suggestions are welcome!
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
large-import
merge-conflict
awaiting-author
|
45/5 |
Mathlib/NumberTheory/ArithmeticFunction.lean |
1 |
19 |
['MichaelStollBayreuth', 'SnirBroshi', 'b-mehta', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'riccardobrasca', 'sun123zxy'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
209-32703 6 months ago |
225-7379 225 days ago |
47-58311 47 days |
| 30299 |
franv314 author:franv314 |
feat(Topology/Instances): Cantor set |
Prove that the Cantor set has empty interior and the cardinality of the continuum as discussed on [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/A.20few.20results.20about.20the.20Cantor.20set/with/543560670)
Moves:
- Mathlib.Topology.Instances.CantorSet -> Mathlib.Topology.Instances.CantorSet.Basic
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
merge-conflict
file-removed
awaiting-author
t-topology
|
355/2 |
Mathlib.lean,Mathlib/Topology/Instances/CantorSet/Basic.lean,Mathlib/Topology/Instances/CantorSet/Cardinality.lean,Mathlib/Topology/Instances/CantorSet/Lemmas.lean |
4 |
5 |
['github-actions', 'grunweg', 'kckennylau', 'mathlib4-merge-conflict-bot'] |
nobody |
209-24433 6 months ago |
230-7062 230 days ago |
0-2409 40 minutes |
| 30303 |
franv314 author:franv314 |
chore(Topology/Instances): add deprecated module |
Add deprecated module to moved Cantor set file.
---
- [ ] depends on: #30299
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
new-contributor
|
486/124 |
Mathlib.lean,Mathlib/Topology/Instances/CantorSet.lean,Mathlib/Topology/Instances/CantorSet/Basic.lean,Mathlib/Topology/Instances/CantorSet/Cardinality.lean,Mathlib/Topology/Instances/CantorSet/Lemmas.lean |
5 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
209-24431 6 months ago |
230-4931 230 days ago |
0-340 5 minutes |
| 30575 |
urkud author:urkud |
feat: lemmas about `_ • _` on Filters |
as well as `Set.Finite.f?derivWithin_eq`.
I wrote these lemmas for #24019, but the final version of that PR doesn't need them. I moved them here so that I don't forget to prepare a non-draft PR with these lemmas.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
51/0 |
Mathlib/Topology/TODO.lean |
1 |
3 |
['github-actions', 'plp127', 'urkud'] |
nobody |
209-3599 6 months ago |
unknown |
0-0 0 seconds |
| 27976 |
smmercuri author:smmercuri |
feat: `ramificationIdx` for `NumberField.InfinitePlace` |
This PR continues the work from #24884.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24884 |
merge-conflict
WIP
t-number-theory
|
22/0 |
Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
208-10273 6 months ago |
293-26258 293 days ago |
0-57 57 seconds |
| 26357 |
javra author:javra |
feat(CategoryTheory): linear categories as `ModuleCat R`-enriched categories |
Continues #23826.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
large-import
|
197/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/CategoryTheory/Enriched/Linear.lean,Mathlib/CategoryTheory/Linear/Basic.lean,Mathlib/CategoryTheory/Monoidal/Linear.lean |
5 |
10 |
['adamtopaz', 'github-actions', 'javra', 'mathlib4-merge-conflict-bot'] |
adamtopaz assignee:adamtopaz |
206-55268 6 months ago |
250-81921 250 days ago |
78-29556 78 days |
| 26085 |
grunweg author:grunweg |
feat: disjoint unions distribute with products of manifolds |
This PR continues the work from #22611.
Original PR: https://github.com/leanprover-community/mathlib4/pull/22611 |
please-adopt
WIP
t-differential-geometry
merge-conflict
|
75/6 |
Mathlib/Geometry/Manifold/Diffeomorph.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean |
2 |
3 |
['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
206-27271 6 months ago |
341-18073 341 days ago |
0-74 1 minute |
| 27180 |
ADedecker author:ADedecker |
feat: quotient of a monoid with zero by a multiplicative congruence |
---
My motivation is getting a more conceptual construction of [ValuativeRel.ValueGroupWithZero](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Valuation/ValuativeRel.html#ValuativeRel.ValueGroupWithZero), but I think this is of independent interest.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
delegated
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 |
32 |
['ADedecker', 'eric-wieser', 'github-actions', 'mathlib-bors', 'mathlib4-merge-conflict-bot', 'ocfnash'] |
ocfnash assignee:ocfnash |
206-16007 6 months ago |
285-31542 285 days ago |
28-12053 28 days |
| 29570 |
eric-wieser author:eric-wieser |
fix: substitute infotrees in linters |
I don't know whether this is necessary in these particular cases, but I've seen places where it is.
There are a handful more of these cases in Batteries.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
2/2 |
Mathlib/Tactic/Linter/Style.lean,Mathlib/Tactic/TacticAnalysis.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
206-12508 6 months ago |
unknown |
0-0 0 seconds |
| 30790 |
urkud author:urkud |
chore: partially migrate from `ContinuousMap.continuous` |
... to `map_continuous` or `by fun_prop`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
37/45 |
Mathlib/AlgebraicGeometry/Morphisms/Constructors.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Restrict.lean,Mathlib/Analysis/Complex/Circle.lean,Mathlib/Analysis/Fourier/AddCircleMulti.lean,Mathlib/Condensed/Light/TopCatAdjunction.lean,Mathlib/Condensed/TopCatAdjunction.lean,Mathlib/Condensed/TopComparison.lean,Mathlib/Dynamics/Ergodic/Action/OfMinimal.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Basic.lean,Mathlib/Topology/Category/CompHausLike/Limits.lean,Mathlib/Topology/Compactification/OnePoint/Basic.lean,Mathlib/Topology/Compactness/CompactlyGeneratedSpace.lean,Mathlib/Topology/ContinuousMap/CompactlySupported.lean,Mathlib/Topology/ContinuousMap/Units.lean,Mathlib/Topology/ContinuousMap/ZeroAtInfty.lean,Mathlib/Topology/LocallyConstant/Basic.lean,Mathlib/Topology/PartitionOfUnity.lean,Mathlib/Topology/Sets/Opens.lean,Mathlib/Topology/TietzeExtension.lean,Mathlib/Topology/UniformSpace/CompactConvergence.lean,Mathlib/Topology/UniformSpace/Dini.lean,Mathlib/Topology/UrysohnsLemma.lean |
24 |
6 |
['erdOne', 'github-actions', 'mathlib4-merge-conflict-bot', 'urkud'] |
nobody |
206-11811 6 months ago |
214-84993 214 days ago |
0-12151 3 hours |
| 30631 |
ADedecker author:ADedecker |
refactor: evaluation of power series in semirings |
---
[](https://gitpod.io/from-referrer/)
|
|
665/71 |
Mathlib/Algebra/Module/Congruence/Defs.lean,Mathlib/RingTheory/MvPowerSeries/EvaluationSemi.lean,Mathlib/Topology/Algebra/LinearTopology.lean,Mathlib/Topology/Algebra/LinearUniformity.lean,Mathlib/Topology/Algebra/TopologicallyNilpotent.lean |
5 |
1 |
['github-actions'] |
nobody |
205-11761 6 months ago |
unknown |
0-0 0 seconds |
| 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`.
---
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
94/0 |
Mathlib/LinearAlgebra/Matrix/Transvection.lean,MathlibTest/matrix.lean |
2 |
3 |
['github-actions', 'riccardobrasca', 'zach1502'] |
nobody |
203-23954 6 months ago |
203-23954 203 days ago |
41-53449 41 days |
| 25692 |
Whysoserioushah author:Whysoserioushah |
feat(RingTheory/MatrixAlgebra): add a more general version of `matrixEquivTensor` |
This adds `tensorMatrixLinearEquiv : A ⊗[R] Matrix n n B ≃ₐ[S] Matrix n n (A ⊗[R] B)`
which is a more general version of `matrixEquivTensor : Matrix n n A ≃ₐ[R] (A ⊗[R] Matrix n n R)`.
The latter is then implemented as a trivial consequence of the former.
Many internal implementation details are deleted without deprecation, although strictly these were not private.
Co-authored-by: @erdOne
Co-authored-by: Eric Wieser
---
- [ ] depends on: #28367
- [ ] depends on: #28359
- [ ] depends on: #28368
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-ring-theory
|
129/110 |
Mathlib/RingTheory/MatrixAlgebra.lean |
1 |
28 |
['Whysoserioushah', 'chrisflav', 'eric-wieser', 'github-actions', 'jcommelin', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'mattrobball'] |
chrisflav assignee:chrisflav |
203-11531 6 months ago |
279-34427 279 days ago |
47-13209 47 days |
| 25012 |
urkud author:urkud |
refactor(*): migrate from `Matrix.toLin'` to `Matrix.mulVecLin` |
or `Matrix.mulVec` whenever we don't need the `LinearEquiv.symm` part.
See [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Matrix.2EtoLin'.20vs.20Matrix.2EmulVecLin/with/515188548).
It makes sense to have only one normal form, and `Matrix.toLin'` has an extra `DecidableEq` assumption.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
165/126 |
Mathlib/Algebra/Lie/Matrix.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/Matrix.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/LinearAlgebra/Basis/Defs.lean,Mathlib/LinearAlgebra/Determinant.lean,Mathlib/LinearAlgebra/Finsupp/VectorSpace.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Minpoly.lean,Mathlib/LinearAlgebra/Matrix/Diagonal.lean,Mathlib/LinearAlgebra/Matrix/Gershgorin.lean,Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean,Mathlib/LinearAlgebra/Matrix/ToLinearEquiv.lean,Mathlib/LinearAlgebra/UnitaryGroup.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean |
19 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
nobody |
202-80332 6 months ago |
351-19410 351 days ago |
14-81673 14 days |
| 29638 |
yuma-mizuno author:yuma-mizuno |
feat(CategoryTheory): define descent data by presieves |
---
Addendum: I realized that there is prior work in #24434. Since this PR uses a slightly different definition, I plan to make this PR a follow-up to #24434. Until then, I’ll keep it marked as WIP. See the comment: https://github.com/leanprover-community/mathlib4/pull/29638#issuecomment-3290041719
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
408/2 |
Mathlib.lean,Mathlib/CategoryTheory/Bicategory/Functor/Pseudofunctor.lean,Mathlib/CategoryTheory/Bicategory/LocallyDiscrete.lean,Mathlib/CategoryTheory/Category/Cat.lean,Mathlib/CategoryTheory/Stack/Basic.lean,Mathlib/CategoryTheory/Stack/Descent.lean |
6 |
7 |
['chrisflav', 'github-actions', 'joelriou', 'mathlib4-merge-conflict-bot', 'yuma-mizuno'] |
nobody |
202-76429 6 months ago |
253-20379 253 days ago |
0-74 1 minute |
| 30158 |
nicolaviolette author:nicolaviolette |
feat: combinatorics simplegraph basic |
---
[](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 |
202-43484 6 months ago |
202-43484 202 days ago |
31-69826 31 days |
| 28132 |
dupuisf author:dupuisf |
feat: preliminary `grind` tags for `IsUnit` |
This PR adds preliminary `grind` tags for the `IsUnit` predicate.
---
[](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 |
201-72259 6 months ago |
201-72260 201 days ago |
80-71575 80 days |
| 25903 |
pfaffelh author:pfaffelh |
feat(MeasureTheory): finite unions of sets in a semi-ring (in terms of measure theory) form a ring |
: Finite unions of sets in a semi-ring (in terms of measure theory) form a ring
The set containing finite unions of sets in a semi-ring are a ring.
Part of `MeasureTheory.SetSemiring` is moved to the new file `MeasureTheory.SetRing`.
---
- [ ] depends on: #25902 [contains changes in `SetSemiring` as well]
---
*This PR continues the work from #23117.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/23117* |
merge-conflict
blocked-by-other-PR
large-import
t-measure-probability
|
648/131 |
Mathlib.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Module/Bimodule.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/Data/Set/Pairwise/Lattice.lean,Mathlib/Data/Set/Prod.lean,Mathlib/MeasureTheory/MeasurableSpace/Pi.lean,Mathlib/MeasureTheory/Measure/AddContent.lean,Mathlib/MeasureTheory/PiSystem.lean,Mathlib/MeasureTheory/SetAlgebra.lean,Mathlib/MeasureTheory/SetRing.lean,Mathlib/MeasureTheory/SetSemiring.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ExtractLets.lean,lake-manifest.json,lakefile.lean |
16 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
201-59971 6 months ago |
279-70517 279 days ago |
0-11144 3 hours |
| 28863 |
yury-harmonic author:yury-harmonic |
ignore: make CI build oleans |
It looks like CI doesn't build oleans unless I open a PR. Or I can't see this workflow.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
large-import
|
624/100 |
Mathlib/Algebra/MvPolynomial/Eval.lean,Mathlib/Algebra/MvPolynomial/Expand.lean,Mathlib/Algebra/Order/Floor/Semifield.lean,Mathlib/Algebra/Order/Positive/Field.lean,Mathlib/Algebra/Order/Positive/Ring.lean,Mathlib/Data/Int/ModEq.lean,Mathlib/Data/NNRat/Floor.lean,Mathlib/Data/Nat/Factorial/Basic.lean,Mathlib/Data/Nat/ModEq.lean,Mathlib/Data/Nat/NthRoot/Defs.lean,Mathlib/Data/Rat/Floor.lean,Mathlib/Tactic/NormNum/Basic.lean,MathlibTest/norm_num_ext.lean |
13 |
4 |
['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
201-39982 6 months ago |
unknown |
0-0 0 seconds |
| 29992 |
vlad902 author:vlad902 |
feat(Order): finite (Max)Chains always contains a top/max element |
---
- [ ] depends on: #29835 [optional extra text]
- [ ] depends on: #29993 [optional extra text]
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-order
large-import
|
35/0 |
Mathlib/Order/Preorder/Chain.lean |
1 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
200-5663 6 months ago |
241-38024 241 days ago |
0-56 56 seconds |
| 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 |
200-3752 6 months ago |
318-20746 318 days ago |
2-71043 2 days |
| 26391 |
grunweg author:grunweg |
feat: immersed submanifolds |
Still under construction
---
- [ ] depends on: #26087
- [ ] depends on: #23040
Better version of #24549.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-differential-geometry
blocked-by-other-PR
|
1418/0 |
Mathlib.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Splits.lean,Mathlib/Geometry/Manifold/EmbeddedSubmanifold.lean,Mathlib/Geometry/Manifold/IsImmersionEmbedding.lean,Mathlib/Geometry/Manifold/MSplits.lean |
5 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
199-76912 6 months ago |
unknown |
0-0 0 seconds |
| 31020 |
grunweg author:grunweg |
feat: mfderiv of Sum.inl and Sum.inr |
Nothing to see yet: waiting on the cache, then I will state the sorries and Newell Jansen has expressed interest in trying to prove this.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
64/0 |
Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean |
1 |
4 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
199-75680 6 months ago |
209-3759 209 days ago |
0-1 1 second |
| 31340 |
kim-em author:kim-em |
feat: helper script to summarize CI errors |
---
[](https://gitpod.io/from-referrer/)
|
CI |
235/0 |
scripts/README.md,scripts/failing_ci.py |
2 |
1 |
['github-actions'] |
nobody |
199-61834 6 months ago |
unknown |
0-0 0 seconds |
| 25775 |
emilyriehl author:emilyriehl |
feat(AlgebraicTopology/SimplicialSet/NerveAdjunction): to Strict Segal 2 |
Under a suitable hypothesis, a map of 2-truncated simplicial sets can be generated from a refl prefunctor between the underlying reflexive quivers --- provided the codomain is `StrictSegal`. This abstracts a previously formalized result that requires the codomain to be the 2-truncated nerve of a category.
Co-authored-by: Aaron Liu
---
The current draft displays the old code for comparison with new versions labeled ALT. After initial review this will be cut.
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #23848.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/23848* |
t-algebraic-topology
t-category-theory
merge-conflict
awaiting-author
infinity-cosmos
|
421/206 |
Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Defs.lean,Mathlib/AlgebraicTopology/SimplicialSet/HomotopyCat.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveAdjunction.lean,Mathlib/AlgebraicTopology/SimplicialSet/StrictSegal.lean,Mathlib/CategoryTheory/ComposableArrows.lean,Mathlib/CategoryTheory/EqToHom.lean |
7 |
38 |
['emilyriehl', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
197-5090 6 months ago |
277-84216 277 days ago |
17-16247 17 days |
| 26827 |
pechersky author:pechersky |
feat(Analysis/Normed/ValuativeRel): helper instance for NormedField |
---
[](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 |
194-14463 6 months ago |
194-14463 194 days ago |
122-64394 122 days |
| 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.
---
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`
[](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 |
193-53143 6 months ago |
233-31809 233 days ago |
1-160 1 day |
| 27135 |
JovanGerb author:JovanGerb |
feat: `gconvert` tactic |
The `gconvert` tactic calls `gcongr` internally, and it can be used as replacement/generalization of `peel`.
One drawback is that `peel` can unfold definitions until they are a binder, while `gconvert` cannot, but I think this is acceptable.
TODO: replace all uses of `peel` with either `gconvert` or `congr!`
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
320/17 |
Mathlib/Tactic/GCongr/Core.lean,MathlibTest/GConvert.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
192-82288 6 months ago |
315-10485 315 days ago |
0-5 5 seconds |
| 25765 |
JovanGerb author:JovanGerb |
feat(gcongr): lemma for rewriting inside divisibility |
TODO: add test to show that we can rewrite using `a ≡ b [ZMOD n]` inside `n ∣ 2 * a + 1`.
edit: it's not yet entirely clear if this is the right thing to do.
edit: This lemma should be written using iff (or =), so that we can use it specifically when rewriting with a symmetric relation. Supporting equality in `gcongr` is still work in progress.
---
[](https://gitpod.io/from-referrer/)
|
delegated
t-data
|
5/0 |
Mathlib/Data/Int/ModEq.lean |
1 |
3 |
['fpvandoorn', 'github-actions', 'mathlib-bors'] |
nobody |
192-26009 6 months ago |
346-12289 346 days ago |
1-19951 1 day |
| 30978 |
dagurtomas author:dagurtomas |
Draft: adic spaces |
---
This is work in progress, mostly ported from the perfectoid project
[](https://gitpod.io/from-referrer/)
|
merge-conflict
large-import
|
1407/45 |
Mathlib.lean,Mathlib/AdicSpace/AdicSpace.lean,Mathlib/AdicSpace/HuberPair.lean,Mathlib/AdicSpace/Spa/RationalOpenData.lean,Mathlib/AdicSpace/Spa/StalkValuation.lean,Mathlib/AdicSpace/Spa/StructurePresheaf.lean,Mathlib/AdicSpace/Spv.lean,Mathlib/Topology/Category/TopCommRingCat.lean |
8 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
192-7442 6 months ago |
210-261 210 days ago |
0-12 12 seconds |
| 30824 |
grunweg author:grunweg |
wip: another smoothness lemma for local frames |
---
Can I prove in general that the coefficients of a smooth section w.r.t. a smooth local frame are smooth?
This is certainly true for orthonormal frames...
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-differential-geometry
|
57/9 |
Mathlib/Geometry/Manifold/VectorBundle/LocalFrame.lean |
1 |
3 |
['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
190-82180 6 months ago |
214-7257 214 days ago |
0-6 6 seconds |
| 30770 |
robertmaxton42 author:robertmaxton42 |
(WIP) Limits and Colimits in Quiv |
WIP PR for the oleans
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
3652/31 |
Mathlib.lean,Mathlib/CategoryTheory/Category/Quiv.lean,Mathlib/CategoryTheory/Category/Quiv/AsFunctor/Defs.lean,Mathlib/CategoryTheory/Category/Quiv/Colimits.lean,Mathlib/CategoryTheory/Category/Quiv/Limits.lean,Mathlib/CategoryTheory/Category/Quiv/Shapes.lean,Mathlib/CategoryTheory/Category/Quiv/WalkingQuiver.lean,Mathlib/CategoryTheory/EqToHom.lean,Mathlib/CategoryTheory/Equivalence.lean,Mathlib/CategoryTheory/Filtered/Level.lean,Mathlib/CategoryTheory/Limits/Constructions/LimitsOfProductsAndEqualizers.lean,Mathlib/CategoryTheory/Limits/FunctorCategory/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/FunctorToTypes.lean,Mathlib/CategoryTheory/Limits/Types/Colimits.lean,Mathlib/CategoryTheory/ObjectProperty/FullSubcategory.lean,Mathlib/CategoryTheory/Topos/Classifier.lean,Mathlib/CategoryTheory/Topos/Presheaf.lean,Mathlib/Combinatorics/Quiver/Shapes.lean,Mathlib/Combinatorics/Quiver/WalkingQuiver.lean,Mathlib/Data/ULift.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Logic/Equiv/Sum.lean,Mathlib/Logic/Small/Defs.lean |
23 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
189-52608 6 months ago |
unknown |
0-0 0 seconds |
| 31593 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: some lemmas about MonoidAlgebra |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
26/0 |
Mathlib/Algebra/MonoidAlgebra/Basic.lean |
1 |
5 |
['github-actions', 'mathlib4-merge-conflict-bot', 'robin-carlier', 'themathqueen'] |
nobody |
189-46258 6 months ago |
192-15518 192 days ago |
0-85235 23 hours |
| 26885 |
pechersky author:pechersky |
feat(Topology/ValuativeRel): ValuativeTopology 𝒪[K] |
and even when not a field, `ValuativeRel 𝒪[K]`
This is an example of something achievable with the new declarations that wasn't possible with Valued
Such that we can discuss the valuations on the subring without always using coercions
But to achieve this, one needs some juggling of the value groups
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #26834
- [ ] depends on : #30135
|
t-algebra
t-number-theory
t-topology
label:t-algebra$ |
66/0 |
Mathlib/Topology/Algebra/Valued/ValuativeRel.lean |
1 |
10 |
['erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] |
alreadydone assignee:alreadydone |
188-85404 6 months ago |
189-12024 189 days ago |
131-51114 131 days |
| 15651 |
TpmKranz author:TpmKranz |
feat(Computability/NFA): operations for Thompson's construction |
Lays the groundwork for a proof of equivalence of RE and NFA, w.r.t. described language. Actual connection to REs comes later, after the groundwork for the opposite direction has been laid.
Third chunk of #12648
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-computability
merge-conflict
awaiting-author
awaiting-zulip
|
307/5 |
Mathlib/Computability/NFA.lean |
1 |
27 |
['TpmKranz', 'YaelDillies', 'dupuisf', 'github-actions', 'leanprover-community-bot-assistant', 'meithecatte', 'rudynicolop'] |
nobody |
188-70275 6 months ago |
608-11263 608 days ago |
45-84611 45 days |
| 12032 |
mcdoll author:mcdoll |
feat: delta distribution as a limit |
---
- [ ] depends on: #11496
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
|
58/0 |
Mathlib/Analysis/Distribution/DiracDelta.lean |
1 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
188-53249 6 months ago |
776-11415 776 days ago |
0-1 1 second |
| 9693 |
madvorak author:madvorak |
feat: Linear programming in the standard form |
---
Zulip discussion:
https://leanprover.zulipchat.com/#narrow/stream/144837-PR-reviews/topic/.237386.20Linear.20Programming
Four PRs incompatible with each other:
https://github.com/leanprover-community/mathlib4/pull/7386 (list of constraints)
https://github.com/leanprover-community/mathlib4/pull/9693 (matrix form)
https://github.com/leanprover-community/mathlib4/pull/10026 (Antoine Chambert-Loir's def; semirings, linear)
https://github.com/leanprover-community/mathlib4/pull/10159 (Antoine Chambert-Loir's def; rings, affine)
- [x] depends on: #9652
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
RFC
label:t-algebra$ |
86/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/LinearProgramming.lean |
2 |
15 |
['apurvanakade', 'github-actions', 'leanprover-community-mathlib4-bot', 'madvorak', 'mathlib4-merge-conflict-bot'] |
nobody |
188-17621 6 months ago |
691-25613 691 days ago |
168-78821 168 days |
| 15649 |
TpmKranz author:TpmKranz |
feat(Computability): introduce Generalised NFA as bridge to Regular Expression |
Lays the groundwork for a proof of equivalence of NFA and RE, w.r.t. described language. Actual connection to NFA comes later, after the groundwork for the opposite direction has been laid.
Second chunk of #12648
---
- [x] depends on: #15647 [Data.FinEnum.Option unchanged since then]
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-computability
merge-conflict
awaiting-author
awaiting-zulip
|
298/0 |
Mathlib.lean,Mathlib/Computability/GNFA.lean,Mathlib/Computability/Language.lean,Mathlib/Computability/RegularExpressions.lean,docs/references.bib |
5 |
7 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'meithecatte', 'trivial1711'] |
nobody |
188-116 6 months ago |
533-50046 533 days ago |
23-54870 23 days |
| 4786 |
thorimur author:thorimur |
feat: AppBuilder utils |
This supplements `Lean.Meta.AppBuilder`, introducing variants of `mkAppN` and `mkAppM` which allow for more fine-grained management of existing and created metavariables. [Description pending]
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
205/0 |
Mathlib.lean,Mathlib/Lean/Meta/AppBuilder.lean |
2 |
1 |
['mathlib4-merge-conflict-bot'] |
nobody |
187-37976 6 months ago |
unknown |
0-0 0 seconds |
| 5745 |
alexjbest author:alexjbest |
feat: a tactic to consume type annotations, and make constructor nicer |
During the copenhagen masterclass I found some situations where applying the constructor tactic left the goal in a difficult to read state when autoParams were present.
We add a simple tactic to clean these up, and a macro for `constructor` to behave more like the constructor notation and do this automatically (constructor is in core)
It seems that these things should be cleaned up by simp, but a simp lemma to remove these annotations is not accepted by lean as the types are too similar.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
41/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Consume.lean,test/consume.lean |
4 |
5 |
['alexjbest', 'digama0', 'kim-em', 'kmill', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37975 6 months ago |
1002-60837 1002 days ago |
51-33889 51 days |
| 5863 |
eric-wieser author:eric-wieser |
feat: add elaborators for concrete matrices |
---
- [x] depends on: #5866
- [ ] depends on: #5897
[](https://gitpod.io/from-referrer/)
|
merge-conflict
help-wanted
blocked-by-other-PR
t-meta
|
257/7 |
Mathlib/Control/Monad/Cont.lean,Mathlib/Data/Matrix/Auto.lean,MathlibTest/matrix_auto.lean |
3 |
8 |
['eric-wieser', 'github-actions', 'kim-em', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37974 6 months ago |
1047-17635 1047 days ago |
0-1 1 second |
| 5919 |
MithicSpirit author:MithicSpirit |
feat: implement orthogonality for AffineSubspace |
Define `AffineSubspace.orthogonal` and `AffineSubspace.IsOrtho`, as well as develop an API emulating that of `Submodule.orthogonal` and `Submodule.IsOrtho`, respectively. Additionally, provide some relevant lemmas exclusive to affine subspaces, which are mostly to do with the relationship between orthogonality and `AffineSubspace.Parallel`.
Closes #5539
---
Still WIP as I need to add more docstrings as well as notations for the new definitions.
[](https://gitpod.io/from-referrer/)
|
WIP
new-contributor
merge-conflict
help-wanted
t-analysis
|
287/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/AffineSubspace.lean |
2 |
7 |
['MithicSpirit', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
MithicSpirit assignee:MithicSpirit |
187-37973 6 months ago |
870-62868 870 days ago |
0-433 7 minutes |
| 7386 |
madvorak author:madvorak |
feat: Define linear programs |
Linear programs over a general `Module` with constraints given in the form "aᵀx - b ≥ 0" and the objective function as an `AffineMap` to be minimized.
---
Zulip discussion:
https://leanprover.zulipchat.com/#narrow/stream/144837-PR-reviews/topic/.237386.20Linear.20Programming
Four PRs incompatible with each other:
https://github.com/leanprover-community/mathlib4/pull/7386 (list of constraints)
https://github.com/leanprover-community/mathlib4/pull/9693 (matrix form)
https://github.com/leanprover-community/mathlib4/pull/10026 (Antoine Chambert-Loir's def; semirings, linear)
https://github.com/leanprover-community/mathlib4/pull/10159 (Antoine Chambert-Loir's def; rings, affine)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
RFC
label:t-algebra$ |
87/0 |
Mathlib.lean,Mathlib/LinearAlgebra/LinearProgramming.lean |
2 |
64 |
['Shreyas4991', 'YaelDillies', 'eric-wieser', 'github-actions', 'kim-em', 'madvorak', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37970 6 months ago |
691-25601 691 days ago |
232-74885 232 days |
| 7890 |
grhkm21 author:grhkm21 |
feat(Mathlib/Tactic/Setm): implement setm tactic |
This is my first time doing metaprogramming in Lean 4, please provide feedback when you have them :)
The `setm` tactic, which stands for `set` + matching, matches a given expression with the goal and introduces new local hypotheses for the named holes specified. One of the best usage is for rearrangement proofs. As a simple example,
```lean
example : (1 + 1) + (4 * 3) - (1 + 1) = (3 * 4 : Rat) := by
setm ?A + ?B - ?A = (?C : Rat)
rw [show ∀ A B, A + B - A = B by intro A B ; ring_nf ]
apply Rat.mul_comm
```
One can imagine replacing the three term expression with a 7 term algebraic expression.
This was developed with tons of help from [Zulip](https://leanprover.zulipchat.com/#narrow/stream/239415-metaprogramming-.2F-tactics/topic/Help.20with.20writing.20tactic), especially from Thomas. Thanks!
TODO:
- [X] Support `setm ... at ...` syntax, see *example 1* below
- [X] Write docs
- [ ] Use `withNewMCtxDepth`
- [X] Rename the intermediate `MVar`s, see *example 2* below
- [ ] Use `elabTermWithHolesPostponing` in conjunction with `Term.synthesizeSyntheticMVarsNoPostPoning` after `isDefEq` to handle instances
Example 1:
```lean
/- Usage with `using` and `at` keywords -/
example (h1 : 1 + 1 = 3) (h2 : 1 + 3 = 5) (h3 : 2 + 2 = 5) : true := by
setm ?A + _ = (?B : Nat) using h2 at h1 h2 h3
guard_hyp A := 1
guard_hyp B := 5
guard_hyp h1 : A + A = 3
guard_hyp h2 : A + 3 = B
guard_hyp h3 : 2 + 2 = B
trivial
```
Example 2:
```lean
/- Test reusing named holes -/
example (h : b + a = c) : a + b = c := by
/- setm 1-/
setm ?A + ?B = (_ : Nat)
guard_hyp A := a
guard_hyp B := b
/- clean up -/
unfold_let A B
clear hA hB A B
/- setm 2 -/
rewrite [Nat.add_comm]
setm ?A + ?B = (_ : Nat) at h ⊢
guard_hyp A := b
guard_hyp B := a
exact h
```
Co-authored-by: Jireh Loreaux
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
141/0 |
Mathlib.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/Setm.lean,test/Setm.lean |
4 |
4 |
['mathlib4-merge-conflict-bot', 'thorimur'] |
nobody |
187-37969 6 months ago |
944-37745 944 days ago |
0-104 1 minute |
| 9352 |
chenyili0818 author:chenyili0818 |
feat: arithmetic lemmas for `gradient` |
This file is based on Mathlib.Analysis.Calculus.Gradient.Basic, and describes the calculation properties
Co-authored-by: Ziyu Wang [tropicalfish910@gmail.com](mailto:tropicalfish910@gmail.com)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-analysis
|
404/0 |
Mathlib.lean,Mathlib/Analysis/Calculus/Gradient/Lemmas.lean |
2 |
31 |
['chenyili0818', 'github-actions', 'jcommelin', 'mathlib4-merge-conflict-bot', 'sgouezel', 'winstonyin'] |
nobody |
187-37845 6 months ago |
825-16294 825 days ago |
52-1358 52 days |
| 9795 |
sinhp author:sinhp |
feat: the type `Fib` of fibre of a function at a point |
This is the most basic file of the theory of fibred categories developed here: https://github.com/sinhp/LeanFibredCategories/tree/master
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
|
74/0 |
Mathlib.lean,Mathlib/Data/Fiber.lean |
2 |
18 |
['adri326', 'joelriou', 'mathlib4-merge-conflict-bot', 'sinhp'] |
nobody |
187-37844 6 months ago |
857-34015 857 days ago |
2-35530 2 days |
| 10660 |
eric-wieser author:eric-wieser |
feat(LinearAlgebra/CliffordAlgebra): construction from a basis |
This is adapted from https://github.com/eric-wieser/lftcm2023-clifford_algebra, which only worked for the special case of `Q = 0`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
awaiting-author
t-algebra
label:t-algebra$ |
573/0 |
Mathlib.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Basis.lean |
2 |
16 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37840 6 months ago |
unknown |
0-0 0 seconds |
| 10977 |
grunweg author:grunweg |
feat: germs of smooth functions |
Define the space of germs of smooth functions (between manifolds).
Endow it with a ring structure if the target manifold is a smooth ring (e.g., a Lie group or a field).
From the sphere eversion project, rewritten by me.
Co-authored-by: Patrick Massot
-------
Particular questions for review
- is the authorship/copyright information appropriate?
(`PatrickMassot` created the file `SmoothGerm` which I adapted; I didn't trace this far back through sphere-eversion.)
- is providing all the intermediate algebraic structures (such as, an additive subgroup) on the space of smooth germs useful in practice? (The sphere eversion project only needs a ring structure.)
- any further particular API lemmas (e.g., around coercions) which would be good to add?
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
merge-conflict
awaiting-author
t-topology
t-analysis
|
150/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Algebra/SmoothGerm.lean |
2 |
34 |
['YaelDillies', 'github-actions', 'grunweg', 'jcommelin', 'kim-em', 'mathlib4-merge-conflict-bot', 'mcdoll'] |
fpvandoorn assignee:fpvandoorn |
187-37839 6 months ago |
636-13474 636 days ago |
144-63944 144 days |
| 10998 |
hmonroe author:hmonroe |
feat(Logic): Arithmetization of partial recursive functions (toward Gödel's first incompleteness theorem) |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-logic
|
364/0 |
Mathlib.lean,Mathlib/Logic/Godel/PartArith.lean |
2 |
4 |
['Ruben-VandeVelde', 'YaelDillies', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37838 6 months ago |
718-6366 718 days ago |
99-83915 99 days |
| 11890 |
adomani author:adomani |
feat: the terminal refine linter |
A linter that warns on usages of `refine` and `refine'` as a finishing tactic.
See this [Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Usage.20of.20refine').
### Conclusion of the experiment
Systematic replacements of terminal `refine` with `exact` leads to an overall slow-down.
---
- [ ] depends on: #15616 (disable the linter in downstream projects)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
awaiting-author
|
77/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/TerminalRefineLinter.lean |
3 |
15 |
['adomani', 'github-actions', 'grunweg', 'joneugster', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot', 'urkud'] |
nobody |
187-37714 6 months ago |
649-72220 649 days ago |
18-28993 18 days |
| 11991 |
adomani author:adomani |
draft: syntax data linter |
A linter that prints `SyntaxNodeKind`s and `Range`s for all the nodes of a command.
See this [Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there-code-for-X.3F/topic/undocumented.20things).
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
152/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/SyntaxDataLinter.lean |
3 |
1 |
['mathlib4-merge-conflict-bot'] |
nobody |
187-37713 6 months ago |
unknown |
0-0 0 seconds |
| 12006 |
adomani author:adomani |
feat: the `suffa` tactic |
The `suffa` tactic.
`suffa tac` runs the tactic sequence `tac` and returns a `Try this:` suggestion
of the form `suffices [target_after_tac] by tac; assumption`.
For example
```lean
example {m n : Nat} (h : m = n) : 0 + m = n := by
suffa rewrite [Nat.zero_add]
assumption
```
suggests the replacement
```lean
example {m n : Nat} (h : m = n) : 0 + m = n := by
suffices m = n by
rewrite [Nat.zero_add]
assumption
assumption
```
See [this thread](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Try.20this.3A.20suffices.20simpa) as well as [this message](https://leanprover.zulipchat.com/#narrow/stream/144837-PR-reviews/topic/.2311822.20flexible.20tactics.20linter/near/431895664).
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
161/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Suffa.lean,test/Suffa.lean |
4 |
4 |
['MoritzBeroRoos', 'YaelDillies', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37711 6 months ago |
718-23089 718 days ago |
59-762 59 days |
| 13442 |
dignissimus author:dignissimus |
feat: mabel tactic for multiplicative abelian groups |
Mabel tactic for multiplicative abelian groups (#10361)
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
merge-conflict
modifies-tactic-syntax
awaiting-author
help-wanted
t-meta
|
439/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MAbel.lean,MathlibTest/mabel.lean |
4 |
11 |
['BoltonBailey', 'dignissimus', 'github-actions', 'joneugster', 'kbuzzard', 'mathlib4-merge-conflict-bot'] |
joneugster assignee:joneugster |
187-37709 6 months ago |
637-29795 637 days ago |
0-16 16 seconds |
| 14237 |
js2357 author:js2357 |
feat: Define the localization of a fractional ideal at a prime ideal |
Define the localization of a fractional ideal at a prime ideal, and prove some basic properties.
---
This PR is part 3 out of 4 of a proof of `isDedekindDomain_iff_isDedekindDomainDvr`.
Part 4 is available here: #14242
- [x] depends on: #14099 Part 1
- [x] depends on: #14216 Part 2
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
230/0 |
Mathlib.lean,Mathlib/RingTheory/FractionalIdeal/LocalizedAtPrime.lean,Mathlib/RingTheory/Localization/Basic.lean |
3 |
22 |
['Vierkantor', 'YaelDillies', 'github-actions', 'js2357', 'kbuzzard', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
Vierkantor assignee:Vierkantor |
187-37707 6 months ago |
636-11530 636 days ago |
6-3525 6 days |
| 14345 |
digama0 author:digama0 |
feat: the Dialectica category is monoidal closed |
- [x] depends on: #14274
The monoidal closed structure of the Dialectica category.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
|
252/0 |
Mathlib.lean,Mathlib/CategoryTheory/Dialectica/Closed.lean |
2 |
4 |
['github-actions', 'kim-em', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37584 6 months ago |
679-3138 679 days ago |
12-20456 12 days |
| 14727 |
jjaassoonn author:jjaassoonn |
feat(RingTheory/Flat/CategoryTheory): a flat module has vanishing higher Tor groups |
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-ring-theory
|
37/1 |
Mathlib/RingTheory/Flat/CategoryTheory.lean |
1 |
4 |
['github-actions', 'kim-em', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37582 6 months ago |
676-71583 676 days ago |
3-28223 3 days |
| 14733 |
jjaassoonn author:jjaassoonn |
feat(RingTheory/Flat/CategoryTheory): a module is flat iff tensoring preserves finite limits |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-ring-theory
|
99/1 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/RightExact.lean,Mathlib/RingTheory/Flat/CategoryTheory.lean |
4 |
3 |
['github-actions', 'kim-em', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37580 6 months ago |
673-83444 673 days ago |
6-6256 6 days |
| 15055 |
sinhp author:sinhp |
feat: the category of pointed objects of a concrete category |
This file defines the category of pointed objects of a concrete category. After this we will have the categories of pointed groups, pointed abelian groups, pointed groupoids, etc.
To define `Pointed.functor`, we need to add the following "pullback" construction to the category of elements.
```
@[simps obj map]
def pullback (F : D ⥤ Type w) (G : C ⥤ D) :
(G ⋙ F).Elements ⥤ F.Elements where
obj X := ⟨G.obj X.1, X.2⟩
map {X Y} f := ⟨G.map f.1, f.2⟩
```
This is called pullback since the display map of `G ⋙ F` (i.e. `π (G ⋙ F)`) is a pullback of the display map of `F`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
|
185/0 |
Mathlib.lean,Mathlib/CategoryTheory/ConcreteCategory/Pointed.lean,Mathlib/CategoryTheory/Elements.lean |
3 |
14 |
['dagurtomas', 'github-actions', 'kim-em', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37579 6 months ago |
663-22921 663 days ago |
7-80557 7 days |
| 15224 |
AnthonyBordg author:AnthonyBordg |
feat(CategoryTheory/Sites): covering families and their associated Grothendieck topology |
Define covering families on a category and their associated Grothendieck topology by using the API for `Coverage`.
Give an explicit characterization of the covering sieves of the said topology.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
new-contributor
|
112/0 |
Mathlib.lean,Mathlib/CategoryTheory/Sites/CoveringFamilies.lean |
2 |
21 |
['AnthonyBordg', 'adamtopaz', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37578 6 months ago |
663-3809 663 days ago |
1-48443 1 day |
| 15453 |
tomaz1502 author:tomaz1502 |
Track formalization of runtime complexity |
I finished porting https://github.com/leanprover-community/mathlib3/pull/14494/ to Lean 4 and made several small PRs, as suggested. This meta PR is used to track the progress of the smaller PRs.
## Pending PRs
- [Formalization of List.insertionSort](https://github.com/leanprover-community/mathlib4/pull/15449)
- [Lemmas about Split](https://github.com/leanprover-community/mathlib4/pull/15450)
- [Formalization of List.merge](https://github.com/leanprover-community/mathlib4/pull/15451)
- [Formalization of List.mergeSort](https://github.com/leanprover-community/mathlib4/pull/15452)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
525/0 |
Mathlib.lean,Mathlib/Computability/Timed/InsertionSort.lean,Mathlib/Computability/Timed/Merge.lean,Mathlib/Computability/Timed/MergeSort.lean,Mathlib/Computability/Timed/Split.lean |
5 |
5 |
['joneugster', 'mathlib4-merge-conflict-bot', 'mergify'] |
nobody |
187-37576 6 months ago |
649-29466 649 days ago |
11-43846 11 days |
| 16303 |
grunweg author:grunweg |
feat(CI): check for badly formatted titles or missing/contradictory labels |
---
The zulip workflow is entirely cargo-culted from #16296; please review carefully.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
CI
|
325/0 |
.github/build.in.yml,Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/ValidatePRTitle.lean,MathlibTest/ValidatePRTitle.lean,lakefile.lean,scripts/README.md,scripts/check-title-labels.lean |
8 |
45 |
['Command-Master', 'adomani', 'bryangingechen', 'edegeltje', 'github-actions', 'grunweg', 'joneugster', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
bryangingechen assignee:bryangingechen |
187-37574 6 months ago |
505-73067 505 days ago |
78-4556 78 days |
| 17587 |
kmill author:kmill |
feat: Sym2-as-Finset theory |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
new-contributor
|
105/3 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/RingTheory/Polynomial/Vieta.lean |
4 |
11 |
['FordUniver', 'YaelDillies', 'github-actions', 'kmill', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37424 6 months ago |
unknown |
0-0 0 seconds |
| 18236 |
joelriou author:joelriou |
feat(Algebra/Category/ModuleCat/Presheaf): the endofunctor of presheaves of modules induced by an oplax natural transformation |
An endomorphism of ` ModuleCat.restrictScalarsPseudofunctor`, i.e. a "compatible" family of functors `ModuleCat A ⥤ ModuleCat A` for all (commutative) rings `A` induces a functor `PresheafOfModules R ⥤ PresheafOfModules R` for any presheaf of (commutative) rings `R`.
In #18262, this is applied to the construction of exterior powers of a presheaves of modules.
---
- [x] depends on: #18197
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
t-category-theory
awaiting-CI
merge-conflict
awaiting-author
label:t-algebra$ |
180/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/FunctorOfNatTrans.lean |
2 |
6 |
['github-actions', 'kim-em', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37423 6 months ago |
unknown |
0-0 0 seconds |
| 18630 |
tomaz1502 author:tomaz1502 |
feat(Computability.Timed): Formalization of runtime complexity of List.mergeSort |
This PR adds the formalization of the runtime complexity of the merge sort algorithm, defined in `Data/List/Sort`.
Requires: https://github.com/leanprover-community/mathlib4/pull/15451
References:
- Previous PR on mathlib3: https://github.com/leanprover-community/mathlib3/pull/14494/
- First discussion on Zulip: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/BSc.20Final.20Project/near/220647062
- Second disussion on Zulip: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Formalization.20of.20Runtime.20Complexity.20of.20Sorting.20Algorithms/near/284184450
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
new-contributor
|
526/0 |
Mathlib.lean,Mathlib/Computability/Timed/InsertionSort.lean,Mathlib/Computability/Timed/Merge.lean,Mathlib/Computability/Timed/MergeSort.lean,Mathlib/Computability/Timed/Split.lean |
5 |
9 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37422 6 months ago |
566-2825 566 days ago |
0-77273 21 hours |
| 18749 |
GabinKolly author:GabinKolly |
feat(ModelTheory): preparatory work for the existence of Fraïsse limits |
Define the map of a PartialEquiv through an embedding, and related properties.
Define embeddings and equivalences between equal structures or equal substructures, and related properties.
Add miscellaneous lemmas which will be used to prove the existence of fraisse limits.
---
This is preparation for #18876
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-logic
|
308/5 |
Mathlib/ModelTheory/Bundled.lean,Mathlib/ModelTheory/DirectLimit.lean,Mathlib/ModelTheory/FinitelyGenerated.lean,Mathlib/ModelTheory/PartialEquiv.lean,Mathlib/ModelTheory/Substructures.lean |
5 |
10 |
['GabinKolly', 'YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
nobody |
187-37420 6 months ago |
489-86380 489 days ago |
73-63475 73 days |
| 18876 |
GabinKolly author:GabinKolly |
feat(ModelTheory/Fraisse): add proof that Fraïssé limits exist |
Fraïssé limits exist.
---
All the preparatory work done in other files is contained in the pull request #18749, this pull request adds the work done in ModelTheory/Fraisse, the definition of the sequence of structures whose limit will be the Fraïssé limit, lemmas about this sequence, and then the proof that the limit is indeed a Fraïssé limit.
- [ ] depends on: #18749
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-logic
|
666/5 |
Mathlib/ModelTheory/Bundled.lean,Mathlib/ModelTheory/DirectLimit.lean,Mathlib/ModelTheory/FinitelyGenerated.lean,Mathlib/ModelTheory/Fraisse.lean,Mathlib/ModelTheory/PartialEquiv.lean,Mathlib/ModelTheory/Substructures.lean |
6 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37418 6 months ago |
560-8752 560 days ago |
0-37 37 seconds |
| 19323 |
madvorak author:madvorak |
feat: Function to Sum decomposition |
---
Discussion: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Function.20to.20Sum.20decomposition |
merge-conflict
WIP
t-data
|
50/0 |
Mathlib.lean,Mathlib/Data/Sum/Decompose.lean |
2 |
3 |
['github-actions', 'madvorak', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37417 6 months ago |
507-17650 507 days ago |
43-18002 43 days |
| 19378 |
adamtopaz author:adamtopaz |
feat: Explanation widgets |
This adds some simple widgets, wrapped in a tactic, term and command elaborator, for displaying markdown explanations in the infoview.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
101/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Widget/Explain.lean |
3 |
9 |
['adamtopaz', 'eric-wieser', 'github-actions', 'joneugster', 'kmill', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37416 6 months ago |
499-8387 499 days ago |
49-76666 49 days |
| 19456 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(Data/Finsupp/MonomialOrder/DegRevLex): homogeneous reverse lexicographic order |
Definition of the homogeneous reverse lexicographic order
---
- [x] depends on: #19453
- [x] depends on: #19455
[](https://gitpod.io/from-referrer/)
|
WIP
t-order
t-data
merge-conflict
t-algebraic-geometry
|
362/0 |
Mathlib.lean,Mathlib/Data/Finsupp/MonomialOrder/DegLex.lean,Mathlib/Data/Finsupp/MonomialOrder/DegRevLex.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37415 6 months ago |
546-28591 546 days ago |
0-27 27 seconds |
| 19797 |
eric-wieser author:eric-wieser |
refactor: use Qq in the nlinarith preprocessor |
This also provides the machinery needed to Qq-ify linarith itself.
This is still doing far more `synthInstanceQ`/`isDefEq`(`Q`) than should be needed, but at least drops the `mkAppM`s.
Currently, this takes a different approach to the one used by `NormNum.Result`:
* `NormNum.Result` deliberately avoids adding any `Expr` parameters to types, as this makes defeq problem at compile-time hard
* This PR allows the Expr parameters, but adds casting helpers to easily transport along defeq(Q)s. A few `unsafeIntro`s are left, which correspond to either a Qq bug, or a flaw in the idea behind this approach.
I don't know if this pattern is an improvement.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
large-import
|
260/28 |
Mathlib/Data/Ineq.lean,Mathlib/Tactic/Linarith/Datatypes.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm.lean,Mathlib/Tactic/Linarith/Preprocessing.lean,Mathlib/Util/Qq.lean |
5 |
9 |
['eric-wieser', 'github-actions', 'leanprover-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37288 6 months ago |
unknown |
0-0 0 seconds |
| 20051 |
Timeroot author:Timeroot |
feat: `Clone` and some instances |
Defines clones (`Clone`). And there is a file, `Instances.lean`, that gives several most important examples of Clones. In particular, it has all of the clones (in an appropriately general form) that occur in [Post's Lattice](https://en.wikipedia.org/wiki/Post%27s_lattice), and [later proving](https://github.com/leanprover-community/mathlib4/pull/24744) the completeness of Post's Lattice is why I'm making this PR.
(Edit: Used to also say "Defined operads (`Operad`), symmetric operads (`SymmOperad`), and clones ... There is a proof that all clones have a natural operad structure.". This has been scrapped.)
---
- [x] depends on: #20133 [basics and notations]
- [x] depends on: #20134 [permutations]
- [x] depends on: #20138 [operad]
- [x] depends on: #20141 [clone]
- [x] depends on: #23459 [defs]
- [ ] depends on: #23460 [basic]
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
blocked-by-other-PR
label:t-algebra$ |
623/0 |
Mathlib.lean,Mathlib/Algebra/Clone/Basic.lean,Mathlib/Algebra/Clone/Defs.lean,Mathlib/Algebra/Clone/Instances.lean,Mathlib/Data/Fin/Basic.lean |
5 |
33 |
['Timeroot', 'YaelDillies', 'eric-wieser', 'github-actions', 'jcommelin', 'kbuzzard', 'kim-em', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'wmacmil'] |
nobody |
187-37287 6 months ago |
unknown |
0-0 0 seconds |
| 20466 |
MohanadAhmed author:MohanadAhmed |
feat: Sherman Morrison formula for rank 1 update of the matrix inverse |
Provides the Sherman Morrison rank 1 update of the matrix inverse https://en.wikipedia.org/wiki/Sherman%E2%80%93Morrison_formula.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-data
|
37/0 |
Mathlib/Data/Matrix/Invertible.lean |
1 |
5 |
['eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37285 6 months ago |
483-11069 483 days ago |
23-30652 23 days |
| 20648 |
anthonyde author:anthonyde |
feat: formalize regular expression -> εNFA |
The file `Computability/RegularExpressionsToEpsilonNFA.lean` contains a formal definition of Thompson's method for constructing an `εNFA` from a `RegularExpression` and a proof of its correctness.
---
- [x] depends on: #20644
- [x] depends on: #20645
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
awaiting-zulip
new-contributor
|
490/0 |
Mathlib.lean,Mathlib/Computability/RegularExpressionsToEpsilonNFA.lean,docs/references.bib |
3 |
7 |
['anthonyde', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'meithecatte', 'qawbecrdtey'] |
nobody |
187-37284 6 months ago |
384-70213 384 days ago |
75-77754 75 days |
| 20649 |
GabinKolly author:GabinKolly |
feat(ModelTheory/Graph): prove characterization of the fraisse limit of finite simple graphs |
Prove that a countable graph with the extension property must be the Fraisse limit of finite simple graphs.
---
[](https://gitpod.io/from-referrer/)
|
WIP
large-import
merge-conflict
t-combinatorics
t-logic
|
175/0 |
Mathlib/ModelTheory/Graph.lean,Mathlib/ModelTheory/Substructures.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37282 6 months ago |
unknown |
0-0 0 seconds |
| 20652 |
jjaassoonn author:jjaassoonn |
feat: categorical description of center of a ring |
We show the isomorphism between `Z(R)` and `End(1 Mod-R)`
---
- [x] depends on:#20721
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
t-category-theory
label:t-algebra$ |
212/21 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/Ring/Center.lean,Mathlib/CategoryTheory/Conj.lean,Mathlib/CategoryTheory/Endomorphism.lean,Mathlib/CategoryTheory/Preadditive/AdditiveFunctor.lean,Mathlib/CategoryTheory/Preadditive/Basic.lean |
7 |
42 |
['alreadydone', 'github-actions', 'jcommelin', 'jjaassoonn', 'kbuzzard', 'mathlib4-merge-conflict-bot', 'qawbecrdtey'] |
nobody |
187-37281 6 months ago |
475-34711 475 days ago |
5-77051 5 days |
| 20924 |
tomaz1502 author:tomaz1502 |
feat(Computability/QueryComplexity): Oracle-based computation |
This PR adds the types and lemmas for oracle-based computation. In this model, computations are run on a monad which also counts the number of oracle queries executed. With it, it becomes possible to reason about the upper bound of the query complexity of algorithms. In the future, we could extend this work to include the necessary bits from information theory and probability to also reason about lower bounds on query complexity, like the work in https://github.com/girving/debate.
Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2318629.20runtime.20complexity.20of.20sorting.20a.20list
Co-authored-by: Geoffrey Irving
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
|
305/0 |
Mathlib.lean,Mathlib/Computability/QueryComplexity/Basic.lean,Mathlib/Computability/QueryComplexity/Defs.lean |
3 |
60 |
['eric-wieser', 'girving', 'github-actions', 'mathlib4-merge-conflict-bot', 'quangvdao', 'tomaz1502'] |
nobody |
187-37280 6 months ago |
456-58575 456 days ago |
27-32630 27 days |
| 20956 |
tomaz1502 author:tomaz1502 |
feat(Computability/QueryComplexity/Sort.lean): Formalization of upper bound of queries for merge sort |
This PR builds on top of #20924 to prove that merge sort (as defined in Lean's library) never executes more than `3 * n * ceil_log2 n` comparisons, where `n` is the size of the input list and `ceil_log2` is the ceil of the logarithm in base 2, which is defined in this PR.
Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2318629.20runtime.20complexity.20of.20sorting.20a.20list
- [ ] depends on: #20924
Co-authored-by: Geoffrey Irving
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
blocked-by-other-PR
|
676/0 |
Mathlib.lean,Mathlib/Computability/QueryComplexity/Basic.lean,Mathlib/Computability/QueryComplexity/Defs.lean,Mathlib/Computability/QueryComplexity/Sort.lean |
4 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37278 6 months ago |
488-5839 488 days ago |
0-41 41 seconds |
| 21270 |
GabinKolly author:GabinKolly |
feat(ModelTheory/Bundled): first-order embeddings and equivalences from equalities |
Add first-order embeddings and equivalences from equalities between bundled structures.
---
Add two definitions to get embeddings and equivalences from equalities between bundled structures, and simple properties.
This is some preparatory work for #18876
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
large-import
t-logic
|
102/0 |
Mathlib/ModelTheory/Bundled.lean |
1 |
27 |
['GabinKolly', 'Vierkantor', 'YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37276 6 months ago |
406-39089 406 days ago |
50-58472 50 days |
| 21277 |
GabinKolly author:GabinKolly |
feat(ModelTheory/PartialEquiv): Define the mapping of a self-partialEquiv through an embedding |
Define the mapping of a self-partialEquiv through an embedding and the notion of fully extendable partialEquiv.
---
This is some preparatory work for #18876
- [ ] depends on: #21276
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-logic
|
215/5 |
Mathlib/ModelTheory/PartialEquiv.lean,Mathlib/ModelTheory/Substructures.lean |
2 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37274 6 months ago |
479-73652 479 days ago |
0-668 11 minutes |
| 21616 |
peabrainiac author:peabrainiac |
feat(Topology): concatenating countably many paths |
Adds `Path.countableConcat`, the concatenation of a sequence of paths leading up to some point `x`.
---
- [x] depends on: #21591
- [x] depends on: #21607
This work is a prerequisite to #20248, where it is used to show that the topology of first-countable locally path-connected spaces is coinduced by all the paths in that space.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
|
229/0 |
Mathlib.lean,Mathlib/Topology/Path/CountableConcat.lean |
2 |
31 |
['YaelDillies', 'github-actions', 'kim-em', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'peabrainiac'] |
nobody |
187-37271 6 months ago |
400-36652 400 days ago |
56-56728 56 days |
| 21624 |
sinhp author:sinhp |
feat(CategoryTheory): The (closed) monoidal structure on the product category of families of (closed) monoidal categories |
Given a family of closed monoidal categories, we show that the product of these categories
is a closed monoidal category with the pointwise monoidal structure.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
|
144/0 |
Mathlib.lean,Mathlib/CategoryTheory/Pi/Basic.lean,Mathlib/CategoryTheory/Pi/Monoidal.lean,Mathlib/CategoryTheory/Pi/MonoidalClosed.lean |
4 |
20 |
['TwoFX', 'YaelDillies', 'b-mehta', 'github-actions', 'jcommelin', 'mathlib4-merge-conflict-bot', 'sinhp'] |
nobody |
187-37270 6 months ago |
412-51512 412 days ago |
50-48893 50 days |
| 21829 |
Whysoserioushah author:Whysoserioushah |
feat(LinearAlgebra/TensorProduct/HomTensor): Add TensorProduct of Hom-modules |
Co-authored-by: Andrew Yang
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
174/0 |
Mathlib.lean,Mathlib/LinearAlgebra/TensorProduct/HomTensor.lean |
2 |
27 |
['Whysoserioushah', 'YaelDillies', 'erdOne', 'github-actions', 'kbuzzard', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37268 6 months ago |
419-31943 419 days ago |
46-53039 46 days |
| 21903 |
yhtq author:yhtq |
feat: add from/toList between `FreeSemigroup` and `List` with relative theorems |
Add from/toList between `FreeSemigroup` and `List` with relative theorems, as well as an incidental definition of lexicographic order on `FreeSemigroup`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-CI
large-import
merge-conflict
label:t-algebra$ |
169/0 |
Mathlib/Algebra/Free.lean |
1 |
12 |
['YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37144 6 months ago |
414-21099 414 days ago |
50-9294 50 days |
| 22159 |
shetzl author:shetzl |
feat: add definition of pushdown automata |
Add the definition of pushdown automata and their two acceptance conditions: acceptance based on empty stack and acceptance based on final state.
Co-authored-by: Tobias Leichtfried
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
awaiting-author
new-contributor
|
70/0 |
Mathlib.lean,Mathlib/Computability/PDA.lean |
2 |
35 |
['YaelDillies', 'github-actions', 'madvorak', 'mathlib4-merge-conflict-bot', 'shetzl'] |
nobody |
187-37138 6 months ago |
434-31151 434 days ago |
20-81245 20 days |
| 22194 |
eric-wieser author:eric-wieser |
feat: oracle computations (alternative) |
This explores a simpler version of #20924
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
|
698/0 |
Archive/Examples/SumOracle.lean,Mathlib.lean,Mathlib/Computability/QueryComplexity/Defs.lean,Mathlib/Computability/QueryComplexity/Sort.lean |
4 |
5 |
['eric-wieser', 'girving', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37135 6 months ago |
unknown |
0-0 0 seconds |
| 22231 |
pechersky author:pechersky |
feat(Algebra/Valued): `AdicExpansion` initial defns |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-author
t-topology
label:t-algebra$ |
299/0 |
Mathlib.lean,Mathlib/Topology/Algebra/Valued/AdicExpansion.lean |
2 |
8 |
['Thmoas-Guan', 'github-actions', 'grunweg', 'jcommelin', 'mathlib4-merge-conflict-bot'] |
jcommelin assignee:jcommelin |
187-37134 6 months ago |
266-20415 266 days ago |
158-37126 158 days |
| 22232 |
pechersky author:pechersky |
feat(Algebra/Valued): `AdicExpansion.apprUpto` |
---
- [ ] depends on: #22231
[](https://gitpod.io/from-referrer/) |
merge-conflict
t-topology
blocked-by-other-PR
|
399/0 |
Mathlib.lean,Mathlib/Topology/Algebra/Valued/AdicExpansion.lean |
2 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37132 6 months ago |
455-53425 455 days ago |
0-414 6 minutes |
| 22233 |
pechersky author:pechersky |
feat(Algebra/Valued): `AdicExpansion.evalAt` |
---
- [ ] depends on: #22231
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
blocked-by-other-PR
|
488/0 |
Mathlib.lean,Mathlib/Topology/Algebra/Valued/AdicExpansion.lean |
2 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37131 6 months ago |
455-53426 455 days ago |
0-412 6 minutes |
| 22302 |
658060 author:658060 |
feat: add `CategoryTheory.Topos.Power` |
This is a continuation of #21281 with the end goal of defining topoi in Mathlib. It introduces the notion of a power object in a category with a subobject classifier, which is a special case of an internal hom.
The definition `HasPowerObjects C` contained in this PR is all that remains before `IsTopos C` can be defined.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
new-contributor
|
312/0 |
Mathlib.lean,Mathlib/CategoryTheory/Topos/Power.lean |
2 |
3 |
['github-actions', 'joelriou', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
187-37129 6 months ago |
453-71131 453 days ago |
0-1528 25 minutes |
| 22389 |
adomani author:adomani |
feat: the variableVariable linter |
The motivation comes from [this Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/style.20proposal.3A.20avoid.20.60variable.20.7BX.7D.20.2E.2E.2E.20variable.20.28X.29.60).
Summarising, updating a variable binder for a single declaration can be confusing.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-linter
large-import
|
167/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/VariableVariable.lean,variableDeclarationVariable_replacements.py |
5 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37125 6 months ago |
unknown |
0-0 0 seconds |
| 22497 |
adomani author:adomani |
test: decl diff in lean |
Testing branch for #22464.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
CI
test-ci
|
161/0 |
.github/workflows/PR_summary_lean.yml,Mathlib.lean,Mathlib/Test.lean,scripts/README.md,scripts/declarations_diff.lean,scripts/declarations_diff_lean_shell_glue.sh |
6 |
8 |
['github-actions', 'mathlib4-merge-conflict-bot', 'mergify'] |
nobody |
187-37123 6 months ago |
unknown |
0-0 0 seconds |
| 22662 |
plp127 author:plp127 |
feat: Localization.Away.lift (computably) |
This PR adds `Localization.Away.lift'` and `Localization.Away.lift`, computable alternatives to `Localization.awayLift`.
---
- [x] depends on: #24791
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
74/0 |
Mathlib/RingTheory/Localization/Away/Basic.lean |
1 |
18 |
['eric-wieser', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127', 'vihdzp'] |
kim-em assignee:kim-em |
187-37122 6 months ago |
187-37123 187 days ago |
257-28368 257 days |
| 22790 |
mhk119 author:mhk119 |
feat: Extend `taylor_mean_remainder_lagrange` to `x < x_0` |
The `taylor_mean_remainder_lagrange` theorem has the assumption that $x_0 < x$. In many applications, we need $x < x_0$ and one cannot use the current version to obtain this (see [zulip](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Taylor's.20theorem)). This PR introduces a set of theorems that push negations through Taylor expansions so that one can extend `taylor_mean_remainder_lagrange` to the case when $x < x_0$. These theorems should also be useful elsewhere since they are quite general. |
merge-conflict
awaiting-author
t-analysis
new-contributor
|
111/1 |
Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean,Mathlib/Analysis/Calculus/Taylor.lean |
3 |
13 |
['Paul-Lez', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'mhk119'] |
nobody |
187-37116 6 months ago |
415-52233 415 days ago |
23-16830 23 days |
| 22861 |
eric-wieser author:eric-wieser |
feat: add the trace of a bilinear form |
Following the steps at [#Is there code for X? > Laplacian @ 💬](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Laplacian/near/450834505).
---
[](https://gitpod.io/from-referrer/)
Some questions:
* Does this generalize to multilinear maps?
* Is there an `RCLike` generalization?
* Does this generalize to `BilinMap` instead of just `BilinForm`?
Perhaps the approach in [#mathlib4 > Stating Schrodinger's equation @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Stating.20Schrodinger's.20equation/near/500409890) of using `ContinuousLinearMap.adjoint'` is better.
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
100/0 |
Mathlib.lean,Mathlib/LinearAlgebra/BilinearForm/Trace.lean |
2 |
4 |
['github-actions', 'jcommelin', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37114 6 months ago |
416-15262 416 days ago |
23-44995 23 days |
| 22919 |
plp127 author:plp127 |
feat(Data/Fintype/Pi): Make `Fintype` instance for `RelHom`s computable |
Makes the `Fintype` instance for rel homs computable.
See this [Zulip](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Classical.20vs.20constructive.20logic.20in.20computation/near/496220816) message.
---
- [x] depends on: #24748
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-data
|
178/44 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Data/Fintype/CardEmbedding.lean,Mathlib/Data/Fintype/Pi.lean |
5 |
31 |
['IvanRenison', 'b-mehta', 'eric-wieser', 'fpvandoorn', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127'] |
b-mehta assignee:b-mehta |
187-37112 6 months ago |
361-50383 361 days ago |
71-41637 71 days |
| 22954 |
eric-wieser author:eric-wieser |
feat(RingTheory/Congruence/Hom): copy from GroupTheory |
This was motivated in review of #22355, but I no longer recall why.
It also helps with #29357.
Either way, this captures a definition that was inlined in a later file.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
|
214/16 |
Mathlib/Algebra/RingQuot.lean,Mathlib/GroupTheory/Congruence/Hom.lean,Mathlib/RingTheory/Congruence/Defs.lean,Mathlib/RingTheory/Congruence/Hom.lean,Mathlib/RingTheory/TwoSidedIdeal/Kernel.lean |
5 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37111 6 months ago |
436-18825 436 days ago |
0-135 2 minutes |
| 23285 |
AntoineChambert-Loir author:AntoineChambert-Loir |
refactor: directed systems in terms of functors |
This is a WIP aiming to refactor the work on directed systems using the category theory library.
But there are universes nightmares.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
t-category-theory
large-import
merge-conflict
label:t-algebra$ |
111/45 |
Mathlib/Order/DirectedInverseSystem.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37105 6 months ago |
426-69233 426 days ago |
0-24 24 seconds |
| 23460 |
Timeroot author:Timeroot |
feat: Definition of `Clone` |
Basics about Clones. Part of #20051
---
- [ ] depends on: #26329
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
label:t-algebra$ |
326/0 |
Mathlib.lean,Mathlib/Algebra/Clone/Basic.lean,Mathlib/Algebra/Clone/Defs.lean,Mathlib/Data/Fin/Basic.lean |
4 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37103 6 months ago |
269-85875 269 days ago |
65-54502 65 days |
| 23503 |
apnelson1 author:apnelson1 |
feat(Topology/Instances/ENat): ENat and tsum |
We give API for the interactions between `tsum` and `ENat`. The type is especially nice, because every function is summable, and there are simplifying lemmas like the statement that a sum is infinite iff either some term is infinite, or the support is infinite.
This provides one of the missing pieces for working painlessly with discrete objects, 'propositional' finiteness and cardinality. For instance, one can sum a function `f : a -> ENat` over an arbitrary set with the term `∑' a : s, 1`, and it will be provable that `∑' a : s, 1 = s.encard` and `(support f).encard ≤ ∑' a, f a` without ever having to split into finite/infinite cases.
As is pointed out in the module docstring for `Data.ENat`, there are strong analogies between `ENat` and `ENNReal`, and the API runs parallel to the API for `tsum`/`ENNReal`. One could call it 'duplication', but I have yet to find a common generalization of the two that saves work, or a third example of a natural type with these same properties.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-topology
large-import
|
205/2 |
Mathlib/Data/ENat/Basic.lean,Mathlib/Data/Set/Card.lean,Mathlib/Topology/Instances/ENat.lean |
3 |
3 |
['eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-37101 6 months ago |
405-78054 405 days ago |
14-6036 14 days |
| 23585 |
plp127 author:plp127 |
feat: `Filter.atMax` and `Filter.atMin` |
Adds `atMax` and `atMin`, filters. Making an analogy, `atMax` : `atTop` :: `IsMax` : `IsTop`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-order
|
148/0 |
Mathlib.lean,Mathlib/Order/Filter/AtMaxMin.lean |
2 |
5 |
['github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'urkud'] |
nobody |
187-37100 6 months ago |
unknown |
0-0 0 seconds |
| 23758 |
erdOne author:erdOne |
feat(Topology/Algebra): linearly topologized iff non-archimedean |
...for topological modules over compact rings or `ℤ`-finite rings
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
merge-conflict
awaiting-author
t-topology
label:t-algebra$ |
138/3 |
Mathlib/LinearAlgebra/Span/Basic.lean,Mathlib/Topology/Algebra/LinearTopology.lean |
2 |
22 |
['ADedecker', 'AntoineChambert-Loir', 'erdOne', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
ADedecker and AntoineChambert-Loir assignee:AntoineChambert-Loir assignee:ADedecker |
187-37098 6 months ago |
288-47963 288 days ago |
124-78308 124 days |
| 24161 |
urkud author:urkud |
feat(Analysis/Calculus/Schwarzian): new file |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
|
190/3 |
Mathlib.lean,Mathlib/Analysis/Calculus/Deriv/ZPow.lean,Mathlib/Analysis/Calculus/Schwarzian/Basic.lean |
3 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
nobody |
187-36964 6 months ago |
unknown |
0-0 0 seconds |
| 24333 |
xcloudyunx author:xcloudyunx |
feat(Combinatorics/SimpleGraph): cycle graph implementation for generic vertex types |
The existing `cycleGraph` implementation under Combinatorics/SimpleGraph/Circulant.lean only operates over `Fin n`. This PR implements a cycle graph implementation over any generic vertex type.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-combinatorics
new-contributor
|
187/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Cycle.lean |
2 |
42 |
['IvanRenison', 'github-actions', 'mathlib4-merge-conflict-bot', 'vlad902'] |
kmill assignee:kmill |
187-36963 6 months ago |
273-35544 273 days ago |
123-18878 123 days |
| 24540 |
robertmaxton42 author:robertmaxton42 |
feat(Quiv): add the empty, vertex, point, interval, and walking quivers |
Add:
* The empty quiver
* The vertex quiver (one vertex, and no edges) and the point quiver (one vertex, one self-edge)
* The interval quiver (two vertices with an edge between them)
* The walking quiver (vertices `0` and `1` with two edges both `0 -> 1`. Functors from the walking quiver to `Type` define quivers, by interpreting `F.obj 0` as the type of vertices, `F.obj 1` as the type of edges, using one of the two edges to label the source of every edge and using the other to label the target.)
- [x] depends on: #24538
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
|
370/0 |
Mathlib.lean,Mathlib/CategoryTheory/Category/Quiv/Shapes.lean,Mathlib/CategoryTheory/Category/Quiv/WalkingQuiver.lean,Mathlib/Logic/Small/Defs.lean |
4 |
14 |
['github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robertmaxton42', 'robin-carlier'] |
nobody |
187-36958 6 months ago |
381-68539 381 days ago |
0-6849 1 hour |
| 24744 |
Timeroot author:Timeroot |
Post's lattice |
Draft PR for now so I can get CI checks. Eventually want to prove Post's Lattice
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
758/0 |
Mathlib.lean,Mathlib/Algebra/Clone/Basic.lean,Mathlib/Algebra/Clone/Defs.lean,Mathlib/Algebra/Clone/Instances.lean,Mathlib/Algebra/Clone/PostLattice.lean,Mathlib/Data/Fin/Basic.lean |
6 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-36953 6 months ago |
unknown |
0-0 0 seconds |
| 24850 |
pechersky author:pechersky |
feat(Topology/UniformSpace/Ultra): uniform spaces induced by pseudometrics are ultra if system is ultra |
Any uniform space has a natural system of pseudometrics definable on it,
comprised of those pseudometrics constructed from a descending chain of
equivalence relation entourages. In a nonarchimedean uniformity, this pseudometric system
induces the uniformity.
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #23111 |
merge-conflict
t-topology
|
509/1 |
Mathlib.lean,Mathlib/Topology/MetricSpace/BundledFun.lean,Mathlib/Topology/UniformSpace/Ultra/Pseudometrizable.lean |
3 |
9 |
['ADedecker', 'fpvandoorn', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] |
urkud assignee:urkud |
187-36950 6 months ago |
187-36951 187 days ago |
177-43034 177 days |
| 25324 |
eric-wieser author:eric-wieser |
feat: more functorial results about DFinsupp |
We have these already for Finsupp.
The `DFinsupp` statements need some extra casts in some places.
---
- [ ] depends on: #27182
[](https://gitpod.io/from-referrer/)
[#mathlib4 > Equiv.cast for structures @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Equiv.2Ecast.20for.20structures/near/521390935)
|
merge-conflict
awaiting-author
t-algebra
t-data
label:t-algebra$ |
137/16 |
Mathlib/Data/DFinsupp/Defs.lean,Mathlib/LinearAlgebra/DFinsupp.lean |
2 |
13 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] |
pechersky assignee:pechersky |
187-36945 6 months ago |
237-57216 237 days ago |
19-26510 19 days |
| 25585 |
Paul-Lez author:Paul-Lez |
feat(Tactic/Linters/DeprecatedSimpLemma): lint for deprecated simp lemmas |
The deprecated simp lemma linter flags declarations that have both the `deprecated` and `simp` attributes.
See Zulip discussion: [#mathlib4 > Help with Mathlib.Order.Interval.Finset.Defs @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Help.20with.20Mathlib.2EOrder.2EInterval.2EFinset.2EDefs/near/505994843)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
awaiting-author
|
105/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/DeprecatedSimpLemma.lean,MathlibTest/DeprecatedSimpLemmaTest.lean |
4 |
8 |
['adomani', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
187-36818 6 months ago |
351-22513 351 days ago |
0-87 1 minute |
| 25683 |
eric-wieser author:eric-wieser |
feat: Enumeration of NonemptyInterval |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
large-import
|
52/4 |
Mathlib/Data/Sym/Sym2/Fin.lean,Mathlib/Data/Sym/Sym2/Order.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-36815 6 months ago |
unknown |
0-0 0 seconds |
| 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 |
187-36814 6 months ago |
329-60377 329 days ago |
17-63153 17 days |
| 25746 |
robin-carlier author:robin-carlier |
feat(Tactic/CategoryTheory): `Cancelable` boilerplate for the `rotate_isos` WIP tactic |
This PR adds some boilerplate that will be used in a forthcoming PR implementing a `rotate_isos` tactic that aims to provide easy ways of moving one or more morphisms that can be inferred to be isomorphisms (not necessarily through the `IsIso typeclass, but also directly by recognizing them as e.g components of natural isomorphisms, or functor application to such morphisms).
The boilerplate in this PR abstracts the notion of a cancelable expression for a morphism in a composition of (iso)morphisms in a category, and records a global reference to a list of "cancelable factories", _i.e_ functions that try to recognize term in an expression as a "cancelable" morphism, and provides helper to register such functions.
---
First part of a series of 3 PRs contributing the `rotate_isos` tactic to mathlib. Second part will actually implement the tactic, and provide a test suite. Please read the description of the second PR (#24454) to get more details.
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #24452.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/24452* |
merge-conflict
awaiting-author
t-category-theory
t-meta
|
162/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Cancelable.lean,scripts/noshake.json |
4 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-36812 6 months ago |
347-36065 347 days ago |
0-2 2 seconds |
| 25747 |
robin-carlier author:robin-carlier |
feat(Tactic/CategoryTheory): the `rotate_isos` tactic |
We define a `rotate_isos` tactic for category theory in mathlib.
At its core, the tactic transform terms of type `α(1) ≫ ⋯ ≫ α(k) = β(1) ≫ ⋯ ≫ β(l)` where `α` and `β` are families of morphisms in whith the first `i` morphisms of the left-hand side and the last `j` morphisms of the right-hand side are isomorhisms, into terms of type `α(k-i) ≫ ⋯ ≫ α(k) ≫ inv β(l) ≫ ⋯ ≫ β(l-j+1) = inv α(j) ≫ ⋯ ≫ inv α(1) ≫⋯ ≫ β(l-j)`.
The construction of the inverses of expression are caried at the `Expr` levels are built out of the expressions of the morphisms, for instance, for this tactic, the inverse of `F.map (G.map (H.map f.hom)))` will directly be `F.map (G.map (H.map f.inv)))` (which would have to be re-simplified), rather than an `inv` term form an `IsIso` instance.
The tactic can be applied at a local hypothesis or at the main goal, or can be used through a `rotate_isos%` term elaborator if e.g one wants to add such a "rotated" form to a `simp` or `rw` call.
We also support removing morphisms "from the right" of the lhs, rather than from the right.
---
The motivations behind this tactic are the following :
- This tactic can "autogenerate" lemmas and terms generalizing lemmas such as [CategoryTheory.Iso.hom_inv_id_app_app_app](https://leanprover-community.github.io/mathlib4_docs/Mathlib/CategoryTheory/NatIso.html#CategoryTheory.Iso.hom_inv_id_app_app_app). This can also generate lemmas `F.map (G.map f.hom) ≫F.map (G.map f.inv) = 𝟙 _`, and can be used to unlock a `simp` call that blocks at an expression of the form `F.map (G.map f.hom) ≫F.map (G.map f.inv) `.
- Currently, cancelling morphisms "from the right" in an expression in category theory is a bit of a pain. You have to first reassociate the expression, perform multiple calls to `Iso.inv_comp_eq`, reassociate, etc. This at least automates this process in a fairly straightforward way.
- There are expressions in category theory that have no "right forms", e.g the pentagon axiom for monoidal categories, which has many variations in the way one can read the diagram of isomorphisms that represents it. Elaborators such as `rotate_iso%` easily generates all possible forms of such identities from one single form, and avoids having to state multiple forms of the same equality as individual lemmas.
- I have been playing with medium-sized diagrams of isomorphisms recently (think for example vertical/horizontal compositions of `CatCommSq`, whiskering a corner of such diagrams, etc.), and it made me wish a lot of time that such easy way to transforms equalities to equivalent forms were available.
- [ ] depends on: #25746
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #24454.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/24454* |
WIP
blocked-by-other-PR
t-category-theory
merge-conflict
awaiting-author
t-meta
|
871/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Cancelable.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Core.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Lemmas.lean,MathlibTest/CategoryTheory/RotateIsos.lean,scripts/noshake.json |
7 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
187-36811 6 months ago |
347-35704 347 days ago |
0-2 2 seconds |
| 25748 |
robin-carlier author:robin-carlier |
feat(Tactic/CategoryTheory): Initial lemmas for the `rotate_iso` tactic |
This PR records an initial set of lemmas to be used by the WIP `rotate_isos` tactic.
---
- [ ] depends on: #25746
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #24506.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/24506* |
merge-conflict
blocked-by-other-PR
t-meta
|
496/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Cancelable.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Lemmas.lean,scripts/noshake.json |
5 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
187-36809 6 months ago |
347-34796 347 days ago |
0-599 9 minutes |
| 25750 |
robin-carlier author:robin-carlier |
feat(Tactic/CategoryTheory): bicategory extension for `rotate_isos` |
This PR registers some lemmas to the `rotate_isos` tactic so that it applies in bicategorical contexts.
For instance, if `α : g ⟶ h` is an invertible 2-cells, the term `f ◁ α ` is also recognized as invertible, with inverse `f ◁ α' `, where `α'` is the expression for the inverse constructed by the tactic.
Without this extension, the tactic would only construct the generic `inv (f ◁ α)` as inverse for this term.
---
- [ ] depends on: #25747
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #24633.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/24633* |
merge-conflict
blocked-by-other-PR
t-category-theory
t-meta
|
1206/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Bicategory.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Cancelable.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Core.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Lemmas.lean,MathlibTest/CategoryTheory/RotateIsos.lean,scripts/noshake.json |
8 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
187-36807 6 months ago |
347-34901 347 days ago |
0-1 1 second |
| 25751 |
robin-carlier author:robin-carlier |
feat(Tactic/CategoryTheory): monoidal extension of `rotate_isos` |
This PR registers some lemmas to the `rotate_isos` tactic so that it applies in monoidal contexts.
For instance, if α : y ⟶ z is an invertible morphism, the term x ◁ α is also recognized as invertible, with inverse x ◁ α' , where α' is the expression for the inverse constructed by the tactic.
Without this extension, the tactic would only construct the generic inv (x ◁ α) as inverse for this term.
We also take care of terms of the form `f ⊗ g`
---
- [ ] depends on: #25747
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #24634.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/24634* |
merge-conflict
blocked-by-other-PR
t-category-theory
t-meta
|
1362/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Cancelable.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Core.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Lemmas.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Monoidal.lean,MathlibTest/CategoryTheory/RotateIsos.lean,scripts/noshake.json |
8 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
187-36806 6 months ago |
347-34547 347 days ago |
0-2 2 seconds |
| 25752 |
robin-carlier author:robin-carlier |
feat(Tactic/CategoryTheory): whiskering lemmas for `rotate_isos` |
This PR extends the base set of terms recognized by the `rotate_isos` tactic to include terms of the form `whiskerLeft F f`, `isoWhiskerLeft F e`, and `NatTrans.hcomp`/ `NatIso.hcomp`.
---
- [ ] depends on: #25747
Technically, it could depend solely on #24506, but there’s not much point getting this merged if the base tactic is not there.
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #24650.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/24650* |
merge-conflict
blocked-by-other-PR
t-meta
|
1365/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Cancelable.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Core.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Lemmas.lean,MathlibTest/CategoryTheory/RotateIsos.lean,scripts/noshake.json |
7 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
187-36804 6 months ago |
347-34358 347 days ago |
0-50 50 seconds |
| 25838 |
Bergschaf author:Bergschaf |
feat(Order/Atoms): Finsets are Atomistic |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-order
large-import
|
31/0 |
Mathlib/Order/Atoms.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-36793 6 months ago |
346-24255 346 days ago |
0-5594 1 hour |
| 25987 |
Multramate author:Multramate |
refactor(AlgebraicGeometry/EllipticCurve/Affine/*): some minor changes |
This PR continues the work from #24571.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24571 |
merge-conflict
t-algebraic-geometry
|
0/12 |
Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean |
2 |
4 |
['Multramate', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
187-36781 6 months ago |
342-70463 342 days ago |
0-588 9 minutes |
| 25990 |
Multramate author:Multramate |
chore(NumberTheory/EllipticDivisibilitySequence): rename definitions |
This PR continues the work from #25132.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25132 |
merge-conflict
t-number-theory
|
265/45 |
Mathlib/NumberTheory/EllipticDivisibilitySequence.lean |
1 |
3 |
['Multramate', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-36778 6 months ago |
342-70451 342 days ago |
0-449 7 minutes |
| 26165 |
oliver-butterley author:oliver-butterley |
feat(MeasureTheory.VectorMeasure): add lemma which shows that variation of a `ℝ≥0∞` VectorMeasure is equal to itself |
Add a lemma for the variation of a VectorMeasure which tells that if `μ` is `VectorMeasure X ℝ≥0∞` then ``μ.ennrealVariation = μ`.
Co-authored-by: @yoh-tanimoto
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
awaiting-author
merge-conflict
blocked-by-other-PR
new-contributor
|
467/0 |
Mathlib/MeasureTheory/VectorMeasure/Variation/Basic.lean,Mathlib/Order/Partition/Finpartition.lean |
3 |
9 |
['github-actions', 'leanprover-radar', 'mathlib4-merge-conflict-bot', 'oliver-butterley', 'yoh-tanimoto'] |
nobody |
187-36625 6 months ago |
324-31580 324 days ago |
15-66224 15 days |
| 26298 |
adomani author:adomani |
test: the commandStart linter only acts on modified files. |
Test for #26299: should flag issues in the new file and also in the modified file `Mathlib/Data/Array/Extract.lean`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
awaiting-author
t-linter
|
63/1 |
Mathlib.lean,Mathlib/Data/Array/Extract.lean,Mathlib/New.lean,Mathlib/Tactic/Linter/CommandStart.lean |
4 |
21 |
['adomani', 'bryangingechen', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-36603 6 months ago |
336-22833 336 days ago |
0-168 2 minutes |
| 26300 |
igorkhavkine author:igorkhavkine |
feat(Analysis/Calculus/FDeriv): continuous differentiability from continuous partial derivatives on an open domain in a product space |
If a function `f : E × F → G` is continuously differentiable, then its partial derivatives along `E` and `F` are also continuous. The non-trivial converse implication holds when the partial derivatives are continuous on an open domain, and they can be added together to give the total derivative of `f`. See this [#mathlib4 > Partial derivatives @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Partial.20derivatives/near/520995477) and the containing thread for some discussion. The PR creates a new import (`Mathlib.Analysis.Calculus.FDeriv.Partial`), where other results about partial derivatives could go in the future.
---
*this is the migration of #25304 to the PR-from-fork workflow*
- [x] depends on: #25564
- [x] depends on: #26273
[](https://gitpod.io/from-referrer/)
|
WIP
new-contributor
awaiting-author
t-analysis
merge-conflict
|
468/0 |
Mathlib/Analysis/Calculus/FDeriv/Partial.lean |
3 |
23 |
['YaelDillies', 'agjftucker', 'github-actions', 'igorkhavkine', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
sgouezel assignee:sgouezel |
187-36602 6 months ago |
283-84992 283 days ago |
44-77029 44 days |
| 26329 |
Timeroot author:Timeroot |
feat: Definition of `Clone` notations and typeclasses |
Definitions and notation typeclasses for #20051
---
This PR continues the work from #23459.
Original PR: https://github.com/leanprover-community/mathlib4/pull/23459
[](https://gitpod.io/from-referrer/) |
merge-conflict
awaiting-author
t-algebra
awaiting-CI
label:t-algebra$ |
100/0 |
Mathlib.lean,Mathlib/Algebra/Clone/Defs.lean |
2 |
4 |
['Timeroot', 'YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-36598 6 months ago |
335-33507 335 days ago |
0-21917 6 hours |
| 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
[](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 |
187-36585 6 months ago |
209-26050 209 days ago |
87-76183 87 days |
| 26399 |
ChrisHughes24 author:ChrisHughes24 |
refactor(ModelTheory): tidy up proof of Ax-Grothendieck with definable functions |
I migrated this 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: #20180
- [x] depends on: #21948
- [ ] depends on: #26398
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-logic
|
639/60 |
Mathlib.lean,Mathlib/FieldTheory/AxGrothendieck.lean,Mathlib/ModelTheory/FunctionalFormula.lean |
3 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
187-36584 6 months ago |
334-30787 334 days ago |
0-958 15 minutes |
| 26432 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(Data.Nat.LogFueled): fueled version of `clog` |
This PR continues the work from #25557.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25557 |
merge-conflict
t-data
|
201/0 |
Mathlib.lean,Mathlib/Data/Nat/LogFueled.lean |
2 |
3 |
['AntoineChambert-Loir', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-36583 6 months ago |
187-36584 187 days ago |
145-77007 145 days |
| 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 |
187-36454 6 months ago |
302-80212 302 days ago |
25-5233 25 days |
| 26644 |
kckennylau author:kckennylau |
feat(SetTheory/ZFC): Define the language of sets and state the ZFC axioms |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-set-theory
|
381/0 |
Mathlib.lean,Mathlib/SetTheory/ZFC/Axioms.lean,docs/references.bib |
3 |
50 |
['b-mehta', 'digama0', 'github-actions', 'kckennylau', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot', 'staroperator', 'vihdzp'] |
b-mehta assignee:b-mehta |
187-36452 6 months ago |
274-1315 274 days ago |
40-52145 40 days |
| 26648 |
eric-wieser author:eric-wieser |
chore(TensorProduct): remove more `suppress_compilation`s |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-core-PR
t-algebra
label:t-algebra$ |
3/7 |
Mathlib/LinearAlgebra/CliffordAlgebra/Prod.lean,Mathlib/LinearAlgebra/TensorProduct/Graded/External.lean,Mathlib/LinearAlgebra/TensorProduct/Graded/Internal.lean |
3 |
5 |
['eric-wieser', 'github-actions', 'leanprover-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
187-36451 6 months ago |
323-38486 323 days ago |
3-19989 3 days |
| 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
---
[](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 |
187-36449 6 months ago |
217-3068 217 days ago |
62-6838 62 days |
| 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`)
---
[](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 |
187-36428 6 months ago |
187-36429 187 days ago |
133-23955 133 days |
| 26920 |
yuma-mizuno author:yuma-mizuno |
feat(Tactic.CategoryTheory): add associator inserting tactic |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
t-meta
|
714/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/Associators.lean,MathlibTest/CategoryTheory/Associators.lean |
4 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-36427 6 months ago |
320-38801 320 days ago |
0-16 16 seconds |
| 26990 |
joelriou author:joelriou |
feat(CategoryTheory/Abelian): Noetherian objects form a Serre class |
This PR continues the work from #22367.
Original PR: https://github.com/leanprover-community/mathlib4/pull/22367 |
merge-conflict
WIP
t-category-theory
|
311/14 |
Mathlib.lean,Mathlib/CategoryTheory/Abelian/SerreClass/NoetherianObject.lean,Mathlib/CategoryTheory/Abelian/Subobject.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Subobject/MonoOver.lean |
5 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-36417 6 months ago |
318-24979 318 days ago |
0-45 45 seconds |
| 27098 |
Paul-Lez author:Paul-Lez |
feat(Algebra/Category/ModuleCat/Sheaf/VectorBundle): define vector bundles |
This PR defines vector bundles (upstreamed from [formal-conjectures](https://github.com/google-deepmind/formal-conjectures/pull/28/files)). I plan on adding some more API about the definition in this PR, but figured it would be nice to get some initial feedback about the definition before doing so!
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
53/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/VectorBundle.lean |
2 |
5 |
['Kiolt', 'Raph-DG', 'chrisflav', 'github-actions', 'mathlib4-merge-conflict-bot'] |
chrisflav assignee:chrisflav |
187-36414 6 months ago |
298-79084 298 days ago |
16-82477 16 days |
| 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.
---
[](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 |
187-36412 6 months ago |
275-6721 275 days ago |
39-17587 39 days |
| 27163 |
pechersky author:pechersky |
feat(Topology/ValuativeRel): of and to basis of compatible valuations |
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #30262 |
t-number-theory
t-algebra
merge-conflict
awaiting-author
t-topology
label:t-algebra$ |
229/62 |
Mathlib/NumberTheory/LocalField/Basic.lean,Mathlib/Order/Filter/Bases/Basic.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean |
3 |
73 |
['erdOne', 'github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky', 'smmercuri'] |
alreadydone assignee:alreadydone |
187-36411 6 months ago |
188-68202 188 days ago |
84-31691 84 days |
| 27215 |
kckennylau author:kckennylau |
feat(AlgebraicGeometry): Define the Zariski site on `CommRingCatᵒᵖ` |
We define the Zariski site on `CommRingCatᵒᵖ` by inducing the topology from `Scheme`, and then we show that this topology is equal to the one generated by the pretopology of finite, surjective, and standard open morphisms.
---
- [x] depends on: #28614
- [x] depends on: #28615
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebraic-geometry
|
312/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/AlgebraicGeometry/Sites/BigAffineZariski.lean |
3 |
33 |
['chrisflav', 'github-actions', 'joelriou', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
chrisflav assignee:chrisflav |
187-36409 6 months ago |
244-28973 244 days ago |
3-70573 3 days |
| 27309 |
kckennylau author:kckennylau |
feat(CategoryTheory): a presheaf on `CostructuredArrow F d` can be extended to a presheaf on `C` |
---
Depends on:
* [ ] #27321
Zulip: [#Is there code for X? > over category via a functor](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/over.20category.20via.20a.20functor/with/529574191)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
218/0 |
Mathlib.lean,Mathlib/CategoryTheory/Comma/Presheaf/LeftExtension.lean |
2 |
4 |
['erdOne', 'github-actions', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
erdOne assignee:erdOne |
187-36278 6 months ago |
293-26477 293 days ago |
15-69033 15 days |
| 27321 |
kckennylau author:kckennylau |
feat(CategoryTheory): Colimit can be computed fiberwise |
We consider category `J` equipped with a functor `F : J ⥤ D` to a discrete category `D`. Then the colimit of any diagram `diagram : J ⥤ C` can be computed using the following algorithm:
1. For each `d : D`, compute the colimit of the restricted diagram `F.fiberIncl d ⋙ diagram`.
2. Take the coproduct of these colimits over all `d : D`.
We call this "computing the colimit fiberwise".
---
Zulip: [#Is there code for X? > over category via a functor](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/over.20category.20via.20a.20functor/with/529574191)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
awaiting-CI
|
136/0 |
Mathlib.lean,Mathlib/CategoryTheory/FiberedCategory/Fiber.lean,Mathlib/CategoryTheory/Limits/Shapes/Fiberwise.lean |
3 |
25 |
['github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
nobody |
187-36276 6 months ago |
271-38700 271 days ago |
19-5489 19 days |
| 27417 |
PierreQuinton author:PierreQuinton |
feat: add `SigmaCompleteLattice` |
A $\sigma$-complete lattice is a lattice in which every countable subset `s` has a least upper bound and a greatest lower bound, denoted below by `sSup s` and `sInf s`.
This PR adds the classes `SigmaCompleteLattice` as well as some theorems (mainly adapted from `CompleteLattice` and `ConditionallyCompleteLattice`). This is an adaptation of #26318
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-order
|
394/0 |
Mathlib.lean,Mathlib/Order/SigmaCompleteLattice.lean |
2 |
9 |
['PierreQuinton', 'YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
nobody |
187-36273 6 months ago |
293-4733 293 days ago |
12-24971 12 days |
| 27753 |
YunkaiZhang233 author:YunkaiZhang233 |
feat(CategoryTheory): implemented proofs for factorisation categories being equivalent to iterated comma categories in two ways |
---
Completed one of the tasks in TODOs, shown and implemented the details for (X/C)/f ≌ Factorisation f ≌ f/(C/Y).
This is migrated from my previous PR #22390
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
new-contributor
|
70/1 |
Mathlib/CategoryTheory/Category/Factorisation.lean |
1 |
13 |
['YunkaiZhang233', 'b-mehta', 'github-actions', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
nobody |
187-36257 6 months ago |
298-7420 298 days ago |
0-3448 57 minutes |
| 27824 |
ChrisHughes24 author:ChrisHughes24 |
feat(Calculus): exists_gt_of_deriv_pos and variants |
---
I created a new file for this as I anticipate there will be many lemmas relating derivatives and monotonicity in future. Some lemmas relating deriviatives to monotonicity are already in mathlib and should maybe moved to the file (e.g. docs#HasDerivWithinAt.nonneg_of_monotoneOn).
I stated them in as much generality as I could, copying the generality of `HasDerivWithinAt.nonneg_of_monotoneOn`.
- [x] depends on: #28039
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-analysis
|
103/0 |
Mathlib.lean,Mathlib/Analysis/Calculus/Deriv/Order.lean |
2 |
37 |
['ChrisHughes24', 'EtienneC30', 'b-mehta', 'github-actions', 'j-loreaux', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'urkud'] |
hrmacbeth assignee:hrmacbeth |
187-36256 6 months ago |
201-83585 201 days ago |
81-53032 81 days |
| 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.
---
[](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 |
187-36255 6 months ago |
296-68482 296 days ago |
0-5718 1 hour |
| 27973 |
smmercuri author:smmercuri |
feat: the ring of integers of a `ℤₘ₀`-valued field is compact whenever it is a DVR and the residue field is finite |
This PR continues the work from #21844.
Original PR: https://github.com/leanprover-community/mathlib4/pull/21844 |
merge-conflict
awaiting-author
t-algebra
large-import
label:t-algebra$ |
54/2 |
Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/Topology/Algebra/Valued/WithZeroMulInt.lean |
2 |
9 |
['github-actions', 'mathlib4-merge-conflict-bot', 'pechersky', 'smmercuri'] |
nobody |
187-36129 6 months ago |
241-47487 241 days ago |
37-63652 37 days |
| 28124 |
kckennylau author:kckennylau |
feat(Tactic): Call an arbitrary Simproc |
In the current framework, `Simproc`s are declared by name, and can only be referred to by name. For example, [Nat.divisors_ofNat](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Tactic/Simproc/Divisors.html#Nat.divisors_ofNat) is declared as:
```lean
dsimproc_decl Nat.divisors_ofNat (Nat.divisors _) := fun e => do
```
This declaration syntax does not allow for a `Simproc` to depend on any arguments, and even if one constructed a `Simproc` that depends on e.g. a natural number, such as `foo : ℕ → Simproc`, one still cannot call it using the syntax `by simp [foo 37]`.
Therefore, this new function aims to solve this problem, by allowing an arbitrary `Simproc` to be executed, using the newly defined function `Lean.Meta.Simp.Simproc.apply (s : Simproc) : TacticM Unit`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
79/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simproc/Apply.lean,MathlibTest/Simproc/Apply.lean |
4 |
28 |
['JovanGerb', 'b-mehta', 'eric-wieser', 'github-actions', 'hrmacbeth', 'kckennylau', 'mathlib4-merge-conflict-bot'] |
JovanGerb assignee:JovanGerb |
187-36124 6 months ago |
257-27593 257 days ago |
23-23815 23 days |
| 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 |
187-36123 6 months ago |
187-36124 187 days ago |
99-64548 99 days |
| 28316 |
eric-wieser author:eric-wieser |
feat(Tactic/NormNum): better trace nodes |
Comparing the infoview on the first example in the test file
| Before | After |
|---|---|
| | |
In the after version, the extension names are all clickable.
Similar to #21450.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
136/5 |
Mathlib.lean,Mathlib/Tactic/NormNum/Core.lean,Mathlib/Util/Trace.lean,MathlibTest/norm_num_trace.lean |
4 |
20 |
['JovanGerb', 'eric-wieser', 'github-actions', 'kmill', 'leanprover-bot', 'mathlib-bors', 'mathlib4-merge-conflict-bot', 'plp127'] |
JovanGerb assignee:JovanGerb |
187-36117 6 months ago |
269-79404 269 days ago |
15-76174 15 days |
| 28325 |
pechersky author:pechersky |
feat(WithZeroTopology): `locallyCompactSpace_iff_locallyFiniteOrder_units` |
On the way to golf/generalize the proof that
locally compact valued fields have locally finite valuation groups as embodied in
`Valued.integer.locallyFiniteOrder_units_mrange_of_isCompact_integer` ]
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
t-order
large-import
|
81/2 |
Mathlib/Topology/Algebra/GroupWithZero.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean,Mathlib/Topology/Compactness/Compact.lean |
3 |
13 |
['erdOne', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'ocfnash'] |
PatrickMassot assignee:PatrickMassot |
187-36116 6 months ago |
192-4394 192 days ago |
93-41632 93 days |
| 28349 |
kckennylau author:kckennylau |
feat(Meta): add notation for naming stacked polynomials |
This PR changes the notation for naming formal variables associated to recursive polynomial-like objects.
Registration is done only once per each polynomial-like functor.
Usage:
```lean
register_poly_vars "[" "]" Polynomial Polynomial.C Polynomial.X
register_poly_vars (mv := true) "[" "]" MvPolynomial MvPolynomial.C MvPolynomial.X
name_poly_vars R[a,b][C]
name_poly_vars _[x,y,z]
```
`_[[x,y,z]]` allows for the hole to be substituted by any base ring, so `(x : R[[x,y,z]])` will be valid syntax.
There has been some discussion about its implementation:
* It has been suggested that `R[x,y][z]` should mean that `R[x,y]` is a subring, i.e. `x` should live in `R[x,y]`, but in my implementation `x` lives in the big ring `R[x,y][z]`. There are two ways to get the other behaviour:
* One can do `R[x,y]` and then `(R[x,y])[z]`.
* One can do `R[a,b]` and `R[x,y][z]`. I personally prefer this one because we should make it clearer that they are different rings.
* There has been some discussion over what `R` means. In my implementation, if you ever refer to a `variable` called `R`, then `R` is fixed to that variable, meaning that if you later define a variable with the same name, `R` will still refer to the old variable. Also, this does not respect namespace, meaning that if you refer to `Foo.bar[x,y]`, and later open `Foo`, you will not be able to access the declared ring with `bar[x,y]`.
---
I have not mass deployed the new syntax at every possible location, I plan to do that in a future PR following this.
Zulip: [#mathlib4 > Notation for polynomial variables](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Notation.20for.20polynomial.20variables)
This is a refactor of the currently existing [Mathlib.Tactic.namePolyVarsOver](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Tactic/Ring/NamePolyVars.html#Mathlib.Tactic.namePolyVarsOver). More explicitly, the current invocation `name_poly_vars x,y over R` is now `poly_variable R[x,y]`. The behaviours inherited from `name_poly_vars` are:
* We do not synthesize the necessary instances (such as `[CommRing R]`) at the point of declaration, but only when the new notations are used.
* We refer to an explicit term (`R` in the examples) which is "fixed", in the sense that:
* it is only valid for `R` explicitly, and not any other `variable` such as `S`.
* it has built-in hygiene, so if you shadow the variable by declaring a new `variable (R : Type*)`, it will still refer to the old one.
And the new behaviours are:
* Currently only `x` and `y` are new notations, but in the new tactic the whole ring `R[x,y]` is also available as notation.
* Currently only the forward direction (i.e. elaboration, going from `x` to `MvPolynomial.X 0`) is implemented, but in the new tactic we also implement the backward direction, printing `MvPolynomial.X 0` back as `x` (and `MvPolynomial (Fin 2) R` is printed as `R[x,y]`).
* Support beyond just `MvPolynomial`.
* Support for nested polynomial-like rings, such as `R[x,y][t][[z]]` for `PowerSeries (Polynomial (MvPolynomial (Fin 2) R))`.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
778/87 |
Counterexamples/CliffordAlgebraNotInjective.lean,Mathlib.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/PolyVariable.lean,Mathlib/Tactic/Ring/NamePolyVars.lean,MathlibTest/PolyVariable.lean,scripts/noshake.json |
10 |
110 |
['JovanGerb', 'adamtopaz', 'chrisflav', 'eric-wieser', 'github-actions', 'j-loreaux', 'kckennylau', 'kim-em', 'mathlib4-merge-conflict-bot', 'plp127', 'robertmaxton42', 'sgouezel'] |
adamtopaz assignee:adamtopaz |
187-36113 6 months ago |
194-27453 194 days ago |
58-1196 58 days |
| 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 |
187-36109 6 months ago |
281-76337 281 days ago |
0-591 9 minutes |
| 28868 |
yury-harmonic author:yury-harmonic |
feat(Positive): add `OfNat` instance |
Also fix defeq for `Div` in the `Group` instance.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
large-import
label:t-algebra$ |
41/13 |
Mathlib/Algebra/Order/Positive/Field.lean,Mathlib/Algebra/Order/Positive/Ring.lean,Mathlib/Data/PNat/Defs.lean |
3 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot', 'yury-harmonic'] |
nobody |
187-35971 6 months ago |
273-80360 273 days ago |
0-2821 47 minutes |
| 28871 |
JaafarTanoukhi author:JaafarTanoukhi |
feat(Combinatorics/Digraph): Tournaments |
Define orientations and tournaments. Related to #26771.
Co-authored-by: Rida Hamadani
---
[](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 |
187-35970 6 months ago |
187-35971 187 days ago |
55-54919 55 days |
| 29108 |
JonBannon author:JonBannon |
feat(MeasureTheory): add `LInfty.lean` with `Mul` and `const` related results. |
Continuing to develop pieces needed for a `CStarAlgebra` instance for `Lp R ∞ μ`, we introduce a file `MeasureTheory.Function.LInfty.lean` that takes `MeasureTheory.Function.LpSpace.Basic` and `MeasureTheory.Function.Holder` as imports, and introduces the `Mul` instance on Linfty, and const-related results. In a future PR we will handle `One`, as this will require dealing with `AEEqFun` as well as `Lp` level objects and it's probably best to handle these together in a single PR. We opted to add this file to keep imports light, since adding the `Mul` results to `Basic` would require importing `Holder`, and including these results in `Holder` seemed too specific and would make `Holder` heavier.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-measure-probability
|
91/0 |
Mathlib.lean,Mathlib/MeasureTheory/Function/LInfty.lean |
2 |
6 |
['JonBannon', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot'] |
nobody |
187-35963 6 months ago |
265-1460 265 days ago |
4-7234 4 days |
| 29481 |
llllvvuu author:llllvvuu |
feat(LinearAlgebra/Eigenspace): roots of matrix minpoly give spectrum |
This is derived from the corresponding result on linear maps.
---
- [x] depends on: #29478 for some simp lemmas
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
large-import
label:t-algebra$ |
13/0 |
Mathlib/LinearAlgebra/Eigenspace/Minpoly.lean |
1 |
5 |
['github-actions', 'llllvvuu', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
187-35938 6 months ago |
257-64254 257 days ago |
0-13173 3 hours |
| 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
---
[](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 |
187-35932 6 months ago |
187-35933 187 days ago |
69-23034 69 days |
| 29675 |
yury-harmonic author:yury-harmonic |
feat(Wolstenholme): new file |
Co-authored-by: @Aristotle-Harmonic
---
I still need to cleanup the proof and write the docs.
For now, it's just what the AI generated, forward-ported to the latest Mathlib.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
help-wanted
t-data
|
198/0 |
Mathlib.lean,Mathlib/Data/Nat/Choose/Wolstenholme.lean |
2 |
5 |
['Alex-Linhares', 'github-actions', 'mathlib4-merge-conflict-bot', 'yury-harmonic'] |
nobody |
187-35361 6 months ago |
252-13062 252 days ago |
0-125 2 minutes |
| 29720 |
javra author:javra |
feat(CategoryTheory): `TransportEnrichment` and `ForgetEnrichment` as 2-functors |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
63/1 |
Mathlib/CategoryTheory/Enriched/Basic.lean,Mathlib/CategoryTheory/Enriched/EnrichedCat.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-35354 6 months ago |
251-14485 251 days ago |
0-24 24 seconds |
| 29827 |
js2357 author:js2357 |
feat: define two (trivial) ContinuousMulEquivs |
Define two trivial `ContinuousMulEquiv`s:
`ContinuousMulEquiv.piUnique` is the topological version of `MulEquiv.piUnique`.
`ContinuousMulEquiv.piEquivPiSubtypeProd` is the multiplicative version of `Homeomorph.piEquivPiSubtypeProd`.
Done for the FLT project.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
FLT
large-import
|
25/0 |
Mathlib/Topology/Algebra/ContinuousMonoidHom.lean |
1 |
3 |
['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
187-35340 6 months ago |
247-37102 247 days ago |
0-18297 5 hours |
| 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)
---
[](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 |
187-35336 6 months ago |
187-35337 187 days ago |
54-82760 54 days |
| 30022 |
ADedecker author:ADedecker |
feat: theory of `IsRightUniformGroup` and `IsLeftUniformGroup` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
799/150 |
Mathlib/Topology/Algebra/IsUniformGroup/Basic.lean,Mathlib/Topology/Algebra/IsUniformGroup/Defs.lean |
2 |
7 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-35322 6 months ago |
unknown |
0-0 0 seconds |
| 30042 |
JovanGerb author:JovanGerb |
feat(push): `@[push]` attributes for `∈` in `Set`, `Finset` and `Multiset` |
This PR adds `@[push]` annotations for the membership relations, for `Set`, `Finset` and `Multiset`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
171/105 |
Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/ListOfFn.lean,Mathlib/Algebra/Order/Group/Multiset.lean,Mathlib/Data/DFinsupp/Interval.lean,Mathlib/Data/Finmap.lean,Mathlib/Data/Finset/BooleanAlgebra.lean,Mathlib/Data/Finset/Dedup.lean,Mathlib/Data/Finset/Defs.lean,Mathlib/Data/Finset/Disjoint.lean,Mathlib/Data/Finset/Filter.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/Finset/Insert.lean,Mathlib/Data/Finset/Lattice/Basic.lean,Mathlib/Data/Finset/Lattice/Fold.lean,Mathlib/Data/Finset/Pi.lean,Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Finset/Range.lean,Mathlib/Data/Finset/SDiff.lean,Mathlib/Data/Finset/Sigma.lean,Mathlib/Data/Finset/Sort.lean,Mathlib/Data/Finset/Sum.lean,Mathlib/Data/Finset/Sups.lean,Mathlib/Data/Finset/Union.lean,Mathlib/Data/Fintype/Defs.lean,Mathlib/Data/Multiset/AddSub.lean,Mathlib/Data/Multiset/Antidiagonal.lean,Mathlib/Data/Multiset/Bind.lean,Mathlib/Data/Multiset/Dedup.lean,Mathlib/Data/Multiset/Defs.lean,Mathlib/Data/Multiset/Filter.lean,Mathlib/Data/Multiset/FinsetOps.lean,Mathlib/Data/Multiset/MapFold.lean,Mathlib/Data/Multiset/Pi.lean,Mathlib/Data/Multiset/Range.lean,Mathlib/Data/Multiset/Replicate.lean,Mathlib/Data/Multiset/Sort.lean,Mathlib/Data/Multiset/Sum.lean,Mathlib/Data/Multiset/UnionInter.lean,Mathlib/Data/Multiset/ZeroCons.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Order/Interval/Finset/Defs.lean,Mathlib/Order/Interval/Multiset.lean,Mathlib/Order/Interval/Set/Defs.lean,Mathlib/Order/SetNotation.lean,MathlibTest/push.lean |
49 |
14 |
['JovanGerb', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
grunweg assignee:grunweg |
187-35317 6 months ago |
195-8714 195 days ago |
23-81049 23 days |
| 30330 |
Bergschaf author:Bergschaf |
feat(Algebra/Group/Action/Equidecomp): Mathlib's definition of Equidecomposability is equivalent to the standart one using partitions |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
large-import
label:t-algebra$ |
329/1 |
Mathlib/Algebra/Group/Action/Equidecomp.lean |
1 |
6 |
['Bergschaf', 'Felix-Weilacher', 'github-actions', 'mathlib4-merge-conflict-bot'] |
Vierkantor assignee:Vierkantor |
187-35159 6 months ago |
210-12599 210 days ago |
15-53183 15 days |
| 30374 |
FLDutchmann author:FLDutchmann |
feat(Tactic): `algebra` and `polynomial` tactic suite |
Implement a suite of tactics for normalizing expressions in an algebra over a ring. Handles all of the normal `ring` operations as well as scalar multiplication over a fixed base ring. Using these, implement tactics to normalize `(Mv)Polynomial` expressions into a sum-of-monomials form.
Specifically,
* `algebra` proves equality of expressions in an algebra over a ring like `ring1`
* `algebra_nf` puts expressions in an algebra into a normal form, like `ring_nf`
* `match_scalars_alg` (name pending) closes an equality goal by calling `algebra_nf` and creating side goals equating matching coefficients in the base ring. Like `match_scalars`.
* `polynomial` proves equality of (mv)polynomials
* `polynomial_nf` expands polynomials into a sum-of-monomials form, combining coefficients in the base ring (e.g. `C a * X + C b * X` normalizes to `C(a+b) * X`
* `match_coefficients` expands polynomials and produces side goals equating matching coefficients.
- [x] depends on: #31506
- [x] depends on: #31508
- [ ] depends on: #31513
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
blocked-by-other-PR
t-meta
|
2371/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Algebra.lean,Mathlib/Tactic/Algebra/Lemmas.lean,Mathlib/Tactic/Polynomial.lean,Mathlib/Tactic/Polynomial/Core.lean,MathlibTest/Polynomial.lean,MathlibTest/algebra.lean,scripts/noshake.json |
9 |
7 |
['FLDutchmann', 'github-actions', 'hrmacbeth', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
187-35140 6 months ago |
unknown |
0-0 0 seconds |
| 30392 |
urkud author:urkud |
feat: define pullback quotient maps |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
287/0 |
Mathlib.lean,Mathlib/Topology/ClusterPt.lean,Mathlib/Topology/Maps/PullbackQuotient.lean |
3 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-35135 6 months ago |
unknown |
0-0 0 seconds |
| 30933 |
joelriou author:joelriou |
feat(CategoryTheory): the linearization of a category |
Let `C` be a category and `R` be a commutative ring. We construct a `R`-linear category `Linearization C R` and
a functor `toLinearization C R : C ⥤ Linearization C R`. The morphisms in `Linearization C R` are the free `R`-modules
on the types of morphisms in `C`.
(In the context of singular homology with coefficients `R`, chains of a fixed degree shall identify to morphisms in `Linearization TopCat R`, and doing certain computations for arbitrary coefficients should reduce to computations with `R := ℤ`.)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
|
134/0 |
Mathlib.lean,Mathlib/CategoryTheory/Linear/Linearization.lean |
2 |
4 |
['github-actions', 'joelriou', 'kim-em', 'mathlib4-merge-conflict-bot'] |
nobody |
187-34827 6 months ago |
208-62845 208 days ago |
2-33570 2 days |
| 31314 |
hrmacbeth author:hrmacbeth |
feat: linters for recommended `field_simp` style |
---
- [x] depends on: #31472
- [x] depends on: #31483
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
awaiting-CI
|
93/1 |
Mathlib.lean,Mathlib/Lean/Meta/WarningAsError.lean,Mathlib/Tactic/Field.lean |
3 |
5 |
['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
187-34627 6 months ago |
unknown |
0-0 0 seconds |
| 31351 |
grunweg author:grunweg |
feat: manifolds with smooth boundary |
Needs polish, and closing the remaining sorries (or deciding they can be postponed later).
From my bordism theory project.
---
- [x] depends on: #22070
- [x] depends on: #22128
- [x] depends on: #22131
- [x] depends on: #22082
- [x] depends on: #22113
- [x] depends on: #22105
- [x] depends on: #26099
- [x] depends on: #30049 (preliminary code clean-up)
- [x] depends on: #29589
- [x] ~~depends on: https://github.com/grunweg/mathlib4/tree/mfderiv-prodmap for actually proving the mfderiv sorry about products I need~~ done now
- [ ] depends on: #31200 (and its companion result, about Sum.map)
- [ ] depends on #23040 for the mathlib-level definition of smooth immersions and embeddings
This PR continues the work from #22059.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-differential-geometry
|
591/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/HasSmoothBoundary.lean |
2 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
187-34401 6 months ago |
199-31169 199 days ago |
0-13 13 seconds |
| 14704 |
Command-Master author:Command-Master |
feat(FieldTheory): define typeclass for simple extensions, and prove some properties |
Define `SimpleExtension F K`, which says that `K` is a simple field extension of `F`, and show that together with transcendentality it implies `IsFractionRing F[X] K`.
---
- [x] depends on: #14710
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
new-contributor
merge-conflict
awaiting-author
label:t-algebra$ |
120/0 |
Mathlib.lean,Mathlib/FieldTheory/SimpleExtension.lean |
2 |
19 |
['Command-Master', 'acmepjz', 'github-actions', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot', 'tb65536'] |
nobody |
187-32168 6 months ago |
631-25282 631 days ago |
48-65595 48 days |
| 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
-/
```
---
[](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 |
187-30357 6 months ago |
187-30358 187 days ago |
11-61697 11 days |
| 31604 |
maksym-radziwill author:maksym-radziwill |
feat: analyticity of dslope |
This adds a few simple functions to show that ``dslope f a`` is analytic when ``f`` is. This is needed for Borel-Caratheodory, see https://github.com/leanprover-community/mathlib4/pull/30424
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-analysis
|
51/0 |
Mathlib.lean,Mathlib/Analysis/Analytic/Dslope.lean |
2 |
26 |
['github-actions', 'grunweg', 'maksym-radziwill', 'mathlib4-merge-conflict-bot'] |
nobody |
187-30061 6 months ago |
192-71377 192 days ago |
0-3879 1 hour |
| 31738 |
robertmaxton42 author:robertmaxton42 |
feat: quivers can be represented as functors from the walking quiver |
Add definitions and associated lemmas for representing quivers as functors from the category `1 ⇉ 0`, i.e. `WalkingParallelPairᵒᵖ`.
New definitions:
* `asFunctor` itself, which is defined as a bare function with an associated `Functorial` instance so that it can be used with generalized projection notation
* `src` and `tgt`, abbreviations for `F.map left.op` and `F.map right.op` for a functor `F : WalkingParallelPairᵒᵖ ⥤ Type w`
* `Vertex`, `Edges`, and `Edge`, abbreviations for `F.obj 0` (interpreted as the type of vertices), `F.obj 1` (interpreted as the total type of all edges), and `{e : F.obj 1 // src e = s ∧ tgt e = t}` for some pair of vertices `s` and `t` (interpreted as the hom-type `s ⟶ t`)
* `edgeOfEq`, the equivalent of `Quiver.homOfEq` for edges in quivers in functor form.
---
This PR begins the first of a series proving that the category `Quiv.{v, u}` is equivalent to the subcategory of $$\mathbf{PSh}(\mathbf{WQuiv}^\mathrm{op})$$ which are appropriately '`u`-small' and 'locally `v`-small'. The original PR (prior to the move to forks) created a custom type `WalkingQuiver` for this purpose; ultimately I found that `WalkingParallelPairᵒᵖ` served my purposes well enough.
Following this PR will be one constructing the adjoint `ofFunctor`, plus several showing that `asFunctor` and `ofFunctor` can be assembled into an equivalence and proving various properties of quivers in functor form necessary for the construction of colimits.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
|
397/0 |
Mathlib.lean,Mathlib/CategoryTheory/Category/Quiv/AsOfFunctor.lean |
2 |
13 |
['github-actions', 'joelriou', 'mathlib4-merge-conflict-bot', 'robertmaxton42'] |
nobody |
187-30018 6 months ago |
189-45133 189 days ago |
0-1741 29 minutes |
| 31590 |
SuccessMoses author:SuccessMoses |
chore: tag `commutatorElement_def` with `simp` |
---
[](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 |
187-10043 6 months ago |
187-10043 187 days ago |
6-8213 6 days |
| 25802 |
dagurtomas author:dagurtomas |
feat(AlgebraicTopology): anodyne morphisms of simplicial sets |
---
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #20201.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/20201* |
WIP
t-topology
|
145/0 |
Mathlib/AlgebraicTopology/Anodyne.lean,Mathlib/AlgebraicTopology/KanFibration.lean,Mathlib/CategoryTheory/MorphismProperty/WeakSaturation.lean |
3 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-9950 6 months ago |
347-25114 347 days ago |
0-2 2 seconds |
| 6268 |
eric-wieser author:eric-wieser |
fix: fixups to #3838 |
This is an attempt to make #3838 universe polymorphic
---
[](https://gitpod.io/from-referrer/)
* Depends on #6271
* Depends on #8876 |
merge-conflict
WIP
|
186/107 |
Mathlib/Control/Random.lean,Mathlib/Tactic/SlimCheck.lean,Mathlib/Testing/SlimCheck/Functions.lean,Mathlib/Testing/SlimCheck/Gen.lean,Mathlib/Testing/SlimCheck/Sampleable.lean,Mathlib/Testing/SlimCheck/Testable.lean,test/slim_check.lean |
7 |
10 |
['github-actions', 'kim-em'] |
nobody |
187-9294 6 months ago |
unknown |
0-0 0 seconds |
| 6859 |
MohanadAhmed author:MohanadAhmed |
feat: TryLean4Bundle: Windows Bundle Creator |
# `TryLean4Bundle`: Windows Bundle Creator
A Windows batch script and a CI yml file that create an self extracting archive. The user should
1. just download the archive,
2. double click the archive to expand
3. double click the `RunLean.bat` script in the expanded archive.
The script currently downloads 7 dependencies into CI then unpacks them in the appropriate locations and finally packs them back.
To try a bundle created using these scripts but from a different repo see (https://github.com/MohanadAhmed/TryLean4Bundle/releases)
---
[](https://gitpod.io/from-referrer/)
|
WIP
help-wanted
CI
|
114/0 |
.github/workflows/mk_windows_bundle.yml,scripts/windowsBundle.bat |
2 |
0 |
[] |
nobody |
187-9286 6 months ago |
999-64399 999 days ago |
0-434 7 minutes |
| 6993 |
jjaassoonn author:jjaassoonn |
feat: lemmas about `AddMonoidAlgebra.{divOf, modOf}` |
---
- [x] depends on: #7582
- [x] depends on: #8975
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
147/3 |
Mathlib/Algebra/MonoidAlgebra/Division.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/MvPolynomial/Basic.lean,Mathlib/Data/MvPolynomial/CommRing.lean,Mathlib/Data/MvPolynomial/Division.lean |
5 |
42 |
['YaelDillies', 'alreadydone', 'digama0', 'eric-wieser', 'github-actions', 'jjaassoonn', 'leanprover-community-mathlib4-bot'] |
nobody |
187-9281 6 months ago |
857-14034 857 days ago |
103-330 103 days |
| 7427 |
MohanadAhmed author:MohanadAhmed |
feat: eigenvalues sorted in ascending/descending order |
In the file `Analysis.InnerProductSpace.Spectrum` todo notes were left saying:
> TODO Postcompose with a permutation so that these eigenvectors are listed in increasing order of
eigenvalue.
> TODO Postcompose with a permutation so that these eigenvalues are listed in increasing order. -
This is a start in that direction
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
162/4 |
Mathlib/Analysis/InnerProductSpace/Spectrum.lean,Mathlib/Analysis/NormedSpace/PiLp.lean,Mathlib/LinearAlgebra/Matrix/Spectrum.lean |
3 |
0 |
[] |
nobody |
187-9249 6 months ago |
unknown |
0-0 0 seconds |
| 9339 |
FMLJohn author:FMLJohn |
feat(RingTheory/GradedAlgebra/HomogeneousIdeal): given a finitely generated homogeneous ideal of a graded semiring, construct a finite spanning set for the ideal which only contains homogeneous elements |
---
- [ ] depends on: #8187
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
|
402/4 |
Mathlib.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/Module/GradeZeroModule.lean,Mathlib/RingTheory/Finiteness.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousIdeal.lean,Mathlib/RingTheory/GradedAlgebra/Noetherian.lean |
8 |
11 |
['FMLJohn', 'github-actions', 'jjaassoonn', 'leanprover-community-mathlib4-bot'] |
nobody |
187-9234 6 months ago |
871-14212 871 days ago |
6-63597 6 days |
| 9564 |
AntoineChambert-Loir author:AntoineChambert-Loir |
chore: weaken commutativity assumptions for AdjoinRoot.lift and AdjoinRoot.liftHom |
I weaken a commutativity assumption for docs#AdjoinRoot.liftHom that the target algebra be commutative. It is only assumed to be a Semiring.
For that, I need to generalize docs#AdjoinRoot.lift which takes `i : R ->+* S`, `a : S` with `f.eval₂ i a = 0` and defines `AdjoinRoot f ->+* S` that extends `i ` and sends `AdjoinRoot.root f` to `a`.
---
The initial version of the PR was to define `AdjoinRoot.lift'` where `S` is only a Semiring, with the additional assumption `hcomm : ∀ r, Commute (i r) a` that the element `a` commutes with the image of `i`.
@jcommelin suggested to provide this argument as an `autoParam`, filled in by an ad hoc `commutativity` tactic. However, such an argument cannot be made implicit and a first version required to have this argument given each time, most of the time by `_`, even for all subsequent lemmas, `AdjoinRoot.lift_mk`, etc.
To avoid this, I tried to make this assumption a `⦃hcomm : ∀ r, Commute (i r) a⦄`. This appears to have some side effects that proofs using an `exact` tactic or in term mode do not work well, but one can resort on `by simp […]`. Maybe @eric-wieser or @Vierkantor will have opinions on that. In some cases one can still give the argument as `(hcomm := by commutativity)`.
(There are 3 options :
- separate lemmas for the fully commutative case and for the case where a proof is needed
- using the `commutativity` tactic, but with an argument `_` sometimes
- using the optional argument.)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
146/30 |
Mathlib.lean,Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Group/Commute/Defs.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Commutativity.lean,Mathlib/Tactic/Commutativity/Init.lean |
8 |
14 |
['AntoineChambert-Loir', 'Vierkantor', 'eric-wieser', 'jcommelin'] |
nobody |
187-9228 6 months ago |
784-1534 784 days ago |
16-71959 16 days |
| 10026 |
madvorak author:madvorak |
feat: linear programming according to Antoine Chambert-Loir's book |
---
Zulip discussion:
https://leanprover.zulipchat.com/#narrow/stream/144837-PR-reviews/topic/.237386.20Linear.20Programming
Four PRs incompatible with each other:
https://github.com/leanprover-community/mathlib4/pull/7386 (list of constraints)
https://github.com/leanprover-community/mathlib4/pull/9693 (matrix form)
https://github.com/leanprover-community/mathlib4/pull/10026 (Antoine Chambert-Loir's def; semirings, linear)
https://github.com/leanprover-community/mathlib4/pull/10159 (Antoine Chambert-Loir's def; rings, affine)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
RFC
label:t-algebra$ |
86/0 |
Mathlib.lean,Mathlib/LinearAlgebra/LinearProgramming.lean |
2 |
10 |
['eric-wieser', 'madvorak', 'mathlib4-merge-conflict-bot', 'riccardobrasca'] |
nobody |
187-9222 6 months ago |
691-32031 691 days ago |
154-48765 154 days |
| 10159 |
madvorak author:madvorak |
feat: linear programming according to Antoine Chambert-Loir's book — affine version |
---
Zulip discussion:
https://leanprover.zulipchat.com/#narrow/stream/144837-PR-reviews/topic/.237386.20Linear.20Programming
Four PRs incompatible with each other:
https://github.com/leanprover-community/mathlib4/pull/7386 (list of constraints)
https://github.com/leanprover-community/mathlib4/pull/9693 (matrix form)
https://github.com/leanprover-community/mathlib4/pull/10026 (Antoine Chambert-Loir's def; semirings, linear)
https://github.com/leanprover-community/mathlib4/pull/10159 (Antoine Chambert-Loir's def; rings, affine)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
RFC
label:t-algebra$ |
83/0 |
Mathlib.lean,Mathlib/LinearAlgebra/LinearProgramming.lean |
2 |
8 |
['eric-wieser', 'madvorak', 'mathlib4-merge-conflict-bot', 'riccardobrasca'] |
nobody |
187-9215 6 months ago |
691-32014 691 days ago |
152-72231 152 days |
| 10349 |
Shamrock-Frost author:Shamrock-Frost |
refactor(CategoryTheory/MorphismProperty): some clean-ups |
We make explicit some of the galois connections/closure operators in the existing MorphismProperty file, rewrite some proofs to take advantage of these structures, and change map/inverseImage by (1) swapping their argument order, for consistency with Set.range and Set.preimage and (2) making "map" perform the strict, evil map while "essMap" (previously called map) forms the closure of the image under isomorphisms. Finally we add `IsMultiplicative` instances for isos/epis/monos, with an eye towards constructing the wide subcategory on these classes of maps.
---
- [x] depends on: #10347
- [x] depends on: #10348
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
474/318 |
Mathlib/CategoryTheory/Localization/Composition.lean,Mathlib/CategoryTheory/Localization/LocalizerMorphism.lean,Mathlib/CategoryTheory/MorphismProperty.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/Order/Closure.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/Hom/CompleteLattice.lean,Mathlib/Order/RelIso/Basic.lean |
8 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
187-9192 6 months ago |
837-64336 837 days ago |
0-418 6 minutes |
| 11021 |
jstoobysmith author:jstoobysmith |
feat(AlgebraicTopology): add join of augmented SSets |
This pull-request adds the definition of the join of augmented SSets defined as contravariant functors from `WithInitial SimplexCategory` to `Type u`. In addition it shows that the join of two standard augmented SSets is again an augmented SSets.
From this the definition of the join of simplicial sets should follow easily.
To aid the above theory, an api for `WithInitial SimplexCategory` has been created, with the notion of the `join` and `split` (forming a sort of inverse to join) of objects in this category are defined.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebraic-topology
new-contributor
|
2137/1 |
.gitignore,Mathlib.lean,Mathlib/AlgebraicTopology/Join.lean,Mathlib/AlgebraicTopology/SimplexCategory.lean,Mathlib/AlgebraicTopology/SimplexCategoryWithInitial.lean,Mathlib/AlgebraicTopology/SimplicialSet.lean |
6 |
47 |
['github-actions', 'jcommelin'] |
nobody |
187-9184 6 months ago |
816-63029 816 days ago |
1-20227 1 day |
| 11800 |
JADekker author:JADekker |
feat: KappaLindelöf spaces |
Define KappaLindelöf spaces by following the first one-third of the API for Lindelöf spaces. The remainder will be added in a future PR.
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
t-topology
awaiting-zulip
|
301/2 |
Mathlib.lean,Mathlib/Topology/Compactness/KappaLindelof.lean,Mathlib/Topology/Compactness/Lindelof.lean |
3 |
38 |
['ADedecker', 'JADekker', 'PatrickMassot', 'StevenClontz', 'adomani', 'github-actions', 'grunweg', 'kim-em', 'urkud'] |
nobody |
187-9150 6 months ago |
662-29432 662 days ago |
123-25636 123 days |
| 12087 |
JADekker author:JADekker |
feat: complete API for K-Lindelöf spaces |
---
- [ ] depends on: #11800 (which is now awaiting a design decision)
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
t-topology
blocked-by-other-PR
|
789/17 |
Mathlib.lean,Mathlib/Order/Filter/CardinalInter.lean,Mathlib/Topology/Compactness/KLindelof.lean,Mathlib/Topology/Compactness/Lindelof.lean |
4 |
2 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
187-9143 6 months ago |
662-29307 662 days ago |
99-11243 99 days |
| 12251 |
ScottCarnahan author:ScottCarnahan |
refactor(RingTheory/HahnSeries): several generalizations |
This PR is a container for several smaller PRs that refactor and generalize the existing Hahn series theory. It is (I think) all we need from Hahn series to get a palatable theory of vertex algebras off the ground (other prerequisites from Lie algebras will eventually come in a different PR). Major changes include:
- equivalence between iterated Hahn series and Hahn series on Lex products.
- introduce `orderTop` and `leadingCoeff` functions. Here, `orderTop` is a `WithTop Γ`-valued version of `order` that does not need `[Zero Γ]` and `leadingCoeff` returns the coefficient of the minimal element of support (or zero if empty).
- introduce ordered and cancellative vector addition classes together with some basic theory e.g., finiteness of antidiagonals for partially well-ordered sets.
- `HahnSeries Γ R`-module structure on `HahnModule Γ' R V`, when `Γ` is an `OrderedCancelAddCommMonoid`, `Γ'` is a `PartialOrder` with `OrderedCancelVAdd Γ Γ'`, `R` is a semiring, and `V` is an `R`-module.
- Move `AddVal` to a separate file - the underlying function is just `orderTop`, but the description of the valuation needs an additional import and an `IsDomain` hypothesis. Results that depended on `AddVal` are changed to use `orderTop` and generalized.
---
- [x] depends on: #10781 [HahnSeries on Lex product]
- [x] depends on: #10846 [HahnModule]
- [x] depends on: #11965 [orderTop]
- [x] depends on: #11979 [OrderedVAdd]
- [x] depends on: #12996 [leadingTerm]
- [x] depends on: #16649
- [x] depends on: #16701
- [x] depends on: #17004
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
t-order
label:t-algebra$ |
1059/97 |
Mathlib/RingTheory/HahnSeries/Addition.lean,Mathlib/RingTheory/HahnSeries/Basic.lean,Mathlib/RingTheory/HahnSeries/HEval.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/HahnSeries/Summable.lean |
6 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
187-9128 6 months ago |
672-61675 672 days ago |
42-37118 42 days |
| 12394 |
JADekker author:JADekker |
feat: define pre-tight and tight measures |
Define tight measures (by first defining separable and pre-tight measures).
Define some api for all three concepts
Prove Ulam's tightness theorem and a strengthened version of this.
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
awaiting-author
t-measure-probability
|
503/0 |
Mathlib.lean,Mathlib/MeasureTheory/Measure/Tight.lean |
2 |
34 |
['EtienneC30', 'JADekker', 'github-actions', 'sgouezel'] |
nobody |
187-9123 6 months ago |
749-17174 749 days ago |
2-24297 2 days |
| 12452 |
JADekker author:JADekker |
feat(Cocardinal): add some more api |
Just a small PR to add a bit more API for cocardinal filters. Not everything seems to generalise nicely from cofinite, so I didn't include such results.
Currently the file has one `sorry`, I'm not sure how to complete this proof.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
awaiting-CI
|
75/0 |
Mathlib/Order/Filter/Cocardinal.lean |
1 |
0 |
[] |
nobody |
187-9119 6 months ago |
759-5399 759 days ago |
0-2075 34 minutes |
| 14426 |
adomani author:adomani |
feat: `#min_imps` command (development branch) |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
142/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MinImports.lean,test/MinImports.lean |
4 |
2 |
['adomani', 'github-actions'] |
nobody |
187-9090 6 months ago |
689-74971 689 days ago |
0-31 31 seconds |
| 14686 |
smorel394 author:smorel394 |
feat(AlgebraicGeometry/Grassmannian): define the Grassmannian scheme |
# The Grassmannian scheme
Define the Grassmannian scheme by gluing affine charts.
We fix a commutative ring `K`, a free `K`-module of finite type `V` and two natural numbers
`r` and `c`. The scheme we define should parametrize surjective `K`-linear maps
`V →ₗ[K] (Fin r → K)`, assuming that `V` is of rank `r + c`. We actually define the scheme
without assuming the condition on the rank of `V`, but it is empty unless the rank of `V` is
`r + c`.
Main definitions:
* `Grassmannian.glueData K V r c`: the `AlgebraicGeometry.Scheme.GlueData` defining the
Grassmannian scheme.
* `Grassmannian K V r c`: the Grassmannian scheme, defined as
`(Grassmannian.glueData K V r c).glued`.
* `Grassmannian.structMorphism K V r c`: the structural morphism from `Grassmannian K V r c`
to `Spec K`.
# Implementation
We use as index type for the charts the type `Basis (Fin (r + c)) K V` (so this is empty unless
`V` is free of rank `r + c`). All the charts are the same and equal to the affine space with
coordinates indexed by `Fin c × Fin r`, that is, to `Spec (MvPolynomial (Fin c × Fin r) K)`.
The idea is that, for `i` in `Basis (Fin (r + c)) K V`, the corresponding chart will
parametrize all surjective `K`-linear maps `φ : V →ₗ[K] (Fin r → K)` that become isomorphisms
when restricted to the `K`-submodule generated by the first `r` vectors of the basis `i`.
To get the point of the chart corresponding to `φ`, we take the matrix of `φ` in the basis `i` of
`V` and the canonical basis of `Fin r → K`, we divide it on the right by its top `r × r`
square submatrix (which is invertible by assumption), and we taken the botton `c × r`
submatrix.
This is almost the usual description of the Grassmannian by charts, with three differences:
* We consider the Grassmannian parametrizing `r`-dimensional quotients of `V` instead of
`r`-dimensional subspaces of `V`, because this is more natural when working over a general
ring (or scheme).
* In the usual description, we fix a basis of `V` and index the chart by its subsets `I` of
cardinality `r`. Here, to avoid making a choice, we instead index charts by the set of
bases of `V` and always choose the subset `I` to consist of the first `r` vectors.
* Instead of working with `FiniteDimensional.finrank K V - r`, which would cause technical
trouble because of the way subtraction works on `ℕ`, we introduce the codimension `c` as an
auxiliary variable, and our constructions are only interesting when `r + c` is equal to
`FiniteDimensional.finrank K V`.
# Why is this a WIP
* There a bunch of lemmas in the file `AlgebraicGeometry/Grassmannian/Lemmas.lean` that either should not be necessary or should be put in another PR for some other part of mathlib.
* The proofs in `AlgebraicGeometry/Grassmannian/Basic.lean` are probably too complicated, and the names suck.
# Notes.
This contribution was created as part of the AIM workshop "Formalizing algebraic geometry" in
June 2024.
---
- [x] depends on: #14711
[](https://gitpod.io/from-referrer/)
|
please-adopt
WIP
workshop-AIM-AG-2024
merge-conflict
t-algebraic-geometry
|
1002/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/Grassmannian/Basic.lean,Mathlib/AlgebraicGeometry/Grassmannian/Lemmas.lean |
3 |
15 |
['erdOne', 'github-actions', 'joelriou', 'leanprover-community-mathlib4-bot', 'smorel394'] |
nobody |
187-9079 6 months ago |
681-81486 681 days ago |
0-201 3 minutes |
| 17071 |
ScottCarnahan author:ScottCarnahan |
feat(LinearAlgebra/RootSystem): separation, base, cartanMatrix |
This PR defines an abstract separation structure for roots, together with the associated base and Cartan Matrix. In general, the good properties will follow from additional order hypotheses on the base ring (implemented in a future PR).
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
111/0 |
Mathlib.lean,Mathlib/LinearAlgebra/RootSystem/Separation.lean |
2 |
1 |
['github-actions'] |
nobody |
187-9044 6 months ago |
587-85904 587 days ago |
20-56416 20 days |
| 17471 |
joelriou author:joelriou |
feat(Algebra/ModuleCat/Differentials/Sheaf): the sheaf of relative differentials |
---
- [ ] depends on: #17366
- [x] depends on: #17388
- [x] depends on: #16755
- [ ] depends on: #17469
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-other-PR
t-category-theory
large-import
merge-conflict
t-algebraic-geometry
|
740/10 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Differentials/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/Differentials/Sheaf.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pullback.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/Ring/Hom/Defs.lean,Mathlib/AlgebraicGeometry/Modules/Differentials.lean,Mathlib/Geometry/RingedSpace/SheafedSpace.lean |
9 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
187-9037 6 months ago |
unknown |
0-0 0 seconds |
| 18626 |
hannahfechtner author:hannahfechtner |
feat: define Artin braid groups |
Define the Artin braid group on infinitely many strands. Includes a toGroup function which defines a function out of the braid group to any other group (given a function which satisfies the braid relations)
(more to come in this file; next up: Artin braid groups on finitely many strands)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
91/0 |
Mathlib.lean,Mathlib/GroupTheory/SpecificGroups/BraidGroup/Basic.lean |
2 |
22 |
['github-actions', 'hannahfechtner', 'jcommelin', 'joelriou'] |
nobody |
187-9031 6 months ago |
550-15910 550 days ago |
15-38478 15 days |
| 18784 |
erdOne author:erdOne |
feat(AlgebraicGeometry): use `addMorphismPropertyInstances` |
---
- [ ] depends on: #18785
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebraic-geometry
blocked-by-other-PR
|
435/91 |
Mathlib.lean,Mathlib/AlgebraicGeometry/Cover/Open.lean,Mathlib/AlgebraicGeometry/Morphisms/Affine.lean,Mathlib/AlgebraicGeometry/Morphisms/ClosedImmersion.lean,Mathlib/AlgebraicGeometry/Morphisms/FinitePresentation.lean,Mathlib/AlgebraicGeometry/Morphisms/FiniteType.lean,Mathlib/AlgebraicGeometry/Morphisms/OpenImmersion.lean,Mathlib/AlgebraicGeometry/Morphisms/Proper.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiCompact.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiSeparated.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/AlgebraicGeometry/Morphisms/Smooth.lean,Mathlib/AlgebraicGeometry/Morphisms/UniversallyClosed.lean,Mathlib/AlgebraicGeometry/Restrict.lean,Mathlib/CategoryTheory/MorphismProperty/Composition.lean,Mathlib/CategoryTheory/MorphismProperty/Limits.lean,Mathlib/CategoryTheory/MorphismProperty/Tactic.lean,MathlibTest/AddMorphismPropertyInstances.lean |
18 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
187-9022 6 months ago |
562-32227 562 days ago |
0-1869 31 minutes |
| 19062 |
hannahfechtner author:hannahfechtner |
feat(Algebra/PresentedMonoid/Basic): facts about rel |
Add in a number of useful theorems (reflexivity, closure under multiplication) and lemmas about when the PresentedMonoid.rel holds as an API for users
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
label:t-algebra$ |
38/0 |
Mathlib/GroupTheory/Congruence/Defs.lean |
1 |
8 |
['github-actions', 'hannahfechtner', 'kbuzzard', 'riccardobrasca'] |
nobody |
187-9017 6 months ago |
454-19977 454 days ago |
87-64575 87 days |
| 19607 |
madvorak author:madvorak |
feat: block matrices are totally unimodular |
---
Discussion: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/TU.20block.20matrix.20.2319607
- [ ] depends on: #19323
- [ ] depends on: #20428
- [ ] depends on: #20433
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
blocked-by-other-PR
|
156/0 |
Mathlib.lean,Mathlib/Data/Sum/Decompose.lean,Mathlib/LinearAlgebra/Matrix/Determinant/TotallyUnimodular.lean |
3 |
11 |
['github-actions', 'jcommelin', 'leanprover-community-bot-assistant', 'madvorak', 'mathlib4-dependent-issues-bot'] |
nobody |
187-9007 6 months ago |
unknown |
0-0 0 seconds |
| 20029 |
FrederickPu author:FrederickPu |
feat(Tactic/simps): allow for Config attributes to be set directly |
Allow for Config attributes to be set directly when using initialize_simp_projection as per issue #19895
Basically modified initialize_simp_projection so that the user has the option of specifying a tuple of config option values.
Ex:
```
initialize_simp_projection MulEquiv (toFun → apply, invFun → symm_apply) (fullyApplied := false)
```
These config options are then converted into projections.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
new-contributor
t-meta
|
34/4 |
Mathlib/Tactic/Simps/Basic.lean |
1 |
11 |
['FrederickPu', 'YaelDillies', 'fpvandoorn', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
187-8968 6 months ago |
523-26217 523 days ago |
0-34081 9 hours |
| 21269 |
658060 author:658060 |
feat(CategoryTheory/Topos): basic definitions and results in topos theory |
This code contains basic definitions and results in topos theory, including the definition of a subobject classifier, power objects, and topoi. It is proved that every topos has exponential objects, i.e. "internal homs". The mathematical content follows chapter IV sections 1-2 of Mac Lane and Moerdijk's text "Sheaves in Geometry and Logic".
---
- [x] depends on: #21281
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
new-contributor
merge-conflict
awaiting-author
|
1269/0 |
Mathlib.lean,Mathlib/CategoryTheory/Topos/Basic.lean,Mathlib/CategoryTheory/Topos/Classifier.lean,Mathlib/CategoryTheory/Topos/Exponentials.lean,Mathlib/CategoryTheory/Topos/Power.lean |
5 |
10 |
['658060', 'gio256', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot'] |
nobody |
187-8941 6 months ago |
479-74155 479 days ago |
0-13879 3 hours |
| 22805 |
ScottCarnahan author:ScottCarnahan |
feat(FieldTheory/Finite): fixed points of Frobenius automorphism |
This PR identifies the prime field with the fixed points of frobenius.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
325/7 |
Mathlib/Algebra/Algebra/ZMod.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/FieldTheory/Finite/GaloisField.lean |
4 |
1 |
['github-actions'] |
nobody |
187-8929 6 months ago |
unknown |
0-0 0 seconds |
| 23772 |
SEU-Prime author:SEU-Prime |
feat: Amice equivalence |
i built amice equiv
[](https://gitpod.io/from-referrer/)
|
WIP
t-number-theory
|
283/0 |
Mathlib/NumberTheory/Padics/Amice.lean |
1 |
2 |
['grunweg'] |
nobody |
187-8910 6 months ago |
413-18161 413 days ago |
0-4483 1 hour |
| 23990 |
robertmaxton42 author:robertmaxton42 |
feat(Types.Colimits): Quot is functorial and colimitEquivQuot is natural |
Add `Functor.quotFunctor` to parallel `Functor.sectionsFunctor`, witnessing that `Quot` is functorial; add `colimNatIsoQuotFunctor` to parallel `limNatIsoSectionsFunctor`, witnessing that `colimitEquivQuot` is natural in the diagram $F$.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
new-contributor
|
33/0 |
Mathlib/CategoryTheory/Limits/Types/Colimits.lean |
1 |
5 |
['github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'robertmaxton42'] |
nobody |
187-8824 6 months ago |
399-7759 399 days ago |
8-27136 8 days |
| 24533 |
robertmaxton42 author:robertmaxton42 |
feat(ULift): conjugation by ULift.up/down, misc cast/heq lemmas |
* Adds the convenience def `ULift.conj x := `down (f (up x))`, and corresponding basic lemmas
* Adds lemmas showing that `ULift.up` and `.down` commute with casts and preserve `HEq`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
|
31/0 |
Mathlib/Data/ULift.lean |
1 |
23 |
['eric-wieser', 'github-actions', 'grunweg', 'robertmaxton42'] |
nobody |
187-8820 6 months ago |
270-36608 270 days ago |
118-2181 118 days |
| 24690 |
ScottCarnahan author:ScottCarnahan |
feat(Data.Prod): reverse lexicographic order |
This PR implements the type synonym RevLex as a one-field structure, defines an order on products, and proves an order isomorphism with the Lex product with factors switched.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-order
|
141/0 |
Mathlib.lean,Mathlib/Data/Prod/RevLex.lean |
2 |
5 |
['ScottCarnahan', 'YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-8810 6 months ago |
362-54335 362 days ago |
19-33859 19 days |
| 24692 |
ScottCarnahan author:ScottCarnahan |
feat(RingTheory/HahnSeries/Basic): isomorphism of Hahn series induced by order isomorphism |
This PR introduces an isomorphism of Hahn series induced by an order isomorphism on the exponent posets.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-order
|
35/0 |
Mathlib/RingTheory/HahnSeries/Basic.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-8804 6 months ago |
350-39259 350 days ago |
31-47622 31 days |
| 25034 |
ScottCarnahan author:ScottCarnahan |
feat(Algebra/Module/Equiv/Basic): Restriction of scalars from a semilinear equivalence to a linear equivalence |
If `M` and `M₂` are both `R`-modules and modules for `S` and `S₂`, respectively, then for any ring isomorphism `e` between `S` and `S₂` and any `e`-semilinear equivalence between `M` and `M₂` that respects the `R`-action, we obtain an `R`-linear equivalence between `M` and `M₂`.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
label:t-algebra$ |
28/0 |
Mathlib/Algebra/Module/Equiv/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
187-8797 6 months ago |
350-39221 350 days ago |
20-11468 20 days |
| 25831 |
ScottCarnahan author:ScottCarnahan |
feat(RingTheory/HahnSeries): Powers of a binomial |
This PR introduces powers of a binomial `single g 1 - single g' 1` in a Hahn series, where the powers take values in a binomial ring. These series behave as one would expect with respect to addition of powers, and comparison with natural number powers. They are often used in the theory of vertex algebras.
---
- [x] depends on: #25830
- [x] depends on: #27497
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #24102.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/24102* |
merge-conflict
WIP
t-ring-theory
|
132/0 |
Mathlib.lean,Mathlib/RingTheory/HahnSeries/Addition.lean,Mathlib/RingTheory/HahnSeries/Binomial.lean,Mathlib/RingTheory/HahnSeries/HEval.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean |
5 |
14 |
['ScottCarnahan', 'github-actions', 'kbuzzard', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
kbuzzard assignee:kbuzzard |
187-8769 6 months ago |
203-26221 203 days ago |
80-45817 80 days |
| 26455 |
ScottCarnahan author:ScottCarnahan |
feat(LinearAlgebra/RootSystem): API for CartanMatrix |
Some attempts at working out good ways to eliminate bad Cartan matrices.
Very much WIP
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
815/26 |
Mathlib/Algebra/Group/Action/Faithful.lean,Mathlib/LinearAlgebra/LinearIndependent/Basic.lean,Mathlib/LinearAlgebra/RootSystem/Base.lean,Mathlib/LinearAlgebra/RootSystem/CartanMatrix.lean,Mathlib/LinearAlgebra/RootSystem/Finite/CanonicalBilinear.lean,Mathlib/LinearAlgebra/RootSystem/Finite/Lemmas.lean,Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Relations.lean,Mathlib/LinearAlgebra/RootSystem/IsValuedIn.lean,Mathlib/LinearAlgebra/RootSystem/RootPositive.lean |
9 |
8 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
nobody |
187-8643 6 months ago |
332-64713 332 days ago |
0-17731 4 hours |
| 26804 |
kckennylau author:kckennylau |
feat(SetTheory): ZFSet is a model of ZFC |
---
Depends on:
* [ ] #26644
`Mathlib/SetTheory/ZFC/Model.lean` is the main file, and it starts at Line 346.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-set-theory
|
1245/0 |
Mathlib.lean,Mathlib/SetTheory/ZFC/Axioms.lean,Mathlib/SetTheory/ZFC/Model.lean,docs/references.bib |
4 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
187-8596 6 months ago |
323-59721 323 days ago |
0-163 2 minutes |
| 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`.
---
- [x] depends on: #26824
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
1372/19 |
Mathlib.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean |
4 |
5 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
187-8584 6 months ago |
321-33593 321 days ago |
0-517 8 minutes |
| 26310 |
kckennylau author:kckennylau |
feat: binary forms |
This PR provides the basic definition of binary forms, which are homogeneous polynomials in two variables.
---
- [ ] depends on: #26312
- [ ] depends on: #26313
- [ ] depends on: #26314
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
73/0 |
Mathlib.lean,Mathlib/RingTheory/MvPolynomial/BinaryForm.lean |
2 |
14 |
['MichaelStollBayreuth', 'github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'ocfnash'] |
ocfnash assignee:ocfnash |
187-8562 6 months ago |
279-5583 279 days ago |
57-1096 57 days |
| 26283 |
kckennylau author:kckennylau |
feat: resultant of polynomials |
---
This is a WIP PR for resultant for me to get cache.
PRs produced:
* [x] #25139
(migrated to #26091)
* [x] #25270
* [x] #25279
* [x] #25293
* [x] #25294
* [x] #25305
* [x] #26285
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
1190/0 |
Mathlib.lean,Mathlib/Algebra/Polynomial/Resultant/Basic.lean,Mathlib/Algebra/Polynomial/Resultant/MvPolynomial.lean,Mathlib/RingTheory/Polynomial/Discriminant.lean |
4 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-8538 6 months ago |
336-63652 336 days ago |
0-19 19 seconds |
| 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.
---
[](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 |
187-8507 6 months ago |
218-32101 218 days ago |
74-56654 74 days |
| 28215 |
5hv5hvnk author:5hv5hvnk |
feat: strong and Weak connectivity for Digraphs |
strong and weak connectivity in Digraphs
---
Should resolve a part of issue #26771
Main additions in the PR:
1. Walks in Digraphs (Walk.lean)
- Basic walk structure with start and end vertices
- Support for walk operations: append, reverse, length
- Support functions: getVert, copy, support
2. Walk Decompositions (WalkDecomp.lean)
- takeUntil and dropUntil functions to split walks
- rotate operation for loop walks
- Theorems relating to walk decomposition properties
3. Subgraphs (subgraph.lean)
- Subgraph structure for digraphs
- Induced and spanning subgraph predicates
- Lattice structure (sup, inf, top, bot)
- Coercion to standalone digraphs
4. Paths (Paths.lean)
- Trail, Path, Circuit, Cycle definitions
- Path structure with no repeating vertices
- Theorems relating different path types
- Basic connectivity definitions (reachable, weakly/strongly connected)
5. Connectivity (Connected.lean)
- Reachability relations and properties
- Strong and weak connectivity definitions
- Connected component types:
- StronglyConnectedComponent
- WeaklyConnectedComponent
- ConnectedComponent
- Component properties and equivalence relations
-->
[](https://gitpod.io/from-referrer/)
|
WIP
new-contributor
merge-conflict
awaiting-author
t-combinatorics
|
1266/0 |
Mathlib.lean,Mathlib/Combinatorics/Digraph/Connected.lean,Mathlib/Combinatorics/Digraph/Paths.lean,Mathlib/Combinatorics/Digraph/Subgraph.lean,Mathlib/Combinatorics/Digraph/Walk.lean,Mathlib/Combinatorics/Digraph/WalkDecomp.lean |
6 |
4 |
['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
187-8486 6 months ago |
275-6068 275 days ago |
12-41939 12 days |
| 28970 |
Whysoserioushah author:Whysoserioushah |
feat(Algebra/Algebra/ReducedNorm): defines reduced norm and trace |
TODO :
1. add the theorem proving reduced charpoly is independent from the choice of AlgEquiv (blocked by this [discussion](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Algebra.2ETensorProduct.2Eassoc/with/536349758))
2. prove reduced charpoly is "actually" in the polynomial ring of base field (blocked by this [discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.E2.9C.94.20Refactor.20Subfield))
therefore content about this topic is basically the best I could do for now :-(
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
66/0 |
Mathlib.lean,Mathlib/Algebra/Algebra/ReducedNorm.lean |
2 |
19 |
['Whysoserioushah', 'chrisflav', 'erdOne', 'eric-wieser', 'github-actions', 'kbuzzard', 'mathlib4-merge-conflict-bot'] |
chrisflav assignee:chrisflav |
187-8434 6 months ago |
230-86357 230 days ago |
40-66926 40 days |
| 29212 |
Whysoserioushah author:Whysoserioushah |
feat(Algebra/CrossProductAlgebra/Defs): define Cross Product Algebra |
PS: All to-dos listed in the file has been fully sorry-freed and will be (slowly) upstreamed by either me or Yaël
Co-authored-by: Yaël Dillies
Co-authored-by: Jujian Zhang
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
270/0 |
Mathlib.lean,Mathlib/RepresentationTheory/CrossProductAlgebra/Defs.lean,docs/references.bib |
3 |
9 |
['Whysoserioushah', 'YaelDillies', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-8423 6 months ago |
260-35608 260 days ago |
5-62087 5 days |
| 29514 |
grunweg author:grunweg |
feat(CI): use more strict mode |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
CI
|
192/33 |
.github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/ValidatePRTitle.lean,lakefile.lean,scripts/README.md,scripts/check_title_labels.lean |
10 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
187-8382 6 months ago |
256-84357 256 days ago |
0-1 1 second |
| 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.
---
[](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 |
187-8375 6 months ago |
254-9630 254 days ago |
1-50449 1 day |
| 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 |
187-8287 6 months ago |
277-44841 277 days ago |
0-24930 6 hours |
| 30366 |
sinhp author:sinhp |
feat(CategoryTheory): The Preliminaries for Locally Cartesian Closed Categories |
See https://github.com/leanprover-community/mathlib4/pull/21525
This PR defines the basic preliminaries for defining locally cartesian closed categories (LCCCs).
First, we develop a computable implementation of pullbacks, by introducing a new type-class `ChosenPullback`. The non-computable `HasPullbacksAlong` and `HasPullbacks` predicates yield instances of `ChosenPullback` using global choice, but interestingly in the category of types every morphism has chosen pullbacks. Also, cartesian monoidal categories, morphisms to the terminal object and the product projections have chosen pullbacks. We prove that `ChosenPullback` has good closure properties, e.g., isos have chosen pullbacks, and composition of morphisms with chosen pullbacks have chosen pullbacks.
Separately, we prove that pull-push along a morphism with chosen pullbacks gives the (cartesian) binary product of that morphism, seen as an object of a slice category, and any other object of the same slice category. In fact, we also prove the stronger statement, namely that the pull-push composition `(Over.ChosenPullback.pullback Z.hom) ⋙ (Over.map Z.hom)` is naturally isomorphic to the right tensor product functor `_ × Y` in `Over X`. _This is going to be crucial in our mate-based approach to LCCCs_.
Also, using the calculus of mates we define certain natural isomorphisms involving `Over.star` and `Over.pullback` which will be used in defining the right adjoint to the pullback functor in the development of LCCCs.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
|
4865/526 |
.github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,Mathlib.lean,Mathlib/Algebra/Algebra/Spectrum/Quasispectrum.lean,Mathlib/Algebra/BigOperators/Group/List/Defs.lean,Mathlib/Algebra/BrauerGroup/Defs.lean,Mathlib/Algebra/Category/Grp/Subobject.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Symmetric.lean,Mathlib/Algebra/Category/ModuleCat/Semi.lean,Mathlib/Algebra/CharP/Frobenius.lean,Mathlib/Algebra/Colimit/Ring.lean,Mathlib/Algebra/Field/MinimalAxioms.lean,Mathlib/Algebra/GroupWithZero/Hom.lean,Mathlib/Algebra/Homology/ComplexShapeSigns.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Linear.lean,Mathlib/Algebra/Homology/DerivedCategory/Linear.lean,Mathlib/Algebra/Homology/HomologySequenceLemmas.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomologicalFunctor.lean,Mathlib/Algebra/Homology/HomotopyCategory/ShiftSequence.lean,Mathlib/Algebra/Lie/CartanExists.lean,Mathlib/AlgebraicGeometry/Modules/Presheaf.lean,Mathlib/AlgebraicTopology/SimplexCategory/Defs.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/IsUniquelyCodimOneFace.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/Pairing.lean,Mathlib/AlgebraicTopology/SimplicialSet/Monoidal.lean,Mathlib/AlgebraicTopology/SimplicialSet/Nerve.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveAdjunction.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplicesSubcomplex.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/Analysis/Analytic/ChangeOrigin.lean,Mathlib/Analysis/Calculus/FDeriv/Prod.lean,Mathlib/Analysis/Calculus/IteratedDeriv/ConvergenceOnBall.lean,Mathlib/Analysis/Complex/OperatorNorm.lean,Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/Distribution/TemperateGrowth.lean,Mathlib/Analysis/Meromorphic/TrailingCoefficient.lean,Mathlib/Analysis/Normed/Ring/WithAbs.lean,Mathlib/Analysis/SpecialFunctions/Log/PosLog.lean,Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Basic.lean,Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Sheaf.lean,Mathlib/CategoryTheory/Adjunction/AdjointFunctorTheorems.lean,Mathlib/CategoryTheory/Adjunction/Basic.lean,Mathlib/CategoryTheory/Adjunction/CompositionIso.lean,Mathlib/CategoryTheory/Adjunction/Mates.lean,Mathlib/CategoryTheory/Bicategory/Strict/Pseudofunctor.lean,Mathlib/CategoryTheory/Category/ULift.lean,Mathlib/CategoryTheory/Closed/Cartesian.lean,Mathlib/CategoryTheory/Comma/StructuredArrow/Small.lean,Mathlib/CategoryTheory/ComposableArrows.lean,Mathlib/CategoryTheory/Discrete/StructuredArrow.lean,Mathlib/CategoryTheory/EssentiallySmall.lean,Mathlib/CategoryTheory/Filtered/Final.lean,Mathlib/CategoryTheory/Functor/KanExtension/Pointwise.lean,Mathlib/CategoryTheory/Generator/Abelian.lean,Mathlib/CategoryTheory/Generator/Basic.lean,Mathlib/CategoryTheory/Generator/StrongGenerator.lean,Mathlib/CategoryTheory/GuitartExact/KanExtension.lean,Mathlib/CategoryTheory/IsConnected.lean,Mathlib/CategoryTheory/Limits/Filtered.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/Final/Connected.lean,Mathlib/CategoryTheory/Limits/Final/Type.lean,Mathlib/CategoryTheory/Limits/HasLimits.lean,Mathlib/CategoryTheory/Limits/Preserves/Basic.lean,Mathlib/CategoryTheory/Limits/Preserves/Filtered.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean,Mathlib/CategoryTheory/Limits/Types/ColimitType.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/Prelim.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean,Mathlib/CategoryTheory/ObjectProperty/ClosedUnderIsomorphisms.lean,Mathlib/CategoryTheory/ObjectProperty/CompleteLattice.lean,Mathlib/CategoryTheory/ObjectProperty/LimitsClosure.lean,Mathlib/CategoryTheory/ObjectProperty/LimitsOfShape.lean,Mathlib/CategoryTheory/ObjectProperty/Small.lean,Mathlib/CategoryTheory/Presentable/IsCardinalFiltered.lean,Mathlib/CategoryTheory/Shift/ShiftedHom.lean,Mathlib/CategoryTheory/Sites/Descent/IsPrestack.lean,Mathlib/CategoryTheory/Sites/Equivalence.lean,Mathlib/CategoryTheory/Sites/LeftExact.lean,Mathlib/CategoryTheory/Sites/PreservesSheafification.lean,Mathlib/CategoryTheory/Sites/Whiskering.lean,Mathlib/Combinatorics/Enumerative/Bell.lean,Mathlib/Condensed/Discrete/Basic.lean,Mathlib/Condensed/Light/AB.lean,Mathlib/Condensed/Light/CartesianClosed.lean,Mathlib/Condensed/Light/Instances.lean,Mathlib/Condensed/Light/Module.lean,Mathlib/Data/Rel/Separated.lean,Mathlib/FieldTheory/PerfectClosure.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/GroupTheory/OrderOfElement.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean |
131 |
40 |
['github-actions', 'joelriou', 'mathlib4-merge-conflict-bot', 'sinhp'] |
nobody |
187-8261 6 months ago |
208-76825 208 days ago |
3-54729 3 days |
| 26765 |
KiringYJ author:KiringYJ |
feat(MeasureTheory/PiSystem): add π-λ theorem and SetLike instance |
Add two small features to `MeasureTheory/PiSystem`:
1. SetLike instance
`instance : SetLike (DynkinSystem α) (Set α)`
This lets us write `s ⊆ d` and `t ∈ d` for a DynkinSystem `d`, matching usual mathlib style.
2. `DynkinSystem.pi_lambda` lemma
Classical π‑λ theorem: if a π‑system `s` is contained in a Dynkin system `d`, every set measurable for `σ(s)` is also in `d`.
Currently, mathlib exposes this result only indirectly (e.g. via `generateFrom_eq`). Although logically equivalent, it is not obvious at first glance that those lemmas are the π‑λ theorem. The new lemma states the result in its familiar textbook form, so users can recognise and cite it immediately.
Both pieces are under 10 lines, term‑mode only, and do not modify existing APIs.
No breaking changes.
No dependencies.
|
awaiting-author
t-measure-probability
new-contributor
|
13/0 |
Mathlib/MeasureTheory/PiSystem.lean |
1 |
14 |
['EtienneC30', 'KiringYJ', 'dagurtomas', 'github-actions', 'ocfnash'] |
RemyDegenne assignee:RemyDegenne |
186-81083 6 months ago |
186-81083 186 days ago |
138-3922 138 days |
| 29409 |
Julian author:Julian |
feat(Mathlib/Analysis): deriv_eq_self and deriv_exp_iff |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-analysis
|
29/0 |
Mathlib/Analysis/SpecialFunctions/ExpDeriv.lean |
1 |
9 |
['Julian', 'Paul-Lez', 'eric-wieser', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot'] |
j-loreaux assignee:j-loreaux |
186-8648 6 months ago |
244-55 244 days ago |
15-76317 15 days |
| 27306 |
xyzw12345 author:xyzw12345 |
feat: `lie_ring` tactic and `LieReduce` command |
This PR continues the work from #22196.
Original PR: https://github.com/leanprover-community/mathlib4/pull/22196 |
t-meta
merge-conflict
|
789/2 |
Mathlib.lean,Mathlib/Algebra/Lie/Derivation/AdjointAction.lean,Mathlib/Tactic.lean,Mathlib/Tactic/LieAlgebra/Basic.lean,Mathlib/Tactic/LieAlgebra/LieRingNF.lean,Mathlib/Util/AtomM.lean,MathlibTest/lie_ring.lean,scripts/noshake.json |
8 |
34 |
['FLDutchmann', 'JovanGerb', 'github-actions', 'grunweg', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'xyzw12345'] |
JovanGerb assignee:JovanGerb |
185-24360 6 months ago |
189-21099 189 days ago |
114-72392 114 days |
| 27694 |
grunweg author:grunweg |
feat: Gram-Schmidt orthonormalisation preserves continuity of sections |
provided the bundle metric used in the process is continuous.
From the path towards geodesics and the Levi-Civita connection.
Co-authored-by: Patrick Massot [patrickmassot@free.fr](mailto:patrickmassot@free.fr)
---
- [ ] depends on: #27024
- [x] depends on: #27021
Baby version of #27025.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-differential-geometry
blocked-by-other-PR
|
390/11 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Geometry/Manifold/VectorBundle/GramSchmidtOrtho.lean,scripts/noshake.json |
4 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
184-73772 6 months ago |
298-86133 298 days ago |
0-696 11 minutes |
| 27025 |
grunweg author:grunweg |
feat: Gram-Schmidt procedure on smooth vector bundles yields smooth sections |
For the Gram-Schmidt process on a vector bundle, deduce that smoothness of the bundle metric implies smoothness of the resulting sections.
From the path towards geodesics and the Levi-Civita connection.
Co-authored-by: Patrick Massot
---
A few sorries remain to prove the continuous case.
- [x] depends on: #27021
- [x] depends on: #27023
- [ ] depends on: #27024
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-differential-geometry
blocked-by-other-PR
|
927/11 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Geometry/Manifold/Elaborators.lean,Mathlib/Geometry/Manifold/Traces.lean,Mathlib/Geometry/Manifold/VectorBundle/GramSchmidtOrtho.lean,scripts/noshake.json |
6 |
6 |
['faenuccio', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
184-73768 6 months ago |
317-31442 317 days ago |
0-218 3 minutes |
| 30637 |
strihanje01 author:strihanje01 |
feat(Combinatorics/SetFamily/Lindstrom): Lindstrom's theorem for subfamilies with equal unions |
add Lindstrom's theorem and its strengthening for equal intersections
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
209/0 |
Mathlib/Combinatorics/SetFamily/Lindstrom.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
184-16832 6 months ago |
187-34991 187 days ago |
31-61152 31 days |
| 25902 |
pfaffelh author:pfaffelh |
feat: The finite product of semi-rings (in terms of measure theory) is a semi-ring. |
~~Move results for rings (in terms of measure theory) to a separate file; was in Semiring.lean before.~~
For `∀ i ∈ s, IsSetSemiring (C i))`, the product `s.pi '' s.pi C` is a semiring.
Prove two auxiliary lemmas in `Data.Set.Prod` needed on the way.
---
*This PR continues the work from #22714.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/22714* |
t-measure-probability
brownian
large-import
merge-conflict
awaiting-author
|
260/14 |
Mathlib/Data/Set/Pairwise/Lattice.lean,Mathlib/Data/Set/Prod.lean,Mathlib/MeasureTheory/MeasurableSpace/Pi.lean,Mathlib/MeasureTheory/PiSystem.lean,Mathlib/MeasureTheory/SetSemiring.lean |
5 |
7 |
['github-actions', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
kex-y assignee:kex-y |
183-13827 6 months ago |
248-22627 248 days ago |
29-55524 29 days |
| 31571 |
erdOne author:erdOne |
feat(RingTheory): existence of local algebra with given residue field |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-ring-theory
|
225/0 |
Mathlib.lean,Mathlib/RingTheory/LocalRing/SeparableResidueField.lean |
2 |
7 |
['chrisflav', 'github-actions', 'jcommelin', 'mathlib4-merge-conflict-bot'] |
chrisflav assignee:chrisflav |
182-75016 6 months ago |
182-78473 182 days ago |
9-73312 9 days |
| 29517 |
pechersky author:pechersky |
feat(RingTheory/Torsion): torsion = union of roots of unity |
with additional API for Associates and rootsOfUnity sups
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #29988
- [x] depends on: #29989
- [x] depends on: #29990
- [x] depends on: #29991 |
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
149/8 |
Mathlib.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/RingTheory/RootsOfUnity/Basic.lean,Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean,Mathlib/RingTheory/Torsion.lean |
5 |
35 |
['chrisflav', 'github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] |
chrisflav assignee:chrisflav |
182-67840 6 months ago |
202-75643 202 days ago |
37-73610 37 days |
| 24627 |
pechersky author:pechersky |
feat(Topology/Algebra/Valued): `IsLinearTopology 𝒪[K] K` and `𝒪[K] 𝒪[K]` |
as well as
`IsLinearTopology ℤ_[p] ℤ_[p]`
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #26829
|
merge-conflict
awaiting-author
t-topology
|
219/26 |
Mathlib.lean,Mathlib/NumberTheory/Padics/LinearTopology.lean,Mathlib/Topology/Algebra/Valued/LinearTopology.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean,Mathlib/Topology/Algebra/Valued/ValuedField.lean |
5 |
55 |
['ADedecker', 'erdOne', 'faenuccio', 'github-actions', 'jcommelin', 'leanprover-community-bot-assistant', 'loefflerd', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] |
jcommelin assignee:jcommelin |
182-21562 6 months ago |
187-36958 187 days ago |
36-378 36 days |
| 31948 |
ADedecker author:ADedecker |
feat: move `ContinuousSMul` to a finite extension with the module topology |
My motivation is the following: to define the topology on test functions (see #31806), we take the inductive limit in the category of *real* locally convex topological vector spaces (we don't want the result to depend on the base field!). But then, we need a way to get that complex-valued test functions are also a *complex* topological vector space, which we will obtain by combining this PR with [isModuleTopologyOfFiniteDimensional](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Algebra/Module/FiniteDimension.html#isModuleTopologyOfFiniteDimensional).
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
109/57 |
Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Module/LinearMap/Basic.lean,Mathlib/Analysis/LocallyConvex/WeakDual.lean,Mathlib/FieldTheory/Fixed.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/Pi.lean,Mathlib/Topology/Algebra/Module/Basic.lean,Mathlib/Topology/Algebra/Module/ModuleTopology.lean |
8 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
181-66229 6 months ago |
unknown |
0-0 0 seconds |
| 24016 |
plp127 author:plp127 |
feat: fine uniformity |
Adds the fine uniformity, and proves some properties.
---
- [ ] depends on: #24096 for showing the induced topology is equal on completely regular spaces
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
283/0 |
Mathlib.lean,Mathlib/Topology/UniformSpace/FineUniformity.lean,Mathlib/Topology/UniformSpace/Uniformizable.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
181-55351 6 months ago |
403-64101 403 days ago |
2-85308 2 days |
| 30995 |
kckennylau author:kckennylau |
feat(RingTheory): replace ofLinearEquiv with limit |
For an `I`-adically complete `M` we define `limit : AdicCompletion I M ≃ₗ[R] M`. This replaces the existing `ofLinearEquiv : M ≃ₗ[R] AdicCompletion I M` which goes in the opposite direction, and should make #30989 and subsequent PR's smoother. It is intended to be used together with [AdicCompletion.mk](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/AdicCompletion/Basic.html#AdicCompletion.mk) : `AdicCompletion.AdicCauchySequence I M →ₗ[R] AdicCompletion I M`.
We also introduce `adicExpansion (ϖ : R) (hϖ : ϖ ∈ I) : (ℕ → M) →ₗ[R] AdicCauchySequence I M`, which sends a sequence `a : ℕ → M` to the Cauchy sequence `∑ ϖ ^ i • a i`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
awaiting-author
|
77/49 |
Mathlib/RingTheory/AdicCompletion/Algebra.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/RingHom.lean |
3 |
8 |
['erdOne', 'github-actions', 'jjdishere', 'kckennylau', 'mathlib4-merge-conflict-bot'] |
erdOne assignee:erdOne |
181-38215 6 months ago |
183-67300 183 days ago |
13-8190 13 days |
| 32094 |
grunweg author:grunweg |
feat(runLinter): allow only running certain linters |
This adds a script `run_linter`, which is a fork of batteries' `runLinter` with extra features:
- rewrite as a CLI app, so --help messages etc. come for free
- add a `--list` option, which prints the list of linters it was about to run, and exists
- add `--select`, `--ignore` and `--only` options which ensure certain linters are always run, never resp. that only a certain list of linters are run. (`add` takes priority over `exclude` or `only`.)
- add an `update_only_remove` flag which only runs linters mentioned in the `nolints` file: this only removes entries (by design), but is often much faster.
- renamed to `run_linter`: actually, per the [zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Naming.20convention/near/450896930), this should be `run-linter` --- and one could as well use the opportunity to rename this to e.g. `env-linter`. Asked [here](https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Configuring.2Fmodernizing.20runLinter).
Intended use cases
1. Run `update_only_remove` when updating the nolints file. In fact, it is so fast that it could even run during regular CI, after the normal `lint` step...
2. Run the mathlib linters locally. The simpNF linters are slow enough (for a reason, but still) that doing so is currently annoying. On my notebook, they can easily take half an hour, during which my notebook is otherwise hardly usable.
3. You're developing a new linter and only want to run *that* one (as there was no change about the other ones).
Probably, the nicest result would be this PR landing in batteries (perhaps in pieces) instead of here.
---
I'm not happy about one detail:
- many options take an `Array String`: how can I pass this to the executable? This is not obvious to me...
- TODO: address the comment at https://github.com/leanprover-community/mathlib4/pull/14654#discussion_r1685824917
Continuation of #14654. Proof-of-concept; the real implementation should be in batteries/a separate repository.
---
[](https://gitpod.io/from-referrer/)
|
t-linter
CI
|
154/0 |
lakefile.lean,scripts/run_linter.lean |
2 |
1 |
['github-actions'] |
nobody |
181-22687 6 months ago |
181-22753 181 days ago |
181-22748 181 days |
| 32095 |
grunweg author:grunweg |
chore: fix some explicitVarOfIff linter errors |
Needs a merge, and removing the linter changes... should be re-done and split out!
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
WIP
merge-conflict
|
320/146 |
Mathlib/Analysis/LocallyConvex/Bounded.lean,Mathlib/Analysis/Oscillation.lean,Mathlib/Geometry/Manifold/LocalInvariantProperties.lean,Mathlib/MeasureTheory/Measure/EverywherePos.lean,Mathlib/SetTheory/Ordinal/Topology.lean,Mathlib/Topology/Algebra/Group/Basic.lean,Mathlib/Topology/Algebra/Module/Basic.lean,Mathlib/Topology/Algebra/Monoid.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/Basic.lean,Mathlib/Topology/Category/TopCat/Basic.lean,Mathlib/Topology/Clopen.lean,Mathlib/Topology/CompactOpen.lean,Mathlib/Topology/Compactness/LocallyCompact.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/ContinuousOn.lean,Mathlib/Topology/DenseEmbedding.lean,Mathlib/Topology/Gluing.lean,Mathlib/Topology/Homeomorph.lean,Mathlib/Topology/IndicatorConstPointwise.lean,Mathlib/Topology/Inseparable.lean,Mathlib/Topology/Irreducible.lean,Mathlib/Topology/IsLocalHomeomorph.lean,Mathlib/Topology/LocalAtTarget.lean,Mathlib/Topology/Maps/Basic.lean,Mathlib/Topology/MetricSpace/Isometry.lean,Mathlib/Topology/NoetherianSpace.lean,Mathlib/Topology/Order.lean,Mathlib/Topology/Order/LowerUpperTopology.lean,Mathlib/Topology/Partial.lean,Mathlib/Topology/PartialHomeomorph.lean,Mathlib/Topology/PartitionOfUnity.lean,Mathlib/Topology/QuasiSeparated.lean,Mathlib/Topology/Separation.lean,Mathlib/Topology/TietzeExtension.lean,Mathlib/Topology/UniformSpace/Ascoli.lean,Mathlib/Topology/UniformSpace/Basic.lean,Mathlib/Topology/UniformSpace/Cauchy.lean,Mathlib/Topology/UniformSpace/CompactConvergence.lean,Mathlib/Topology/UniformSpace/Completion.lean,Mathlib/Topology/UniformSpace/Equicontinuity.lean,Mathlib/Topology/UniformSpace/Matrix.lean,Mathlib/Topology/UniformSpace/Pi.lean,Mathlib/Topology/UnitInterval.lean,Mathlib/Topology/UrysohnsBounded.lean,Mathlib/Topology/UrysohnsLemma.lean,Mathlib/Topology/VectorBundle/Basic.lean,lakefile.lean,scripts/run_linter.lean |
49 |
0 |
[] |
nobody |
181-22595 6 months ago |
181-22636 181 days ago |
0-8 8 seconds |
| 29899 |
eric-wieser author:eric-wieser |
chore: add `=Q` arguments to ring casting operations |
This also detects an `isDefeq` which is unifying across universes and types, which I remember rumors about being sometimes a bad idea.
I'm a little worried that the `=Q` design here runs into DTT hell, but it works in the one place that is "Qq-clean" right now, so I'd be inclined to apply it to help us learn more about the pattern in future.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
36/23 |
Mathlib/Tactic/Ring/Basic.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
180-50046 5 months ago |
unknown |
0-0 0 seconds |
| 31920 |
thorimur author:thorimur |
test: `env_linter` for unused decidable instances |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
128/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,Mathlib/Tactic/Linter/UnusedAssumptionInType.lean |
5 |
19 |
['github-actions', 'leanprover-bot', 'leanprover-radar', 'mathlib4-merge-conflict-bot', 'thorimur'] |
nobody |
180-46660 5 months ago |
unknown |
0-0 0 seconds |
| 27258 |
JovanGerb author:JovanGerb |
feat: Imo2020 q6 |
Original PR: #23431
This PR adds a solution to IMO 2020 Q6. It follows the solution that I found when I was participating in the IMO. I used the statement formalization that was given by @jsm28.
---
- [x] depends on: #27257
[](https://gitpod.io/from-referrer/)
|
IMO
awaiting-author
|
335/0 |
Archive.lean,Archive/Imo/Imo2020Q6.lean |
2 |
14 |
['JovanGerb', 'dwrensha', 'github-actions', 'jsm28', 'mathlib4-dependent-issues-bot'] |
dwrensha assignee:dwrensha |
180-16152 5 months ago |
180-16152 180 days ago |
64-4663 64 days |
| 26138 |
xroblot author:xroblot |
Development branch (2) |
---
|
WIP
merge-conflict
|
331/70 |
Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/FieldTheory/Finite/GaloisField.lean,Mathlib/FieldTheory/Galois/IsGaloisGroup.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Defs.lean,Mathlib/NumberTheory/NumberField/CMField.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Embeddings.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Basic.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Embeddings.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/TotallyRealComplex.lean,Mathlib/Sandbox.lean |
11 |
16 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
nobody |
180-5128 5 months ago |
340-35362 340 days ago |
0-12 12 seconds |
| 29357 |
eric-wieser author:eric-wieser |
refactor: generalize IsSimpleRing to semirings |
---
- [ ] depends on: #26277
- [ ] depends on: #22954
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR |
26/9 |
Mathlib/Data/Setoid/Basic.lean,Mathlib/RingTheory/SimpleRing/Basic.lean,Mathlib/RingTheory/SimpleRing/Defs.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
180-4624 5 months ago |
unknown |
0-0 0 seconds |
| 31729 |
thorimur author:thorimur |
chore: log on theorem type signature in unused instances in type linters |
Logs on the type signature in the unused instances in types linter, and tests this using `#guard_msgs (positions := true)`.
---
- [ ] depends on: #31730
- [x] depends on: #31142
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
large-import
|
636/3 |
Mathlib.lean,Mathlib/Lean/Elab/InfoTree.lean,Mathlib/Lean/Environment.lean,Mathlib/Lean/Expr.lean,Mathlib/Lean/Expr/Basic.lean,Mathlib/Lean/Syntax.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,Mathlib/Tactic/Linter/UnusedInstancesInType.lean,Mathlib/Util/DeclarationManipulation.lean,MathlibTest/UnusedInstancesInType.lean |
12 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
179-75854 5 months ago |
189-64036 189 days ago |
0-697 11 minutes |
| 32157 |
peabrainiac author:peabrainiac |
feat(Analysis/Calculus): Hadamard's lemma |
Add [Hadamard's lemma](https://en.wikipedia.org/wiki/Hadamard%27s_lemma) for functions from finite-dimensional normed spaces to Banach spaces.
---
- [ ] depends on: #31141
[](https://gitpod.io/from-referrer/)
|
t-analysis
blocked-by-other-PR
|
314/5 |
Mathlib.lean,Mathlib/Analysis/Calculus/Hadamard.lean,Mathlib/Analysis/Calculus/ParametricIntegral.lean,Mathlib/Analysis/Calculus/ParametricIntervalIntegral.lean,Mathlib/MeasureTheory/Integral/DominatedConvergence.lean |
5 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
179-66389 5 months ago |
179-66390 179 days ago |
0-1385 23 minutes |
| 26436 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(Mathlib/Data/Nat/Prime/Defs): fuel Nat.minFac |
This is a fueled version of docs#Nat.minFacAux that can now be checked by `decide`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
awaiting-author
|
53/48 |
Mathlib/Data/Nat/Prime/Defs.lean |
1 |
3 |
['digama0', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
179-33840 5 months ago |
333-18628 333 days ago |
0-60 1 minute |
| 24514 |
b-mehta author:b-mehta |
chore(Int/GCD): use fuel in xgcd |
Modify the definition of xgcd to use fuel recursion, to allow it to be reduced in the kernel. As a consequence, this means the evaluation of field operations in ZMod p become provable by `rfl` and `decide`.
Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/opaque.20recursion.20definitions.20break.20mergeSort.20decidability
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
merge-conflict
|
44/22 |
Mathlib/Data/Int/GCD.lean |
1 |
6 |
['astrainfinita', 'b-mehta', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'nomeata', 'urkud'] |
nobody |
179-24370 5 months ago |
330-64248 330 days ago |
58-34020 58 days |
| 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
[](https://gitpod.io/from-referrer/)
|
t-category-theory
merge-conflict
WIP
blocked-by-other-PR
|
1085/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 |
178-72852 5 months ago |
228-9432 228 days ago |
0-2073 34 minutes |
| 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$.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
awaiting-author
|
14/0 |
Mathlib/Analysis/Convolution.lean |
1 |
3 |
['github-actions', 'urkud'] |
nobody |
178-37254 5 months ago |
178-37254 178 days ago |
0-82278 22 hours |
| 28244 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Bicategory/NaturalTransformation): Icons |
We define icons (short for Identity Component Oplax Natural transformations) between lax functors in bicategories.
Such transformations bundle an oplax natural transformation, along with the assertion that the source and target functor agree on objects, and the fact that the app-component of the underlying natural transformation is the `eqToHom` morphism along that equality.
We define vertical composition of such natural transformations.
Strict associativity and strict unitality of the composition of icons will be the content of a follow-up PR.
In future work, icons will constitute the 2-cells of a strict bicategory structure on bicategories, with 1-cells (strictly unitary) pseudofunctors. This bicategory structure will define a category structure on strictly unitary pseudofunctors from `LocallyDiscrete (Fin n)` to a bicategory `C` (i.e "pseudo-composable arrows" in `C`), which will be part of the definition of the 2-nerve of `C`, which is a simplicial category that encodes higher compositions within a bicategory `C`.
---
- [ ] depends on: #25825
- [ ] depends on: #28243
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-other-PR
t-category-theory
awaiting-CI
large-import
merge-conflict
|
816/33 |
Mathlib.lean,Mathlib/CategoryTheory/Bicategory/EqToHom.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Icon.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Lax.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Oplax.lean,Mathlib/CategoryTheory/Bicategory/Strict.lean,Mathlib/CategoryTheory/EqToHom.lean,scripts/noshake.json |
8 |
4 |
['github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
178-6788 5 months ago |
287-8701 287 days ago |
0-1160 19 minutes |
| 29933 |
smmercuri author:smmercuri |
chore: fix `def` naming isses in `Normed/Field/WithAbs.lean` |
---
- [x] depends on: #29932
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
|
33/23 |
Mathlib/Analysis/Normed/Field/WithAbs.lean,Mathlib/NumberTheory/NumberField/AdeleRing.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Completion.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
177-84313 5 months ago |
242-6316 242 days ago |
1-17350 1 day |
| 31350 |
grunweg author:grunweg |
feat: (unoriented) bordism groups |
We define the unoriented bordism group of a topological space and prove that it is an abelian group:
we don't prove transitivity of bordisms yet, as that requires the collar neighbourhood theorem and gluing of smooth manifolds, which are both not in mathlib and a sizable piece of work.
---
This PR is not ready for review yet; I'm merely opening this to track this branch' state better. In particular, this PR depends on several preliminary PRs:
- [ ] depends on: #15906 for defining singular manifolds
- [ ] depends on: #23040: define immersions and smooth embeddings: in finite dimensions, these are easy to describe; for mathlib, we will want a correct definition for e.g. Banach manifolds also.
- [ ] depends on: #28793 is the first step for this
- [ ] depends on: #31351 defines manifolds with smooth boundary: the main dependence are smooth embeddings (and some basic results about these), then the definition needs redoing.
- depends on: #22874 for some constructions
- defining unoriented bordisms, and proving some basic constructions about them: will be another PR
This PR continues the work from #23138.
|
merge-conflict
WIP
t-differential-geometry
blocked-by-other-PR
|
1084/2 |
Mathlib.lean,Mathlib/Geometry/Manifold/Bordisms.lean,Mathlib/Geometry/Manifold/Diffeomorph.lean,Mathlib/Geometry/Manifold/HasSmoothBoundary.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean |
6 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
177-77019 5 months ago |
199-31284 199 days ago |
0-77 1 minute |
| 32126 |
nielsvoss author:nielsvoss |
feat(Analysis/Normed/Operator): definition of singular values for linear maps |
This PR defines a generalization of singular values, the approximation numbers, for continuous linear maps between normed vector spaces. It proves basic lemmas about the approximation numbers and shows that for finite-dimensional vector spaces, the approximation numbers coincide with the standard definition of singular values.
See the discussion on Zulip: https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Singular.20Value.20Decomposition/with/558914024
Co-authored-by: Arnav Mehta
Co-authored-by: Rawad Kansoh
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
new-contributor
|
331/0 |
Mathlib/Analysis/Normed/Operator/SingularValues.lean |
1 |
2 |
['github-actions', 'nielsvoss'] |
nobody |
177-74795 5 months ago |
unknown |
0-0 0 seconds |
| 26389 |
jjdishere author:jjdishere |
feat(RingTheory): Perfectoid Field |
This PR continues the work from #19972.
Original PR: https://github.com/leanprover-community/mathlib4/pull/19972 |
t-algebra
WIP
t-topology
t-analysis
label:t-algebra$ |
150/0 |
Mathlib/RingTheory/Perfectoid.lean |
1 |
2 |
['github-actions', 'jjdishere'] |
nobody |
177-32678 5 months ago |
334-53593 334 days ago |
0-69 1 minute |
| 32285 |
awainverse author:awainverse |
chore(ModelTheory/Bundled): Replace CategoryTheory.Bundled |
Replaces the use of CategoryTheory.Bundled L.Structure with a bespoke type for bundled L.Structures,
L.StrucType.
---
[](https://gitpod.io/from-referrer/)
|
t-logic
awaiting-author
merge-conflict
|
95/55 |
Mathlib/ModelTheory/Bundled.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Fraisse.lean,Mathlib/ModelTheory/Order.lean,Mathlib/ModelTheory/Satisfiability.lean |
5 |
3 |
['github-actions', 'jcommelin', 'mathlib-merge-conflicts'] |
nobody |
175-16082 5 months ago |
175-16082 175 days ago |
0-66385 18 hours |
| 28895 |
yury-harmonic author:yury-harmonic |
feat(NumberTheory): prove Zsigmondy's theorem |
---
- [x] depends on: #28879
- [x] depends on: #28825
- [x] depends on: #28833
- [x] depends on: #28888
- [x] depends on: #28830
- [x] depends on: #28765
- [x] depends on: #28886
- [x] depends on: #28934
[](https://gitpod.io/from-referrer/)
|
|
1307/0 |
Mathlib.lean,Mathlib/NumberTheory/Zsigmondy.lean |
2 |
8 |
['dupuisf', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'yury-harmonic'] |
nobody |
174-4216 5 months ago |
unknown |
0-0 0 seconds |
| 31950 |
callesonne author:callesonne |
feat(CategoryTheory/Product/Basic): make `Hom` into a 1-field structure |
This should help unification.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
merge-conflict
|
80/68 |
Mathlib/CategoryTheory/Comma/Basic.lean,Mathlib/CategoryTheory/Discrete/SumsProducts.lean,Mathlib/CategoryTheory/Functor/Currying.lean,Mathlib/CategoryTheory/Functor/CurryingThree.lean,Mathlib/CategoryTheory/Functor/Hom.lean,Mathlib/CategoryTheory/Groupoid.lean,Mathlib/CategoryTheory/Limits/FormalCoproducts.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/MorphismProperty/Basic.lean,Mathlib/CategoryTheory/Products/Associator.lean,Mathlib/CategoryTheory/Products/Basic.lean,Mathlib/CategoryTheory/Products/Unitor.lean,Mathlib/CategoryTheory/Sums/Products.lean,Mathlib/CategoryTheory/Yoneda.lean |
14 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
174-3351 5 months ago |
184-8301 184 days ago |
0-6 6 seconds |
| 8224 |
Kha author:Kha |
chore: add `lean4checker` benchmark |
|
WIP
merge-conflict
|
16/0 |
scripts/bench/temci-config.run.yml |
1 |
4 |
['Kha', 'grunweg', 'kim-em', 'leanprover-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
173-76025 5 months ago |
931-22810 931 days ago |
0-7460 2 hours |
| 22416 |
JLimperg author:JLimperg |
chore: fix benchmark script for precompilation |
The benchmarking script used to fail when precompilation was enabled anywhere in the dependency graph.
---
Fix courtesy of @Kha.
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
2/0 |
scripts/bench/fake-root/lib/lean/libleanshared.so,scripts/bench/run |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
173-74883 5 months ago |
unknown |
0-0 0 seconds |
| 30966 |
gasparattila author:gasparattila |
refactor: disable `simp` in `measurability` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
5/3 |
Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/MeasureTheory/MeasurableSpace/Defs.lean,Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean,Mathlib/MeasureTheory/Measure/Typeclasses/SFinite.lean,Mathlib/Tactic/Measurability.lean |
5 |
8 |
['github-actions', 'grunweg', 'leanprover-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
173-11097 5 months ago |
unknown |
0-0 0 seconds |
| 29315 |
kbuzzard author:kbuzzard |
chore: raise priority of `IsTopologicalSemiring.toIsModuleTopology` |
Instances of the form `SMul A B -> SMul (F A) (F B)` can be problematic for several reasons, one of them being that if `A = B` is a ring and if `F A` is also ring then this can cause a diamond with `Algebra.id`. In mathlib we attempt to coerce typeclass inference away from such problems by raising the priority of `Algebra.id` to 1100; this hack (implemented in #13032) seems to work well, indeed it seems sensible to try this instance early because it should be quick to fail and is always the right idea when it doesn't (the change also made mathlib faster and made a proof better). By the same logic it seems safe to raise the priority of `IsTopologicalSemiring.toIsModuleTopology` by the same amount; in FLT there is a mathematically natural but mathlib-problematic instance `Algebra K L -> Algebra (𝔸 K) (𝔸 L)`
and then another instance `Algebra K L -> IsModuleTopology (𝔸 K) (𝔸 L)` where `𝔸 K` is the adele ring of the number field `K`, and the change in this PR solves timeouts when `K = L`.
Zulip: [#mathlib4 > product of modules over product of rings @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/product.20of.20modules.20over.20product.20of.20rings/near/532799613)
---
[](https://gitpod.io/from-referrer/)
There are other solutions to this problem -- I am certainly not claiming that the FLT project needs this PR to be merged! We can tinker with priorities locally in FLT for example. However when I noticed that `Algebra.id` had a raised priority in mathlib I realised that mathlib might be amenable to this further ~~hack~~change.
|
awaiting-author
t-topology
|
6/1 |
Mathlib/Topology/Algebra/Module/ModuleTopology.lean |
1 |
9 |
['github-actions', 'j-loreaux', 'kbuzzard', 'leanprover-bot', 'ocfnash'] |
ocfnash assignee:ocfnash |
172-14984 5 months ago |
239-13348 239 days ago |
25-3388 25 days |
| 32474 |
mattrobball author:mattrobball |
perf(Module.LinearMap.Defs): deprioritize projections to parents for SemilinearMapClass |
Trying to figure out if a given type has a SemilinearMapClass instance when all we want is an AddHomClass or a MulActionSemiHomClass can be quite expensive since there are multiple ways to crawl the algebraic hierarchy to generate LinearMapClass instances. If these fail, then they fail slowly. We deprioritize the projections from SemilinearMapClass to AddHomClass and MulActionSemiHomClass to make this one of the last choices.
---
This PR continues #23214 which was delegated by @j-loreaux but I let it slip.
Will re-bench and see the effect.
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
6/0 |
Mathlib/Algebra/Module/LinearMap/Defs.lean |
1 |
1 |
['github-actions'] |
nobody |
171-13964 5 months ago |
171-14364 171 days ago |
171-14359 171 days |
| 30525 |
515801431 author:515801431 |
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 |
170-82393 5 months ago |
179-39536 179 days ago |
39-43570 39 days |
| 31113 |
515801431 author:515801431 |
feat(Mathlib/Combinatorics/Enumerative/Polya.lean): Add additional theorem in `Polya.lean` |
---
- [ ] depends on: #30525
---
[](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 |
170-82269 5 months ago |
180-18295 180 days ago |
16-78251 16 days |
| 24441 |
MrSumato author:MrSumato |
feat(Data/List): add Lyndon-Schutzenberger theorem on list commutativity |
Add Lyndon-Schutzenberger theorem on list commutativity. Included definition for List.repeatSelf that returns list repeated n times.
---
This is my first mathlib PR, so any comments are highly appreciated.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-data
new-contributor
|
129/1 |
Mathlib.lean,Mathlib/Data/List/Commutativity.lean,Mathlib/Data/List/Defs.lean,Mathlib/Data/List/Lemmas.lean |
4 |
38 |
['MrSumato', 'github-actions', 'grunweg', 'madvorak', 'mathlib4-merge-conflict-bot', 'plp127'] |
grunweg assignee:grunweg |
170-77871 5 months ago |
353-17815 353 days ago |
29-59355 29 days |
| 28057 |
plp127 author:plp127 |
feat(SuccOrder): simp lemma to refold `Order.succ` and `Order.pred` |
Adds `SuccOrder.succ_eq_succ` and `PredOrder.pred_eq_pred` to refold `SuccOrder.succ` and `PredOrder.pred` into `Order.succ` and `Order.pred`. These lemmas are marked `@[simp]`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-order
merge-conflict
|
8/2 |
Mathlib/Order/SuccPred/Basic.lean |
1 |
4 |
['YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'vihdzp'] |
bryangingechen assignee:bryangingechen |
170-57499 5 months ago |
247-73207 247 days ago |
44-13238 44 days |
| 31601 |
BoltonBailey author:BoltonBailey |
feat(Data/Nat/Choose): A new strictly positive binomial coefficient |
This is an experimental PR relating to replacing `Nat.choose` with a strictly positive function equivalently to `Nat.choose a (a + b)`.
Currently this introduces a new function `Nat.binom`, but we could also modify `Nat.multinomial`.
---
[](https://gitpod.io/from-referrer/)
|
t-data
merge-conflict
|
226/1 |
Mathlib/Data/Nat/Choose/Binomial.lean,Mathlib/Data/Nat/Choose/Multinomial.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
170-35759 5 months ago |
unknown |
0-0 0 seconds |
| 32473 |
mattrobball author:mattrobball |
chore(Kaehler.JacobiZariski): remove egregious local instance hack |
This code looks terrible and is no longer strictly necessary. Local timings give
`lake build Mathlib/RingTheory/Kaehler/JacobiZariski.lean 39.77s user 1.07s
system 263% cpu 15.482 total` after removal and `lake build
Mathlib/RingTheory/Kaehler/JacobiZariski.lean 36.93s user 1.01s system 251% cpu
15.113 total` before the removal. So the preformance impact of removal is small.
One could argue that keeping is a remainder that everything here needs to be
seriously changed but the miminmal performance difference suggests that these
local instances would be a red herring in that regard.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
awaiting-author
merge-conflict
|
0/4 |
Mathlib/RingTheory/Kaehler/JacobiZariski.lean |
1 |
14 |
['chrisflav', 'erdOne', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'mattrobball'] |
nobody |
170-15094 5 months ago |
170-15094 170 days ago |
1-301 1 day |
| 27525 |
Hagb author:Hagb |
(WIP) feat(Tactic/Linter/Indentation): add a linter for general indentation |
---
todo:
- [x] check whether some (direct or indirect) children of some kinds of parents are intended _strictly_ deeper than this parent.
For example:
```lean
example : Nat :=
Nat.add
1 -- should be strictly deeper than `Nat.add`?
2
```
- [ ] check whether some (direct or indirect) children of some kinds of parents are intended exactly N spaces deeper than this parent.
For example:
```lean
example : True :=
trivial -- should be exact 2 spaces deeper than 0 space of `example`
```
- [ ] some special cases, such as `calc`. https://github.com/leanprover-community/mathlib4/blob/5ebccb65951c70539ba1c36e53e079ac28b3fd23/Mathlib/Geometry/Manifold/Riemannian/Basic.lean#L452-L454
- [ ] add test cases
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-linter
large-import
|
1364/1 |
Mathlib/Init.lean,Mathlib/Tactic/Linter/Indentation.lean,Mathlib/Tactic/Linter/Indentation/Basic.lean,Mathlib/Tactic/Linter/Indentation/Defs.lean,Mathlib/Tactic/Linter/Indentation/Linters.lean,MathlibTest/IndentationLinter.lean,lakefile.lean |
7 |
15 |
['Hagb', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
169-57058 5 months ago |
unknown |
0-0 0 seconds |
| 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.
---
- [x] depends on: #28001
[](https://gitpod.io/from-referrer/) |
t-dynamics
new-contributor
awaiting-author
|
114/6 |
Mathlib/Dynamics/Transitive.lean |
1 |
6 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
sgouezel assignee:sgouezel |
168-16704 5 months ago |
168-16704 168 days ago |
18-38983 18 days |
| 30711 |
kim-em author:kim-em |
experiment: which `omega` can not be replaced with `grind`? |
|
|
1/0 |
lakefile.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
168-9777 5 months ago |
unknown |
0-0 0 seconds |
| 30718 |
kim-em author:kim-em |
experiment: merge rewrites |
|
t-meta |
1/0 |
lakefile.lean |
1 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
168-9775 5 months ago |
unknown |
0-0 0 seconds |
| 30720 |
kim-em author:kim-em |
experiment: merge with subsequent grind |
|
|
1/0 |
lakefile.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
168-9775 5 months ago |
unknown |
0-0 0 seconds |
| 25871 |
eric-wieser author:eric-wieser |
refactor: generalize rank lemmas to semirings |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
18/8 |
Mathlib/LinearAlgebra/Dimension/Finite.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
167-51153 5 months ago |
unknown |
0-0 0 seconds |
| 30119 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: WithTop/Bot.mapD |
To replace Option.elim; working towards #27918
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-order
merge-conflict
|
32/4 |
Mathlib/Order/Hom/WithTopBot.lean,Mathlib/Order/WithBot.lean |
2 |
5 |
['JovanGerb', 'YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
167-43282 5 months ago |
223-31374 223 days ago |
12-3204 12 days |
| 32328 |
ADedecker author:ADedecker |
feat: template for distributions and their API |
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-analysis
merge-conflict
|
888/5 |
Mathlib.lean,Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/Distribution/Distribution.lean,Mathlib/Analysis/Distribution/TestFunction.lean |
4 |
4 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
166-73416 5 months ago |
unknown |
0-0 0 seconds |
| 23040 |
grunweg author:grunweg |
feat: define immersions and smooth embeddings in infinite dimensions |
Sadly, we cannot prove most nice things about them yet, as we don't have
the inverse function theorem yet.
TODO: prove the few things we can already say
---
- [ ] depends on: #28796
- [x] depends on: #28853
- [x] depends on: #23175 (preliminaries)
- [x] depends on: #23186
- [ ] depends on: another PR, about `MSplitAt` (to be filed) - and perhaps some prerequisites about products of complemented modules etc.
- [x] depends on: #23219 (preliminaries about local diffeomorphisms)
- [x] depends on: #8738
- in fact, #9273 is not a strict pre-requisite for this. It suffices to know "extended charts have invertible differentials", which [isInvertible_mfderiv_extChartAt](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Geometry/Manifold/MFDeriv/Atlas.html#isInvertible_mfderiv_extChartAt) mostly proves. (There's nothing wrong with completing that PR, for all interior points.)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-differential-geometry
blocked-by-other-PR
|
967/0 |
Mathlib.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Splits.lean,Mathlib/Geometry/Manifold/IsImmersionEmbedding.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean,Mathlib/Geometry/Manifold/MSplits.lean |
5 |
4 |
['github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
166-16861 5 months ago |
unknown |
0-0 0 seconds |
| 30668 |
astrainfinita author:astrainfinita |
feat: `QuotType` |
This typeclass is primarily for use by type synonyms of `Quot` and `Quotient`. Using `QuotType` API for type synonyms of `Quot` and `Quotient` will avoid defeq abuse caused by directly using `Quot` and `Quotient` APIs.
This PR also adds some typeclasses to support different ways to find the quotient map that should be used. See the documentation comments of these typeclasses for examples of usage.
---
It's not a typical design to use these auxiliary typeclasses and term elaborators, but I haven't found a better way to support these notations.
Some of the naming may need to be discussed. For example:
- `⟦·⟧` is currently called `mkQ` in names. This distinguishes it from other `.mk`s and makes it possible to write the quotient map as `mkQ` `mkQ'` ~~`mkQ_ h`~~. But this will also require changing the old lemma names.
- It would be helpful if the names of new type classes explained their functionality better.
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/migrate.20to.20.60QuotLike.60.20API)
This PR continues the work from #16421.
Original PR: https://github.com/leanprover-community/mathlib4/pull/16421 |
RFC
t-data
awaiting-zulip
awaiting-author
|
629/0 |
Mathlib.lean,Mathlib/Data/QuotType.lean,MathlibTest/QuotType.lean |
3 |
22 |
['SnirBroshi', 'YaelDillies', 'astrainfinita', 'dagurtomas', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'vihdzp'] |
nobody |
165-77396 5 months ago |
218-46249 218 days ago |
0-81 1 minute |
| 32706 |
CoolRmal author:CoolRmal |
feat: a set is Gdelta iff it is completely metrizable |
This PR proves that
1. A Gdelta subset of a completely metrizable space is completely metrizable.
2. We prove that under certain conditions we can always extends a continuous function on a set A to a Gdelta set. We then use this lemma to prove that if `A` is a completely metrizable subset in a metric space `M`, then `A` is Gdelta.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
29/0 |
Mathlib/Topology/Metrizable/CompletelyMetrizable.lean |
1 |
1 |
['github-actions'] |
nobody |
165-68140 5 months ago |
unknown |
0-0 0 seconds |
| 30847 |
joelriou author:joelriou |
feat(CategoryTheory/Presentable): the representation theorem |
If `C` is an essentially `w`-small category, then the category of `κ`-continuous functors `Cᵒᵖ ⥤ Type w` is locally `κ`-presentable, and any locally `κ`-presentable category is equivalent to such a category. In particular, we show that a locally `κ`-presentable category has limits.
This is a draft...
---
- [ ] depends on: #32423
- [ ] depends on: #32424
- [ ] depends on: #32034
- [ ] depends on: #31137
- [ ] depends on: #30817
- [x] depends on: #30795
- [ ] depends on: #30755
- [ ] depends on: #30731
- [ ] depends on: #30554
- [ ] depends on: #30533
- [ ] depends on: #30513
- [x] depends on: #30509
- [x] depends on: #30507
- [x] depends on: #30492
- [x] depends on: #30464
- [x] depends on: #30459
- [x] depends on: #30269
- [ ] depends on: #30247
- [ ] depends on: #30241
- [x] depends on: #30168
- [x] depends on: #30160
- [x] depends on: #29881
- [x] depends on: #29854
- [x] depends on: #29565
- [x] depends on: #29543
- [x] depends on: #29519
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-other-PR
t-category-theory
merge-conflict
|
2137/27 |
Mathlib.lean,Mathlib/CategoryTheory/Adjunction/Basic.lean,Mathlib/CategoryTheory/EssentiallySmall.lean,Mathlib/CategoryTheory/Functor/KanExtension/Dense.lean,Mathlib/CategoryTheory/Generator/Basic.lean,Mathlib/CategoryTheory/Generator/Type.lean,Mathlib/CategoryTheory/Limits/HasLimits.lean,Mathlib/CategoryTheory/Limits/Shapes/Multiequalizer.lean,Mathlib/CategoryTheory/Limits/Types/Limits.lean,Mathlib/CategoryTheory/MorphismProperty/Basic.lean,Mathlib/CategoryTheory/MorphismProperty/IsSmall.lean,Mathlib/CategoryTheory/ObjectProperty/Basic.lean,Mathlib/CategoryTheory/ObjectProperty/ClosedUnderIsomorphisms.lean,Mathlib/CategoryTheory/ObjectProperty/ColimitsCardinalClosure.lean,Mathlib/CategoryTheory/ObjectProperty/ColimitsOfShape.lean,Mathlib/CategoryTheory/ObjectProperty/CompleteLattice.lean,Mathlib/CategoryTheory/ObjectProperty/Equivalence.lean,Mathlib/CategoryTheory/ObjectProperty/FunctorCategory/Limits.lean,Mathlib/CategoryTheory/ObjectProperty/FunctorCategory/Presheaf.lean,Mathlib/CategoryTheory/ObjectProperty/LimitsOfShape.lean,Mathlib/CategoryTheory/ObjectProperty/Local.lean,Mathlib/CategoryTheory/ObjectProperty/Small.lean,Mathlib/CategoryTheory/Presentable/Adjunction.lean,Mathlib/CategoryTheory/Presentable/Basic.lean,Mathlib/CategoryTheory/Presentable/Continuous.lean,Mathlib/CategoryTheory/Presentable/Dense.lean,Mathlib/CategoryTheory/Presentable/EssentiallyLarge.lean,Mathlib/CategoryTheory/Presentable/Limits.lean,Mathlib/CategoryTheory/Presentable/LocallyPresentable.lean,Mathlib/CategoryTheory/Presentable/OrthogonalReflection.lean,Mathlib/CategoryTheory/Presentable/Presheaf.lean,Mathlib/CategoryTheory/Presentable/Representation.lean,Mathlib/CategoryTheory/Presentable/StrongGenerator.lean,Mathlib/CategoryTheory/Presentable/Type.lean,Mathlib/CategoryTheory/Yoneda.lean |
35 |
7 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
165-29936 5 months ago |
213-32470 213 days ago |
0-1 1 second |
| 30817 |
joelriou author:joelriou |
feat(CategoryTheory): `κ`-continuous presheaves |
Given categories `C`, `D` and a regular cardinal `κ : Cardinal.{w}`, we define `isCardinalContinuous C D κ : ObjectProperty (C ⥤ D)` as the property of functors which preserves limits indexed by categories `J` such that `HasCardinalLT (Arrow J) κ`.
When `C : Type w` is a small category, we show that `κ`-continuous functors `Cᵒᵖ ⥤ Type w` are exactly the objects that are local with respect to a suitable `w`-small family of morphisms.
DRAFT
---
- [ ] depends on: #32725
- [x] depends on: #32423
- [x] depends on: #32424
- [x] depends on: #30168
- [x] depends on: #30160
- [x] depends on: #29881
- [x] depends on: #29854
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
blocked-by-other-PR
merge-conflict
|
292/0 |
Mathlib.lean,Mathlib/CategoryTheory/Limits/Types/Limits.lean,Mathlib/CategoryTheory/MorphismProperty/Basic.lean,Mathlib/CategoryTheory/MorphismProperty/IsSmall.lean,Mathlib/CategoryTheory/ObjectProperty/FunctorCategory/Presheaf.lean,Mathlib/CategoryTheory/ObjectProperty/Local.lean,Mathlib/CategoryTheory/Presentable/Continuous.lean |
7 |
10 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
165-22234 5 months ago |
214-34897 214 days ago |
0-1 1 second |
| 6633 |
adomani author:adomani |
feat(..Polynomial..): `MvPolynomial`s have no zero divisors |
This PR continues #6627, placing the `NoZeroDivisors` instance on `MvPolynomial`s and removing auxiliary intermediate results that are no longer needed.
Affected files:
```
Data/MvPolynomial/Basic.lean
Data/Polynomial/RingDivision.lean
RingTheory/Polynomial/Basic.lean
```
---
- [x] depends on: #6227 for the `NoZeroDivisors` instance on `AddMonoidAlgebra`s
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
143/57 |
Mathlib/Algebra/MonoidAlgebra/NoZeroDivisors.lean,Mathlib/Data/MvPolynomial/Basic.lean,Mathlib/Data/Polynomial/RingDivision.lean,Mathlib/RingTheory/Polynomial/Basic.lean |
4 |
6 |
['SnirBroshi', 'YaelDillies', 'adomani', 'eric-wieser'] |
nobody |
165-10631 5 months ago |
1011-81373 1011 days ago |
0-19485 5 hours |
| 28865 |
grunweg author:grunweg |
feat: a map is smooth iff its post-composition with an immersion is |
The continuous case is mostly solved --- except for one detail where I'm not even sure if this is true.
Maybe!, I need to require continuity, at least in general. (Perhaps not for interior points... we'll see!)
A future PR will use this to golf the results in `Icc/Instances.lean`.
---
- [x] depends on: #28793
- [ ] depends on: #28796
- [x] depends on: #28853 (for simplicity)
- [ ] depends on: #28905 history bifurcates here: merge that PR first, then rebase this one
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-differential-geometry
blocked-by-other-PR
|
1026/7 |
Mathlib.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Geometry/Manifold/ContMDiff/Atlas.lean,Mathlib/Geometry/Manifold/ContMDiff/Defs.lean,Mathlib/Geometry/Manifold/IsImmersionEmbedding.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Topology/PartialHomeomorph.lean,docs/references.bib,temp_.sh |
12 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'peabrainiac'] |
nobody |
164-64121 5 months ago |
274-3167 274 days ago |
0-11 11 seconds |
| 26950 |
alreadydone author:alreadydone |
Primitives of holomorphic functions and path integral |
---
- [ ] depends on: #31925
- [x] depends on: #24983
- [x] depends on: #22771
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
t-topology
t-analysis
blocked-by-other-PR
|
1288/361 |
Mathlib.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnected.lean,Mathlib/Analysis/Complex/Primitive.lean,Mathlib/CategoryTheory/Groupoid.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Geometry/Manifold/Sheaf/Smooth.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Topology/Covering.lean,Mathlib/Topology/EtaleSpace.lean,Mathlib/Topology/FiberBundle/Trivialization.lean,Mathlib/Topology/Homotopy/HomotopyGroup.lean,Mathlib/Topology/Homotopy/Lifting.lean,Mathlib/Topology/Homotopy/Product.lean,Mathlib/Topology/IsLocalHomeomorph.lean,Mathlib/Topology/Sheaves/LocalPredicate.lean,Mathlib/Topology/Sheaves/Sheafify.lean,Mathlib/Topology/Sheaves/Stalks.lean |
21 |
3 |
['alreadydone', 'grunweg', 'mathlib4-dependent-issues-bot'] |
nobody |
164-26412 5 months ago |
unknown |
0-0 0 seconds |
| 32827 |
erdOne author:erdOne |
perf: `@[simp high]` on `*Hom.map_add` lemmas |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
label:t-algebra$ |
10/0 |
Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Algebra/Ring/Hom/Defs.lean |
4 |
4 |
['WenrongZou', 'erdOne', 'github-actions', 'leanprover-radar'] |
nobody |
163-51709 5 months ago |
unknown |
0-0 0 seconds |
| 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
---
[](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 |
162-8810 5 months ago |
162-8810 162 days ago |
21-31799 21 days |
| 32211 |
ADedecker author:ADedecker |
feat: inclusion from `ContDiffMapSupportedIn` to `TestFunction` is a topological embedding |
---
- [ ] depends on: #32210
- [x] depends on: #31806
[](https://gitpod.io/from-referrer/)
|
t-analysis
blocked-by-other-PR
merge-conflict
|
136/2 |
Mathlib/Analysis/Distribution/TestFunction.lean,Mathlib/Topology/UniformSpace/UniformEmbedding.lean |
2 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
160-77137 5 months ago |
178-10577 178 days ago |
0-2371 39 minutes |
| 32602 |
adamtopaz author:adamtopaz |
feat: Refactor graph |
Work in progress
---
[](https://gitpod.io/from-referrer/)
|
WIP |
1312/0 |
RefactorGraph/DAG.lean,RefactorGraph/Main.lean,RefactorGraph/Test.lean,lakefile.lean |
4 |
1 |
['github-actions'] |
nobody |
160-71258 5 months ago |
167-80451 167 days ago |
0-1 1 second |
| 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
---
[](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', 'linesthatinterlace', 'mathlib4-merge-conflict-bot', 'pechersky'] |
joelriou assignee:joelriou |
160-68135 5 months ago |
182-17684 182 days ago |
63-23787 63 days |
| 32737 |
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 actually has *more* structure. This PR:
1. renames `MulAction` to `MonoidAction` 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.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
3623/1862 |
Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/AddTorsor/Defs.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/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/Faithful.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/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/Invariant.lean,Mathlib/Algebra/Module/Submodule/LinearMap.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/Module/ULift.lean,Mathlib/Algebra/Order/Group/Action.lean,Mathlib/Algebra/Order/Group/Action/End.lean |
349 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
160-29497 5 months ago |
161-34412 161 days ago |
2-52776 2 days |
| 32717 |
adomani author:adomani |
perf: small speed up of the flexible linter |
This just rearranges an array accumulation.
---
[](https://gitpod.io/from-referrer/)
|
t-linter
merge-conflict
|
7/8 |
Mathlib/Tactic/Linter/FlexibleLinter.lean |
1 |
4 |
['adomani', 'github-actions', 'leanprover-radar', 'mathlib4-merge-conflict-bot'] |
nobody |
159-48360 5 months ago |
unknown |
0-0 0 seconds |
| 25141 |
eric-wieser author:eric-wieser |
feat: basis for multilinear maps |
This attempts to tease an intermediate result out of #11155, which lets us show that multilinear maps are free even if their codomain is not finite.
I guess this continues from https://github.com/leanprover-community/mathlib3/pull/10504 and https://github.com/leanprover-community/mathlib3/pull/14199.
---
- [ ] depends on: #11155
- [ ] depends on: #25142
- [ ] depends on: #25169
- [ ] depends on: #25166
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
large-import
label:t-algebra$ |
507/45 |
Mathlib.lean,Mathlib/LinearAlgebra/DFinsupp.lean,Mathlib/LinearAlgebra/DFinsupp/PiTensorProduct.lean,Mathlib/LinearAlgebra/DirectSum/Finsupp.lean,Mathlib/LinearAlgebra/DirectSum/PiTensorProduct.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Multilinear/Basis.lean,Mathlib/LinearAlgebra/Multilinear/DFinsupp.lean,Mathlib/LinearAlgebra/Multilinear/DirectSum.lean,Mathlib/LinearAlgebra/Multilinear/FiniteDimensional.lean,Mathlib/LinearAlgebra/Multilinear/Pi.lean |
11 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
159-22860 5 months ago |
unknown |
0-0 0 seconds |
| 29274 |
Jlh18 author:Jlh18 |
feat(CategoryTheory): HasLimits instance on Grpd |
Use the free-forgetful adjunction to show that `Grpd` has all limits in `CategoryTheory.Category.Grpd.Limit`, as a reflective subcategory of `Cat`.
- [ ] depends on: #29250[Renamings in Grpd file]
- [ ] depends on: #29278[Quotient of a groupoid is a groupoid]
- [ ] depends on: #29279[Free forgetful adjunction]
- [ ] depends on: #29283
---
[](https://gitpod.io/from-referrer/)
|
file-removed
blocked-by-other-PR
t-category-theory
merge-conflict
|
243/65 |
Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/CategoryTheory/Core.lean,Mathlib/CategoryTheory/Groupoid/FreeGroupoidOfCategory.lean,Mathlib/CategoryTheory/Groupoid/Grpd.lean,Mathlib/CategoryTheory/Groupoid/Grpd/Core.lean,Mathlib/CategoryTheory/Groupoid/Grpd/Free.lean,Mathlib/CategoryTheory/Groupoid/Grpd/Limit.lean,Mathlib/CategoryTheory/Quotient.lean |
9 |
6 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
158-80272 5 months ago |
191-13775 191 days ago |
0-8803 2 hours |
| 29283 |
Jlh18 author:Jlh18 |
feat(CategoryTheory): define forgetful-core adjunction between Cat and Grpd |
* Define `CategoryTheory.Core.functor`: the functor `Cat ⥤ Grpd` that on objects takes
the core of a category
* Define `CategoryTheory.Core.adjunction`: the adjunction with the forgetful functor
`Grpd.forgetToCat` on the left, and the core functor `Core.functor` on the right.
* Hence provide an instance that `Grpd.forgetToCat` is coreflective.
---
- [x] depends on: #29284 [Extra lemmas in CategoryTheory.Core]
---
[](https://gitpod.io/from-referrer/)
|
file-removed
t-category-theory
awaiting-author
merge-conflict
|
209/64 |
Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/CategoryTheory/Core.lean,Mathlib/CategoryTheory/Groupoid/FreeGroupoidOfCategory.lean,Mathlib/CategoryTheory/Groupoid/Grpd.lean,Mathlib/CategoryTheory/Groupoid/Grpd/Core.lean,Mathlib/CategoryTheory/Groupoid/Grpd/Free.lean |
7 |
25 |
['Jlh18', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
158-80271 5 months ago |
165-78898 165 days ago |
13-74712 13 days |
| 33015 |
thorimur author:thorimur |
share: stress test plugins via pluginizing Mathlib.Init |
This PR is only created for conveniently sharing this branch via `gh` for the purpose of experimenting with plugins. There's no plan to make Mathlib.Init a plugin any time soon. :)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
999/1080 |
Mathlib.lean,Mathlib/Algebra/Expr.lean,Mathlib/Algebra/HierarchyDesign.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Note.lean,Mathlib/CategoryTheory/Category/Init.lean,Mathlib/CategoryTheory/ConcreteCategory/Bundled.lean,Mathlib/Combinatorics/Matroid/Init.lean,Mathlib/Combinatorics/SimpleGraph/Init.lean,Mathlib/Control/Combinators.lean,Mathlib/Control/ULift.lean,Mathlib/Data/Array/Defs.lean,Mathlib/Data/Array/Extract.lean,Mathlib/Data/Finset/Attr.lean,Mathlib/Data/Int/DivMod.lean,Mathlib/Data/Int/Notation.lean,Mathlib/Data/List/Monad.lean,Mathlib/Data/Nat/BinaryRec.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Data/Nat/Notation.lean,Mathlib/Data/Nat/NthRoot/Defs.lean,Mathlib/Data/Set/Defs.lean,Mathlib/Data/String/Defs.lean,Mathlib/Data/Sym/Sym2/Init.lean,Mathlib/Data/UInt.lean,Mathlib/Deprecated/Aliases.lean,Mathlib/Deprecated/Sort.lean,Mathlib/Lean/ContextInfo.lean,Mathlib/Lean/CoreM.lean,Mathlib/Lean/Elab/InfoTree.lean,Mathlib/Lean/Elab/Tactic/Meta.lean,Mathlib/Lean/Elab/Term.lean,Mathlib/Lean/EnvExtension.lean,Mathlib/Lean/Environment.lean,Mathlib/Lean/Exception.lean,Mathlib/Lean/Expr/Basic.lean,Mathlib/Lean/Expr/Rat.lean,Mathlib/Lean/GoalsLocation.lean,Mathlib/Lean/Json.lean,Mathlib/Lean/LinterCopies.lean,Mathlib/Lean/LinterCopiesTest.lean,Mathlib/Lean/LocalContext.lean,Mathlib/Lean/Meta.lean,Mathlib/Lean/Meta/Basic.lean,Mathlib/Lean/Meta/DiscrTree.lean,Mathlib/Lean/Meta/KAbstractPositions.lean,Mathlib/Lean/Meta/RefinedDiscrTree/Basic.lean,Mathlib/Lean/Meta/Simp.lean,Mathlib/Lean/Meta/Tactic/Rewrite.lean,Mathlib/Lean/Name.lean,Mathlib/Lean/PrettyPrinter/Delaborator.lean,Mathlib/Lean/Thunk.lean,Mathlib/Logic/Basic.lean,Mathlib/Logic/OpClass.lean,Mathlib/Tactic.lean,Mathlib/Tactic/AdaptationNote.lean,Mathlib/Tactic/ApplyCongr.lean,Mathlib/Tactic/ApplyWith.lean,Mathlib/Tactic/ArithMult/Init.lean,Mathlib/Tactic/Attr/Register.lean,Mathlib/Tactic/Basic.lean,Mathlib/Tactic/Bound/Init.lean,Mathlib/Tactic/CC/Lemmas.lean,Mathlib/Tactic/Cases.lean,Mathlib/Tactic/CasesM.lean,Mathlib/Tactic/CategoryTheory/CategoryStar.lean,Mathlib/Tactic/CategoryTheory/Coherence/Datatypes.lean,Mathlib/Tactic/Change.lean,Mathlib/Tactic/Check.lean,Mathlib/Tactic/Clean.lean,Mathlib/Tactic/ClearExcept.lean,Mathlib/Tactic/ClearExclamation.lean,Mathlib/Tactic/Clear_.lean,Mathlib/Tactic/Coe.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/Constructor.lean,Mathlib/Tactic/Continuity/Init.lean,Mathlib/Tactic/Conv.lean,Mathlib/Tactic/Core.lean,Mathlib/Tactic/DepRewrite.lean,Mathlib/Tactic/Eqns.lean,Mathlib/Tactic/ErwQuestion.lean,Mathlib/Tactic/Eval.lean,Mathlib/Tactic/ExistsI.lean,Mathlib/Tactic/Explode/Datatypes.lean,Mathlib/Tactic/ExtendDoc.lean,Mathlib/Tactic/FailIfNoProgress.lean,Mathlib/Tactic/FastInstance.lean,Mathlib/Tactic/FieldSimp/Attr.lean,Mathlib/Tactic/Find.lean,Mathlib/Tactic/FindSyntax.lean,Mathlib/Tactic/Finiteness/Attr.lean,Mathlib/Tactic/FunProp/Decl.lean,Mathlib/Tactic/FunProp/Mor.lean,Mathlib/Tactic/FunProp/ToBatteries.lean,Mathlib/Tactic/GCongr/ForwardAttr.lean,Mathlib/Tactic/Generalize.lean,Mathlib/Tactic/GuardGoalNums.lean,Mathlib/Tactic/GuardHypNums.lean,Mathlib/Tactic/Have.lean,Mathlib/Tactic/HaveI.lean |
211 |
0 |
[] |
nobody |
158-75125 5 months ago |
unknown |
0-0 0 seconds |
| 21447 |
erdOne author:erdOne |
feat(AlgebraicGeometry): the split algebraic torus |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebraic-geometry
|
419/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/Torus.lean |
2 |
6 |
['erdOne', 'github-actions', 'jcommelin', 'joelriou', 'mathlib4-merge-conflict-bot'] |
nobody |
158-34796 5 months ago |
471-73366 471 days ago |
2-69252 2 days |
| 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 |
157-32212 5 months ago |
157-32252 157 days ago |
3-22290 3 days |
| 33077 |
YaelDillies author:YaelDillies |
feat(Data/Rel): balls |
Define `SetRel.ball` and use it in place of `UniformSpace.ball`.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-data
|
38/3 |
Mathlib/Data/Rel.lean,Mathlib/Topology/UniformSpace/Defs.lean |
2 |
1 |
['github-actions'] |
nobody |
157-24197 5 months ago |
157-24254 157 days ago |
0-9 9 seconds |
| 31226 |
erdOne author:erdOne |
chore(RingTheory): add `@[ext]` to `Ideal.Quotient.algHom_ext` |
See [`Ideal.Quotient.ringHom_ext`](https://leanprover-community.github.io/mathlib4_docs/find/?pattern=Ideal.Quotient.ringHom_ext#doc) which also has @[ext 1100].
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-ring-theory
easy
merge-conflict
|
3/2 |
Mathlib/RingTheory/Extension/Presentation/Core.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean |
2 |
7 |
['erdOne', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot'] |
nobody |
157-13874 5 months ago |
199-85975 199 days ago |
3-12761 3 days |
| 21495 |
alreadydone author:alreadydone |
experiment: reducible HasQuotient.quotient' |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
|
2/0 |
Mathlib/Algebra/Quotient.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
156-85593 5 months ago |
473-22023 473 days ago |
0-200 3 minutes |
| 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 |
156-66981 5 months ago |
156-66981 156 days ago |
7-31364 7 days |
| 29203 |
Hagb author:Hagb |
feat(RingTheory/MvPolynomial/Groebner): add Gröbner basis |
This PR adds some definitions and theorems of Gröbner basis theory.
Definitions:
- `MonomialOrder.IsRemainder`
- `MonomialOrder.IsGroebnerBasis`
Main theorems:
* `MonomialOrder.remainder_eq_zero_iff_mem_ideal_of_isGroebnerBasis`: Given a remainder of a polynomial on division by a Gröbner basis of an ideal, the remainder is 0 if and only if the polynomial is in the ideal.
* `MonomialOrder.isGroebnerBasis_iff_subset_ideal_and_isRemainder_zero`: A finite set of polynomials is a Gröbner basis of an ideal if and only if it is a subset of this ideal and 0 is a remainder of each member of this ideal on division by this finite set.
* `MonomialOrder.existsUnique_isRemainder_of_isGroebnerBasis`: Remainder of any polynomial on division by a Gröbner basis exists and is unique.
* `MonomialOrder.ideal_eq_span_of_isGroebnerBasis`: Gröbner basis of any ideal spans the ideal.
* `MonomialOrder.isGroebnerBasis_iff_isRemainder_sPolynomial_zero` (Buchberger Criterion): a basis of an ideal is a Gröbner basis of it if and only if 0 is a remainder of echo sPolynomial between two polynomials on the basis.
The previous `Mathlib/RingTheory/MvPolynomial/Groebner.lean` is moved to `Mathlib/RingTheory/MvPolynomial/Groebner/Division.lean`, and used by `Mathlib/RingTheory/MvPolynomial/Groebner/Remainder.lean` for the proof of remainder's existence.
The PR is upstreamized from https://github.com/WuProver/groebner_proj.
Co-authored-by: Hao Shen [3118181069@qq.com](mailto:3118181069@qq.com)
---
CC @tsuki8
TODO / WIP:
- [x] clean up some proofs
- [x] split lemmas
- [x] squeeze Non-terminal `simp`s
- [x] add comments to explain the proof of Buchberger Criterion.
- [x] refactor something with `WithBot (σ →₀ ℕ)` variant of `MonomialOrder.degree` (`MonomialOrder.withBotDegree`, #34759).
- [x] refactor to use namespaces `MonomialOrder.{IsGroebnerBasis,IsRemainder}` instead of `*_of_{isGroebnerBasis,isRemainder}` in theorem names.
- [ ] reduced Groebner Basis (done, not yet submitted)
- [x] refactor to avoid too many `IsUnit` or `nonZeroDivisors`
- [x] split `IsRemainder` and `IsGroebnerBasis`
- [ ] embedding of monomial order (done, not yet submitted), and properties about it and Groebner basis.
- [ ] some theorems can be generalized to avoid requiring `IsUnit`
Dependencies:
- [x] depends on: #26039
- [ ] depends on: #34759
S-polynomial and other lemmas in other files are split from this PR, leaving only changes of `Mathlib/RingTheory/MvPolynomial/Groebner{.lean,/*.lean}` in this PR. The following are PRs split from this PR.
- [x] depends on: #32336
- [x] depends on: #32344
- [x] depends on: #32780
- [x] depends on: #32787
- [x] depends on: #32788
- [x] depends on: #32801
- [x] depends on: #32876
- [x] depends on: #32877
- [ ] depends on: #34873
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
blocked-by-other-PR
WIP
merge-conflict
awaiting-author
|
1649/220 |
Mathlib.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Combinatorics/Matroid/Closure.lean,Mathlib/Combinatorics/Nullstellensatz.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/Finsupp/MonomialOrder.lean,Mathlib/Logic/Basic.lean,Mathlib/RingTheory/MvPolynomial/Groebner.lean,Mathlib/RingTheory/MvPolynomial/Groebner/Division.lean,Mathlib/RingTheory/MvPolynomial/Groebner/Groebner.lean,Mathlib/RingTheory/MvPolynomial/Groebner/Remainder.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean,docs/references.bib |
5 |
21 |
['Hagb', 'SnirBroshi', 'erdOne', 'github-actions', 'jcommelin', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
alreadydone and erdOne assignee:alreadydone assignee:erdOne |
156-57231 5 months ago |
156-57281 156 days ago |
3-68616 3 days |
| 27817 |
zhuyizheng author:zhuyizheng |
feat: add IMO2025P1 |
Add a solution to IMO2025P1, the original problem statement from https://github.com/jsm28/IMOLean
---
[](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 |
156-12778 5 months ago |
215-63746 215 days ago |
59-36769 59 days |
| 33157 |
wwylele author:wwylele |
feat(Combinatorics): partitions and pentagonal numbers |
---
- [ ] depends on: #33143
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
merge-conflict
|
506/1 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Combinatorics/Enumerative/Partition/Basic.lean,Mathlib/Combinatorics/Enumerative/Partition/Pentagonal.lean,Mathlib/RingTheory/PowerSeries/Pentagonal.lean,Mathlib/Topology/Algebra/InfiniteSum/Pentagonal.lean,Mathlib/Topology/Algebra/InfiniteSum/Ring.lean,docs/1000.yaml |
8 |
3 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot'] |
nobody |
155-12268 5 months ago |
unknown |
0-0 0 seconds |
| 32497 |
themathqueen author:themathqueen |
chore: make `FiniteDimensional.complete 𝕜` an instance when `𝕜` is `RCLike` |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
awaiting-bench
|
3/26 |
Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/Positive.lean |
2 |
3 |
['github-actions', 'leanprover-radar', 'themathqueen'] |
nobody |
153-57178 5 months ago |
unknown |
0-0 0 seconds |
| 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 |
153-45443 5 months ago |
153-50728 153 days ago |
0-132 2 minutes |
| 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 |
153-45335 5 months ago |
153-50502 153 days ago |
0-133 2 minutes |
| 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 |
153-45251 5 months ago |
153-50314 153 days ago |
0-137 2 minutes |
| 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 |
153-42923 5 months ago |
153-42924 153 days ago |
0-1208 20 minutes |
| 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 |
153-42921 5 months ago |
153-42922 153 days ago |
0-1307 21 minutes |
| 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 |
153-42920 5 months ago |
153-42921 153 days ago |
0-1805 30 minutes |
| 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 |
153-42918 5 months ago |
153-42919 153 days ago |
0-2046 34 minutes |
| 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 |
153-42915 5 months ago |
153-42918 153 days ago |
0-2257 37 minutes |
| 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 |
153-42914 5 months ago |
153-42915 153 days ago |
0-2249 37 minutes |
| 33134 |
faenuccio author:faenuccio |
feat(Normed/Module/WeakDual): add Goldstine lemma |
We add Goldstine lemma stating that the weak*-closure of the image in the double dual of the unit ball coincides with the unit ball. As a corollary we derive that the image of `inclusionInDoubleDual` is weak*-dense.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
merge-conflict
|
148/3 |
Mathlib/Analysis/Normed/Module/WeakDual.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean,docs/references.bib |
3 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
152-83702 5 months ago |
155-82930 155 days ago |
0-16 16 seconds |
| 33269 |
urkud author:urkud |
feat(MeasureTheory/Covering): generalize some lemmas to outer measures |
---
[](https://gitpod.io/from-referrer/) |
t-measure-probability |
29/19 |
Mathlib/MeasureTheory/Covering/Differentiation.lean,Mathlib/MeasureTheory/Covering/VitaliFamily.lean |
2 |
1 |
['github-actions'] |
nobody |
151-44826 5 months ago |
151-44867 151 days ago |
0-30 30 seconds |
| 33138 |
gasparattila author:gasparattila |
chore(MeasureTheory/Measure/Stieltjes): remove `backward.privateInPublic` |
In #32482, some definitions in this file were rewritten using private declarations. However, this made `StieltjesFunction.length` unusable, since its API uses private declarations even in statements. This PR fixes this by problem by specializing `length_eq` to `NoMinOrder` and adding a new lemma for the `OrderBot` case. The other lemmas involving the private declarations are made private, except for `length_subadditive_Icc_Ioo`, which is reverted to the previous statement.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
tech debt
awaiting-author
|
35/30 |
Mathlib/MeasureTheory/Measure/Stieltjes.lean |
1 |
6 |
['github-actions', 'grunweg', 'sgouezel', 'vihdzp'] |
sgouezel assignee:sgouezel |
150-72155 4 months ago |
150-72155 150 days ago |
5-1594 5 days |
| 33307 |
grunweg author:grunweg |
Orientable manifolds updated |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-differential-geometry
|
377/4 |
Mathlib.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/Orientable.lean |
3 |
2 |
['github-actions'] |
nobody |
150-16667 4 months ago |
unknown |
0-0 0 seconds |
| 5934 |
eric-wieser author:eric-wieser |
feat: port Data.Rat.MetaDefs |
---
[](https://gitpod.io/from-referrer/)
This needs some eyes from people familiar with Qq |
merge-conflict
help-wanted
mathlib-port
t-meta
|
183/0 |
Mathlib.lean,Mathlib/Data/Rat/MetaDefs.lean,test/rat.lean |
3 |
5 |
['eric-wieser', 'gebner', 'vihdzp'] |
nobody |
149-83012 4 months ago |
unknown |
0-0 0 seconds |
| 4960 |
eric-wieser author:eric-wieser |
chore: use `open scoped` |
Earlier versions of mathport did not know about this.
This was done by searching for all `open` commands referencing:
* `Classical`
* `BigOperators`
* `Topology`
* `Pointwise`
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-CI
|
1026/981 |
Mathlib/Algebra/AddTorsor.lean,Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/Algebra/Subalgebra/Tower.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/BigOperators/Basic.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Finsupp.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/BigOperators/NatAntidiagonal.lean,Mathlib/Algebra/BigOperators/Option.lean,Mathlib/Algebra/BigOperators/Order.lean,Mathlib/Algebra/BigOperators/Pi.lean,Mathlib/Algebra/BigOperators/Ring.lean,Mathlib/Algebra/BigOperators/RingEquiv.lean,Mathlib/Algebra/Bounds.lean,Mathlib/Algebra/Category/GroupCat/Biproducts.lean,Mathlib/Algebra/Category/GroupCat/FilteredColimits.lean,Mathlib/Algebra/Category/GroupCat/Injective.lean,Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Algebra/Category/ModuleCat/Biproducts.lean,Mathlib/Algebra/Category/Mon/FilteredColimits.lean,Mathlib/Algebra/Category/Ring/Adjunctions.lean,Mathlib/Algebra/Category/Ring/FilteredColimits.lean,Mathlib/Algebra/CharP/Basic.lean,Mathlib/Algebra/CharP/Two.lean,Mathlib/Algebra/DirectLimit.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Decomposition.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/Field/Defs.lean,Mathlib/Algebra/GCDMonoid/Div.lean,Mathlib/Algebra/GeomSum.lean,Mathlib/Algebra/GroupWithZero/Basic.lean,Mathlib/Algebra/GroupWithZero/Commute.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Homology/Additive.lean,Mathlib/Algebra/Homology/ComplexShape.lean,Mathlib/Algebra/Homology/Homology.lean,Mathlib/Algebra/Homology/Homotopy.lean,Mathlib/Algebra/Homology/HomotopyCategory.lean,Mathlib/Algebra/Homology/ImageToKernel.lean,Mathlib/Algebra/IndicatorFunction.lean,Mathlib/Algebra/LinearRecurrence.lean,Mathlib/Algebra/Module/BigOperators.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/Algebra/Module/LinearMap.lean,Mathlib/Algebra/Module/PointwisePi.lean,Mathlib/Algebra/Module/Submodule/Basic.lean,Mathlib/Algebra/Module/Submodule/Bilinear.lean,Mathlib/Algebra/Module/Submodule/Lattice.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/Order/Chebyshev.lean,Mathlib/Algebra/Order/Module.lean,Mathlib/Algebra/Order/Pointwise.lean,Mathlib/Algebra/Order/Rearrangement.lean,Mathlib/Algebra/Order/SMul.lean,Mathlib/Algebra/Order/UpperLower.lean,Mathlib/Algebra/Periodic.lean,Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/GroupRingAction.lean,Mathlib/Algebra/Star/BigOperators.lean,Mathlib/Algebra/Star/Pointwise.lean,Mathlib/Algebra/Star/Subalgebra.lean,Mathlib/Algebra/Support.lean,Mathlib/Algebra/TrivSqZeroExt.lean,Mathlib/Algebra/Tropical/BigOperators.lean,Mathlib/AlgebraicGeometry/PrimeSpectrum/Basic.lean,Mathlib/AlgebraicGeometry/PrimeSpectrum/Maximal.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean,Mathlib/AlgebraicTopology/AlternatingFaceMapComplex.lean,Mathlib/AlgebraicTopology/ExtraDegeneracy.lean,Mathlib/AlgebraicTopology/TopologicalSimplex.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean,Mathlib/Analysis/Asymptotics/Asymptotics.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean,Mathlib/Analysis/Asymptotics/Theta.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/BoxIntegral/Box/SubboxInduction.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Filter.lean,Mathlib/Analysis/BoxIntegral/Partition/Split.lean,Mathlib/Analysis/BoxIntegral/Partition/SubboxInduction.lean,Mathlib/Analysis/BoxIntegral/Partition/Tagged.lean,Mathlib/Analysis/Calculus/ContDiffDef.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean |
788 |
1 |
['vihdzp'] |
nobody |
149-82909 4 months ago |
1079-67639 1079 days ago |
0-753 12 minutes |
| 4127 |
kmill author:kmill |
refactor: create HasAdj class, define Digraph, and generalize some SimpleGraph API |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-combinatorics
|
1403/551 |
Mathlib.lean,Mathlib/Combinatorics/Digraph/Basic.lean,Mathlib/Combinatorics/Graph/Classes.lean,Mathlib/Combinatorics/Graph/Dart.lean,Mathlib/Combinatorics/Graph/Hom.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity.lean,Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/Density.lean,Mathlib/Combinatorics/SimpleGraph/Ends/Defs.lean,Mathlib/Combinatorics/SimpleGraph/Finsubgraph.lean,Mathlib/Combinatorics/SimpleGraph/Hasse.lean,Mathlib/Combinatorics/SimpleGraph/Prod.lean,Mathlib/Combinatorics/SimpleGraph/StronglyRegular.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
18 |
2 |
['SnirBroshi', 'vihdzp'] |
nobody |
149-78884 4 months ago |
1093-12325 1093 days ago |
8-43930 8 days |
| 32264 |
jjtowery author:jjtowery |
feat(Bicategory): add lax slice bicategory |
---
In this PR, I define the lax slice bicategory for a lax functor over an object. I also give the change of slice strict pseudofunctor. These are from Section 7.1 of Johnson & Yau and are essential for their Whitehead theorem for bicategories (lax functor biequivalence iff essentially surjective, essentially full, and fully faithful), which I'd like to prove at some point.
[](https://gitpod.io/from-referrer/)
|
t-category-theory
new-contributor
awaiting-author
|
527/0 |
Mathlib.lean,Mathlib/CategoryTheory/Bicategory/LaxSlice.lean |
2 |
12 |
['dagurtomas', 'github-actions', 'jjtowery', 'robin-carlier'] |
dagurtomas assignee:dagurtomas |
149-71400 4 months ago |
172-74857 172 days ago |
3-47959 3 days |
| 27752 |
plp127 author:plp127 |
feat(Order): `NoBotOrder α` implies `NoMinOrder α` under `IsDirected α (· ≥ ·)` |
This PR continues the work from #24266.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24266 |
awaiting-author
t-order
merge-conflict
|
14/0 |
Mathlib/Order/Directed.lean |
1 |
5 |
['github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot', 'plp127'] |
nobody |
149-62617 4 months ago |
298-9842 298 days ago |
0-2869 47 minutes |
| 32921 |
faenuccio author:faenuccio |
refactor Submodule.map |
Following [#mathlib4 > on the definition of Submodule.map](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/on.20the.20definition.20of.20Submodule.2Emap/with/563900347) this PR refactors the definition of `Submodule.map` removing the requirement that the underlying ring homomorphism be surjective.
---
[](https://gitpod.io/from-referrer/)
|
WIP
awaiting-author
t-algebra
merge-conflict
label:t-algebra$ |
32/20 |
Mathlib/Algebra/Module/Submodule/Map.lean |
1 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
149-20580 4 months ago |
160-82270 160 days ago |
0-1 1 second |
| 32889 |
artie2000 author:artie2000 |
feat(Algebra): forgetful lemmas for `map` and `comap` on substructures |
* Standardise the form of forgetful lemmas for `map` and `comap` (ie, `(co)map_toSubfoo`)
* Add missing lemmas of this form
* Mark all such lemmas as `simp`
---
- [x] depends on: #21031
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
merge-conflict
blocked-by-other-PR
label:t-algebra$ |
72/17 |
Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Group/Subgroup/Map.lean,Mathlib/Algebra/Module/Submodule/Map.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Star/Subalgebra.lean |
6 |
30 |
['YaelDillies', 'artie2000', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
nobody |
149-14108 4 months ago |
158-75055 158 days ago |
2-56660 2 days |
| 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.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
131/0 |
Mathlib.lean,Mathlib/FieldTheory/PurelyInseparable/AdjoinPthRoots.lean |
2 |
13 |
['artie2000', 'chrisflav', 'dleijnse', 'erdOne', 'github-actions', 'leanprover-radar'] |
erdOne assignee:erdOne |
149-1652 4 months ago |
149-1652 149 days ago |
10-12739 10 days |
| 33163 |
Aaron1011 author:Aaron1011 |
feat: prove subgroup of (M -> Z) is finitely generated |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
awaiting-author
|
5/0 |
Mathlib/RingTheory/DedekindDomain/Dvr.lean |
1 |
2 |
['erdOne', 'github-actions'] |
alreadydone assignee:alreadydone |
148-81002 4 months ago |
148-81002 148 days ago |
5-81520 5 days |
| 28972 |
themathqueen author:themathqueen |
feat(LinearAlgebra/Matrix): star-algebra automorphisms on matrices are unitarily inner |
Characterization of star-algebra automorphisms on matrices: for any star-algebra automorphism `f` on matrices, there exists a unitary matrix `U` such that `f x = U * x * star U`.
More generally, this shows that given star-homomorphisms `f` and `g` from `B` to a star-algebra `A` and that the centralizer of `range g` is trivial, then `f x = U * g x * U⁻¹` for some invertible element `U` if and only if `f x = U * g x * star U` for some unitary `U`.
Then a corollary to this and [AlgEquiv.eq_linearEquivConjAlgEquiv](https://leanprover-community.github.io/mathlib4_docs/Mathlib/LinearAlgebra/GeneralLinearGroup/AlgEquiv.html#AlgEquiv.eq_linearEquivConjAlgEquiv) is that star-algebra automorphisms on matrices are unitarily inner.
Another quick corollary to this and [ContinuousAlgEquiv.eq_continuousLinearEquivConjContinuousAlgEquiv](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Normed/Operator/ContinuousAlgEquiv.html#ContinuousAlgEquiv.eq_continuousLinearEquivConjContinuousAlgEquiv) is that star-algebra automorphisms on endomorphisms in `ℂ`-Hilbert spaces are unitarily inner. (See #33066 for the more general version of this.)
---
- [x] depends on: #28100
- [x] depends on: #28182
- [x] depends on: #28881
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-analysis
awaiting-author
label:t-algebra$ |
138/0 |
Mathlib.lean,Mathlib/Analysis/Matrix/StarAlgEquiv.lean |
2 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
nobody |
147-79185 4 months ago |
147-79185 147 days ago |
1-44470 1 day |
| 14444 |
digama0 author:digama0 |
fix(GeneralizeProofs): unreachable! bug |
As [reported on Zulip](https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Unreachable.20code.20reached.20in.20Lean.204.2E8.2E0/near/449286780).
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
1/1 |
Mathlib/Tactic/GeneralizeProofs.lean |
1 |
6 |
['github-actions', 'jcommelin', 'kmill', 'mathlib4-merge-conflict-bot', 'plby'] |
nobody |
147-57300 4 months ago |
678-72704 678 days ago |
10-36842 10 days |
| 25138 |
chrisflav author:chrisflav |
chore(RingTheory/Ideal): make `RingHom.ker` take a `RingHom` instead of `RingHomClass` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
merge-conflict
label:t-algebra$ |
317/309 |
Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Hom/Rat.lean,Mathlib/Algebra/Algebra/Opposite.lean,Mathlib/Algebra/Algebra/Subalgebra/Operations.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Category/CommAlgCat/FiniteType.lean,Mathlib/Algebra/Lie/CartanExists.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Eval.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Module/AEval.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/VariableChange.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean,Mathlib/AlgebraicGeometry/Pullbacks.lean,Mathlib/Combinatorics/Nullstellensatz.lean,Mathlib/FieldTheory/Minpoly/Field.lean,Mathlib/FieldTheory/PurelyInseparable/Tower.lean,Mathlib/LinearAlgebra/Semisimple.lean,Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Embeddings.lean,Mathlib/RingTheory/AdicCompletion/Algebra.lean,Mathlib/RingTheory/Adjoin/Tower.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Algebraic/Basic.lean,Mathlib/RingTheory/Congruence/Hom.lean,Mathlib/RingTheory/Etale/Kaehler.lean,Mathlib/RingTheory/Extension/Cotangent/Basis.lean,Mathlib/RingTheory/Extension/Cotangent/LocalizationAway.lean,Mathlib/RingTheory/Extension/Generators.lean,Mathlib/RingTheory/Extension/Presentation/Basic.lean,Mathlib/RingTheory/Extension/Presentation/Core.lean,Mathlib/RingTheory/FinitePresentation.lean,Mathlib/RingTheory/FiniteStability.lean,Mathlib/RingTheory/Finiteness/NilpotentKer.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/IsAdjoinRoot.lean,Mathlib/RingTheory/Jacobson/Ring.lean,Mathlib/RingTheory/Kaehler/Basic.lean,Mathlib/RingTheory/Kaehler/JacobiZariski.lean,Mathlib/RingTheory/LocalRing/ResidueField/Fiber.lean,Mathlib/RingTheory/LocalRing/ResidueField/Ideal.lean,Mathlib/RingTheory/Localization/Algebra.lean,Mathlib/RingTheory/MvPowerSeries/Evaluation.lean,Mathlib/RingTheory/Nilpotent/Lemmas.lean,Mathlib/RingTheory/NoetherNormalization.lean,Mathlib/RingTheory/Nullstellensatz.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/Polynomial/UniqueFactorization.lean,Mathlib/RingTheory/Polynomial/UniversalFactorizationRing.lean,Mathlib/RingTheory/Smooth/AdicCompletion.lean,Mathlib/RingTheory/Smooth/Basic.lean,Mathlib/RingTheory/Smooth/Flat.lean,Mathlib/RingTheory/Smooth/Kaehler.lean,Mathlib/RingTheory/Smooth/NoetherianDescent.lean,Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean,Mathlib/RingTheory/Unramified/Finite.lean,Mathlib/Topology/Algebra/Module/CharacterSpace.lean,Mathlib/Topology/ContinuousMap/Ideals.lean,Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean |
68 |
8 |
['chrisflav', 'erdOne', 'eric-wieser', 'github-actions', 'jcommelin', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
nobody |
147-44708 4 months ago |
366-62236 366 days ago |
0-3642 1 hour |
| 33386 |
joelriou author:joelriou |
feat(AlgebraicTopology/SimplicialSet): decidable instances |
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
WIP
RFC
|
76/0 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialSet/Decidable.lean |
2 |
1 |
['github-actions'] |
nobody |
147-903 4 months ago |
unknown |
0-0 0 seconds |
| 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.
---
- [ ] depends on: #33348
- [ ] depends on: #33347
- [ ] depends on: #33387
- [ ] depends on: #33282
- [ ] depends on: #33392
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
file-removed
label:t-algebra$ |
1572/222 |
Mathlib.lean,Mathlib/LinearAlgebra/Center.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/Transvection/Basic.lean,Mathlib/LinearAlgebra/Transvection/Generation.lean |
8 |
12 |
['AntoineChambert-Loir', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
146-27401 4 months ago |
146-27402 146 days ago |
0-705 11 minutes |
| 24665 |
Komyyy author:Komyyy |
feat(Mathlib/Topology/Metrizable/Uniformity): every uniform space is generated by a family of pseudometrics |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-topology
merge-conflict
|
54/0 |
Mathlib/Topology/Metrizable/Uniformity.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
145-73832 4 months ago |
382-80774 382 days ago |
0-1 1 second |
| 33381 |
urkud author:urkud |
feat: add a version of the Schwarz lemma |
Add a version of the Schwarz lemma that is midway between the original lemma
and Pick's version.
Use it to show that a function that is separately holomorphic on a polydisc
and is bounded on this polydisc must be continuous on it.
---
[](https://gitpod.io/from-referrer/)
- [ ] depends on: #33368
- [x] depends on: #33362 |
t-analysis
blocked-by-other-PR
merge-conflict
|
475/91 |
Mathlib.lean,Mathlib/Analysis/Complex/Schwarz.lean,Mathlib/Analysis/Complex/UnitDisc/Basic.lean,Mathlib/Analysis/Complex/UnitDisc/Schwarz.lean,Mathlib/Analysis/Complex/UnitDisc/Shift.lean |
5 |
22 |
['girving', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'urkud'] |
nobody |
145-44541 4 months ago |
147-13021 147 days ago |
0-947 15 minutes |
| 18805 |
astrainfinita author:astrainfinita |
refactor: deprecate `SemilinearMapClass` |
---
I'm not sure if we want to do this, but let's see if we can get a speed up from it first.
- [ ] depends on: #18755
- [ ] depends on: #18756
- [ ] depends on: #18806
[](https://gitpod.io/from-referrer/)
|
WIP
awaiting-bench
t-algebra
blocked-by-other-PR
merge-conflict
label:t-algebra$ |
546/318 |
Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Algebra/Rat.lean,Mathlib/Algebra/BigOperators/Balance.lean,Mathlib/Algebra/BigOperators/Expect.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Group/Equiv/Basic.lean,Mathlib/Algebra/Group/Units/Equiv.lean,Mathlib/Algebra/GroupWithZero/Hom.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Module/LinearMap/Rat.lean,Mathlib/Algebra/Module/LocalizedModule/Int.lean,Mathlib/Algebra/Module/Submodule/EqLocus.lean,Mathlib/Algebra/Module/Submodule/Equiv.lean,Mathlib/Algebra/Module/Submodule/Ker.lean,Mathlib/Algebra/Module/Submodule/Map.lean,Mathlib/Algebra/Module/Submodule/Range.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Prime/Lemmas.lean,Mathlib/Algebra/Ring/Divisibility/Basic.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/LocallyConvex/WeakOperatorTopology.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Group/Uniform.lean,Mathlib/Analysis/Normed/Operator/LinearIsometry.lean,Mathlib/CategoryTheory/Limits/ConcreteCategory/WithAlgebraicStructures.lean,Mathlib/Combinatorics/Additive/FreimanHom.lean,Mathlib/Data/Complex/BigOperators.lean,Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,Mathlib/FieldTheory/SplittingField/Construction.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/GroupTheory/GroupAction/Hom.lean,Mathlib/LinearAlgebra/Ray.lean,Mathlib/LinearAlgebra/Span.lean,Mathlib/RingTheory/Bialgebra/Equiv.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/HahnSeries/Addition.lean,Mathlib/RingTheory/Ideal/Norm.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/RingTheory/Polynomial/Opposites.lean,Mathlib/RingTheory/RootsOfUnity/Basic.lean,Mathlib/Topology/Algebra/InfiniteSum/Basic.lean,Mathlib/Topology/Algebra/Module/Basic.lean,Mathlib/Topology/Algebra/Module/CharacterSpace.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean,Mathlib/Topology/Algebra/MulAction.lean,Mathlib/Topology/Homeomorph.lean,Mathlib/Topology/MetricSpace/Isometry.lean,scripts/no_lints_prime_decls.txt |
55 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
144-37121 4 months ago |
unknown |
0-0 0 seconds |
| 33448 |
astrainfinita author:astrainfinita |
refactor: deprecate `ContinuousLinearMapClass` |
This PR continues the work from #18748.
Original PR: https://github.com/leanprover-community/mathlib4/pull/18748 |
t-topology
t-algebra
awaiting-author
merge-conflict
label:t-algebra$ |
55/41 |
Mathlib/Analysis/CStarAlgebra/PositiveLinearMap.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/LocallyConvex/WeakOperatorTopology.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Operator/LinearIsometry.lean,Mathlib/Topology/Algebra/Module/CharacterSpace.lean,Mathlib/Topology/Algebra/Module/Equiv.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean |
11 |
11 |
['Ruben-VandeVelde', 'astrainfinita', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
144-24745 4 months ago |
144-24745 144 days ago |
0-17239 4 hours |
| 33462 |
eric-wieser author:eric-wieser |
feat: teach `fun_prop` about `ContinousMultilinearMap.compContinuousLinearMap` |
For now I've omitted the curried version
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
46/0 |
Mathlib/Analysis/Normed/Module/Multilinear/Basic.lean |
1 |
3 |
['github-actions', 'sgouezel'] |
nobody |
143-75066 4 months ago |
144-1904 144 days ago |
144-1899 144 days |
| 32725 |
joelriou author:joelriou |
feat(CategoryTheory): presheaves of types which preserve a limit |
Let `F : J ⥤ Cᵒᵖ` be a functor. We show that a presheaf `P : Cᵒᵖ ⥤ Type w` preserves the limit of `F` iff `P` is a local object with respect to a suitable family of morphisms in `Cᵒᵖ ⥤ Type w` (this family contains `1` or `0` morphism depending on whether the limit of `F` exists or not).
---
- [x] depends on: #38257
[](https://gitpod.io/from-referrer/)
|
t-category-theory
awaiting-author
WIP
|
187/0 |
Mathlib.lean,Mathlib/CategoryTheory/ObjectProperty/FunctorCategory/Presheaf.lean |
5 |
8 |
['github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'robin-carlier'] |
nobody |
143-31702 4 months ago |
143-31702 143 days ago |
3-82684 3 days |
| 32840 |
joelriou author:joelriou |
chore(CategoryTheory): remove the old Ext API |
As it is now possible to compute `Ext`-groups (defined using the derived category) using an injective resolution #32105 or a projective resolution #32816, the old `Ext` API (based on left derived functors) is removed.
WIP (more API for the new `Ext` is necessary...)
---
- [ ] depends on: #32816
- [ ] depends on: #32105
- [ ] depends on: #32814
[](https://gitpod.io/from-referrer/)
|
file-removed
t-category-theory
large-import
merge-conflict
WIP
|
546/116 |
Mathlib.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Linear.lean,Mathlib/Algebra/Homology/DerivedCategory/KInjective.lean,Mathlib/Algebra/Homology/DerivedCategory/KProjective.lean,Mathlib/Algebra/Homology/Embedding/IsSupported.lean,Mathlib/Algebra/Homology/LocalCohomology.lean,Mathlib/CategoryTheory/Abelian/Ext.lean,Mathlib/CategoryTheory/Abelian/Injective/Ext.lean,Mathlib/CategoryTheory/Abelian/Injective/Extend.lean,Mathlib/CategoryTheory/Abelian/Projective/Ext.lean,Mathlib/CategoryTheory/Abelian/Projective/Extend.lean,Mathlib/RepresentationTheory/Homological/Resolution.lean |
12 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
143-25763 4 months ago |
163-23253 163 days ago |
0-408 6 minutes |
| 33133 |
0xTerencePrime author:0xTerencePrime |
feat(Algebra/Group/Center): add Decidable (IsMulCentral a) instance |
This PR adds a `Decidable` instance for `IsMulCentral a`.
### Summary
The structure `IsMulCentral` was missing a `Decidable` instance. This PR provides the instance by leveraging `isMulCentral_iff`, enabling decidability for both multiplicative and additive (via `to_additive`) structures.
### Verification
- `lake build Mathlib.Algebra.Group.Center` passed.
- `lake exe runLinter Mathlib.Algebra.Group.Center` passed. |
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
7/0 |
Mathlib/Algebra/Group/Center.lean |
1 |
3 |
['github-actions', 'robin-carlier'] |
ocfnash assignee:ocfnash |
143-22793 4 months ago |
143-22793 143 days ago |
12-60805 12 days |
| 33191 |
sinhp author:sinhp |
feat(CategoryTheory): Locally cartesian closed structure on presheaf categories |
The category of presheaves on a small category `C` is locally cartesian closed.
---
- [ ] depends on: #30375
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
blocked-by-other-PR
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 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
142-76137 4 months ago |
154-24568 154 days ago |
0-31 31 seconds |
| 28153 |
kckennylau author:kckennylau |
feat(Simproc): Simproc for explicit diagonal matrices |
```lean
example : (diagonal ![37, -1] : Matrix (Fin 2) (Fin 2) ℤ) = !![37, 0; 0, -1] := by
simp
```
---
Shares code with #28148.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
114/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simproc/Matrix.lean,scripts/noshake.json |
4 |
6 |
['Vierkantor', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] |
nobody |
142-59771 4 months ago |
230-8790 230 days ago |
58-77127 58 days |
| 25500 |
eric-wieser author:eric-wieser |
feat: delaborators for metadata |
Being able to see these is very important when debugging tactic failures. Probably these could be upstreamed, but I don't think that's a reason not to merge them here first.
---
[](https://gitpod.io/from-referrer/)
|
large-import
merge-conflict
awaiting-author
delegated
t-meta
|
75/3 |
Mathlib/Util/Delaborators.lean,Mathlib/Util/PPOptions.lean,MathlibTest/delaborators.lean |
3 |
19 |
['JovanGerb', 'Rob23oba', 'eric-wieser', 'github-actions', 'kmill', 'mathlib-bors', 'mathlib4-merge-conflict-bot', 'plp127'] |
nobody |
142-59723 4 months ago |
270-3836 270 days ago |
83-68773 83 days |
| 28191 |
kckennylau author:kckennylau |
feat(Logic): tag Injective, Surjective, and Bijective with fun_prop |
---
Zulip:
* [#Is there code for X? > surjective is not funprop!](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/surjective.20is.20not.20funprop!)
* [#mathlib4 > `fun_prop` for Injective/Surjective/Bijective?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60fun_prop.60.20for.20Injective.2FSurjective.2FBijective.3F)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
16/0 |
Mathlib/Tactic/FunProp.lean |
1 |
6 |
['Vierkantor', 'github-actions', 'grunweg', 'kckennylau', 'mathlib4-merge-conflict-bot'] |
nobody |
142-59709 4 months ago |
230-12506 230 days ago |
57-63332 57 days |
| 30432 |
kckennylau author:kckennylau |
feat(AlgebraicGeometry): define the non-vanishing locus of a set in Proj |
Given a subset `s : Set A`, the non-vanishing locus of `s` is the set of points whose corresponding prime ideal does not fully contain `s`. In other words, where not all elements of `s` vanish.
I could not find a name for this in the literature.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebraic-geometry
|
66/0 |
Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Basic.lean |
1 |
4 |
['github-actions', 'jcommelin'] |
nobody |
142-59681 4 months ago |
182-21597 182 days ago |
44-12068 44 days |
| 27262 |
Timeroot author:Timeroot |
feat(Tactic/Bound): bound? for proof scripts |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
|
22/7 |
Mathlib/Tactic/Bound.lean |
1 |
13 |
['JovanGerb', 'Timeroot', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot'] |
nobody |
142-51633 4 months ago |
234-63958 234 days ago |
13-18965 13 days |
| 32389 |
LLaurance author:LLaurance |
feat(Analysis): Trigonometric identities |
`sin` and `cos` of real and complex integer multiples of π/12
---
Resolves https://github.com/leanprover-community/mathlib4/pull/28630#discussion_r2307957255
[](https://gitpod.io/from-referrer/)
|
t-analysis
awaiting-author
|
120/0 |
Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean |
1 |
11 |
['LLaurance', 'artie2000', 'github-actions', 'j-loreaux'] |
nobody |
142-29516 4 months ago |
157-76247 157 days ago |
15-36939 15 days |
| 33502 |
MrQubo author:MrQubo |
fix(Tactic/ProxyType): Pass params explicitly in proxy_equiv% implementation |
Fix [#mathlib4 > `deriving Fintype` with Prop](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60deriving.20Fintype.60.20with.20Prop/with/566118621)
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-meta
WIP
|
12/2 |
Mathlib/Tactic/ProxyType.lean,MathlibTest/DeriveFintype.lean |
2 |
7 |
['MrQubo', 'github-actions', 'kmill'] |
kmill assignee:kmill |
141-76117 4 months ago |
141-76118 141 days ago |
0-60133 16 hours |
| 21344 |
kbuzzard author:kbuzzard |
chore: attempt to avoid diamond in OreLocalization |
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
t-algebra
label:t-algebra$ |
16/5 |
Mathlib/RingTheory/OreLocalization/Basic.lean |
1 |
6 |
['erdOne', 'github-actions', 'kbuzzard'] |
nobody |
140-71700 4 months ago |
475-69395 475 days ago |
1-35979 1 day |
| 33112 |
alreadydone author:alreadydone |
feat(GroupAction): `(M →[M] M) ≃* Mᵐᵒᵖ` |
This comes up in #33108 in the form that permutations of a group commuting with the left multiplications are the right multiplications.
The Semiring versions are already in mathlib.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-group-theory
awaiting-author
label:t-algebra$ |
41/3 |
Mathlib/GroupTheory/GroupAction/Hom.lean |
1 |
2 |
['github-actions', 'robin-carlier'] |
mattrobball assignee:mattrobball |
140-68544 4 months ago |
143-17997 143 days ago |
13-49137 13 days |
| 27972 |
smmercuri author:smmercuri |
refactor: make `Valuation.Completion` a `def` and refactor more of `AdicValuation.lean` |
This PR continues the work from #24590.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24590 |
WIP
t-number-theory
t-algebra
merge-conflict
label:t-algebra$ |
188/87 |
Mathlib/NumberTheory/NumberField/FinitePlaces.lean,Mathlib/NumberTheory/Padics/WithVal.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean |
6 |
8 |
['github-actions', 'leanprover-bot', 'mathlib4-merge-conflict-bot', 'smmercuri'] |
nobody |
140-883 4 months ago |
250-22593 250 days ago |
3-78979 3 days |
| 17176 |
arulandu author:arulandu |
feat: integrals and integrability with .re |
Lemmas for swapping order of .re and integration/integrability.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
new-contributor
t-measure-probability
please-adopt
|
49/0 |
Mathlib/MeasureTheory/Function/L1Space.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral.lean,Mathlib/MeasureTheory/Integral/SetIntegral.lean |
4 |
32 |
['EtienneC30', 'arulandu', 'github-actions', 'loefflerd'] |
nobody |
139-79115 4 months ago |
587-39952 587 days ago |
9-73631 9 days |
| 33586 |
CoolRmal author:CoolRmal |
feat: Lower Limit Topology |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
328/0 |
Mathlib.lean,Mathlib/Topology/Order/LowerUpperLimitTopology.lean |
2 |
10 |
['CoolRmal', 'github-actions', 'plp127'] |
nobody |
139-77817 4 months ago |
unknown |
0-0 0 seconds |
| 24129 |
urkud author:urkud |
feat: symmetry of Gateaux derivatives |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
189/1 |
Mathlib/Analysis/Calculus/LineDeriv/Basic.lean,Mathlib/Analysis/Calculus/LineDeriv/Symmetric.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
139-54667 4 months ago |
unknown |
0-0 0 seconds |
| 33368 |
urkud author:urkud |
feat: define `Complex.UnitDisc.shift` |
Also review the existing API
UPD: I'm going to define a `PSL(2, Real)` action instead.
---
[](https://gitpod.io/from-referrer/) |
t-analysis
awaiting-zulip
merge-conflict
|
273/39 |
Mathlib.lean,Mathlib/Analysis/Complex/UnitDisc/Basic.lean,Mathlib/Analysis/Complex/UnitDisc/Shift.lean |
3 |
7 |
['github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot', 'sgouezel', 'urkud'] |
j-loreaux assignee:j-loreaux |
138-45709 4 months ago |
139-6042 139 days ago |
7-10690 7 days |
| 33450 |
astrainfinita author:astrainfinita |
refactor: deprecate `LinearIsometryClass` |
---
- [ ] depends on: #33448
- [ ] depends on: #33454
This PR continues the work from #18755.
Original PR: https://github.com/leanprover-community/mathlib4/pull/18755 |
t-algebra
t-analysis
blocked-by-other-PR
t-topology
merge-conflict
label:t-algebra$ |
128/125 |
Mathlib/Analysis/CStarAlgebra/PositiveLinearMap.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/LocallyConvex/WeakOperatorTopology.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Group/Uniform.lean,Mathlib/Analysis/Normed/Operator/LinearIsometry.lean,Mathlib/Topology/Algebra/Module/CharacterSpace.lean,Mathlib/Topology/Algebra/Module/Equiv.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean,Mathlib/Topology/MetricSpace/DilationEquiv.lean,Mathlib/Topology/MetricSpace/Isometry.lean |
15 |
5 |
['astrainfinita', 'github-actions', 'leanprover-radar', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
138-45584 4 months ago |
144-38375 144 days ago |
0-304 5 minutes |
| 33434 |
astrainfinita author:astrainfinita |
chore: redefine `Finsupp.indicator` using `Finsupp.onFinset` |
---
[](https://gitpod.io/from-referrer/)
|
t-data
merge-conflict
|
6/17 |
Mathlib/Data/Finsupp/Indicator.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
138-14674 4 months ago |
45-78230 45 days ago |
5-35275 5 days |
| 33554 |
themathqueen author:themathqueen |
chore(Analysis/Normed/Module/Normalize): allow for `RCLike` instead of just the reals |
Only the last lemma `normalize_smul` needs `ℝ`, which we rename to `normalize_real_smul`.
This also makes `𝕜` explicit in half of the results.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
awaiting-author
merge-conflict
|
67/60 |
Mathlib/Analysis/CStarAlgebra/Unitary/Span.lean,Mathlib/Analysis/Normed/Module/Normalize.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Basic.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/TriangleInequality.lean,Mathlib/Geometry/Euclidean/SignedDist.lean |
5 |
4 |
['github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
nobody |
138-2556 4 months ago |
138-81705 138 days ago |
1-85731 1 day |
| 27507 |
grunweg author:grunweg |
wip(commandStart): check the indentation of declaration keywords also |
Check that e.g. a `lemma` keyword always starts on column 1 (unless preceded by an attribute).
---
TODO:
- make this work for other declarations also
- the position reported for the lemma column is not helpful (it might be the absolute column in the file, but that's missing line information)
[](https://gitpod.io/from-referrer/)
|
WIP
t-linter
merge-conflict
|
84/1 |
Mathlib/Tactic/Linter/CommandStart.lean,MathlibTest/CommandStart.lean |
2 |
3 |
['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
137-67893 4 months ago |
303-24299 303 days ago |
0-2 2 seconds |
| 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
merge-conflict
|
311/0 |
Mathlib.lean,Mathlib/Analysis/Calculus/ArcLengthReparametrization.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,docs/references.bib |
5 |
57 |
['SnirBroshi', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'michael-novak-math'] |
j-loreaux assignee:j-loreaux |
137-60070 4 months ago |
62-34797 62 days ago |
6-69934 6 days |
| 24010 |
grunweg author:grunweg |
feat(Counterexamples): a non-negative function, not a.e. zero, with vanishing lowe… |
…r Lebesgue integral.
Came up in #23707, let's document this while we're at it.
---
- [ ] depends on: #20722
[](https://gitpod.io/from-referrer/)
|
merge-conflict
please-adopt
WIP
blocked-by-other-PR
t-measure-probability
|
110/0 |
Counterexamples.lean,Counterexamples/LIntegralZero.lean |
2 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
137-17345 4 months ago |
406-78790 406 days ago |
0-22 22 seconds |
| 33756 |
dleijnse author:dleijnse |
feat(FieldTheory): root of polynomial with p power coefficients |
This PR proves the results in https://stacks.math.columbia.edu/tag/031V, which gives a criterion for a root of a polynomial over a field `k` of characteristic `p` to be a `p`-th power.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
88/0 |
Mathlib.lean,Mathlib/FieldTheory/PthPowerCoeffPoly.lean |
2 |
1 |
['github-actions'] |
nobody |
137-11215 4 months ago |
unknown |
0-0 0 seconds |
| 28700 |
Timeroot author:Timeroot |
feat(ModelTheory): Set.Definable is transitive |
---
This PR continues the work from #19695.
Original PR: https://github.com/leanprover-community/mathlib4/pull/19695
- [x] depends on: #26332
[](https://gitpod.io/from-referrer/)
|
t-logic
merge-conflict
large-import
|
529/8 |
Mathlib/ModelTheory/Definability.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Syntax.lean |
5 |
9 |
['Timeroot', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'staroperator'] |
nobody |
137-11056 4 months ago |
54-77609 54 days ago |
3-9082 3 days |
| 30608 |
grunweg author:grunweg |
feat: another lemma about derivatives of parametric integrals |
On the path towards proving that integrating smooth functions is smooth.
From the sphere-eversion project; I am just upstreaming this.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-analysis
|
125/0 |
Mathlib/Analysis/Calculus/ParametricIntegral.lean |
1 |
8 |
['Ruben-VandeVelde', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot'] |
j-loreaux assignee:j-loreaux |
137-6055 4 months ago |
202-10624 202 days ago |
18-81847 18 days |
| 30610 |
grunweg author:grunweg |
feat: yet another lemma about differentiability of parametric integrals |
From sphere-eversion.
---
TODO: explicitly make Floris a co-author again
- [ ] depends on: #30608
- [ ] depends on: #30612
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-analysis
|
193/0 |
Mathlib/Analysis/Calculus/ParametricIntegral.lean |
1 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
137-6054 4 months ago |
221-5794 221 days ago |
0-7778 2 hours |
| 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).
---
[](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 |
137-3021 4 months ago |
137-3021 137 days ago |
13-42146 13 days |
| 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
---
[](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 |
136-12705 4 months ago |
136-12706 136 days ago |
98-58846 98 days |
| 30953 |
kim-em author:kim-em |
experiment: add `canonical` to Mathlib |
Depends on (these must be merged first before CI will succeed here)
- [x] #30952
- [x] #30844 |
merge-conflict |
63/3 |
Mathlib/Tactic/Common.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,MathlibTest/canonical.lean,lake-manifest.json,lakefile.lean |
5 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
135-69965 4 months ago |
209-67417 209 days ago |
0-865 14 minutes |
| 32470 |
ADedecker author:ADedecker |
feat: the space of test functions is barrelled |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
merge-conflict
|
22/0 |
Mathlib/Analysis/Distribution/TestFunction.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
135-69479 4 months ago |
unknown |
0-0 0 seconds |
| 33102 |
adomani author:adomani |
perf: add a syntactic check for flexible linter |
This is very preliminary.
---
[](https://gitpod.io/from-referrer/)
|
t-linter
merge-conflict
|
205/2 |
Mathlib/Tactic/Linter/FlexibleLinter.lean,MathlibTest/FlexibleLinter.lean |
2 |
10 |
['adomani', 'github-actions', 'leanprover-radar', 'mathlib4-merge-conflict-bot'] |
nobody |
135-69353 4 months ago |
unknown |
0-0 0 seconds |
| 30562 |
dwrensha author:dwrensha |
fix(Data/Fintype/Perm): make the main logic of Equiv.instFintype irreducible |
Adds a new `irreducible_def` for the main branch of `Equiv.instFintype` to avoid errors about deep recursion.
This is an update of #15045 and #30560 according to the discussion in those PRs and in [this zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/kernel.20deep.20recursion.20detected/near/454301820).
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
|
44/10 |
Mathlib/Combinatorics/Derangements/Finite.lean,Mathlib/Data/Fintype/Perm.lean,Mathlib/Data/Matrix/Cartan.lean,Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean,MathlibTest/MatrixDetOne.lean |
5 |
18 |
['dwrensha', 'github-actions', 'leanprover-bot', 'plp127', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
135-66438 4 months ago |
210-13423 210 days ago |
12-56370 12 days |
| 33669 |
eric-wieser author:eric-wieser |
chore(Data/Nat/Digits): refactor to use List.rightpad |
---
[](https://gitpod.io/from-referrer/)
|
large-import
merge-conflict
|
32/12 |
Mathlib/Algebra/BigOperators/Group/List/Defs.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Data/List/Lemmas.lean,Mathlib/Data/Nat/Digits/Defs.lean,Mathlib/Data/Nat/Digits/Lemmas.lean |
5 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot', 'xroblot'] |
nobody |
135-35070 4 months ago |
139-3760 139 days ago |
0-237 3 minutes |
| 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 |
134-68008 4 months ago |
261-9987 261 days ago |
82-4874 82 days |
| 26339 |
mans0954 author:mans0954 |
feat(Analysis/Normed/Module/WeakDual): Banach Dieudonné Lemma |
This PR continues the work from #16316.
Original PR: https://github.com/leanprover-community/mathlib4/pull/16316 |
merge-conflict
WIP
t-analysis
large-import
please-adopt
|
377/3 |
Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/Polar.lean,Mathlib/Analysis/Normed/Module/WeakDual.lean,Mathlib/Topology/UniformSpace/Cauchy.lean |
4 |
5 |
['github-actions', 'mans0954', 'mathlib4-merge-conflict-bot'] |
nobody |
134-67969 4 months ago |
335-38018 335 days ago |
0-1087 18 minutes |
| 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 |
134-67953 4 months ago |
329-79859 329 days ago |
5-45567 5 days |
| 26342 |
mans0954 author:mans0954 |
WiP: Expansion of the tensor product of quadratic maps over a linear combination |
This PR continues the work from #19806.
Original PR: https://github.com/leanprover-community/mathlib4/pull/19806 |
WIP
t-algebra
please-adopt
label:t-algebra$ |
483/0 |
Mathlib/Data/Sym/Sym2/Prod.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/QuadraticForm/Basis.lean,Mathlib/LinearAlgebra/QuadraticForm/TensorProduct.lean |
4 |
2 |
['github-actions', 'mans0954'] |
nobody |
134-67945 4 months ago |
unknown |
0-0 0 seconds |
| 26341 |
mans0954 author:mans0954 |
feat(LinearAlgebra/QuadraticForm/Basis): Free Tensor product of Quadratic Maps |
This PR continues the work from #19432.
Original PR: https://github.com/leanprover-community/mathlib4/pull/19432 |
merge-conflict
WIP
t-algebra
large-import
please-adopt
label:t-algebra$ |
888/0 |
Mathlib.lean,Mathlib/Data/Sym/Sym2/Prod.lean,Mathlib/LinearAlgebra/QuadraticForm/Basis.lean |
3 |
3 |
['github-actions', 'mans0954', 'mathlib4-merge-conflict-bot'] |
nobody |
134-67722 4 months ago |
335-38620 335 days ago |
0-259 4 minutes |
| 26343 |
mans0954 author:mans0954 |
feat(Analysis/Normed/Module/Complemented): The idempotent associated with a complemented subspace |
Given a complemented subspace `p` of a Banach space `E`, with complement `q`, there exists an idempotent `P` in the ring `E →L[𝕜] E` such that `P` has range `p` and kernel `q`. Similarly `1-P` has range `q` and kernel `p`.
See Rudin, Functional Analysis, Theorem 5.16.
---
This PR continues the work from #20330.
Original PR: https://github.com/leanprover-community/mathlib4/pull/20330
[](https://gitpod.io/from-referrer/) |
WIP
awaiting-CI
large-import
merge-conflict
t-analysis
please-adopt
|
185/3 |
Mathlib/Algebra/Module/End.lean,Mathlib/Algebra/Module/Hom.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Analysis/Normed/Module/Complemented.lean,Mathlib/RingTheory/Idempotents.lean |
5 |
3 |
['github-actions', 'mans0954', 'mathlib4-merge-conflict-bot'] |
nobody |
134-67715 4 months ago |
unknown |
0-0 0 seconds |
| 26344 |
mans0954 author:mans0954 |
feat(Analysis/NormedSpace/MStructure): The component projections on WithLp 1 (α × β) are L-projections |
This PR continues the work from #20380.
Original PR: https://github.com/leanprover-community/mathlib4/pull/20380 |
merge-conflict
WIP
t-analysis
file-removed
please-adopt
|
20/1 |
Mathlib.lean,Mathlib/Analysis/Normed/Lp/MStructure.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean |
3 |
3 |
['github-actions', 'mans0954', 'mathlib4-merge-conflict-bot'] |
nobody |
134-62518 4 months ago |
329-80512 329 days ago |
5-43696 5 days |
| 26346 |
mans0954 author:mans0954 |
feat(LinearAlgebra/QuadraticForm/TensorProduct): Extend `baseChange_ext` to work over a free module |
This PR continues the work from #21814.
Original PR: https://github.com/leanprover-community/mathlib4/pull/21814 |
merge-conflict
WIP
t-algebra
please-adopt
label:t-algebra$ |
105/5 |
Mathlib/LinearAlgebra/Basis/Bilinear.lean,Mathlib/LinearAlgebra/QuadraticForm/TensorProduct.lean |
2 |
3 |
['github-actions', 'mans0954', 'mathlib4-merge-conflict-bot'] |
nobody |
134-62499 4 months ago |
unknown |
0-0 0 seconds |
| 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 |
134-62495 4 months ago |
187-36593 187 days ago |
148-922 148 days |
| 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 |
134-62451 4 months ago |
329-80796 329 days ago |
5-42837 5 days |
| 26348 |
mans0954 author:mans0954 |
feat(Analysis/LocallyConvex/Prime): the prime map |
This PR continues the work from #24385.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24385 |
merge-conflict
WIP
t-analysis
please-adopt
|
125/0 |
Mathlib.lean,Mathlib/Analysis/LocallyConvex/Prime.lean |
2 |
3 |
['github-actions', 'mans0954', 'mathlib4-merge-conflict-bot'] |
nobody |
134-62442 4 months ago |
329-80747 329 days ago |
5-43062 5 days |
| 26983 |
mans0954 author:mans0954 |
feat(Order/LatticeElements): distributive, standard and neutral elements of a lattice |
Defines distributive, standard and neutral elements of a lattice and gives equivalent conditions.
---
- [x] depends on: #26836
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-order
please-adopt
|
238/0 |
Mathlib.lean,Mathlib/Order/Hom/Lattice.lean,Mathlib/Order/LatticeElements.lean |
3 |
5 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
134-62409 4 months ago |
232-266 232 days ago |
0-20134 5 hours |
| 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)
---
- [ ] depends on: #29981
[](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 |
134-62376 4 months ago |
187-35330 187 days ago |
41-47807 41 days |
| 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.
---
- [ ] depends on: #29378
[](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 |
134-62357 4 months ago |
260-84219 260 days ago |
0-2474 41 minutes |
| 30393 |
mans0954 author:mans0954 |
WIP: Bipolar theorem absconvex refactor |
Experiment to see what happens when #26345 and #29342 are merged.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
large-import
please-adopt
|
383/138 |
Mathlib.lean,Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/AbsConvexOpen.lean,Mathlib/Analysis/LocallyConvex/Basic.lean,Mathlib/Analysis/LocallyConvex/Bipolar.lean,Mathlib/Analysis/LocallyConvex/Polar.lean,Mathlib/Analysis/LocallyConvex/WeakDual.lean,Mathlib/Analysis/Normed/Module/Dual.lean,Mathlib/Topology/Algebra/Module/LinearSpan.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean,Mathlib/Topology/Algebra/Module/WeakBilin.lean |
12 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
134-62213 4 months ago |
unknown |
0-0 0 seconds |
| 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.
---
- [ ] depends on: #29342
[](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 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
134-62197 4 months ago |
222-52098 222 days ago |
0-14664 4 hours |
| 26337 |
mans0954 author:mans0954 |
feat(Analysis/NormedSpace/MStructure): M-ideals |
This PR continues the work from #14369.
Original PR: https://github.com/leanprover-community/mathlib4/pull/14369 |
merge-conflict
WIP
t-analysis
large-import
please-adopt
|
857/40 |
Mathlib/Algebra/Module/End.lean,Mathlib/Algebra/Module/Hom.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Analysis/Normed/Module/Complemented.lean,Mathlib/Analysis/NormedSpace/MStructure.lean |
5 |
4 |
['github-actions', 'mans0954', 'mathlib4-merge-conflict-bot'] |
nobody |
134-61938 4 months ago |
unknown |
0-0 0 seconds |
| 31981 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Incenter): `tangentSet` and `tangentsFrom` lemmas |
Add lemmas relating the faces of a simplex to `tangentSet` and `tangentsFrom` for an exsphere, in particular for a triangle that any two side lines are the `tangentsFrom` their shared vertex to the insphere or any exsphere.
---
- [ ] depends on: #31733
- [ ] depends on: #31891
- [ ] depends on: #31892
- [ ] depends on: #31893
- [x] depends on: #31978
- [ ] depends on: #31979
- [x] depends on: #31980
- [ ] depends on: #32296
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry
blocked-by-other-PR
|
578/9 |
Mathlib.lean,Mathlib/Geometry/Euclidean/Incenter.lean,Mathlib/Geometry/Euclidean/Sphere/PolePolar.lean,Mathlib/Geometry/Euclidean/Sphere/Tangent.lean |
5 |
4 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot'] |
nobody |
133-55755 4 months ago |
183-57611 183 days ago |
0-1725 28 minutes |
| 13158 |
erdOne author:erdOne |
refactor(RingTheory/OreLocalization/Module): remove `LocalizedModule.mk`. |
---
- [x] depends on: #13151
- [ ] depends on: #13156
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
label:t-algebra$ |
49/48 |
Mathlib/RingTheory/OreLocalization/Basic.lean,Mathlib/RingTheory/OreLocalization/Module.lean |
2 |
2 |
['urkud'] |
nobody |
133-49516 4 months ago |
718-23584 718 days ago |
9-15083 9 days |
| 12934 |
grunweg author:grunweg |
chore: replace more uses of > or ≥ by < or ≤ |
These were flagged by the linter in https://github.com/leanprover-community/mathlib4/pull/12879: it is easy to simple avoid > or ≥ in hypotheses or haves.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
help-wanted
|
41/42 |
Archive/Imo/Imo1962Q1.lean,Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo1994Q1.lean,Archive/Imo/Imo2005Q3.lean,Archive/Imo/Imo2006Q3.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2008Q3.lean,Archive/Imo/Imo2019Q4.lean,Archive/Sensitivity.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Mathlib/Tactic/Linarith/Datatypes.lean,test/cancel_denoms.lean,test/congr.lean,test/interval_cases.lean,test/observe.lean |
15 |
12 |
['YaelDillies', 'adomani', 'github-actions', 'grunweg', 'jcommelin', 'urkud'] |
nobody |
133-49423 4 months ago |
738-18848 738 days ago |
1-73101 1 day |
| 28070 |
grunweg author:grunweg |
style: improve indentation of multi-linear enumerations in doc-strings |
Per zulip discussion: [#mathlib4 > Style :bicycle: : indenting second lines in doc-strings @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Style.20.3Abicycle.3A.20.3A.20indenting.20second.20lines.20in.20doc-strings/near/533105734).
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
111/108 |
Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/BrauerGroup/Defs.lean,Mathlib/Algebra/Module/LinearMap/Polynomial.lean,Mathlib/CategoryTheory/Abelian/NonPreadditive.lean,Mathlib/CategoryTheory/EqToHom.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/Pi.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/CategoryTheory/Sites/Grothendieck.lean,Mathlib/CategoryTheory/Sites/Pretopology.lean,Mathlib/Condensed/Discrete/Characterization.lean,Mathlib/FieldTheory/ChevalleyWarning.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,docs/Conv/Guide.lean |
16 |
8 |
['github-actions', 'grunweg', 'kbuzzard', 'mathlib4-merge-conflict-bot', 'urkud'] |
nobody |
133-49300 4 months ago |
290-18379 290 days ago |
1-19000 1 day |
| 29077 |
grunweg author:grunweg |
feat(Manifold/Instances/Icc): golf smoothness proof using immersions |
Prove that the inclusion of an interval into the real numbers is a smooth immersion,
and use this to golf the proof that this inclusion is smooth.
TODO: right now, the computation doesn't check out; I need to tweak the charts I have. But that is surely doable.
A future PR will prove it is a smooth embedding.
---
- [ ] depends on: #28865
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-differential-geometry
|
1122/56 |
Mathlib.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Geometry/Manifold/ContMDiff/Atlas.lean,Mathlib/Geometry/Manifold/ContMDiff/Defs.lean,Mathlib/Geometry/Manifold/Instances/Icc.lean,Mathlib/Geometry/Manifold/IsImmersionEmbedding.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Topology/PartialHomeomorph.lean,docs/references.bib,temp_.sh |
13 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
133-9907 4 months ago |
269-86156 269 days ago |
0-309 5 minutes |
| 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
|
185/0 |
Mathlib.lean,Mathlib/Analysis/Asymptotics/Subpolynomial.lean |
2 |
29 |
['0xTerencePrime', 'ADedecker', 'github-actions', 'j-loreaux'] |
ADedecker assignee:ADedecker |
132-82189 4 months ago |
133-63647 133 days ago |
22-14560 22 days |
| 33814 |
seewoo5 author:seewoo5 |
feat(Manifold/MFDeriv): add `MDifferentiable.pow` with FunProp |
---
- [ ] depends on: #33808
Tag `MDifferentiable.pow` with `fun_prop`.
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
blocked-by-other-PR
merge-conflict
|
22/0 |
Mathlib/Geometry/Manifold/MFDeriv/Basic.lean,Mathlib/Geometry/Manifold/MFDeriv/Defs.lean,Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
131-73677 4 months ago |
135-32900 135 days ago |
0-8651 2 hours |
| 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.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-analysis
|
34/0 |
Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/Normed/Algebra/MatrixExponential.lean |
2 |
1 |
['github-actions'] |
nobody |
131-46774 4 months ago |
131-46846 131 days ago |
131-46841 131 days |
| 30030 |
JonBannon author:JonBannon |
feat(MeasureTheory): add `MemLp.Const` class and instances to unify `p = ∞` and `μ.IsFiniteMeasure` cases |
Although it is possible to ensure that, for example, the `One` instances for `p=∞` and `μ.IsFiniteMeasure` are defeq, introducing an `MemLp.Const` typeclass removes the need to unfold extensively to check this definitional equality, improving performance. cf. https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Lp.20constant.20function.20issue/with/537563137
This PR introduces the requisite class and associated instances.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-measure-probability
merge-conflict
|
224/136 |
Mathlib/MeasureTheory/Function/ConditionalExpectation/AEMeasurable.lean,Mathlib/MeasureTheory/Function/ContinuousMapDense.lean,Mathlib/MeasureTheory/Function/L1Space/Integrable.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/ContinuousCompMeasurePreserving.lean,Mathlib/MeasureTheory/Function/LpSpace/DomAct/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/Indicator.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean,Mathlib/MeasureTheory/Integral/SetToL1.lean,Mathlib/MeasureTheory/Measure/SeparableMeasure.lean |
13 |
25 |
['JonBannon', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot'] |
urkud assignee:urkud |
131-9829 4 months ago |
220-2935 220 days ago |
12-73357 12 days |
| 33807 |
adamtopaz author:adamtopaz |
feat: TypeCat refactor |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
merge-conflict
|
114/0 |
ConstGraph/Main.lean,Mathlib/CategoryTheory/Types/Basic.lean,lakefile.lean |
3 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
131-7138 4 months ago |
135-77728 135 days ago |
0-1 1 second |
| 29610 |
llllvvuu author:llllvvuu |
feat(LinearAlgebra): define LinearMap.Eigenbasis |
Some theorems are left TODO for follow-up work.
The definition is from @eric-wieser ([#Is there code for X? > diagonalizable linear maps @ 💬](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/diagonalizable.20linear.20maps/near/539163222)).
Co-authored-by: Aristotle Harmonic
---
- [x] depends on: #29420 (golfs some `[Nontrivial R]` assumptions)
- [x] depends on: #29791
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-author
label:t-algebra$ |
455/5 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Spectrum.lean,Mathlib/LinearAlgebra/Eigenbasis.lean,Mathlib/LinearAlgebra/FreeModule/PID.lean,Mathlib/Order/CompleteLattice/Basic.lean |
5 |
31 |
['github-actions', 'joelriou', 'kckennylau', 'llllvvuu', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
joelriou assignee:joelriou |
131-1432 4 months ago |
187-35368 187 days ago |
20-33900 20 days |
| 33992 |
tb65536 author:tb65536 |
feat(NumberTheory/NumberField/ExistsRamified): Galois group is generated by inertia subgroups |
This PR proves that `Gal(K/ℚ)` is generated by its inertia subgroups (because otherwise the fixed field would be an unramified extension of `ℚ`).
---
- [x] depends on: #30666
[](https://gitpod.io/from-referrer/)
|
t-number-theory
t-algebra
merge-conflict
blocked-by-other-PR
label:t-algebra$ |
101/0 |
Mathlib/NumberTheory/NumberField/ExistsRamified.lean |
1 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
130-29962 4 months ago |
17-74357 17 days ago |
0-8682 2 hours |
| 30582 |
RemyDegenne author:RemyDegenne |
feat: extension of a function to the closure of a submodule |
- define the closure of a set in a complete space as an `AbstractCompletion`
- add instances about submodules
- add a coercion from a submodule to its topological closure
- add induction lemmas on topological closures of submodules
- define the extension of a function on a submodule to the closure of a submodule
---
[](https://gitpod.io/from-referrer/)
|
t-topology
WIP
merge-conflict
|
138/1 |
Mathlib/Topology/Algebra/Module/Basic.lean,Mathlib/Topology/UniformSpace/AbstractCompletion.lean |
2 |
8 |
['ADedecker', 'RemyDegenne', 'github-actions', 'mathlib4-merge-conflict-bot', 'mcdoll'] |
PatrickMassot and mcdoll assignee:PatrickMassot assignee:mcdoll |
130-13286 4 months ago |
173-30719 173 days ago |
35-55566 35 days |
| 32436 |
thorimur author:thorimur |
feat: `unusedFactInType` linter |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
|
55/3 |
Mathlib/Init.lean,Mathlib/Tactic/Linter/UnusedInstancesInType.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
129-79557 4 months ago |
unknown |
0-0 0 seconds |
| 33535 |
erdOne author:erdOne |
feat(Algebra/Category): `Under.pushout` preserves finite limits for flat homomorphisms |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
merge-conflict
label:t-algebra$ |
157/5 |
Mathlib.lean,Mathlib/Algebra/Category/AlgCat/Basic.lean,Mathlib/Algebra/Category/AlgCat/Limits.lean,Mathlib/Algebra/Category/CommAlgCat/BaseChange.lean,Mathlib/Algebra/Category/CommAlgCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Limits.lean,Mathlib/Algebra/Category/Ring/Flat.lean |
8 |
5 |
['chrisflav', 'erdOne', 'github-actions', 'mathlib-merge-conflicts', 'robin-carlier'] |
eric-wieser assignee:eric-wieser |
129-69697 4 months ago |
130-11400 130 days ago |
11-30775 11 days |
| 28631 |
faenuccio author:faenuccio |
feat(Data\Nat\ModEq.lean): add grind attribute to ModEq |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-data
merge-conflict
|
7/0 |
Mathlib/Data/Nat/ModEq.lean |
1 |
5 |
['faenuccio', 'github-actions', 'leanprover-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
129-51641 4 months ago |
279-32016 279 days ago |
0-22 22 seconds |
| 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
|
108/2 |
Mathlib/Data/List/Perm/Lattice.lean,Mathlib/Data/List/TakeDrop.lean |
2 |
50 |
['BoltonBailey', 'IlPreteRosso', 'TwoFX', 'Vierkantor', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'rudynicolop'] |
TwoFX assignee:TwoFX |
129-14120 4 months ago |
129-22642 129 days ago |
93-10043 93 days |
| 33126 |
CoolRmal author:CoolRmal |
feat: function composition preserves boundedness |
This PR adds the following theorem: if the range of a function `g` is bounded above, then `g ∘ f` is bounded above for
all functions `f`.
---
[](https://gitpod.io/from-referrer/)
|
t-order
merge-conflict
|
12/0 |
Mathlib/Order/Bounds/Basic.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
bryangingechen assignee:bryangingechen |
129-12587 4 months ago |
129-12588 129 days ago |
27-6197 27 days |
| 20719 |
gio256 author:gio256 |
feat(AlgebraicTopology): delaborators for truncated simplicial notations |
We add delaborators for the following notations, introduced in #20688:
- `⦋m⦌ₙ`, which denotes the `m`-dimensional simplex in the `n`-truncated simplex category.
- `X _⦋m⦌ₙ`, which denotes the `m`-th term of an `n`-truncated simplicial object `X`.
- `X ^⦋m⦌ₙ`, which denotes the `m`-th term of an `n`-truncated cosimplicial object `X`.
If `pp.proofs` is set to `true`, we also pretty-print the proof `p : m ≤ n` for all three notations as `⦋m, p⦌ₙ`, `X _⦋m, p⦌ₙ`, and `X ^⦋m, p⦌ₙ`, respectively.
Credit to @kmill for one piece of code and much metaprogramming inspiration.
---
- [x] depends on: #20688
- [x] depends on: #23018
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebraic-topology
infinity-cosmos
t-meta
please-adopt
will-close-soon
|
525/33 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Defs.lean,Mathlib/AlgebraicTopology/SimplicialObject/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/SimplexCategory.lean,Mathlib/Util/Superscript.lean,MathlibTest/SimplexCategory.lean,MathlibTest/SimplicialObject.lean,MathlibTest/superscript.lean,scripts/noshake.json |
11 |
24 |
['eric-wieser', 'gio256', 'github-actions', 'joneugster', 'kim-em', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
129-12374 4 months ago |
308-75914 308 days ago |
88-84229 88 days |
| 31348 |
PatrickMassot author:PatrickMassot |
chore: fix a docstring typo |
---
[](https://gitpod.io/from-referrer/)
|
documentation
awaiting-author
t-analysis
|
1/1 |
Mathlib/Analysis/Calculus/Darboux.lean |
1 |
3 |
['ADedecker', 'dopamine333', 'github-actions'] |
nobody |
129-8317 4 months ago |
199-14789 199 days ago |
0-21655 6 hours |
| 10991 |
thorimur author:thorimur |
feat: `tfae` block tactic |
This PR introduces `tfae` block tactic syntax:
```lean
tfae
1 → 2 := /- proof of `P₁ → P₂` -/
2 → 3 := /- proof of `P₂ → P₃` -/
3 → 1 := /- proof of `P₃ → P₁` -/
```
Like the recent change to `tfae_have`, this syntax also supports all sorts of matching that `have` itself supports:
```lean
tfae
2 → 3
| h₂ => /- proof of `P₃` -/
3 → 1 -- given `P₁ := ∀(a : A), (b : B), (c : C), X`:
| h₃, a, b, c => /- proof of `X` -/
⟨h_mp, h_mpr⟩ : 1 ↔ 2 := /- proof of `P₁ ↔ P₂`; puts `h_mp : P₁ → P₂`, `h_mpr : P₂ → P₁` in the lctx -/
```
This initial implementation is currently very simple, and relies on `tfae_have` and `tfae_finish`. Although we intend to migrate away from that syntax, this PR does not remove support for it or deprecate `tfae_have`/`tfae_finish` in any way; migration (but not deprecation) is done in #11003.
---
- [x] depends on: #10653
- [x] depends on: #10994
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
modifies-tactic-syntax
t-meta
|
392/124 |
Mathlib/Tactic/TFAE.lean,scripts/noshake.json,test/tfae.lean |
3 |
5 |
['github-actions', 'joneugster', 'mathlib4-dependent-issues-bot', 'thorimur'] |
joneugster assignee:joneugster |
128-84647 4 months ago |
612-48516 612 days ago |
7-13967 7 days |
| 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]
---
[](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 |
127-24200 4 months ago |
264-55984 264 days ago |
0-396 6 minutes |
| 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.
---
[](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 |
127-24156 4 months ago |
229-29060 229 days ago |
25-78230 25 days |
| 28796 |
grunweg author:grunweg |
feat: immersions are smooth |
The conventional textbook definition demands that an immersion be smooth.
When asking for the immersion to have local slice charts (as we do), this implies smoothness automatically.
---
- [x] depends on: #28701
- [x] depends on: #28793
- [x] depends on: #30356
- [x] depends on: #28853 (for simplicity)
- [x] depends on: #36816
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
awaiting-author
merge-conflict
|
192/21 |
Mathlib/Geometry/Manifold/ContMDiff/Atlas.lean,Mathlib/Geometry/Manifold/Immersion.lean,Mathlib/Geometry/Manifold/LocalSourceTargetProperty.lean,Mathlib/Geometry/Manifold/SmoothEmbedding.lean |
6 |
57 |
['chrisflav', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
PatrickMassot assignee:PatrickMassot |
127-348 4 months ago |
130-1202 130 days ago |
0-1863 31 minutes |
| 28905 |
grunweg author:grunweg |
feat: immersions are locally embeddings |
Hopefully, this can be used for the topological portion of #28865. (That part is not certain yet, the rest works.)
---
Needs some clean-up in both the immersions file, and need to move the helper results about embeddings to the correct location.
- [x] depends on: #28793
- [ ] depends on: #28796
- [x] depends on: #28853
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
merge-conflict
t-differential-geometry
|
331/15 |
Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Geometry/Manifold/ContMDiff/Atlas.lean,Mathlib/Geometry/Manifold/Immersion.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Geometry/Manifold/LocalSourceTargetProperty.lean,Mathlib/Geometry/Manifold/SmoothEmbedding.lean |
7 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
127-347 4 months ago |
273-1761 273 days ago |
0-397 6 minutes |
| 30504 |
grunweg author:grunweg |
feat: add custom elaborators for immersions |
And golf the fail using it, a bit. Other usage sites expose bugs or unexpected error messages...
TODO: add basic tests for basic usage
TODO: fix those errors (then try to golf further!
---
- [x] depends on: #30307
- [x] depends on: #30356
- [ ] depends on: #28796
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-meta
t-differential-geometry
merge-conflict
|
286/87 |
Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Geometry/Manifold/ContMDiff/Atlas.lean,Mathlib/Geometry/Manifold/Immersion.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Geometry/Manifold/LocalSourceTargetProperty.lean,Mathlib/Geometry/Manifold/SmoothEmbedding.lean |
6 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
127-101 4 months ago |
224-18331 224 days ago |
0-13 13 seconds |
| 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).
---
[](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 |
126-10066 4 months ago |
132-75996 132 days ago |
16-33128 16 days |
| 34134 |
Paul-Lez author:Paul-Lez |
feat(Mathlib/Analysis/PDE/Quasilinear/Characteristics): the method of characteristics for first order quasilinear PDEs |
This PR continues the work from #25710.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25710 |
WIP
t-analysis
|
620/0 |
Mathlib.lean,Mathlib/Analysis/PDE/Quasilinear/Characteristics.lean,Mathlib/Analysis/PDE/Quasilinear/Defs.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean |
4 |
3 |
['Paul-Lez', 'github-actions', 'mcdoll'] |
nobody |
125-24004 4 months ago |
126-21351 126 days ago |
0-146 2 minutes |
| 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
blocked-by-other-PR
|
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 |
125-3585 4 months ago |
133-17409 133 days ago |
10-38484 10 days |
| 30853 |
JovanGerb author:JovanGerb |
feat(LinearAlgebra/AffineSpace/Simplex): `CoeFun` instance for `Simplex` |
This PR introduces the notation `s i` to refer to the `i`th vertex of simplex `s`, which replaces the current `s.points i`. It does this by adding a `CoeFun` instance.
I first tried using `FunLike`, but this came with some different problems related to discrimination tree indexing in `simp`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-euclidean-geometry
merge-conflict
|
381/371 |
Archive/Imo/Imo2019Q2.lean,Mathlib/Analysis/Convex/Between.lean,Mathlib/Analysis/Normed/Affine/Simplex.lean,Mathlib/Geometry/Euclidean/Altitude.lean,Mathlib/Geometry/Euclidean/Angle/Sphere.lean,Mathlib/Geometry/Euclidean/Circumcenter.lean,Mathlib/Geometry/Euclidean/Incenter.lean,Mathlib/Geometry/Euclidean/MongePoint.lean,Mathlib/Geometry/Euclidean/Projection.lean,Mathlib/Geometry/Euclidean/SignedDist.lean,Mathlib/Geometry/Euclidean/Simplex.lean,Mathlib/LinearAlgebra/AffineSpace/FiniteDimensional.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Centroid.lean,scripts/nolints.json |
15 |
14 |
['JovanGerb', 'eric-wieser', 'github-actions', 'jsm28', 'mathlib4-merge-conflict-bot'] |
jsm28 assignee:jsm28 |
124-58702 4 months ago |
171-11075 171 days ago |
41-18647 41 days |
| 34195 |
eric-wieser author:eric-wieser |
feat: continuous bundled actions |
These are `Continuous` versions of existing definitions.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
t-algebra
large-import
label:t-algebra$ |
59/0 |
Mathlib/Topology/Algebra/ContinuousMonoidHom.lean |
1 |
1 |
['github-actions'] |
nobody |
124-33798 4 months ago |
67-80323 67 days ago |
0-1929 32 minutes |
| 34238 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: some lemmas about AlgHom 1 and * |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
label:t-algebra$ |
22/0 |
Mathlib/Algebra/Algebra/Hom.lean |
1 |
5 |
['Ruben-VandeVelde', 'Vierkantor', 'eric-wieser', 'github-actions'] |
nobody |
123-24870 4 months ago |
123-24870 123 days ago |
0-45401 12 hours |
| 31092 |
FlAmmmmING author:FlAmmmmING |
feat(Algebra/Group/ForwardDiff.lean): Add theorem `sum_shift_eq_fwdDiff_iter`. |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
delegated
label:t-algebra$ |
17/1 |
Mathlib/Algebra/Group/ForwardDiff.lean |
1 |
20 |
['BeibeiX0', 'FlAmmmmING', 'Ruben-VandeVelde', 'dagurtomas', 'github-actions', 'jcommelin', 'mathlib-bors', 'mathlib4-merge-conflict-bot'] |
nobody |
123-11085 4 months ago |
123-11085 123 days ago |
54-22055 54 days |
| 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
|
72/2 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean |
1 |
9 |
['IvanRenison', 'SnirBroshi', 'github-actions', 'vlad902'] |
nobody |
123-7343 4 months ago |
124-75179 124 days ago |
1-23617 1 day |
| 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 |
123-3380 4 months ago |
196-54825 196 days ago |
74-59834 74 days |
| 33689 |
BoltonBailey author:BoltonBailey |
feat(Probability): PMF point mass function |
This PR defines a pointMass function, which returns the value of a PMF at a point as a `NNReal`.
---
Perhaps `unitInterval` would be better?
Note: A number of Zulip discussions lists below have discussed what the return type of `PMF` should be and if the definition should be refactored. This PR avoids this by simply creating a new function, but depends on a PR from these discussions to not cause a collision.
Zulip:
- [#new members > Why is the codomain of PMF in mathlib ENNReal and not NNReal @ 💬](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Why.20is.20the.20codomain.20of.20PMF.20in.20mathlib.20ENNReal.20and.20not.20NNReal/near/526572449)
- [#new members > Performing arithmetic with ENNReals @ 💬](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Performing.20arithmetic.20with.20ENNReals/near/525936290)
- [#Is there code for X? > Statistical distance for `PMF`s? @ 💬](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Statistical.20distance.20for.20.60PMF.60s.3F/near/525234190)
- [#mathlib4 > PMF Refactor: FunLike vs Definition Change](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/PMF.20Refactor.3A.20FunLike.20vs.20Definition.20Change/with/567771586)
- [ ] depends on: #34138
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
WIP
blocked-by-other-PR
|
93/0 |
Mathlib/Probability/ProbabilityMassFunction/PointMass.lean |
1 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
122-81606 4 months ago |
unknown |
0-0 0 seconds |
| 33680 |
BoltonBailey author:BoltonBailey |
feat(Probability/ProbabilityMassFunction): add Total Variation distance |
Adds the statistical distance/total variation distance.
See Zulip discussion:
- [#Is there code for X? > total variation distance between two PMFs](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/total.20variation.20distance.20between.20two.20PMFs/with/566810511)
This PR was authored with the support of Claude Opus 4.5
---
- [ ] depends on: #33689 [provide an API for NNReal-returning function]
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
blocked-by-other-PR
LLM-generated
|
47/0 |
Mathlib/Probability/ProbabilityMassFunction/Distance.lean |
1 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
122-42810 4 months ago |
122-42958 122 days ago |
16-37540 16 days |
| 21476 |
grunweg author:grunweg |
feat(lint-style): enable running on downstream projects |
Enable lint-style to run on downstream projects, by making the following modifications:
- allow passing an explicit list of libraries to lint: if nothing is passed, it lints `Mathlib`, `Archive` and `Counterexamples` (as before); otherwise, it lints precisely the passed modules
- only check init imports, undocumented scripts and the errors from `lint-style.py` when linting Mathlib
- make the style exceptions file configurable and optional: using the `nolints-file` flag, the exceptions file can be configured. If the flag is omitted, we try to find a file at `scripts/nolints-style.txt` --- and otherwise proceed with no style exceptions.
This means mathlib can continue unchanged, and downstream projects can either add an explicit exceptions file, or proceed without any exceptions.
After this PR, one should be able to run lint-style on a downstream project by `lake exe lint-style ProjectName`.
Prompted by [this zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/lint-style.20for.20downstream.20libraries).
---
- [x] depends on: #24570
- [x] depends on: #24953
(I did not test the last part.)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
awaiting-author
please-adopt
|
58/19 |
Mathlib/Tactic/Linter/TextBased.lean,scripts/lint-style.lean |
2 |
21 |
['Vierkantor', 'adomani', 'github-actions', 'grunweg', 'joneugster', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
122-32109 4 months ago |
374-6442 374 days ago |
43-17409 43 days |
| 34086 |
adomani author:adomani |
perf: test the effect of localizing the whitespace linter |
This PR checks whether the modification contained in #26299 have a positive effect on this one.
The other PR has a few minor regressions, but hopefully this PR has very substantial speed ups.
---
[](https://gitpod.io/from-referrer/)
|
large-import
merge-conflict
|
2076/462 |
Archive/Imo/Imo2010Q5.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Counterexamples/CliffordAlgebraNotInjective.lean,Counterexamples/HeawoodUnitDistance.lean,Counterexamples/MonicNonRegular.lean,Mathlib/Algebra/AffineMonoid/Basic.lean,Mathlib/Algebra/Category/Grp/EpiMono.lean,Mathlib/Algebra/Module/TransferInstance.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Polynomial/RuleOfSigns.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Formula.lean,Mathlib/AlgebraicTopology/SimplicialSet/CompStructTruncated.lean,Mathlib/AlgebraicTopology/SimplicialSet/Path.lean,Mathlib/AlgebraicTopology/SimplicialSet/StrictSegal.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unital.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Analysis/Real/Pi/Bounds.lean,Mathlib/CategoryTheory/Comma/Over/OverClass.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean,Mathlib/CategoryTheory/Monoidal/Action/Basic.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/CommGrp_.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/OfHasFiniteProducts.lean,Mathlib/Combinatorics/SetFamily/LYM.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/ContextFreeGrammar.lean,Mathlib/Computability/Language.lean,Mathlib/Computability/Partrec.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Data/DFinsupp/Notation.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/Data/Fin/Fin2.lean,Mathlib/Data/Finset/Slice.lean,Mathlib/Data/Finset/Sort.lean,Mathlib/Data/Finsupp/Notation.lean,Mathlib/Data/Matrix/Cartan.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Num/Bitwise.lean,Mathlib/Data/PNat/Xgcd.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/Data/Vector/MapLemmas.lean,Mathlib/FieldTheory/CardinalEmb.lean,Mathlib/FieldTheory/Finite/Extension.lean,Mathlib/FieldTheory/Laurent.lean,Mathlib/Geometry/Manifold/Notation.lean,Mathlib/GroupTheory/FreeGroup/Reduce.lean,Mathlib/LinearAlgebra/TensorPower/Symmetric.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/PullOut.lean,Mathlib/MeasureTheory/Integral/TorusIntegral.lean,Mathlib/ModelTheory/Syntax.lean,Mathlib/NumberTheory/Niven.lean,Mathlib/Probability/CondVar.lean,Mathlib/Probability/Independence/Conditional.lean,Mathlib/RingTheory/Nilpotent/Exp.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,Mathlib/Tactic/Linter/Whitespace.lean,Mathlib/Tactic/Ring/NamePolyVars.lean,Mathlib/Topology/Algebra/IsUniformGroup/Defs.lean,Mathlib/Topology/Category/TopCat/Limits/Basic.lean,Mathlib/Topology/Instances/Rat.lean,Mathlib/Util/Superscript.lean,MathlibTest/WhitespaceLinter.lean |
67 |
5 |
['adomani', 'github-actions', 'leanprover-radar', 'mathlib4-merge-conflict-bot'] |
nobody |
122-25651 4 months ago |
unknown |
0-0 0 seconds |
| 34371 |
grunweg author:grunweg |
feat: module instance on ContMDiffMap |
From fpvandoorn and my LeanCourse25.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-differential-geometry
|
117/0 |
Mathlib/Geometry/Manifold/Algebra/LieGroup.lean |
1 |
2 |
['github-actions'] |
nobody |
121-15761 4 months ago |
121-19846 121 days ago |
0-7 7 seconds |
| 34219 |
or4nge19 author:or4nge19 |
feat(MeasureTheory/BorelSpace): measurability of annuli on (pseudo)(e)metric space |
it assumes `OpensMeasurableSpace`
original [file](https://github.com/fpvandoorn/carleson/blob/master/Carleson/ToMathlib/Annulus.lean)
From the Carleson project.
Co-authored-by: James Sundstrom [james.sundstrom@gmail.com](mailto:james.sundstrom@gmail.com)
---
- [x] depends on: #34200
- [ ] depends on: #34202
[](https://gitpod.io/from-referrer/)
|
carleson
blocked-by-other-PR
t-measure-probability
|
534/0 |
Mathlib.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Annulus.lean,Mathlib/Topology/MetricSpace/Annulus.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
120-38726 4 months ago |
124-6331 124 days ago |
0-236 3 minutes |
| 33132 |
BoltonBailey author:BoltonBailey |
feat(Computability): Single-tape TM complexity |
Currently, time complexity in mathlib is defined in terms of (a kind of) multi-tape Turing machine [Turing.FinTM2](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Computability/TMComputable.html#Turing.FinTM2). This (currently Draft) PR develops time complexity in terms of Single-Tape Turing Machines. There are a few reasons to do this:
* Having definitions of time complexity for both single-tape and multi-tape TMs is a prerequisite to prove theorems relating these definitions of complexity (in particular, the theorem that the definition of polynomial time computability is equivalent between these notions).
* The Multi-tape "TM2" definition seems to be based on "Wang B-Machines" ([wiki](https://en.wikipedia.org/wiki/Wang_B-machine)) which involves both a program of function labels, as well as a set of states.
* I think it's a bit more common to see a simpler presentation of single-tape ([and multitape](https://en.wikipedia.org/wiki/Multitape_Turing_machine)) Turing machines which only provides a set of states.
* It seems to me that the B-Machine-like definition makes it a bit complicated to make progress. For example, if I want to compose Turing Machines, then I have to be able to construct a new program and state set, which involves mapping the [Turing.TM2.Stmt](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Computability/TuringMachine.html#Turing.TM2.Stmt) type to the sum type of the tapes. I have to do something similar for single-tape TMs, but the Stmt type is less complicated, so this is less involved.
* If we want to continue on and define space complexity, it seems convenient to have only a single tape, so that we don't have to do lots of reasoning over summations.
---
[](https://gitpod.io/from-referrer/)
|
t-computability
WIP
|
1480/0 |
Mathlib/Computability/BinEncoding.lean,Mathlib/Computability/EncodingTo.lean,Mathlib/Computability/SingleTapeBinTMComputable.lean,Mathlib/Computability/SingleTapeTMComputable.lean |
4 |
1 |
['github-actions'] |
nobody |
119-81389 3 months ago |
unknown |
0-0 0 seconds |
| 34155 |
zcyemi author:zcyemi |
feat(Geometry/Euclidean/Triangle): add altitudeFoot lies strictly between endpoints for an obtuse angle |
---
add `sbtw_orthogonalProjection_of_angle_ge_pi_div_two`
|
t-euclidean-geometry
awaiting-author
|
93/0 |
Mathlib/Geometry/Euclidean/Triangle.lean |
1 |
4 |
['github-actions', 'jsm28'] |
nobody |
119-61864 3 months ago |
119-67244 119 days ago |
5-82220 5 days |
| 31134 |
thorimur author:thorimur |
chore: use `whenLinterActivated` in linters |
Replaces boilerplate in linters with `whenLinterActivated` or `whenLinterOption` where possible.
---
- [ ] depends on: #31133
[](https://gitpod.io/from-referrer/)
|
delegated |
79/102 |
Mathlib/Tactic/Linter/CommandRanges.lean,Mathlib/Tactic/Linter/DocPrime.lean,Mathlib/Tactic/Linter/FlexibleLinter.lean,Mathlib/Tactic/Linter/GlobalAttributeIn.lean,Mathlib/Tactic/Linter/HashCommandLinter.lean,Mathlib/Tactic/Linter/Header.lean,Mathlib/Tactic/Linter/Lint.lean,Mathlib/Tactic/Linter/MinImports.lean,Mathlib/Tactic/Linter/Multigoal.lean,Mathlib/Tactic/Linter/OldObtain.lean,Mathlib/Tactic/Linter/PPRoundtrip.lean,Mathlib/Tactic/Linter/Style.lean,Mathlib/Tactic/Linter/UnusedTactic.lean,Mathlib/Tactic/Linter/UpstreamableDecl.lean,Mathlib/Tactic/Linter/Whitespace.lean,Mathlib/Util/CountHeartbeats.lean,scripts/lint-style.lean |
17 |
8 |
['github-actions', 'grunweg', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
grunweg assignee:grunweg |
119-28420 3 months ago |
unknown |
0-0 0 seconds |
| 34186 |
faenuccio author:faenuccio |
feat(GroupTheory/SpecificGroups/Cyclic): a quotient of a cyclic group is cyclic |
Add the Normal instance for a subgroup of a cyclic group; and derive that every quotient of a cyclic group is cyclic, as an instance. |
t-group-theory
awaiting-author
merge-conflict
|
8/0 |
Mathlib/GroupTheory/SpecificGroups/Cyclic.lean |
1 |
9 |
['erdOne', 'faenuccio', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'tb65536'] |
tb65536 assignee:tb65536 |
119-15862 3 months ago |
119-75645 119 days ago |
4-69261 4 days |
| 31836 |
hanwenzhu author:hanwenzhu |
chore(MeasureTheory/IntervalIntegral): generalize fundamental theorem of calculus to `HasDerivWithinAt` instead of `HasDerivAt` |
This PR generalizes `HasDerivAt` to `HasDerivWithinAt`, and `DifferentiableAt` to `DifferentiableOn`, for the fundamental theorem of calculus for interval integrals.
I found this during trying to state a skeleton of a proof of a higher-dimensional Taylor's theorem. There, the correct assumption is something like `ContDiffOn n f [[a, b]]`, rather than `∀ x ∈ [[a, b]], ContDiffAt 𝕜 n f [[a, b]] x`, which traces back to this issue.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
t-measure-probability
awaiting-author
merge-conflict
|
143/51 |
Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/Analysis/SpecialFunctions/NonIntegrable.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Order.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/IntegrationByParts.lean,Mathlib/NumberTheory/AbelSummation.lean,Mathlib/NumberTheory/LSeries/SumCoeff.lean |
7 |
10 |
['github-actions', 'hanwenzhu', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
sgouezel assignee:sgouezel |
119-12214 3 months ago |
179-21016 179 days ago |
6-17192 6 days |
| 12879 |
grunweg author:grunweg |
feat: port ge_or_gt linter from mathlib3 |
Code works and is essentially green: next step is to split up into separate PRs.
Feedback welcome on whether:
- all the test changes are good, or I should simply allow it in more cases
- if calc blocks need to be explicitly exempt
---
- [ ] depends on: #12933
- [ ] depends on: #12934
- [ ] depends on: #12931
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
tech debt
blocked-by-other-PR
|
736/319 |
Archive/Imo/Imo1960Q1.lean,Archive/Imo/Imo1962Q1.lean,Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo1994Q1.lean,Archive/Imo/Imo2001Q2.lean,Archive/Imo/Imo2005Q3.lean,Archive/Imo/Imo2006Q3.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2008Q3.lean,Archive/Imo/Imo2008Q4.lean,Archive/Imo/Imo2011Q5.lean,Archive/Imo/Imo2019Q4.lean,Archive/Sensitivity.lean,Archive/Wiedijk100Theorems/AreaOfACircle.lean,Archive/Wiedijk100Theorems/BallotProblem.lean,Archive/Wiedijk100Theorems/BirthdayProblem.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Mathlib.lean,Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Star/CHSH.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/InnerProductSpace/Projection.lean,Mathlib/Analysis/Normed/Group/ControlledClosure.lean,Mathlib/Analysis/NormedSpace/MStructure.lean,Mathlib/Analysis/SpecialFunctions/Log/Base.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Data/FP/Basic.lean,Mathlib/Data/Finset/Basic.lean,Mathlib/Data/Finset/Fold.lean,Mathlib/Data/Finsupp/Notation.lean,Mathlib/Data/Int/Lemmas.lean,Mathlib/Data/Nat/Dist.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Nat/Parity.lean,Mathlib/Data/Nat/Upto.lean,Mathlib/Data/Ordmap/Ordset.lean,Mathlib/Data/PNat/Basic.lean,Mathlib/Data/UInt.lean,Mathlib/GroupTheory/Coxeter/Length.lean,Mathlib/MeasureTheory/Constructions/Polish.lean,Mathlib/MeasureTheory/Covering/Besicovitch.lean,Mathlib/MeasureTheory/Covering/Vitali.lean,Mathlib/MeasureTheory/Covering/VitaliFamily.lean,Mathlib/MeasureTheory/Integral/Layercake.lean,Mathlib/NumberTheory/LegendreSymbol/JacobiSymbol.lean,Mathlib/NumberTheory/Padics/Hensel.lean,Mathlib/NumberTheory/Padics/PadicNorm.lean,Mathlib/NumberTheory/PellMatiyasevic.lean,Mathlib/NumberTheory/Rayleigh.lean,Mathlib/Order/Filter/AtTopBot.lean,Mathlib/Probability/Process/Stopping.lean,Mathlib/RingTheory/Adjoin/Basic.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/SetTheory/Ordinal/Notation.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CancelDenoms/Core.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/IntervalCases.lean,Mathlib/Tactic/Linarith/Datatypes.lean,Mathlib/Tactic/Linarith/Lemmas.lean,Mathlib/Tactic/Linarith/Oracle/FourierMotzkin.lean,Mathlib/Tactic/Linter/GeOrGt.lean,Mathlib/Tactic/Linter/Style.lean,Mathlib/Tactic/NormNum/GCD.lean,Mathlib/Tactic/NormNum/Inv.lean,Mathlib/Tactic/Ring/Basic.lean,Mathlib/Topology/Category/Profinite/Nobeling.lean,Mathlib/Topology/ContinuousFunction/Bounded.lean,Mathlib/Topology/MetricSpace/CauSeqFilter.lean,Mathlib/Topology/MetricSpace/Cauchy.lean,Mathlib/Topology/MetricSpace/Closeds.lean,Mathlib/Topology/Sequences.lean,scripts/lint-style.py,test/Explode.lean,test/GCongr/inequalities.lean,test/GeOrGt.lean,test/LibrarySearch/IsCompact.lean,test/LibrarySearch/basic.lean,test/Recall.lean,test/Rify.lean,test/Use.lean,test/cancel_denoms.lean,test/congr.lean,test/delabLinearIndependent.lean,test/delaborators.lean,test/interval_cases.lean,test/linarith.lean |
109 |
4 |
['github-actions', 'grunweg', 'urkud'] |
nobody |
118-76090 3 months ago |
739-77084 739 days ago |
0-15256 4 hours |
| 29953 |
slashbade author:slashbade |
feat: add reap for experiment |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor |
40/3 |
Cache/IO.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,lake-manifest.json,lakefile.lean |
5 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
117-86268 3 months ago |
unknown |
0-0 0 seconds |
| 33110 |
dagurtomas author:dagurtomas |
feat(CategoryTheory): adjoint functor theorems for presentable categories |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
|
214/5 |
Mathlib/CategoryTheory/Adjunction/AdjointFunctorTheorems.lean,Mathlib/CategoryTheory/Presentable/AdjointFunctorTheorems.lean |
2 |
2 |
['github-actions', 'joelriou'] |
nobody |
117-73695 3 months ago |
156-70983 156 days ago |
0-5 5 seconds |
| 8608 |
eric-wieser author:eric-wieser |
feat: multiplicativize `AddTorsor` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
please-adopt
label:t-algebra$ |
268/199 |
Mathlib/Algebra/AddTorsor.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Data/Set/Pointwise/SMul.lean,Mathlib/Tactic/ToAdditive.lean |
4 |
2 |
['alreadydone'] |
nobody |
117-62968 3 months ago |
unknown |
0-0 0 seconds |
| 34278 |
gasparattila author:gasparattila |
feat(Topology/Sets): connectedness of `NonemptyCompacts` |
---
- [x] depends on: #34268
- [ ] depends on: #34273
[](https://gitpod.io/from-referrer/)
|
t-topology
blocked-by-other-PR
merge-conflict
|
434/17 |
Mathlib/Topology/Sets/VietorisTopology.lean |
4 |
6 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
117-15606 3 months ago |
122-71760 122 days ago |
0-1194 19 minutes |
| 34280 |
gasparattila author:gasparattila |
feat(Topology/Sets): local connectedness of `(Nonempty)Compacts` |
---
- [ ] depends on: #34278
[](https://gitpod.io/from-referrer/)
|
t-topology
blocked-by-other-PR
merge-conflict
|
493/17 |
Mathlib/Topology/Sets/VietorisTopology.lean |
4 |
6 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
117-13344 3 months ago |
122-71763 122 days ago |
0-235 3 minutes |
| 28017 |
eric-wieser author:eric-wieser |
feat: generalize some opnorm lemmas to seminormed spaces |
---
- [ ] depends on: #28014
- [ ] depends on: #28101
- [ ] depends on: #29120
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-analysis
|
60/24 |
Mathlib/Analysis/NormedSpace/OperatorNorm/NNNorm.lean,Mathlib/Analysis/NormedSpace/Real.lean |
2 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
116-78611 3 months ago |
292-67867 292 days ago |
0-1 1 second |
| 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).
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
awaiting-author
merge-conflict
|
110/18 |
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 |
116-75841 3 months ago |
178-6406 178 days ago |
8-14942 8 days |
| 26158 |
upobir author:upobir |
feat(NumberTheory/Divisors): add int divisors |
This PR continues the work from #25209.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25209 |
awaiting-author
t-number-theory
merge-conflict
|
101/2 |
Mathlib/NumberTheory/Divisors.lean |
1 |
38 |
['MichaelStollBayreuth', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'upobir'] |
mariainesdff assignee:mariainesdff |
116-42164 3 months ago |
294-13366 294 days ago |
46-1067 46 days |
| 32865 |
robertmaxton42 author:robertmaxton42 |
(WIP) Separation axioms |
---
[](https://gitpod.io/from-referrer/)
|
large-import
merge-conflict
|
4439/13 |
Mathlib.lean,Mathlib/CategoryTheory/LiftingProperties/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/ConcreteCategory.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Disjoint.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Order/BooleanAlgebra/Set.lean,Mathlib/Topology/AlexandrovDiscrete.lean,Mathlib/Topology/Category/Lifting/Defs.lean,Mathlib/Topology/Category/Lifting/Separation.lean,Mathlib/Topology/Category/TopCat/Basic.lean,Mathlib/Topology/Category/TopCat/Limits/Basic.lean,Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean,Mathlib/Topology/Category/UProp.lean,Mathlib/Topology/Coherent.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/ContinuousMap/Basic.lean,Mathlib/Topology/ContinuousMap/Constructions.lean,Mathlib/Topology/Inseparable.lean,Mathlib/Topology/Maps/Basic.lean,Mathlib/Topology/Order.lean,Mathlib/Topology/Order/UpperLowerSetTopology.lean,Mathlib/Topology/SeparatedMap.lean,Mathlib/Topology/Separation/GDelta.lean,Mathlib/Topology/Separation/Regular.lean,Mathlib/Topology/UnitInterval.lean,Mathlib/Topology/UrysohnsLemma.lean,docs/references.bib |
30 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
116-27561 3 months ago |
unknown |
0-0 0 seconds |
| 33031 |
chiyunhsu author:chiyunhsu |
feat(Combinatorics/Enumerative/Partition): add combinatorial proof of Euler's partition theorem |
The new file EulerComb.lean contains the combinatorial proof of Euler's partition theorem. The analytic proof of the theorem and its generalization of Glaisher's Theorem has already been formalized in [Glaisher.lean](https://github.com/leanprover-community/mathlib4/blob/master/Mathlib/Combinatorics/Enumerative/Partition/Glaisher.lean). The generalization of the combinatorial proof from this file to Glaisher's Theorem is within reach.
---
Zulip discussion: [#mathlib4 > Glaisher’s Bijection on integer partitions](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Glaisher.E2.80.99s.20Bijection.20on.20integer.20partitions/with/570808111)
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
awaiting-zulip
awaiting-author
|
531/0 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/Partition/EulerComb.lean |
2 |
7 |
['chiyunhsu', 'dagurtomas', 'github-actions', 'tb65536', 'vihdzp'] |
b-mehta assignee:b-mehta |
116-12962 3 months ago |
116-12962 116 days ago |
42-21618 42 days |
| 27835 |
edegeltje author:edegeltje |
feat(Tactic): ring modulo a given characteristic |
This PR extends the `ring` tactic with a new config argument `char` which will try to reduce all constant terms modulo the given characteristic. This allows `ring` to prove e.g. `(x + y)^3 = x^3 + y^3` in characteristic 3. This is a simpler and faster way to do so than what we had before: `repeat { ring; reduce_mod_char }` becomes `ring (config := { char := 3 })`.
The first step is to split off the required `CharP` definitions, since `Mathlib.Algebra.CharP.Basic` already requires the `ring` tactic.
To perform the reduction modulo the given characteristic, I implemented `reduceCast` which reduces a raw integer, and wrapped it in `reduceResult` that takes a `NormNum.Result` for easy use. We need to pass through quite a few parameters into `reduceResult` so maybe it's worth defining a structure, or reusing `Cache` for this.
Then it's basically a case of replacing every place where `ring` constructs a numeral with a call to `reduceResult`.
Limitations:
* `ring` doesn't attempt to detect the characteristic by itself, you need to pass it in explicitly. Trying to infer a `CharP` instance at each point sounds quite expensive.
* Since the support for `%` in `NormNum` only exists for integers, I implemented the reduction only when a `Ring` instance is available. It is still sound in the semiring case, just not complete.
* We could optimize exponentiation in the specific case where the characteristic `p` is a prime that divides the exponent `n`: `(x + y)^n = x^n + y^n`. I'll leave that to future work.
---
This used to be #10765 by Anne Baanen before the great forkening.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
large-import
migrated-from-branch
t-meta
awaiting-author
WIP
|
312/133 |
Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/RingTheory/MvPolynomial/Basic.lean,Mathlib/Tactic/LinearCombination.lean,Mathlib/Tactic/Module.lean,Mathlib/Tactic/Polyrith.lean,Mathlib/Tactic/Ring/Basic.lean,Mathlib/Tactic/Ring/Compare.lean,Mathlib/Tactic/Ring/RingNF.lean,MathlibTest/ring_compare.lean,MathlibTest/ring_mod_char.lean |
10 |
14 |
['edegeltje', 'github-actions', 'joneugster', 'mathlib4-merge-conflict-bot'] |
joneugster assignee:joneugster |
116-11608 3 months ago |
284-65717 284 days ago |
11-83928 11 days |
| 33954 |
or4nge19 author:or4nge19 |
feat(CategoryTheory/Abelian): add Filtration API |
Filtered objects in an abelian category (Deligne, *Théorie de Hodge II*, §1.1).
inspired by a [message](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Proposal.3A.20Complexifications.20with.20a.20view.20towards.20Hodge.20theory/near/565511365) by Joel Riou
Co-authored-by: Jonathan Washburn
---
PR 1/4
Next PRs will cover
Opposed filtrations (Deligne, *Théorie de Hodge II*, §1.2.1–§1.2.3).
Induced filtrations on graded pieces (Deligne, *Théorie de Hodge II*, §1.2.1).
[](https://gitpod.io/from-referrer/)
|
t-category-theory
awaiting-author
|
356/0 |
Mathlib.lean,Mathlib/CategoryTheory/Filtration/Basic.lean,docs/references.bib |
3 |
12 |
['dagurtomas', 'github-actions', 'joelriou', 'or4nge19'] |
nobody |
116-2209 3 months ago |
116-2370 116 days ago |
3-29113 3 days |
| 34092 |
staroperator author:staroperator |
feat(SetTheory/ZFC): properties of `ZFSet.omega` |
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory
awaiting-author
|
77/10 |
Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Ordinal.lean,Mathlib/SetTheory/ZFC/PSet.lean |
3 |
31 |
['Komyyy', 'YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot', 'staroperator', 'vihdzp'] |
YaelDillies assignee:YaelDillies |
115-83014 3 months ago |
28-34746 28 days ago |
99-2887 99 days |
| 34575 |
urkud author:urkud |
feat(Integral/Pi): add more convenience API |
---
It's some old code I want to revive&merge. I'll change it from draft when it's ready for review.
[](https://gitpod.io/from-referrer/) |
t-measure-probability |
406/1 |
Mathlib/MeasureTheory/Integral/Pi.lean |
1 |
1 |
['github-actions'] |
nobody |
115-77051 3 months ago |
116-11515 116 days ago |
0-22 22 seconds |
| 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.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
large-import
awaiting-author
|
61/39 |
Mathlib/Combinatorics/Enumerative/Schroder.lean |
1 |
20 |
['FlAmmmmING', 'YaelDillies', 'github-actions', 'vihdzp'] |
YaelDillies assignee:YaelDillies |
115-61056 3 months ago |
60-43677 60 days ago |
74-53798 74 days |
| 34130 |
FlAmmmmING author:FlAmmmmING |
feat(Combinatorics/SimpleGraph/Acyclic): Add new theorem `isTree_iff_uniqueShortest_path` |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-combinatorics
new-contributor
|
28/1 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean |
1 |
9 |
['IvanRenison', 'github-actions', 'metakunt', 'vlad902'] |
nobody |
115-35369 3 months ago |
124-19384 124 days ago |
2-6389 2 days |
| 34487 |
martinwintermath author:martinwintermath |
feat(LinearAlgebra/SesquilinearForm): add instances for SeparatingLeft, SeparatingRight and Nondegenerate |
Add typeclass instances for `Fact B.SeparatingLeft`, `Fact B.SeparatingRight`, `Fact B.Nondegenerate`:
* inferring `Fact B.flip.SeparatingLeft` from `Fact B.SeparatingRight` and vice versa
* inferring `Fact B.SeparatingLeft` and `Fact B.SeparatingRight` from `Fact B.Nondegenerate`
* inferring `Fact B.SeparatingLeft` and `Fact B.Nondegenerate` for `.id` and `Dual.eval`
* inferring `Fact B.Nondegenerate` from `B.IsPerfPair`
I also updated `PointedCone.dual_univ` to demonstrate the usefulness of these additions. Note that I needed to add an import to `Cone/Dual.lean` which somehow imports cardinals. So I needed to remove cardinals from `assert_not_exists`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
large-import
merge-conflict
label:t-algebra$ |
67/12 |
Mathlib/Geometry/Convex/Cone/Dual.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean,Mathlib/LinearAlgebra/PerfectPairing/Basic.lean,Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean |
2 |
4 |
['github-actions', 'martinwintermath', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
joelriou assignee:joelriou |
115-22023 3 months ago |
56-8360 56 days ago |
13-75766 13 days |
| 32872 |
JovanGerb author:JovanGerb |
feat(Data/Real/Basic): don't expose the definition of `Real` |
This PR refactors the definition of `Real` using the module system, so that `Real` cannot be seen as a structure anymore.
---
[](https://gitpod.io/from-referrer/)
|
t-data
merge-conflict
|
141/250 |
Archive/Imo/Imo2013Q5.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Counterexamples/SeminormLatticeNotDistrib.lean,Counterexamples/TopologistsSineCurve.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean,Mathlib/Data/Real/Basic.lean,MathlibTest/Complex.lean,MathlibTest/Continuity.lean,MathlibTest/Quaternion.lean,MathlibTest/Real.lean |
10 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
114-79304 3 months ago |
162-22703 162 days ago |
0-1695 28 minutes |
| 34096 |
urkud author:urkud |
chore(EMetric/*): rename theorems |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
789/737 |
Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/Binomial.lean,Mathlib/Analysis/Analytic/CPolynomial.lean,Mathlib/Analysis/Analytic/CPolynomialDef.lean,Mathlib/Analysis/Analytic/ChangeOrigin.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/ConvergenceRadius.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Analytic/IteratedFDeriv.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Analytic/Within.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Calculus/IteratedDeriv/ConvergenceOnBall.lean,Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/Analysis/Complex/TaylorSeries.lean,Mathlib/Analysis/Convex/EGauge.lean,Mathlib/Analysis/InnerProductSpace/Projection/Minimal.lean,Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Group/Bounded.lean,Mathlib/Analysis/Normed/Group/InfiniteSum.lean,Mathlib/Analysis/Normed/Group/SeparationQuotient.lean,Mathlib/Analysis/Normed/Group/Uniform.lean,Mathlib/Analysis/Normed/Lp/PiLp.lean,Mathlib/Analysis/Normed/Module/Connected.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/Normed/Operator/Completeness.lean,Mathlib/Analysis/Oscillation.lean,Mathlib/Analysis/SpecialFunctions/Exponential.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean,Mathlib/Geometry/Manifold/Riemannian/Basic.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Metric.lean,Mathlib/MeasureTheory/Constructions/Polish/Basic.lean,Mathlib/MeasureTheory/Covering/Differentiation.lean,Mathlib/MeasureTheory/Function/ContinuousMapDense.lean,Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean,Mathlib/MeasureTheory/Function/Egorov.lean,Mathlib/MeasureTheory/Function/LpSpace/Complete.lean,Mathlib/MeasureTheory/Function/SimpleFuncDense.lean,Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Measure/OpenPos.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Topology/Algebra/MetricSpace/Lipschitz.lean,Mathlib/Topology/Baire/CompleteMetrizable.lean,Mathlib/Topology/ContinuousMap/Bounded/Basic.lean,Mathlib/Topology/EMetricSpace/Basic.lean,Mathlib/Topology/EMetricSpace/Defs.lean,Mathlib/Topology/EMetricSpace/Diam.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean,Mathlib/Topology/EMetricSpace/Paracompact.lean,Mathlib/Topology/Instances/ENNReal/Lemmas.lean,Mathlib/Topology/MetricSpace/Basic.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/CantorScheme.lean,Mathlib/Topology/MetricSpace/Cauchy.lean,Mathlib/Topology/MetricSpace/Closeds.lean,Mathlib/Topology/MetricSpace/Contracting.lean,Mathlib/Topology/MetricSpace/Cover.lean,Mathlib/Topology/MetricSpace/Dilation.lean,Mathlib/Topology/MetricSpace/Gluing.lean,Mathlib/Topology/MetricSpace/HausdorffDistance.lean,Mathlib/Topology/MetricSpace/Holder.lean,Mathlib/Topology/MetricSpace/IsometricSMul.lean,Mathlib/Topology/MetricSpace/Isometry.lean,Mathlib/Topology/MetricSpace/PartitionOfUnity.lean,Mathlib/Topology/MetricSpace/Perfect.lean,Mathlib/Topology/MetricSpace/Polish.lean,Mathlib/Topology/MetricSpace/Pseudo/Basic.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean,Mathlib/Topology/MetricSpace/Snowflaking.lean,Mathlib/Topology/Metrizable/CompletelyMetrizable.lean,Mathlib/Topology/UniformSpace/Cauchy.lean,Mathlib/Topology/UniformSpace/Real.lean |
80 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
114-79053 3 months ago |
unknown |
0-0 0 seconds |
| 26087 |
grunweg author:grunweg |
feat: a `SliceModel` typeclass for models with corners for embedded submanifolds |
We define a new typeclass to denote a model with corners which "embeds" into another one:
there are an embedding of the underlying topological spaces and a continuous linear inclusion between the normed spaces,
which are compatible with the maps given by the models with corners.
This condition is used for defining smooth (immersed and embedded) submanifolds: for `M` to be a submanifold of `N`,
to boot their models with corners should be slice models. This will be defined in a future PR.
To prove this definition is workable, we construct many basic instances of slice models
- each model with corners is one over itself
- slice models are transitive
- each model with corners I embeds into two products `I.prod J` and `J.prod I`
- Euclidean n-half-space embeds into Euclidean n-space
- a Euclidean n-quadrant embeds into Euclidean half-space (hence into Euclidean n-space)
- if n\leq m, Euclidean n-space embeds into Euclidean m-space
[zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Infinite-dimensional.20manifolds/near/413117885)
-----------
- [x] depends on: #26083
- [x] depends on: #26082
- [x] depends on: #26086
- [x] depends on: #25705
This PR continues the work from #25505. |
t-differential-geometry |
234/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/SliceModel.lean |
2 |
4 |
['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
114-74887 3 months ago |
334-83608 334 days ago |
0-12097 3 hours |
| 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 |
114-61063 3 months ago |
65-84592 65 days ago |
61-8543 61 days |
| 25841 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): prove the Kővári–Sós–Turán theorem |
Prove the Kővári–Sós–Turán theorem (an upper bound on the Zarankiewicz function)
---
- [x] depends on: #19865
- [x] depends on: #20738
- [x] depends on: #27602
- [ ] depends on: #34633
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #20240.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/20240* |
t-combinatorics
blocked-by-other-PR
|
484/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/KovariSosTuran.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Zarankiewicz.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,docs/1000.yaml |
6 |
12 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'mitchell-horner'] |
kmill assignee:kmill |
114-51895 3 months ago |
114-55058 114 days ago |
37-76880 37 days |
| 31582 |
ADedecker author:ADedecker |
chore: more flavours of derivatives within the empty set |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
awaiting-CI
merge-conflict
|
33/11 |
Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/ConvergenceRadius.lean,Mathlib/Analysis/Analytic/Within.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Const.lean |
6 |
5 |
['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
grunweg assignee:grunweg |
114-38218 3 months ago |
unknown |
0-0 0 seconds |
| 34106 |
ADedecker author:ADedecker |
feat: map a seminorm along a surjective linear map |
---
- [x] depends on: #34105
- [x] depends on: #34104
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
501/43 |
Mathlib/Algebra/Order/Group/Pointwise/Bounds.lean,Mathlib/Analysis/Normed/Group/Quotient.lean,Mathlib/Analysis/Normed/Group/QuotientSeminorm.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/GaloisConnection/Basic.lean |
6 |
3 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot'] |
nobody |
114-4598 3 months ago |
unknown |
0-0 0 seconds |
| 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
[](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 |
113-73174 3 months ago |
167-73612 167 days ago |
0-2004 33 minutes |
| 29000 |
JovanGerb author:JovanGerb |
feat(Tactic/Push): add basic tags and tests |
This PR adds basic `@[push]` tags, and expands the `push` test file.
---
- [ ] depends on: #21965
- [ ] depends on: #30038
- [ ] depends on: #30039
- [ ] depends on: #30042
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-meta
|
290/196 |
Archive/Imo/Imo1988Q6.lean,Archive/ZagierTwoSquares.lean,Counterexamples/Phillips.lean,Mathlib/Algebra/Group/Action/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/ListOfFn.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/Notation/Pi/Defs.lean,Mathlib/Algebra/Order/Module/HahnEmbedding.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/Oscillation.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/PosLog.lean,Mathlib/CategoryTheory/Galois/Basic.lean,Mathlib/Combinatorics/Colex.lean,Mathlib/Combinatorics/Enumerative/InclusionExclusion.lean,Mathlib/Combinatorics/Hall/Finite.lean,Mathlib/Combinatorics/Matroid/Dual.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Data/Analysis/Filter.lean,Mathlib/Data/Finset/BooleanAlgebra.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Finset/Defs.lean,Mathlib/Data/Finset/Empty.lean,Mathlib/Data/Finset/Filter.lean,Mathlib/Data/Finset/Insert.lean,Mathlib/Data/Finset/Lattice/Basic.lean,Mathlib/Data/Finset/Max.lean,Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Finset/SDiff.lean,Mathlib/Data/Finset/Sups.lean,Mathlib/Data/Finset/Union.lean,Mathlib/Data/Fintype/Defs.lean,Mathlib/Data/Nat/Cast/Basic.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Nat/PrimeFin.lean,Mathlib/Data/Real/Archimedean.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Data/Set/Prod.lean,Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/RootSystem/Base.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Order.lean,Mathlib/MeasureTheory/Constructions/Cylinders.lean,Mathlib/MeasureTheory/Constructions/Polish/Basic.lean,Mathlib/MeasureTheory/Covering/Vitali.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/MeasureTheory/Measure/Restrict.lean,Mathlib/MeasureTheory/Measure/Typeclasses/Finite.lean,Mathlib/MeasureTheory/SetAlgebra.lean,Mathlib/NumberTheory/AbelSummation.lean,Mathlib/NumberTheory/Divisors.lean,Mathlib/NumberTheory/ModularForms/DedekindEta.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Order/CompleteLatticeIntervals.lean,Mathlib/Order/Interval/Finset/Defs.lean,Mathlib/Order/Interval/Set/Defs.lean,Mathlib/Order/LiminfLimsup.lean,Mathlib/Order/PartialSups.lean,Mathlib/Order/SetNotation.lean,Mathlib/Order/UpperLower/Basic.lean,Mathlib/Probability/Moments/ComplexMGF.lean,Mathlib/Probability/ProductMeasure.lean,Mathlib/RingTheory/HahnSeries/Summable.lean,Mathlib/RingTheory/Nilpotent/Defs.lean,Mathlib/Topology/Algebra/ProperAction/ProperlyDiscontinuous.lean,Mathlib/Topology/Bornology/BoundedOperation.lean,Mathlib/Topology/Bornology/Constructions.lean,Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/Compactness/Lindelof.lean,Mathlib/Topology/Connected/Clopen.lean,Mathlib/Topology/ContinuousMap/BoundedCompactlySupported.lean,Mathlib/Topology/EMetricSpace/BoundedVariation.lean,Mathlib/Topology/GDelta/MetrizableSpace.lean,Mathlib/Topology/JacobsonSpace.lean,Mathlib/Topology/Order/Compact.lean,Mathlib/Topology/Order/HullKernel.lean,Mathlib/Topology/Perfect.lean,Mathlib/Topology/Sets/CompactOpenCovered.lean,MathlibTest/push.lean |
87 |
7 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
113-72378 3 months ago |
239-57963 239 days ago |
0-10831 3 hours |
| 27053 |
tb65536 author:tb65536 |
feat: Galois group of `x^n - x - 1` |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
large-import
merge-conflict
label:t-algebra$ |
270/155 |
Archive/Wiedijk100Theorems/AbelRuffini.lean,Mathlib/RingTheory/Polynomial/Morse.lean,Mathlib/RingTheory/Polynomial/Selmer.lean |
3 |
8 |
['AntoineChambert-Loir', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
113-72357 3 months ago |
316-64074 316 days ago |
0-1 1 second |
| 29792 |
robertmaxton42 author:robertmaxton42 |
feat(RelCWComplex): a (relative, concrete) CW complex is the colimit of its skeleta |
Adds:
* `RelCWComplex.Subcomplex.isCoherentWith_cover`: a (relative) CW complex is coherent with any collection of subcomplexes that cover.
* `RelCWComplex.descBySkeletonLT` and `descBySkeleton`: construct a continuous map from a complex by providing a family of compatible maps from each skeleton and the base. `CWComplex.descBySkeleton` skips the base.
- [ ] depends on: #29788
- [ ] depends on: #29790
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
large-import
t-topology
|
672/31 |
Mathlib/Data/Set/Subset.lean,Mathlib/Data/Set/UnionLift.lean,Mathlib/Topology/CWComplex/Classical/Basic.lean,Mathlib/Topology/CWComplex/Classical/Finite.lean,Mathlib/Topology/CWComplex/Classical/Subcomplex.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 |
10 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'scholzhannah'] |
nobody |
113-72251 3 months ago |
248-61934 248 days ago |
0-104 1 minute |
| 24100 |
eric-wieser author:eric-wieser |
feat: restore some explicit binders from Lean 3 |
Part of #24099
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
tech debt
t-topology
t-algebra
label:t-algebra$ |
39/42 |
Mathlib/Data/FinEnum.lean,Mathlib/FieldTheory/Galois/Profinite.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/Compactness/CompactlyGeneratedSpace.lean,Mathlib/Topology/MetricSpace/IsometricSMul.lean,Mathlib/Topology/Metrizable/CompletelyMetrizable.lean,Mathlib/Topology/Metrizable/Uniformity.lean,Mathlib/Topology/Order.lean,Mathlib/Topology/Order/LowerUpperTopology.lean,Mathlib/Topology/UniformSpace/UniformEmbedding.lean |
10 |
3 |
['github-actions', 'grunweg', 'leanprover-community-bot-assistant'] |
nobody |
113-72155 3 months ago |
404-63758 404 days ago |
0-954 15 minutes |
| 34633 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): define the Zarankiewicz function |
Defines the Zarankiewicz function $z(m, n; s, t)$ in terms of bipartite graphs.
---
- [x] depends on: #34632
This comes from splitting up #25841 into smaller PRs.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
blocked-by-other-PR
|
247/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Zarankiewicz.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean |
4 |
30 |
['SnirBroshi', 'YaelDillies', 'b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mitchell-horner'] |
nobody |
113-50967 3 months ago |
14-64556 14 days ago |
59-82762 59 days |
| 29411 |
llllvvuu author:llllvvuu |
feat(LinearAlgebra/Matrix/Rank): rank factorization |
The rank factorization derived from `Module.finBasis`.
Co-authored-by: Aristotle Harmonic
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
20/0 |
Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean |
2 |
3 |
['github-actions', 'jcommelin', 'mathlib4-merge-conflict-bot'] |
jcommelin assignee:jcommelin |
113-25618 3 months ago |
213-15321 213 days ago |
46-58011 46 days |
| 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
---
- [ ] depends on: #30150
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
large-import
new-contributor
t-category-theory
|
839/125 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Cocartesian/Basic.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/Tactic/ToAdditive/GuessName.lean |
5 |
4 |
['github-actions', 'imbrem', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
113-25605 3 months ago |
231-62574 231 days ago |
0-1234 20 minutes |
| 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.
---
- [ ] depends on: #30150
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
large-import
new-contributor
t-category-theory
|
524/140 |
Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/MonoidalComp.lean,Mathlib/Tactic/ToAdditive/GuessName.lean |
6 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
113-25598 3 months ago |
231-68227 231 days ago |
0-241 4 minutes |
| 29790 |
robertmaxton42 author:robertmaxton42 |
feat(IsCoherentWith) : families of maps from a coherent collection of subspaces lift uniquely to maps from the total space |
* Adds `IsCoherentWith.liftCover`, which lifts a compatible family of continuous maps from each member of a coherent set of subspaces to a single continuous map on the whole space.
* Adds `IsCoherentWith.liftCover'`, which does the same but for a set of coherent subspaces given as the range of a function into `Set X` rather than as an explicit `Set (Set X).`
- [ ] depends on: #29788
---
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
large-import
t-topology
|
350/3 |
Mathlib/Data/Set/Subset.lean,Mathlib/Data/Set/UnionLift.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 |
7 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
113-25517 3 months ago |
248-62594 248 days ago |
0-119 1 minute |
| 30253 |
luigi-massacci author:luigi-massacci |
feat(Analysis/Distribution/ContDiffMapSupportedIn): Add a wrapper for iteratedFDeriv on the type of bundled smooth compactly supported maps |
Add a wrapper for `iteratedFDeriv` and `fderiv` and on `D_K`, specializing the definitions for `D_K^n` for the case `n = \top` .
Co-authored by: @ADedecker
---
- [x] depends on: #30240
- [x] depends on: #30239
- [x] depends on: #30236
- [x] depends on: #30202
- [x] depends on: #30201
- [x] depends on: #30199
- [x] depends on: #30198
- [x] depends on: #30197
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
blocked-by-other-PR
|
463/18 |
Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean |
1 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] |
nobody |
113-25500 3 months ago |
231-80847 231 days ago |
0-599 9 minutes |
| 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).
---
[](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 |
113-25372 3 months ago |
139-9504 139 days ago |
25-76907 25 days |
| 33470 |
erdOne author:erdOne |
feat: generalize `Polynomial.freeMonic` |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
merge-conflict
label:t-algebra$ |
80/52 |
Mathlib.lean,Mathlib/Algebra/Polynomial/FreeMonic.lean,Mathlib/RingTheory/Polynomial/UniversalFactorizationRing.lean |
3 |
3 |
['Ruben-VandeVelde', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
113-25247 3 months ago |
122-75313 122 days ago |
20-81395 20 days |
| 30920 |
callesonne author:callesonne |
feat(Category/Grpd): define the bicategory of groupoids |
This is a migration of #25561 to a fork.
---
- [x] depends on: #30132
[](https://gitpod.io/from-referrer/)
|
t-category-theory
large-import
merge-conflict
|
133/46 |
Mathlib/CategoryTheory/Bicategory/InducedBicategory.lean,Mathlib/CategoryTheory/Category/Grpd.lean,Mathlib/CategoryTheory/ConcreteCategory/Bundled.lean |
3 |
6 |
['Jlh18', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
113-17437 3 months ago |
211-33121 211 days ago |
0-117 1 minute |
| 30121 |
idontgetoutmuch author:idontgetoutmuch |
feat(Mathlib/Geometry/Manifold): principal fiber bundle core |
A structure capturing what it means to be a principal fibre bundle.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-differential-geometry
new-contributor
|
227/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/PrincipalFiberBundle/PrincipalGBundle.lean |
2 |
8 |
['github-actions', 'grunweg', 'idontgetoutmuch', 'mathlib4-merge-conflict-bot'] |
hrmacbeth assignee:hrmacbeth |
113-17313 3 months ago |
210-8759 210 days ago |
25-16284 25 days |
| 27918 |
kim-em author:kim-em |
chore: refactor WithBot/WithTop as structures |
For now we are still relying on `WithBot` and `WithTop` being defeq, but there is no impossible obstacle to converting them *both* to the same structure.
This PR begins this effort; the modified files are all compiling, but there are more files that still have problems.
Help on this (either ask to push to my branch, PR to my branch, or just adopt the whole thing!) very much appreciated. |
file-removed
merge-conflict
WIP
|
971/361 |
Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/Monoid/ToMulBot.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Split.lean,Mathlib/Analysis/BoxIntegral/Partition/SubboxInduction.lean,Mathlib/Analysis/Meromorphic/Order.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Data/Countable/Basic.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/Data/ENat/Defs.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/Data/Finset/WithBot.lean,Mathlib/Data/Fintype/WithTopBot.lean,Mathlib/Data/List/MinMax.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/Ordmap/Invariants.lean,Mathlib/Data/Ordmap/Ordset.lean,Mathlib/Data/Sum/Order.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/Logic/Embedding/WithBot.lean,Mathlib/Logic/Equiv/WithBot.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean,Mathlib/MeasureTheory/Group/Measure.lean,Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/Order/Category/BddLat.lean,Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/GaloisConnection/Basic.lean,Mathlib/Order/Hom/WithTopBot.lean,Mathlib/Order/Interval/Basic.lean,Mathlib/Order/Interval/Finset/Defs.lean,Mathlib/Order/Interval/Set/WithBotTop.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Order/Set.lean,Mathlib/Order/SuccPred/Basic.lean,Mathlib/Order/TypeTags.lean,Mathlib/Order/WithBot/Basic.lean,Mathlib/Order/WithBot/BooleanAlgebra.lean,Mathlib/Order/WithBot/NAry.lean,Mathlib/RingTheory/OrderOfVanishing.lean,Mathlib/RingTheory/UniqueFactorizationDomain/FactorSet.lean,Mathlib/SetTheory/Cardinal/ENat.lean,Mathlib/Topology/Algebra/Ring/Real.lean,Mathlib/Topology/Category/LightProfinite/Sequence.lean,Mathlib/Topology/Compactification/OnePoint/Basic.lean,Mathlib/Topology/Instances/ENat.lean,MathlibTest/lift.lean |
56 |
18 |
['eric-wieser', 'github-actions', 'kim-em', 'mathlib4-merge-conflict-bot'] |
nobody |
113-17074 3 months ago |
231-83517 231 days ago |
18-9929 18 days |
| 29605 |
alreadydone author:alreadydone |
experiment(Algebra): unbundle npow/zpow from Monoid/InvDivMonoid |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-CI
WIP
label:t-algebra$ |
1527/1020 |
Mathlib/Algebra/AddTorsor/Defs.lean,Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/BigOperators/Group/Finset/Lemmas.lean,Mathlib/Algebra/BigOperators/Group/Finset/Piecewise.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/Pi.lean,Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Algebra/BigOperators/Ring/List.lean,Mathlib/Algebra/BigOperators/Ring/Multiset.lean,Mathlib/Algebra/Category/MonCat/ForgetCorepresentable.lean,Mathlib/Algebra/Divisibility/Basic.lean,Mathlib/Algebra/Divisibility/Units.lean,Mathlib/Algebra/Field/Basic.lean,Mathlib/Algebra/Field/Power.lean,Mathlib/Algebra/Field/Rat.lean,Mathlib/Algebra/Group/Action/Basic.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Group/Commute/Basic.lean,Mathlib/Algebra/Group/Commute/Defs.lean,Mathlib/Algebra/Group/Commute/Units.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Even.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Fin/Basic.lean,Mathlib/Algebra/Group/Finsupp.lean,Mathlib/Algebra/Group/Hom/Basic.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Group/Hom/End.lean,Mathlib/Algebra/Group/Hom/Instances.lean,Mathlib/Algebra/Group/Idempotent.lean,Mathlib/Algebra/Group/InjSurj.lean,Mathlib/Algebra/Group/Int/Defs.lean,Mathlib/Algebra/Group/Invertible/Basic.lean,Mathlib/Algebra/Group/Irreducible/Lemmas.lean,Mathlib/Algebra/Group/Nat/Defs.lean,Mathlib/Algebra/Group/Nat/Hom.lean,Mathlib/Algebra/Group/NatPowAssoc.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/Group/PUnit.lean,Mathlib/Algebra/Group/Pi/Basic.lean,Mathlib/Algebra/Group/Pi/Lemmas.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Group/Semiconj/Basic.lean,Mathlib/Algebra/Group/Semiconj/Defs.lean,Mathlib/Algebra/Group/Semiconj/Units.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/Algebra/Group/Subgroup/ZPowers/Basic.lean,Mathlib/Algebra/Group/Submonoid/BigOperators.lean,Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/Support.lean,Mathlib/Algebra/Group/Torsion.lean,Mathlib/Algebra/Group/TransferInstance.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean,Mathlib/Algebra/Group/ULift.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Basic.lean,Mathlib/Algebra/GroupWithZero/Commute.lean,Mathlib/Algebra/GroupWithZero/Conj.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/GroupWithZero/Divisibility.lean,Mathlib/Algebra/GroupWithZero/Hom.lean,Mathlib/Algebra/GroupWithZero/Indicator.lean,Mathlib/Algebra/GroupWithZero/InjSurj.lean,Mathlib/Algebra/GroupWithZero/Semiconj.lean,Mathlib/Algebra/GroupWithZero/ULift.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/GroupWithZero/Units/Lemmas.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/Algebra/Module/NatInt.lean,Mathlib/Algebra/NoZeroSMulDivisors/Defs.lean,Mathlib/Algebra/Order/AddGroupWithTop.lean,Mathlib/Algebra/Order/BigOperators/Group/List.lean,Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/List.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/Multiset.lean,Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Algebra/Order/Group/Action.lean,Mathlib/Algebra/Order/Group/Basic.lean,Mathlib/Algebra/Order/Group/DenselyOrdered.lean,Mathlib/Algebra/Order/Group/Finset.lean,Mathlib/Algebra/Order/Group/Lattice.lean,Mathlib/Algebra/Order/Group/Multiset.lean,Mathlib/Algebra/Order/Group/PosPart.lean,Mathlib/Algebra/Order/Group/Synonym.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean |
162 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
113-16923 3 months ago |
254-80480 254 days ago |
0-2 2 seconds |
| 25474 |
adomani author:adomani |
test for .lean/.md check |
A test PR for #25473.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
file-removed
WIP
|
10/1 |
.github/workflows/lint_and_suggest_pr.yml,Mathlib.lean,Mathlib/NumberTheory/NumberField/CMField.Lean |
3 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
113-16906 3 months ago |
354-28952 354 days ago |
0-907 15 minutes |
| 33991 |
grunweg author:grunweg |
test: pretty-printing of class abbrev |
Lake build fails with an error in batteries: what am I doing wrong?
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
file-removed
large-import
WIP
|
118/303 |
.github/workflows/daily.yml,Mathlib.lean,Mathlib/Algebra/Group/Action/TransferInstance.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean,Mathlib/Algebra/Notation/Defs.lean,Mathlib/Algebra/Notation/Lemmas.lean,Mathlib/Algebra/Notation/Pi/Defs.lean,Mathlib/Algebra/Notation/Prod.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Group/Unbundled/Basic.lean,Mathlib/CategoryTheory/Limits/Yoneda.lean,Mathlib/Data/Finite/Defs.lean,Mathlib/Data/Int/Cast/Pi.lean,Mathlib/Data/Int/Init.lean,Mathlib/Data/List/Flatten.lean,Mathlib/Data/List/GetD.lean,Mathlib/Data/List/Indexes.lean,Mathlib/Data/Multiset/Defs.lean,Mathlib/Data/Nat/Basic.lean,Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Init.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfFixingSubgroup.lean,Mathlib/Lean/Meta/Simp.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/Order/GaloisConnection/Defs.lean,Mathlib/Order/Monotone/Defs.lean,Mathlib/RingTheory/Valuation/Discrete/Basic.lean,Mathlib/SetTheory/Cardinal/Defs.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/FunProp/Decl.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,Mathlib/Tactic/NormNum/Core.lean,Mathlib/Tactic/Positivity/Core.lean,Mathlib/Tactic/Push/Attr.lean,Mathlib/Tactic/Widget/LibraryRewrite.lean,Mathlib/Topology/Defs/Basic.lean,Mathlib/Util/AssertExists.lean,MathlibTest/AssertExists.lean,MathlibTest/CalcQuestionMark.lean,MathlibTest/DeprecatedSyntaxLinter.lean,MathlibTest/DirectoryDependencyLinter/Test.lean,MathlibTest/EmptyLine.lean,MathlibTest/ExtractGoal.lean,MathlibTest/HaveLetLinter.lean,MathlibTest/LibrarySearch/IsCompact.lean,MathlibTest/LintStyle.lean,MathlibTest/TacticAnalysis.lean,MathlibTest/UnusedInstancesInType.lean,MathlibTest/Util/PrintSorries.lean,MathlibTest/WhitespaceLinter.lean,MathlibTest/aesop_cat.lean,MathlibTest/eqns.lean,MathlibTest/fast_instance.lean,MathlibTest/globalAttributeIn.lean,MathlibTest/hintAll.lean,MathlibTest/jacobiSym.lean,MathlibTest/slim_check.lean,MathlibTest/toAdditive.lean,lake-manifest.json,lakefile.lean,lean-toolchain |
61 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
113-16849 3 months ago |
130-31534 130 days ago |
0-111 1 minute |
| 31110 |
bryangingechen author:bryangingechen |
ci: don't delete merged branches |
This will only affect PRs that are not from forks (e.g. this one).
The motivation is that #30913 was closed automatically due to its target branch deleted after #30912 was merged. See also [#PR reviews > #30913 feat(Computability/Language):add subtraction notation @ 💬](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2330913.20feat.28Computability.2FLanguage.29.3Aadd.20subtraction.20notation/near/548052556).
Looking at the history, it looks like this option hasn't been changed since we added bors to mathlib3: https://github.com/leanprover-community/mathlib3/pull/2322
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
CI
merge-conflict
|
1/1 |
bors.toml |
1 |
5 |
['bryangingechen', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'urkud'] |
nobody |
113-16593 3 months ago |
205-85008 205 days ago |
0-64677 17 hours |
| 33707 |
jcommelin author:jcommelin |
ci: add commit verification for transient and automated commits |
This PR adds a CI workflow that verifies PRs correctly use transient and automated commits, and provides reviewers with a clear summary of which commits need human review.
Commit types:
- **Substantive commits**: Regular commits requiring human review
- **Automated commits** (`x: `): CI verifies the commit is the exact result of running the command on the parent
- **Transient commits** (`transient: ...`): CI verifies these have zero net effect on the final tree
What this PR adds:
- `scripts/verify_commits.sh` - Main verification script
- `scripts/verify_commits_summary.sh` - Generates PR comment from JSON output
- `.github/workflows/commit_verification.yml` - GitHub Actions workflow
---
### Testing locally
The commit at `HEAD^` contains test branch creation scripts. These can be used for testing the functionality of the two shell scripts. To test:
```bash
# Checkout the commit with test scripts
git checkout HEAD^
# Create a test branch based on your current branch (before checkout)
# Save your branch name first:
BASE_BRANCH=$(git rev-parse --abbrev-ref HEAD)
git checkout HEAD^
./scripts/create_test_branch.sh $BASE_BRANCH
# Run verification (should pass)
./scripts/verify_commits.sh $BASE_BRANCH
./scripts/verify_commits.sh $BASE_BRANCH --json | ./scripts/verify_commits_summary.sh repo_foo 12345
# Clean up and return
git checkout $BASE_BRANCH && git branch -D ci-x-test-*
```
Available test scripts:
- `create_test_branch.sh` - Creates a branch with valid transient + auto commits (should pass)
- `create_test_branch_fail_conflict.sh` - Transient commits cause cherry-pick conflicts (should fail)
- `create_test_branch_fail_transient.sh` - Transient commits have net effect (should fail)
- `create_test_branch_fail_auto.sh` - Auto commit doesn't match command output (should fail)
🤖 Generated with [Claude Code](https://claude.com/claude-code) |
CI
merge-conflict
LLM-generated
|
685/0 |
.github/workflows/commit_verification.yml,scripts/verify_commits.sh,scripts/verify_commits_summary.sh |
3 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
113-16588 3 months ago |
137-57674 137 days ago |
0-56518 15 hours |
| 31102 |
JOSHCLUNE author:JOSHCLUNE |
feat: require LeanHammer |
Experimenting with adding LeanHammer as a mathlib dependency
---
[](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 |
113-16080 3 months ago |
206-74619 206 days ago |
0-6852 1 hour |
| 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 |
113-15812 3 months ago |
115-16709 115 days ago |
26-3983 26 days |
| 34007 |
martinwintermath author:martinwintermath |
feat(Algebra/Module/Submodule/Dual): dual operator for submodules |
Add new file `Dual.lean` that defines the dual operator for submodules. The main definition is
* `Submodule.dual`: given a bilinear pairing `p` between two modules `M₁` and `M₂` and a submodule `S` in `M₁`, `Submodule.dual p S` is the submodule in `M₂` consisting of all points `y` such that `0 = p x y` for all `x ∈ S`.
For reasons of generality, `p` is actually a general sesqui-bilinear map, that is, of the form
`p : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M`.
This implementation of the `dual` operator for submodules is written to parallel the implementation of `PointedCone.dual`.
Include some additional results:
* theorems that represent the dual as the kernel of a linear map
* theorems for the relation between dual and the `dualAnnihilator` and `dualCoannihilator` of a submodule.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
236/0 |
Mathlib.lean,Mathlib/Algebra/Module/Submodule/Dual.lean |
2 |
7 |
['github-actions', 'joelriou', 'martinwintermath', 'mathlib-bors'] |
joelriou assignee:joelriou |
113-11849 3 months ago |
114-80708 114 days ago |
14-81283 14 days |
| 34473 |
JovanGerb author:JovanGerb |
feat: remove `Membership` instance for `SetLike` |
This PR is an attempt to change the underlying expression of `x ∈ s` when `s` is not a `Set α`, but a `SetLike`, such as `Finset α` or `Subgroup α`. Instead of having a `Membership` instance, we use the membership instance on `Set α`, combined with the coercion to `Set α`. This has various benefits
- There is now only one form instead of two to say the same thing. This saves us a lot of rewrites that will now become syntactic equalities.
- It is not needed anymore to create a `mem_` lemma for every single `coe_` lemma in order to maintain simp confluence
Unfortunately, doing this refactor is going to be a very big task, simply because so many proofs break as a result of `simp` now trying to simplify away the coercion where there was no coercion before.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory
merge-conflict
|
136/96 |
Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Algebra/Group/Pointwise/Set/BigOperators.lean,Mathlib/Algebra/Group/Subgroup/Pointwise.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Group/Subsemigroup/Defs.lean,Mathlib/Algebra/Module/Submodule/Lattice.lean,Mathlib/Algebra/Module/Submodule/Map.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/Order/BigOperators/Group/Finset.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Finset/Defs.lean,Mathlib/Data/Finset/Erase.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/Finset/Insert.lean,Mathlib/Data/Finset/Max.lean,Mathlib/Data/Finset/NAry.lean,Mathlib/Data/Finset/NoncommProd.lean,Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Finset/Preimage.lean,Mathlib/Data/Finset/Prod.lean,Mathlib/Data/Finset/Sigma.lean,Mathlib/Data/Finset/Union.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/Fintype/EquivFin.lean,Mathlib/Data/Set/Finite/Basic.lean,Mathlib/Data/SetLike/Basic.lean,Mathlib/LinearAlgebra/Span/Basic.lean,Mathlib/LinearAlgebra/Span/Defs.lean,Mathlib/Logic/Embedding/Basic.lean,Mathlib/Order/Closure.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/CompleteLattice/Finset.lean,Mathlib/Order/ConditionallyCompleteLattice/Finset.lean,Mathlib/Order/Interval/Finset/Basic.lean,Mathlib/Order/Interval/Finset/Defs.lean,MathlibTest/set_like.lean |
40 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
112-73791 3 months ago |
118-55576 118 days ago |
0-8221 2 hours |
| 34271 |
gasparattila author:gasparattila |
feat(Topology/Sets): second-countability of `(Nonempty)Compacts` |
---
- [x] depends on: #34266
- [x] depends on: #34268
[](https://gitpod.io/from-referrer/)
|
t-topology
blocked-by-other-PR
|
308/93 |
Mathlib/Topology/MetricSpace/Closeds.lean,Mathlib/Topology/Sets/VietorisTopology.lean |
5 |
9 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'scholzhannah'] |
urkud assignee:urkud |
112-72505 3 months ago |
16-77332 16 days ago |
53-86230 53 days |
| 34716 |
CoolRmal author:CoolRmal |
feat: a right continuous strongly adapted process is progressively measurable |
---
[](https://gitpod.io/from-referrer/)
|
WIP
brownian
t-measure-probability
merge-conflict
|
164/0 |
Mathlib/Probability/Process/Adapted.lean |
1 |
3 |
['CoolRmal', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
112-30567 3 months ago |
112-30616 112 days ago |
0-23 23 seconds |
| 31008 |
RemyDegenne author:RemyDegenne |
refactor: generalize the index of the process in the Doob decomposition |
Generalize the index set for the Doob decomposition of an adapted process from Nat to a type with `LinearOrder`, `LocallyFiniteOrder`, `OrderBot`, `SuccOrder` (there is an order iso from that type to an interval of Nat).
Motivation: to prove the Doob-Meyer decomposition we want to take a process indexed by [0,1] and consider sub-processes indexed by the dyadic points k*2^{-n} for a fixed n. We could use a process indexed by Nat, but we would have to invent values for k > 2^n while respecting the other properties of the process, and being able to index by the dyadics directly seems easier.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-measure-probability
merge-conflict
|
341/192 |
Mathlib/Order/SuccPred/LinearLocallyFinite.lean,Mathlib/Probability/Martingale/Basic.lean,Mathlib/Probability/Martingale/BorelCantelli.lean,Mathlib/Probability/Martingale/Centering.lean,Mathlib/Probability/Martingale/OptionalStopping.lean,Mathlib/Probability/Martingale/Upcrossing.lean,Mathlib/Probability/Process/Adapted.lean |
7 |
3 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
112-29120 3 months ago |
209-14437 209 days ago |
0-2 2 seconds |
| 30122 |
xroblot author:xroblot |
Development branch (1) |
Stickelberger
---
|
WIP
large-import
merge-conflict
|
4748/32 |
Mathlib.GaloisTower.lean,Mathlib/AddCharTrace.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Map.lean,Mathlib/Cyclotomic.lean,Mathlib/Data/Nat/Digits/Lemmas.lean,Mathlib/Duality.lean,Mathlib/FieldTheory/Finite/Extension.lean,Mathlib/FieldTheory/PrimeField.lean,Mathlib/GalCyclotomic.lean,Mathlib/GaussSum.lean,Mathlib/GroupTheory/FiniteAbelian/Duality.lean,Mathlib/KroneckerWeber_Blueprint.lean,Mathlib/Logic/Equiv/Set.lean,Mathlib/MWE.lean,Mathlib/Misc.lean,Mathlib/NumberTheory/MulChar/Basic.lean,Mathlib/NumberTheory/NumberField/Basic.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Basic.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Galois.lean,Mathlib/NumberTheory/NumberField/Ideal/Basic.lean,Mathlib/NumberTheory/NumberField/Ideal/KummerDedekind.lean,Mathlib/RingTheory/FiniteType.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Ideal/Int.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/Ideal/Pointwise.lean,Mathlib/RingTheory/Invariant/Basic.lean,Mathlib/Sandbox.lean,Mathlib/StickElt.lean,Mathlib/Teichmuller.lean |
35 |
13 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
112-4869 3 months ago |
235-25457 235 days ago |
0-12 12 seconds |
| 30620 |
plp127 author:plp127 |
feat: copy LE and LT on preorder and partial order |
Adds `Preorder.copy` and `PartialOrder.copy` for replacing the le and lt with provably equal ones.
---
[](https://gitpod.io/from-referrer/)
|
t-order
awaiting-author
|
22/0 |
Mathlib/Order/Defs/PartialOrder.lean |
1 |
7 |
['Vierkantor', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127'] |
Vierkantor assignee:Vierkantor |
110-80750 3 months ago |
181-25690 181 days ago |
31-54617 31 days |
| 34000 |
grunweg author:grunweg |
chore: golf using fun_prop [foo] syntax |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
|
14/8 |
Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/SpecialFunctions/BinaryEntropy.lean,Mathlib/Analysis/SpecialFunctions/Exp.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/InformationTheory/KullbackLeibler/KLFun.lean,MathlibTest/fun_prop_dev.lean |
6 |
6 |
['Vierkantor', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
nobody |
110-80741 3 months ago |
130-18025 130 days ago |
0-1 1 second |
| 34291 |
YellPika author:YellPika |
feat(Data): a monad for partial computations |
This is the code corresponding to [mathlib4 > A monad for partial computations](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/A.20monad.20for.20partial.20computations/with/569619800). Not currently intended to be merged.
This PR depends on #33941. The only changes relevant to this discussion are in `OmegaPart.lean`, `OmegaProp.lean`, and `Quot.lean`.
# Original Message
Inspired by @**Aaron Liu**'s comments in #**mathlib4>deprecate Mathlib.Data.Nat.PartENat?@538009243** and #**Is there code for X?>Divergence monad@538020049** I made an attempt at constructing a monad for partial computations with a computable `OmegaCompletePartialOrder` instance (neither `Option` nor `Part` support this use case). My solution consists of three parts.
**A computable version of `Quotient.choice`.** As mentioned in #**lean4>Quot.lift for dependent products@467436416** , the "obvious" computational interpretation of `Quotient.choice : (∀i:I, @Quotient (A i) …) → @Quotient (∀i:I, A i)` is not sound. However, we _can_ provide a sound computational interpretation when we restrict `I` to `ℕ`:
```lean
unsafe def Quotient.countableChoice_impl {α : Nat → Type*} {S : ∀ i, Setoid (α i)}
(f : ∀ i, Quotient (S i)) :
@Quotient (∀ i, α i) (by infer_instance) :=
Quotient.lift₂
(fun z s ↦ ⟦fun | .zero => z | .succ n => s n⟧)
(fun z₁ s₁ z₂ s₂ h₁ h₂ ↦ by
apply sound
rintro ⟨_|n⟩
· apply h₁
· apply h₂)
(f 0)
(countableChoice_impl (fun n ↦ f n.succ))
@[implemented_by Quotient.countableChoice_impl]
def Quotient.countableChoice {α : Nat → Type*} {S : ∀ i, Setoid (α i)}
(f : ∀ i, Quotient (S i)) :
@Quotient (∀ i, α i) (by infer_instance) :=
Quotient.choice f
```
My justification for the soundness of this implementation comes from the fact that only uses existing (sound and computable) functions + general recursion. The implementation is found [here](https://github.com/YellPika/mathlib4/blob/99d38f164a97c7aa225283ef6016f0279419a994/Mathlib/Data/Quot.lean#L430) (it uses `unquot` instead of recursion for performance reasons, but should be equivalent).
**A type of semi-computable propositions.** Next, I define a type of semi-computable propositions `ΩProp` as a quotient of the type of boolean sequences `(ℕ → Bool) / ≈`, where `p ≈ q ≝ (∃n, p n) ↔ (∃n, q n)`. A sequence is interpreted as "true" if at least one element in the sequence is `true`, and the quotient relation ensures that we cannot observe the difference between different "true" sequences. The `ΩProp` type has a (computable) `OmegaCompletePartialOrder`, and `Quotient.countableChoice` is used in the implementation of `ωSup`.
The implementation of this type is [here](https://github.com/YellPika/mathlib4/blob/quot-choice-compute/Mathlib/Data/OmegaProp.lean).
**A type of semi-computable computations.** Finally, I define the type `ΩPart A` of semi-computable computations returning a value of type `A`. The definition of `ΩPart` is the same as `Part` with `ΩProp` swapped for `Prop`. Again, `ΩPart A` has a (computable) `OmegaCompletePartialOrder` instance. The implementation can be found [here](https://github.com/YellPika/mathlib4/blob/quot-choice-compute/Mathlib/Data/OmegaPart.lean).
This was mainly just a fun experiment and the code is not ready to be (or perhaps should not be) put in mathlib. I thought I should post it here to see if 1) there is any interest or 2) an implementation already exists that has escaped my notice. |
new-contributor
large-import
merge-conflict
|
1157/40 |
Mathlib/Data/OmegaPart.lean,Mathlib/Data/OmegaProp.lean,Mathlib/Data/Quot.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/ScottContinuity.lean |
5 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
110-80733 3 months ago |
unknown |
0-0 0 seconds |
| 34202 |
or4nge19 author:or4nge19 |
feat(Topology/MetricSpace): annuli in (pseudo)(e)metric spaces |
From the Carleson project.
Co-authored-by: James Sundstrom
---
- [x] depends on: #34200
[](https://gitpod.io/from-referrer/)
|
carleson
t-topology
awaiting-author
|
288/0 |
Mathlib.lean,Mathlib/Topology/MetricSpace/Annulus.lean |
2 |
23 |
['MichaelStollBayreuth', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'or4nge19'] |
nobody |
110-74240 3 months ago |
110-74240 110 days ago |
10-6519 10 days |
| 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 |
18 |
['SnirBroshi', 'christian-oudard', 'github-actions', 'j-loreaux', 'plp127'] |
j-loreaux assignee:j-loreaux |
110-53509 3 months ago |
111-3962 111 days ago |
14-69133 14 days |
| 33601 |
nielstron author:nielstron |
feat(Computability/ContextFreeGrammar): Concatenation of CFGs is CFG |
---
- [ ] depends on: #33599
- [ ] depends on: #33592
[](https://gitpod.io/from-referrer/)
|
t-computability
new-contributor
blocked-by-other-PR
|
941/0 |
Mathlib/Computability/ContextFreeGrammar.lean |
1 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
110-31222 3 months ago |
140-15085 140 days ago |
0-412 6 minutes |
| 33080 |
sinhp author:sinhp |
feat(Category Theory): Cartesian Natural Transformation |
This PR defines cartesian natural transformations between functors and proves they are closed under horizontal and vertical composition. Also we prove the following results:
- `NatTrans.isCartesian_of_discrete` shows that any natural transformation between functors from a
discrete category is cartesian.
- `NatTrans.isCartesian_of_isIso` shows that any natural isomorphism is cartesian.
- `NatTrans.isIso_of_isCartesian_of_isIso_app_terminal` shows that a cartesian natural
transformation is an isomorphism if its component at a terminal object is an isomorphism.
- `NatTrans.isCartesian_of_isPullback_isTerminal_from` shows that a natural transformation is
cartesian if all its naturality squares to the terminal object are pullback squares.
This material is adapted from the polynomial functors project developed during the
Trimester "Prospects of Formal Mathematics" at the Hausdorff Institute (HIM) in Bonn:
https://github.com/sinhp/Poly
Co-authored-by: Wojciech Nawrocki
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
awaiting-author
|
145/0 |
Mathlib.lean,Mathlib/CategoryTheory/NatTransCartesian.lean |
2 |
8 |
['dagurtomas', 'github-actions', 'joelriou', 'robin-carlier', 'sinhp'] |
nobody |
109-33912 3 months ago |
145-5542 145 days ago |
3-19675 3 days |
| 34397 |
Parcly-Taxel author:Parcly-Taxel |
feat: integral representation of the AGM |
---
- [x] depends on: #32892 |
t-analysis
awaiting-author
|
294/0 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Integrals/ArithmeticGeometricMean.lean |
2 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot', 'sgouezel'] |
sgouezel assignee:sgouezel |
109-25249 3 months ago |
109-25249 109 days ago |
7-50633 7 days |
| 34018 |
CoolRmal author:CoolRmal |
feat: series representation of cosecant |
This PR adds
1. Some trignometric identities.
2. `tprod_pnat_odd_mul_even`, which is an invariant of [tprod_even_mul_odd](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Algebra/InfiniteSum/NatInt.html#tprod_even_mul_odd)
3. a series representation of `fun z => π / sin (π * z)`. An outline of the proof can be found in the PNT project: https://alexkontorovich.github.io/PrimeNumberTheoremAnd/blueprint/zeta-chapter.html#lem:abadeuleulmit1
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
awaiting-author
|
140/0 |
Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Complex.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean,Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean |
4 |
12 |
['CBirkbeck', 'CoolRmal', 'erdOne', 'github-actions', 'loefflerd'] |
kex-y assignee:kex-y |
109-16209 3 months ago |
109-16209 109 days ago |
20-27591 20 days |
| 34726 |
GrigorenkoPV author:GrigorenkoPV |
feat(Analysis/SpecialFunctions/Trigonometric/Basic): sin and cos of multiples of π / 3 |
---
Merge of https://github.com/leanprover-community/mathlib4/pull/26349
[](https://gitpod.io/from-referrer/)
|
new-contributor |
159/0 |
Mathlib/Algebra/Order/Monoid/NatCast.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Data/Nat/Cast/Defs.lean,MathlibTest/trigonometry.lean |
4 |
1 |
['github-actions'] |
nobody |
108-76647 3 months ago |
108-76647 108 days ago |
3-20994 3 days |
| 34892 |
kim-em author:kim-em |
experiment: by claude |
|
LLM-generated |
88/0 |
claude.md |
1 |
1 |
['github-actions'] |
nobody |
108-69818 3 months ago |
unknown |
0-0 0 seconds |
| 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.
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-topology
awaiting-author
|
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 |
17 |
['adamtopaz', 'dagurtomas', 'github-actions', 'mathlib4-merge-conflict-bot', 'robertmaxton42'] |
adamtopaz assignee:adamtopaz |
108-35221 3 months ago |
109-6211 109 days ago |
85-42529 85 days |
| 31361 |
alreadydone author:alreadydone |
feat(Algebra/Order): convex subgroups |
---
- [x] depends on: #32886
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-order
awaiting-author
label:t-algebra$ |
422/0 |
Mathlib.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/Group/Convex.lean,Mathlib/Algebra/Order/Group/Height.lean,Mathlib/Order/Birkhoff.lean,Mathlib/Order/Quotient.lean |
5 |
46 |
['Vierkantor', 'YaelDillies', 'alreadydone', 'github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vihdzp', 'wwylele'] |
YaelDillies assignee:YaelDillies |
108-25297 3 months ago |
39-1937 39 days ago |
28-36362 28 days |
| 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 |
108-23584 3 months ago |
108-23584 108 days ago |
12-25418 12 days |
| 26884 |
alreadydone author:alreadydone |
Universal cover |
TODO: construct locally constant predicate from a functor from the fundamental groupoid of a loc path connected, semilocally simply connected space to Type, and the associated covering space (as an etale space)
---
- [x] depends on: #24983
- [x] depends on: #22771
- [ ] depends on: #31925
[](https://gitpod.io/from-referrer/)
|
WIP
t-topology
blocked-by-other-PR
merge-conflict
|
900/165 |
Mathlib.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Geometry/Manifold/Sheaf/Smooth.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Topology/EtaleSpace.lean,Mathlib/Topology/IsLocalHomeomorph.lean,Mathlib/Topology/Sheaves/LocalPredicate.lean,Mathlib/Topology/Sheaves/Sheafify.lean,Mathlib/Topology/Sheaves/Stalks.lean |
11 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot'] |
nobody |
107-69931 3 months ago |
unknown |
0-0 0 seconds |
| 31925 |
alreadydone author:alreadydone |
feat(Topology): étalé space associated to a predicate on sections |
Zulip: https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2322782.20Etale.20space/near/527381645
---
- [ ] depends on: #33795
migrated from #22782
[](https://gitpod.io/from-referrer/)
|
t-topology
blocked-by-other-PR
merge-conflict
|
900/165 |
Mathlib.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Geometry/Manifold/Sheaf/Smooth.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Topology/EtaleSpace.lean,Mathlib/Topology/IsLocalHomeomorph.lean,Mathlib/Topology/Sheaves/LocalPredicate.lean,Mathlib/Topology/Sheaves/Sheafify.lean,Mathlib/Topology/Sheaves/Stalks.lean |
11 |
16 |
['adamtopaz', 'alreadydone', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
adamtopaz assignee:adamtopaz |
107-68899 3 months ago |
136-5677 136 days ago |
26-56538 26 days |
| 34956 |
kbuzzard author:kbuzzard |
test: add a file with universe tests |
Just to keep track of some horrible universe issues in Kaehler.Polynomial. This shouldn't be a PR, I just wanted a way of keeping track of the mess that universe normalisation in core causes in alg geom. If core moves on universe normalization then this file hopefully provides a useful test.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
WIP
|
266/0 |
Mathlib/RingTheory/Kaehler/UniverseTest.lean |
1 |
1 |
['github-actions'] |
nobody |
106-79301 3 months ago |
52-15942 52 days ago |
54-63437 54 days |
| 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.
---
[](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 |
106-59823 3 months ago |
106-59823 106 days ago |
35-16105 35 days |
| 28468 |
alreadydone author:alreadydone |
feat(Algebra): ring API for `AddLocalization` |
Extract `Submonoid.IsLocalizationMap` from `LocalizationMap` and use it in `IsLocalization`.
Develop basic API for AddLocalization at a two-sided ideal; in the case of the top AddSubmonoid, show the localization has a Ring structure (Grothendieck ring).
Show that a nontrivial commutative semiring with cancellative addition satisfies the strong rank condition. (This will eventually be replaced by Yi-Jia Tan's result which shows cancellative addition is unnecessary, so it's also reasonable to leave this part out of this PR.)
---
- [x] depends on: #27842
- [x] depends on: #27862
- [x] depends on: #29596
- [x] depends on: #29597
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
t-ring-theory
awaiting-author
label:t-algebra$ |
676/6 |
Mathlib.lean,Mathlib/GroupTheory/MonoidLocalization/Archimedean.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/Lemmas.lean,Mathlib/RingTheory/IsTensorProduct.lean,Mathlib/RingTheory/Localization/Additive.lean,Mathlib/RingTheory/Localization/Defs.lean,Mathlib/RingTheory/Localization/StrongRankCondition.lean |
8 |
12 |
['alreadydone', 'chrisflav', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
chrisflav assignee:chrisflav |
106-55535 3 months ago |
106-55535 106 days ago |
23-7335 23 days |
| 30658 |
grunweg author:grunweg |
feat: extend the `whitespace` linter to proof bodies |
---
- [x] depends on: #30663
- [x] depends on: #30685
- [x] depends on: #30687
- [x] depends on: #30688
- [x] depends on: #30689
- [x] depends on: #30691
- [x] depends on: #30723
- [x] depends on: #30724
- [x] depends on: #30725
- [x] depends on: leanprover/lean4#11780
- [x] depends on: leanprover/lean4#12006
- [ ] depends on: leanprover/lean4#11686
- [x] depends on: #33705
- [x] depends on: #33706
- [x] depends on: #33716
- [x] depends on: #33234
- [x] depends on: #33342
- [x] depends on: #33708
- [x] depends on: #33758
- [x] depends on: #33759
- [x] depends on: #33789
- [x] depends on: #33815
- [x] depends on: #33816
- [x] depends on: #35909
- [x] depends on: #37993
[](https://gitpod.io/from-referrer/)
|
large-import
t-linter
merge-conflict
blocked-by-other-PR
|
2006/452 |
Archive/Imo/Imo2010Q5.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Counterexamples/CliffordAlgebraNotInjective.lean,Counterexamples/HeawoodUnitDistance.lean,Mathlib/Algebra/AffineMonoid/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/Category/Grp/EpiMono.lean,Mathlib/Algebra/Category/Ring/Basic.lean,Mathlib/Algebra/Module/TransferInstance.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Polynomial/RuleOfSigns.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Formula.lean,Mathlib/AlgebraicTopology/ExtraDegeneracy.lean,Mathlib/AlgebraicTopology/SimplicialSet/Boundary.lean,Mathlib/AlgebraicTopology/SimplicialSet/CompStructTruncated.lean,Mathlib/AlgebraicTopology/SimplicialSet/Nonempty.lean,Mathlib/AlgebraicTopology/SimplicialSet/Path.lean,Mathlib/AlgebraicTopology/SimplicialSet/StrictSegal.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unital.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Module/Bases.lean,Mathlib/Analysis/Real/Pi/Bounds.lean,Mathlib/CategoryTheory/Limits/Cones.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean,Mathlib/CategoryTheory/Monoidal/Action/Basic.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/CommGrp_.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/OfHasFiniteProducts.lean,Mathlib/Combinatorics/SetFamily/LYM.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/ContextFreeGrammar.lean,Mathlib/Computability/Language.lean,Mathlib/Computability/Partrec.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Data/DFinsupp/Notation.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/Data/Fin/Fin2.lean,Mathlib/Data/Finset/Slice.lean,Mathlib/Data/Finset/Sort.lean,Mathlib/Data/Finsupp/Notation.lean,Mathlib/Data/Matrix/Cartan.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Num/Bitwise.lean,Mathlib/Data/PNat/Xgcd.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/Data/Vector/MapLemmas.lean,Mathlib/FieldTheory/CardinalEmb.lean,Mathlib/FieldTheory/Finite/Extension.lean,Mathlib/FieldTheory/Laurent.lean,Mathlib/Geometry/Manifold/Notation.lean,Mathlib/Geometry/Manifold/VectorBundle/Tensoriality.lean,Mathlib/LinearAlgebra/TensorPower/Symmetric.lean,Mathlib/LinearAlgebra/TensorProduct/Defs.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/PullOut.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/TrapezoidalRule.lean,Mathlib/MeasureTheory/Integral/TorusIntegral.lean,Mathlib/MeasureTheory/Measure/Haar/InnerProductSpace.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/ModelTheory/Syntax.lean,Mathlib/NumberTheory/Niven.lean,Mathlib/NumberTheory/Primorial.lean,Mathlib/RepresentationTheory/Coinduced.lean,Mathlib/RingTheory/Artinian/Module.lean,Mathlib/RingTheory/FormalGroup/Basic.lean,Mathlib/RingTheory/Nilpotent/Exp.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,Mathlib/Tactic/Linter/Whitespace.lean,Mathlib/Tactic/Ring/NamePolyVars.lean,Mathlib/Topology/Algebra/IsUniformGroup/Defs.lean,Mathlib/Topology/Category/TopCat/Limits/Basic.lean,Mathlib/Util/Superscript.lean,MathlibTest/WhitespaceLinter.lean |
82 |
68 |
['SnirBroshi', 'adomani', 'github-actions', 'grunweg', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
106-54606 3 months ago |
41-70264 41 days ago |
0-34802 9 hours |
| 34897 |
kim-em author:kim-em |
experiment: Claude defining reductive groups |
This PR adds preliminary definitions for reductive algebraic groups, following Borel's definition over general fields.
## Status: Experimental Sketch
This is scaffolding with known mathematical issues. See `Mathlib/Algebra/AlgebraicGroup/PLAN.md` for a detailed roadmap of what's needed for correct definitions.
### What's Here
| Definition | Status | Notes |
|------------|--------|-------|
| `AffineAlgGroup k A` | OK | Smooth affine group scheme of finite type |
| `AlgPoints k A` | Partial | Correct type, Group instance is `sorry` |
| `NoNontrivialIdempotents` | OK | For connectedness |
| `IsUnipotent` | Wrong | Vacuous in reduced rings (see below) |
| `unipotentRadical` | Wrong | Should be Hopf ideal, not Subgroup |
| `ReductiveGroup` | Placeholder | Uses `True` pending dependencies |
### Known Mathematical Issues
1. **`IsUnipotent` is vacuous**: Definition checks nilpotence in reduced ring A, so only g=1 satisfies it. Correct definition requires comodule theory.
2. **Need functor of points, not just k-points**: Should define `A →ₐ[k] R` for all k-algebras R, not just `A →ₐ[k] k`.
3. **`unipotentRadical` should be a Hopf ideal**: Closed subgroup schemes correspond to Hopf ideals, not subgroups of points.
4. **Geometric notions missing**: Unipotent/connected/reductive should be defined after base change to k̄.
### Roadmap (see PLAN.md)
1. **Functor of points**: Group structure on R-points via convolution
2. **Hopf ideals**: For closed subgroup schemes
3. **Geometric infrastructure**: Base change, geometric connectedness
4. **Comodule theory**: For correct `IsUnipotent`
5. **Unipotent radical**: As Hopf ideal (very hard - SGA3/Borel level)
Alternative: Define "linearly reductive" via complete reducibility (simpler, equivalent in char 0).
## References
- Brian Conrad, "Reductive Group Schemes"
- Armand Borel, "Linear Algebraic Groups"
- SGA3, Exposé XIX
🤖 Prepared with Claude Code |
t-algebra
LLM-generated
merge-conflict
label:t-algebra$ |
753/0 |
Mathlib.lean,Mathlib/Algebra/AlgebraicGroup/Defs.lean,Mathlib/Algebra/AlgebraicGroup/PLAN.md,Mathlib/Algebra/AlgebraicGroup/Reductive.lean,Mathlib/Algebra/AlgebraicGroup/Unipotent.lean |
5 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
106-44793 3 months ago |
unknown |
0-0 0 seconds |
| 34815 |
Deep0Thinking author:Deep0Thinking |
feat(Analysis/SpecialFunctions/ImproperIntegrals): Frullani integral |
- [x] depends on: #34966
---
Add a proof of **Frullani integral**.
Main theorems:
- `Frullani.integral_Ioi`
- `IntegrableOn.tendsto_integral_Ioi`
- `exists_integral_div_eq_mul_log`
Supporting lemmas:
- `Frullani.comp_mul_left_div`
- `Frullani.intervalIntegrable_div`
- `Frullani.exists_integral_div_eq_mul_log`
- `Ioi_diff_Ioc`
- `ContinuousOn.comp_mul_left_div`, `ContinuousOn.comp_mul_right_div`
- `ContinuousOn.comp_mul_left`, `ContinuousOn.comp_mul_right`
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
large-import
t-analysis
awaiting-author
blocked-by-other-PR
|
270/2 |
Mathlib/Analysis/SpecialFunctions/ImproperIntegrals.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/MeanValue.lean,Mathlib/Topology/Algebra/GroupWithZero.lean,Mathlib/Topology/Algebra/Monoid.lean |
6 |
17 |
['CoolRmal', 'Deep0Thinking', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'sgouezel'] |
urkud assignee:urkud |
106-43538 3 months ago |
29-79988 29 days ago |
11-36072 11 days |
| 9820 |
jjaassoonn author:jjaassoonn |
feat(RingTheory/GradedAlgebra/HomogeneousIdeal): generalize to homogeneous submodule |
The definitions, constructions and theorems in `HomogeneousIdeal.lean` are generalized to a homogeneous submodules.
So say $R$ is a ring and $M \cong \bigoplus_{i} M_i$ is an $R$-module. Then a homogeneous $R$-submodule of $M$ is an $R$-submodule $N$ such that for all $i$ and $n \in N$, $n_i \in N$. Note that this notion doesn't actually require $R$ to be graded and $M$ is a graded module. But for more interesting lemmas, we do need that $M$ is graded $R$-module. We bake the fact $R$ is graded into the definition of homogeneous submodule, otherwise, `CompleteLattice HomogeneousSubmodule` cannot find the order of synthesis (the proof depends on that $R$ is graded)
All definitions/constructions/theorems have a copy for ideals as well, this is to make sure dot notation still works.
The motivation of this generalization is graded quotient module
---
- [x] depends on:#18728
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
|
516/185 |
Mathlib/Algebra/Module/GradedModule.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Submodule.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean,scripts/nolints_prime_decls.txt |
7 |
3 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
105-29809 3 months ago |
324-53050 324 days ago |
52-59768 52 days |
| 27664 |
pechersky author:pechersky |
feat(Topology,Analysis): discrete topology metric space and normed groups |
Explicit construction of the discrete topology metric space and normed groups where `dist x y = 1` for all `x != y`
Provide PseudoMetricSpace, MetricSpace, Seminormed(Add)Group, and Normed(Add)Group constructions
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-topology
merge-conflict
|
124/0 |
Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Topology/MetricSpace/Basic.lean,Mathlib/Topology/MetricSpace/Pseudo/Constructions.lean |
3 |
14 |
['github-actions', 'kckennylau', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'pechersky', 'plp127'] |
urkud assignee:urkud |
105-1532 3 months ago |
185-11373 185 days ago |
114-32890 114 days |
| 14501 |
jjaassoonn author:jjaassoonn |
feat: module structure of filtered colimit of abelian groups over filtered colimit of rings |
This helps defining the module structure of stalks
This contribution was inspired by the AIM workshop "Formalizing algebraic geometry" in June 2024.
---
- [x] depends on: #15315 [I am going to move the result in the new file]
[](https://gitpod.io/from-referrer/)
|
t-algebra
workshop-AIM-AG-2024
t-category-theory
merge-conflict
awaiting-author
label:t-algebra$ |
439/2 |
Mathlib/CategoryTheory/Limits/ConcreteCategory/Basic.lean,Mathlib/CategoryTheory/Limits/ConcreteCategory/WithAlgebraicStructures.lean |
2 |
49 |
['YaelDillies', 'adamtopaz', 'alreadydone', 'erdOne', 'github-actions', 'jjaassoonn', 'joelriou', 'kbuzzard'] |
joelriou assignee:joelriou |
104-22390 3 months ago |
545-10658 545 days ago |
64-30806 64 days |
| 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 |
104-8297 3 months ago |
137-31165 137 days ago |
120-67067 120 days |
| 25035 |
ScottCarnahan author:ScottCarnahan |
feat(Algebra/Module/Equiv/Defs): linear equivalence between linear hom and semilinear hom |
Given a ring homomorphism `σ₂ : R →+* R₂`, an `R`-module `M`, and a module `M₂` for both `R` and `R₂` satisfying `SMulCommClass R R₂ M₂` and `(σ₂ r) • x = r • x`, we produce an `R₂`-linear equivalence between `M →ₗ[R] M₂` and `M →ₛₗ[σ₂] M₂`.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
merge-conflict
label:t-algebra$ |
21/0 |
Mathlib/Algebra/Module/Equiv/Defs.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
103-75688 3 months ago |
350-39246 350 days ago |
20-7584 20 days |
| 26168 |
oliver-butterley author:oliver-butterley |
feat(MeasureTheory.VectorMeasure): variation defined as a supremum is equal to variation defined using the Hahn-Jordan decomposition |
Add `signedMeasure_totalVariation_eq`: if `μ` is a `SignedMeasure` then variation defined as a supremum is equal to variation defined using the Hahn-Jordan decomposition.
Co-authored-by: @yoh-tanimoto
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
awaiting-author
merge-conflict
blocked-by-other-PR
new-contributor
|
916/0 |
Mathlib.lean,Mathlib/MeasureTheory/VectorMeasure/Decomposition/Jordan.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Equiv.lean |
5 |
7 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'yoh-tanimoto'] |
nobody |
103-75686 3 months ago |
324-31553 324 days ago |
15-65390 15 days |
| 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
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-data
awaiting-author
|
34/0 |
Mathlib.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Data/Finset/RangeDistance.lean |
3 |
7 |
['GrigorenkoPV', 'Vierkantor', 'github-actions', 'joneugster', 'mathlib-splicebot', 'plp127'] |
pechersky assignee:pechersky |
103-60975 3 months ago |
59-84737 59 days ago |
52-18954 52 days |
| 35114 |
CoolRmal author:CoolRmal |
feat: Kirszbraun’s theorem |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
144/0 |
Mathlib/Analysis/Kirszbraun.lean |
1 |
1 |
['github-actions'] |
nobody |
103-48061 3 months ago |
unknown |
0-0 0 seconds |
| 27702 |
FLDutchmann author:FLDutchmann |
feat(NumberTheory/SelbergSieve): define Lambda-squared sieves and prove important properties |
This PR continues the work from #22052.
Original PR: https://github.com/leanprover-community/mathlib4/pull/22052
- [x] depends on: #27820
|
t-number-theory
delegated
merge-conflict
|
186/7 |
Mathlib/NumberTheory/SelbergSieve.lean |
1 |
44 |
['FLDutchmann', 'MichaelStollBayreuth', 'bryangingechen', 'github-actions', 'jcommelin', 'mathlib-bors', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
103-41116 3 months ago |
165-37161 165 days ago |
15-82750 15 days |
| 28693 |
faenuccio author:faenuccio |
feat(Analysis.Normed.Module.Milman-Pettis): add Milman-Pettis theorem |
We add the Milman-Pettis theorem stating that an uniformly convex Banach space is reflexive.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
merge-conflict
|
279/0 |
Mathlib/Analysis/Convex/Uniform.lean,Mathlib/Analysis/Normed/Module/Dual.lean,Mathlib/Analysis/Normed/Module/Milman-Pettis.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean |
4 |
9 |
['ADedecker', 'faenuccio', 'github-actions', 'grunweg', 'mathlib-merge-conflicts', 'yhx-12243'] |
nobody |
103-40990 3 months ago |
278-16492 278 days ago |
0-1 1 second |
| 31141 |
peabrainiac author:peabrainiac |
feat(Analysis/Calculus): parametric integrals over smooth functions are smooth |
Show that for any smooth function `f : H × ℝ → E`, the parametric integral `fun x ↦ ∫ t in a..b, f (x, t) ∂μ` is smooth too.
The argument proceeds inductively, using the fact that derivatives of parametric integrals can themselves be computed as parametric integrals. The necessary lemmas on derivatives of parametric integrals already existed, but took some work to apply due to their generality; we state some convenient special cases.
---
- [x] depends on: #31077
[](https://gitpod.io/from-referrer/)
|
t-analysis
awaiting-author
maintainer-merge
|
470/12 |
Mathlib/Analysis/Calculus/ParametricIntegral.lean,Mathlib/Analysis/Calculus/ParametricIntervalIntegral.lean,Mathlib/MeasureTheory/Integral/DominatedConvergence.lean,Mathlib/Topology/NhdsWithin.lean,Mathlib/Topology/Separation/Regular.lean |
5 |
36 |
['fpvandoorn', 'github-actions', 'j-loreaux', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'peabrainiac', 'sgouezel'] |
j-loreaux assignee:j-loreaux |
103-23728 3 months ago |
103-23728 103 days ago |
33-85043 33 days |
| 29499 |
chrisflav author:chrisflav |
feat(CategoryTheory/Sites): sheafification via hypercovers |
This is very much WIP, but I need a fresh cache.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
merge-conflict
|
1944/4 |
Mathlib.lean,Mathlib/CategoryTheory/Sites/HomotopyOneHypercover.lean,Mathlib/CategoryTheory/Sites/Hypercover/Homotopy.lean,Mathlib/CategoryTheory/Sites/Hypercover/One.lean,Mathlib/CategoryTheory/Sites/Hypercover/Refinement.lean,Mathlib/CategoryTheory/Sites/Hypercover/Sheafification.lean,Mathlib/CategoryTheory/Sites/Hypercover/Zero.lean |
7 |
3 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
102-79177 3 months ago |
unknown |
0-0 0 seconds |
| 33969 |
goliath-klein author:goliath-klein |
refactor(PiTensorProduct/{InjectiveNorm, ProjectiveNorm}): Currently, injectiveSeminorm = projectiveSeminorm |
**WIP / RFC!**
Arguably, `injectiveSeminorm` should be re-defined in Mathlib. See #34137 and [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/injectiveSeminorm/with/568798261) for context.
In this file, we collect some results about the current definition and a possible alternative.
Contents:
* A theorem `injectiveSeminorm_eq_projectiveSeminorm` formalizing the equality of the current definitions. However, I think it is unlikely that keeping the alternative characterization would be worth the effort. The interesting direction `(L2') ≤ (L1)` follows from `norm_eval_le_projectiveSeminorm` which is still present. The converse direction is [somewhat tautological](https://github.com/leanprover-community/mathlib4/pull/34137). A proof of `(L2) = (L1)` (probably requiring Hahn-Banach) might be more interesting.
* A preliminary implementation of the injective seminorm as commonly understood.
* Sufficient conditions for the multiplicativity property `‖⨂ m i‖_∧ = ∏ ‖m i‖` to hold. This implements a TBD item.
---
Co-authored-by: Davood H. H. Tehrani
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
new-contributor
large-import
merge-conflict
|
774/387 |
Mathlib.lean,Mathlib/Analysis/Normed/Module/Dual.lean,Mathlib/Analysis/Normed/Module/HahnBanach.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/InjectiveSeminorm.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/LeastReasonable.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Analysis/Normed/Operator/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct.lean |
8 |
3 |
['github-actions', 'goliath-klein', 'mathlib-merge-conflicts'] |
nobody |
102-78047 3 months ago |
131-6751 131 days ago |
0-23 23 seconds |
| 34248 |
erdOne author:erdOne |
chore: get rid of `LocalizedModule.mk` |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
merge-conflict
label:t-algebra$ |
64/65 |
Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/Algebra/Module/LocalizedModule/Exact.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/GroupTheory/DivisibleHull.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/Localization/Module.lean |
6 |
3 |
['Vierkantor', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
102-77918 3 months ago |
123-23396 123 days ago |
0-15155 4 hours |
| 27307 |
xyzw12345 author:xyzw12345 |
feat(RingTheory/GradedAlgebra): homogeneous relation |
In this PR, we defined the concept of a homogeneous relation and proved some properties about homogeneous relations. The main result of this PR is showing that taking `RingQuot` by a homogeneous relation can give a graded structure on the quotient ring. This result can be used to define graded structures on rings obtained using `RingQuot`, e.g. the Symmetric Algebra defined in #21539 can be verified to have such a structure.
Co-authored-by:
Zhixuan Dai @atstarrysky <22300180006@m.fudan.edu.cn>
Yiming Fu @pelicanhere
Zhenyan Fu @pumpkin678
Raphael Douglas Giles @Raph-DG
Jiedong Jiang @jjdishere
This PR continues the work from #22279.
Original PR: https://github.com/leanprover-community/mathlib4/pull/22279 |
awaiting-author
t-ring-theory
|
394/1 |
Mathlib.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Colimit/Ring.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousRelation.lean |
10 |
46 |
['AntoineChambert-Loir', 'alreadydone', 'chrisflav', 'erdOne', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'ocfnash', 'xyzw12345'] |
mattrobball assignee:mattrobball |
102-76988 3 months ago |
191-2497 191 days ago |
117-42266 117 days |
| 34939 |
erdOne author:erdOne |
chore(AlgebraicGeometry): use relative gluing in `IdealSheaf` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
merge-conflict
|
174/381 |
Mathlib/AlgebraicGeometry/IdealSheaf/Subscheme.lean,Mathlib/AlgebraicGeometry/Sites/SmallAffineZariski.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
102-69192 3 months ago |
102-69193 102 days ago |
4-64009 4 days |
| 33821 |
JohnnyTeutonic author:JohnnyTeutonic |
feat(LinearAlgebra/Matrix/Hermitian): add IsSkewHermitian predicate |
Adds `IsSkewHermitian` predicate for matrices satisfying Aᴴ = -A.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
label:t-algebra$ |
70/0 |
Mathlib/LinearAlgebra/Matrix/Hermitian.lean |
1 |
20 |
['JohnnyTeutonic', 'github-actions', 'j-loreaux', 'themathqueen'] |
kim-em assignee:kim-em |
102-64895 3 months ago |
102-80932 102 days ago |
26-62209 26 days |
| 33233 |
jazzits author:jazzits |
feat(GroupTheory): add chosen group presentations and Tietze transformations (1) and (2) |
Defines a notion of group presentation for G compatible with Mathlib.GroupTheory.PresentedGroup: generators `ι → G` whose range generates G, and relators `rels : Set (FreeGroup ι)` whose normal closure equals the kernel of `FreeGroup ι →* G`. Provides the canonical map `PresentedGroup P.rels →* G` and equivalences showing `PresentedGroup P.rels ≃* G` and invariance under changing presentations.
Also formalizes Tietze moves (1)–(2) as equivalences of PresentedGroups: adding/removing a relator that lies in the normal closure of the others.
TODO: moves (3)–(4) (add/remove generator with a defining relation).
No existing definitions are modified
|
t-group-theory
new-contributor
awaiting-author
|
328/0 |
Mathlib.lean,Mathlib/GroupTheory/Presentation.lean |
2 |
15 |
['github-actions', 'homeowmorphism', 'jazzits', 'kbuzzard', 'mathlib-merge-conflicts', 'plp127', 'tb65536'] |
tb65536 assignee:tb65536 |
102-20180 3 months ago |
147-12727 147 days ago |
5-47944 5 days |
| 34931 |
eric-wieser author:eric-wieser |
perf: make TensorProduct.lift irreducible with a unification hint |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
6/2 |
Mathlib/LinearAlgebra/TensorProduct/Basic.lean |
1 |
7 |
['eric-wieser', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
erdOne assignee:erdOne |
101-84229 3 months ago |
101-84230 101 days ago |
5-66655 5 days |
| 34725 |
GrigorenkoPV author:GrigorenkoPV |
feat(RingTheory/RootsOfUnity/LowDegree): quadratic, cubic, quartic, quintic roots of unity |
Closes https://github.com/leanprover-community/mathlib4/pull/25907
---
Merge of https://github.com/leanprover-community/mathlib4/pull/25907
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-ring-theory
awaiting-author
|
247/0 |
Mathlib.lean,Mathlib/Algebra/CharP/Invertible.lean,Mathlib/Algebra/QuadraticDiscriminant.lean,Mathlib/RingTheory/RootsOfUnity/LowDegree.lean |
4 |
22 |
['GrigorenkoPV', 'LLaurance', 'erdOne', 'github-actions', 'joneugster'] |
nobody |
101-71270 3 months ago |
106-60590 106 days ago |
5-38408 5 days |
| 33032 |
ksenono author:ksenono |
feat(Combinatorics/SimpleGraph): Konig’s theorem on bipartite graphs |
---
[](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 |
101-55180 3 months ago |
158-37836 158 days ago |
0-136 2 minutes |
| 35241 |
ooovi author:ooovi |
chore(LinearAlgebra/AffineSpace): Redefine AffineSpace |
Definition of `AffineSpace` following that of `ConvexSpace`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
106/0 |
Mathlib.lean,Mathlib/LinearAlgebra/AffineSpace/Basic.lean |
2 |
1 |
['github-actions'] |
nobody |
101-24345 3 months ago |
unknown |
0-0 0 seconds |
| 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 |
101-18947 3 months ago |
101-66176 101 days ago |
7-49555 7 days |
| 34799 |
vlad902 author:vlad902 |
feat(SimpleGraph): the cycle graph and complete graph are Hamiltonian |
---
- [ ] depends on: #34797
- [ ] depends on: #35255
- [ ] depends on: #37930
[](https://gitpod.io/from-referrer/) |
t-combinatorics
large-import
blocked-by-other-PR
merge-conflict
|
29/0 |
Mathlib/Combinatorics/SimpleGraph/Copy.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean |
2 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
101-13356 3 months ago |
110-79424 110 days ago |
0-551 9 minutes |
| 35125 |
kim-em author:kim-em |
chore: make OrderDual a structure |
This PR changes `OrderDual` from a type alias (`def OrderDual (α : Type*) := α`) to a one-field structure:
```lean
structure OrderDual (α : Type*) where
toDual ::
ofDual : α
```
This prevents defeq abuse between `α` and `αᵒᵈ`, requiring explicit `toDual`/`ofDual` wrapping at type boundaries.
🤖 Prepared with Claude Code |
WIP
large-import
merge-conflict
LLM-generated
|
10540/4872 |
Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/Field/Basic.lean,Mathlib/Algebra/Group/Finsupp.lean,Mathlib/Algebra/Lie/Nilpotent.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Module/Submodule/Range.lean,Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/MvPolynomial/NoZeroDivisors.lean,Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/BigOperators/Group/Finset.lean,Mathlib/Algebra/Order/BigOperators/Group/List.lean,Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean,Mathlib/Algebra/Order/Chebyshev.lean,Mathlib/Algebra/Order/Group/Action/Synonym.lean,Mathlib/Algebra/Order/Group/DenselyOrdered.lean,Mathlib/Algebra/Order/Group/Indicator.lean,Mathlib/Algebra/Order/Group/Lattice.lean,Mathlib/Algebra/Order/Group/MinMax.lean,Mathlib/Algebra/Order/Group/OrderIso.lean,Mathlib/Algebra/Order/Group/Pointwise/Bounds.lean,Mathlib/Algebra/Order/Group/Pointwise/CompleteLattice.lean,Mathlib/Algebra/Order/Group/Synonym.lean,Mathlib/Algebra/Order/GroupWithZero/Action/Synonym.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Synonym.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Module/Field.lean,Mathlib/Algebra/Order/Module/Pointwise.lean,Mathlib/Algebra/Order/Module/Synonym.lean,Mathlib/Algebra/Order/Monoid/Unbundled/OrderDual.lean,Mathlib/Algebra/Order/Rearrangement.lean,Mathlib/Algebra/Order/Ring/Cast.lean,Mathlib/Algebra/Order/Ring/Synonym.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Algebra/Order/UpperLower.lean,Mathlib/AlgebraicGeometry/AffineSpace.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/Rank.lean,Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/Convex/Combination.lean,Mathlib/Analysis/Convex/Function.lean,Mathlib/Analysis/Convex/Jensen.lean,Mathlib/Analysis/Convex/Quasiconvex.lean,Mathlib/Analysis/Convex/Star.lean,Mathlib/Analysis/Convex/Topology.lean,Mathlib/Analysis/InnerProductSpace/Orthogonal.lean,Mathlib/Analysis/InnerProductSpace/Projection/Submodule.lean,Mathlib/Analysis/LocallyConvex/Polar.lean,Mathlib/Analysis/Normed/Group/Constructions.lean,Mathlib/Analysis/Normed/Order/Lattice.lean,Mathlib/CategoryTheory/Abelian/Subobject.lean,Mathlib/CategoryTheory/Localization/Bousfield.lean,Mathlib/CategoryTheory/MorphismProperty/LiftingProperty.lean,Mathlib/CategoryTheory/Subobject/ArtinianObject.lean,Mathlib/CategoryTheory/Subobject/Limits.lean,Mathlib/Combinatorics/Enumerative/IncidenceAlgebra.lean,Mathlib/Combinatorics/Pigeonhole.lean,Mathlib/Combinatorics/SetFamily/AhlswedeZhang.lean,Mathlib/Combinatorics/SimpleGraph/Hasse.lean,Mathlib/Data/DFinsupp/Lex.lean,Mathlib/Data/DFinsupp/WellFounded.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/ENNReal/Inv.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/Data/Fin/Tuple/Basic.lean,Mathlib/Data/Finset/Lattice/Fold.lean,Mathlib/Data/Finset/Lattice/Pi.lean,Mathlib/Data/Finset/Lattice/Prod.lean,Mathlib/Data/Finset/Lattice/Union.lean,Mathlib/Data/Finset/Max.lean,Mathlib/Data/Finset/NAry.lean,Mathlib/Data/Finset/PiInduction.lean,Mathlib/Data/Finset/Sigma.lean,Mathlib/Data/Finsupp/Lex.lean,Mathlib/Data/Finsupp/WellFounded.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Data/Fintype/Defs.lean,Mathlib/Data/Fintype/Lattice.lean,Mathlib/Data/List/MinMax.lean,Mathlib/Data/Nat/Cast/Synonym.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Nat/Pairing.lean,Mathlib/Data/Ordmap/Invariants.lean,Mathlib/Data/Ordmap/Ordset.lean,Mathlib/Data/Real/Pointwise.lean,Mathlib/Data/Set/Finite/Lattice.lean,Mathlib/Data/Set/Finite/Lemmas.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/Data/Set/Monotone.lean,Mathlib/Data/Set/Piecewise.lean,Mathlib/Data/Set/Sigma.lean,Mathlib/Data/Sum/Order.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/Galois/Infinite.lean,Mathlib/FieldTheory/Galois/IsGaloisGroup.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/GroupTheory/GroupAction/FixingSubgroup.lean,Mathlib/LinearAlgebra/AffineSpace/Ordered.lean |
324 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
101-7622 3 months ago |
unknown |
0-0 0 seconds |
| 34702 |
pfaffelh author:pfaffelh |
feat(Data/FinsetPowerset): The set `{v : List.Vector Bool n | v.val.count = k}` has cardinality `n.choose k` |
Show that `{v : List.Vector Bool n | v.val.count = k}` has cardinality `n.choose k`.
The proof builds on `powersetCard k s` (the subsets of `s : Finset _` with cardinality `k`), and an equivalence to the above set.
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-data
awaiting-author
|
52/1 |
Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Fintype/Pi.lean,Mathlib/Logic/Equiv/Fintype.lean |
3 |
37 |
['DavidLedvinka', 'Vierkantor', 'b-mehta', 'eric-wieser', 'github-actions', 'joneugster', 'pfaffelh'] |
Vierkantor assignee:Vierkantor |
100-61147 3 months ago |
18-33660 18 days ago |
93-37493 93 days |
| 33050 |
mkaratarakis author:mkaratarakis |
feat: lemmas for the analytic part of the proof of the Gelfond–Schneider theorem |
Lemmas missing for the formalisation of the proof of the Gelfond–Schneider theorem
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
WIP
|
238/0 |
Mathlib.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/NumberTheory/Transcendental/AnalyticPart.lean,Mathlib/NumberTheory/Transcendental/AnalyticPart2.lean |
6 |
113 |
['SnirBroshi', 'github-actions', 'j-loreaux', 'mkaratarakis', 'riccardobrasca', 'vihdzp'] |
riccardobrasca assignee:riccardobrasca |
100-1327 3 months ago |
110-20584 110 days ago |
6-26337 6 days |
| 34814 |
GrigorenkoPV author:GrigorenkoPV |
feat(Tactic/ClearUnneeded): add `clear_unneeded` tactic |
---
The simplest version suggested in https://github.com/leanprover-community/mathlib4/issues/25319
[](https://gitpod.io/from-referrer/)
|
t-meta
new-contributor
please-merge-master
awaiting-author
|
94/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ClearUnneeded.lean,Mathlib/Tactic/Common.lean,MathlibTest/ClearUnneeded.lean,scripts/noshake.json |
6 |
12 |
['BoltonBailey', 'GrigorenkoPV', 'github-actions', 'joneugster'] |
joneugster assignee:joneugster |
99-74791 3 months ago |
108-11764 108 days ago |
2-23785 2 days |
| 34876 |
GrigorenkoPV author:GrigorenkoPV |
feat(Tactic/AssumptionQuestion): add `assumption?` tactic |
---
As requested in #10361
TODO: maybe add some tests?
[](https://gitpod.io/from-referrer/)
|
t-meta
new-contributor
awaiting-author
|
85/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/AssumptionQuestion.lean,Mathlib/Tactic/Common.lean,MathlibTest/AssumptionQuestion.lean,scripts/noshake.json |
6 |
5 |
['GrigorenkoPV', 'SnirBroshi', 'github-actions', 'joneugster'] |
joneugster assignee:joneugster |
99-73366 3 months ago |
108-9954 108 days ago |
0-83167 23 hours |
| 31386 |
harahu author:harahu |
doc: demote repeated H1 headers to H2 |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
220/4 |
Archive/Imo/Imo2002Q3.lean,Archive/Imo/Imo2010Q5.lean,Mathlib/Geometry/Manifold/VectorBundle/LocalFrame.lean,Mathlib/Probability/Distributions/Gaussian/HasGaussianLaw/Basic.lean,Mathlib/RingTheory/LocalProperties/Injective.lean,Mathlib/RingTheory/LocalProperties/ProjectiveDimension.lean,Mathlib/RingTheory/QuasiFinite/Weakly.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/Linter/EmptyLine.lean,MathlibTest/DirectoryDependencyLinter/Test.lean,MathlibTest/Header.lean,scripts/demote_docstring_headers.py,scripts/find_docstring_headers.py |
6 |
7 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
99-72198 3 months ago |
unknown |
0-0 0 seconds |
| 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 |
99-60947 3 months ago |
148-75343 148 days ago |
4-58698 4 days |
| 33020 |
FormulaRabbit81 author:FormulaRabbit81 |
chore(Topology): Deprecate file |
---
- [x] depends on: #30851 deprecation
[](https://gitpod.io/from-referrer/)
|
t-topology
large-import
merge-conflict
|
82/49 |
Mathlib/Topology/Compactness/HilbertCubeEmbedding.lean,Mathlib/Topology/MetricSpace/HausdorffAlexandroff.lean,Mathlib/Topology/MetricSpace/PiNat.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
99-60840 3 months ago |
158-48229 158 days ago |
0-14835 4 hours |
| 23791 |
SEU-Prime author:SEU-Prime |
Create AmiceTrans.lean |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-number-theory
new-contributor
|
2963/0 |
Mathlib.lean,Mathlib/Analysis/Normed/Ring/Lemmas2.lean,Mathlib/NumberTheory/Padics/AmiceTrans.lean,Mathlib/NumberTheory/Padics/PSAC.lean,Mathlib/NumberTheory/Padics/PSAC2.lean,Mathlib/NumberTheory/Padics/PSAC3.lean,Mathlib/NumberTheory/Padics/PiGammainPS.lean,Mathlib/NumberTheory/Padics/PsiandVar.lean,Mathlib/RingTheory/AdicCompletion/Lemma.lean,Mathlib/RingTheory/PowerSeries/Comp.lean,Mathlib/Topology/ContinuousMap/ZeroAtBot.lean |
11 |
5 |
['SEU-Prime', 'github-actions', 'leanprover-community-bot-assistant', 'urkud'] |
nobody |
99-60011 3 months ago |
413-6277 413 days ago |
0-38 38 seconds |
| 20967 |
joneugster author:joneugster |
tracking(CategoryTheory/Enriched/Limits): add conical limits |
Tracking PR for adding conical limits
Co-authored-by: Emily Riehl
Co-authored-by: Dagur Asgeirsson
---
- [x] depends on: #20904
- [x] depends on: #20907
- [x] depends on: #20959
- [x] depends on: #20963
- [x] depends on: #20964
- [x] depends on: #20965
- content source: emilyriehl/infinity-cosmos#78
New implementation (not reflected on this branch yet):
- [x] depends on: #22917
- [x] depends on: #22921
- [ ] depends on: #22923
- [ ] depends on: #22924
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
infinity-cosmos
please-adopt
|
619/1 |
Mathlib.lean,Mathlib/CategoryTheory/Enriched/Limits/HasConicalLimits.lean,Mathlib/CategoryTheory/Enriched/Limits/HasConicalProducts.lean,Mathlib/CategoryTheory/Enriched/Limits/HasConicalPullbacks.lean,Mathlib/CategoryTheory/Enriched/Limits/HasConicalTerminal.lean,Mathlib/CategoryTheory/Enriched/Limits/IsConicalLimit.lean,Mathlib/CategoryTheory/Enriched/Limits/IsConicalTerminal.lean,Mathlib/CategoryTheory/Enriched/Ordinary/Basic.lean |
8 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
99-52919 3 months ago |
unknown |
0-0 0 seconds |
| 23042 |
joneugster author:joneugster |
feat(CategoryTheory/Enriched/Limits): add HasConicalLimitsOfSize.shrink |
---
Note: I've marked this "WIP" because I'm not yet sure when this will be needed and I'd probably put the PR on the queue once I've created some follow-up needing it.
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
infinity-cosmos
please-adopt
|
22/1 |
Mathlib/CategoryTheory/Enriched/Limits/HasConicalLimits.lean |
1 |
1 |
['github-actions'] |
nobody |
99-52918 3 months ago |
433-29418 433 days ago |
0-1 1 second |
| 23142 |
joneugster author:joneugster |
feat(CategoryTheory/Enriched/Limits): add API for HasConicalLimit |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-category-theory
infinity-cosmos
please-adopt
|
52/9 |
Mathlib/CategoryTheory/Enriched/Limits/HasConicalLimits.lean |
1 |
2 |
['github-actions', 'joelriou'] |
nobody |
99-52918 3 months ago |
430-32409 430 days ago |
0-67788 18 hours |
| 23145 |
joneugster author:joneugster |
feat(CategoryTheory/Enriched/Limits): add IsConicalLimits |
---
- [ ] depends on: #23142
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
infinity-cosmos
please-adopt
|
221/9 |
Mathlib.lean,Mathlib/CategoryTheory/Enriched/Limits/HasConicalLimits.lean,Mathlib/CategoryTheory/Enriched/Limits/IsConicalLimit.lean |
3 |
3 |
['github-actions', 'joelriou', 'mathlib4-dependent-issues-bot'] |
nobody |
99-52917 3 months ago |
431-13519 431 days ago |
0-370 6 minutes |
| 20401 |
RemyDegenne author:RemyDegenne |
feat: add sigmaFinite_iUnion |
```lean
lemma sigmaFinite_iUnion (μ : Measure α) {s : ℕ → Set α} (h_meas : MeasurableSet (⋃ n, s n))
[∀ n, SigmaFinite (μ.restrict (s n))] :
SigmaFinite (μ.restrict (⋃ n, s n))
```
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-measure-probability
|
37/28 |
Mathlib/MeasureTheory/Decomposition/Exhaustion.lean,Mathlib/MeasureTheory/Measure/Typeclasses.lean |
2 |
6 |
['RemyDegenne', 'github-actions', 'sgouezel', 'urkud'] |
nobody |
99-35989 3 months ago |
507-23505 507 days ago |
0-73190 20 hours |
| 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
[](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 |
99-29634 3 months ago |
150-83859 150 days ago |
0-2872 47 minutes |
| 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).
---
[](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 |
99-23288 3 months ago |
99-23356 99 days ago |
0-12 12 seconds |
| 35342 |
grunweg author:grunweg |
feat: add Diffeomorph.sumSumSumComm |
This matches `{Equiv,Homeomorph.sumSumSumComm}`, and is needed to prove that addition in the cobordism group is commutative. From my bordism theory project.
----------
Migrated and rebased version of #22784.
The current proof is not complete yet, and feels very painful. Medium-term, the best way forward might be to make fun_prop support manifolds.
[](https://gitpod.io/from-referrer/)
|
WIP
t-differential-geometry
|
50/0 |
Mathlib/Geometry/Manifold/Diffeomorph.lean |
1 |
1 |
['github-actions'] |
nobody |
99-21432 3 months ago |
99-21503 99 days ago |
0-1 1 second |
| 11500 |
mcdoll author:mcdoll |
refactor(Topology/Algebra/Module/WeakDual): Clean up |
- Move `Dual` and `dualPairing` lower in the import-hierachy
- deduplicate `dualPairing`
- Bundle continuity statements to `CLM`s.
- Make `WeakDual` and `WeakSpace` reducible
- Remove `refine'` in favor of `refine`
---
Cleaning up `Analysis/NormedSpace/WeakDual` will be done in a second PR
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
|
227/179 |
Mathlib.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/Dual.lean,Mathlib/Analysis/LocallyConvex/Polar.lean,Mathlib/Analysis/NormedSpace/Dual.lean,Mathlib/Analysis/NormedSpace/WeakDual.lean,Mathlib/Analysis/VonNeumannAlgebra/Basic.lean,Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean,Mathlib/MeasureTheory/Measure/FiniteMeasure.lean,Mathlib/Topology/Algebra/Module/CharacterSpace.lean,Mathlib/Topology/Algebra/Module/Dual.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean,docs/overview.yaml,docs/undergrad.yaml |
15 |
16 |
['ADedecker', 'grunweg', 'j-loreaux', 'kkytola', 'mathlib-bors', 'mcdoll', 'urkud'] |
nobody |
99-13376 3 months ago |
748-12576 748 days ago |
46-5571 46 days |
| 20428 |
madvorak author:madvorak |
feat(Data/Sign): lemmas about `∈ Set.range SignType.cast` |
---
Perhaps `in_set_range_singType_cast_iff_abs` needs to be moved somewhere downstream. |
merge-conflict
WIP
t-data
|
40/0 |
Mathlib/Data/Sign.lean |
1 |
13 |
['eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'madvorak', 'urkud'] |
nobody |
99-13204 3 months ago |
unknown |
0-0 0 seconds |
| 29281 |
plp127 author:plp127 |
doc: `Fin.natAdd_castLEEmb` |
Change the docstring of `Fin.natAdd_castLEEmb` which confused me when I read it so I rewrote it.
PS. this doesn't really follow the naming convention since data should be in `camelCase`
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
awaiting-author
|
2/3 |
Mathlib/Data/Fin/Embedding.lean |
1 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot', 'urkud'] |
nobody |
99-9825 3 months ago |
246-18293 246 days ago |
18-38918 18 days |
| 34165 |
zcyemi author:zcyemi |
feat(Archive/Imo/Imo2012Q5): IMO 2012 Q5 |
---
Add IMO 2012 Q5
- [ ] depends on: #34157
- [ ] depends on: #34156
- [ ] depends on: #34155
- [ ] depends on: #33852
- [ ] depends on: #33479
- [ ] depends on: #31500
|
blocked-by-other-PR
large-import
IMO
merge-conflict
|
965/12 |
Archive.lean,Archive/Imo/Imo2012Q5.lean,Mathlib/Analysis/Convex/Between.lean,Mathlib/Geometry/Euclidean/Altitude.lean,Mathlib/Geometry/Euclidean/Sphere/Basic.lean,Mathlib/Geometry/Euclidean/Sphere/Power.lean,Mathlib/Geometry/Euclidean/Triangle.lean,Mathlib/LinearAlgebra/AffineSpace/Independent.lean |
8 |
3 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot'] |
nobody |
99-6788 3 months ago |
125-36452 125 days ago |
0-1530 25 minutes |
| 27936 |
alreadydone author:alreadydone |
feat(Algebra): additivize Dvd and Prime |
`Prime` can't be directly additivized, so we introduce `Prime₀`, which drops the `≠ 0` condition, and additivize it to `AddPrime`. To show that `Prime₀` is a reasonable definition, we show its connection to `Irreducible` under `IsPrimal` and `IsRegular` conditions. We also show that an element in a product monoid is `Prime₀` iff one component is a unit and the other is `Prime₀`, and the same with `Prime₀` replaced by `Irreducible`.
Also additivize `IsPrimal`, `IsRelPrime` and `DecompositionMonoid`.
The motivation is that the primality of `single g 1` in `AddMonoidAlgebra k G` is connected to the primality of `g` in `G`.
---
I've checked [all 29 files](https://github.com/search?q=repo%3Aleanprover-community%2Fmathlib4%20%E2%88%A3%20to_additive&type=code) containing the `∣` symbol and the `to_additive` attribute and fixed the wrongly translated (`dvd` to `addDvd`) names.
TODO: connect (Add)Dvd to [ExistsMul/AddOfLE](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Monoid/Unbundled/ExistsOfLE.html#ExistsMulOfLE)
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
merge-conflict
label:t-algebra$ |
398/185 |
Mathlib.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/List/Lemmas.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean,Mathlib/Algebra/Divisibility/Basic.lean,Mathlib/Algebra/Divisibility/Finite.lean,Mathlib/Algebra/Divisibility/Hom.lean,Mathlib/Algebra/Divisibility/Prod.lean,Mathlib/Algebra/Divisibility/Units.lean,Mathlib/Algebra/Group/Action/Pointwise/Finset.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Algebra/Notation/Defs.lean,Mathlib/Algebra/Prime/Defs.lean,Mathlib/Algebra/Prime/Lemmas.lean,Mathlib/Algebra/Prime/Prod.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/Dynamics/PeriodicPts/Defs.lean,Mathlib/GroupTheory/Coset/Card.lean,Mathlib/GroupTheory/Exponent.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/GroupTheory/GroupAction/Period.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/OrderOfElement.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/GroupTheory/Schreier.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/Tactic/Translate/ToAdditive.lean |
30 |
38 |
['JovanGerb', 'YaelDillies', 'adomani', 'alreadydone', 'bryangingechen', 'github-actions', 'jcommelin', 'kbuzzard', 'leanprover-radar', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
bryangingechen assignee:bryangingechen |
99-6535 3 months ago |
123-12395 123 days ago |
107-17045 107 days |
| 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 |
99-5551 3 months ago |
99-5551 99 days ago |
0-3761 1 hour |
| 34503 |
alreadydone author:alreadydone |
chore(RingTheory/Localization): generalize FractionRing to semirings |
+ Introduce `Submonoid.regulars`, the submonoid of regular elements in a monoid.
+ Replace `nonZeroDivisors` by `regulars` in the definition of (Is)FractionRing, generalizing from CommRing to CommSemiring.
Finishes most of the remaining parts of issue #22997.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
awaiting-CI
WIP
merge-conflict
label:t-algebra$ |
330/188 |
Mathlib/Algebra/Field/Basic.lean,Mathlib/Algebra/Group/Hom/Basic.lean,Mathlib/Algebra/Group/Submonoid/Basic.lean,Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Ring/NonZeroDivisors.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/RingTheory/LocalRing/Basic.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/Defs.lean,Mathlib/RingTheory/Localization/FractionRing.lean |
13 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
99-5426 3 months ago |
unknown |
0-0 0 seconds |
| 35134 |
fpvandoorn author:fpvandoorn |
feat(translate): print constant names with hover info |
Part of #34846.
---
[](https://gitpod.io/from-referrer/)
|
t-meta
awaiting-author
merge-conflict
|
46/28 |
Mathlib/Tactic/Translate/Core.lean,MathlibTest/toAdditive.lean |
2 |
6 |
['JovanGerb', 'github-actions', 'mathlib-merge-conflicts'] |
JovanGerb assignee:JovanGerb |
99-5296 3 months ago |
100-84152 100 days ago |
2-13760 2 days |
| 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?
[](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 |
98-79487 3 months ago |
99-21723 99 days ago |
0-118 1 minute |
| 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.
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
t-linter
RFC
|
4/0 |
MathlibTest/DeprecatedSyntaxLinter.lean,MathlibTest/Monotonicity.lean |
2 |
2 |
['github-actions', 'grunweg'] |
nobody |
98-79107 3 months ago |
99-19823 99 days ago |
0-13 13 seconds |
| 32534 |
erdOne author:erdOne |
feat(AlgebraicGeometry): Zariski's main theorem |
---
- [x] depends on: #34274
- [x] depends on: #34017
- [ ] depends on: #34222
- [ ] depends on: #34269
- [ ] depends on: #33903
- [ ] depends on: #33803
- [ ] depends on: #33555
- [x] depends on: #33805
- [x] depends on: #33722
- [x] depends on: #33718
- [x] depends on: #32811
- [x] depends on: #32803
- [x] depends on: #33469
- [x] depends on: #33553
- [x] depends on: #32530
- [x] depends on: #32528
- [x] depends on: #32429
- [x] depends on: #32375
- [x] depends on: #30885
- [x] depends on: #32536
- [x] depends on: #32537
- [x] depends on: #32595
- [x] depends on: #32596
- [x] depends on: #32813
- [x] depends on: #32809
- [x] depends on: #32802
- [x] depends on: #33468
- [x] depends on: #32665
- [x] depends on: #32823
- [x] depends on: #32806
- [x] depends on: #32837
- [x] depends on: #33537
- [x] depends on: #33476
- [x] depends on: #33556
- [x] depends on: #33536
- [x] depends on: #33472
[](https://gitpod.io/from-referrer/)
|
WIP
t-ring-theory
|
4808/0 |
Mathlib.lean,Mathlib/CFT/ActualStuff.lean,Mathlib/CFT/Etale.lean,Mathlib/CFT/EtaleLocalization.lean,Mathlib/CFT/Flat.lean,Mathlib/CFT/IntegralClosure.lean,Mathlib/CFT/IsStandardEtale.lean,Mathlib/CFT/Junk.lean,Mathlib/CFT/NewNo.lean,Mathlib/CFT/No.lean,Mathlib/CFT/Nonsense.lean,Mathlib/CFT/Normalization.lean,Mathlib/CFT/Prestuff.lean,Mathlib/CFT/SeparableResidueStruct.lean,Mathlib/CFT/Smooth.lean,Mathlib/CFT/SmoothFibers.lean,Mathlib/CFT/Stuff.lean,Mathlib/CFT/Stuff2.lean,Mathlib/CFT/ZariskiMain.lean,Mathlib/RingTheory/ZariskiMain.lean |
20 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
98-23723 3 months ago |
169-20303 169 days ago |
0-101 1 minute |
| 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 |
97-86133 3 months ago |
139-78518 139 days ago |
21-3598 21 days |
| 29145 |
JovanGerb author:JovanGerb |
chore: use `to_additive` in more places |
This PR addresses some comments about `to_additive` not working, by making it work more.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-CI
t-meta
merge-conflict
|
61/177 |
Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Order/BigOperators/Group/LocallyFinite.lean,Mathlib/Combinatorics/Additive/DoublingConst.lean,Mathlib/Data/ZMod/Aut.lean,Mathlib/Topology/Algebra/InfiniteSum/Module.lean |
5 |
4 |
['JovanGerb', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
97-80030 3 months ago |
267-69701 267 days ago |
0-26083 7 hours |
| 34024 |
adomani author:adomani |
feat: the global syntax linter |
The `globalSyntax` linter emits a warning on pairs of consecutive commands with no overall effect.
For instance, the linter would flag
```lean4
namespace X
end X
```
and similarly for consecutive pairs of `open` or `section` and `end`.
---
- [ ] depends on: #34019, with just the linter implementation
- [x] depends on: #34021, with linter-driven corrections
- [x] depends on: #34051, with linter-driven corrections
[](https://gitpod.io/from-referrer/)
|
large-import
blocked-by-other-PR
t-linter
merge-conflict
|
219/15 |
Archive/Imo/Imo2024Q3.lean,Mathlib.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Init.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/GlobalSyntax.lean,MathlibTest/FindSyntax.lean,MathlibTest/Tauto.lean,MathlibTest/sqrt.lean |
9 |
13 |
['Ruben-VandeVelde', 'adomani', 'github-actions', 'grunweg', 'leanprover-radar', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
97-79157 3 months ago |
129-57804 129 days ago |
0-1774 29 minutes |
| 34926 |
mattrobball author:mattrobball |
test |
Testing
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
1/1 |
lean-toolchain |
1 |
9 |
['github-actions', 'kbuzzard', 'leanprover-radar', 'mathlib-merge-conflicts', 'mattrobball'] |
nobody |
97-78907 3 months ago |
unknown |
0-0 0 seconds |
| 16553 |
grunweg author:grunweg |
WIP: tinkering with orientable manifolds |
- wait for #33307 to get merged
- PR the "normed space" part separately
- WIP: a linear isomorphism on a connected set is either orientation-preserving or orientation-preserving: some form of this was merged into mathlib recently; TODO update this PR accordingly!
- [ ] depends on: #33307
- [x] depends on: #8738
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-differential-geometry
blocked-by-other-PR
|
287/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/Geometry/Manifold/Orientable.lean |
3 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] |
nobody |
97-68071 3 months ago |
unknown |
0-0 0 seconds |
| 27500 |
Komyyy author:Komyyy |
feat: the Riemann zeta function is meromorphic |
Also proves that the Hurwitz zeta function is meromorphic. This PR is split from #27499 to leave a good git diff history.
---
The `large-import` change occurs only in the new module, so it poses no problem.
- [x] depends on: #27499
- [x] depends on: #29817
This PR continues the work from #25597.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25597 |
WIP
t-analysis
large-import
merge-conflict
|
87/3 |
Mathlib/Analysis/Meromorphic/Basic.lean,Mathlib/Analysis/Meromorphic/Complex.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Deligne.lean,Mathlib/NumberTheory/LSeries/AbstractFuncEq.lean,Mathlib/NumberTheory/LSeries/HurwitzZeta.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaEven.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaOdd.lean,Mathlib/NumberTheory/LSeries/RiemannZeta.lean |
3 |
21 |
['Komyyy', 'github-actions', 'j-loreaux', 'loefflerd', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
j-loreaux assignee:j-loreaux |
97-41864 3 months ago |
271-77160 271 days ago |
30-62878 30 days |
| 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
- [ ] depends on: #35043
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
new-contributor
t-analysis
merge-conflict
|
1300/431 |
Mathlib.lean,Mathlib/Analysis/ODE/Basic.lean,Mathlib/Analysis/ODE/ExistUnique.lean,Mathlib/Analysis/ODE/Gronwall.lean,Mathlib/Analysis/ODE/MaximalSolution.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Analysis/ODE/Transform.lean,Mathlib/Geometry/Manifold/IntegralCurve/Basic.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/Geometry/Manifold/IntegralCurve/Transform.lean,Mathlib/Geometry/Manifold/IntegralCurve/UniformTime.lean,docs/1000.yaml,docs/undergrad.yaml |
13 |
95 |
['botbaki-review', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'michaellee94', 'winstonyin'] |
nobody |
97-27268 3 months ago |
329-13054 329 days ago |
0-5139 1 hour |
| 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
|
20/0 |
Mathlib/Geometry/Euclidean/Angle/Unoriented/Projection.lean |
1 |
4 |
['JovanGerb', 'github-actions', 'j-loreaux'] |
JovanGerb assignee:JovanGerb |
97-9564 3 months ago |
97-9664 97 days ago |
39-6778 39 days |
| 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.
---
[](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 |
97-8073 3 months ago |
97-12707 97 days ago |
1-21290 1 day |
| 34019 |
adomani author:adomani |
feat: global syntax linter |
This linter is very unstable when editing interactively a file, since it inspects pairs of commands, rather than individual commands.
For this reason, the linter should only run in CI.
---
[](https://gitpod.io/from-referrer/)
|
t-linter
large-import
|
141/0 |
Mathlib.lean,Mathlib/Init.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/GlobalSyntax.lean |
4 |
7 |
['SnirBroshi', 'adomani', 'bryangingechen', 'github-actions', 'mathlib-splicebot'] |
nobody |
97-5792 3 months ago |
unknown |
0-0 0 seconds |
| 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
---
[](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 |
97-3830 3 months ago |
97-4036 97 days ago |
39-9555 39 days |
| 24965 |
erdOne author:erdOne |
refactor: Make `IsLocalHom` take unbundled map |
Under the current definition, `IsLocalHom f` and `IsLocalHom f.toMonoidHom` are not defeq, which causes quite some annoyances. We also have a consensus to not use `*HomClass` in definitions. As a result, we change `IsLocalHom` to take an unbundled function instead of a funlike.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
delegated
merge-conflict
label:t-algebra$ |
18/9 |
Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/Geometry/RingedSpace/LocallyRingedSpace.lean,Mathlib/Geometry/RingedSpace/OpenImmersion.lean,Mathlib/RingTheory/LocalRing/ResidueField/Basic.lean |
5 |
15 |
['adomani', 'alreadydone', 'erdOne', 'eric-wieser', 'github-actions', 'jcommelin', 'leanprover-community-bot-assistant', 'mathlib-bors', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
mattrobball assignee:mattrobball |
96-66207 3 months ago |
188-31976 188 days ago |
24-84527 24 days |
| 25622 |
eric-wieser author:eric-wieser |
refactor: overhaul instances on LocalizedModule |
This:
* Generalizes the `SMul`, `Module`, and `Algebra` instances via appropriate compatibility conditions
* Generalizes the `Mul` instance to the non-unital setting
* Fixes instances diamonds for the `Nat`- and `Int`-actions
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
214/100 |
Mathlib/Algebra/Module/LocalizedModule/Basic.lean |
1 |
6 |
['erdOne', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib-merge-conflicts'] |
nobody |
96-66204 3 months ago |
unknown |
0-0 0 seconds |
| 25980 |
Multramate author:Multramate |
refactor(Algebra/Group/Submonoid/Operations): rename restrict to domRestrict and add restrict |
And update the documentation for consistency |
t-group-theory
merge-conflict
|
145/123 |
Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/GroupTheory/FiniteAbelian/Duality.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/Maps.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/GroupTheory/PGroup.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/GroupTheory/Transfer.lean,Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean,Mathlib/NumberTheory/NumberField/CMField.lean,Mathlib/NumberTheory/NumberField/Ideal/Basic.lean,Mathlib/RingTheory/Localization/Defs.lean |
14 |
10 |
['Multramate', 'copilot-pull-request-reviewer', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
96-66079 3 months ago |
96-66080 96 days ago |
5-9216 5 days |
| 25981 |
Multramate author:Multramate |
feat(GroupTheory/GroupAction/Basic): define homomorphisms of fixed subgroups induced by homomorphisms of groups |
This PR continues the work from #10126.
Original PR: https://github.com/leanprover-community/mathlib4/pull/10126 |
t-group-theory
large-import
merge-conflict
|
218/144 |
Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Ring/Action/Submonoid.lean,Mathlib/GroupTheory/FiniteAbelian/Duality.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/Maps.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/GroupTheory/PGroup.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/GroupTheory/Transfer.lean,Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean,Mathlib/NumberTheory/NumberField/CMField.lean,Mathlib/NumberTheory/NumberField/Ideal/Basic.lean,Mathlib/RingTheory/Localization/Defs.lean |
16 |
8 |
['copilot-pull-request-reviewer', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
96-66078 3 months ago |
96-66078 96 days ago |
4-78395 4 days |
| 26377 |
Whysoserioushah author:Whysoserioushah |
feat(RingTheory/SimpleRing/TensorProduct): tensor product of a simple algebra and a central simple algebra is simple |
co-authored-by: @jjaassoonn
---
|
t-ring-theory
large-import
awaiting-author
merge-conflict
|
326/8 |
Mathlib.lean,Mathlib/RingTheory/SimpleRing/TensorProduct.lean,Mathlib/RingTheory/TwoSidedIdeal/Kernel.lean,Mathlib/RingTheory/TwoSidedIdeal/Lattice.lean,Mathlib/RingTheory/TwoSidedIdeal/Operations.lean |
5 |
71 |
['Ruben-VandeVelde', 'Whysoserioushah', 'chrisflav', 'eric-wieser', 'github-actions', 'kbuzzard', 'kckennylau', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'vlad902'] |
chrisflav and kbuzzard assignee:kbuzzard assignee:chrisflav |
96-66075 3 months ago |
69-835 69 days ago |
43-37413 43 days |
| 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
|
631/0 |
Archive.lean,Archive/Imo/Imo2025Q4.lean |
2 |
4 |
['LexinonCraft', 'github-actions', 'jsm28'] |
jsm28 assignee:jsm28 |
96-60104 3 months ago |
96-60104 96 days ago |
3-30421 3 days |
| 31603 |
alreadydone author:alreadydone |
chore(Algebra): make `RatFunc` an abbrev |
I think there's no instance on `FractionRing K[X]` that shouldn't be shared by `RatFunc K`, so it's better to make the latter an abbrev. In the ongoing [Lüroth project](https://github.com/hdlean/mathlib4/pull/1/files#diff-02a084b8d8540eab8a346db8be4ba1a2b39b086bc1407125536d96adf6544544) I've been using `FractionRing K[X]` and it would be nice if we could gain direct access to `RatFunc` API (though not much is relevant, there was already one case where it's helpful), and if our results could be directly applied to RatFunc rather than going through some isomorphism boilerplate. Of course, some `IsRatFunc` predicate could also be an option (IsField + generated by one transcendental element over base field).
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
RFC
merge-conflict
label:t-algebra$ |
113/423 |
Mathlib/FieldTheory/Laurent.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/FieldTheory/RatFunc/Basic.lean,Mathlib/FieldTheory/RatFunc/Defs.lean,scripts/nolints_prime_decls.txt |
5 |
24 |
['Vierkantor', 'alreadydone', 'erdOne', 'github-actions', 'leanprover-bot', 'leanprover-radar', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'mattrobball'] |
erdOne assignee:erdOne |
96-43981 3 months ago |
183-67205 183 days ago |
9-5124 9 days |
| 33276 |
NicolaBernini author:NicolaBernini |
feat: Rename List.reverse_perm to List.reverse_perm_self and List.reverse_perm' to List.reverse_perm_iff |
---
[](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 |
96-43848 3 months ago |
147-22121 147 days ago |
4-4467 4 days |
| 33303 |
sinhp author:sinhp |
feat(CategoryTheory): The monads and comonads of locally cartesian closed categories |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
merge-conflict
|
405/8 |
Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/ChosenPullbacksAlong.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/Monad.lean |
3 |
3 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
96-43847 3 months ago |
150-26207 150 days ago |
0-20 20 seconds |
| 33795 |
alreadydone author:alreadydone |
feat(Topology/Sheaves): LocalPredicate prerequisite for étalé spaces |
---
[](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 |
96-43712 3 months ago |
96-43713 96 days ago |
34-21636 34 days |
| 33810 |
dupuisf author:dupuisf |
feat: add instances of `LawfulInv` |
---
- [ ] depends on: #33441
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
blocked-by-other-PR
|
187/22 |
Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/GroupWithZero/Invertible.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/RingTheory/DividedPowers/Padic.lean,Mathlib/Topology/Algebra/Module/Equiv.lean,Mathlib/Topology/ContinuousMap/Bounded/Basic.lean |
9 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
96-43711 3 months ago |
135-68653 135 days ago |
0-1 1 second |
| 34075 |
eric-wieser author:eric-wieser |
feat: add a typeclass for the continuum hypothesis |
This allows a proof from the Archive to be promoted to mathlib itself.
The proof strategy of `iff_exists_sierpinski_pathological_pred` was written almost entirely with public Gemini 3 Thinking, and then manually corrected.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory
merge-conflict
awaiting-author
|
200/58 |
Counterexamples/Phillips.lean,Mathlib.lean,Mathlib/SetTheory/Cardinal/ContinuumHypothesis.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean |
3 |
27 |
['b-mehta', 'eric-wieser', 'github-actions', 'grunweg', 'mathlib-merge-conflicts', 'plp127', 'vihdzp'] |
nobody |
96-42530 3 months ago |
44-67709 44 days ago |
0-44643 12 hours |
| 34179 |
alreadydone author:alreadydone |
refactor(Algebra): weaken NormalizationMonoid |
This PR replaces the two fields
```
normUnit_mul : ∀ {a b}, a ≠ 0 → b ≠ 0 → normUnit (a * b) = normUnit a * normUnit b
normUnit_coe_units : ∀ u : αˣ, normUnit u = u⁻¹
```
in the definition of NormalizationMonoid by
```
normUnit_one : normUnit 1 = 1
normUnit_mul_units {a : α} (u : αˣ) : a ≠ 0 → normUnit (a * u) = u⁻¹ * normUnit a
```
and rename the old version to StrongNormalizationMonoid. The vast majority of API continue to hold under this weakened notion of NormalizationMonoid; only a handful requires the original notion.
Every cancellative monoid with zero admits a weakened NormalizationMonoid structure, and every GCDMonoid admits a weakened NormalizedGCDMonoid structure.
This allows us to generalize [Polynomial.normalizedGcdMonoid](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Polynomial/Content.html#Polynomial.normalizedGcdMonoid) to all GCDMonoids.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
awaiting-author
merge-conflict
label:t-algebra$ |
505/330 |
Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/GCDMonoid/IntegrallyClosed.lean,Mathlib/Algebra/GCDMonoid/Multiset.lean,Mathlib/Algebra/GCDMonoid/Nat.lean,Mathlib/Algebra/GCDMonoid/PUnit.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/NumberTheory/FLT/Basic.lean,Mathlib/RingTheory/ChainOfDivisors.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/Polynomial/Content.lean,Mathlib/RingTheory/Polynomial/GaussLemma.lean,Mathlib/RingTheory/PowerSeries/Inverse.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Finite.lean,Mathlib/RingTheory/UniqueFactorizationDomain/GCDMonoid.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Multiplicative.lean,Mathlib/RingTheory/UniqueFactorizationDomain/NormalizedFactors.lean |
20 |
28 |
['alreadydone', 'erdOne', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
erdOne assignee:erdOne |
96-42526 3 months ago |
113-71351 113 days ago |
9-10392 9 days |
| 34955 |
thorimur author:thorimur |
chore: test overlapping instances linter |
This draft PR is intended to test-run the syntax version of the overlapping instances linter in [this PR](https://github.com/JovanGerb/mathlib4/pull/1). The two purposes are
1. benching
2. figuring out which violations we should exempt/fix
This PR is not intended to be merged.
---
[](https://gitpod.io/from-referrer/)
|
large-import
merge-conflict
|
515/14 |
Mathlib.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/CategoryTheory/Monoidal/Closed/Cartesian.lean,Mathlib/CategoryTheory/Shift/Pullback.lean,Mathlib/Init.lean,Mathlib/Lean/ContextInfo.lean,Mathlib/Lean/Elab/InfoTree.lean,Mathlib/Lean/LocalContext.lean,Mathlib/Lean/Message.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,Mathlib/Tactic/Linter/OverlappingInstances.lean,MathlibTest/OverlappingInstances.lean |
14 |
8 |
['github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'thorimur'] |
nobody |
96-42257 3 months ago |
unknown |
0-0 0 seconds |
| 26299 |
adomani author:adomani |
perf: the `whitespace` linter only acts on modified files |
Introduces an `IO.Ref` to allow the `commandStart` linter to only run on files that git considers modified with respect to `master`.
The linter is also active on files that have had some error, as these are likely being modified!
The PR should also mitigate the speed-up that the linter introduced:
[#mathlib4 > A whitespace linter @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/A.20whitespace.20linter/near/525091877)
Assuming that this goes well, a similar mechanism could be applied to several linters that do not need to run on all code, just on the modified code.
Implementation detail: the linter is currently either on or off in "whole" files. It may be also a future development to make this more granular and only run the linter on "modifed commands in modified files", but this is not currently the plan for this modification!
---
[](https://gitpod.io/from-referrer/)
|
t-linter
awaiting-zulip
awaiting-author
|
55/7 |
Mathlib/Tactic/Linter/Whitespace.lean |
1 |
20 |
['adomani', 'eric-wieser', 'github-actions', 'grunweg', 'joneugster', 'kim-em', 'leanprover-bot', 'leanprover-radar', 'mathlib-bors', 'mathlib4-merge-conflict-bot'] |
grunweg assignee:grunweg |
96-36146 3 months ago |
269-32464 269 days ago |
66-73556 66 days |
| 35345 |
grunweg author:grunweg |
feat(Linter.openClassical): also lint for Classical declarations as |
…a local or scoped instance.
Rebased and migrated version of #23763.
---
[](https://gitpod.io/from-referrer/)
|
t-linter |
131/31 |
Mathlib/RingTheory/Perfection.lean,Mathlib/Tactic/Linter/Style.lean,Mathlib/Topology/MetricSpace/GromovHausdorffRealized.lean,MathlibTest/LintStyle.lean |
4 |
1 |
['github-actions'] |
nobody |
96-32547 3 months ago |
98-79151 98 days ago |
0-26672 7 hours |
| 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 |
96-23582 3 months ago |
96-23583 96 days ago |
17-1225 17 days |
| 31892 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Sphere/PolePolar): poles and polars |
Define poles and polars for spheres in Euclidean affine spaces, and set up some basic API, including in particular La Hire's theorem (`p₁` lies on the polar of `p₂` if and only if `p₂` lies on the polar of `p₁`).
Poles and polars are actually meaningful for any quadric in a projective space over any field, but I think it's reasonable to set up this theory for spheres in the Euclidean context and potentially link it in future to more general projective geometry.
---
- [ ] depends on: #31891
- [ ] depends on: #32296
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry
blocked-by-other-PR
|
424/7 |
Mathlib.lean,Mathlib/Geometry/Euclidean/Sphere/PolePolar.lean |
4 |
4 |
['Parcly-Taxel', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
96-17368 3 months ago |
58-85108 58 days ago |
58-85863 58 days |
| 31893 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Sphere/Tangent): characterize `tangentsFrom` |
Add lemmas relating tangency to polars, and thereby characterizing `tangentsFrom`: empty for a point inside the sphere, a singleton for a point on the sphere and, in two dimensions, of cardinality two for a point outside the circle.
---
- [ ] depends on: #31891
- [ ] depends on: #31892
- [ ] depends on: #32296
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-euclidean-geometry
|
483/9 |
Mathlib.lean,Mathlib/Geometry/Euclidean/Sphere/PolePolar.lean,Mathlib/Geometry/Euclidean/Sphere/Tangent.lean |
4 |
4 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot'] |
nobody |
96-17302 3 months ago |
185-18901 185 days ago |
0-313 5 minutes |
| 35324 |
harahu author:harahu |
chore: add H1 headers |
This PR introduces a script that identifies lean files that don't have an H1 header.
I've added a placeholder header to the identified files and will use this branch to develop smaller PRs.
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
|
1749/0 |
Archive/Wiedijk100Theorems/CubingACube.lean,Cache/Hashing.lean,Cache/IO.lean,Cache/Init.lean,Cache/Main.lean,Cache/Requests.lean,Counterexamples/CanonicallyOrderedCommSemiringTwoMul.lean,Counterexamples/IrrationalPowerOfIrrational.lean,Mathlib/Algebra/Algebra/Subalgebra/IsSimpleOrder.lean,Mathlib/Algebra/AlgebraicCard.lean,Mathlib/Algebra/ArithmeticGeometric.lean,Mathlib/Algebra/Category/Grp/FiniteGrp.lean,Mathlib/Algebra/Category/Grp/ZModuleEquivalence.lean,Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Algebra/CharP/Frobenius.lean,Mathlib/Algebra/GroupWithZero/Int.lean,Mathlib/Algebra/Homology/ComplexShapeSigns.lean,Mathlib/Algebra/Homology/HomologicalComplexBiprod.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplexShift.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomologicalFunctor.lean,Mathlib/Algebra/Homology/HomotopyCategory/Pretriangulated.lean,Mathlib/Algebra/Homology/HomotopyCategory/Triangulated.lean,Mathlib/Algebra/Homology/HomotopyCofiber.lean,Mathlib/Algebra/Homology/Localization.lean,Mathlib/Algebra/Homology/TotalComplexSymmetry.lean,Mathlib/Algebra/Lie/CartanMatrix.lean,Mathlib/Algebra/ModEq.lean,Mathlib/Algebra/Module/Submodule/Equiv.lean,Mathlib/Algebra/MvPolynomial/Counit.lean,Mathlib/Algebra/MvPolynomial/Expand.lean,Mathlib/Algebra/NoZeroSMulDivisors/Prod.lean,Mathlib/Algebra/Order/Archimedean/Hom.lean,Mathlib/Algebra/Order/Field/Defs.lean,Mathlib/Algebra/Order/Interval/Set/Group.lean,Mathlib/Algebra/Order/Module/Algebra.lean,Mathlib/Algebra/Order/Monoid/ToMulBot.lean,Mathlib/Algebra/Order/PartialSups.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Factors.lean,Mathlib/Algebra/QuadraticAlgebra.lean,Mathlib/AlgebraicGeometry/Morphisms/UnderlyingMap.lean,Mathlib/AlgebraicTopology/DoldKan/Compatibility.lean,Mathlib/AlgebraicTopology/DoldKan/EquivalenceAdditive.lean,Mathlib/AlgebraicTopology/DoldKan/GammaCompN.lean,Mathlib/AlgebraicTopology/DoldKan/NCompGamma.lean,Mathlib/AlgebraicTopology/MooreComplex.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented.lean,Mathlib/Analysis/Analytic/CPolynomialDef.lean,Mathlib/Analysis/Calculus/ContDiff/RestrictScalars.lean,Mathlib/Analysis/Calculus/Deriv/Shift.lean,Mathlib/Analysis/Calculus/TangentCone.lean,Mathlib/Analysis/Distribution/FourierSchwartz.lean,Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/InnerProductSpace/Harmonic/Analytic.lean,Mathlib/Analysis/InnerProductSpace/Projection.lean,Mathlib/Analysis/Matrix.lean,Mathlib/Analysis/Normed/Field/Ultra.lean,Mathlib/Analysis/Normed/Module/ENormedSpace.lean,Mathlib/Analysis/NormedSpace/Alternating/Basic.lean,Mathlib/Analysis/NormedSpace/Alternating/Curry.lean,Mathlib/Analysis/NormedSpace/Alternating/Uncurry/Fin.lean,Mathlib/Analysis/NormedSpace/BallAction.lean,Mathlib/Analysis/NormedSpace/ConformalLinearMap.lean,Mathlib/Analysis/NormedSpace/Connected.lean,Mathlib/Analysis/NormedSpace/DualNumber.lean,Mathlib/Analysis/NormedSpace/ENormedSpace.lean,Mathlib/Analysis/NormedSpace/Extend.lean,Mathlib/Analysis/NormedSpace/Extr.lean,Mathlib/Analysis/NormedSpace/FunctionSeries.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Extension.lean,Mathlib/Analysis/NormedSpace/HahnBanach/SeparatingDual.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Separation.lean,Mathlib/Analysis/NormedSpace/HomeomorphBall.lean,Mathlib/Analysis/NormedSpace/IndicatorFunction.lean,Mathlib/Analysis/NormedSpace/Int.lean,Mathlib/Analysis/NormedSpace/MStructure.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean,Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean,Mathlib/Analysis/NormedSpace/MultipliableUniformlyOn.lean,Mathlib/Analysis/NormedSpace/Normalize.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Asymptotics.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Basic.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Bilinear.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Completeness.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Mul.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/NNNorm.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/NormedSpace.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Prod.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Analysis/NormedSpace/Pointwise.lean,Mathlib/Analysis/NormedSpace/RCLike.lean,Mathlib/Analysis/NormedSpace/Real.lean,Mathlib/Analysis/NormedSpace/RieszLemma.lean,Mathlib/Analysis/NormedSpace/SphereNormEquiv.lean,Mathlib/Analysis/Real/Pi/Leibniz.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev.lean,Mathlib/CategoryTheory/Adhesive.lean |
348 |
3 |
['github-actions', 'harahu', 'mathlib-merge-conflicts'] |
nobody |
94-50162 3 months ago |
unknown |
0-0 0 seconds |
| 34240 |
mcdoll author:mcdoll |
feat(Analysis/Distribution): additional properties of the support |
---
- [x] depends on: #34593
- [x] depends on: #34595
- [ ] depends on: #34637
- [x] depends on: #34638
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
merge-conflict
blocked-by-other-PR
|
494/2 |
Mathlib/Analysis/Calculus/FDeriv/Const.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Deriv.lean,Mathlib/Analysis/Distribution/Support.lean,Mathlib/Analysis/Distribution/TemperateGrowth.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean |
6 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] |
nobody |
94-47117 3 months ago |
123-63621 123 days ago |
0-34 34 seconds |
| 35558 |
mcdoll author:mcdoll |
feat(Analysis/Distribution): algebraic properties of the support |
---
- [ ] depends on: #34637
- [ ] depends on: #33477
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-analysis
merge-conflict
|
325/0 |
Mathlib/Analysis/Distribution/Support.lean |
1 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
94-46699 3 months ago |
94-46700 94 days ago |
0-1208 20 minutes |
| 35352 |
themathqueen author:themathqueen |
feat(Analysis/CStarAlgebra): the norm of a positive linear functional `f` on a unital C*-algebra is `f 1` |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
awaiting-author
|
24/0 |
Mathlib/Analysis/CStarAlgebra/GelfandNaimarkSegal.lean,Mathlib/Analysis/CStarAlgebra/PositiveLinearMap.lean |
2 |
7 |
['github-actions', 'j-loreaux', 'themathqueen'] |
j-loreaux assignee:j-loreaux |
94-31565 3 months ago |
94-31568 94 days ago |
4-65379 4 days |
| 25989 |
Multramate author:Multramate |
feat(NumberTheory/EllipticDivisibilitySequence): add elliptic nets |
This PR continues the work from #25030.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25030 |
t-number-theory
large-import
awaiting-author
|
254/39 |
Mathlib/NumberTheory/EllipticDivisibilitySequence.lean |
1 |
27 |
['MichaelStollBayreuth', 'Multramate', 'copilot-pull-request-reviewer', 'github-actions', 'mathlib4-merge-conflict-bot', 'tb65536'] |
tb65536 assignee:tb65536 |
94-25672 3 months ago |
94-25672 94 days ago |
55-47427 55 days |
| 35411 |
daniel-carranza author:daniel-carranza |
feat(CategoryTheory/Enriched/Limits): define cotensors in an enriched category |
Defines the notion of cotensors in a `V`-category `C`, where `V` is a braided monoidal category. Proves that `V` itself has all cotensors when viewed as a category enriched in `V`. Also proves that if `C` has all cotensors and `V` is additionally symmetric then the cotensors form a `V`-functor from the enriched tensor product`V\op \times C` to `C`.
---
This work originates from the infinity-cosmos project, where the dual theory of tensors was formalized by @arnoudvanderleer .
The current version of this code introduces an `abbrev` definition `Ehom V C x y` for the hom-object C(x, y) in V. The intention is to make the code easier to both to write and read; the existing notation `x \hom[V] y` throws an error when instantiated at `C` = `V` (`ambiguous term;` `Possible interpretations:` `(ihom x).obj y : V` `x ⟶[V] y : V`). A possibly related issue is there are a few calls to `erw` that stem from a failure to identify `(ihom x).obj : V` with `Ehom V V x y`. Any help with these issues, or any other assistance, is greatly appreciated!
- [ ] depends on: #35144 [required to prove `V`-functoriality of cotensors]
- [ ] depends on: #35436 [required to prove that `V` admits all cotensors by itself]
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
infinity-cosmos
blocked-by-other-PR
merge-conflict
|
822/0 |
Mathlib.lean,Mathlib/CategoryTheory/Enriched/Limits/Cotensors.lean,Mathlib/CategoryTheory/Enriched/TensorProductCategory.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/Closed/InternalCurrying.lean |
5 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
94-24158 3 months ago |
98-4943 98 days ago |
0-8 8 seconds |
| 35545 |
joelriou author:joelriou |
feat(Algebra/Category/ModuleCat): the internal hom for presheaves of modules |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
WIP
please-adopt
label:t-algebra$ |
141/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/InternalHom.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pushforward.lean |
3 |
1 |
['github-actions'] |
nobody |
94-22296 3 months ago |
94-77296 94 days ago |
0-2 2 seconds |
| 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.
- [x] depends on: #28208
- [x] depends on: #28198
- [x] depends on: #28185
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
new-contributor
awaiting-author
|
343/3 |
Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnectedSphere.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean |
3 |
17 |
['dagurtomas', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
94-21368 3 months ago |
94-21368 94 days ago |
13-72199 13 days |
| 31611 |
thorimur author:thorimur |
feat(Meta): `withPlural` wrapper for more readable messages in source |
This small PR introduces a thin wrapper `withPlural` for Lean's textual datatypes so that we can write
```
"foo".withPlural "foos" count
```
instead of
```
if count = 1 then "foo" else "foos"
```
The dot notation here is chosen so that the singular version of the word appears at the start of the syntax, as opposed to buried in an `if/then`. This makes dynamically pluralizing a word in `MessageData` (which is a relatively common occurrence) a bit easier to read in source, especially when multiple pluralizations are needed close to one another.
---
Am I handling the copyright header correctly? My reasoning is that the file was devoid of content, and so this is ultimately a new file. But I'm not sure this is technically what should happen here.
[](https://gitpod.io/from-referrer/)
|
t-meta
awaiting-author
merge-conflict
|
63/5 |
Mathlib/Lean/Message.lean |
1 |
21 |
['adomani', 'github-actions', 'grunweg', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'thorimur'] |
nobody |
94-13595 3 months ago |
170-84652 170 days ago |
21-2788 21 days |
| 35524 |
grunweg author:grunweg |
feat: text-based linter against \t followed by tactic mode |
Wait for the zulip discussion to converge. **If** there is consensus in favour of this change, summarise the motivation here.
[zulip discuss](https://leanprover.zulipchat.com/#narrow/channel/345428-mathlib-reviewers/topic/proposal.3A.20no.20more.20use.20of.20.60.E2.96.B8.60.20in.20Mathlib.3F/with/574680826)
---
There are currently 80 remaining exceptions in mathlib: ideally, these would get fixed before merging this.
Works best when combined with #35523.
[](https://gitpod.io/from-referrer/)
|
t-linter
awaiting-zulip
merge-conflict
|
23/2 |
Mathlib/Tactic/Linter/TextBased.lean |
1 |
5 |
['github-actions', 'grunweg', 'joneugster', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
94-6765 3 months ago |
95-29537 95 days ago |
0-3308 55 minutes |
| 35578 |
Shreyas4991 author:Shreyas4991 |
fix: writer monad should use an additive logging type |
The Writer monad's w type is supposed to be additive, not multiplicative. This is how it is conceptually used in Haskell (as a logging type). Haskell uses `Monoid` because it doesn't make a distinction between `AddMonoid` and `Monoid`.
[#mathlib4 > Writer should use an additive monoid @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Writer.20should.20use.20an.20additive.20monoid/near/574990415)
---
[](https://gitpod.io/from-referrer/)
|
t-data
awaiting-zulip
merge-conflict
|
10/10 |
Mathlib/Control/Monad/Cont.lean,Mathlib/Control/Monad/Writer.lean |
2 |
5 |
['Shreyas4991', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
93-71679 3 months ago |
93-71680 93 days ago |
0-18707 5 hours |
| 35591 |
JovanGerb author:JovanGerb |
draft: `gsimp` tactic |
This is a draft PR for exploring a potential `gsimp` tactic. It would be able to do some things that the current `grw` tactic cannot do.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
1233/0 |
Mathlib/Tactic/GSimp/Core.lean,Mathlib/Tactic/GSimp/Elab.lean,Mathlib/Tactic/GSimp/GSimpTheorems.lean,Mathlib/Tactic/GSimp/Rewrite.lean,Mathlib/Tactic/GSimp/Types.lean,MathlibTest/GSimp.lean |
5 |
3 |
['github-actions', 'mathlib-bors'] |
nobody |
93-65894 3 months ago |
93-65971 93 days ago |
0-6 6 seconds |
| 34873 |
Hagb author:Hagb |
feat(RingTheory/MvPolynomial/Groebner/Remainder): polynomial remainder used with Gröbner basis |
Definition and properties of remainder on division of a multivariate polynomial by a set of multivariate polynomials.
Some lemmas are for formalization of properties of Gröbner basis.
The previous `Mathlib/RingTheory/MvPolynomial/Groebner.lean` is moved to `Mathlib/RingTheory/MvPolynomial/Groebner/Division.lean`, and used by `Mathlib/RingTheory/MvPolynomial/Groebner/Remainder.lean` for the proof of remainder's existence.
The PR is upstreamized from https://github.com/WuProver/groebner_proj.
Co-authored-by: Hao Shen [3118181069@qq.com](mailto:3118181069@qq.com)
---
CC @tsuki8
- [ ] depends on: #34759
- [ ] depends on: #34872
todo:
- [ ] some theorems can be generalized to avoid requiring `IsUnit`
[](https://gitpod.io/from-referrer/)
|
large-import
blocked-by-other-PR
t-ring-theory
WIP
merge-conflict
|
1324/262 |
Mathlib.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Combinatorics/Matroid/Closure.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/Finsupp/MonomialOrder.lean,Mathlib/Logic/Basic.lean,Mathlib/RingTheory/MvPolynomial/Groebner.lean,Mathlib/RingTheory/MvPolynomial/Groebner/Division.lean,Mathlib/RingTheory/MvPolynomial/Groebner/Remainder.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean,docs/references.bib |
11 |
4 |
['github-actions', 'joneugster', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
93-11506 3 months ago |
109-11678 109 days ago |
0-455 7 minutes |
| 12933 |
grunweg author:grunweg |
chore: replace some use of > or ≥ by < or ≤ |
These were flagged by the linter in #12879: it is easy to simple avoid > or ≥ in hypotheses or `have`s.
---
- [x] depends on: #35346
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
|
123/123 |
Archive/Imo/Imo1960Q1.lean,Archive/Imo/Imo1962Q1.lean,Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo2005Q3.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2008Q4.lean,Archive/Imo/Imo2011Q5.lean,Archive/Imo/Imo2019Q4.lean,Archive/Wiedijk100Theorems/AreaOfACircle.lean,Archive/Wiedijk100Theorems/BallotProblem.lean,Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Star/CHSH.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/InnerProductSpace/Projection.lean,Mathlib/Analysis/Normed/Group/ControlledClosure.lean,Mathlib/Analysis/SpecialFunctions/Log/Base.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Data/FP/Basic.lean,Mathlib/Data/Finset/Basic.lean,Mathlib/Data/Finsupp/Notation.lean,Mathlib/Data/Nat/Dist.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Nat/Parity.lean,Mathlib/Data/Ordmap/Ordset.lean,Mathlib/Data/PNat/Basic.lean,Mathlib/Data/UInt.lean,Mathlib/GroupTheory/Coxeter/Length.lean,Mathlib/MeasureTheory/Constructions/Polish.lean,Mathlib/MeasureTheory/Covering/Besicovitch.lean,Mathlib/MeasureTheory/Covering/Vitali.lean,Mathlib/MeasureTheory/Covering/VitaliFamily.lean,Mathlib/MeasureTheory/Integral/Layercake.lean,Mathlib/NumberTheory/LegendreSymbol/JacobiSymbol.lean,Mathlib/NumberTheory/Padics/Hensel.lean,Mathlib/NumberTheory/Padics/PadicNorm.lean,Mathlib/NumberTheory/PellMatiyasevic.lean,Mathlib/NumberTheory/Rayleigh.lean,Mathlib/Probability/Process/Stopping.lean,Mathlib/Tactic/CancelDenoms/Core.lean,Mathlib/Tactic/IntervalCases.lean,Mathlib/Tactic/Linarith/Lemmas.lean,Mathlib/Tactic/Linarith/Oracle/FourierMotzkin.lean,Mathlib/Tactic/NormNum/GCD.lean,Mathlib/Tactic/NormNum/Inv.lean,Mathlib/Tactic/Ring/Basic.lean,Mathlib/Topology/Category/Profinite/Nobeling.lean,Mathlib/Topology/ContinuousFunction/Bounded.lean,Mathlib/Topology/MetricSpace/CauSeqFilter.lean,Mathlib/Topology/Sequences.lean,test/LibrarySearch/basic.lean,test/Use.lean,test/cancel_denoms.lean,test/linarith.lean,test/norm_cast.lean |
64 |
7 |
['YaelDillies', 'github-actions', 'grunweg', 'mathlib-dependent-issues'] |
nobody |
92-47556 3 months ago |
739-31435 739 days ago |
0-55656 15 hours |
| 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.
---
[](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 |
91-40480 3 months ago |
91-40480 91 days ago |
30-23357 30 days |
| 35671 |
CoolRmal author:CoolRmal |
feat: APIs for semifinite measures |
This PR introduces the definition of a semifinite measure. The main theorems shown in this file are:
- Sigma finite measures are semifinite.
- `measure_eq_zero_of_measure_inter_finite_eq_zero`: Let `s` be a measurable set such that its intersection with any set of finite measure is null. Then `s` is null. Consequently, in order to check whether a proposition holds almost everywhere, it suffices to check it holds almost everywhere in every set with finite measure.
- A measure is semifinite iff it equals to its semifinite part.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-measure-probability
|
107/0 |
Mathlib/MeasureTheory/Measure/Typeclasses/Semifinite.lean |
1 |
4 |
['CoolRmal', 'RemyDegenne', 'github-actions'] |
nobody |
91-7498 3 months ago |
91-53062 91 days ago |
0-14 14 seconds |
| 31766 |
SuccessMoses author:SuccessMoses |
feat(Topology/EMetricSpace): continuity of arc length |
fixes half of #31751
---
[](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 |
40 |
['SnirBroshi', 'SuccessMoses', 'alreadydone', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-merge-conflicts'] |
nobody |
90-72177 3 months ago |
166-73047 166 days ago |
2-77113 2 days |
| 33257 |
NickAdfor author:NickAdfor |
feat(Combinatorics/SimpleGraph/Bipartite): Odd Cycle Theorem (A Solution to TODO) |
Prove bipartite iff all cycles are even
This PR formalizes the classical graph theory theorem: a graph is bipartite if and only if all its cycles have even length.
Co-authored-by: Nick Adfor
Co-authored-by: Yue Sun
Co-authored-by: Aristotle AI
---
## Main results
- `SimpleGraph.bipartite_iff_all_cycles_even` : the main equivalence theorem
## Key supporting lemmas
- `SimpleGraph.even_length_iff_same_color` : parity lemma for 2-colorings
- `SimpleGraph.even_length_iff_even_bypass_length` : bypass length parity
- `SimpleGraph.even_cycle_length_of_path` : cycle construction lemma
- `SimpleGraph.bypass_eq_nil_of_closed` : closed path properties
## Proof outline
1. For bipartite graphs: use the 2-coloring to show that in a 2-coloring, a walk has even length iff its endpoints have the same color.
2. For cycles (start = end), this forces even length.
3. For the converse: if all cycles are even, construct a 2-coloring using the `two_colorable_iff_forall_loop_even` characterization.
4. Show this coloring is valid using bypass operations and path properties.
## Technical notes
- Uses `SimpleGraph.Walk` for path/cycle representation
- Handles both `IsPath` and `IsCycle` predicates
- Uses bypass operations (`takeUntil`, `dropUntil`, `bypass`) to analyze walks
- Requires `DecidableEq V` for some lemmas
- Uses classical logic for case analysis
## Reviewer notes
- The proof uses induction on walks and case analysis on colorings
- Some lemmas (like `even_length_iff_same_color`) could be extracted to more general locations
- All theorems are in the `SimpleGraph` namespace
- The `bipartite_iff_all_cycles_even` theorem provides the complete characterization |
t-combinatorics
new-contributor
awaiting-author
LLM-generated
merge-conflict
|
164/8 |
Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/ConcreteColorings.lean |
2 |
80 |
['IvanRenison', 'NickAdfor', 'Rida-Hamadani', 'SnirBroshi', 'YaelDillies', 'euprunin', 'github-actions', 'kmill', 'mathlib-merge-conflicts', 'mitchell-horner', 'vihdzp', 'vlad902'] |
YaelDillies assignee:YaelDillies |
90-61151 3 months ago |
62-33439 62 days ago |
52-32521 52 days |
| 33691 |
kim-em author:kim-em |
feat(scripts): add find-ci-errors.sh to diagnose widespread CI failures |
This PR adds a script that searches through recent failed CI workflow runs to find open PRs whose current CI contains a specific error string. Useful for diagnosing widespread CI issues affecting multiple PRs (e.g., infrastructure problems, toolchain bugs).
**Usage:**
```bash
# Find all PRs currently failing with a specific error
./scripts/find-ci-errors.sh "Error parsing args: cannot parse arguments"
# Find PRs and automatically add please-merge-master label to trigger rebuilds
./scripts/find-ci-errors.sh --please-merge-master "cannot parse arguments"
```
The `--please-merge-master` flag skips PRs with merge conflicts, and the label is automatically removed by CI once the build completes.
🤖 Prepared with Claude Code |
CI
delegated
merge-conflict
LLM-generated
|
196/0 |
scripts/README.md,scripts/find-ci-errors.sh |
2 |
6 |
['bryangingechen', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
90-42545 3 months ago |
138-61440 138 days ago |
0-7055 1 hour |
| 35494 |
Timeroot author:Timeroot |
feat(Topology/Perfect): simp frontier_singleton |
Add simp lemma
```
theorem frontier_singleton {X : Type*} [TopologicalSpace X] [T1Space X]
[PerfectSpace X] (p : X) : frontier {p} = {p}
```
---
[](https://gitpod.io/from-referrer/)
|
t-topology
awaiting-author
|
4/0 |
Mathlib/Topology/Perfect.lean |
1 |
4 |
['Timeroot', 'github-actions', 'urkud', 'vihdzp'] |
urkud assignee:urkud |
90-8954 3 months ago |
90-54490 90 days ago |
5-41003 5 days |
| 34867 |
urkud author:urkud |
feat(FDeriv/Comp): migrate to TVS |
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #34832 |
t-analysis
awaiting-author
|
94/91 |
Mathlib/Analysis/Calculus/FDeriv/Comp.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousAlternatingMap.lean,Mathlib/Analysis/Calculus/FDeriv/Mul.lean |
3 |
21 |
['eric-wieser', 'github-actions', 'j-loreaux', 'leanprover-radar', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'urkud'] |
j-loreaux assignee:j-loreaux |
89-85323 3 months ago |
89-85323 89 days ago |
15-63776 15 days |
| 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!
---
[](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 |
89-84275 3 months ago |
89-84275 89 days ago |
8-29654 8 days |
| 33247 |
sun123zxy author:sun123zxy |
feat(Mathlib/RingTheory/Ideal/Cotangent): dimension of cotangent spaces |
It is shown that the span rank of the maximal ideal of a local ring equals the dimension of the cotangent space
if the maximal ideal is finitely generated.
To avoid unnecessary imports, the original `Mathlib/RingTheory/Nakayama` is now moved to `Mathlib/RingTheory/Nakayama/Basic`.
---
- [ ] depends on: #33359
- [ ] depends on: #33361
- [ ] depends on: #35651
[](https://gitpod.io/from-referrer/)
|
file-removed
new-contributor
t-ring-theory
WIP
blocked-by-other-PR
merge-conflict
|
140/27 |
Mathlib.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/LocalRing/Module.lean,Mathlib/RingTheory/LocalRing/Quotient.lean,Mathlib/RingTheory/Nakayama/Basic.lean,Mathlib/RingTheory/Nakayama/SpanRank.lean,Mathlib/RingTheory/Regular/RegularSequence.lean,Mathlib/RingTheory/Support.lean |
10 |
13 |
['erdOne', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sun123zxy'] |
nobody |
89-68513 3 months ago |
148-75661 148 days ago |
3-72713 3 days |
| 34759 |
Hagb author:Hagb |
feat(RingTheory/MvPolynomial/MonomialOrder): add degree with `⊥` as degree of `0` |
`withBotDegree` is to distinguish the degree of zero polynomial from the degree of non-zero constant polynomial. `MonomialOrder.degree` of both are 0, while `withBotDegree` is `⊥` for zero polynomial and 0 for non-zero constant polynomial.
`MonomialOrder.withBotDegree` is to `MonomialOrder.degree` as `Polynomial.degree` is to `Polynomial.natDegree`.
It's upstreamized from https://github.com/WuProver/groebner_proj.
---
`MonomialOrder.withBotDegree` is to [`MonomialOrder.degree`](https://leanprover-community.github.io/mathlib4_docs/find/?pattern=MonomialOrder.degree#doc) as [`Polynomial.degree`](https://leanprover-community.github.io/mathlib4_docs/find/?pattern=Polynomial.degree#doc) is to [`Polynomial.natDegree`](https://leanprover-community.github.io/mathlib4_docs/find/?pattern=Polynomial.natDegree#doc).
It's upstreamized from [`Groebner/MonomialOrder.lean` in the repo `WuProver/groebner_proj`](https://github.com/WuProver/groebner_proj/blob/main/Groebner/MonomialOrder.lean).
- [x] ~~depends on: #34755~~
- [x] depends on: #34756
- [x] depends on: #34758
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
merge-conflict
blocked-by-other-PR
|
346/3 |
Mathlib/Data/Finsupp/MonomialOrder.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean |
5 |
17 |
['Hagb', 'github-actions', 'joneugster', 'mariainesdff', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
mariainesdff assignee:mariainesdff |
89-68140 3 months ago |
17-14169 17 days ago |
52-2235 52 days |
| 34853 |
GrigorenkoPV author:GrigorenkoPV |
feat(Combinatorics/Enumerative/Catalan): ratio of subsequent Catalan numbers |
---
Should I split this into 2 PRs? Otherwise it'll get squashed & be less concise.
UPD: ok, I've opened #34854
[](https://gitpod.io/from-referrer/)
|
new-contributor
merge-conflict
|
305/195 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/Catalan.lean,Mathlib/Combinatorics/Enumerative/Catalan/Basic.lean,Mathlib/Combinatorics/Enumerative/Catalan/Ratio.lean,Mathlib/Combinatorics/Enumerative/Catalan/Tree.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/RingTheory/PowerSeries/Catalan.lean |
7 |
6 |
['github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
89-68136 3 months ago |
108-9421 108 days ago |
1-62439 1 day |
| 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}$.
---
- [ ] depends on: #35734 [optional extra text]
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
blocked-by-other-PR
|
1141/0 |
Mathlib.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlg.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlgSetup.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainOrder.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
89-55594 3 months ago |
89-78050 89 days ago |
0-362 6 minutes |
| 35743 |
mkaratarakis author:mkaratarakis |
feat(NumberTheory): non-vanishing derivative and norm lower bounds for Gelfond-Schneider |
This PR continues the formalization of the Gelfond-Schneider Theorem (Hilbert's Seventh Problem). It establishes the critical algebraic foundation for the lower bound of the auxiliary function's evaluation by isolating its first non-vanishing derivative and proving its scaled norm is strictly bounded below.
Following the contradiction argument in Loo-Keng Hua's *Introduction to Number Theory* (Chapter 17.9), we verify that the evaluation at the minimal non-vanishing order $r$ yields a strictly non-zero algebraic integer when appropriately scaled.
1) Confirms that the $r$-th derivative of the auxiliary function $R(x)$ at $l_0 + 1$ is strictly non-zero, and formally translates this into the non-zero algebraic element $\rho$.
2) Formalizes the crucial algebraic step that scaling the evaluated system coefficients by $c_1^{r+2mq}$ (formalized as `cρ`) clears all denominators, resulting in a strictly non-zero algebraic integer within $\mathcal{O}_K$.
3) Concludes that because the scaled $\rho$ is a non-zero algebraic integer, its absolute norm is strictly bounded below by 1. This formalizes the core Diophantine principle that non-zero integers cannot be arbitrarily small, establishing the algebraic foundation required to oppose the complex analytic upper bound in the final contradiction step.
---
- [ ] depends on: #35735
[](https://gitpod.io/from-referrer/)
|
t-number-theory
blocked-by-other-PR
|
1650/0 |
Mathlib.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlg.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlgSetup.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAnalytic.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainOrder.lean |
5 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
89-55363 3 months ago |
89-55364 89 days ago |
0-2369 39 minutes |
| 35755 |
Vilin97 author:Vilin97 |
feat(Analysis/ODE): forward Euler method convergence |
WIP
Prove the convergence of the Forward Euler Method. This is the first theorem in most textbooks on numerical analysis for ODEs.
---
The initial proof was produced by [Aristotle](https://aristotle.harmonic.fun). The code was then iteratively refined (factoring out lemmas, golfing, simplifying proofs) using Claude Code (Claude Opus 4.6).
* [ ] depends on: #35753 |
new-contributor
WIP
LLM-generated
merge-conflict
|
297/0 |
Mathlib.lean,Mathlib/Analysis/ODE/EulerMethod.lean,Mathlib/Topology/Algebra/Order/PiecewiseLinear.lean |
4 |
7 |
['Vilin97', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
89-32583 3 months ago |
89-34794 89 days ago |
0-674 11 minutes |
| 25834 |
Rida-Hamadani author:Rida-Hamadani |
feat(SimpleGraph): girth-diameter inequality |
This is a useful inequality that comes up in proofs related to Moore graphs, cages, SRGs, and so on.
---
- [x] depends on: #26380
- [x] depends on: #25650
- [x] depends on: #26614
- [x] depends on: #33249
- [ ] depends on: #33506
- [ ] depends on: #35296
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-combinatorics
|
31/6 |
Mathlib/Combinatorics/SimpleGraph/Girth.lean |
1 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
89-19016 3 months ago |
346-31160 346 days ago |
0-28 28 seconds |
| 33543 |
JovanGerb author:JovanGerb |
feat: use `to_dual` for `HeytingAlgebra` |
This PR adds `to_dual` for `HeytingAlgebra`, `BiheytingAlgebra`, `GeneralizedHeytingAlgebra`.
I am a bit worried about the fact that the complement operation is self-dual in a `BooleanAlgebra`, because that means that, depending on the context, `compl` needs to be translated to `hnot` or `compl`. So if we want to dualize lemmas about `BooleanAlgebra` and `compl`, we will not be able to. But I hope that the number of such lemmas is small and that they aren't often used in places that can get a `to_dual` tag (e.g. when specialized to sets, they don't need a `to_dual` tag).
Aligning the `Heyting` and `Coheyting` API is kind of awkward, because they are unfortunately quite different. One reason is that the arguments of `sup`/`inf` are often swapped in the dual version, which is not compatible with `to_dual`. I've worked around this with extensive use of `to_dual none`.
There are quite some lemmas that in my eyes seem unnecessary, such as `le_sup_sdiff_sup_sdiff`, but I haven't removed any in this PR.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
195/371 |
Mathlib/Combinatorics/SetFamily/Kleitman.lean,Mathlib/Order/Basic.lean,Mathlib/Order/BooleanAlgebra/Basic.lean,Mathlib/Order/Disjoint.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Notation.lean,Mathlib/Order/UpperLower/Basic.lean,Mathlib/Tactic/Translate/ToDual.lean |
8 |
13 |
['JovanGerb', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
bryangingechen and mattrobball assignee:bryangingechen assignee:mattrobball |
88-71875 2 months ago |
93-21873 93 days ago |
17-21830 17 days |
| 31595 |
astrainfinita author:astrainfinita |
chore: redefine `Ideal.IsPrime` |
Redefine `Ideal.IsPrime` to make it correct for non-commutative cases
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
333/100 |
Mathlib/Algebra/Order/Ring/Ordering/Defs.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.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 |
22 |
33 |
['alreadydone', 'artie2000', 'astrainfinita', 'erdOne', 'github-actions', 'leanprover-bot', 'leanprover-radar', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
kim-em assignee:kim-em |
88-50042 2 months ago |
57-46698 57 days ago |
59-66521 59 days |
| 20238 |
maemre author:maemre |
feat(Computability/DFA): Closure of regular languages under some set operations |
This shows that regular languages are closed under complement and intersection by constructing DFAs for them.
---
Closure under all other operations will be proved when someone adds the proof for DFA<->regular expression equivalence, so they are not part of this PR.
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-computability
merge-conflict
awaiting-author
awaiting-zulip
|
159/0 |
Mathlib/Computability/DFA.lean,Mathlib/Computability/Language.lean |
2 |
60 |
['EtienneC30', 'YaelDillies', 'github-actions', 'maemre', 'mathlib4-merge-conflict-bot', 'meithecatte', 'urkud'] |
nobody |
88-30518 2 months ago |
434-8457 434 days ago |
48-67492 48 days |
| 22361 |
rudynicolop author:rudynicolop |
feat(Computability/NFA): nfa closure properties |
Add the closure properties union, intersection and reversal for NFA.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-computability
merge-conflict
awaiting-author
awaiting-zulip
|
218/2 |
Mathlib/Computability/Language.lean,Mathlib/Computability/NFA.lean |
2 |
91 |
['EtienneC30', 'b-mehta', 'ctchou', 'github-actions', 'leanprover-community-bot-assistant', 'meithecatte', 'rudynicolop'] |
nobody |
88-30502 2 months ago |
385-12396 385 days ago |
39-60525 39 days |
| 32825 |
erdOne author:erdOne |
perf(RingTheory): `attribute [irreducible] KaehlerDifferential` |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-ring-theory
|
5/1 |
Mathlib/Algebra/Category/ModuleCat/Differentials/Basic.lean,Mathlib/AlgebraicGeometry/Morphisms/FormallyUnramified.lean,Mathlib/RingTheory/Kaehler/Basic.lean |
3 |
7 |
['erdOne', 'github-actions', 'jcommelin', 'leanprover-radar', 'robin-carlier'] |
nobody |
88-15348 2 months ago |
129-18466 129 days ago |
1-44258 1 day |
| 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
[](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 |
88-10373 2 months ago |
115-80182 115 days ago |
59-63565 59 days |
| 29354 |
themathqueen author:themathqueen |
refactor(Algebra/Algebra/Equiv): allow for non-unital `AlgEquiv` |
This refactors `AlgEquiv` to allow for non-unital algebras. More specifically, we weaken the type class assumptions from:
```lean
structure AlgEquiv (R A B : Type*) [CommSemiring R] [Semiring A] [Semiring B]
[Algebra R A] [Algebra R B]
```
to
```lean
structure AlgEquiv (R A B : Type*) [Add A] [Add B] [Mul A] [Mul B] [SMul R A] [SMul R B]
```
Instead of a `commutes'` field, we now have a `map_smul'` field. We also include a definition `AlgEquiv.ofCommutes` which takes in a `RingEquiv` and a `commutes'` field to match before and for convenience.
`StarAlgEquiv` now extends `AlgEquiv`. We also generalize a few files to allow for non-unital.
I suspect there are a few more things to generalize, but will leave this for later.
Co-authored-by: Jireh Loreaux
---
Zulip: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Refactoring.20.60AlgEquiv.60.20.28.2329354.29/with/575365792
Revives #8686.
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
merge-conflict
label:t-algebra$ |
703/595 |
Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Opposite.lean,Mathlib/Algebra/Algebra/Pi.lean,Mathlib/Algebra/Algebra/Prod.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/MulOpposite.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Algebra/TransferInstance.lean,Mathlib/Algebra/Category/AlgCat/Basic.lean,Mathlib/Algebra/Category/CommAlgCat/Basic.lean,Mathlib/Algebra/Category/CommAlgCat/FiniteType.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/DualQuaternion.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/ToDirectSum.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Rename.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Taylor.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/SkewMonoidAlgebra/Lift.lean,Mathlib/Algebra/Star/Free.lean,Mathlib/Algebra/Star/StarAlgHom.lean,Mathlib/Algebra/Star/UnitaryStarAlgAut.lean,Mathlib/AlgebraicGeometry/Normalization.lean,Mathlib/AlgebraicGeometry/Stalk.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/GelfandFormula.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean,Mathlib/Analysis/Normed/Lp/LpEquiv.lean,Mathlib/Analysis/Normed/Lp/Matrix.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Analysis/Normed/Operator/ContinuousAlgEquiv.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/Data/Matrix/Composition.lean,Mathlib/Data/Matrix/DualNumber.lean,Mathlib/FieldTheory/Fixed.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/Galois/Notation.lean,Mathlib/FieldTheory/Galois/Profinite.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Algebra.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Basic.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/FieldTheory/Normal/Basic.lean,Mathlib/FieldTheory/PrimitiveElement.lean,Mathlib/FieldTheory/RatFunc/Basic.lean,Mathlib/FieldTheory/Separable.lean,Mathlib/LinearAlgebra/CliffordAlgebra/BaseChange.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Conjugation.lean,Mathlib/LinearAlgebra/Complex/Module.lean,Mathlib/LinearAlgebra/FreeAlgebra.lean,Mathlib/LinearAlgebra/Matrix/Basis.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/LinearMap.lean,Mathlib/LinearAlgebra/Matrix/Reindex.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean,Mathlib/LinearAlgebra/Matrix/Transvection.lean,Mathlib/LinearAlgebra/Matrix/Unique.lean,Mathlib/LinearAlgebra/TensorProduct/Graded/Internal.lean,Mathlib/LinearAlgebra/TensorProduct/Subalgebra.lean,Mathlib/LinearAlgebra/Trace.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Ideal.lean,Mathlib/NumberTheory/NumberField/Discriminant/Defs.lean,Mathlib/NumberTheory/NumberField/Ideal/KummerDedekind.lean,Mathlib/NumberTheory/Padics/HeightOneSpectrum.lean,Mathlib/RepresentationTheory/Intertwining.lean,Mathlib/RingTheory/AdicCompletion/Algebra.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Algebraic/MvPolynomial.lean,Mathlib/RingTheory/Artinian/Module.lean,Mathlib/RingTheory/Bialgebra/Equiv.lean,Mathlib/RingTheory/Congruence/Hom.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/Etale/Field.lean,Mathlib/RingTheory/Etale/QuasiFinite.lean,Mathlib/RingTheory/Etale/StandardEtale.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Finiteness/Descent.lean,Mathlib/RingTheory/Flat/Equalizer.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean,Mathlib/RingTheory/Frobenius.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/IntegralClosure/IntegrallyClosed.lean,Mathlib/RingTheory/Invariant/Basic.lean,Mathlib/RingTheory/Invariant/Profinite.lean,Mathlib/RingTheory/IsTensorProduct.lean,Mathlib/RingTheory/Jacobson/Ring.lean,Mathlib/RingTheory/Kaehler/Basic.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/Localization/Away/AdjoinRoot.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/FractionRing.lean |
130 |
73 |
['SnirBroshi', 'fpvandoorn', 'github-actions', 'jcommelin', 'leanprover-bot', 'leanprover-radar', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
joelriou assignee:joelriou |
88-7869 2 months ago |
180-14305 180 days ago |
65-65843 65 days |
| 35163 |
CoolRmal author:CoolRmal |
feat(Topology): comparison of two Hausdorff topologies |
The main theorem proved in this PR is `CompactSpace.eq_of_le_compact_t2`, which says that if we have two Hausdorff topologies `s, t` on `X`, and if `t` is finer than `s` and `X` is compact under `t`, then `s = t`. I also proved some variant of this lemma.
The motivations I have in mind are some applications to the theory of topological vector spaces, where we often have to compare two Hausdorff topologies.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
awaiting-author
|
24/0 |
Mathlib/Topology/Homeomorph/Lemmas.lean |
1 |
7 |
['CoolRmal', 'dagurtomas', 'github-actions', 'j-loreaux', 'plp127'] |
nobody |
87-78212 2 months ago |
87-78212 87 days ago |
14-53724 14 days |
| 35746 |
ThomasMoulin-hub author:ThomasMoulin-hub |
feat (Algebra/Endomorphisms): add kernels lemma from the missing undergraduate mathematics in mathlib |
Add helper theorem inside Mathlib.Algebra.Polynomial.Smeval.lean and created a new file Mathlib/RingTheory/Polynomial/KernelDecomposition.lean that implements the kernels lemma from the missing undergraduate mathematics in mathlib list. This file also contains intermediate results needed for the main lemma. |
new-contributor |
75/0 |
Mathlib/Algebra/Polynomial/Smeval.lean,Mathlib/RingTheory/Polynomial/Basic.lean |
2 |
2 |
['github-actions'] |
nobody |
87-68342 2 months ago |
unknown |
0-0 0 seconds |
| 35825 |
mattrobball author:mattrobball |
chore: unbundle `ENormed*` from algebra |
This is a test PR.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
3609/2536 |
.claude/worktrees/snazzy-waddling-crescent,Archive/Hairer.lean,Archive/Imo/Imo2001Q5.lean,Archive/Imo/Imo2019Q2.lean,Archive/Wiedijk100Theorems/HeronsFormula.lean,CLAUDE.md,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Algebra/Module/ZLattice/Summable.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/CPolynomial.lean,Mathlib/Analysis/Analytic/CPolynomialDef.lean,Mathlib/Analysis/Analytic/ChangeOrigin.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/ConvergenceRadius.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/Analytic/IteratedFDeriv.lean,Mathlib/Analysis/Analytic/Linear.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Analytic/Polynomial.lean,Mathlib/Analysis/Analytic/RadiusLiminf.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Analytic/WithLp.lean,Mathlib/Analysis/Analytic/Within.lean,Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean,Mathlib/Analysis/Asymptotics/Completion.lean,Mathlib/Analysis/Asymptotics/Defs.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/Asymptotics/Theta.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/BoxIntegral/Integrability.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Measure.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/CStarAlgebra/ContinuousLinearMap.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean,Mathlib/Analysis/CStarAlgebra/Module/Defs.lean,Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean,Mathlib/Analysis/Calculus/AddTorsor/Coord.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/BumpFunction/Convolution.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean,Mathlib/Analysis/Calculus/BumpFunction/Normed.lean,Mathlib/Analysis/Calculus/BumpFunction/SmoothApprox.lean,Mathlib/Analysis/Calculus/Conformal/InnerProduct.lean,Mathlib/Analysis/Calculus/Conformal/NormedSpace.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/CPolynomial.lean,Mathlib/Analysis/Calculus/ContDiff/Comp.lean,Mathlib/Analysis/Calculus/ContDiff/Convolution.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/Deriv.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Calculus/ContDiff/FiniteDimension.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Analysis/Calculus/ContDiff/RestrictScalars.lean,Mathlib/Analysis/Calculus/ContDiff/WithLp.lean,Mathlib/Analysis/Calculus/ContDiffHolder/Pointwise.lean,Mathlib/Analysis/Calculus/DSlope.lean,Mathlib/Analysis/Calculus/Deriv/Abs.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/AffineMap.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Comp.lean,Mathlib/Analysis/Calculus/Deriv/CompMul.lean,Mathlib/Analysis/Calculus/Deriv/Inv.lean,Mathlib/Analysis/Calculus/Deriv/Inverse.lean,Mathlib/Analysis/Calculus/Deriv/Linear.lean,Mathlib/Analysis/Calculus/Deriv/MeanValue.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Calculus/Deriv/Prod.lean,Mathlib/Analysis/Calculus/Deriv/Shift.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/Deriv/Star.lean,Mathlib/Analysis/Calculus/Deriv/Support.lean,Mathlib/Analysis/Calculus/Deriv/ZPow.lean,Mathlib/Analysis/Calculus/DiffContOnCl.lean,Mathlib/Analysis/Calculus/DifferentialForm/Basic.lean,Mathlib/Analysis/Calculus/DifferentialForm/VectorField.lean,Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Analysis/Calculus/FDeriv/Affine.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Bilinear.lean,Mathlib/Analysis/Calculus/FDeriv/Comp.lean,Mathlib/Analysis/Calculus/FDeriv/CompCLM.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousAlternatingMap.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousMultilinearMap.lean |
687 |
5 |
['leanprover-radar', 'mathlib-bors', 'mattrobball'] |
nobody |
87-68191 2 months ago |
87-73981 87 days ago |
0-11 11 seconds |
| 34932 |
erdOne author:erdOne |
feat(AlgebraicGeometry): formally etale morphisms |
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
merge-conflict
delegated
|
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 |
17 |
['chrisflav', 'erdOne', 'github-actions', 'joneugster', 'mathlib-bors', 'mathlib-merge-conflicts', 'ocfnash'] |
nobody |
87-59643 2 months ago |
89-68132 89 days ago |
11-40391 11 days |
| 23929 |
meithecatte author:meithecatte |
feat(Computability/NFA): improve bound on pumping lemma |
---
- [x] depends on: #25321
[](https://gitpod.io/from-referrer/)
|
t-computability
awaiting-zulip
new-contributor
awaiting-author
|
101/10 |
Mathlib/Computability/EpsilonNFA.lean,Mathlib/Computability/NFA.lean |
2 |
42 |
['YaelDillies', 'dagurtomas', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'meithecatte'] |
nobody |
87-50531 2 months ago |
351-79830 351 days ago |
34-10092 34 days |
| 35128 |
DAE123456 author:DAE123456 |
feat : Define anti_pascal |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
81/0 |
Archive.lean,Archive/Imo/Imo2018Q3.lean |
2 |
5 |
['DAE123456', 'github-actions', 'grunweg', 'vihdzp'] |
nobody |
87-48057 2 months ago |
103-16221 103 days ago |
0-1613 26 minutes |
| 35863 |
CBirkbeck author:CBirkbeck |
Nagell lutz |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
2005/234 |
Mathlib.lean,Mathlib/Algebra/Polynomial/Bivariate.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/ZSMul.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Universal.lean,Mathlib/NumberTheory/EllipticDivisibilitySequence.lean |
7 |
0 |
[] |
nobody |
87-25125 2 months ago |
unknown |
0-0 0 seconds |
| 8102 |
miguelmarco author:miguelmarco |
feat(Tactic): add `unify_denoms` and `collect_signs` tactics |
This PR adds four new tactics:
- `unify_denoms` tries to put expressions with several divisions in a form with only one division. In the case of fields, it works similarly to `field_simp`, but if the hypothesis about denominators being nonzero are not present, it assumes them, and leaves them as new goals to prove. In that sense, it is an "unsafe" tactic (but can be useful nevertheless, for example when you can't find which exact hypothesis is missing). It also works with expressions of naturals and Euclidean domains, assuming the corresponding hypothesis about the denominators dividing the numerators.
- `unify_denoms!` extends `unify_denoms` to work with (in)equalities, assuming also that the denominators, once in normal form, are positive.
- `collect_signs` works similarly with expressions using sums and substractions: it tries to put them in a form of one sum minus other sum. In the case of working with naturals, it assumes that we never substract a bigger number from a smaller one.
Both are implemented essentially as a macro that combines several rewriting rules. Some new lemmas with the corresponding rules are added.
--- |
please-adopt
new-contributor
merge-conflict
modifies-tactic-syntax
good first issue
t-meta
|
407/0 |
Mathlib.lean,Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CollectSigns.lean,Mathlib/Tactic/UnifyDenoms.lean,MathlibTest/unify_denoms.lean,scripts/noshake.json |
7 |
55 |
['Paul-Lez', 'YaelDillies', 'github-actions', 'joneugster', 'kbuzzard', 'mathlib4-merge-conflict-bot', 'miguelmarco'] |
nobody |
87-14829 2 months ago |
375-83701 375 days ago |
17-14109 17 days |
| 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 |
87-12510 2 months ago |
87-12510 87 days ago |
5-73876 5 days |
| 35078 |
grunweg author:grunweg |
feat: immersed points |
Define immersed points of a (differentiable) map between manifolds, and prove that immersed points compose.
Future PRs show that `x` is an immersed point of `f` if and only if `f` is an immersion at `x`:
thus, proving the composition of immersed points (which follows immediately from the chain rule)
implies the composition of immersions (which is not obvious from their definition.
From the path towards immersions, embeddings and submanifolds.
---
- [x] depends on: #35057
- [x] depends on: #35284
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
awaiting-author
|
171/1 |
Mathlib.lean,Mathlib/Analysis/Normed/Module/ContinuousInverse.lean,Mathlib/Geometry/Manifold/ImmersedPoint.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean |
4 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
87-6483 2 months ago |
104-23080 104 days ago |
0-6 6 seconds |
| 34626 |
grunweg author:grunweg |
feat: analytification of schemes (affine case) |
This branch is for tracking purposes; the code in this branch will take a while to get merged into mathlib.
The affine case depends on the regular value theorem (which is a master's thesis I am supervising now),
the general case will also require gluing manifolds (another thesis). Merging both before the end of this year is an optimistic estimate.
That said, pieces and pre-requisites (such as, submersions, their composition properties and the definition of submanifolds) can and hopefully get merged much sooner!
---
- [ ] depends on: #28796
- [ ] depends on: #26087
- [x] depends on: #34991
- [x] depends on: #35057
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-differential-geometry
blocked-by-other-PR
please-merge-master
|
3322/50 |
Mathlib.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Normed/Module/ContinuousLeftInverse.lean,Mathlib/Analysis/Normed/Module/ContinuousRightInverse.lean,Mathlib/Analysis/Normed/Module/Splits.lean,Mathlib/Analysis/Normed/Operator/Banach.lean,Mathlib/Geometry/Manifold/ContMDiff/Atlas.lean,Mathlib/Geometry/Manifold/Immersion.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean,Mathlib/Geometry/Manifold/LocalSourceTargetProperty.lean,Mathlib/Geometry/Manifold/MSplits.lean,Mathlib/Geometry/Manifold/RegularPoint.lean,Mathlib/Geometry/Manifold/RegularValueTheorem.lean,Mathlib/Geometry/Manifold/Scheme.lean,Mathlib/Geometry/Manifold/SliceModel.lean,Mathlib/Geometry/Manifold/SmoothEmbedding.lean,Mathlib/Geometry/Manifold/Submanifold.lean,Mathlib/Geometry/Manifold/Submersion.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean |
20 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
87-6452 2 months ago |
114-72977 114 days ago |
0-1 1 second |
| 33791 |
PhoenixIra author:PhoenixIra |
feat: Generalization of FixedPointApproximants to CompletePartialOrder |
---
This PR provides a generalization of FixedPointApproximants to CompletePartialOrder. Not every theorem can be generalized, as sometimes we require additional conditions (namely `x ≤ f x`) in order to guarantee that the set is directed and thus the supremum is well-defined. This is not necessary in a CompleteLattice.
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
merge-conflict
|
223/100 |
Mathlib/Order/CompletePartialOrder.lean,Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean |
2 |
21 |
['PhoenixIra', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
PhoenixIra and vihdzp assignee:PhoenixIra assignee:vihdzp |
86-77214 2 months ago |
86-77214 86 days ago |
44-16098 44 days |
| 35674 |
astrainfinita author:astrainfinita |
refactor: use `OrderSupSet` in `ConditionallyCompleteLattice` |
---
- [x] depends on: #35774
- [x] depends on: #37079
- [ ] depends on: #37082
- [ ] depends on: #38328
[](https://gitpod.io/from-referrer/)
|
t-order
blocked-by-other-PR
merge-conflict
|
421/265 |
Mathlib/Algebra/Order/Nonneg/Lattice.lean,Mathlib/Algebra/Tropical/Lattice.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Data/Int/ConditionallyCompleteOrder.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Real/Archimedean.lean,Mathlib/MeasureTheory/OuterMeasure/Induced.lean,Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/Bounds/Defs.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/CompleteLatticeIntervals.lean,Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean,Mathlib/Order/Copy.lean,Mathlib/Order/LiminfLimsup.lean,Mathlib/Order/SetNotation.lean,Mathlib/Order/SuccPred/CompleteLinearOrder.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/Exponential.lean,Mathlib/SetTheory/Ordinal/Family.lean,Mathlib/Topology/NoetherianSpace.lean,Mathlib/Topology/UniformSpace/OfCompactT2.lean |
20 |
8 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
86-76964 2 months ago |
unknown |
0-0 0 seconds |
| 35669 |
SnirBroshi author:SnirBroshi |
feat(Mathlib/Data/Finset/Mex): `sInf sᶜ ≤ s.encard` |
---
It's in a separate file because I couldn't find a sensible place with the required imports, not because "mex" is particularly interesting.
- [x] depends on: #35821
- [ ] depends on: #35822
[](https://gitpod.io/from-referrer/)
|
t-order
blocked-by-other-PR
|
127/2 |
Mathlib.lean,Mathlib/Data/Finset/Mex.lean,Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Finset.lean |
6 |
13 |
['SnirBroshi', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
86-75749 2 months ago |
88-3142 88 days ago |
3-47086 3 days |
| 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 |
86-73285 2 months ago |
59-23108 59 days ago |
27-59600 27 days |
| 35423 |
Rob23oba author:Rob23oba |
feat: add congruence lemmas for `Function.update` and `Pi.single` |
Adds `simp` congruence lemmas to `Function.update` and `Pi.single` that are specialized for the non-dependent case. See also [#mathlib4 > Simp fails to apply with `Function.update`](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Simp.20fails.20to.20apply.20with.20.60Function.2Eupdate.60/with/573889929).
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
merge-conflict
label:t-algebra$ |
29/6 |
Mathlib/Algebra/Notation/Pi/Basic.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean,Mathlib/RepresentationTheory/Tannaka.lean,Mathlib/Topology/Algebra/InfiniteSum/Basic.lean |
5 |
11 |
['Rob23oba', 'eric-wieser', 'github-actions', 'joelriou', 'joneugster', 'loefflerd', 'mathlib-merge-conflicts'] |
joelriou assignee:joelriou |
86-66920 2 months ago |
61-41599 61 days ago |
36-20932 36 days |
| 35605 |
j-loreaux author:j-loreaux |
feat: transfer instances of `ContinuousFunctionalCalculus` to type synonyms with weaker topologies |
---
- [ ] depends on: #35551
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
|
730/209 |
Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/NonUnital.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Range.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Restrict.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Transfer.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unital.lean,Mathlib/Analysis/Matrix/HermitianFunctionalCalculus.lean,Mathlib/Analysis/Normed/Algebra/Unitization.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog/Basic.lean,Mathlib/Topology/CompactOpen.lean,Mathlib/Topology/ContinuousMap/ContinuousMapZero.lean |
13 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
86-66312 2 months ago |
90-42172 90 days ago |
0-39286 10 hours |
| 25170 |
eric-wieser author:eric-wieser |
refactor: make basis computable |
I claim that in the long run, `Basis.repr` should be a `DFinsupp` not `Finsupp`, so that it is computable.
To make this change incrementally, we can store a `DFinsupp` internally today, and keep `repr` and `ofRepr` working with finsupp.
This at least would allow building a large basis object, and then using `repr'` to compute with it.
The cost of this intermediate state is a loss of many defeqs.
---
- [x] depends on: #25166
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
large-import
label:t-algebra$ |
66/21 |
Mathlib/LinearAlgebra/Basis/Basic.lean,Mathlib/LinearAlgebra/Basis/Defs.lean,Mathlib/LinearAlgebra/FreeModule/Basic.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
86-21714 2 months ago |
unknown |
0-0 0 seconds |
| 34050 |
Julian author:Julian |
feat(GraphTheory): Graham-Pollak theorem |
---
[](https://gitpod.io/from-referrer/)
|
WIP
awaiting-author
t-combinatorics
merge-conflict
|
189/7 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/EdgeLabeling.lean,Mathlib/Combinatorics/SimpleGraph/GrahamPollak.lean |
4 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
86-9039 2 months ago |
129-10868 129 days ago |
0-13 13 seconds |
| 34963 |
Parcly-Taxel author:Parcly-Taxel |
feat(Archive): proof of the Robbins conjecture |
Cf. [#mathlib4 > Alternative axiomatization of boolean algebras @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Alternative.20axiomatization.20of.20boolean.20algebras/near/558900960) and #31924. |
t-algebra
awaiting-zulip
label:t-algebra$ |
610/0 |
Archive.lean,Archive/Robbins.lean |
2 |
2 |
['chrisflav', 'github-actions'] |
chrisflav assignee:chrisflav |
86-2572 2 months ago |
35-2547 35 days ago |
71-52253 71 days |
| 35376 |
michaellee94 author:michaellee94 |
feat(Geometry/Manifold): orientable manifolds |
---
- [x] depends on: #33189
[](https://gitpod.io/from-referrer/)
|
new-contributor
WIP
t-differential-geometry
merge-conflict
awaiting-author
|
2116/11 |
Mathlib.lean,Mathlib/Geometry/Manifold/Instances/MoebiusBand.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Geometry/Manifold/IsManifold/InteriorBoundary.lean,Mathlib/Geometry/Manifold/Orientation.lean,Mathlib/Topology/Closure.lean |
7 |
8 |
['Rida-Hamadani', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
85-67490 2 months ago |
99-536 99 days ago |
0-100 1 minute |
| 33406 |
dupuisf author:dupuisf |
feat: add basics of majorization |
This PR defines [majorization](https://en.wikipedia.org/wiki/Majorization). This is needed to develop the theory of unitarily invariant norms on `ℂ^n`, in particular Schatten norms.
---
- [ ] depends on: #33394
[](https://gitpod.io/from-referrer/)
|
t-analysis
awaiting-author
WIP
|
752/13 |
Mathlib.lean,Mathlib/Analysis/Convex/Majorization/Basic.lean,Mathlib/Analysis/Convex/Majorization/Defs.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/Finset/Max.lean,Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Order/Interval/Finset/Fin.lean,docs/references.bib |
9 |
10 |
['dupuisf', 'github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
j-loreaux assignee:j-loreaux |
85-67163 2 months ago |
89-80959 89 days ago |
8-27887 8 days |
| 32374 |
adamtopaz author:adamtopaz |
feat(Tactic/WildcardUniverse): Foo.{*, _, v*, max u v} |
This PR creates an elaborator for syntax of the form `Foo.{*, _, v*, max u v}`. A `*` indicates that a new universe parameter should be created, `_` and `max u v` elaborate using the existing level elaboration (so `_` elaborates to a level mvar). The syntax `v*` creates a level parameter of the form `v_n` for some value of `n`.
The newly created level parameters are ordered in a particular way to match the order in which they appear in the syntax. For example, in `Foo.{*, _, v*, max u v}`, the level parameter associated with `*` will come before the other universes, including the parameter created by `v*`, and the parameters `u` and `v`. Similarly the parameter associated with `v*` will come *after* the one for `*`, and before both `u` and `v`.
Note: Unlike `Category* C`, where we understand exactly how the universes involved in `C` (both in the term and its type) relate to the level parameter of the morphisms, we can't expect such precise control in general. For example, when `C.{u} : Type 0`, `Category* C` places the morphism level `v_1` before `u`, but `Category.{*} C` places it after `u`. In other words, `Foo.{...}` only reorders the level parameters based on the parameters that appear in the (elaborated) `...`, without any regard to the universes that appear in the *arguments* to `Foo.{...}`.
Co-authored-by: Claude
---
[](https://gitpod.io/from-referrer/)
|
t-meta
awaiting-author
WIP
LLM-generated
|
720/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/WildcardLevel.lean,MathlibTest/WildcardLevel.lean |
4 |
52 |
['JovanGerb', 'adamtopaz', 'fpvandoorn', 'github-actions', 'leanprover-radar'] |
JovanGerb and dwrensha assignee:dwrensha assignee:JovanGerb |
85-63308 2 months ago |
104-15377 104 days ago |
63-17465 63 days |
| 35734 |
mkaratarakis author:mkaratarakis |
feat(NumberTheory): matrix bounds and Siegel's lemma application for Gelfond-Schneider |
This PR is the second component in the formalization of the Gelfond-Schneider Theorem (Hilbert's Seventh Problem), establishing the transcendence of $\alpha^\beta$. Building on the algebraic setup from the previous PR #35733, this file establishes analytical bounds on the linear system matrix and applies Siegel's Lemma (Lemma 8.2) to extract a bounded, non-trivial integer solution vector.
We establish the exact upper bounds required to construct the auxiliary integer function $R(x)$.
`c₃` and Matrix Bounds (`house_matrixA_le`)**: We define the bounding constant $c_3$, which aggregates the base bounds $c_2$ and the maximal houses of the algebraic preimages $\alpha', \beta', \gamma'$. Through extensive algebraic manipulation, we formally prove that the house of the entries in our linear system matrix $A$ is strictly bounded by $c_3^n * n^{(n - 1) / 2}$.
Using the bounds established above, we apply `house.exists_ne_zero_int_vec_house_le` (a formalization of Lemma 8.2, p. 490) to guarantee the existence of a non-trivial vector of algebraic integers $\eta$ in the kernel of $A$.
We define the solution bounding constant $c_4$ and prove the textbook bound that the house of our resulting coefficient vector $\eta$ satisfies $\forall k, \|\eta_k\| \leq c_4^n * n^{(n + 1) / 2}$.
- [ ] depends on: #35733
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-number-theory
blocked-by-other-PR
|
872/5 |
Mathlib.lean,Mathlib/NumberTheory/NumberField/House.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlg.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlgSetup.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
85-18020 2 months ago |
89-78635 89 days ago |
0-306 5 minutes |
| 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 |
14 |
['Xxxjdjdid', 'banrovegrie', 'chrisflav', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'wwylele'] |
chrisflav assignee:chrisflav |
85-5648 2 months ago |
40-2737 40 days ago |
69-6728 69 days |
| 29982 |
hrmacbeth author:hrmacbeth |
feat: new `isolate` tactic |
This PR adds a new tactic, `isolate`, which "solves for x" in an equation or relation. For example:
```lean
example (a b : ℝ) (f : ℝ → ℝ) : 5 * f a - 3 < b := by
isolate f a
-- new goal: `⊢ f a < (b + 3) / 5`
```
The `isolate` tactic may generate side goals, if these are necessary to justify the transformation. The tactic will attempt to justify such side goals using `positivity` (as in the above example), unification, or type class inference, but if unsuccessful will present them to the user. For example:
```lean
example (a b c : ℝ) (f : ℝ → ℝ) : c * f a - 3 < b := by
isolate f a
-- new goal: `⊢ f a < (b + 3) / c`
-- second (side) new goal: `⊢ 0 < c`
```
The `isolate` tactic is extensible. Coverage may be extended to new relations and new operations-to-be-undone by tagging appropriate lemmas with the new `@[isolate]` attribute.
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-meta
awaiting-author
merge-conflict
|
943/1 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Isolate.lean,Mathlib/Tactic/Isolate/Core.lean,Mathlib/Tactic/Isolate/Tagging.lean,Mathlib/Tactic/Relation/Symm.lean,MathlibTest/Isolate/Heavyweight.lean,MathlibTest/Isolate/Lightweight.lean,scripts/noshake.json |
12 |
83 |
['JovanGerb', 'PatrickMassot', 'Vierkantor', 'github-actions', 'hrmacbeth', 'kim-em', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
JovanGerb assignee:JovanGerb |
84-81326 2 months ago |
53-14274 53 days ago |
80-58929 80 days |
| 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
---
[](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 |
84-52225 2 months ago |
328-31958 328 days ago |
13-85893 13 days |
| 29624 |
mcdoll author:mcdoll |
feat(LinearAlgebra/LinearPMap): add definition of resolvent and first resolvent identity |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-analysis
awaiting-author
label:t-algebra$ |
189/9 |
Mathlib/LinearAlgebra/LinearPMap.lean |
1 |
11 |
['github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'mcdoll'] |
kim-em assignee:kim-em |
84-44243 2 months ago |
180-56514 180 days ago |
64-60811 64 days |
| 34910 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Acyclic): a graph is a tree iff it's acyclic and has exactly `n - 1` edges |
---
This was my white whale for quite some time. Hooray!
- [x] depends on: #34907
- [ ] depends on: #34909
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-combinatorics
|
98/1 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/Order/RelIso/Basic.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
84-37906 2 months ago |
108-27997 108 days ago |
0-796 13 minutes |
| 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.
---
[](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 |
84-29551 2 months ago |
61-8891 61 days ago |
27-18698 27 days |
| 35964 |
b-reinke author:b-reinke |
feat(CategoryTheory/Linear): define category algebra |
WIP definition of the category algebra of a linear category.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
t-category-theory
label:t-algebra$ |
171/0 |
Mathlib.lean,Mathlib/CategoryTheory/Linear/CategoryAlgebra.lean,Mathlib/Data/DFinsupp/BigOperators.lean |
3 |
2 |
['github-actions'] |
nobody |
84-27856 2 months ago |
84-30974 84 days ago |
0-15 15 seconds |
| 35442 |
dhyan-aranha author:dhyan-aranha |
feat: Affine line with doubled origin counter example |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
awaiting-author
t-algebraic-geometry
|
305/0 |
Counterexamples.lean,Counterexamples/AffineLineWithDoubledOrigin.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean |
4 |
21 |
['BryceT233', 'chrisflav', 'dhyan-aranha', 'github-actions'] |
nobody |
84-25155 2 months ago |
97-13160 97 days ago |
0-5488 1 hour |
| 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
---
[](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 |
84-21395 2 months ago |
284-6805 284 days ago |
10-67838 10 days |
| 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`
---
- [ ] depends on: #38483 (`Antiperiodic.sum_Ico_shift` and bilinear cancellation lemma)
Builds on: #31121
Related to: #29639, #29643, #29646 |
awaiting-author
t-algebra
new-contributor
blocked-by-other-PR
label:t-algebra$ |
428/0 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Periodic.lean,Mathlib/Algebra/Homology/EulerPoincare.lean |
2 |
26 |
['github-actions', 'jessealama', 'joelriou', 'kim-em', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
84-20479 2 months ago |
212-35651 212 days ago |
35-45800 35 days |
| 25740 |
robin-carlier author:robin-carlier |
feat(AlgebraicTopology/SimplexCategory/GeneratorsRelations): `SimplexCategoryGenRel.toSimplexCategory` is an equivalence |
We use the normal forms for morphisms in `SimplexCategoryGenRel` to prove that `SimplexCategoryGenRel.toSimplexCategory` is an equivalence. We prove in order that there exists unique lifts in `SimplexCategoryGenRel` of mono (resp. epis) in `SimplexCategory`, and use this to deduce fully faithfulness of `SimplexCategoryGenRel.toSimplexCategory` thanks to the existing epi-mono factorisation in `SimplexCategory`.
Part of a series of PR formalising that `SimplexCategoryGenRel` is equivalent to `SimplexCategory`.
---
- [ ] depends on: #25737
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #21747.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/21747* |
t-algebraic-topology
blocked-by-other-PR
|
555/2 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/Equivalence.lean,Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
84-4511 2 months ago |
347-37043 347 days ago |
0-2 2 seconds |
| 15355 |
adomani author:adomani |
feat: MiM PR report |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
|
193/0 |
.github/workflows/monthly_pr_report.yaml,scripts/README.md,scripts/find_labels.sh |
3 |
18 |
['YaelDillies', 'adomani', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
84-198 2 months ago |
unknown |
0-0 0 seconds |
| 22464 |
adomani author:adomani |
feat(CI): declarations diff in Lean |
Rewrites the `declaration_diff` script in Lean.
You can see the effect of the new script in the testing branch #22497.
The new CI step runs in approximately 5mins, but is separate from the `build` step.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
CI
merge-conflict
|
151/0 |
.github/workflows/PR_summary_lean.yml,scripts/README.md,scripts/declarations_diff.lean,scripts/declarations_diff_lean_shell_glue.sh |
4 |
8 |
['bryangingechen', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-merge-conflicts'] |
nobody |
83-85003 2 months ago |
300-66269 300 days ago |
146-23496 146 days |
| 22648 |
adomani author:adomani |
test: lean implementation decl diff quandle |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
210/1 |
.github/workflows/PR_summary_lean.yml,Mathlib/Algebra/Quandle.lean,scripts/README.md,scripts/declarations_diff.lean,scripts/declarations_diff_lean_shell_glue.sh |
5 |
5 |
['adomani', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
83-85001 2 months ago |
unknown |
0-0 0 seconds |
| 35096 |
dagurtomas author:dagurtomas |
chore(CategoryTheory): reduce API duplication for concrete categories |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
|
186/1376 |
Mathlib/Algebra/Category/AlgCat/Basic.lean,Mathlib/Algebra/Category/CommAlgCat/Basic.lean,Mathlib/Algebra/Category/CommBialgCat.lean,Mathlib/Algebra/Category/Grp/Adjunctions.lean,Mathlib/Algebra/Category/Grp/Basic.lean,Mathlib/Algebra/Category/Grp/Colimits.lean,Mathlib/Algebra/Category/Grp/EpiMono.lean,Mathlib/Algebra/Category/Grp/Kernels.lean,Mathlib/Algebra/Category/Grp/LeftExactFunctor.lean,Mathlib/Algebra/Category/Grp/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/EpiMono.lean,Mathlib/Algebra/Category/ModuleCat/ExteriorPower.lean,Mathlib/Algebra/Category/ModuleCat/FilteredColimits.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/Symmetric.lean,Mathlib/Algebra/Category/ModuleCat/Products.lean,Mathlib/Algebra/Category/ModuleCat/Projective.lean,Mathlib/Algebra/Category/ModuleCat/Semi.lean,Mathlib/Algebra/Category/MonCat/Adjunctions.lean,Mathlib/Algebra/Category/MonCat/Basic.lean,Mathlib/Algebra/Category/MonCat/FilteredColimits.lean,Mathlib/Algebra/Category/MonCat/Limits.lean,Mathlib/Algebra/Category/Ring/Adjunctions.lean,Mathlib/Algebra/Category/Ring/Basic.lean,Mathlib/Algebra/Category/Ring/Colimits.lean,Mathlib/Algebra/Category/Ring/FilteredColimits.lean,Mathlib/Algebra/Category/Ring/FinitePresentation.lean,Mathlib/Algebra/Category/Ring/Instances.lean,Mathlib/Algebra/Category/Ring/Limits.lean,Mathlib/Algebra/Category/Semigrp/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Basic.lean,Mathlib/CategoryTheory/ConcreteCategory/Basic.lean,Mathlib/CategoryTheory/Extensive.lean,Mathlib/CategoryTheory/Limits/ConcreteCategory/WithAlgebraicStructures.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Grp_.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Mon_.lean,Mathlib/CategoryTheory/Monoidal/Internal/Module.lean,Mathlib/CategoryTheory/Preadditive/Yoneda/Basic.lean,Mathlib/CategoryTheory/SingleObj.lean,Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.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/Topology/Algebra/Category/ProfiniteGrp/Completion.lean,Mathlib/Topology/Category/Profinite/Basic.lean,Mathlib/Topology/Category/TopCat/Basic.lean,Mathlib/Topology/Category/TopCat/EffectiveEpi.lean,Mathlib/Topology/Category/TopCat/GrothendieckTopology.lean,Mathlib/Topology/Category/TopCat/Limits/Cofiltered.lean,Mathlib/Topology/Category/TopCat/Limits/Konig.lean,Mathlib/Topology/Category/TopCat/Limits/Products.lean,Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean,Mathlib/Topology/Gluing.lean |
68 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
83-76870 2 months ago |
unknown |
0-0 0 seconds |
| 35766 |
DavidLedvinka author:DavidLedvinka |
feat(Probability): add Monotonicity of setBernoulli on IsUpperSet |
|
merge-conflict |
254/47 |
Mathlib.lean,Mathlib/MeasureTheory/Measure/AEMeasurable.lean,Mathlib/MeasureTheory/Measure/AbsolutelyContinuous.lean,Mathlib/MeasureTheory/Measure/Dirac.lean,Mathlib/MeasureTheory/Measure/Typeclasses/Probability.lean,Mathlib/Order/UpperLower/Relative.lean,Mathlib/Probability/Combinatorics/BinomialRandomGraph/Defs.lean,Mathlib/Probability/Distributions/Bernoulli.lean,Mathlib/Probability/Distributions/SetBernoulli.lean,Mathlib/Probability/ProductMeasure.lean,Mathlib/Topology/UnitInterval.lean |
11 |
16 |
['DavidLedvinka', 'b-mehta', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
83-76857 2 months ago |
unknown |
0-0 0 seconds |
| 35828 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(RingTheory/GradedAlgebra/Homogeneous/Hom): homogeneous algebra maps and evaluation |
Define the notion of homogeneous algebra morphism between algebra maps.
Prove that the evaluation of a (weighted) homogeneous multivariate polynomial at adequate elements
of a graded algebra define a homogeneous algebra morphism.
co-authored with @mariainesdff
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
WIP
|
74/0 |
Mathlib.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Hom.lean |
3 |
11 |
['AntoineChambert-Loir', 'github-actions', 'joneugster', 'riccardobrasca'] |
riccardobrasca assignee:riccardobrasca |
83-61131 2 months ago |
44-32680 44 days ago |
43-3286 43 days |
| 28286 |
bwangpj author:bwangpj |
feat(Geometry/Manifold/ContMDiff): basic lemmas for analytic (`C^ω`) functions |
Add basic lemmas relating `ContMDiff` in the `C^ω` case to being `Analytic` on charts.
This is upstreamed from [https://github.com/girving/ray](https://github.com/girving/ray).
Co-authored-by: Geoffrey Irving
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-differential-geometry
new-contributor
|
36/0 |
Mathlib/Geometry/Manifold/ContMDiff/Defs.lean |
1 |
14 |
['bwangpj', 'girving', 'github-actions', 'grunweg', 'kbuzzard', 'mathlib-merge-conflicts', 'sgouezel'] |
sgouezel assignee:sgouezel |
83-37693 2 months ago |
258-34043 258 days ago |
27-52841 27 days |
| 30750 |
SnirBroshi author:SnirBroshi |
feat(Data/Quot): `toSet` and `equivClassOf` |
Define `toSet` which gets the set corresponding to an element of a quotient, and `equivClassOf` which gets the equivalence class of an element under a quotient.
---
I found these definitions helpful when working with quotients, specifically `ConnectedComponents` of a `TopologicalSpace`.
[](https://gitpod.io/from-referrer/)
|
t-data
awaiting-author
awaiting-zulip
|
162/0 |
Mathlib/Data/Quot.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/SetLike/Basic.lean,Mathlib/Data/Setoid/Basic.lean |
4 |
8 |
['SnirBroshi', 'TwoFX', 'eric-wieser', 'github-actions', 'linesthatinterlace', 'mathlib-merge-conflicts'] |
TwoFX assignee:TwoFX |
83-32732 2 months ago |
179-36072 179 days ago |
36-69524 36 days |
| 34015 |
erdOne author:erdOne |
feat(AlgebraicGeometry): category of schemes affine over a base |
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
delegated
awaiting-author
|
466/11 |
Mathlib.lean,Mathlib/AlgebraicGeometry/AffineOver.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/AlgebraicGeometry/Morphisms/Affine.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/AlgebraicGeometry/RelativeGluing.lean,Mathlib/AlgebraicGeometry/Sites/SmallAffineZariski.lean,Mathlib/CategoryTheory/Sites/Hypercover/Subcanonical.lean |
7 |
52 |
['chrisflav', 'dagurtomas', 'erdOne', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'riccardobrasca'] |
chrisflav assignee:chrisflav |
83-7717 2 months ago |
15-33260 15 days ago |
40-35668 40 days |
| 27274 |
peabrainiac author:peabrainiac |
feat(Geometry/Diffeology): continuous diffeologies & D-topology-lemmas |
Introduces the continuous diffeology on topological spaces and the Galois connection between it and the D-topology, and then uses it to prove a few more lemmas about the D-topology.
---
Aside from being useful for defining a right adjoint of the D-topology functor later, this is a prerequisite for correctly defining coinduced diffeologies (namely in such a way that the D-topology is defeq to the coinduced topology) and thus also for most constructions of diffeological spaces.
- [x] depends on: #26973
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
awaiting-author
|
153/0 |
Mathlib.lean,Mathlib/Geometry/Diffeology/Continuous.lean |
2 |
7 |
['github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'ocfnash'] |
nobody |
82-86027 2 months ago |
82-86027 82 days ago |
3-44558 3 days |
| 34120 |
winstonyin author:winstonyin |
feat: `GroupWithZero` versions of `le` lemmas |
[Zulip thread: #mathlib4 > prod_le_pow_card](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/prod_le_pow_card/with/568611481)
## Motivation
Inequality lemmas such as `Multiset.prod_le_pow_card` that are true for the reals are only stated for non-negative reals. Instead of simply providing non-negativity as a proof obligation, the downstream user is forced to lift all non-negative terms to `NNReal` and then invoke the inequality lemma. This motivates duplicating lemmas that assume `[CommMonoid R] [MulLeftMono R]` to ones that assume `[CommMonoidWithZero R] [ZeroLEOneClass R] [PosMulMono R]` along with a non-negativity hypothesis.
I've only included the obvious case for now. I'll carefully comb through these lemmas to ensure pairing and consistent naming. I've included here a downstream effect of this change, greatly simplifying a part of a proof. I'll record some of these here as well, but I'll move them to a separate PR at the end .
## Changes
* Add `List.prod_le_pow_length₀` and `Multiset.prod_le_pow_card₀`.
* Add subscript 0 to `prod_map_le_pow_card`, meaning it assumes `CommMonoidWithZero`, consistent with similar lemmas.
* Remove the `FunLike` assumption in `prod_map_le_pow_length₀` and `prod_map_le_pow_card₀`
* Update and shorten proof of `max_norm_root_eq_spectralValue`.
## TODO
* Ensure pairing between lemmas that assume `CommMonoid` and `CommMonoidWithZero` across `List`, `Multiset`, `Finset`.
* Find other such cases, e.g. `mul_lt_one`.
* Ensure consistent naming using subscript 0.
---
[](https://gitpod.io/from-referrer/)
|
WIP
large-import
merge-conflict
|
662/286 |
Archive/Imo/Imo2025Q3.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/Group/Submonoid/Pointwise.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/BigOperators/Group/Finset.lean,Mathlib/Algebra/Order/BigOperators/Group/List.lean,Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/List.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/Multiset.lean,Mathlib/Algebra/Order/BigOperators/Ring/Multiset.lean,Mathlib/Algebra/Order/Group/DenselyOrdered.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Pow.lean,Mathlib/Algebra/Order/Monovary.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/InnerProductSpace/Orientation.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/InjectiveSeminorm.lean,Mathlib/Analysis/Normed/Ring/Basic.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Analysis/Polynomial/MahlerMeasure.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pochhammer.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Bounds.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Chunk.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/MeasureTheory/Constructions/Pi.lean,Mathlib/MeasureTheory/Measure/HasOuterApproxClosedProd.lean,Mathlib/MeasureTheory/Measure/Hausdorff.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/NumberTheory/Bertrand.lean,Mathlib/NumberTheory/FermatPsp.lean,Mathlib/NumberTheory/Height/Basic.lean,Mathlib/NumberTheory/Height/MvPolynomial.lean,Mathlib/NumberTheory/ModularForms/JacobiTheta/OneVariable.lean,Mathlib/NumberTheory/Multiplicity.lean,Mathlib/NumberTheory/Padics/Hensel.lean,Mathlib/NumberTheory/Primorial.lean,Mathlib/NumberTheory/SiegelsLemma.lean,Mathlib/NumberTheory/SmoothNumbers.lean,Mathlib/Order/Filter/AtTopBot/Monoid.lean,Mathlib/RingTheory/Perfection.lean,Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean,Mathlib/Topology/Algebra/Valued/WithZeroMulInt.lean,Mathlib/Topology/EMetricSpace/Paracompact.lean,Mathlib/Topology/MetricSpace/HausdorffDistance.lean,scripts/nolints_prime_decls.txt |
54 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
82-70029 2 months ago |
126-49762 126 days ago |
0-20 20 seconds |
| 32942 |
kim-em author:kim-em |
feat(CategoryTheory/Monoidal/Rigid): tensor product of exact pairings |
This PR adds the tensor product construction for exact pairings in rigid monoidal categories:
- `ExactPairing.tensor`: Given exact pairings `(X₁, Y₁)` and `(X₂, Y₂)`, we get an exact pairing `(X₁ ⊗ X₂, Y₂ ⊗ Y₁)`. Note the reversed order in the second factor - this is essential for the monoidal structure of dual functors.
- `HasRightDual.tensor` and `HasLeftDual.tensor`: If `X` and `Y` have duals, so does `X ⊗ Y`
- `rightDual_tensor` and `leftDual_tensor` simp lemmas
🤖 Prepared with Claude Code |
t-category-theory
LLM-generated
awaiting-author
|
103/0 |
Mathlib/CategoryTheory/Monoidal/Rigid/Basic.lean,Mathlib/Tactic/Linter/TextBased/UnicodeLinter.lean |
1 |
10 |
['github-actions', 'joelriou', 'kim-em', 'robin-carlier'] |
nobody |
82-61356 2 months ago |
17-28807 17 days ago |
3-49996 3 days |
| 35157 |
Multramate author:Multramate |
feat(RingTheory/AdjoinRoot): add IsFractionRing for AdjoinRoot |
Co-authored-by: Sriram Chinthalagiri Venkata @sriram3301
This contribution was created as part of the Heidelberg Lean workshop "Formalising algebraic geometry" in November 2025.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
awaiting-author
label:t-algebra$ |
40/1 |
Mathlib/RingTheory/AdjoinRoot.lean |
1 |
8 |
['copilot-pull-request-reviewer', 'erdOne', 'github-actions', 'robin-carlier'] |
mattrobball assignee:mattrobball |
82-25772 2 months ago |
73-851 73 days ago |
25-82526 25 days |
| 29425 |
pechersky author:pechersky |
feat(NumberTheory/Padics/Torsion): `HasEnoughRootsOfUnity ℤ_[p] (p - 1)` |
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #29403
- [x] depends on: #29404
- [x] depends on: #29405
- [x] depends on: #29408
- [x] depends on: #29424
- [ ] depends on: #30989
|
merge-conflict
awaiting-author
t-ring-theory
|
179/0 |
Mathlib.lean,Mathlib/NumberTheory/Padics/Torsion.lean,Mathlib/RingTheory/ZMod/Torsion.lean |
3 |
6 |
['erdOne', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'pechersky'] |
erdOne assignee:erdOne |
82-25678 2 months ago |
191-16496 191 days ago |
44-24353 44 days |
| 27980 |
smmercuri author:smmercuri |
feat: dimensions of completions at infinite place extensions |
This PR continues the work from #24853.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24853
---
- [x] depends on: #27977
- [ ] depends on: #27978
- [x] depends on: #27974
- [x] depends on: #27975
- [ ] depends on: #27976
- [ ] depends on: #29942
- [ ] depends on: #29946 |
t-number-theory
blocked-by-other-PR
large-import
merge-conflict
FLT
|
619/2 |
Mathlib.lean,Mathlib/Analysis/Normed/Field/WithAbs.lean,Mathlib/Analysis/Normed/Ring/WithAbs.lean,Mathlib/NumberTheory/NumberField/Completion.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Dimension.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Embeddings.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean |
7 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
82-24663 2 months ago |
293-21246 293 days ago |
0-3752 1 hour |
| 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
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
|
224/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'] |
ocfnash assignee:ocfnash |
82-21923 2 months ago |
34-68175 34 days ago |
82-19320 82 days |
| 35327 |
SnirBroshi author:SnirBroshi |
feat(SimpleGraph/Acyclic): the union of two trees that share exactly one vertex is a tree |
---
A surprisingly painful proof for something that seems trivial when drawing on the board.
To avoid any doubts: no AI was involved whatsoever.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
awaiting-author
|
95/0 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean |
2 |
10 |
['SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'vbeffara', 'vlad902'] |
YaelDillies assignee:YaelDillies |
82-11862 2 months ago |
65-64782 65 days ago |
33-16907 33 days |
| 36156 |
vihdzp author:vihdzp |
chore: use `to_additive` for `MulAut` and `AddAut` |
We want to use a multiplicative structure on both, so we tag them as `to_additive_dont_translate`.
---
[](https://gitpod.io/from-referrer/)
|
t-group-theory |
45/119 |
Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Equiv/Defs.lean |
2 |
1 |
['github-actions'] |
nobody |
81-71060 2 months ago |
81-72788 81 days ago |
0-46 46 seconds |
| 36158 |
vihdzp author:vihdzp |
chore: use `to_additive` for `IsConj` |
I don't really need this specific definition, but I do want additive versions of other declarations that depend on this.
Some proofs were changed, since `MulAut.conj` can't be dualized (the analogous def `AddAut.conj` has to insert a `Multiplicative` in there).
---
- [ ] depends on: #36156
[](https://gitpod.io/from-referrer/)
|
t-group-theory
blocked-by-other-PR
merge-conflict
|
95/137 |
Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Equiv/Defs.lean,Mathlib/Tactic/Translate/ToAdditive.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
81-69397 2 months ago |
81-69398 81 days ago |
0-1731 28 minutes |
| 36148 |
robin-carlier author:robin-carlier |
test: make Category.assoc a pre-simp lemma |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
merge-conflict
|
83/62 |
Mathlib/Algebra/Category/ModuleCat/Sheaf/Free.lean,Mathlib/Algebra/Homology/BifunctorHomotopy.lean,Mathlib/Analysis/Normed/Group/SemiNormedGrp/Kernels.lean,Mathlib/CategoryTheory/Category/Basic.lean,Mathlib/CategoryTheory/Dialectica/Basic.lean,Mathlib/CategoryTheory/EffectiveEpi/Comp.lean,Mathlib/CategoryTheory/Endomorphism.lean,Mathlib/CategoryTheory/Galois/GaloisObjects.lean,Mathlib/CategoryTheory/Generator/Basic.lean,Mathlib/CategoryTheory/GuitartExact/Over.lean,Mathlib/CategoryTheory/GuitartExact/VerticalComposition.lean,Mathlib/CategoryTheory/Iso.lean,Mathlib/CategoryTheory/Limits/Fubini.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/AbelianImages.lean,Mathlib/CategoryTheory/Limits/Shapes/Diagonal.lean,Mathlib/CategoryTheory/Limits/Shapes/Images.lean,Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Connected.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Pasting.lean,Mathlib/CategoryTheory/Limits/Shapes/WidePullbacks.lean,Mathlib/CategoryTheory/Limits/VanKampen.lean,Mathlib/CategoryTheory/Localization/Monoidal/Braided.lean,Mathlib/CategoryTheory/Monoidal/Braided/Transport.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Mon_.lean,Mathlib/CategoryTheory/Monoidal/Closed/FunctorToTypes.lean,Mathlib/CategoryTheory/MorphismProperty/Descent.lean,Mathlib/CategoryTheory/Preadditive/Biproducts.lean,Mathlib/CategoryTheory/Sites/Descent/DescentData.lean,Mathlib/CategoryTheory/Sites/Descent/Precoverage.lean,Mathlib/CategoryTheory/Sites/Hypercover/One.lean |
31 |
4 |
['github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'robin-carlier'] |
nobody |
81-59725 2 months ago |
82-768 82 days ago |
0-2 2 seconds |
| 36142 |
erdOne author:erdOne |
feat(Topology): sheaves of modules in `Over U` |
---
[](https://gitpod.io/from-referrer/)
|
t-topology
large-import
awaiting-author
merge-conflict
|
116/7 |
Mathlib.lean,Mathlib/CategoryTheory/Sites/Spaces.lean,Mathlib/Topology/Sheaves/Module.lean,Mathlib/Topology/Sheaves/Over.lean,Mathlib/Topology/Sheaves/SheafCondition/Sites.lean |
5 |
5 |
['github-actions', 'joelriou', 'mathlib-merge-conflicts'] |
nobody |
81-20625 2 months ago |
82-11359 82 days ago |
0-153 2 minutes |
| 35073 |
joelriou author:joelriou |
feat(CategoryTheory/Sites): more on Cech cohomology |
WIP branch
---
- [x] depends on: #35035
- [x] depends on: #35026
- [x] depends on: #35038
- [x] depends on: #35140
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
merge-conflict
|
646/25 |
Mathlib.lean,Mathlib/Algebra/Category/Grp/Limits.lean,Mathlib/AlgebraicTopology/AlternatingFaceMapComplex.lean,Mathlib/AlgebraicTopology/ExtraDegeneracy.lean,Mathlib/AlgebraicTopology/SimplicialObject/Basic.lean,Mathlib/CategoryTheory/Comma/Arrow.lean,Mathlib/CategoryTheory/Limits/FormalCoproducts/Basic.lean,Mathlib/CategoryTheory/Limits/FormalCoproducts/Cech.lean,Mathlib/CategoryTheory/Limits/FormalCoproducts/EvalOpAddCommGrpCat.lean,Mathlib/CategoryTheory/Limits/FormalCoproducts/Misc.lean,Mathlib/CategoryTheory/Sites/SheafCohomology/CechAddCommGrpCat.lean,Mathlib/CategoryTheory/Subfunctor/Sieves.lean,Mathlib/Topology/Sheaves/Cech/AddCommGrpCat.lean |
13 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
81-15283 2 months ago |
104-28038 104 days ago |
0-2 2 seconds |
| 34940 |
michaellee94 author:michaellee94 |
feat: the graph of a continuous function on a $C^n$ manifold is a $C^n$ manifold |
---
[](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 |
81-7953 2 months ago |
82-74548 82 days ago |
15-5284 15 days |
| 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
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
please-adopt
merge-conflict
awaiting-author
|
385/0 |
Mathlib.lean,Mathlib/Topology/Category/TopCat/Closeds.lean,Mathlib/Topology/Category/TopCat/Opens.lean |
2 |
24 |
['Brian-Nugent', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts'] |
dagurtomas assignee:dagurtomas |
81-7099 2 months ago |
66-7172 66 days ago |
17-64811 17 days |
| 35332 |
yisiox author:yisiox |
feat(Computability): regular expressions match a regular language |
This PR adds a proof that the language matched by a regular expression is a regular language.
This is achieved by the following constructions and proofs of their correctness
- A DFA `epsilon` which accepts the empty language
- A DFA `char (a : α)` which accepts the language containing only a single symbol
- An Epsilon-NFA `concat (M₁ : εNFA α σ₁) (M₂ : εNFA α σ₂)` which accepts the concatenation of the languages of two Epsilon-NFAs
- An Epsilon-NFA `kstar (M : εNFA α σ)` which accepts the Kleene star of a language of an Epsilon-NFA
The following theorems on closure are added
- `IsRegular.zero`
- `IsRegular.one`
- `IsRegular.top`
- `IsRegular.singleton`
- `IsRegular.mul`
- `IsRegular.kstar`
which demonstrates
- `IsRegular.matches`
---
[](https://gitpod.io/from-referrer/)
|
t-computability
new-contributor
|
475/0 |
Mathlib/Computability/DFA.lean,Mathlib/Computability/EpsilonNFA.lean |
2 |
2 |
['github-actions'] |
nobody |
80-83460 2 months ago |
unknown |
0-0 0 seconds |
| 30408 |
kckennylau author:kckennylau |
feat(RingTheory): more algebra instances for HomogeneousLocalization and linear constructors |
This PR introduces the instance `Algebra R₀ (HomogeneousLocalization 𝒜 x)` as well as two linear constructors `mkₗ` and `Away.mkₗ` that fix the denominator.
Zulip discussion: [#mathlib4 > Some algebra instance for graded algebra and homog loc](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Some.20algebra.20instance.20for.20graded.20algebra.20and.20homog.20loc/with/544178649)
---
Split from #26061.
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
merge-conflict
|
65/20 |
Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean |
1 |
6 |
['github-actions', 'mariainesdff', 'mathlib-merge-conflicts'] |
mariainesdff assignee:mariainesdff |
80-80497 2 months ago |
209-23221 209 days ago |
17-72413 17 days |
| 30431 |
kckennylau author:kckennylau |
feat(RingTheory): a homogeneous submodule is the span of its homogeneous elements |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
merge-conflict
|
22/0 |
Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Submodule.lean |
2 |
9 |
['alreadydone', 'github-actions', 'kckennylau', 'mariainesdff', 'mathlib-merge-conflicts'] |
mariainesdff assignee:mariainesdff |
80-80496 2 months ago |
203-12858 203 days ago |
23-21820 23 days |
| 33501 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Degree): degrees for infinite graphs |
Define `ENat` versions of `degree`/`minDegree`/`maxDegree` called `edegree`/`minEDegree`/`maxEDegree` respectively.
---
The `e` prefix matches the existing `edist` and `ediam`.
I will split this PR, but first I'd like to get positive signals on the concept.
TODO (future work): `tsum G.edegree = 2 * G.edgeSet.encard` and then `ENat.card V * G.minEDegree ≤ 2 * G.edgeSet.encard ≤ ENat.card V * G.maxEDegree` (can we avoid topology [somehow](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Summing.20.60ENat.60s.20without.20topology/with/588756615)?)
- [x] depends on: #38244
- [x] depends on: #38354
- [x] depends on: #38355
- [ ] depends on: #38356
- [ ] depends on: #38612
- [ ] depends on: #38747
Note: this PR used to be a refactor of the existing `degree`/`maxDegree`/`minDegree`, see the edits of this description.
[](https://gitpod.io/from-referrer/)
|
large-import
t-combinatorics
blocked-by-other-PR
merge-conflict
awaiting-author
|
352/259 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Copy.lean,Mathlib/Combinatorics/SimpleGraph/Degree.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Order/ConditionallyCompleteLattice/Finset.lean,Mathlib/Order/SuccPred/CompleteLinearOrder.lean,Mathlib/Order/WithBot.lean |
22 |
35 |
['IvanRenison', 'SnirBroshi', 'YaelDillies', 'b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'vlad902'] |
nobody |
80-73212 2 months ago |
113-36457 113 days ago |
14-72041 14 days |
| 33808 |
seewoo5 author:seewoo5 |
feat(Manifold/MFDeriv): add fun_prop to `MDifferentiable` |
---
Add FunProp to `MDifferentiable`. For example, the following works (when `F'` is normed `𝕜`-algebra)
```lean
example (hp : MDifferentiable I 𝓘(𝕜, F') p) (hq : MDifferentiable I 𝓘(𝕜, F') q) :
MDifferentiable I 𝓘(𝕜, F') ((p * q + p - q) * q * p) := by fun_prop
```
Motivated from [sphere packing project](https://github.com/thefundamentaltheor3m/Sphere-Packing-Lean).
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-differential-geometry
merge-conflict
|
15/0 |
Mathlib/Geometry/Manifold/MFDeriv/Basic.lean,Mathlib/Geometry/Manifold/MFDeriv/Defs.lean,Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean |
3 |
9 |
['github-actions', 'grunweg', 'mathlib-merge-conflicts', 'seewoo5'] |
nobody |
80-73088 2 months ago |
135-33400 135 days ago |
0-43623 12 hours |
| 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.
---
[](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 |
8 |
['YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'robin-carlier', 'vbeffara'] |
b-mehta assignee:b-mehta |
80-66030 2 months ago |
27-8293 27 days ago |
53-33900 53 days |
| 34484 |
grunweg author:grunweg |
test: debugging mfderiv_smul erws |
Not meant for landing.
---
- [ ] depends on: #34262
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
blocked-by-other-PR
WIP
merge-conflict
|
43/0 |
Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean |
1 |
3 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot'] |
nobody |
80-64528 2 months ago |
118-16003 118 days ago |
0-252 4 minutes |
| 35210 |
kim-em author:kim-em |
chore: use @[to_dual] in CompleteLattice extras and Set.Lattice |
This PR uses `@[to_dual]` to auto-generate dual theorems in `Order.CompleteLattice.Lemmas`, `Order.CompleteLattice.Finset`, and `Data.Set.Lattice`, deleting hand-written dual versions.
[Diff relative to previous PR](https://github.com/kim-em/mathlib4/compare/kim/to-dual-complete-lattice...kim/to-dual-complete-lattice-extras)
- [ ] depends on: #35209
🤖 Prepared with Claude Code |
LLM-generated
merge-conflict
blocked-by-other-PR
|
217/579 |
Mathlib/Data/Set/Lattice.lean,Mathlib/Order/CompleteLattice/Finset.lean,Mathlib/Order/CompleteLattice/Lemmas.lean,Mathlib/Tactic/SetLike.lean |
7 |
6 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
80-64524 2 months ago |
20-31333 20 days ago |
5-31322 5 days |
| 35213 |
kim-em author:kim-em |
chore: use @[to_dual] in ConditionallyCompleteLattice |
This PR adds `@[to_dual]` annotations across all `ConditionallyCompleteLattice` files: `Defs`, `Basic`, `Indexed`, `Finset`, and `Group`. Auto-generates dual theorems and deletes hand-written versions. (Absorbs the former PR #35212.)
[Diff relative to #35209](https://github.com/kim-em/mathlib4/compare/kim/to-dual-complete-lattice...kim/to-dual-ccl-extended)
- [ ] depends on: #35209
- [ ] depends on: #35211
🤖 Prepared with Claude Code |
merge-conflict
LLM-generated
blocked-by-other-PR
|
189/485 |
Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean |
4 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
80-64522 2 months ago |
101-68439 101 days ago |
0-963 16 minutes |
| 35214 |
kim-em author:kim-em |
chore: use @[to_dual] in GaloisConnection and Interval.Set.Disjoint |
This PR adds `@[to_dual]` annotations to 9 theorems in `GaloisConnection/Basic.lean` and 1 in `Interval/Set/Disjoint.lean`, deleting the hand-written dual theorems that are now auto-generated.
In `GaloisConnection/Basic.lean`, the entire `section SemilatticeInf` block (containing `u_inf`) is deleted since `l_sup` now generates it via `@[to_dual]`. Similarly for `u_iInf`, `u_iInf₂`, `u_sInf`, and several bounds/image lemmas.
[Diff relative to #35213](https://github.com/kim-em/mathlib4/compare/kim/to-dual-ccl-extended...kim/to-dual-galois-connection)
- [ ] depends on: #35213
🤖 Prepared with Claude Code |
blocked-by-other-PR
merge-conflict
LLM-generated
|
204/526 |
Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/GaloisConnection/Basic.lean,Mathlib/Order/Interval/Set/Disjoint.lean,Mathlib/Topology/Order.lean |
8 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
80-64520 2 months ago |
101-68438 101 days ago |
0-663 11 minutes |
| 35547 |
Ruben-VandeVelde author:Ruben-VandeVelde |
chore: tidy various files |
---
As usual, `simp`s didn't seem slow.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
|
83/117 |
Mathlib/Algebra/Group/Int/Defs.lean,Mathlib/Algebra/LinearRecurrence.lean,Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean,Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/AlgebraicGeometry/Morphisms/Smooth.lean,Mathlib/AlgebraicGeometry/Properties.lean,Mathlib/AlgebraicGeometry/ZariskisMainTheorem.lean,Mathlib/Analysis/Complex/CoveringMap.lean,Mathlib/Analysis/Complex/MeanValue.lean,Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/Data/NNReal/Basic.lean,Mathlib/Data/Set/Dissipate.lean,Mathlib/Data/Set/PowersetCard.lean,Mathlib/Geometry/Euclidean/Angle/Bisector.lean,Mathlib/LinearAlgebra/DirectSum/Finsupp.lean,Mathlib/LinearAlgebra/JordanChevalley.lean,Mathlib/MeasureTheory/Measure/PreVariation.lean,Mathlib/MeasureTheory/Measure/SubFinite.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Defs.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Indexed.lean,Mathlib/Probability/Distributions/Cauchy.lean,Mathlib/RingTheory/Etale/QuasiFinite.lean,Mathlib/RingTheory/Ideal/Pointwise.lean,Mathlib/RingTheory/Polynomial/Subring.lean,Mathlib/RingTheory/Smooth/IntegralClosure.lean,Mathlib/RingTheory/UniqueFactorizationDomain/ClassGroup.lean,Mathlib/RingTheory/Unramified/LocalStructure.lean,Mathlib/RingTheory/ZariskisMainTheorem.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Corecursion.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Majorized.lean,Mathlib/Topology/Algebra/IsUniformGroup/Defs.lean,Mathlib/Topology/Algebra/MulAction.lean |
32 |
14 |
['github-actions', 'grunweg', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
80-64513 2 months ago |
94-5290 94 days ago |
0-67842 18 hours |
| 35808 |
xroblot author:xroblot |
feat(RamificationInertia): splitting in the inertia field |
---
- [ ] depends on: #35802
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
large-import
t-algebra
merge-conflict
label:t-algebra$ |
501/12 |
Mathlib.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Data/ZMod/QuotientRing.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/NumberTheory/RamificationInertia/HilbertTheory.lean,Mathlib/RingTheory/FiniteType.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/HasFiniteQuotients.lean |
8 |
4 |
['github-actions', 'joneugster', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
80-64497 2 months ago |
88-16202 88 days ago |
0-2518 41 minutes |
| 34501 |
eric-wieser author:eric-wieser |
chore(Data/Fintype/Induction): add a workaround for a bug in `induction` |
This works around leanprover/lean4#4246, as Zulip threads frequently run up against this.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
please-adopt
|
15/1 |
Mathlib/Data/Fintype/Option.lean |
1 |
3 |
['github-actions', 'joneugster'] |
joneugster assignee:joneugster |
80-31026 2 months ago |
115-11369 115 days ago |
2-59629 2 days |
| 32989 |
kim-em author:kim-em |
fix(Tactic/Simps): skip @[defeq] inference for non-exposed definitions |
This PR makes `@[simps]` check whether the source definition's body is exposed before calling `inferDefEqAttr`. When the body is not exposed, we skip the `@[defeq]` inference to avoid validation errors.
Without this fix, using `@[simps]` on a definition that is not `@[expose]`d produces an error like:
```
Theorem Foo_bar has a `rfl`-proof and was thus inferred to be `@[defeq]`, but validating that attribute failed:
Not a definitional equality: the left-hand side ... is not definitionally equal to the right-hand side ...
Note: This theorem is exported from the current module. This requires that all definitions that need to be unfolded to prove this theorem must be exposed.
```
The fix checks `(← getEnv).setExporting true |>.find? cfg.srcDeclName |>.any (·.hasValue)` to determine if the definition body is visible in the public scope, and only calls `inferDefEqAttr` if it is.
🤖 Prepared with Claude Code |
t-meta
awaiting-author
LLM-generated
please-adopt
merge-conflict
|
51/3 |
Mathlib/CategoryTheory/Triangulated/TStructure/TruncLTGE.lean,Mathlib/Tactic/Simps/Basic.lean,MathlibTest/SimpsModule.lean |
4 |
17 |
['JovanGerb', 'Vierkantor', 'github-actions', 'joneugster', 'kim-em', 'mathlib-merge-conflicts'] |
nobody |
80-28905 2 months ago |
102-41973 102 days ago |
37-18737 37 days |
| 35569 |
goliath-klein author:goliath-klein |
refactor(PiTensorProduct/{InjectiveNorm, ProjectiveNorm}): deprecate `injectiveSeminorm` |
This PR:
* Deprecates `PiTensorProduct.injectiveSeminorm` and supporting lemmas.
* Moves the theory of `liftEquiv` from InjectiveSeminorm.lean to ProjectiveSeminorm.lean.
No changes are introduced beyond adding deprecation notices, adapting docstrings, and moving material between files.
The PR leaves InjectiveSeminorm.lean almost empty. A new implementation of `injectiveSeminorm`, one which reflects the common mathematical definition, is to be done.
This is the third in a series of three PRs with the goal to [deprecate `PiTensorProuduct.injectiveSeminorm`](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/injectiveSeminorm/with/568798633).
---
- [ ] depends on: #35567
- [ ] depends on: #35568
Deprecations:
- injectiveSeminorm
- dualSeminorms_bounded
- injectiveSeminorm_apply
- norm_eval_le_injectiveSeminorm
- injectiveSeminorm_le_projectiveSeminorm
- injectiveSeminorm_tprod_le
Preliminary work toward a reimplementation is at #33969.
I've added Davood and myself to the "Authors" field, as we have now significantly refactored this module.
Co-authored-by: Davood H. T. Tehrani
[](https://gitpod.io/from-referrer/)
|
new-contributor
merge-conflict
blocked-by-other-PR
|
290/366 |
Mathlib/Analysis/Normed/Module/PiTensorProduct/InjectiveSeminorm.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/ProjectiveSeminorm.lean |
3 |
6 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
80-26044 2 months ago |
38-33362 38 days ago |
55-1673 55 days |
| 8479 |
alexjbest author:alexjbest |
feat: use leaff in CI |
[Leaff](https://github.com/alexjbest/leaff) is an experimental lean-diff tool, this PR is to experiment with adding it as a CI step.
---
I'm not sure yet if it is best to have this always run or only run on request (like bench).
If it is always run should it post a comment or simply leave its output it the actions log (maybe as a summary object)
the current iteration runs and updates a sticky comment with the latest result
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
awaiting-author
|
340/0 |
.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml |
4 |
13 |
['alexjbest', 'fpvandoorn', 'github-actions', 'grunweg', 'kim-em', 'mathlib-bors', 'urkud'] |
nobody |
80-20570 2 months ago |
919-84344 919 days ago |
0-26 26 seconds |
| 13483 |
adomani author:adomani |
feat: automatically replace deprecations |
This PR introduces `lake exe update_deprecations` that uses the cache to automatically replace deprecated declarations with the corresponding un-deprecated one.
The script handles namespacing, replacing a possibly non-fully-qualified, deprecated name with the fully-qualified non-deprecated name.
It is also possible to use
```bash
lake exe update_deprecations --mods One.Two.Three,Dd.Ee.Ff
```
to limit the scope of the replacements to the modules `One.Two.Three` and `Dd.Ee.Ff`.
This is intended to be a first step in automating updates: combining this with a linter that emits appropriate warnings, the functionality of `lake exe update_deprecations` can be extended to perform more complicated updates.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
306/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/UpdateDeprecations.lean,MathlibTest/UpdateDeprecations.lean,lakefile.lean,scripts/README.md,scripts/update_deprecations.lean |
7 |
18 |
['YaelDillies', 'adomani', 'fpvandoorn', 'github-actions', 'j-loreaux', 'jcommelin', 'leanprover-community-bot-assistant', 'mathlib-bors', 'sgouezel'] |
joneugster assignee:joneugster |
80-20542 2 months ago |
560-11648 560 days ago |
34-80803 34 days |
| 14313 |
grhkm21 author:grhkm21 |
feat(RepresentationTheory/FdRep): FdRep is a full subcategory of Rep |
```
/-- Equivalence between `FDRep` and the full subcategory of finite dimensional `Rep`. -/
def equivFiniteDimensional :
FDRep k G ≌ FullSubcategory (fun V : Rep k G ↦ FiniteDimensional k V)
``` |
merge-conflict
t-algebra
t-category-theory
new-contributor
label:t-algebra$ |
47/8 |
Mathlib/RepresentationTheory/FDRep.lean |
1 |
21 |
['fpvandoorn', 'github-actions', 'grhkm21', 'joelriou', 'kim-em', 'mathlib-bors'] |
nobody |
80-20519 2 months ago |
672-72943 672 days ago |
4-83177 4 days |
| 14712 |
astrainfinita author:astrainfinita |
perf: change instance priority and order about `OfNat` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
label:t-algebra$ |
49/20 |
Mathlib/Algebra/Group/Nat.lean,Mathlib/Algebra/Group/ZeroOne.lean,Mathlib/Algebra/Homology/Embedding/Basic.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Data/BitVec.lean,Mathlib/Data/Nat/Cast/Defs.lean,Mathlib/Data/Rat/Defs.lean,Mathlib/Data/UInt.lean,Mathlib/NumberTheory/ArithmeticFunction.lean |
9 |
26 |
['MichaelStollBayreuth', 'astrainfinita', 'eric-wieser', 'fpvandoorn', 'github-actions', 'j-loreaux', 'leanprover-bot', 'mathlib-bors'] |
nobody |
80-20500 2 months ago |
654-85070 654 days ago |
20-15089 20 days |
| 17627 |
hrmacbeth author:hrmacbeth |
feat: universal properties of vector bundle constructions |
Characterizations for the smoothness of maps into the total spaces of (1) the direct sum of two vector bundles; (2) the pullback of a vector bundle.
This gap in the library was exposed by #17358.
---
- [x] depends on: #22804
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-differential-geometry
|
311/9 |
Mathlib/Data/Bundle.lean,Mathlib/Geometry/Manifold/VectorBundle/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/Pullback.lean,Mathlib/Topology/FiberBundle/Constructions.lean |
4 |
26 |
['PatrickMassot', 'fpvandoorn', 'github-actions', 'grunweg', 'hrmacbeth', 'j-loreaux', 'leanprover-community-bot-assistant', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'sgouezel'] |
grunweg assignee:grunweg |
80-20488 2 months ago |
340-20227 340 days ago |
91-68302 91 days |
| 19275 |
eric-wieser author:eric-wieser |
fix: if nolint files change, do a full rebuild |
Otherwise CI will succeed when removing entries from the file, but fail later when someone changes something unrelated.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
8/0 |
lakefile.lean |
1 |
22 |
['YaelDillies', 'adomani', 'eric-wieser', 'fpvandoorn', 'github-actions', 'grunweg', 'mathlib-bors'] |
nobody |
80-20471 2 months ago |
551-61106 551 days ago |
0-214 3 minutes |
| 34650 |
vihdzp author:vihdzp |
feat: redefine `Polynomial.toSubring` with better def-eqs |
We redefine [`Polynomial.toSubring`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Polynomial/Basic.html#Polynomial.toSubring) in such a way that `(p.toSubring T _).coeff n = p.coeff n` definitionally. We then golf the API.
---
- [x] depends on: #34661
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
merge-conflict
|
63/73 |
Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Ring/Subring/IntPolynomial.lean,Mathlib/FieldTheory/Fixed.lean,Mathlib/RingTheory/Algebraic/Integral.lean,Mathlib/RingTheory/Polynomial/Subring.lean |
6 |
15 |
['YaelDillies', 'erdOne', 'eric-wieser', 'github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
80-17389 2 months ago |
103-10261 103 days ago |
0-80144 22 hours |
| 28072 |
kckennylau author:kckennylau |
feat(RingTheory/Valuation): make tactic rw_val_equiv |
Co-authored by Aaron Liu and Bhavik Mehta.
A tactic to rewrite relations such as `max (v₁ x) (v₁ y) * v₁ z < 1` into `max (v₂ x) (v₂ y) * v₂ z < 1` , given `h : v₁.IsEquiv v₂`.
Allowed relations are `≤`, `<`, `=`, `≠`.
Allowed operations are: `0`, `1`, `v₁ r`, `⁻¹`, `^` (both `ℕ` and `ℤ`), `*`, `/`, `min`, `max`.
Examples:
```lean
example {R Γ₁ Γ₂ : Type} [Ring R]
[LinearOrderedCommMonoidWithZero Γ₁] [LinearOrderedCommMonoidWithZero Γ₂]
{v₁ : Valuation R Γ₁} {v₂ : Valuation R Γ₂}
(h : v₁.IsEquiv v₂) {y z : R} :
{x | v₁ x ^ 2 * min (v₁ y) (v₁ z) ≤ 1} = {x | v₂ x ^ 2 * min (v₂ y) (v₂ z) ≤ 1} := by
rw_val_equiv h
```
It is also possible to use `←` to rewrite in the opposite direction, and to use `at h1 h3 ⊢` to specify which hypotheses (and/or goal) to rewrite, similar to the syntax of `rw`. There is also `rwa_val_equiv` to work like `rwa`.
---
Zulip: [#Is there code for X? > Tactics for comparing equivalent valuations](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Tactics.20for.20comparing.20equivalent.20valuations)
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-ring-theory
merge-conflict
|
525/34 |
Mathlib/RingTheory/Valuation/Basic.lean,MathlibTest/Simproc/ValEquiv.lean |
2 |
52 |
['b-mehta', 'erdOne', 'eric-wieser', 'github-actions', 'kckennylau', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'pechersky', 'plp127'] |
erdOne assignee:erdOne |
80-11558 2 months ago |
191-7741 191 days ago |
99-25855 99 days |
| 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.
---
I checked that https://github.com/leanprover-community/mathlib4/pull/13514 builds correctly when based on this build. PR for that is #33599
This is my first contribution please let me know of any changes I should outline.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-computability
new-contributor
|
160/0 |
Mathlib/Computability/ContextFreeGrammar.lean |
1 |
34 |
['YaelDillies', 'github-actions', 'madvorak', 'nielstron'] |
nobody |
80-9487 2 months ago |
129-38014 129 days ago |
10-68503 10 days |
| 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!
[](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 |
80-5194 2 months ago |
102-80689 102 days ago |
0-145 2 minutes |
| 34236 |
homeowmorphism author:homeowmorphism |
feat(GroupTheory/FinitelyPresentedGroup): add finitely presented groups |
Formulation of finitely presented groups
feat(GroupTheory/FinitelyPresentedGroup): add finitely presented groups
We define the notion of `IsFinitelyPresented` with equivalent datatype notions, what it means for a subgroup to be finitely generated in the normal closure, and some instances of finitely presented groups.
This started as an ItaLean2025 project. The related Zulip thread is here: https://leanprover.zulipchat.com/#narrow/channel/541885-ItaLean-2025/topic/Projects.3A.20Finitely.20Presented.20Groups/with/567565752.
Use of AI:
* Aristotle was used for giving a preliminary proof of some statements as this is my first contribution and I wanted to understand how to prove things; they have since been changed.
* GPT-5.2 was used to generate some of the proof sub-statements for efficiency once the mathematical blueprints of the proofs have been worked out.
* GPT-5.3 was used to rapidly refactor the code. Human review by PR author in-progress, but got to a point where it would be good to get external input.
* GPT-5.4 was used to refactor the variables. Human PR author then rewrote the whole thing.
---
- [x] depends on: #34580
- [x] depends on: #34624
- [x] depends on: #35033
- [x] depends on: #35029
[](https://gitpod.io/from-referrer/)
|
t-group-theory
new-contributor
merge-conflict
blocked-by-other-PR
|
459/3 |
Mathlib.lean,Mathlib/GroupTheory/FinitelyPresentedGroup.lean |
5 |
72 |
['copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'grunweg', 'homeowmorphism', 'kbuzzard', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'tb65536'] |
nobody |
80-3480 2 months ago |
66-72773 66 days ago |
0-4650 1 hour |
| 26061 |
kckennylau author:kckennylau |
(WIP) feat(AlgebraicGeometry): define Projective Space |
This defines the projective space over a scheme, indexed by an arbitrary type.
---
Zulip discussion: [#maths > Projective Space](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Projective.20Space/with/524057860)
I am currently using this PR as a hub for future PR's that will be split from this PR, so it is currently WIP.
- [x] depends on: #30355
- [x] depends on: #30173
- [x] depends on: #30302
- [x] depends on: #30312
- [x] depends on: #30322
- [x] depends on: #30334
- [x] depends on: #30336
- [x] depends on: #30365
- [x] depends on: #30367
- [x] depends on: #30399
- [ ] depends on: #30379
- [ ] depends on: #36226
- [ ] depends on: #30352
- [ ] depends on: #30408
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebraic-geometry
blocked-by-other-PR
|
2009/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/ProjectiveSpace.lean |
2 |
16 |
['callesonne', 'erdOne', 'github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
erdOne assignee:erdOne |
80-2860 2 months ago |
230-67868 230 days ago |
110-42892 110 days |
| 24434 |
joelriou author:joelriou |
feat(CategoryTheory): effectiveness of descent |
(This is very much a draft, it will be split in multiple PRs later.)
Co-authored-by: Christian Merten [christian@merten.dev](mailto:christian@merten.dev)
---
- [ ] depends on: #35452
- [ ] depends on: #35393
- [ ] depends on: #35396
- [ ] depends on: #35401
- [x] depends on: #24411
- [x] depends on: #24382
- [x] depends on: #25971
- [x] depends on: #13539
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
4052/66 |
Mathlib.lean,Mathlib/CategoryTheory/Bicategory/Adjunction/Adj.lean,Mathlib/CategoryTheory/Bicategory/Adjunction/BaseChange.lean,Mathlib/CategoryTheory/Bicategory/Adjunction/Basic.lean,Mathlib/CategoryTheory/Bicategory/Adjunction/Mate.lean,Mathlib/CategoryTheory/Bicategory/Functor/Cat.lean,Mathlib/CategoryTheory/Bicategory/Functor/LocallyDiscrete.lean,Mathlib/CategoryTheory/Bicategory/Functor/Strict.lean,Mathlib/CategoryTheory/Bicategory/Opposite.lean,Mathlib/CategoryTheory/CommSq.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/CommSq.lean,Mathlib/CategoryTheory/Sites/Descent/DescentData.lean,Mathlib/CategoryTheory/Sites/Descent/DescentDataAsCoalgebra.lean,Mathlib/CategoryTheory/Sites/Descent/DescentDataDoublePrime.lean,Mathlib/CategoryTheory/Sites/Descent/DescentDataPrime.lean,Mathlib/CategoryTheory/Sites/Descent/IsPrestack.lean,Mathlib/CategoryTheory/Sites/Descent/IsStack.lean,Mathlib/CategoryTheory/Sites/Descent/ModuleCat.lean,Mathlib/CategoryTheory/Sites/Descent/PullbackStruct.lean |
19 |
23 |
['alreadydone', 'callesonne', 'chrisflav', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib-dependent-issues', 'yuma-mizuno'] |
nobody |
80-1529 2 months ago |
unknown |
0-0 0 seconds |
| 35151 |
alreadydone author:alreadydone |
WIP: group scheme structure on Weierstrass curve |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebraic-geometry
|
620/0 |
Mathlib/AlgebraicGeometry/EllipticCurve/Projective/GroupScheme.lean |
1 |
3 |
['github-actions', 'joelriou'] |
nobody |
80-791 2 months ago |
unknown |
0-0 0 seconds |
| 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 |
79-82987 2 months ago |
286-63133 286 days ago |
25-83942 25 days |
| 29934 |
smmercuri author:smmercuri |
feat(Field/WithAbs): the lift of a ring homomorphism from `WithAbs v` to `WithAbs w` to their completions |
If `σ` is a compatible ring homomomorphism between `WithAbs v` and `WithAbs w` then this extends to a natural ring homomorphism between completions `v.Completion` and `w.Completion`.
Also fix some defeq abuse in `Field/WithAbs`.
---
- [x] depends on: #29969
[](https://gitpod.io/from-referrer/)
|
WIP
FLT
large-import
merge-conflict
|
41/3 |
Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Field/WithAbs.lean,Mathlib/Analysis/Normed/Ring/Basic.lean,Mathlib/Analysis/Normed/Ring/WithAbs.lean,Mathlib/Topology/MetricSpace/Completion.lean |
5 |
5 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
79-78946 2 months ago |
243-29542 243 days ago |
0-2230 37 minutes |
| 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 |
79-64967 2 months ago |
90-79616 90 days ago |
47-76876 47 days |
| 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 $p \in M$, then $f$ is a local diffeomorphism at $p$, provided that both $p$ and its image are interior points. The proof proceeds in 4 main steps:
1. Define composition of partial diffeomorphisms
2. 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
3. Use the inverse function theorem (applied to $f$ written in coordinates) to obtain a partial diffeomorphism between model vector spaces
4. Compose with chart diffeomorphisms to obtain a partial diffeomorphism between the manifolds.
------
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-differential-geometry
new-contributor
merge-conflict
|
232/3 |
Mathlib/Geometry/Manifold/LocalDiffeomorph.lean |
1 |
12 |
['MSpill', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
grunweg assignee:grunweg |
79-64722 2 months ago |
130-3835 130 days ago |
0-1082 18 minutes |
| 35602 |
JovanGerb author:JovanGerb |
feat: replace `IsWellFounded` with `WellFounded` |
This PR is an attempt to deprecate `IsWellFounded`. The reason it that it is entirely equivalent to `WellFounded`, with the only difference being that `IsWellFounded` is a class. This PR instead marks `WellFounded` as a class.
What is annoying is that you sometimes want the API to use it as a class and sometimes as an explicit argument, and it's not entirely clear to me what the best compromise is: duplicating API, or just picking one form and using it.
For example, `WellFounded.min`.
---
[](https://gitpod.io/from-referrer/)
|
t-data
awaiting-author
merge-conflict
|
430/474 |
Archive/Imo/Imo1988Q6.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/Group/UniqueProds/Basic.lean,Mathlib/Algebra/Lie/Engel.lean,Mathlib/Algebra/Lie/Subalgebra.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/Pairing.lean,Mathlib/CategoryTheory/CofilteredSystem.lean,Mathlib/CategoryTheory/Subobject/ArtinianObject.lean,Mathlib/CategoryTheory/Subobject/NoetherianObject.lean,Mathlib/Computability/Partrec.lean,Mathlib/Data/DFinsupp/WellFounded.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/Data/Fin/Tuple/BubbleSortInduction.lean,Mathlib/Data/Finset/Dedup.lean,Mathlib/Data/Finset/Defs.lean,Mathlib/Data/Finsupp/MonomialOrder/DegLex.lean,Mathlib/Data/Finsupp/WellFounded.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Data/List/Chain.lean,Mathlib/Data/List/Cycle.lean,Mathlib/Data/Multiset/Defs.lean,Mathlib/Data/Nat/Cast/WithTop.lean,Mathlib/Data/Nat/WithBot.lean,Mathlib/Data/Prod/Lex.lean,Mathlib/Data/Rel.lean,Mathlib/Data/Set/Finite/Lemmas.lean,Mathlib/Data/Sum/Order.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/LinearAlgebra/ExteriorPower/Basis.lean,Mathlib/Logic/Hydra.lean,Mathlib/Order/Antisymmetrization.lean,Mathlib/Order/Cofinal.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/Cover.lean,Mathlib/Order/Extension/Well.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/InitialSeg.lean,Mathlib/Order/Minimal.lean,Mathlib/Order/OrderIsoNat.lean,Mathlib/Order/PiLex.lean,Mathlib/Order/RelClasses.lean,Mathlib/Order/RelIso/Basic.lean,Mathlib/Order/RelIso/Set.lean,Mathlib/Order/RelSeries.lean,Mathlib/Order/Shrink.lean,Mathlib/Order/SuccPred/Archimedean.lean,Mathlib/Order/WellFounded.lean,Mathlib/Order/WellFoundedSet.lean,Mathlib/Order/WellQuasiOrder.lean,Mathlib/Order/WithBot.lean,Mathlib/RingTheory/Artinian/Module.lean,Mathlib/RingTheory/Bezout.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/FiniteLength.lean,Mathlib/RingTheory/Length.lean,Mathlib/RingTheory/MvPolynomial/Groebner.lean,Mathlib/RingTheory/MvPowerSeries/NoZeroDivisors.lean,Mathlib/RingTheory/Noetherian/Basic.lean,Mathlib/RingTheory/Noetherian/Defs.lean,Mathlib/RingTheory/Polynomial/UniqueFactorization.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/SimpleModule/Basic.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Basic.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Defs.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Ideal.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Nat.lean,Mathlib/RingTheory/Valuation/Archimedean.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/Notation.lean,Mathlib/SetTheory/Ordinal/Rank.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Class.lean,Mathlib/SetTheory/ZFC/PSet.lean,Mathlib/SetTheory/ZFC/Rank.lean,Mathlib/Topology/Category/Profinite/Nobeling/Basic.lean,Mathlib/Topology/NoetherianSpace.lean |
81 |
43 |
['JovanGerb', 'SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
pechersky and vihdzp assignee:pechersky assignee:vihdzp |
79-59174 2 months ago |
58-72016 58 days ago |
14-62562 14 days |
| 34830 |
parabamoghv author:parabamoghv |
feat(CategoryTheory/Monoidal): add definition of categorical groups |
This PR defines of categorical groups, also known as coherent 2-groups, in mathlib.
Motivation:
Categorical groups are well-studied structures in monoidal category theory, but are not currently available in mathlib. The definitions in this PR follow the existing design patterns used for Category, MonoidalCategory, and BraidedCategory.
This PR focuses on setting up the core structure and notation. Basic lemmas and further developments will be provided in a subsequent PR.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
new-contributor
WIP
merge-conflict
|
163/0 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/CategoricalGroups/Basic.lean |
2 |
27 |
['dagurtomas', 'github-actions', 'mathlib-merge-conflicts', 'parabamoghv', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
79-53442 2 months ago |
94-35482 94 days ago |
5-13145 5 days |
| 36313 |
SproutSeeds author:SproutSeeds |
feat(Inversion): cobounded tendsto near center |
Part of #5939
Add `tendsto_inversion_nhdsNE_center_cobounded` in `Mathlib/Geometry/Euclidean/Inversion/Basic.lean`, proving `Tendsto (inversion c R) (𝓝[≠] c) (Bornology.cobounded P)` for `R ≠ 0`.
Tools used: Codex 5.3 extra high
---
Happy to adjust naming, placement, or proof style based on maintainer preference.
|
t-euclidean-geometry
new-contributor
LLM-generated
awaiting-author
|
42/0 |
Mathlib/Geometry/Euclidean/Inversion/Basic.lean |
1 |
11 |
['SproutSeeds', 'euprunin', 'github-actions', 'jsm28', 'kbuzzard', 'ocfnash'] |
jsm28 assignee:jsm28 |
79-28157 2 months ago |
62-25096 62 days ago |
6-36700 6 days |
| 35521 |
grunweg author:grunweg |
feat: the unusedSetOptionIn linter (rebased) |
Rebased version of #13653, adapted to current mathlib master.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-linter
large-import
|
201/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,Mathlib/Tactic/Linter/UnnecessarySetOptionIn.lean,MathlibTest/UnnecessarySetOptionIn.lean |
6 |
2 |
['github-actions'] |
nobody |
79-17276 2 months ago |
95-34842 95 days ago |
0-23 23 seconds |
| 35178 |
grunweg author:grunweg |
chore: split `T%` elaborator into its own file and move to `Topology` |
TODO: this currently breaks the tangentspace case, need to rewrite it to avoid match_expr!
---
- [x] depends on: #35176
- [x] depends on: #30463
[](https://gitpod.io/from-referrer/)
|
WIP
t-meta
|
173/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Notation.lean,Mathlib/Geometry/Manifold/VectorBundle/Basic.lean,Mathlib/Geometry/Manifold/VectorField/LieBracket.lean,Mathlib/Geometry/Manifold/VectorField/Pullback.lean,Mathlib/Topology/FiberBundle/Notation.lean,MathlibTest/DifferentialGeometry/Notation/Basic.lean |
2 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
79-17198 2 months ago |
102-24323 102 days ago |
0-1 1 second |
| 34262 |
grunweg author:grunweg |
feat: add mfderiv_const_smul |
This generalises an existing mathlib lemma (as the differentiability hypothesis is in fact not necessary).
Co-authored-by: Patrick Massot [patrickmassot@free.fr](mailto:patrickmassot@free.fr)
---
Note: this PR is now lower-priority (after some reorgs it is no longer on the path to the Levi-Civita connection); it should be rewritten following the approach in #34263.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-differential-geometry
WIP
|
16/0 |
Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean |
1 |
9 |
['github-actions', 'grunweg', 'mathlib-merge-conflicts', 'ocfnash'] |
ocfnash assignee:ocfnash |
79-4829 2 months ago |
123-1504 123 days ago |
0-1122 18 minutes |
| 36323 |
SproutSeeds author:SproutSeeds |
feat(Inversion): discontinuity and center/global fderiv formulas |
Part of #5939
Adds the discontinuity-at-center lemma for inversion and derives the center/global `fderiv` formulas from it.
This draft currently builds on the preceding cobounded-tendsto lemma from #36313 while that earlier slice is under review.
Scope is limited to `Mathlib/Geometry/Euclidean/Inversion/Calculus.lean`.
Tools used: Codex 5.3 extra high
---
Happy to adjust naming, placement, or proof style based on maintainer preference.
|
t-euclidean-geometry
new-contributor
LLM-generated
|
65/0 |
Mathlib/Geometry/Euclidean/Inversion/Basic.lean,Mathlib/Geometry/Euclidean/Inversion/Calculus.lean |
2 |
2 |
['github-actions'] |
nobody |
79-4368 2 months ago |
unknown |
0-0 0 seconds |
| 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 |
4 |
['CoolRmal', 'github-actions'] |
nobody |
78-84095 2 months ago |
79-1106 79 days ago |
79-1101 79 days |
| 36333 |
thorimur author:thorimur |
test: checkTypeEvenMore |
---
[](https://gitpod.io/from-referrer/)
|
t-linter
large-import
|
35/0 |
Mathlib/Tactic/Linter/Lint.lean |
1 |
1 |
['github-actions'] |
nobody |
78-79208 2 months ago |
unknown |
0-0 0 seconds |
| 30579 |
smmercuri author:smmercuri |
feat : `v.adicCompletionIntegers K` is compact when `K` is a number field |
---
- [x] depends on: #30576
- [x] depends on: #33484
- [x] depends on: #33594
- [ ] depends on: #34045
- [x] depends on: #36067
- [x] depends on: #36137
- [x] depends on: #36184
- [x] depends on: #36492
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
large-import
|
362/11 |
Mathlib.lean,Mathlib/NumberTheory/NumberField/Completion/FinitePlace.lean,Mathlib/NumberTheory/NumberField/LiesOverInstances.lean,Mathlib/NumberTheory/RamificationInertia/Valuation.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/Valuation/Discrete/RankOne.lean,Mathlib/RingTheory/Valuation/Extension.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean |
9 |
10 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
78-67886 2 months ago |
222-19394 222 days ago |
0-13 13 seconds |
| 35215 |
kim-em author:kim-em |
chore: use @[to_dual] in FixedPoints |
This PR adds `@[to_dual]` annotations to 14 theorems about `lfp` in `Order/FixedPoints.lean`, auto-generating their `gfp` duals and deleting the hand-written versions. Also registers `OrderHom.lfp` as the dual of `OrderHom.gfp` via `attribute [to_dual existing]`.
Auto-generated duals include: `le_gfp`, `gfp_le_fixed`, `gfp_le`, `gfp_le_map`, `map_gfp`, `isFixedPt_gfp`, `map_le_gfp`, `isGreatest_gfp_le`, `isGreatest_gfp`, `gfp_induction`, `map_gfp_comp`, `gfp_gfp`, `map_inf_fixedPoints_le`, `map_sInf_subset_fixedPoints_le`.
[Diff relative to #35208](https://github.com/kim-em/mathlib4/compare/kim/to-dual-bounds-basic...kim/to-dual-fixed-points)
- [x] depends on: #35208
🤖 Prepared with Claude Code |
LLM-generated
merge-conflict
|
249/548 |
Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/FixedPoints.lean,Mathlib/Order/GaloisConnection/Basic.lean,Mathlib/Order/Interval/Set/Disjoint.lean,Mathlib/Topology/Order.lean |
8 |
11 |
['JovanGerb', 'github-actions', 'kim-em', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
alexjbest assignee:alexjbest |
78-61163 2 months ago |
66-4164 66 days ago |
24-14816 24 days |
| 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.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
new-contributor
awaiting-author
|
45/0 |
Mathlib/CategoryTheory/Monoidal/Rigid/Basic.lean |
1 |
18 |
['dagurtomas', 'github-actions', 'joelriou', 'parabamoghv', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
78-32874 2 months ago |
67-409 67 days ago |
7-83579 7 days |
| 36203 |
mattrobball author:mattrobball |
chore(Order.WithBotTop): make `coe` an `abbrev` |
Currently `WithBotTop.coe` is a `def` when the whole type is an `abbrev`. This blocks reduction unnecessarily so we make `coe` an `abbrev`.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
1/1 |
Mathlib/Order/WithBotTop.lean |
1 |
2 |
['JovanGerb', 'github-actions'] |
nobody |
78-19429 2 months ago |
81-12337 81 days ago |
81-12332 81 days |
| 36165 |
Parcly-Taxel author:Parcly-Taxel |
chore: deprecate `Nat.strongRec(On)'` |
In favour of Batteries's `Nat.strongRec` for definitions and `Nat.strong_induction_on` for proofs. |
t-data
merge-conflict
|
34/66 |
Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Data/Int/GCD.lean,Mathlib/Data/Nat/Factorization/Induction.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Data/Set/Finite/Basic.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/Topology/EMetricSpace/Paracompact.lean |
8 |
6 |
['JovanGerb', 'MichaelStollBayreuth', 'Parcly-Taxel', 'Vierkantor', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
Vierkantor assignee:Vierkantor |
78-19094 2 months ago |
66-4154 66 days ago |
15-53464 15 days |
| 36364 |
Bergschaf author:Bergschaf |
feat(Order/Sublocale): Better API for NucleusIsoSublocale |
I propose defining the conversion from Nuclei to Sublocales (and vice versa) directly in the `NucleusIsoSublocale` OrderIso. `Nucleus.toSublocale` and `Sublocale.toNucleus` will then just be abbrev's for the underlying OrderIso. This makes it a lot nicer to transition between the two Structures, especially when (infinite) infima and suprema are involved.
---
[](https://gitpod.io/from-referrer/)
|
t-order
awaiting-author
|
46/33 |
Mathlib/Order/Sublocale.lean |
1 |
4 |
['Bergschaf', 'Vierkantor', 'YaelDillies', 'github-actions'] |
bryangingechen and pechersky assignee:bryangingechen assignee:pechersky |
77-17954 2 months ago |
55-67379 55 days ago |
22-25229 22 days |
| 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 |
76-77897 2 months ago |
83-26240 83 days ago |
55-73479 55 days |
| 34040 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: generalize HasCompl.compl image/preimage lemmas to Involutive |
---
[](https://gitpod.io/from-referrer/)
|
t-data
awaiting-author
merge-conflict
|
23/14 |
Mathlib/Data/Set/Image.lean |
1 |
6 |
['eric-wieser', 'github-actions', 'mathlib-merge-conflicts'] |
eric-wieser assignee:eric-wieser |
76-77331 2 months ago |
115-3629 115 days ago |
14-12127 14 days |
| 34246 |
staroperator author:staroperator |
feat(SetTheory/Cardinal): Δ-system lemma |
We prove the Δ-system lemma, which says for any regular cardinal `θ` and infinite cardinal `κ < θ`, if `∀ c < θ, c ^< κ < θ`, any `θ`-sized family of sets whose cardinalities are less than `κ` must contain a `θ`-sized Δ-system (this condition is called Δ-system property for `θ` and `κ`, noted as `Δ(θ, k)`). As a special case, `Δ(ℵ₁, ℵ₀)` ensures any uncountable family of finite sets must contain an uncountable Δ-system.
---
- [ ] depends on: #37685
- [ ] depends on: #38266
[](https://gitpod.io/from-referrer/)
|
t-set-theory
blocked-by-other-PR
large-import
merge-conflict
|
384/0 |
Mathlib.lean,Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/Club.lean,Mathlib/Order/CompleteLatticeIntervals.lean,Mathlib/Order/DirSupClosed.lean,Mathlib/Order/IsNormal.lean,Mathlib/Order/LatticeIntervals.lean,Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean,Mathlib/SetTheory/Cardinal/DeltaSystem.lean,Mathlib/SetTheory/Cardinal/Pigeonhole.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean,docs/references.bib |
6 |
11 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'staroperator', 'vihdzp'] |
nobody |
76-77330 2 months ago |
76-77330 76 days ago |
15-9493 15 days |
| 22366 |
kim-em author:kim-em |
feat: `check_equalities` tactic for diagnosing defeq problems |
The `check_equalities` tactic,
which checks the typing of equalities in the goal,
reporting discrepancies between the implicit type argument of the equality,
and the inferred types of the left and right hand sides,
at "instances and reducible" transparency.
Reports from this tactic do not necessarily indicate a problem,
although typically `simp` should reduce rather than increase the reported discrepancies.
`check_equalities` may be useful in diagnosing uses of `erw`. |
t-meta
please-adopt
WIP
|
123/4 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Basic.lean,Mathlib/Tactic/CategoryTheory/CheckCompositions.lean,Mathlib/Tactic/CheckEqualities.lean,Mathlib/Tactic/Common.lean,MathlibTest/check_equalities.lean |
7 |
21 |
['adomani', 'b-mehta', 'eric-wieser', 'fpvandoorn', 'github-actions', 'grunweg', 'kim-em', 'mathlib-bors', 'mathlib4-merge-conflict-bot'] |
adamtopaz assignee:adamtopaz |
76-61176 2 months ago |
63-22633 63 days ago |
32-12136 32 days |
| 25983 |
Multramate author:Multramate |
feat(AlgebraicGeometry/EllipticCurve/Scheme): define the affine scheme associated to an elliptic curve |
This contribution was created as part of the AIM workshop "Formalizing Algebraic Geometry" in June 2024.
Co-authored-by: Michael Stoll [Michael.Stoll@uni-bayreuth.de](mailto:Michael.Stoll@uni-bayreuth.de)
Co-authored-by: Junyan Xu [junyanxu.math@gmail.com](mailto:junyanxu.math@gmail.com)
---
- [ ] depends on: #36086
- [ ] depends on: #36146 |
t-algebraic-geometry
blocked-by-other-PR
|
165/13 |
Mathlib.lean,Mathlib/Algebra/Category/CommAlgCat/Basic.lean,Mathlib/Algebra/Polynomial/Bivariate.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Scheme.lean,Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/Galois/Infinite.lean,Mathlib/GroupTheory/GroupExtension/Basic.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Invariant/Basic.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean |
15 |
10 |
['MichaelStollBayreuth', 'Multramate', 'github-actions', 'mathlib-dependent-issues'] |
nobody |
76-61175 2 months ago |
55-7878 55 days ago |
25-3959 25 days |
| 36387 |
FrankieeW author:FrankieeW |
feat(NumberTheory/QuadraticField): parameter uniqueness for quadratic fields |
## Summary
Prove that every quadratic field `ℚ(√d)` can be normalized to have a squarefree integer parameter, and that this parameter is unique.
## Main Results
- `Qsqrtd.rescale`: rescaling isomorphism `ℚ(√d) ≃ₐ[ℚ] ℚ(√(a²d))` for `a ≠ 0`
- `Qsqrtd_iso_int_param`: every `ℚ(√d)` is isomorphic to one with an integer parameter
- `Qsqrtd_iso_squarefree_int_param`: every `ℚ(√d)` is isomorphic to one with a squarefree integer parameter
- `Qsqrtd.param_unique`: if `ℚ(√d₁) ≃ₐ[ℚ] ℚ(√d₂)` with both `d₁, d₂` squarefree and `≠ 1`, then `d₁ = d₂`
## Helper Lemmas
- `squarefree_eq_of_rat_sq_mul`: if `d₁ = d₂ · r²` with both squarefree, then `d₁ = d₂`
- `int_dvd_of_ratio_square`: if `d₁/d₂` is a rational square and `d₂` is squarefree, then `d₂ ∣ d₁`
- `not_isSquare_neg_one_rat`: `-1` is not a square in `ℚ`
---
- [ ] depends on: #36347 |
WIP
t-number-theory
blocked-by-other-PR
new-contributor
large-import
LLM-generated
|
400/0 |
Mathlib.lean,Mathlib/Algebra/QuadraticAlgebra/Defs.lean,Mathlib/Algebra/Squarefree/Basic.lean,Mathlib/NumberTheory/QuadraticField/Basic.lean |
4 |
4 |
['FrankieeW', 'github-actions', 'mathlib-dependent-issues'] |
nobody |
76-54504 2 months ago |
77-48774 77 days ago |
0-2 2 seconds |
| 34464 |
Komyyy author:Komyyy |
refactor(Topology/Order/LowerUpperTopology): use `to_dual` |
---
Many files should be also dualized for this file...
- [x] depends on: #33964
- [x] depends on: #34465
- [x] depends on: #34640
- [x] depends on: #36969
[](https://gitpod.io/from-referrer/)
|
t-topology
t-order
merge-conflict
|
42/50 |
Mathlib/Topology/Order/LowerUpperTopology.lean |
1 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
76-34500 2 months ago |
unknown |
0-0 0 seconds |
| 35249 |
themathqueen author:themathqueen |
feat(Analysis/Matrix): linear functional on matrices is positive iff its weight is positive semi-definite |
No comments yet, I'm still thinking of the best thing to do here.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
merge-conflict
|
167/60 |
Mathlib.lean,Mathlib/Analysis/Matrix/GNS.lean,Mathlib/Analysis/Matrix/Order.lean |
3 |
6 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
76-34496 2 months ago |
unknown |
0-0 0 seconds |
| 36128 |
grunweg author:grunweg |
Levicivita minimal |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-differential-geometry
merge-conflict
|
4220/30 |
Mathlib.lean,Mathlib/Geometry/Manifold/MFDeriv/Atlas.lean,Mathlib/Geometry/Manifold/MFDeriv/NormedSpace.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/LeviCivita.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Prelim.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Torsion.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/plan.mde,Mathlib/Geometry/Manifold/VectorBundle/LocalFrame.lean,Mathlib/Geometry/Manifold/VectorBundle/Misc.lean,Mathlib/Geometry/Manifold/VectorBundle/Tensoriality.lean,Mathlib/Geometry/Manifold/VectorField/LieBracket.lean,Mathlib/Geometry/Manifold/VectorField/Pullback.lean |
13 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
76-34479 2 months ago |
82-19870 82 days ago |
0-3 3 seconds |
| 36219 |
gasparattila author:gasparattila |
chore(Order/SupClosed): use `to_dual` |
---
[](https://gitpod.io/from-referrer/)
|
t-order |
86/217 |
Mathlib/Order/ConditionallyCompleteLattice/Finset.lean,Mathlib/Order/SupClosed.lean |
6 |
6 |
['github-actions', 'mathlib-merge-conflicts'] |
bryangingechen assignee:bryangingechen |
76-22579 2 months ago |
40-2900 40 days ago |
44-7106 44 days |
| 36442 |
SnirBroshi author:SnirBroshi |
feat(Data/Sym/Sym2/Card): cardinality theorems about `Sym2 α` |
---
[](https://gitpod.io/from-referrer/)
|
t-data
awaiting-author
|
95/0 |
Mathlib.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Sym/Sym2/Card.lean |
2 |
20 |
['SnirBroshi', 'eric-wieser', 'github-actions', 'joneugster', 'themathqueen'] |
joneugster assignee:joneugster |
76-10297 2 months ago |
24-29209 24 days ago |
38-13299 38 days |
| 35744 |
mkaratarakis author:mkaratarakis |
feat(NumberTheory): non-vanishing derivative and algebraic lower bound for Gelfond-Schneider |
This PR continues the formalization of the **Gelfond-Schneider Theorem** (Hilbert's Seventh Problem). It establishes the critical algebraic lower bound for the auxiliary function's evaluation by isolating its first non-vanishing derivative and scaling it to a non-zero algebraic integer.
Following the contradiction argument in Loo-Keng Hua's *Introduction to Number Theory* (Chapter 17.9, Equation 5), we extract the minimal non-vanishing derivative order $r$ and prove the integrality of its scaled evaluation to establish a strict analytical lower bound.
1) Confirms that by our previous choice of coefficients $\eta$, the first $n$ derivatives of the auxiliary function $R(x)$ vanish at the evaluation points $1, \dots, m$.
2) Extracts the exact minimal order of vanishing $r$ among all points $l_0 + 1$, explicitly proving the textbook assertion that $n \le r$.
3) Defines the non-zero algebraic number $\rho = (\log \alpha)^{-r} R^{(r)}(l_0)$.
4) Formalizes the crucial algebraic step that scaling the evaluated system coefficients by $c_1^{r+2mq}$ (formalized here as `cρ`) clears all denominators, resulting in an algebraic integer strictly within $\mathcal{O}_K$.
5) Concludes that because the scaled $\rho$ is a non-zero algebraic integer, its absolute norm is strictly bounded below by $1$. This establishes the algebraic foundation for the absolute lower bound $|N(\rho)| > c_5^{-r}$, which will directly oppose the complex analytic upper bound via Cauchy's integral formula in the final contradiction step.
---
- [ ] depends on: #35316
- [ ] depends on: #35743
- [ ] depends on: #35315
[](https://gitpod.io/from-referrer/)
|
t-number-theory
blocked-by-other-PR
|
2028/0 |
Mathlib.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlg.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlgSetup.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAnalytic.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainOrder.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainPostAnalytic.lean |
6 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
76-9600 2 months ago |
89-55365 89 days ago |
0-665 11 minutes |
| 36406 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Matching): `#verts = 2 * #edgeSet` |
---
- [ ] depends on: #36442
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
blocked-by-other-PR
|
122/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean,Mathlib/Data/Sym/Sym2/Card.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
76-5925 2 months ago |
76-5927 76 days ago |
0-79432 22 hours |
| 25978 |
Bergschaf author:Bergschaf |
feat(Order/Sublocale): Open Sublocales |
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #25089
- [ ] depends on: #36364 |
t-order
blocked-by-other-PR
|
152/33 |
Mathlib/Order/Sublocale.lean |
1 |
12 |
['Bergschaf', 'Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
76-900 2 months ago |
79-25920 79 days ago |
0-74795 20 hours |
| 34164 |
Scarlett-le author:Scarlett-le |
feat(Geometry/Euclidean/Sphere): define arcs on spheres |
This PR defines arcs on spheres and proves basic properties.
## Main definitions
* `EuclideanGeometry.Sphere.Arc`: An arc on a sphere, defined by a left
endpoint and a midpoint on the sphere. The right endpoint is computed as
the reflection of left across the line through the center and mid.
* `Arc.opposite`: The opposite arc (same endpoints, antipodal mid).
* `Arc.oppositeEquiv`: The involution given by `opposite`.
* `Arc.minor` / `Arc.major`: The minor/major arc between two
non-diametrically-opposite points.
* `Arc.through`: The arc from `A` to `C` passing through `B`.
* `Arc.avoiding`: The arc from `A` to `C` not passing through `B`.
## Main results
* `through_right` / `avoiding_right`: The right endpoint equals `C`.
* `mem_interior_through` / `mem_through`: `B` lies in the `through` arc.
* `not_mem_avoiding`: `B` does not lie in the `avoiding` arc (when `A ≠ C`).
## Dependencies
* #36241
* #35956
* #35957 |
awaiting-author
t-euclidean-geometry
merge-conflict
|
767/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Geometry/Euclidean/Sphere/Arc.lean,Mathlib/Geometry/Euclidean/Sphere/Basic.lean,Mathlib/Geometry/Euclidean/Sphere/OrthRadius.lean |
6 |
11 |
['Scarlett-le', 'github-actions', 'jsm28', 'mathlib-merge-conflicts'] |
nobody |
75-75849 2 months ago |
124-77159 124 days ago |
0-46829 13 hours |
| 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
[](https://gitpod.io/from-referrer/)
|
new-contributor
large-import
awaiting-author
|
22/25 |
Mathlib/Order/Filter/AtTopBot/Floor.lean,Mathlib/Topology/Algebra/Order/Floor.lean |
2 |
3 |
['GrigorenkoPV', 'github-actions', 'j-loreaux'] |
nobody |
75-69725 2 months ago |
75-69725 75 days ago |
27-45743 27 days |
| 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
[](https://gitpod.io/from-referrer/)
|
t-topology
blocked-by-other-PR
new-contributor
merge-conflict
|
510/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 |
75-67607 2 months ago |
unknown |
0-0 0 seconds |
| 32210 |
ADedecker author:ADedecker |
feat: iteratedFDeriv as a linear map on test functions |
Add `TestFunction.iteratedFDeriv[WithOrder]LM`, analogous to [ContDiffMapSupportedIn.iteratedFDerivWithOrderLM](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.html#ContDiffMapSupportedIn.iteratedFDerivWithOrderLM) and [ContDiffMapSupportedIn.iteratedFDerivLM](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.html#ContDiffMapSupportedIn.iteratedFDerivLM)
---
Co-authored-by: @luigi-massacci
[](https://gitpod.io/from-referrer/)
|
t-analysis
awaiting-author
merge-conflict
|
157/88 |
Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/Distribution/TestFunction.lean |
2 |
7 |
['github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
grunweg, j-loreaux, sgouezel, urkud assignee:urkud assignee:j-loreaux assignee:grunweg assignee:sgouezel |
75-64703 2 months ago |
159-76536 159 days ago |
9-42804 9 days |
| 33329 |
mcdoll author:mcdoll |
feat(Analysis): Fourier-based Sobolev spaces |
We define Sobolev spaces (or Bessel potential spaces).
---
- [x] depends on: #33242
- [x] depends on: #32769
- [x] depends on: #33404
- [x] depends on: #33597
- [x] depends on: #33636
- [x] depends on: #33741
- [x] depends on: #33751
- [x] depends on: #33752
- [x] depends on: #33776
- [x] depends on: #33859
- [x] depends on: #34027
- [x] depends on: #34099
- [x] depends on: #34100
- [x] depends on: #34294
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
merge-conflict
|
506/0 |
Mathlib/Analysis/Distribution/Sobolev.lean,Mathlib/Analysis/Distribution/TemperedDistribution.lean |
2 |
8 |
['CoolRmal', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
75-63897 2 months ago |
149-59877 149 days ago |
0-1 1 second |
| 35877 |
yoh-tanimoto author:yoh-tanimoto |
feat(Algebra/Module): add twisted product module |
add a module structure on the product `E × F` with the `SMul` given by `s • ⟨x, y⟩ := ⟨s • x, σ s • y⟩` with `σ : R →+* S`.
motivation: needed to define the graph of antilinear operator, see [discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60SemilinearPMap.60/with/576208198), which will be needed in the Tomita-Takesaki theory cf. #29251 |
t-algebra label:t-algebra$ |
279/0 |
Mathlib.lean,Mathlib/Algebra/Module/SemilinearModuleProd.lean |
2 |
1 |
['github-actions'] |
nobody |
75-61765 2 months ago |
unknown |
0-0 0 seconds |
| 30379 |
kckennylau author:kckennylau |
feat(RingTheory): isomorphism of graded rings |
We define `GradedRingEquiv 𝒜 ℬ` to mean isomorphisms of graded rings, with notation `𝒜 ≃+*ᵍ ℬ`. When possible, instead of parametrizing results over `(e : 𝒜 ≃+*ᵍ ℬ)`, you should parametrize over `[GradedEquivLike E 𝒜 ℬ] [RingEquivClass E A B] (e : E)`.
Zulip discussion: [How to define graded ring isomorphisms?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/How.20to.20define.20graded.20ring.20isomorphisms.3F/with/543962394)
---
Split from #26061.
- [x] depends on: #30355
- [x] depends on: #30312
- [x] depends on: #30367
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
awaiting-author
|
447/1 |
Mathlib.lean,Mathlib/RingTheory/GradedAlgebra/RingEquiv.lean,Mathlib/RingTheory/GradedAlgebra/RingHom.lean |
3 |
7 |
['erdOne', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] |
erdOne assignee:erdOne |
75-61169 2 months ago |
71-74321 71 days ago |
9-26522 9 days |
| 31135 |
kckennylau author:kckennylau |
feat(RingTheory): is localization iff is localization on saturation |
In this PR we show that `A` is a localization of `R` on the submonoid `S` iff it is so on the saturation of `S`.
Crucially, the saturation of `S` is precisely the elements that become a unit in `A`.
---
- [x] depends on: #31132
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
delegated
|
53/0 |
Mathlib.lean,Mathlib/RingTheory/Localization/Saturation.lean |
2 |
15 |
['alreadydone', 'chrisflav', 'github-actions', 'kckennylau', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'riccardobrasca'] |
chrisflav assignee:chrisflav |
75-61168 2 months ago |
48-28303 48 days ago |
32-67213 32 days |
| 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', 'linesthatinterlace'] |
nobody |
75-52843 2 months ago |
66-4763 66 days ago |
9-58085 9 days |
| 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
---
[](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 |
75-42723 2 months ago |
87-74968 87 days ago |
2-36419 2 days |
| 35738 |
GrigorenkoPV author:GrigorenkoPV |
perf: remove some `aesop`s and `grind`s |
---
Needs benchmarking. After that I can split it into several smaller portions, if needed.
[](https://gitpod.io/from-referrer/)
|
new-contributor
awaiting-author
merge-conflict
|
236/92 |
Mathlib/Data/Finset/Card.lean,Mathlib/Data/Rel.lean,Mathlib/Data/Set/Lattice/Image.lean,Mathlib/Data/Set/Prod.lean,Mathlib/Logic/Equiv/Prod.lean,Mathlib/Order/Interval/Finset/Basic.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Order/SupIndep.lean |
8 |
7 |
['github-actions', 'mathlib-merge-conflicts', 'themathqueen', 'vihdzp'] |
nobody |
75-42722 2 months ago |
89-24402 89 days ago |
0-45583 12 hours |
| 36089 |
pfaffelh author:pfaffelh |
feat(Topology/Compactness/CompactSystem): set system of finite unions of sets in a compact system is again a compact system |
A compact system is a set system with the following property: If all finite intersections of a sequence in the set system is non-empty, the countable intersection is not empty.
Starting with a compact system, consider the finite unions of sets in the copact system. Such sets again form a compact system (`IsCompactSystem.union.isCompactSystem`).
This was previously #25900.
---
- [ ] depends on: #36013
[](https://gitpod.io/from-referrer/)
|
brownian
t-topology
merge-conflict
|
527/0 |
Mathlib/Data/Set/Dissipate.lean,Mathlib/Topology/Compactness/CompactSystem.lean |
5 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
75-42718 2 months ago |
33-11673 33 days ago |
0-58592 16 hours |
| 36160 |
pfaffelh author:pfaffelh |
feat (Topology/Compactness/CompactSystem): closed and compact square cylinders form a compact system |
feat (Topology/Compactness/CompactSystem): Closed and compact square cylinders form a
compact system
A square cylinder is a set of the form `s.pi t` in a product space. A closed compact square cylinder has `IsClosed (t i)` and `IsCompact (t i)` for all `i ∈ s`. This set system is a compact system (as introduced in PR #36013).
Streamline the definition of square cylinders in MeasureTheory/Constructions/Cylinders on the way.
Co-authors: Rémy Degenne remy.degenne@inria.fr
---
- [ ] depends on: #36013
---
[](https://gitpod.io/from-referrer/)
|
brownian
merge-conflict
t-topology
|
388/1 |
Mathlib.lean,Mathlib/Data/Set/Accumulate.lean,Mathlib/Data/Set/Dissipate.lean,Mathlib/Data/Set/Prod.lean,Mathlib/MeasureTheory/Constructions/Cylinders.lean,Mathlib/MeasureTheory/PiSystem.lean,Mathlib/Topology/Compactness/CompactSystem.lean |
7 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
75-42717 2 months ago |
75-42717 75 days ago |
0-64125 17 hours |
| 36225 |
pfaffelh author:pfaffelh |
feat(Topology/Compactness/CompactSystem): set system of countable intersections of sets in a compact system is again a compact system |
A compact system is a set system with the following property: If all finite intersections of a sequence in the set system is non-empty, the countable intersection is not empty.
Starting with a compact system, consider the countable intersections of sets in the copact system. Such sets again form a compact system.
---
- [x] depends on: #36013
- [ ] depends on: #38245
[](https://gitpod.io/from-referrer/)
|
brownian
WIP
file-removed
merge-conflict
blocked-by-other-PR
|
313/0 |
Mathlib.lean,Mathlib/Algebra/Group/Irreducible/Indecomposable.lean,Mathlib/Algebra/Order/Group/Indicator.lean,Mathlib/AlgebraicTopology/DoldKan/Compatibility.lean,Mathlib/AlgebraicTopology/DoldKan/Equivalence.lean,Mathlib/AlgebraicTopology/DoldKan/EquivalencePseudoabelian.lean,Mathlib/Analysis/Normed/Group/Indicator.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean,Mathlib/Combinatorics/SimpleGraph/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Tutte.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/FieldTheory/RatFunc/Degree.lean,Mathlib/LinearAlgebra/RootSystem/Base.lean,Mathlib/LinearAlgebra/RootSystem/Finite/G2.lean,Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Lemmas.lean,Mathlib/MeasureTheory/Integral/Bochner/Set.lean,Mathlib/MeasureTheory/Integral/DominatedConvergence.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/NumberTheory/FunctionField.lean,Mathlib/NumberTheory/RatFunc/Ostrowski.lean,Mathlib/Order/Interval/Set/LinearOrder.lean,Mathlib/Probability/Distributions/Gaussian/IsGaussianProcess/Independence.lean,Mathlib/Probability/Independence/BoundedContinuousFunction.lean,Mathlib/Probability/Independence/Process/Basic.lean,Mathlib/Probability/Independence/Process/HasIndepIncrements.lean,Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/Compactness/CompactSystem.lean,Mathlib/Topology/Sets/CompactOpenCovered.lean,Mathlib/Topology/UniformSpace/UniformConvergenceTopology.lean,docs/1000.yaml |
5 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
75-42713 2 months ago |
75-42713 75 days ago |
1-16213 1 day |
| 35588 |
eric-wieser author:eric-wieser |
chore(Util/Qq): remove `meta` |
These are wrappers of existing functions on `Expr`s which are also not marked `meta`.
---
[](https://gitpod.io/from-referrer/)
|
t-meta
awaiting-CI
delegated
|
7/7 |
Mathlib/Data/Multiset/Sort.lean,Mathlib/Tactic/FieldSimp/Lemmas.lean,Mathlib/Tactic/NormNum/Core.lean,Mathlib/Tactic/Order/ToInt.lean,Mathlib/Tactic/Simproc/Divisors.lean,Mathlib/Tactic/Simproc/FinsetInterval.lean,Mathlib/Util/Qq.lean |
7 |
3 |
['Vierkantor', 'github-actions', 'mathlib-bors'] |
nobody |
75-38862 2 months ago |
93-36798 93 days ago |
0-35325 9 hours |
| 36334 |
Multramate author:Multramate |
feat(AlgebraicGeometry/EllipticCurve): add notation and pretty printer for points |
Co-authored-by: Kenny Lau
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
t-meta
WIP
merge-conflict
|
41/0 |
Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Point.lean |
3 |
13 |
['CBirkbeck', 'Multramate', 'adamtopaz', 'erdOne', 'github-actions', 'mathlib-merge-conflicts', 'riccardobrasca'] |
adamtopaz assignee:adamtopaz |
75-22395 2 months ago |
32-77884 32 days ago |
45-86235 45 days |
| 34728 |
j-loreaux author:j-loreaux |
feat: continuous linear equivalence between continuous `ℝ`- and `𝕜`-linear functionals (in either the strong or weak-⋆ topologies) |
This realizes the map `StrongDual.extendRCLikeₗ`, after pre- and post-composing so that it is an equivalence between the weak duals, as a *continuous* linear equivalence.
In addition, when the space is a topological vector space, we realize `StrongDual.extendRCLikeₗ` as a *continuous* linear equivalence between the strong duals.
---
- [x] depends on: #34543
The placement in `Analysis/Normed/Module/WeakDual` seems suboptimal because this has nothing to do with the norm. This is because `WeakDual.toStrongDual` is already in this file, which should probably be moved to `Topology/Algebra/Module/WeakDual`. However, even if that moves, the declarations added in this PR cannot easily go with it because they involve `RCLike`. Potentially, they could move to `Analysis/RCLike/Extend` if that file gained the `Topology/Algebra/Module/WeakDual` import.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
awaiting-author
|
87/2 |
Mathlib/Analysis/Normed/Module/RCLike/Extend.lean,Mathlib/Analysis/Normed/Module/WeakDual.lean |
2 |
19 |
['ADedecker', 'github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'themathqueen'] |
urkud assignee:urkud |
75-12573 2 months ago |
31-53316 31 days ago |
43-79923 43 days |
| 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)
---
[](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 |
75-11167 2 months ago |
75-11167 75 days ago |
22-61538 22 days |
| 35042 |
JovanGerb author:JovanGerb |
chore: remove `meta` form `import Mathlib.Tactic...` |
This PR cleans up some imports of the form `import Mathlib.Tactic...`, by either removing them entirely, or removing the `meta` keyword. It should never be necessary to `meta import` a file from `Mathlib.Tactic`, because the relevant definitions should already have been marked as `meta`.
The motivation is to reduce the amount of files that are `meta` imported when writing e.g. `import Mathlib`, hence reducing the amount of stuff that needs to be loaded. There are more other `meta import`s that need to be removed, but this PR is a good start.
---
[](https://gitpod.io/from-referrer/)
|
large-import
merge-conflict
|
61/142 |
Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/FreeMonoid/Basic.lean,Mathlib/Algebra/Group/Action/Hom.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/CategoryTheory/Functor/Basic.lean,Mathlib/Data/List/ChainOfFn.lean,Mathlib/Dynamics/OmegaLimit.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/GroupAction/DomAct/Basic.lean,Mathlib/Tactic/Algebraize.lean,Mathlib/Tactic/ApplyFun.lean,Mathlib/Tactic/ArithMult.lean,Mathlib/Tactic/Bound.lean,Mathlib/Tactic/CategoryTheory/Bicategory/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Bicategory/Normalize.lean,Mathlib/Tactic/CategoryTheory/Bicategory/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/CheckCompositions.lean,Mathlib/Tactic/CategoryTheory/Coherence/Basic.lean,Mathlib/Tactic/CategoryTheory/Coherence/Normalize.lean,Mathlib/Tactic/CategoryTheory/Coherence/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/Elementwise.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/ToApp.lean,Mathlib/Tactic/Choose.lean,Mathlib/Tactic/DeclarationNames.lean,Mathlib/Tactic/DefEqTransformations.lean,Mathlib/Tactic/DeriveCountable.lean,Mathlib/Tactic/DeriveFintype.lean,Mathlib/Tactic/DeriveTraversable.lean,Mathlib/Tactic/ENatToNat.lean,Mathlib/Tactic/Explode.lean,Mathlib/Tactic/Explode/Pretty.lean,Mathlib/Tactic/FinCases.lean,Mathlib/Tactic/FunProp.lean,Mathlib/Tactic/FunProp/Attr.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/FunctionData.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/FunProp/Types.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/GRewrite/Elab.lean,Mathlib/Tactic/Group.lean,Mathlib/Tactic/IrreducibleDef.lean,Mathlib/Tactic/Lift.lean,Mathlib/Tactic/Linarith.lean,Mathlib/Tactic/Linarith/Lemmas.lean,Mathlib/Tactic/Linarith/Oracle/FourierMotzkin.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/Gauss.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/SimplexAlgorithm.lean,Mathlib/Tactic/Linarith/Preprocessing.lean,Mathlib/Tactic/Linarith/Verification.lean,Mathlib/Tactic/LinearCombination/Lemmas.lean,Mathlib/Tactic/Linter/DeprecatedSyntaxLinter.lean,Mathlib/Tactic/Linter/DocPrime.lean,Mathlib/Tactic/Linter/DocString.lean,Mathlib/Tactic/Linter/EmptyLine.lean,Mathlib/Tactic/Linter/FlexibleLinter.lean,Mathlib/Tactic/Linter/GlobalAttributeIn.lean,Mathlib/Tactic/Linter/HashCommandLinter.lean,Mathlib/Tactic/Linter/Multigoal.lean,Mathlib/Tactic/Linter/OldObtain.lean,Mathlib/Tactic/Linter/Style.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/Linter/TextBased/UnicodeLinter.lean,Mathlib/Tactic/Linter/UnusedTactic.lean,Mathlib/Tactic/Linter/UnusedTacticExtension.lean,Mathlib/Tactic/MinImports.lean,Mathlib/Tactic/MoveAdd.lean,Mathlib/Tactic/Nontriviality/Core.lean,Mathlib/Tactic/NormNum/DivMod.lean,Mathlib/Tactic/NormNum/Ineq.lean,Mathlib/Tactic/NormNum/Prime.lean,Mathlib/Tactic/Order.lean,Mathlib/Tactic/Order/CollectFacts.lean,Mathlib/Tactic/Order/Graph/Tarjan.lean,Mathlib/Tactic/PNatToNat.lean,Mathlib/Tactic/Peel.lean,Mathlib/Tactic/ProdAssoc.lean,Mathlib/Tactic/ProxyType.lean,Mathlib/Tactic/Push.lean,Mathlib/Tactic/Qify.lean,Mathlib/Tactic/RSuffices.lean,Mathlib/Tactic/Ring/Basic.lean,Mathlib/Tactic/Ring/Common.lean,Mathlib/Tactic/Ring/Compare.lean,Mathlib/Tactic/Ring/PNat.lean,Mathlib/Tactic/Simproc/Divisors.lean,Mathlib/Tactic/Simproc/FinsetInterval.lean,Mathlib/Tactic/Simps/Basic.lean,Mathlib/Tactic/Subsingleton.lean,Mathlib/Tactic/TacticAnalysis/Declarations.lean,Mathlib/Tactic/TautoSet.lean,Mathlib/Tactic/Translate/Core.lean,Mathlib/Tactic/Translate/TagUnfoldBoundary.lean,Mathlib/Tactic/Widget/Calc.lean,Mathlib/Tactic/Widget/CommDiag.lean,Mathlib/Tactic/Widget/CongrM.lean |
107 |
9 |
['JovanGerb', 'dupuisf', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
robin-carlier assignee:robin-carlier |
75-10444 2 months ago |
70-33737 70 days ago |
26-69911 26 days |
| 36486 |
eric-wieser author:eric-wieser |
refactor: change Encodable to uniquely specify `decode` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-logic
|
73/47 |
Mathlib/Logic/Encodable/Basic.lean,Mathlib/Logic/Function/Basic.lean |
2 |
0 |
[] |
nobody |
75-9972 2 months ago |
unknown |
0-0 0 seconds |
| 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.
---
- [ ] depends on: #35841
- [ ] depends on: #35880
[](https://gitpod.io/from-referrer/)
|
t-order
merge-conflict
blocked-by-other-PR
|
136/126 |
Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Order/Group/PosPart.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Algebra/Polynomial/Reverse.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/ConvergenceRadius.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/Complex/OpenMapping.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Analysis/Normed/Module/Multilinear/Basic.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/Log/PosLog.lean,Mathlib/Data/Finset/Lattice/Fold.lean,Mathlib/Data/List/Infix.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/ConditionallyCompleteLattice/Indexed.lean,Mathlib/Order/Defs/LinearOrder.lean,Mathlib/Order/Filter/ENNReal.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Interval/Set/LinearOrder.lean,Mathlib/Order/Lattice.lean,Mathlib/Order/MinMax.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Probability/Moments/Basic.lean,Mathlib/Probability/Moments/IntegrableExpMul.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean,Mathlib/RingTheory/Polynomial/HilbertPoly.lean,Mathlib/RingTheory/PowerSeries/Restricted.lean,Mathlib/RingTheory/PowerSeries/WeierstrassPreparation.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/Tactic/Order/ToInt.lean,Mathlib/Topology/MetricSpace/Algebra.lean,Mathlib/Topology/MetricSpace/BundledFun.lean,Mathlib/Topology/MetricSpace/Infsep.lean,Mathlib/Topology/Semicontinuity/Basic.lean |
44 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
75-7034 2 months ago |
86-40508 86 days ago |
0-532 8 minutes |
| 35802 |
xroblot author:xroblot |
feat(RamificationInertia): splitting in the decomposition field |
---
- [x] depends on: #35798
- [ ] depends on: #35405
- [x] depends on: #35371
[](https://gitpod.io/from-referrer/)
|
t-number-theory
large-import
merge-conflict
blocked-by-other-PR
|
279/4 |
Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/NumberTheory/RamificationInertia/HilbertTheory.lean,Mathlib/RingTheory/FiniteType.lean,Mathlib/RingTheory/Finiteness/Basic.lean |
4 |
5 |
['github-actions', 'joneugster', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
75-6547 2 months ago |
88-30472 88 days ago |
0-537 8 minutes |
| 35522 |
grunweg author:grunweg |
feat: lint for unused `backward` options |
---
Based on the `unnecessarySetOptionIn` linter (#35521 and #13653).
[](https://gitpod.io/from-referrer/)
|
t-linter
tech debt
large-import
|
211/4 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,Mathlib/Tactic/Linter/UnnecessarySetOptionIn.lean,MathlibTest/UnnecessarySetOptionIn.lean,lakefile.lean |
7 |
3 |
['github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
74-81868 2 months ago |
95-34395 95 days ago |
0-19 19 seconds |
| 36495 |
AlexKontorovich author:AlexKontorovich |
chore(Finset/NatDivisors): refactor `card_divisors_mul` and `sum_divisors_mul` to not rely on `ArithmeticFunction` |
`Nat.Coprime.card_divisors_mul` and `Nat.Coprime.sum_divisors_mul` are moved to not rely on `ArithmeticFunction`. See zulip discussion here: [#mathlib4 > Library design question, e.g.`Nat.Coprime.card_divisors_mul` @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Library.20design.20question.2C.20e.2Eg.2E.60Nat.2ECoprime.2Ecard_divisors_mul.60/near/577769899)
Co-authored-by: Ziyan Wei and Aayush Rajasekaran
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-number-theory
t-algebra
merge-conflict
label:t-algebra$ |
45/14 |
Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Data/Finset/NatDivisors.lean,Mathlib/NumberTheory/ArithmeticFunction/Misc.lean |
3 |
6 |
['AlexKontorovich', 'arajasek', 'github-actions', 'mathlib-merge-conflicts'] |
riccardobrasca assignee:riccardobrasca |
74-80361 2 months ago |
16-76725 16 days ago |
53-21240 53 days |
| 36079 |
DavidLedvinka author:DavidLedvinka |
refactor(Probability): Refactors Conditional Independence to allow spaces that are not Standard Borel |
|
merge-conflict |
1827/1120 |
Mathlib.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Basic.lean,Mathlib/MeasureTheory/Function/ConditionalLExpectation.lean,Mathlib/MeasureTheory/Measure/NullMeasurable.lean,Mathlib/Order/Filter/CountableInter.lean,Mathlib/Probability/Independence/Basic.lean,Mathlib/Probability/Independence/CondIndep.lean,Mathlib/Probability/Independence/Conditional.lean,Mathlib/Probability/Independence/Conditional/CondIndep.lean,Mathlib/Probability/Independence/Conditional/CondIndepFun.lean,Mathlib/Probability/Independence/ZeroOne.lean,Mathlib/Probability/Kernel/Condexp.lean |
12 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
74-71900 2 months ago |
unknown |
0-0 0 seconds |
| 35991 |
xroblot author:xroblot |
feat(RamificationInertia): decomposition field and inertia field of compositum |
---
- [ ] depends on: #35808
- [x] depends on: #35493
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
merge-conflict
large-import
|
645/36 |
Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/IntermediateField/Algebraic.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/NumberTheory/RamificationInertia/Galois.lean,Mathlib/NumberTheory/RamificationInertia/HilbertTheory.lean |
9 |
6 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
74-71297 2 months ago |
84-4298 84 days ago |
0-316 5 minutes |
| 36236 |
kim-em author:kim-em |
chore: add module keyword to Archive and Counterexamples files |
This PR converts 105 Archive and Counterexamples files to module format, adding `module`, `public import`, and `@[expose] public section`.
Eight files are left unconverted for now:
- Seven files containing `private` declarations that need further work (`Imo1962Q1`, `MiuLanguage/Basic`, `MiuLanguage/DecisionSuf`, `AscendingDescendingSequences`, `BallotProblem`, `AharoniKorman`, `TopologistsSineCurve`)
- `Counterexamples/InvertibleModuleNotIdeal` which needs an import path update
For `Archive/Examples/PropEncodable`, the `private` declarations were removed as part of this conversion.
🤖 Prepared with Claude Code |
IMO
LLM-generated
merge-conflict
awaiting-author
|
693/308 |
Archive/Arithcc.lean,Archive/Examples/Eisenstein.lean,Archive/Examples/Kuratowski.lean,Archive/Examples/PropEncodable.lean,Archive/Hairer.lean,Archive/Imo/Imo1959Q1.lean,Archive/Imo/Imo1959Q2.lean,Archive/Imo/Imo1960Q1.lean,Archive/Imo/Imo1960Q2.lean,Archive/Imo/Imo1961Q3.lean,Archive/Imo/Imo1962Q4.lean,Archive/Imo/Imo1963Q5.lean,Archive/Imo/Imo1964Q1.lean,Archive/Imo/Imo1969Q1.lean,Archive/Imo/Imo1972Q5.lean,Archive/Imo/Imo1975Q1.lean,Archive/Imo/Imo1977Q6.lean,Archive/Imo/Imo1981Q3.lean,Archive/Imo/Imo1982Q1.lean,Archive/Imo/Imo1985Q2.lean,Archive/Imo/Imo1986Q5.lean,Archive/Imo/Imo1987Q1.lean,Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo1994Q1.lean,Archive/Imo/Imo1997Q3.lean,Archive/Imo/Imo1998Q2.lean,Archive/Imo/Imo2001Q2.lean,Archive/Imo/Imo2001Q3.lean,Archive/Imo/Imo2001Q4.lean,Archive/Imo/Imo2001Q5.lean,Archive/Imo/Imo2001Q6.lean,Archive/Imo/Imo2002Q3.lean,Archive/Imo/Imo2005Q3.lean,Archive/Imo/Imo2005Q4.lean,Archive/Imo/Imo2006Q3.lean,Archive/Imo/Imo2006Q5.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2008Q3.lean,Archive/Imo/Imo2008Q4.lean,Archive/Imo/Imo2010Q5.lean,Archive/Imo/Imo2011Q3.lean,Archive/Imo/Imo2011Q5.lean,Archive/Imo/Imo2013Q1.lean,Archive/Imo/Imo2013Q5.lean,Archive/Imo/Imo2015Q6.lean,Archive/Imo/Imo2019Q1.lean,Archive/Imo/Imo2019Q2.lean,Archive/Imo/Imo2019Q4.lean,Archive/Imo/Imo2020Q2.lean,Archive/Imo/Imo2021Q1.lean,Archive/Imo/Imo2024Q2.lean,Archive/Imo/Imo2024Q3.lean,Archive/Imo/Imo2024Q6.lean,Archive/Imo/Imo2025Q3.lean,Archive/Kuratowski.lean,Archive/MinimalSheffer.lean,Archive/OxfordInvariants/Summer2021/Week3P1.lean,Archive/Sensitivity.lean,Archive/Wiedijk100Theorems/AbelRuffini.lean,Archive/Wiedijk100Theorems/AreaOfACircle.lean,Archive/Wiedijk100Theorems/BirthdayProblem.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Archive/Wiedijk100Theorems/HeronsFormula.lean,Archive/Wiedijk100Theorems/InverseTriangleSum.lean,Archive/Wiedijk100Theorems/Konigsberg.lean,Archive/Wiedijk100Theorems/PerfectNumbers.lean,Archive/Wiedijk100Theorems/SolutionOfCubicQuartic.lean,Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Archive/ZagierTwoSquares.lean,Counterexamples/CanonicallyOrderedCommSemiringTwoMul.lean,Counterexamples/CharPZeroNeCharZero.lean,Counterexamples/CliffordAlgebraNotInjective.lean,Counterexamples/Cyclotomic105.lean,Counterexamples/DimensionPolynomial.lean,Counterexamples/DirectSumIsInternal.lean,Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Counterexamples/EulerSumOfPowers.lean,Counterexamples/Girard.lean,Counterexamples/HeawoodUnitDistance.lean,Counterexamples/HomogeneousPrimeNotPrime.lean,Counterexamples/IrrationalPowerOfIrrational.lean,Counterexamples/MapFloor.lean,Counterexamples/MonicNonRegular.lean,Counterexamples/Motzkin.lean,Counterexamples/NowhereDifferentiable.lean,Counterexamples/OrderedCancelAddCommMonoidWithBounds.lean,Counterexamples/PeanoCurve.lean,Counterexamples/Phillips.lean,Counterexamples/PolynomialIsDomain.lean,Counterexamples/Pseudoelement.lean,Counterexamples/QuadraticForm.lean,Counterexamples/SeminormLatticeNotDistrib.lean,Counterexamples/SeparableNotSecondCountable.lean,Counterexamples/SorgenfreyLine.lean,Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean |
97 |
9 |
['JovanGerb', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
dwrensha assignee:dwrensha |
74-69674 2 months ago |
31-69842 31 days ago |
11-44755 11 days |
| 36503 |
Mrigna01 author:Mrigna01 |
Add false theorem test file |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor |
135/0 |
Mathlib/FalseBench/FalseTheorems.lean |
1 |
3 |
['github-actions'] |
nobody |
74-66005 2 months ago |
74-66095 74 days ago |
74-66090 74 days |
| 30352 |
kckennylau author:kckennylau |
feat(RingTheory): Homogeneous localization of tensor product |
Let `𝒜` be a graded `R`-algebra, and `S` be an `R`-algebra. Then `S ⊗[R] 𝒜` is a graded
`S`-algebra with the same grading.
Let `W` be a homogeneous submonoid of `𝒜`. Then `(S⊗[R]𝒜)[(1⊗W)⁻¹]₀ ≅ S ⊗[R] (𝒜[W⁻¹]₀)`.
---
Split from #26061.
- [x] depends on: #30173
- [x] depends on: #30322
- [x] depends on: #30365
- [x] depends on: #36252
Optionally depends on #30379 (graded ring equiv) and #36346 (simp Algebra.algHom), which will save a few lines here, so they are not high priority for this PR.
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
merge-conflict
label:t-algebra$ |
471/22 |
Mathlib.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean,Mathlib/RingTheory/GradedAlgebra/TensorLocalization.lean,Mathlib/RingTheory/Localization/TensorProduct.lean |
5 |
5 |
['dagurtomas', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
dagurtomas assignee:dagurtomas |
74-61180 2 months ago |
66-83327 66 days ago |
11-55488 11 days |
| 36346 |
kckennylau author:kckennylau |
chore: add simp lemma to unfold Algebra.algHom |
```lean
@[simp] lemma Algebra.coe_algHom : ⇑(Algebra.algHom R A B) = algebraMap A B := rfl
```
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
label:t-algebra$ |
6/2 |
Mathlib/Algebra/Algebra/Hom.lean,Mathlib/RingTheory/Etale/StandardEtale.lean |
2 |
5 |
['acmepjz', 'artie2000', 'github-actions', 'ocfnash'] |
ocfnash assignee:ocfnash |
74-61172 2 months ago |
52-29644 52 days ago |
26-21993 26 days |
| 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₀`, having a power series on a ball of positive radius around `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
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
awaiting-author
|
572/0 |
Mathlib.lean,Mathlib/Analysis/Calculus/PartialDerivativeTest.lean,Mathlib/Analysis/Normed/Operator/NormedSpace.lean,Mathlib/Topology/Constructions.lean |
4 |
32 |
['bjoernkjoshanssen', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
j-loreaux assignee:j-loreaux |
74-53281 2 months ago |
96-76346 96 days ago |
9-48004 9 days |
| 14603 |
awueth author:awueth |
feat: degree is invariant under graph isomorphism |
---
Mathlib has the definition `SimpleGraph.Iso.mapNeighborSet` which is an equivalence between neighbor sets induced by an isomorphism. Would it be beneficial to add the same equivalence for `neighborFinset`?
[](https://gitpod.io/from-referrer/)
|
WIP
t-combinatorics
new-contributor
|
24/0 |
Mathlib/Combinatorics/SimpleGraph/Map/Finite.lean |
1 |
12 |
['SnirBroshi', 'awueth', 'github-actions', 'jcommelin', 'kim-em', 'urkud'] |
nobody |
74-47403 2 months ago |
651-7842 651 days ago |
31-44440 31 days |
| 35956 |
Scarlett-le author:Scarlett-le |
feat: add orthogonality lemmas for inner product spacesonal |
## Summary
Adds two lemmas about orthogonality in inner product spaces.
## New declarations
- `real_inner_sub_smul_div_inner_self_eq_zero` (`Mathlib.Analysis.InnerProductSpace.Basic`): the inner product of `u - (⟪u, d⟫_ℝ / ⟪d, d⟫_ℝ) • d` with `d` is zero; subtracting the orthogonal projection of `u` onto `d` yields a vector orthogonal to `d`. Holds unconditionally including when `d = 0`.
- `mem_span_singleton_of_inner_eq_zero_of_inner_eq_zero` (`Mathlib.Analysis.InnerProductSpace.Projection.FiniteDimensional`): in a two-dimensional inner product space, if nonzero vectors `w` and `u` are both orthogonal to the same nonzero vector `v`, then `u` lies in the span of `w`. |
t-analysis
awaiting-author
|
26/0 |
Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean |
1 |
9 |
['Scarlett-le', 'github-actions', 'j-loreaux'] |
sgouezel assignee:sgouezel |
74-37333 2 months ago |
68-1665 68 days ago |
10-34309 10 days |
| 33599 |
nielstron author:nielstron |
feat(Computability/ContextFreeGrammar): closure under union |
---
This PR picks up https://github.com/leanprover-community/mathlib4/pull/13514 and resolves the outstanding errors.
- [ ] depends on: #33592
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-computability
new-contributor
|
498/0 |
Mathlib/Computability/ContextFreeGrammar.lean |
1 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
74-30840 2 months ago |
129-39699 129 days ago |
10-65787 10 days |
| 9605 |
davikrehalt author:davikrehalt |
feat(Data/Finset & List): Add Lemmas for Sorting and Filtering |
This PR includes several useful lemmas to the Data/Finset and Data/List modules in Lean's mathlib:
1. `toFinset_filter` (List): Shows that filtering commutes with toFinset.
2. `toFinset_is_singleton_implies_replicate` (List): Shows a list with a singleton toFinset is a List.replicate.
3. `filter_sort_commute` (Finset): Sorting and filtering can be interchanged in Finsets.
4. `Sorted.filter` (List): A sorted list stays sorted after filtering.
5. `Sorted.append_largest` (List): Appending the largest element keeps a list sorted.
6. `sort_monotone_map` (Finset): Relates sorting of a Finset after mapping to sorting of a list.
7. `sort_insert_largest` (Finset): Sorting a Finset with an inserted largest element.
8. `sort_range` (Finset): Sorting a range in a Finset equals the corresponding range list.
9. ~~`filter_eval_true` (List): Filtering a list with a predicate always true keeps the list unchanged.~~
10. ~~`filter_eval_false` (List): Filtering with an always-false predicate gives an empty list.~~
11. ~~`pairwise_concat` (List): Iff condition for Pairwise relation in concatenated lists (similar to pairwise_join).~~
12. `list_map_toFinset` (Finset): toFinset commutes with map under injection
---
- [x] depends on: #15952
This is my first PR to mathlib, so I'm not too familiar with etiquette's and more specifically there are two proofs in the PR which uses aesop, and I am not sure if it's frowned upon. I kept the aesop in there for now as I couldn't construct very short proofs otherwise. The sort_range function proof was suggested in https://leanprover.zulipchat.com/#narrow/stream/113489-new-members/topic/Computing.20Finset.20sort.20of.20Finset.20range/near/410346731 by Ruben Van de Velde. Thanks for your time for improving this PR. |
please-adopt
t-data
new-contributor
merge-conflict
awaiting-author
|
71/0 |
Mathlib/Data/Finset/Basic.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/Finset/Sort.lean,Mathlib/Data/List/Sort.lean |
4 |
30 |
['YaelDillies', 'davikrehalt', 'eric-wieser', 'github-actions', 'jcommelin', 'urkud', 'vihdzp'] |
nobody |
74-30296 2 months ago |
854-1784 854 days ago |
12-48883 12 days |
| 10332 |
adri326 author:adri326 |
feat(Topology/Sets): define regular open sets and their boolean algebra |
Introduces a new module, `Mathlib.Topology.Sets.RegularOpens`, which defines the `IsRegularOpen s` predicate (`interior (closure s) = s`) and `TopologicalSpace.RegularOpens`, the type of bundled regular open sets (defined as `Heyting.Regular (Opens X)`).
A few properties of regular open sets (bundled and unbundled) and `interior (closure s)` are proven,
and a pointwise instance of `MulAction` is provided for regular open sets.
---
This PR belongs to my series of PRs around my formalization of Rubin's theorem.
There are two possible ways to implement `RegularOpens`:
- either construct them by hand and show that they form a boolean algebra (better def-eq but more boilerplate code required)
- or use `Heyting.Regular` on the heyting algebra of `Opens` inherited from the `Frame` instance on them
I first chose to use the former approach, but using the latter cuts the length of the construction of the boolean algebra of regular open sets by 100 lines of code, and allows us to inherit all of the helper lemmas defined for `Heyting.Regular`.
The big downside, though, is that an element of `RegularOpens` isn't defined as a bundled regular open set anymore, but rather as an `Opens` set `s` for which `Opens.interior ↑(Opens.interior ↑sᶜ)ᶜ = s`, so I added an alternative constructor `RegularOpens.of` that instead accepts any set `s` for which `IsRegularOpen s` holds.
Another minor downside is that coercion to a set takes two coercions instead of one.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-topology
|
434/0 |
Mathlib.lean,Mathlib/Data/Set/Pointwise/SMul.lean,Mathlib/Topology/Sets/Opens.lean,Mathlib/Topology/Sets/RegularOpens.lean,docs/references.bib |
5 |
1 |
['adri326'] |
nobody |
74-30263 2 months ago |
838-13704 838 days ago |
0-1135 18 minutes |
| 36496 |
erdOne author:erdOne |
feat(Tactic/Linter): lint against `simpa ... using by tactic` |
---
[](https://gitpod.io/from-referrer/)
|
t-linter
large-import
awaiting-author
merge-conflict
|
134/12 |
Mathlib.lean,Mathlib/Analysis/LConvolution.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Condensed/Light/Epi.lean,Mathlib/Init.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean,Mathlib/Probability/Distributions/Poisson/Basic.lean,Mathlib/Probability/Kernel/Composition/Comp.lean,Mathlib/Probability/Kernel/Composition/ParallelComp.lean,Mathlib/Probability/Kernel/Condexp.lean,Mathlib/Probability/Moments/SubGaussian.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/SimpaUsingBy.lean,MathlibTest/simpaUsingBy.lean |
15 |
24 |
['erdOne', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
grunweg assignee:grunweg |
74-29573 2 months ago |
74-69966 74 days ago |
0-2953 49 minutes |
| 36533 |
Bergschaf author:Bergschaf |
feat(Order/Sublocales): Closed sublocales |
This PR introduces closed sublocales and their property being the complement of Open sublocales in the Coframe of sublocales. The embedding from closed sublocales into sublocales is a coframeHom, which is also added in this PR. If this PR is to large, I can also factor this part out (although it should be quite uncontroversial since i basically copied everything from frameHom).
- [ ] depends on: #25978
---
[](https://gitpod.io/from-referrer/)
|
t-order
blocked-by-other-PR
|
439/37 |
Mathlib/Order/Hom/CompleteLattice.lean,Mathlib/Order/Nucleus.lean,Mathlib/Order/Sublocale.lean |
3 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
74-14879 2 months ago |
74-16044 74 days ago |
0-248 4 minutes |
| 35652 |
dennj author:dennj |
feat(LinearAlgebra/Matrix): add `Matrix.mul_eq_smul_one_symm` |
Adds three lemmas:
- IsLeftRegular.mul_eq_of_comm (Algebra/Group/Defs.lean): if a is left-regular, a * b = c, and c commutes with a, then b * a = c. Generalises IsLeftRegular.mul_eq_one_symm from the c = 1 case.
- IsRightRegular.mul_eq_of_comm: symmetric version.
- mul_eq_smul_one_symm (Algebra/Group/Action/Defs.lean): scalar variant of mul_eq_one_symm. For a monoid β with a compatible scalar action by α, if a * b = c • 1 and a is left-regular, then b * a = c • 1. Proven in one line via IsLeftRegular.mul_eq_of_comm, since c • 1 is central thanks to IsScalarTower α β β and SMulCommClass α β β.
The additive analogues are produced by to_additive.
The general mul_eq_of_comm helpers capture the underlying pattern: "a left/right-regular element can be cancelled when the conclusion commutes with it" and are reusable beyond this PR's specialisation.
Human made PR |
t-algebra
new-contributor
LLM-generated
awaiting-author
label:t-algebra$ |
28/0 |
Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Defs.lean |
1 |
7 |
['dagurtomas', 'dennj', 'eric-wieser', 'github-actions', 'grunweg'] |
ocfnash assignee:ocfnash |
74-10539 2 months ago |
21-66342 21 days ago |
24-65258 24 days |
| 36540 |
faenuccio author:faenuccio |
perf: personal grind test |
Private test |
WIP
t-algebra
label:t-algebra$ |
5/0 |
Mathlib/Algebra/Ring/Nat.lean |
1 |
4 |
['faenuccio', 'github-actions', 'leanprover-radar'] |
faenuccio assignee:faenuccio |
74-6028 2 months ago |
74-9057 74 days ago |
0-16 16 seconds |
| 35263 |
astrainfinita author:astrainfinita |
refactor: use `OrderSupInfSet` |
---
- [ ] depends on: #35297
- [ ] depends on: #35328
- [ ] depends on: #35774
- [ ] depends on: #35674
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/Any.20infimum.20based.20version.20of.20.60OmegaCompletePartialOrder.60.3F/with/573799342)
[](https://gitpod.io/from-referrer/)
|
t-order
large-import
blocked-by-other-PR
merge-conflict
|
952/701 |
Mathlib/Algebra/Group/Submonoid/Basic.lean,Mathlib/Algebra/Module/Submodule/Lattice.lean,Mathlib/Algebra/Order/Nonneg/Lattice.lean,Mathlib/Algebra/Tropical/Lattice.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/CategoryTheory/Category/Pairwise.lean,Mathlib/CategoryTheory/Limits/Lattice.lean,Mathlib/CategoryTheory/Sites/Sieves.lean,Mathlib/CategoryTheory/Subfunctor/Basic.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/Combinatorics/Digraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Data/Fintype/Order.lean,Mathlib/Data/Int/ConditionallyCompleteOrder.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Real/Archimedean.lean,Mathlib/Data/Set/BooleanAlgebra.lean,Mathlib/Geometry/Convex/Cone/Basic.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/Order/Atoms.lean,Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/Bounds/Defs.lean,Mathlib/Order/Bounds/Image.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Order/CompleteBooleanAlgebra.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/CompleteLattice/Lemmas.lean,Mathlib/Order/CompleteLattice/PiLex.lean,Mathlib/Order/CompleteLatticeIntervals.lean,Mathlib/Order/Concept.lean,Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean,Mathlib/Order/Copy.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/FixedPoints.lean,Mathlib/Order/GaloisConnection/Basic.lean,Mathlib/Order/Hom/Order.lean,Mathlib/Order/Interval/Basic.lean,Mathlib/Order/LiminfLimsup.lean,Mathlib/Order/Nucleus.lean,Mathlib/Order/ScottContinuity/Prod.lean,Mathlib/Order/SupClosed.lean,Mathlib/Probability/Process/Filtration.lean,Mathlib/RingTheory/TwoSidedIdeal/Lattice.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/Topology/Algebra/Group/GroupTopology.lean,Mathlib/Topology/Algebra/Module/ClosedSubmodule.lean,Mathlib/Topology/Algebra/Ring/Basic.lean,Mathlib/Topology/Order/HullKernel.lean,Mathlib/Topology/UniformSpace/Basic.lean |
58 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
74-4214 2 months ago |
unknown |
0-0 0 seconds |
| 36544 |
xroblot author:xroblot |
feat(RingTheory/Ideal): restriction maps on decomposition and inertia groups in a Galois tower |
Adds a new file `Mathlib/RingTheory/Ideal/Galois.lean` with results on the action of `Gal(L/K)` on ideals of a ring `B ⊆ L` for a Galois subextension `F/K` of `L/K`. The main results are the surjectivity and kernel descriptions of the natural maps from the decomposition (resp. inertia) group of `P` in `Gal(L/K)` to the decomposition (resp. inertia) group of `p` in `Gal(F/K)`, induced by restriction.
---
- [ ] depends on: #38153
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
awaiting-author
WIP
blocked-by-other-PR
|
223/0 |
Mathlib.lean,Mathlib/FieldTheory/Normal/Defs.lean,Mathlib/RingTheory/Ideal/Galois.lean |
4 |
18 |
['copilot-pull-request-reviewer', 'github-actions', 'mathlib-dependent-issues', 'riccardobrasca', 'tb65536', 'xroblot'] |
riccardobrasca assignee:riccardobrasca |
74-306 2 months ago |
39-30471 39 days ago |
34-56618 34 days |
| 32410 |
callesonne author:callesonne |
feat(Bicategory/FunctorCategory/Pseudo): Add evaluation pseudofunctor |
Adding pseudofunctors `eval` and `evaluation`. WIP PR to access CI.
---
- [x] depends on: #30926
- [x] depends on: #32468
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
49/10 |
Mathlib/CategoryTheory/Bicategory/Functor/StrictlyUnitary.lean,Mathlib/CategoryTheory/Bicategory/FunctorBicategory/Pseudo.lean,Mathlib/CategoryTheory/Bicategory/Modification/Pseudo.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Pseudo.lean,Mathlib/CategoryTheory/Products/Basic.lean |
5 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] |
nobody |
73-72468 2 months ago |
172-66599 172 days ago |
0-9 9 seconds |
| 31901 |
callesonne author:callesonne |
feat(Bicategory/Subbicategory): add full subbicategories using `ObjectProperty` |
Analogously to the 1-categorical setting we construct a full subbicategory from an object property.
One could also construct locally full subbicategories using a pair of an object property and a morphism property. However then there is no way to obtain the bicategory structure by specializing from the `InducedBicategory` case. It is not clear to me if we want a full subbicategory to be specialized from this other construction, or from `InducedBicategory`.
---
- [x] depends on: #30925
[](https://gitpod.io/from-referrer/)
|
t-category-theory
awaiting-author
merge-conflict
|
135/2 |
Mathlib.lean,Mathlib/CategoryTheory/Bicategory/Basic.lean,Mathlib/CategoryTheory/Bicategory/InducedBicategory.lean,Mathlib/CategoryTheory/Bicategory/Subbicategory.lean |
4 |
8 |
['callesonne', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
nobody |
73-72397 2 months ago |
171-8568 171 days ago |
2-61446 2 days |
| 34078 |
joneugster author:joneugster |
feat(scripts/autolabel): add label dependencies for better automatic label assignment |
---
This is a tracking-PR containing the complete list of proposed labels.
As there might be room for discussion about these settings, there will be smaller PRs adding these dependencies in smaller batches.
- [x] depends on: #34948
- [x] depends on: #34949
- [x] depends on: #34066
- [x] depends on: #34079
- [x] depends on: #34677
- [x] depends on: #34678
- [ ] depends on: #34952
- [x] depends on: #36242
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
CI
merge-conflict
|
88/34 |
scripts/autolabel.lean |
1 |
4 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot'] |
nobody |
73-69956 2 months ago |
unknown |
0-0 0 seconds |
| 36572 |
JovanGerb author:JovanGerb |
feat(CategoryTheory/Limits/IsLimit): use `to_dual` on `IsLimit` |
This PR makes a start at translating `IsLimit` using `to_dual`.
---
- [ ] depends on: #35031
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
290/637 |
Mathlib/CategoryTheory/Category/Basic.lean,Mathlib/CategoryTheory/Functor/Basic.lean,Mathlib/CategoryTheory/Functor/Category.lean,Mathlib/CategoryTheory/Functor/FullyFaithful.lean,Mathlib/CategoryTheory/Functor/ReflectsIso/Basic.lean,Mathlib/CategoryTheory/Iso.lean,Mathlib/CategoryTheory/Limits/Cones.lean,Mathlib/CategoryTheory/Limits/Constructions/Filtered.lean,Mathlib/CategoryTheory/Limits/IsLimit.lean,Mathlib/CategoryTheory/Limits/Shapes/NormalMono/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Reflexive.lean,Mathlib/CategoryTheory/NatIso.lean,Mathlib/CategoryTheory/NatTrans.lean,Mathlib/CategoryTheory/Opposites.lean,Mathlib/CategoryTheory/Whiskering.lean,Mathlib/Combinatorics/Quiver/Basic.lean,Mathlib/Tactic/Translate/Core.lean |
17 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
73-65117 2 months ago |
73-61605 73 days ago |
0-3586 59 minutes |
| 34952 |
joneugster author:joneugster |
feat(scripts/autolabel): use `Cli` and integrate `curl` call into `autolabel` |
- use `Cli` for `lake exe autolabel`
- add arguments `--pr xxx --gh` and `--pr xxx --curl ` to chose between different interaction methods with github
- add `--force` to skip the check whether labels are already present. (note: the current `curl` setup doesn't perform this step and neither does the refactor, so I added a `Todo` to remember this. )
- make CI-workflow simpler and more robust by removing current stdout-parsing of the debug-messages which `autolabel` emits.
### Testing
Make some local changes and commit them. Ensure your local `origin/master` is in sync with `upstream/master` if you are on a fork.
- `lake exe autolabel`: prints the labels which would be applicable
- `lake exe autolabel --pr 34952 --gh --force` adds these labels to this PR using `gh`.
- `lake exe autolabel --pr 34952 --gh` adds these labels to this PR using `gh` if no topic labels are present.
- `lake exe autolabel --pr 34952 --curl ` adds these labels to this PR using `curl`. This requires a github access token for authentication
---
[](https://gitpod.io/from-referrer/)
|
CI |
85/72 |
.github/workflows/add_label_from_diff.yaml,scripts/autolabel.lean |
2 |
4 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
73-61159 2 months ago |
57-21768 57 days ago |
89-62601 89 days |
| 36086 |
Multramate author:Multramate |
feat(Algebra): add liftEquiv for groups, rings, algebras, and adjoin roots |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
merge-conflict
label:t-algebra$ |
105/22 |
Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Bivariate.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/Galois/Infinite.lean,Mathlib/FieldTheory/RatFunc/Luroth.lean,Mathlib/GroupTheory/GroupExtension/Basic.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Invariant/Basic.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean |
12 |
7 |
['CBirkbeck', 'Multramate', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts'] |
dagurtomas assignee:dagurtomas |
73-61154 2 months ago |
67-5303 67 days ago |
15-18023 15 days |
| 36146 |
Multramate author:Multramate |
feat(AlgebraicGeometry/GammaSpecAdjunction): add equivalences for Spec morphisms that commute with algebra maps |
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
t-algebra
awaiting-author
label:t-algebra$ |
46/2 |
Mathlib/Algebra/Category/CommAlgCat/Basic.lean,Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean,Mathlib/AlgebraicGeometry/Scheme.lean |
3 |
18 |
['CBirkbeck', 'Multramate', 'chrisflav', 'erdOne', 'github-actions'] |
dagurtomas assignee:dagurtomas |
73-61153 2 months ago |
69-7383 69 days ago |
12-46044 12 days |
| 35822 |
SnirBroshi author:SnirBroshi |
feat(Order/ConditionallyCompleteLattice): `sSup (f '' s) ≤ f (sSup s)` |
---
#35260 will add `iSup` versions. (edit: it was merged, and it's only for `[Finite ι]`)
Future work (though I'm not sure if it's possible): `Antitone`, `MonotoneOn`, `AntitoneOn`
[](https://gitpod.io/from-referrer/)
|
t-order
awaiting-author
|
38/1 |
Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Finset.lean |
2 |
8 |
['Komyyy', 'SnirBroshi', 'github-actions', 'vihdzp'] |
Komyyy assignee:Komyyy |
73-57674 2 months ago |
72-21030 72 days ago |
15-68575 15 days |
| 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.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
please-adopt
|
110/11 |
Mathlib/Analysis/Normed/Ring/Basic.lean,MathlibTest/TCSynth.lean |
2 |
15 |
['github-actions', 'j-loreaux', 'leanprover-bot'] |
ADedecker and j-loreaux assignee:j-loreaux assignee:ADedecker |
73-52581 2 months ago |
187-71768 187 days ago |
57-16399 57 days |
| 34846 |
fpvandoorn author:fpvandoorn |
fix: module system and translate interaction |
* Fix some issues when the value of an imported declaration is not available. This could cause `to_additive` to panic or turn the declaration into an axiom.
* Don't print private names in messages
* Don't panic when the declaration already exists modulo privateness.
* Add some helper functions to `Lean.Environment` and `Lean.Meta`.
---
Please double check the `PublicOrPrivate` declarations:
- Do they already exist in core?
- Does `addDeclSafe` catch all cases where `addDecl` would panic?
I think these are useful (maybe after renaming) since some of the Core versions are a huge footgun, which can lead to panics in multiple ways.
- [ ] depends on: #35134
[](https://gitpod.io/from-referrer/)
|
t-meta
awaiting-author
blocked-by-other-PR
merge-conflict
|
233/50 |
Mathlib/Lean/Environment.lean,Mathlib/Lean/Meta.lean,Mathlib/Tactic/Translate/Core.lean,MathlibTest/ToAdditiveModule.lean,MathlibTest/ToDual.lean,MathlibTest/toAdditive.lean |
6 |
37 |
['JovanGerb', 'fpvandoorn', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
73-51010 2 months ago |
107-81452 107 days ago |
0-11069 3 hours |
| 33466 |
Shreyas4991 author:Shreyas4991 |
refactor(Combinatorics/Digraph): add vertex sets |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
merge-conflict
please-adopt
|
382/55 |
Mathlib/Combinatorics/Digraph/Basic.lean,Mathlib/Combinatorics/Digraph/Orientation.lean |
2 |
83 |
['IvanRenison', 'Shreyas4991', 'SnirBroshi', 'YaelDillies', 'copilot-pull-request-reviewer', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'vihdzp', 'vlad902'] |
awainverse assignee:awainverse |
73-42876 2 months ago |
73-42876 73 days ago |
27-54087 27 days |
| 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`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
60/3 |
Mathlib.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/GCDMonoid/DistribLattice.lean |
2 |
2 |
['github-actions'] |
nobody |
73-39117 2 months ago |
70-9692 70 days ago |
3-29502 3 days |
| 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
---
[](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 |
73-38853 2 months ago |
76-16969 76 days ago |
15-50475 15 days |
| 36418 |
j-loreaux author:j-loreaux |
feat: add `IsMulCommutative` instances for topological closures of subobjects |
---
- [ ] depends on: #36549
- [ ] depends on: #36552
- [ ] depends on: #36553
[](https://gitpod.io/from-referrer/)
|
t-topology
t-algebra
merge-conflict
blocked-by-other-PR
label:t-algebra$ |
1047/162 |
Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Directed.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/Group/Commute/Defs.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/Algebra/Group/Subgroup/Map.lean,Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/Subsemigroup/Defs.lean,Mathlib/Algebra/Group/Subsemigroup/Membership.lean,Mathlib/Algebra/HierarchyDesign.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/Algebra/Star/Subalgebra.lean,Mathlib/CategoryTheory/Center/Linear.lean,Mathlib/CategoryTheory/Center/NegOnePow.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Grp_.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Mon_.lean,Mathlib/Data/ZMod/QuotientGroup.lean,Mathlib/FieldTheory/Galois/Abelian.lean,Mathlib/GroupTheory/Focal.lean,Mathlib/GroupTheory/IsPerfect.lean,Mathlib/GroupTheory/Schreier.lean,Mathlib/GroupTheory/SchurZassenhaus.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/GroupTheory/SpecificGroups/ZGroup.lean,Mathlib/GroupTheory/Subgroup/Centralizer.lean,Mathlib/GroupTheory/Submonoid/Centralizer.lean,Mathlib/GroupTheory/Subsemigroup/Centralizer.lean,Mathlib/GroupTheory/Transfer.lean,Mathlib/NumberTheory/NumberField/CMField.lean,Mathlib/RepresentationTheory/AlgebraRepresentation/Basic.lean,Mathlib/RepresentationTheory/Irreducible.lean,Mathlib/RingTheory/NonUnitalSubring/Basic.lean,Mathlib/RingTheory/NonUnitalSubring/Defs.lean,Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean,Mathlib/RingTheory/NonUnitalSubsemiring/Defs.lean,Mathlib/Topology/Algebra/Algebra.lean,Mathlib/Topology/Algebra/Group/Basic.lean,Mathlib/Topology/Algebra/Monoid.lean,Mathlib/Topology/Algebra/NonUnitalAlgebra.lean,Mathlib/Topology/Algebra/NonUnitalStarAlgebra.lean,Mathlib/Topology/Algebra/Ring/Basic.lean,Mathlib/Topology/Algebra/StarSubalgebra.lean |
50 |
8 |
['github-actions', 'j-loreaux', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
73-38841 2 months ago |
73-81041 73 days ago |
0-85 1 minute |
| 36563 |
EtienneC30 author:EtienneC30 |
feat: brownian processes |
---
[](https://gitpod.io/from-referrer/)
|
brownian
t-measure-probability
merge-conflict
|
1517/1 |
Mathlib.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/Probability/BrownianMotion/GaussianProjectiveFamily.lean,Mathlib/Probability/BrownianMotion/IsBrownian.lean,Mathlib/Probability/Distributions/Gaussian/HasGaussianLaw/Basic.lean,Mathlib/Probability/Distributions/Gaussian/Multivariate.lean,Mathlib/Probability/Distributions/Gaussian/Real.lean,Mathlib/Probability/HasLaw.lean,Mathlib/Probability/Moments/Basic.lean,Mathlib/Probability/Moments/Covariance.lean,Mathlib/Probability/Process/Filtration.lean |
12 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
73-35490 2 months ago |
unknown |
0-0 0 seconds |
| 36282 |
smmercuri author:smmercuri |
chore(Topology/Algebra/Valued/WithVal): remove `@` lemma |
Prove `Valuation.IsEquiv.uniformContinuous_congr` directly and remove `Valuation.IsEquiv.uniformContinuous` which is not needed.
---
- [x] depends on: #36310
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
label:t-algebra$ |
18/32 |
Mathlib/Topology/Algebra/Valued/WithVal.lean |
1 |
5 |
['faenuccio', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'smmercuri'] |
faenuccio assignee:faenuccio |
73-32380 2 months ago |
56-11598 56 days ago |
18-25760 18 days |
| 36103 |
SnkXyx author:SnkXyx |
feat(Algebra/MvPolynomial/CharacteristicSet): add Characteristic Set |
This PR adds some definitions and theorems of Characteristic Set Method (also known as Wu's Method).
Definitions:
* `MvPolynomial.mainDegree`
* `MvPolynomial.initialOf`
* `MvPolynomial.reducedTo`
* `TriangulatedSet`
* `MvPolynomial.pseudo`
* `MvPolynomial.setPseudo`
* `MvPolynomial.isRemainder`
* `MvPolynomial.isSetRemainder`
* `AscendingSetTheory`
* `TriangulatedSet.isAscendingSet`
* `HasBasicSet`
* `TriangulatedSet.isCharacteristicSet`
* `MvPolynomial.List.characteristicSet`
* `MvPolynomial.List.zeroDecomposition`
Main Theorems:
* `MvPolynomial.initialOf_mul_eq`: $init_i(p \cdot q) = init_i(p) \cdot init_i(q)$ if there is no zero divisors in the coefficient ring.
* `TriangulatedSet.instWellFoundedLT`: The set of Triangulated Sets is well-founded under the lexicographic ordering.
* `MvPolynomial.pseudo_remainder_isRemainder`: The remainder $r$ of $g$ by $f$ is reduced with respect to $f$ and satisfies $init(f)^s \cdot g = q \cdot f + r$ for some $s \in \mathbb{N}$ and $q \in R[X_{\sigma}]$.
* `MvPolynomial.setPseudo_remainder_isSetRemainder`: The remainder $r$ of $g$ by a set $S$ is reduced with respect to $S$ and satisfies $(\prod S_i^{e_i}) \cdot g = \sum q_i \cdot S_i + r$ for some sequences $\{e_i\}$ and $\{q_i\}$.
* `MvPolynomial.setPseudo_remainder_eq_zero_of_mem`: The remainder of $p$ by a set $S$ is $0$ if $p \in S$.
* `MvPolynomial.List.basicSet_append_lt_of_exists_reducedToSet`: Appending an element which is reduced w.r.t. the basic set of list strictly decreases the order.
* `MvPolynomial.List.characteristicSet_isCharacteristicSet`: The computed Characteristic Set $CS$ satisfies the key algebraic property (pseudo-remainder of input polynomials is 0) and the geometric property ( $Zero(PS) \subseteq Zero(CS)$ ).
* `MvPolynomial.List.vanishingSet_eq_zeroDecomposition_union`: The zero set of a polynomial system $PS$ can be decomposed into a finite union of "quasi-varieties" defined by triangular sets:
$Zero(PS) = \bigcup_{CS \in \mathcal{ZD}} Zero(CS / \text{InitialProd}(CS))$
The PR is upstreamized from [github.com/WuProver/lean_characteristic_set](https://github.com/WuProver/lean_characteristic_set)
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #36386
- [x] depends on: #37791
|
t-algebra
new-contributor
blocked-by-other-PR
label:t-algebra$ |
4085/0 |
Mathlib.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/AscendingSet.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/CharacteristicSet.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/Initial.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/MainDegree.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/Order.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/PseudoDivision.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/Reduce.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/StandardAscendingSet.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/TriangularSet.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/WeakAscendingSet.lean,docs/references.bib |
14 |
20 |
['Hagb', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
73-30772 2 months ago |
17-31003 17 days ago |
22-21388 22 days |
| 36595 |
mcdoll author:mcdoll |
feat(Analysis/TemperedDistribution): polynomially bounded locally integrable functions define tempered distributions |
---
- [ ] depends on: #36711
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
blocked-by-other-PR
|
137/0 |
Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Distribution/TemperedDistribution.lean |
1 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
73-22455 2 months ago |
73-22528 73 days ago |
0-1 1 second |
| 36529 |
idontgetoutmuch author:idontgetoutmuch |
Connection 1 form scribbles |
Some thoughts on connection 1-forms - not meant to be ever merged but here for convenience of discussion
|
new-contributor
t-differential-geometry
|
496/52 |
Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Geometry/Manifold/Algebra/FundamentalVectorField.lean,Mathlib/Geometry/Manifold/IntegralCurve/Compact.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/Order/Filter/Prod.lean |
5 |
2 |
['github-actions'] |
nobody |
73-19778 2 months ago |
unknown |
0-0 0 seconds |
| 35295 |
Rida-Hamadani author:Rida-Hamadani |
feat(SimpleGraph): `dropLast` of a cycle is a path |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
awaiting-author
|
13/0 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean |
2 |
14 |
['Rida-Hamadani', 'SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'vlad902'] |
YaelDillies assignee:YaelDillies |
73-11329 2 months ago |
46-36810 46 days ago |
34-53762 34 days |
| 36327 |
themathqueen author:themathqueen |
feat(Analysis/CStarAlgebra/Extreme): a C⋆-algebra is unital iff there exists an extreme point in the closed unit ball |
Co-authored-by: Jon Bannon <59937998+JonBannon@users.noreply.github.com>
Co-authored-by: Jireh Loreaux
---
- [x] depends on: #35997
- [x] depends on: #36201
- [x] depends on: #36407
- [x] depends on: #36408
- [x] depends on: #36416
- [x] depends on: #36603
[](https://gitpod.io/from-referrer/)
|
t-analysis
awaiting-author
merge-conflict
blocked-by-other-PR
|
353/0 |
Mathlib/Analysis/CStarAlgebra/ApproximateUnit.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean,Mathlib/Analysis/CStarAlgebra/Extreme.lean,Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean,Mathlib/Topology/ContinuousMap/Bounded/Normed.lean,Mathlib/Topology/ContinuousMap/Compact.lean |
11 |
7 |
['github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'themathqueen'] |
nobody |
73-9012 2 months ago |
26-52100 26 days ago |
0-783 13 minutes |
| 36119 |
Ruizsolveall author:Ruizsolveall |
feat(Topology/Covering): fundamental group of the circle is ℤ |
- Proves that the fundamental group of the circle `π₁(S¹, 0)` is isomorphic to `ℤ`, via covering space theory.
- Constructs the winding number map `nLoop : ℤ → Path 0 0` on `AddCircle 1`, and proves it is surjective (`nLoop_surjective`), injective (`nLoop_homotopic_iff`), and additive (`nLoop_add`).
- Assembles these into the group isomorphism `windingNumberIso : Multiplicative ℤ ≃* FundamentalGroup (AddCircle 1) 0`.
## Approach
Uses the covering map `ℝ → AddCircle 1` and unique path lifting to establish the bijection between homotopy classes of loops and integers (winding numbers). Homotopy invariance of lifted endpoints gives injectivity; surjectivity follows from lifting arbitrary loops. Additivity uses path concatenation of lifts in the simply connected total space `ℝ`.
## AI disclosure
I used Claude (Anthropic) to write the PR description, code comments, and to help refine code style. The proof strategy and all Lean code are my own. I understand and can vouch for all the code in this PR. |
t-topology
new-contributor
awaiting-author
LLM-generated
|
236/0 |
Mathlib.lean,Mathlib/Topology/Covering/FundamentalGroupCircle.lean |
2 |
26 |
['Ruizsolveall', 'SnirBroshi', 'b-mehta', 'dagurtomas', 'github-actions', 'grunweg', 'vihdzp'] |
nobody |
73-1080 2 months ago |
73-80012 73 days ago |
8-31258 8 days |
| 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
[](https://gitpod.io/from-referrer/)
|
delegated
merge-conflict
awaiting-CI
|
352/364 |
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 |
180 |
15 |
['github-actions', 'j-loreaux', 'mathlib-bors', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
72-76919 2 months ago |
192-69774 192 days ago |
0-1 1 second |
| 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
---
|
t-number-theory
new-contributor
large-import
awaiting-author
LLM-generated
|
191/0 |
Mathlib.lean,Mathlib/Algebra/QuadraticAlgebra/Defs.lean,Mathlib/Algebra/Squarefree/Basic.lean,Mathlib/NumberTheory/QuadraticField/Basic.lean |
4 |
29 |
['FrankieeW', 'eric-wieser', 'github-actions', 'riccardobrasca', 'tb65536', 'wwylele'] |
tb65536 assignee:tb65536 |
72-61147 2 months ago |
70-11142 70 days ago |
7-9258 7 days |
| 36626 |
SnirBroshi author:SnirBroshi |
feat(Order/UpperLower/Basic): an injective function constrained by the identity function using a well-order is the identity |
---
(yes I know `IsLowerSet` is bundled but I need the theorems for unbundled relations 🙈)
[](https://gitpod.io/from-referrer/)
|
t-order
awaiting-author
|
30/0 |
Mathlib/Order/UpperLower/Basic.lean |
1 |
6 |
['SnirBroshi', 'YaelDillies', 'github-actions', 'vihdzp'] |
bryangingechen assignee:bryangingechen |
72-55544 2 months ago |
28-23329 28 days ago |
44-37808 44 days |
| 36619 |
ldct author:ldct |
feat: add `NonUnitalRingHom.ker` |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
18/4 |
Mathlib/RingTheory/Ideal/Maps.lean |
1 |
1 |
['github-actions'] |
nobody |
72-31784 2 months ago |
unknown |
0-0 0 seconds |
| 35651 |
sun123zxy author:sun123zxy |
feat(Mathlib/RingTheory/Ideal/Cotangent): `Submodule.map` definition of cotangent spaces |
This PR adds an alternative definition of the cotangent space as an image under the R-module quotient map.
---
Split from PR #33247
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
awaiting-author
|
47/20 |
Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean |
2 |
20 |
['chrisflav', 'erdOne', 'github-actions', 'mathlib-merge-conflicts', 'sun123zxy'] |
chrisflav assignee:chrisflav |
72-18191 2 months ago |
69-86290 69 days ago |
16-12398 16 days |
| 36616 |
EtienneC30 author:EtienneC30 |
feat: add predicates IsPreBrownian and IsBrownian |
The predicate `IsPreBrownian X P` means that, under the probability measure `P`, the finite dimensional laws of the stochastic process `X` are those of the Brownian motion, given by `gaussianProjectiveFamily`. The predicate `IsBrownian X P` means that `X` is pre-Brownian and has almost-surely continuous paths.
We prove that a centered Gaussian process with the right covariances is pre-Brownian, as well as basic invariance properties. We also prove that any pre-Brownian motion satisfies the weak Markov property.
---
- [ ] depends on: #36472
- [x] depends on: #36615
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
brownian
t-measure-probability
large-import
|
796/1 |
Mathlib.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/Probability/BrownianMotion/Basic.lean,Mathlib/Probability/BrownianMotion/GaussianProjectiveFamily.lean,Mathlib/Probability/Distributions/Gaussian/HasGaussianLaw/Basic.lean,Mathlib/Probability/Distributions/Gaussian/Real.lean,Mathlib/Probability/HasLaw.lean,Mathlib/Probability/Moments/Basic.lean |
9 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
72-13912 2 months ago |
72-79571 72 days ago |
0-1 1 second |
| 34911 |
smmercuri author:smmercuri |
feat: idelic product formula |
---
- [x] depends on: #34915
- [x] depends on: #34918
- [x] depends on: #36184
- [x] depends on: #36204
- [ ] depends on: #36275
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
merge-conflict
|
262/2 |
Mathlib.lean,Mathlib/Algebra/Group/Submonoid/Units.lean,Mathlib/NumberTheory/NumberField/AdeleRing.lean,Mathlib/NumberTheory/NumberField/Completion/FinitePlace.lean,Mathlib/NumberTheory/NumberField/FiniteAdeleRing.lean,Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean,Mathlib/Topology/Algebra/Valued/NormedValued.lean |
8 |
7 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
72-7234 2 months ago |
108-23910 108 days ago |
0-10 10 seconds |
| 16801 |
awainverse author:awainverse |
feat(ModelTheory/Equivalence): The quotient type of formulas modulo a theory |
Defines `FirstOrder.Language.Theory.Formula`: `T.Formula α` is the quotient of `L.Formula α` by
equivalence modulo a theory `T`.
Puts a boolean algebra instance on `T.Formula α`, with `≤` corresponding to implication.
---
- [x] depends on: #16799
- [x] depends on: #16800
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-logic
|
174/60 |
Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Types.lean |
3 |
30 |
['YaelDillies', 'awainverse', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'metinersin'] |
nobody |
72-5270 2 months ago |
570-25901 570 days ago |
29-26213 29 days |
| 22314 |
shetzl author:shetzl |
feat: add leftmost derivations for context-free grammars |
Leftmost derivations are often easier to reason about than arbitrary derivations. This PR adds leftmost variants of Rewrites, Produces and Derives to the existing definition of context-free grammars and proves that a string of terminals can be derived iff it can be leftmost derived.
Co-authored-by: Tobias Leichtfried
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
awaiting-author
new-contributor
|
383/0 |
Mathlib.lean,Mathlib/Computability/LeftmostDerivation.lean |
2 |
55 |
['YaelDillies', 'github-actions', 'madvorak', 'mathlib4-merge-conflict-bot', 'shetzl'] |
nobody |
72-5246 2 months ago |
381-28542 381 days ago |
72-2714 72 days |
| 26368 |
Whysoserioushah author:Whysoserioushah |
feat(RingTheory/TwoSidedIdeal/SpanAsSum): span of set as finsum |
Co-authored-by: Jujian Zhang
---
Reopened after everything moved to fork (#23320).
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-ring-theory
|
81/0 |
Mathlib.lean,Mathlib/RingTheory/TwoSidedIdeal/SpanAsSum.lean |
2 |
7 |
['github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] |
nobody |
72-5217 2 months ago |
297-42351 297 days ago |
36-16237 36 days |
| 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.
---
[](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 |
72-5191 2 months ago |
187-36266 187 days ago |
114-37921 114 days |
| 28151 |
iehality author:iehality |
feat(Computability): r.e. sets are closed under inter/union/projection/composition |
Prove that r.e. sets are closed under intersections, unions, projection and composition.
---
This PR continues the work from #16705.
Original PR: https://github.com/leanprover-community/mathlib4/pull/16705 |
merge-conflict
t-computability
awaiting-author
|
120/0 |
Mathlib/Computability/Halting.lean |
1 |
13 |
['YaelDillies', 'github-actions', 'iehality', 'mathlib4-merge-conflict-bot'] |
nobody |
72-5179 2 months ago |
279-27203 279 days ago |
7-84521 7 days |
| 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
[](https://gitpod.io/from-referrer/)
|
t-computability
new-contributor
awaiting-author
awaiting-CI
|
405/7 |
Mathlib/Computability/NFA.lean |
1 |
16 |
['YaelDillies', 'ctchou', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
72-5145 2 months ago |
130-83927 130 days ago |
43-77831 43 days |
| 36716 |
mcdoll author:mcdoll |
chore(Analysis/SchwartzSpace): golf a proof |
---
- [ ] depends on: #36711
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
blocked-by-other-PR
|
45/17 |
Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/Seminorm.lean |
2 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
70-26601 2 months ago |
unknown |
0-0 0 seconds |
| 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
|
98/1 |
Mathlib/Order/Filter/Cofinite.lean,Mathlib/Order/Filter/Ultrafilter/Basic.lean |
2 |
2 |
['github-actions'] |
nobody |
69-51816 2 months ago |
69-50416 69 days ago |
0-3928 1 hour |
| 36404 |
smmercuri author:smmercuri |
feat: the adele ring of a number field is locally compact |
---
- [ ] depends on: #30579
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
large-import
merge-conflict
|
539/113 |
Mathlib.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/NumberTheory/NumberField/AdeleRing.lean,Mathlib/NumberTheory/NumberField/Completion/FinitePlace.lean,Mathlib/NumberTheory/NumberField/LiesOverInstances.lean,Mathlib/NumberTheory/NumberField/ProductFormula.lean,Mathlib/NumberTheory/RamificationInertia/Valuation.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/Valuation/Extension.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean |
10 |
6 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
65-33691 2 months ago |
77-841 77 days ago |
0-264 4 minutes |
| 26221 |
grunweg author:grunweg |
Mr. Covariant Derivatives |
This PR is a work in progress, and will land in individual pieces. Some contributions include
- additional API for differentiability of vector bundle sections
- finite sums, differences and scalar products of smooth sections are smooth
- the same result for mdifferentiable
- add missing mdifferentiable congruence lemmas
- define smooth local frames of a vector bundle
- a general tensoriality criterion
- define covariant derivatives, proving their tensoriality and that convex combinations of these are covariant derivatives
- the classification of covariant derivatives over a trivial bundle
- additional API for the Lie bracket of vector fields: the product rule (one sorry left!), Lie bracket at zero vanishes
- torsion of a connection, torsion-free connections
- Gram-Schmidt procedure for sections of a Riemannian vector bundle
- orthonormal frames on a Riemannian vector bundle
- connections compatible with a metric; definition of the Levi-Civita connection
- uniqueness of the Levi-Civita connection
- Christoffel symbols
- in progress: existence of the Levi-Civita connection (connection done; torsion-freeness and compatibility in progress)
- custom elaborators for sections in a vector bundle (converting dependent to non-dependent functions)
- custom elaborators for inferring a model with corners, in differentiability/smoothness definitions
- a `#check'` command and tactic which only shows explicit arguments
More to come soon!
Joint work with @PatrickMassot; supported by the FMJH.
---
- [x] depends on: #26360
- [x] depends on: #26672
- [x] depends on: #26673
- [x] depends on: #26674
- [x] depends on: #26864 (more of a by-product)
- [x] depends on: #26865
- [x] depends on: #26866
- [x] depends on: #26870
- [x] depends on: #26871
- [x] depends on: #26671
- [x] depends on: #26676
- [x] depends on: #26677
- [x] depends on: #26678
- [x] depends on: #26686
- [x] depends on: #26687
- [x] depends on: #26688
- [x] depends on: #26702
- [x] depends on: #26709
- [x] depends on: #26734
- [ ] depends on: #26743
- [x] depends on: #26894
- [x] depends on: #26921
- [x] depends on: #26922
- [x] depends on: #27020
- [x] depends on: #27021
- [x] depends on: #30307
- [x] depends on: #27023
- [ ] depends on: #27024
- [ ] depends on: #27025
- [x] depends on: #30338
- [ ] depends on: #30083
- [ ] depends on: #30339
- [ ] depends on: #31194
- [ ] depends on: #34262
- [ ] depends on: #34263
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
blocked-by-other-PR
merge-conflict
|
5847/155 |
Mathlib.lean,Mathlib/Geometry/Manifold/CheatSheet.md,Mathlib/Geometry/Manifold/Riemannian/ExistsRiemannianMetric.lean,Mathlib/Geometry/Manifold/VectorBundle/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/LeviCivita.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Lift.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Prelim.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Torsion.lean,Mathlib/Geometry/Manifold/VectorBundle/GramSchmidtOrtho.lean,Mathlib/Geometry/Manifold/VectorBundle/LocalFrame.lean,Mathlib/Geometry/Manifold/VectorBundle/MDifferentiable.lean,Mathlib/Geometry/Manifold/VectorBundle/Misc.lean,Mathlib/Geometry/Manifold/VectorBundle/OrthonormalFrame.lean,Mathlib/Geometry/Manifold/VectorBundle/SmoothSection.lean,Mathlib/Geometry/Manifold/VectorBundle/Tensoriality.lean,Mathlib/Geometry/Manifold/VectorField/LieBracket.lean,Mathlib/Geometry/Manifold/VectorField/Pullback.lean |
18 |
15 |
['github-actions', 'grunweg', 'idontgetoutmuch', 'leanprover-community-bot-assistant', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
65-27109 2 months ago |
unknown |
0-0 0 seconds |
| 36825 |
danlyng author:danlyng |
feat(MeasureTheory/Integral/IntegralEqImproper): add Iic variants of nonneg/nonpos derivative integrability and FTC-2 |
Add the `Iic` counterparts of the existing `Ioi` results for automatic integrability of derivatives on semi-infinite intervals and the corresponding corollaries computing the integral value. Additionally, apply minor fixes to existing docstrings.
New declarations:
- `integrableOn_Iic_deriv_of_nonneg` / `integrableOn_Iic_deriv_of_nonneg'`
- `integrableOn_Iic_deriv_of_nonpos` / `integrableOn_Iic_deriv_of_nonpos'`
- `integral_Iic_of_hasDerivAt_of_nonneg` / `integral_Iic_of_hasDerivAt_of_nonneg'`
- `integral_Iic_of_hasDerivAt_of_nonpos` / `integral_Iic_of_hasDerivAt_of_nonpos'`
These mirror `integrableOn_Ioi_deriv_of_nonneg`, `integrableOn_Ioi_deriv_of_nonpos`, `integral_Ioi_of_hasDerivAt_of_nonneg`, `integral_Ioi_of_hasDerivAt_of_nonpos` and their primed variants. |
t-measure-probability
new-contributor
awaiting-author
|
107/9 |
Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean |
1 |
7 |
['EtienneC30', 'github-actions'] |
EtienneC30 assignee:EtienneC30 |
65-15546 2 months ago |
65-15546 65 days ago |
2-67942 2 days |
| 36973 |
JovanGerb author:JovanGerb |
chore(Order/Filter/AtTopBot/Map): use `to_dual` |
This PR uses `to_dual` on 4 declarations.
`comap_atTop` is problematic, because the heuristic fails, and mistakenly thinks that it should translate `Surjective.iInf_comp`.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
5/20 |
Mathlib/Order/Filter/AtTopBot/Map.lean |
1 |
2 |
['github-actions', 'mathlib-bors'] |
nobody |
64-53973 2 months ago |
64-54047 64 days ago |
0-7 7 seconds |
| 36890 |
vihdzp author:vihdzp |
chore(SetTheory): `le_mul_left` → `le_mul_of_pos_left` |
The new theorem names/statements match [`Nat.le_mul_of_pos_left`](https://leanprover-community.github.io/mathlib4_docs/Init/Data/Nat/Lemmas.html#Nat.le_mul_of_pos_left). The cardinal one has also been moved to an earlier file.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory
awaiting-zulip
merge-conflict
|
28/23 |
Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Free.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Exponential.lean,Mathlib/SetTheory/Ordinal/Notation.lean |
6 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
63-40687 2 months ago |
66-27427 66 days ago |
0-10825 3 hours |
| 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.
---
- [ ] depends on: #36667
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-logic
new-contributor
|
468/0 |
Mathlib.lean,Mathlib/ModelTheory/PartialTypes.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Syntax.lean |
4 |
5 |
['NoneMore', 'github-actions', 'mathlib-dependent-issues', 'vihdzp'] |
nobody |
61-34421 2 months ago |
70-33775 70 days ago |
0-322 5 minutes |
| 36711 |
mcdoll author:mcdoll |
feat(Algebra): Bound `Finset.sum` in terms of `Finset.sup` |
We add a version for `Finset` and for seminorms (with the additional `sum_apply` lemma).
---
I am not sure where to put the `Finset` lemma, `#find_home` was useless and there seems to be no natural candidate.
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
label:t-algebra$ |
34/0 |
Mathlib/Algebra/Module/BigOperators.lean,Mathlib/Analysis/Seminorm.lean |
2 |
2 |
['dagurtomas', 'github-actions'] |
dagurtomas assignee:dagurtomas |
59-76069 1 month ago |
59-76069 59 days ago |
10-38227 10 days |
| 37232 |
mathlib-splicebot author:mathlib-splicebot |
chore(Algebra/Order): bound on `|n / m|ₘ` and `|n - m|` |
This PR was automatically created from PR #34722 by @GrigorenkoPV via a [review comment](https://github.com/leanprover-community/mathlib4/pull/34722#discussion_r2996870566) by @Vierkantor. |
t-algebra
delegated
label:t-algebra$ |
5/0 |
Mathlib/Algebra/Order/Group/Unbundled/Abs.lean |
1 |
6 |
['Vierkantor', 'bryangingechen', 'github-actions', 'mathlib-bors'] |
nobody |
59-71848 1 month ago |
59-84281 59 days ago |
0-588 9 minutes |
| 33295 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(Algebra/Central/End): center of the group of automorphisms of a free module |
Let `R` be a ring and let `V` be a free `R`-module.
We describe the center of the group of linear automorphisms of `V`.
The group of linear automorphisms can be summoned either as `V ≃ₗ[R] V`,
or as `LinearMap.GeneralLinearGroup R V`, which is a shortcut for `(V →ₗ[R] V)ˣ`.
We provide both descriptions.
There are three possibilities:
* If `V` is trivial, then `V ≃ₗ[R] V` is trivial, and so is its center.
* If `V` has rank one, then any basis with a `Unique` type of index furnishes
a ring equivalence from `V →ₗ[R] V` with `Rᵐᵒᵖ`,
given by right-multiplication on coordinates in the given basis.
(This equivalence depends on the choice of a basis.)
Then `V ≃ₗ[R] V` is mul-equivalent with `(Rᵐᵒᵖ)ˣ`, hence its center is isomorphic
with `Subgroup.center (Rᵐᵒᵖ)ˣ`, or, by commutativity, with `Subgroup.center Rˣ`.
* Otherwise, the center of `V ≃ₗ[R] V` consists of homotheties with central ratio,
furnishing a group isomorphism from `Subgroup.center (V ≃ₗ[R] V)` with
`(Subgroup.center R)ˣ`.
When `R` is commutative and `V` is nontrivial, the last two cases give the same
answer and the center of `V ≃ₗ[R] V` is isomorphic with `Rˣ`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
WIP
merge-conflict
label:t-algebra$ |
364/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Center.lean,Mathlib/LinearAlgebra/GeneralLinearGroup/Center.lean |
3 |
4 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
59-54590 1 month ago |
149-84258 149 days ago |
0-19130 5 hours |
| 36769 |
jjdishere author:jjdishere |
feat(Valued/ValuationTopology): creating instances of `IsValuativeTopology` |
This is the third in a series of PRs, with the final goal of removing the class `Valued` from Mathlib.
A `Valued` instance will be replaced by `[ValuativeRel R] [UniformSpace R] [IsValuativeTopology R] [IsUniformAddGroup R] (v : Valuation R A) [v.Compatible]`.
The goal of this PR is to prepare APIs for creating `ValuativeRel`, `IsValuativeTopology`, ... instances whenever a `Valued` instance was created. Currently in Mathlib, there are three main ways of creating a `Valued` instance:
1. `Valued.mk'` (`ValuativeRel.ofValuation` already in mathlib, ValuativeRel.uniformSpace in #36532)
2. `Valued.valuedCompletion`
3. `NormedField.toValued`
For the later two methods, we create corresponding APIs to equip `IsValuativeTopology` under the original input.
Some uniform space structures induced by `ValuativeRel` in this PR cannot be made into instances immediately, since they would cause diamonds with `Valued`. However, they will become instances in the final PR removing `Valued`.
## More about the whole refactor plan:
1. Copy APIs that take `Valued` as input and make them accept input `[ValuativeRel R] [UniformSpace R] [IsValuativeTopology R] [IsUniformAddGroup R] (v : Valuation R A) [v.Compatible]`.
- [x] #36532
2. For every API that introduces a `Valued` instance, copy that API and make it create `[ValuativeRel R] [UniformSpace R] [IsValuativeTopology R] [IsUniformAddGroup R]` instances. And for every instance that currently exists in Mathlib, create the above series of instances as much as possible without introducing diamonds.
More specifically, currently in Mathlib, there are three main ways of creating a `Valued` instance:
- `Valued.mk'`
- `Valued.valuedCompletion`
- `NormedField.toValued`
For each of these we create APIs to create the above series of instances.
- [ ] #36777 [Generalize the definition of `IsValuativeTopology` to non comm rings]
- [ ] This PR.
For each of these we create APIs to create the above series of instances.
3. A big PR deprecating the `Valued` class using 1 and 2.
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #36532
- [ ] depends on : #36777
- [ ] depends on : #36911 |
t-topology
WIP
t-algebra
t-ring-theory
merge-conflict
label:t-algebra$ |
752/492 |
Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/NumberTheory/NumberField/Completion/FinitePlace.lean,Mathlib/NumberTheory/Padics/Complex.lean,Mathlib/NumberTheory/Padics/HeightOneSpectrum.lean,Mathlib/NumberTheory/Padics/WithVal.lean,Mathlib/NumberTheory/RatFunc/Ostrowski.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/Discrete/Basic.lean,Mathlib/RingTheory/Valuation/Discrete/RankOne.lean,Mathlib/RingTheory/Valuation/DiscreteValuativeRel.lean,Mathlib/RingTheory/Valuation/RankOne.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Trivial.lean,Mathlib/Topology/Algebra/ValuativeRel/Completion.lean,Mathlib/Topology/Algebra/ValuativeRel/ValuativeTopology.lean,Mathlib/Topology/Algebra/Valued/LocallyCompact.lean,Mathlib/Topology/Algebra/Valued/NormedValued.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuedField.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean,Mathlib/Topology/Algebra/Valued/WithZeroMulInt.lean |
25 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
59-51152 1 month ago |
69-13089 69 days ago |
0-56 56 seconds |
| 36911 |
jjdishere author:jjdishere |
fix(RingTheory/Valuation): change `ValueGroup` from taking HomClass to Hom |
This PR refactors `MonoidWithZeroHom.valueMonoid`, `MonoidWithZeroHom.valueGroup`, `MonoidWithZeroHom.ValueGroup₀`, and `MonoidWithZeroHom.ValueGroup₀.embedding` to take a concrete `MonoidWithZeroHom` as input instead of a `MonoidWithZeroHomClass` instance, following rules described in [#mathlib4 > Mathlib's morphism hierarchy @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Mathlib.27s.20morphism.20hierarchy/near/554383157)
As a result, we are able to remove several `erw` and many `set_option backward.isDefEq.respectTransparency false in`. The trade-off (foreseen by the same zulip thread) is that we now need to write an explicit coercion to `MonoidWithZeroHom` in `ValueGroup₀ (Valued.v (R := R) : R →*₀ Γ₀)`.
Additionally, this PR fixes an instance on `NNReal`.
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #36532
- [ ] depends on: #36777 |
t-ring-theory
tech debt
blocked-by-other-PR
merge-conflict
|
559/483 |
Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/NumberTheory/NumberField/Completion/FinitePlace.lean,Mathlib/NumberTheory/Padics/Complex.lean,Mathlib/NumberTheory/Padics/HeightOneSpectrum.lean,Mathlib/NumberTheory/Padics/WithVal.lean,Mathlib/NumberTheory/RatFunc/Ostrowski.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/Discrete/Basic.lean,Mathlib/RingTheory/Valuation/Discrete/RankOne.lean,Mathlib/RingTheory/Valuation/DiscreteValuativeRel.lean,Mathlib/RingTheory/Valuation/RankOne.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Trivial.lean,Mathlib/Topology/Algebra/ValuativeRel/ValuativeTopology.lean,Mathlib/Topology/Algebra/Valued/LocallyCompact.lean,Mathlib/Topology/Algebra/Valued/NormedValued.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuedField.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean,Mathlib/Topology/Algebra/Valued/WithZeroMulInt.lean |
24 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
59-51145 1 month ago |
65-83012 65 days ago |
0-60 1 minute |
| 37184 |
dagurtomas author:dagurtomas |
feat(CategoryTheory): start using the map attribute |
---
- [ ] depends on: #37183
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-other-PR
|
259/41 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/CategoryTheory/Iso.lean,Mathlib/CategoryTheory/Localization/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Braided.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/NaturalTransformation.lean,Mathlib/CategoryTheory/Sites/Descent/DescentData.lean,Mathlib/CategoryTheory/Sites/Descent/DescentDataPrime.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/Map.lean,MathlibTest/CategoryTheory/Map.lean |
13 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
59-9207 1 month ago |
60-69720 60 days ago |
0-1 1 second |
| 37275 |
dagurtomas author:dagurtomas |
chore(CategoryTheory): use the map attribute more |
---
- [ ] depends on: #37184
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-other-PR
|
283/77 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Free.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackFree.lean,Mathlib/Algebra/Homology/DerivedCategory/ShortExact.lean,Mathlib/Algebra/Homology/HomotopyCategory.lean,Mathlib/Algebra/Homology/HomotopyCategory/Pretriangulated.lean,Mathlib/Algebra/Homology/HomotopyCategory/ShortExact.lean,Mathlib/Algebra/Homology/ShortComplex/Basic.lean,Mathlib/CategoryTheory/Functor/Category.lean,Mathlib/CategoryTheory/Functor/Trifunctor.lean,Mathlib/CategoryTheory/Iso.lean,Mathlib/CategoryTheory/Localization/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Braided.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/NaturalTransformation.lean,Mathlib/CategoryTheory/NatTrans.lean,Mathlib/CategoryTheory/Sites/Descent/DescentData.lean,Mathlib/CategoryTheory/Sites/Descent/DescentDataPrime.lean,Mathlib/CategoryTheory/Triangulated/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/Map.lean,MathlibTest/CategoryTheory/Map.lean |
24 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
59-6125 1 month ago |
59-6625 59 days ago |
0-1 1 second |
| 32295 |
jsm28 author:jsm28 |
feat(Archive/Imo/Imo2024Q4): IMO 2024 Q4 |
Add a formalization of IMO 2024 problem 4, so completing the formalizations of all six IMO 2024 problems.
---
- [ ] depends on: #30981
- [ ] depends on: #30982
- [ ] depends on: #31057
- [ ] depends on: #31205
- [ ] depends on: #31452
- [ ] depends on: #31495
- [ ] depends on: #31733
- [ ] depends on: #31891
- [ ] depends on: #31892
- [ ] depends on: #31893
- [ ] depends on: #31979
- [ ] depends on: #31981
- [ ] depends on: #32004
- [ ] depends on: #32019
- [ ] depends on: #32021
- [ ] depends on: #32023
- [ ] depends on: #32259
- [ ] depends on: #32260
- [ ] depends on: #32270
- [ ] depends on: #32273
- [ ] depends on: #32278
- [ ] depends on: #32282
- [ ] depends on: #32290
- [ ] depends on: #32294
- [ ] depends on: #32296
[](https://gitpod.io/from-referrer/)
|
IMO
blocked-by-other-PR
|
1195/2 |
Archive.lean,Archive/Imo/Imo2024Q4.lean,Mathlib.lean,Mathlib/Geometry/Euclidean/Angle/Incenter.lean,Mathlib/Geometry/Euclidean/Incenter.lean,Mathlib/Geometry/Euclidean/Sphere/PolePolar.lean,Mathlib/Geometry/Euclidean/Sphere/Tangent.lean |
7 |
7 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
58-85123 1 month ago |
175-63891 175 days ago |
0-2910 48 minutes |
| 36706 |
kim-em author:kim-em |
feat(Tactic/FastInstance): warn when a synthesized sub-instance has leaky binder types |
This PR adds a warning to `fast_instance%` and `inferInstanceAs%` when they encounter a synthesized sub-instance that has leaky data-field binder types.
When `fast_instance%` recursively normalizes a class instance, it uses `trySynthInstance` to find canonical sub-instances. If a found sub-instance is not canonical at instances transparency (i.e., its internal lambda binder types reference an unexpanded type alias instead of the target carrier), the tool now emits a warning:
```
fast_instance%: 'leakySub' (for
SubClass MyNat) has leaky data-field binder types, which may cause `isDefEq` failures at
instances transparency (e.g. in `grind`). Consider redefining it with `fast_instance%` or
`inferInstanceAs%`.
To suppress: `set_option Elab.fast_instance.warnLeakySubInstances false`
```
The leakiness check uses `withDisabledInstance` to temporarily evict the sub-instance from the discrimination tree (preventing trivial self-match via `trySynthInstance`), then compares against the canonical form at instances transparency. A `warnLeaky` parameter propagates through recursive calls to prevent nested warnings.
The warning is suppressed via `set_option Elab.fast_instance.warnLeakySubInstances false`.
- [ ] depends on: #36701
🤖 Prepared with Claude Code |
t-meta
blocked-by-other-PR
large-import
LLM-generated
merge-conflict
|
415/21 |
Mathlib/Algebra/Module/Congruence/Defs.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/Init.lean,Mathlib/RingTheory/Congruence/Defs.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Defs.lean,Mathlib/Tactic/DefEqAbuse.lean,Mathlib/Tactic/FastInstance.lean,MathlibTest/CheckInstance.lean,MathlibTest/DefEqAbuse.lean,MathlibTest/InferInstanceAsPercent.lean |
11 |
7 |
['Vierkantor', 'eric-wieser', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
Vierkantor assignee:Vierkantor |
58-76199 1 month ago |
70-53904 70 days ago |
0-1003 16 minutes |
| 37249 |
yuma-mizuno author:yuma-mizuno |
feat(Algebra): add multivariate Laurent polynomials |
---
~~I used Codex to imitate the `MvPolynomial` API.~~ Now it has been rewritten by hand to focus on its `AddMonoidAlgebra` features.
Proving `UniqueFactorizationMonoid` is my next plan.
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
label:t-algebra$ |
268/0 |
Mathlib.lean,Mathlib/Algebra/MvLaurentPolynomial/Basic.lean |
2 |
5 |
['YaelDillies', 'eric-wieser', 'github-actions', 'yuma-mizuno'] |
nobody |
58-68743 1 month ago |
59-41546 59 days ago |
0-26623 7 hours |
| 37436 |
RemyDegenne author:RemyDegenne |
feat: UniformIntegrable lemmas |
---
[](https://gitpod.io/from-referrer/)
|
WIP
brownian
t-measure-probability
|
109/0 |
Mathlib/MeasureTheory/Function/L1Space/Integrable.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean |
3 |
1 |
['github-actions'] |
nobody |
55-18729 1 month ago |
unknown |
0-0 0 seconds |
| 37294 |
eric-wieser author:eric-wieser |
feat(MatrixExponential): remove some rat-algebra arguments |
[#Is there code for X? > Algebra structures being induced @ 💬](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Algebra.20structures.20being.20induced/near/582277644)
---
[](https://gitpod.io/from-referrer/)
- [ ] depends on: #37292 |
t-analysis |
89/8 |
Mathlib/Analysis/Normed/Algebra/MatrixExponential.lean |
1 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
54-21341 1 month ago |
unknown |
0-0 0 seconds |
| 36728 |
chenson2018 author:chenson2018 |
feat: linter for terminal squeezes |
See discussion at [#**mathlib4>linter requests@576559620** ](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/linter.20requests/near/576559620). This PR adds a linter that indicates when a flexible terminal tactic is squeezed and can be replaced by the unsqueezed equivalent. Like the other tactic analysis linters, this is off by default and intended for periodic reports.
At the moment, this includes only `simp` and `simp_all`, just like the flexible linter, and does not take the further step of removing unused `simp` arguments. The style guide specifies that
> a simp call is terminal if it closes the current goal or is only followed by flexible tactics
and this linter complies with this by checking not only for "literal terminal" tactics that are syntactically the last to close a goal but also for "block terminal" tactics that are only followed by tactics permitted to follow a flexible tactic. (This terminology is not standard, but is a nice suggestion by @adomani)
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-linter
awaiting-author
|
109/1 |
Mathlib/Tactic/Linter/FlexibleLinter.lean,Mathlib/Tactic/TacticAnalysis/Declarations.lean,MathlibTest/TacticAnalysis.lean |
3 |
11 |
['SnirBroshi', 'chenson2018', 'github-actions', 'grunweg'] |
thorimur assignee:thorimur |
54-20292 1 month ago |
54-30043 54 days ago |
12-13181 12 days |
| 37101 |
fsefzig author:fsefzig |
feat: definition of kummer polynomials and prove that AdjoinRoot (KummerPolynomial n s) is etale |
This defines the Kummer polynomial ` KummerPolynomial n s := X^n - s` over a ring R and constructs the following instances for `AdjoinRoot (KummerPolynomial n s)`:
· Faithfullyflat
· SmoothOfRelativeDimension 0
· Etale |
t-ring-theory
new-contributor
awaiting-author
|
345/0 |
Mathlib.lean,Mathlib/RingTheory/AdjoinRootKummer.lean |
2 |
24 |
['acmepjz', 'chrisflav', 'fsefzig', 'github-actions', 'vihdzp'] |
nobody |
54-5 1 month ago |
unknown |
0-0 0 seconds |
| 37585 |
cascone26 author:cascone26 |
feat: formal statements of Robin's and Lagarias' inequalities equivalent to RH |
## Summary
This PR adds `Mathlib/NumberTheory/LSeries/RobinInequality.lean`, which contains formal Lean 4 statements of two classical equivalences of the Riemann Hypothesis:
**Robin's theorem (1984):** RH ↔ σ₁(n) < e^γ · n · ln(ln(n)) for all n > 5040
**Lagarias' theorem (2002):** RH ↔ σ₁(n) ≤ H_n + exp(H_n) · ln(H_n) for all n ≥ 1
### New declarations
- `robinBound (n : ℕ) : ℝ` — the Robin bound e^γ · n · ln(ln(n))
- `lagariasBound (n : ℕ) : ℝ` — the Lagarias bound H_n + exp(H_n) · ln(H_n)
- `robin_iff_RH : RiemannHypothesis ↔ ∀ n > 5040, σ₁(n) < robinBound n`
- `lagarias_iff_RH : RiemannHypothesis ↔ ∀ n ≥ 1, σ₁(n) ≤ lagariasBound n`
### Status
The **statements** are complete and use existing Mathlib primitives:
- `ArithmeticFunction.sigma` for σ₁
- `Real.eulerMascheroniConstant` for γ
- `harmonic` for H_n (with ℚ → ℝ coercion)
- `RiemannHypothesis` from `Mathlib.NumberTheory.LSeries.RiemannZeta`
The **proofs** are currently `sorry`. The Robin direction (RH → inequality) requires analytic number theory following Robin's original 1984 paper. The converse uses Gronwall's theorem on superior highly composite numbers. Both are substantial Mathlib projects in their own right.
This PR establishes the formal statements as a foundation for future proof work. These equivalences are not currently formalized anywhere in Mathlib.
### References
- G. Robin, *Grandes valeurs de la fonction somme des diviseurs et hypothèse de Riemann*, J. Math. Pures Appl. **63** (1984), 187–213.
- J. Lagarias, *An elementary problem equivalent to the Riemann hypothesis*, Amer. Math. Monthly **109** (2002), 534–543.
### Note on `sorry`
I'm aware Mathlib does not merge `sorry`-laden PRs in general. I'm submitting this as a draft to:
1. Get feedback on whether the statement formulation is idiomatic
2. Establish that these statements don't already exist in Mathlib under a different name
3. Invite collaboration on completing the proofs |
t-number-theory
new-contributor
|
98/0 |
Mathlib/NumberTheory/LSeries/RobinInequality.lean |
1 |
2 |
['github-actions'] |
nobody |
52-45170 1 month ago |
unknown |
0-0 0 seconds |
| 36937 |
Yaohua-Leo author:Yaohua-Leo |
feat(Algebra/Jordan): add first linearization lemmas for IsCommJordan |
[](https://gitpod.io/from-referrer/)
AI assistance disclosure: I used AI assistance for CI/debugging and module-structure fixes in this PR. The mathematical content and main lemmas were written by me, with help from @pelicanhere.
This PR adds a new file `Mathlib/Algebra/Jordan/Linearization.lean` containing linearization lemmas for the commutative Jordan identity.
Main declarations:
* `IsCommJordan.four_nsmul_associator_mul_add`
* `IsCommJordan.associator_mul_add`
These lemmas formalize a first linearization of the commutative Jordan identity using `associator`, following McCrimmon, Proposition 1.8.5.
---
I put these lemmas in a separate file because I expect follow-up linearization lemmas to belong naturally in the same place.
I am also happy to rename declarations or move the file if reviewers would prefer. |
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
60/0 |
Mathlib.lean,Mathlib/Algebra/Jordan/Linearization.lean |
2 |
6 |
['Yaohua-Leo', 'github-actions', 'grunweg', 'ocfnash'] |
ocfnash assignee:ocfnash |
52-24517 1 month ago |
52-24517 52 days ago |
13-10710 13 days |
| 36813 |
AlexeyMilovanov author:AlexeyMilovanov |
feat(Computability.Encoding): add self-delimiting unary and pair encodings |
Adds `unaryPrefix` (a self-delimiting $1^n 0$ code) and `prefixPair` to `Mathlib.Computability.Encoding`.
**Key changes:**
* **`unaryPrefix`**: A prefix-free unary encoding for $\mathbb{N}$, distinct from the existing `unaryEncodeNat`.
* **`unaryPrefix_append_inj`**: A basic cancellation lemma that allows unique extraction of a unary prefix from a concatenated list.
* **`prefixPair`**: A self-delimiting pairing function for boolean lists, defined as $\text{unaryPrefix } |x| \frown x \frown y$.
* **`prefixPair_inj`**: A concise proof of pair injectivity leveraging the new prefix lemmas.
|
t-computability
new-contributor
awaiting-author
|
56/1 |
Mathlib/Computability/Encoding.lean |
1 |
2 |
['Komyyy', 'github-actions'] |
Komyyy assignee:Komyyy |
51-51938 1 month ago |
51-51938 51 days ago |
16-42277 16 days |
| 37644 |
matthunz author:matthunz |
feat(Order/Causal): add `Causal` ordering for stream functions |
Adds `Causal` ordering for stream functions and related theorems:
```lean
def Causal (f : Stream' α → Stream' β) : Prop :=
∀ (x y : Stream' α) (t : ℕ), (∀ s, s ≤ t → x s = y s) → f x t = f y t
```
A stream function is causal if the output at time `t` depends only on inputs up to time `t`. Causal stream functions are commonly used in signal processing, reactive systems, and semantics of stateful computations, where outputs cannot depend on future inputs.
## Future work
- Mealy machines: define Mealy machines as causal stream functions with state, and relate them to standard automata-theoretic constructions.
- Feedback and delay operators: formalize feedback loops and delayed composition, enabling modeling of stateful and recursive stream definitions.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
|
79/0 |
Mathlib.lean,Mathlib/Order/Causal/Basic.lean,Mathlib/Order/Causal/Defs.lean |
3 |
2 |
['github-actions'] |
nobody |
50-77401 1 month ago |
unknown |
0-0 0 seconds |
| 36893 |
Komyyy author:Komyyy |
feat: make `Primrec` and `Computable` `fun_prop` preds |
---
[](https://gitpod.io/from-referrer/)
|
t-computability |
248/92 |
Mathlib/Computability/Primrec/Basic.lean,comment_out.sh,uncomment.sh |
3 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
50-30411 1 month ago |
unknown |
0-0 0 seconds |
| 37663 |
khwilson author:khwilson |
feat(NumberTheory/ArithmeticStatistics/Reducible): Counting reducible polynomials |
A result of van der Waerden critical in arithmetic statistics which shows that the number of reducible monic polynomials of degree n is O(H^(n-1)).
---
[](https://gitpod.io/from-referrer/)
|
|
441/2 |
Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Data/Set/Card.lean,Mathlib/NumberTheory/ArithmeticStatistics/Reducible.lean,Mathlib/NumberTheory/MahlerMeasure.lean |
4 |
1 |
['github-actions'] |
nobody |
50-17460 1 month ago |
unknown |
0-0 0 seconds |
| 37160 |
vihdzp author:vihdzp |
feat: product of Coxeter matrices |
The Coxeter matrix `A * B` is the block matrix `!![A, 2; 2, B]`.
---
I've used multiplication to denote this under the logic that the product of Coxeter groups has a Coxeter matrix given by this construction. Perhaps this isn't desirable, considering it doesn't match matrix multiplication. I'm open to suggestions.
[](https://gitpod.io/from-referrer/)
|
t-group-theory
WIP
|
13/3 |
Mathlib/GroupTheory/Coxeter/Matrix.lean |
1 |
5 |
['github-actions', 'mathlib-bors', 'tb65536', 'vihdzp'] |
tb65536 assignee:tb65536 |
49-8764 1 month ago |
49-8771 49 days ago |
12-13791 12 days |
| 37730 |
RemyDegenne author:RemyDegenne |
feat: define total variation distance |
Define the total variation distance between two finite measures, using the variation of the difference seen as signed measures.
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
WIP
t-measure-probability
|
56/0 |
Mathlib.lean,Mathlib/InformationTheory/TotalVariation/Basic.lean |
2 |
1 |
['github-actions'] |
nobody |
48-33271 1 month ago |
48-33609 48 days ago |
0-1 1 second |
| 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.
---
[](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 |
48-32691 1 month ago |
48-32691 48 days ago |
0-68801 19 hours |
| 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 |
48-23271 1 month ago |
54-8127 54 days ago |
0-13581 3 hours |
| 37757 |
JovanGerb author:JovanGerb |
chore(Order/liminfLimsup): use `to_dual` |
This PR uses `to_dual` on `limsup`. This PR still depends on many other PRs.
---
[](https://gitpod.io/from-referrer/)
|
|
86/251 |
Mathlib/Order/LiminfLimsup.lean,Mathlib/Tactic/Translate/ToDual.lean |
2 |
2 |
['github-actions', 'mathlib-bors'] |
nobody |
48-10324 1 month ago |
48-10378 48 days ago |
0-8 8 seconds |
| 37057 |
erdOne author:erdOne |
feat(AlgebraicTopology): `SimplexCategory.toTop_map_δ_apply` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
maintainer-merge
awaiting-author
merge-conflict
|
48/2 |
Mathlib/AlgebraicTopology/CechNerve.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Defs.lean,Mathlib/AlgebraicTopology/TopologicalSimplex.lean,Mathlib/Data/Fin/SuccPred.lean |
5 |
17 |
['Raph-DG', 'dagurtomas', 'erdOne', 'github-actions', 'joelriou', 'mathlib-merge-conflicts', 'riccardobrasca'] |
robin-carlier assignee:robin-carlier |
47-42618 1 month ago |
49-3858 49 days ago |
4-49805 4 days |
| 37281 |
AltSoKoly author:AltSoKoly |
Update EdgeConnectivity.lean |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
awaiting-author
|
123/0 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean,Mathlib/Data/Int/GCD.lean |
2 |
5 |
['github-actions', 'grunweg', 'themathqueen'] |
nobody |
47-11882 1 month ago |
59-2645 59 days ago |
0-432 7 minutes |
| 37344 |
vihdzp author:vihdzp |
feat: monotone function `Cardinal → α` is eventually constant |
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory
t-order
awaiting-author
|
57/0 |
Mathlib.lean,Mathlib/Logic/Small/Basic.lean,Mathlib/SetTheory/Cardinal/EventuallyConst.lean |
3 |
3 |
['YaelDillies', 'github-actions', 'vihdzp', 'wwylele'] |
YaelDillies assignee:YaelDillies |
46-36591 1 month ago |
46-36591 46 days ago |
10-47007 10 days |
| 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 |
44-76795 1 month ago |
46-3254 46 days ago |
1-79421 1 day |
| 36733 |
xroblot author:xroblot |
feat(RamificationInertia): decomposition field and inertia field of subfields |
If `D` (resp. `E`) is the decomposition (resp. inertia) field of `P` in `L/K` and `F` is a subextension, then the decomposition (resp. inertia) field of the prime of `F` below `P` in `F/K` is` D ⊓ F` (resp. `E ⊓ F`).
---
- [ ] depends on: #36544
- [ ] depends on: #35991
- [x] depends on: #36391.
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
merge-conflict
|
818/31 |
Mathlib.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/Galois/IsGaloisGroup.lean,Mathlib/FieldTheory/IntermediateField/Algebraic.lean,Mathlib/FieldTheory/Normal/Defs.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/NumberTheory/RamificationInertia/Galois.lean,Mathlib/NumberTheory/RamificationInertia/HilbertTheory.lean,Mathlib/NumberTheory/RamificationInertia/Inertia.lean,Mathlib/NumberTheory/RamificationInertia/Ramification.lean,Mathlib/RingTheory/Ideal/Galois.lean |
13 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
44-70840 1 month ago |
70-12855 70 days ago |
0-48 48 seconds |
| 36763 |
alok author:alok |
refactor(Order/Filter/Germ): partial sections for Filter.Product |
## Summary
- Refactor `Filter.Product` from total functions to partial sections (`Product.Section`) with filter-large domains
- Adapt the model-theoretic `Prestructure` and Łoś's theorem proofs to partial sections
- Add `Germ ↔ Product` bridge equivalence for constant families
## Motivation
The current `Filter.Product` is a quotient of total functions `(a : α) → ε a` by eventual equality. This requires all fibers to be inhabited, which is not the mathematically correct construction. The ultraproduct should only require a section defined on a filter-large set.
The new `Product.Section` structure carries:
- A domain `dom : Set α` with `dom ∈ l`
- A dependent section `val : (a : dom) → ε a`
Two sections are equivalent if they agree on some filter-large common domain. This matches the standard mathematical construction and enables proper ultraproducts where some fibers may be empty.
## Changes
### `Mathlib/Order/Filter/Germ/Basic.lean`
- New `Product.Section` structure (partial section with filter-large domain)
- `productSetoid` redefined over `Product.Section`
- `Product.ofTotal` embeds total sections; `eq_iff_ofTotal` characterizes equality
### `Mathlib/ModelTheory/Ultraproducts.lean`
- `sectionStructure`: first-order structure on partial sections (funMap restricts to domain intersection, RelMap checks on common domain)
- `setoidPrestructure` adapted with full proofs of `fun_equiv` and `rel_equiv`
- `funMap_cast`, `boundedFormula_realize_cast` (rel case), `all` quantifier case all reproved for partial sections
- Łoś's theorem statement unchanged; `sentence_realize` still has the same API
### `Mathlib/Order/Filter/Germ/Product.lean` (new)
- `Germ.toProduct` / `Product.toGerm`: round-trip between germs and constant-family products
- `Germ.prodEquiv`: equivalence for inhabited constant families (backward compat)
## Test plan
- [x] `lake build` passes (7607/7607 modules)
- [x] All linter warnings resolved
- [x] `Mathlib.ModelTheory.Satisfiability` (uses `Filter.Product` + `sentence_realize`) still compiles
- [x] `Mathlib.Analysis.Real.Hyperreal` still compiles
---
Context: [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Nonstandard.20Analysis/near/513178715) — Violeta Hernández asked for fixing the ultraproduct definition as the first step after #33650 deprecated the old hyperreal machinery.
🤖 Generated with [Claude Code](https://claude.com/claude-code) |
new-contributor
merge-conflict
|
278/49 |
Mathlib.lean,Mathlib/ModelTheory/Ultraproducts.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/Order/Filter/Germ/Product.lean |
4 |
5 |
['alok', 'github-actions', 'mathlib-merge-conflicts', 'plp127'] |
nobody |
44-70839 1 month ago |
unknown |
0-0 0 seconds |
| 36764 |
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):
* `DirectSum.lequivCongrLeft_lof`: unchanged 🎉
* `AnalyticOnNhd.preimage_mem_codiscreteWithin`: unchanged 🎉
* `mem_permsOfList_of_mem`: unchanged 🎉
* `PNat.mod_le`: unchanged 🎉
* `Computation.map_parallel`: unchanged 🎉
* `Sigma.curry_update`: unchanged 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
|
11/41 |
Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Data/Fintype/Perm.lean,Mathlib/Data/PNat/Basic.lean,Mathlib/Data/Seq/Parallel.lean,Mathlib/Data/Sigma/Basic.lean |
6 |
13 |
['chenson2018', 'euprunin', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
44-38274 1 month ago |
44-38334 44 days ago |
69-10108 69 days |
| 37055 |
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):
* `OreLocalization.smul'_char`: unchanged 🎉
* `Equiv.Perm.cycleOf_mem_cycleFactorsFinset_iff`: unchanged 🎉
* `StrictMono.ite'`: unchanged 🎉
* `Mathlib.Meta.NormNum.isInt_ediv`: unchanged 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
|
10/29 |
Mathlib/GroupTheory/OreLocalization/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Tactic/NormNum/DivMod.lean |
4 |
11 |
['chenson2018', 'euprunin', 'github-actions'] |
nobody |
44-35914 1 month ago |
44-35975 44 days ago |
62-33554 62 days |
| 36989 |
MichaelStollBayreuth author:MichaelStollBayreuth |
feat(NumberTheory/Height/EllipticCurve): new file |
This PR defines the "addition-and-subtraction map" on x-coordinates of pairs of points on elliptic curves and proves an inequality for the logarithmic height of the image.
In a later PR, we will show that the map thus defined indeed comes from addition and subtraction on an elliptic curve.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
awaiting-author
|
214/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/AddSubMap.lean,Mathlib/NumberTheory/Height/EllipticCurve.lean |
3 |
20 |
['MichaelStollBayreuth', 'Multramate', 'github-actions', 'riccardobrasca'] |
Multramate and riccardobrasca assignee:Multramate assignee:riccardobrasca |
44-6603 1 month ago |
44-6603 44 days ago |
18-11884 18 days |
| 37954 |
jdhart81 author:jdhart81 |
feat(Data/ENNReal/Inv): add ENNReal.div_mul_div_cancel |
Proves a / b * (b / c) = a / c for b ≠ 0, b ≠ ∞ in ENNReal. Proof via mul_div_assoc and existing div_mul_cancel.
AI Disclosure: This PR was developed with assistance from an LLM (Claude, Anthropic) for proof exploration and text drafting. The proof was compiled and verified locally by the contributor, who understands the mathematical content. This lemma is extracted from a larger formalization of information-theoretic bounds (Zenodo DOI: 10.5281/zenodo.19317983).
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
5/0 |
Mathlib/Data/ENNReal/Inv.lean |
1 |
2 |
['github-actions'] |
nobody |
43-13254 1 month ago |
43-13252 43 days ago |
0-75 1 minute |
| 36744 |
farmanb author:farmanb |
feat(CategoryTheory/Abelian/TorsionTheory): Introduce torsion theory for abelian categories |
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
WIP
|
329/0 |
Mathlib.lean,Mathlib/CategoryTheory/Abelian/TorsionTheory/Basic.lean |
2 |
11 |
['farmanb', 'github-actions', 'joelriou', 'plp127'] |
nobody |
43-12063 1 month ago |
unknown |
0-0 0 seconds |
| 37751 |
JovanGerb author:JovanGerb |
chore(Order/Filter/IsBounded): use `to_dual` |
use `to_dual` for `Filter.IsBounded`
---
- [ ] depends on: #37747
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
merge-conflict
|
120/378 |
Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Data/Set/Finite/Lattice.lean,Mathlib/Order/Filter/AtTopBot/Basic.lean,Mathlib/Order/Filter/IsBounded.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
41-70640 1 month ago |
48-10305 48 days ago |
0-1523 25 minutes |
| 38039 |
themathqueen author:themathqueen |
chore(Topology): `UniformSpace.Completion` renames for morphisms |
- [ ] `UniformSpace.Completion.mapRingHom` -> `UniformSpace.RingHom.completion`
- [ ]
---
Just starting this now so that I don't forget again. Will hopefully get to it soon.
See Zulip thread: [#mathlib4 > naming convention: `UniformSpace.Completion` morphisms](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/naming.20convention.3A.20.60UniformSpace.2ECompletion.60.20morphisms)
[](https://gitpod.io/from-referrer/)
|
WIP
t-topology
|
24/11 |
Mathlib/Topology/Algebra/UniformRing.lean |
1 |
1 |
['github-actions'] |
nobody |
41-17681 1 month ago |
unknown |
0-0 0 seconds |
| 38040 |
homeowmorphism author:homeowmorphism |
feat(FinitelyPresentedGroup): Add direct product instance |
Adds that the direct product of two finitely presented groups are finitely presented.
---
[](https://gitpod.io/from-referrer/)
|
t-group-theory |
7/0 |
Mathlib/GroupTheory/FinitelyPresentedGroup.lean |
1 |
5 |
['copilot-pull-request-reviewer', 'github-actions', 'homeowmorphism', 'mathlib-bors'] |
nobody |
41-9548 1 month ago |
41-13414 41 days ago |
0-7 7 seconds |
| 38017 |
kbuzzard author:kbuzzard |
perf(Algebra/Ring): faster Ring.toAddGroupWithOne instance |
An attempt to manually make `Ring.toAddGroupWithOne` a fast instance.
---
[](https://gitpod.io/from-referrer/)
[#mathlib4 > instance unfolding phenomenon @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/instance.20unfolding.20phenomenon/near/585295822) |
WIP
t-algebra
merge-conflict
label:t-algebra$ |
64/18 |
Mathlib/Algebra/Field/Defs.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Data/Int/Cast/Defs.lean |
7 |
7 |
['eric-wieser', 'github-actions', 'kbuzzard', 'leanprover-radar'] |
nobody |
40-47025 1 month ago |
41-75798 41 days ago |
0-2 2 seconds |
| 37050 |
artie2000 author:artie2000 |
DRAFT refactor: remove `ConvexCone` |
This draft PR deletes all downstream references to `ConvexCone`
---
- [ ] depends on: #37053
- [x] depends on: #37054
- [x] depends on: #37058
- [ ] depends on: #37420
- [ ] depends on: #37298
- [ ] depends on: #36605
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-other-PR
large-import
merge-conflict
|
114/173 |
Mathlib/Algebra/Group/Subgroup/Order.lean,Mathlib/Algebra/Group/Submonoid/Support.lean,Mathlib/Analysis/Convex/Cone/Basic.lean,Mathlib/Analysis/Convex/Cone/Closure.lean,Mathlib/Analysis/Convex/Cone/Extension.lean,Mathlib/Geometry/Convex/Cone/Dual.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean |
7 |
14 |
['YaelDillies', 'artie2000', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
40-11498 1 month ago |
62-86063 62 days ago |
0-1478 24 minutes |
| 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.
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
|
617/5 |
Mathlib.lean,Mathlib/AlgebraicTopology/InvarianceOfDomain.lean,Mathlib/Analysis/Convex/GaugeRescale.lean,Mathlib/Topology/Closure.lean,Mathlib/Topology/Order.lean |
5 |
2 |
['github-actions'] |
nobody |
39-83916 1 month ago |
39-83892 39 days ago |
0-6926 1 hour |
| 37865 |
Jun2M author:Jun2M |
feat(Combinatorics/Graph): Edge cut of `Graph` |
This PR introduces
- `edgeCut`: A function on set of vertices that returns the set of edges with exactly one end in the set.
- `IsEdgeCut`: A predicate for set of edges that promises it is `edgeCut` of some set.
- `IsBridge`: An edge `e` is a bridge iff it is a singleton edge cut.
- `IsBond`: An edge Set `B` is bond iff it is minimal nonempty edge cut.
---
- [x] depends on: #35879
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
194/0 |
Mathlib/Combinatorics/Graph/Connected/EdgeCut.Lean,Mathlib/Combinatorics/Graph/Subgraph.lean |
2 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
39-79043 1 month ago |
40-10300 40 days ago |
40-10733 40 days |
| 38050 |
WilliamCoram author:WilliamCoram |
feat: Define Newton polygons |
In this file we construct a method to define newton polygons using a Stream' of `Step`'s which correspond to what you would obtain via the 'algorithm' of rotating half-planes as described in Gouvea's p-adic numbers.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
|
620/0 |
Mathlib.lean,Mathlib/NumberTheory/NewtonPolygon.lean |
2 |
3 |
['github-actions', 'jcommelin'] |
nobody |
39-73962 1 month ago |
unknown |
0-0 0 seconds |
| 37474 |
Komyyy author:Komyyy |
perf: no expose `SplittingField` and `GaloisField` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
WIP
merge-conflict
label:t-algebra$ |
361/95 |
Mathlib/FieldTheory/Finite/GaloisField.lean,Mathlib/FieldTheory/SplittingField/Construction.lean,Mathlib/NumberTheory/Cyclotomic/Basic.lean,MathlibTest/instance_diamonds/FieldTheory/SplittingField/Construction.lean |
4 |
7 |
['Komyyy', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
39-50572 1 month ago |
54-38102 54 days ago |
0-240 4 minutes |
| 37247 |
yuma-mizuno author:yuma-mizuno |
feat(GroupTheory/MonoidLocalization): add prime transport lemmas |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
awaiting-author
|
75/7 |
Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/Defs.lean |
3 |
6 |
['github-actions', 'riccardobrasca'] |
riccardobrasca assignee:riccardobrasca |
39-30448 1 month ago |
39-30448 39 days ago |
20-41780 20 days |
| 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 |
39-22281 1 month ago |
39-23640 39 days ago |
0-69 1 minute |
| 37420 |
artie2000 author:artie2000 |
refactor: change definitions to avoid `ConvexCone` |
Change the definitions of `PointedCone.positive` and `PointedCone.closure` to avoid mentioning `ConvexCone`.
This PR is part of a series deprecating `ConvexCone`: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Replacing.20.60ConvexCone.60.20with.20.60PointedCone.60/with/582738985
---
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry
maintainer-merge
|
10/4 |
Mathlib/Analysis/Convex/Cone/Closure.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean |
2 |
3 |
['YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'ooovi', 'vihdzp'] |
nobody |
39-22212 1 month ago |
39-22176 39 days ago |
54-42734 54 days |
| 37199 |
mckoen author:mckoen |
feat(CategoryTheory/Monoidal/Arrow): pushout-products of monomorphisms are monic |
Proves conditions under which the pushout-product of two monomorphisms is again a monomorphism.
- [x] depends on: #33935
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
merge-conflict
|
580/0 |
Mathlib/CategoryTheory/Adhesive/Basic.lean,Mathlib/CategoryTheory/Monoidal/Arrow.lean,Mathlib/CategoryTheory/Monoidal/Limits/Shapes/Pullback.lean |
3 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
38-83662 1 month ago |
60-44265 60 days ago |
0-13 13 seconds |
| 37844 |
edegeltje author:edegeltje |
feat(CategoryTheory): The (strict bi-)category of partial maps in a category |
This PR adds a type alias for the (strict bi-)category of partial maps in some category.
Given some category `C`, the category of partial maps in `C` has the objects of `C`. 1-morphisms from `X : C` to `Y : C` are partial maps, and 2-morphisms from `f : X ⇀ Y` to `g : X ⇀ Y` are given by extending the support.
It adds API for creating 1-morphisms and 2-morphisms in this bicategory, as well as defines various relevant functors and presheaves
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
awaiting-author
|
843/3 |
Mathlib.lean,Mathlib/CategoryTheory/Bicategory/LocallyDiscrete.lean,Mathlib/CategoryTheory/PartialMap/Defs.lean,Mathlib/CategoryTheory/PartialMap/PrePartialMap.lean |
4 |
5 |
['dagurtomas', 'edegeltje', 'github-actions'] |
nobody |
38-71366 1 month ago |
45-71952 45 days ago |
0-12805 3 hours |
| 37938 |
SamuelSchlesinger author:SamuelSchlesinger |
feat(Probability/Posterior): Posterior PMFs and Various Lemmas |
Upstreaming the probability lemmas needed in https://github.com/leanprover/cslib/pull/464. |
t-measure-probability
new-contributor
awaiting-author
|
130/0 |
Mathlib.lean,Mathlib/Probability/ProbabilityMassFunction/Posterior.lean |
2 |
6 |
['EtienneC30', 'SamuelSchlesinger', 'github-actions'] |
RemyDegenne assignee:RemyDegenne |
38-70024 1 month ago |
40-17065 40 days ago |
0-4092 1 hour |
| 37907 |
grunweg author:grunweg |
feat(by_contra,contrapose): warn if the push_neg step does nothing |
---
- [x] depends on: #31597
- [x] depends on: #37899
- [x] depends on: #37937
- [x] depends on: #37999
- [x] depends on: #38008
[](https://gitpod.io/from-referrer/)
|
awaiting-CI
t-meta
|
42/6 |
Mathlib/NumberTheory/ArithmeticFunction/LFunction.lean,Mathlib/Tactic/ByContra.lean,Mathlib/Tactic/Contrapose.lean,MathlibTest/Contrapose.lean,MathlibTest/byContra.lean |
5 |
4 |
['github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
38-35960 1 month ago |
44-73202 44 days ago |
0-2 2 seconds |
| 38139 |
sidbedi author:sidbedi |
chore(Algebra/MvPolynomial/Variables): golf MvPolynomial.vars_0 to rfl |
---
The classical qualifier and explicit rewrite chain are unnecessary — the result holds definitionally.
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
awaiting-author
label:t-algebra$ |
1/2 |
Mathlib/Algebra/MvPolynomial/Variables.lean |
1 |
3 |
['github-actions', 'grunweg'] |
nobody |
38-28084 1 month ago |
38-28084 38 days ago |
0-34567 9 hours |
| 38140 |
sidbedi author:sidbedi |
chore(Data/Analysis/Filter): golf CFilter.ofEquiv_val to rfl |
---
cases F is unnecessary, the result holds definitionally.
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
awaiting-author
|
1/2 |
Mathlib/Data/Analysis/Filter.lean |
1 |
3 |
['github-actions', 'grunweg'] |
nobody |
38-28040 1 month ago |
38-28040 38 days ago |
0-34488 9 hours |
| 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
|
321/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean,Mathlib/Geometry/PlaneCurves.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,docs/references.bib |
5 |
114 |
['Ruben-VandeVelde', 'github-actions', 'grunweg', 'michael-novak-math', 'scholzhannah'] |
nobody |
38-22021 1 month ago |
50-86044 50 days ago |
12-40134 12 days |
| 37929 |
Vierkantor author:Vierkantor |
chore(Tactic): rewrite `reduce_mod_char` tactic docstring |
This PR rewrites the docstrings for the `reduce_mod_char` tactic, to consistently match the official style guide, to make sure they are complete while not getting too long.
---
[](https://gitpod.io/from-referrer/)
|
documentation
t-meta
awaiting-author
|
22/12 |
Mathlib/Tactic/ReduceModChar.lean |
1 |
4 |
['JovanGerb', 'github-actions'] |
JovanGerb assignee:JovanGerb |
38-20876 1 month ago |
38-20876 38 days ago |
3-77447 3 days |
| 38158 |
ADedecker author:ADedecker |
Illustration of a weird behaviour |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
23/0 |
Mathlib/Topology/Algebra/Module/Spaces/CompactConvergenceCLM.lean |
1 |
1 |
['github-actions'] |
nobody |
38-16596 1 month ago |
unknown |
0-0 0 seconds |
| 38130 |
edegeltje author:edegeltje |
feat(CategoryTheory): Add the category of partial map diagrams |
This PR was split from #37844
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
awaiting-author
|
324/0 |
Mathlib.lean,Mathlib/CategoryTheory/PartialMap/PrePartialMap.lean |
2 |
13 |
['chrisflav', 'dagurtomas', 'edegeltje', 'github-actions', 'joelriou', 'robin-carlier'] |
nobody |
38-9540 1 month ago |
38-9540 38 days ago |
0-68688 19 hours |
| 37480 |
erdOne author:erdOne |
feat(AlgebraicTopology): homology of contractible spaces |
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
awaiting-author
merge-conflict
|
62/4 |
Mathlib/AlgebraicTopology/SingularHomology/HomotopyInvarianceTopCat.lean,Mathlib/Topology/Category/TopCat/Limits/Basic.lean |
2 |
25 |
['FernandoChu', 'dagurtomas', 'erdOne', 'github-actions', 'joelriou', 'mathlib-merge-conflicts', 'vlad902'] |
dagurtomas assignee:dagurtomas |
38-6924 1 month ago |
46-1281 46 days ago |
7-33084 7 days |
| 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.
---
- [ ] depends on: #37682
[](https://gitpod.io/from-referrer/)
|
new-contributor
blocked-by-other-PR
merge-conflict
t-order
|
90/136 |
Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Defs.lean,Mathlib/Order/OrdContinuous.lean,Mathlib/Order/SemiconjSup.lean,Mathlib/Tactic/Translate/ToDual.lean,Mathlib/Topology/Order/Basic.lean |
6 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
38-2648 1 month ago |
49-57940 49 days ago |
0-1447 24 minutes |
| 37684 |
SabrinaJewson author:SabrinaJewson |
feat(Topology/Order): provide lemmas linking topological continuity to order continuity |
All the hard work is already done, but this just fills in a couple convenient missing pieces.
---
- [ ] depends on: #37682
[](https://gitpod.io/from-referrer/)
|
new-contributor
blocked-by-other-PR
merge-conflict
t-topology
|
106/136 |
Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Defs.lean,Mathlib/Order/OrdContinuous.lean,Mathlib/Order/SemiconjSup.lean,Mathlib/Tactic/Translate/ToDual.lean,Mathlib/Topology/Order/Basic.lean,Mathlib/Topology/Order/IsLUB.lean,Mathlib/Topology/Order/Monotone.lean |
8 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
38-2637 1 month ago |
49-57941 49 days ago |
0-1299 21 minutes |
| 36843 |
xroblot author:xroblot |
feat(NumberTheory/RamificationInertia/HilbertTheory): compositum of unramified extensions is unramified |
Add two theorems about the behaviour of ramification in composite extensions:
- `Ideal.ramificationIdx_sup_eq_one`: if a prime `p` is unramified in both `F₁/K` and `F₂/K`, then it is unramified in `(F₁ ⊔ F₂)/K`.
- `Ideal.ramificationIdx_inertiaDeg_sup_eq_one`: if `p` totally splits in both `F₁/K` and `F₂/K`, then it totally splits in `(F₁ ⊔ F₂)/K`.
These are obtained by reducing to the Galois case (proved in the same file).
---
- [ ] depends on: #36772
- [ ] depends on: #35991
[](https://gitpod.io/from-referrer/)
|
large-import
blocked-by-other-PR
merge-conflict
t-number-theory
t-algebra
label:t-algebra$ |
1327/32 |
Mathlib.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/Galois/IsGaloisGroup.lean,Mathlib/FieldTheory/IntermediateField/Algebraic.lean,Mathlib/FieldTheory/IntermediateField/ExtendTop.lean,Mathlib/FieldTheory/Normal/Defs.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/NumberTheory/RamificationInertia/Galois.lean,Mathlib/NumberTheory/RamificationInertia/HilbertTheory.lean,Mathlib/RingTheory/AlgebraTower.lean,Mathlib/RingTheory/Ideal/Galois.lean,Mathlib/RingTheory/Invariant/Basic.lean,Mathlib/RingTheory/Localization/FractionRing.lean |
17 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
38-2615 1 month ago |
67-33274 67 days ago |
0-1289 21 minutes |
| 37376 |
NoneMore author:NoneMore |
feat(Topology/CantorBendixson): add iterated derived sets and perfect kernel |
Define the transfinite iteration of the relative derived-set operator via `gfpApprox` and introduce the perfect kernel of a set.
---
AI disclosure: Most declarations, comments, and documentation in this PR were generated with Codex. Some proofs were structurally simplified using the `/golf` command from Lean 4 Skills. I reviewed the resulting code and documentation and can vouch for all submitted content.
- [ ] depends on: #37374
- [x] depends on: #37375
[](https://gitpod.io/from-referrer/)
|
new-contributor
blocked-by-other-PR
t-topology
|
249/0 |
Mathlib.lean,Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean,Mathlib/Topology/CantorBendixson.lean,Mathlib/Topology/DerivedSet.lean |
4 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
38-2606 1 month ago |
56-10338 56 days ago |
0-832 13 minutes |
| 37365 |
lecopivo author:lecopivo |
feat(Tactic/FunProp): theorem priority |
Add support for theorem priority for `fun_prop`
---
Computing derivatives revealed that `fun_prop` really needs priority support for it theorems as `HasDerivAt.fun_pow'` should definitely have lower priority over `HasDerivAt.fun_pow`.
- [ ] depends on: #37270
-->
[](https://gitpod.io/from-referrer/)
|
large-import
blocked-by-other-PR
merge-conflict
t-meta
|
1740/258 |
Mathlib.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/AffineMap.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Comp.lean,Mathlib/Analysis/Calculus/Deriv/Inv.lean,Mathlib/Analysis/Calculus/Deriv/Linear.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Calculus/Deriv/Pi.lean,Mathlib/Analysis/Calculus/Deriv/Pow.lean,Mathlib/Analysis/Calculus/Deriv/Prod.lean,Mathlib/Analysis/Calculus/Deriv/Star.lean,Mathlib/Analysis/Calculus/Deriv/ZPow.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Comp.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousAlternatingMap.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousMultilinearMap.lean,Mathlib/Analysis/Calculus/FDeriv/Defs.lean,Mathlib/Analysis/Calculus/FDeriv/Pow.lean,Mathlib/Analysis/Calculus/FDeriv/Prod.lean,Mathlib/Analysis/SpecialFunctions/Arcosh.lean,Mathlib/Analysis/SpecialFunctions/Arsinh.lean,Mathlib/Analysis/SpecialFunctions/Complex/LogDeriv.lean,Mathlib/Analysis/SpecialFunctions/ExpDeriv.lean,Mathlib/Analysis/SpecialFunctions/Exponential.lean,Mathlib/Analysis/SpecialFunctions/Log/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Sqrt.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/ArctanDeriv.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/ComplexDeriv.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/DerivHyp.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/InverseDeriv.lean,Mathlib/Tactic.lean,Mathlib/Tactic/FunProp.lean,Mathlib/Tactic/FunProp/Attr.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/Decl.lean,Mathlib/Tactic/FunProp/Elab.lean,Mathlib/Tactic/FunProp/Simproc.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/FunProp/Types.lean,Mathlib/Tactic/Measurability.lean,MathlibTest/fun_prop2.lean,MathlibTest/fun_prop_dev.lean,MathlibTest/fun_prop_dev_out_param.lean |
46 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
38-2597 1 month ago |
56-24745 56 days ago |
0-629 10 minutes |
| 37904 |
maddycrim author:maddycrim |
feat(LinearAlgebra/PiTensorProduct/PiEquiv): Tensor Product and Direct Product Commute for Finitely Presented Modules |
From FLT Project.
Main definitions:
* `tensorPi_equiv_piTensor'` : `M ⊗[R] (Π i, N i) ≃ₗ[R] Π i, (M ⊗[R] N i)` for finite free modules
* `tensorPi_equiv_piTensor` : the same but for finitely-presented modules.
Depends on #38170
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
244/0 |
Mathlib.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/LinearAlgebra/PiTensorProduct/PiEquiv.lean |
4 |
5 |
['github-actions', 'maddycrim', 'themathqueen'] |
nobody |
38-387 1 month ago |
38-4439 38 days ago |
0-3725 1 hour |
| 38185 |
Jun2M author:Jun2M |
feat(Order/Partition): operations over Frame |
This PR introduces:
* `Partition.induce`: The induce of a partition by a frame element.
* `Partition.disjUnion`: The disjoint union of two partitions.
* `Partition.bind`: The finer partition obtained by family of partitions for each part of the original partition.
Co-authored-by: Peter Nelson
---
[](https://gitpod.io/from-referrer/)
|
t-order |
89/11 |
Mathlib/Order/Partition/Basic.lean,Mathlib/Order/SupIndep.lean |
2 |
1 |
['github-actions'] |
nobody |
37-75378 1 month ago |
37-75450 37 days ago |
37-75445 37 days |
| 38154 |
ybenmeur author:ybenmeur |
add subsingleton case to ExpChar |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
113/49 |
Mathlib/Algebra/CharP/Algebra.lean,Mathlib/Algebra/CharP/Basic.lean,Mathlib/Algebra/CharP/Defs.lean,Mathlib/Algebra/CharP/Lemmas.lean,Mathlib/Algebra/CharP/Subring.lean,Mathlib/Algebra/Polynomial/Expand.lean,Mathlib/FieldTheory/Perfect.lean,Mathlib/FieldTheory/PurelyInseparable/Exponent.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/RingTheory/MvPolynomial/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Expand.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/Polynomial/SeparableDegree.lean,Mathlib/RingTheory/Trace/Basic.lean |
15 |
2 |
['github-actions'] |
nobody |
37-10406 1 month ago |
unknown |
0-0 0 seconds |
| 37530 |
mcdoll author:mcdoll |
fix(Topology/Algebra): fix bad simps and make arguments implicit for `PointwiseConvergenceCLM` |
We delete all `simps` calls in the definitions of operators on `PointwiseConvergenceCLM` and replace them with `apply_apply` lemmas that do not abuse the defeq between `SLₚₜ` and `SL`. This made the linter discover some typeclass duplications, which we remove by restructuring the file.
As a consequence of the new `simp` lemmas, we can remove all `set_option backward.isDefEq.respectTransparency false in` in `Analysis.Distribution.TemperedDistribution`.
Moreover, we make several arguments implicit, which can be inferred in almost all practical situations.
---
[](https://gitpod.io/from-referrer/)
|
not-ready-to-merge
merge-conflict
|
88/69 |
Mathlib/Analysis/Distribution/TemperedDistribution.lean,Mathlib/Topology/Algebra/Module/Spaces/PointwiseConvergenceCLM.lean |
2 |
5 |
['github-actions', 'jcommelin', 'mathlib-merge-conflicts', 'mcdoll'] |
nobody |
36-40434 1 month ago |
36-40435 36 days ago |
14-59669 14 days |
| 37593 |
IlPreteRosso author:IlPreteRosso |
refactor(Data.Finset.*Antidiagonal): rename set-based defs to `set*Antidiagonal` |
Renames set-based `Finset.mulAntidiagonal` → `setMulAntidiagonal` (and SMul/VAdd variants) to free the `mulAntidiagonal` name for the planned `HasMulAntidiagonal` typeclass. Deprecation aliases added.
Supersedes #34551 |
t-ring-theory
new-contributor
merge-conflict
|
178/96 |
Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Data/Finset/MulAntidiagonal.lean,Mathlib/Data/Finset/SMulAntidiagonal.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/HahnSeries/Summable.lean |
6 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
36-40433 1 month ago |
36-40434 36 days ago |
15-61521 15 days |
| 37528 |
kim-em author:kim-em |
feat: @[simps] warns when generating defeq abusing lemmas |
|
t-meta |
202/16 |
Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/MulOpposite.lean,Mathlib/Algebra/DirectSum/AddChar.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/Group/Action/Basic.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Equiv/TypeTags.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/Lie/Extension.lean,Mathlib/Algebra/Lie/NonUnitalNonAssocAlgebra.lean,Mathlib/Algebra/Lie/Quotient.lean,Mathlib/Algebra/Lie/Weights/Linear.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/Algebra/Module/Presentation/Basic.lean,Mathlib/Algebra/Module/Presentation/Cokernel.lean,Mathlib/Algebra/Module/Presentation/DirectSum.lean,Mathlib/Algebra/Module/Presentation/Tautological.lean,Mathlib/Algebra/Module/Presentation/Tensor.lean,Mathlib/Algebra/Module/Submodule/Range.lean,Mathlib/Algebra/Module/Submodule/RestrictScalars.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MonoidAlgebra/Opposite.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Ring/Subring/MulOpposite.lean,Mathlib/Algebra/TrivSqZeroExt/Basic.lean,Mathlib/Algebra/Vertex/HVertexOperator.lean,Mathlib/Analysis/Analytic/ChangeOrigin.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Analysis/Quaternion.lean,Mathlib/Combinatorics/Quiver/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Computability/ContextFreeGrammar.lean,Mathlib/Data/Bundle.lean,Mathlib/Data/Matrix/DualNumber.lean,Mathlib/Data/Multiset/Fintype.lean,Mathlib/Data/Real/ENatENNReal.lean,Mathlib/Data/Sym/Basic.lean,Mathlib/Geometry/Manifold/ContMDiffMFDeriv.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/GroupTheory/FreeAbelianGroup.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/LinearAlgebra/ExteriorPower/Basic.lean,Mathlib/LinearAlgebra/Multilinear/DFinsupp.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Logic/Equiv/Fin/Basic.lean,Mathlib/Logic/Function/FromTypes.lean,Mathlib/ModelTheory/Bundled.lean,Mathlib/ModelTheory/Encoding.lean,Mathlib/ModelTheory/LanguageMap.lean,Mathlib/Order/CompleteSublattice.lean,Mathlib/Order/Hom/Bounded.lean,Mathlib/Order/Hom/BoundedLattice.lean,Mathlib/Order/Hom/CompleteLattice.lean,Mathlib/Order/Hom/Lattice.lean,Mathlib/Order/Sublattice.lean,Mathlib/RepresentationTheory/Basic.lean,Mathlib/RingTheory/Coalgebra/Hom.lean,Mathlib/RingTheory/Extension/Basic.lean,Mathlib/RingTheory/Extension/Cotangent/Basic.lean,Mathlib/RingTheory/Extension/Generators.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/IsAdjoinRoot.lean,Mathlib/RingTheory/PowerBasis.lean,Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean,Mathlib/Tactic/Simps/Basic.lean,Mathlib/Topology/Algebra/Module/Spaces/CompactConvergenceCLM.lean,Mathlib/Topology/Algebra/Module/Spaces/PointwiseConvergenceCLM.lean,Mathlib/Topology/Algebra/Module/Spaces/UniformConvergenceCLM.lean,Mathlib/Topology/FiberBundle/Constructions.lean,MathlibTest/Simps.lean |
75 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
36-38136 1 month ago |
unknown |
0-0 0 seconds |
| 37889 |
LLaurance author:LLaurance |
chore(Algebra): shorten proof by using tactic mode instead of calc mode |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
delegated
label:t-algebra$ |
4/13 |
Mathlib/Algebra/Star/Center.lean |
1 |
16 |
['JovanGerb', 'LLaurance', 'faenuccio', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-bors', 'themathqueen'] |
nobody |
36-1951 1 month ago |
44-6533 44 days ago |
1-5229 1 day |
| 32282 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Angle/Incenter): unoriented angle bisection |
Add lemmas giving unoriented angles involving the incenter and excenters of a triangle as expressions involving dividing angles of the triangle by 2, deduced from oriented bisection lemmas.
---
- [ ] depends on: #30981
- [ ] depends on: #30982
- [ ] depends on: #31205
- [ ] depends on: #32019
- [ ] depends on: #32021
- [ ] depends on: #32259
- [ ] depends on: #32260
- [ ] depends on: #32270
- [ ] depends on: #32273
- [ ] depends on: #32278
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
98/0 |
Mathlib/Geometry/Euclidean/Angle/Incenter.lean |
1 |
8 |
['github-actions', 'jsm28', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'wwylele'] |
nobody |
35-61167 1 month ago |
58-85119 58 days ago |
58-85850 58 days |
| 38270 |
Deicyde author:Deicyde |
feat(Geometry/Manifold): The Tangent Functor on `MfldCat` |
A simple motivating example for PR #38223. We define the `tangentFunctor : MfldCat 𝕜 (n + 1) ⥤ MfldCat 𝕜 n` which takes any manifold to its tangent bundle and any smooth map to its pushforward.
This is a standard construction in differential geometry. See: J. Lee, Smooth Manifolds, pg. 75
---
- [ ] depends on: #38223
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
blocked-by-other-PR
new-contributor
|
320/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Category/MfldCat/Basic.lean,Mathlib/Geometry/Manifold/Category/MfldCat/TangentFunctor.lean,Mathlib/Geometry/Manifold/ContMDiffMap.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
35-53489 1 month ago |
unknown |
0-0 0 seconds |
| 38053 |
ntapiam author:ntapiam |
feat(Analysis/Controls): add Control functions |
Add Control functions
----
This PR adds Control functions in the sense of rough paths theory (see e.g. [Friz-Victoir, Section 1.2.1](https://page.math.tu-berlin.de/~friz/master4_May6th.pdf)).
They are related to p-variation norms which are the goal of #38055.
I've shown most results in the above reference though those relating to 1-variation are still a work in progress.
I had to add a few statements about convex functions in order to work over NNReal instead or Real, but I am not sure this is the best way to do it. The reason is that I've defined controls as taking values in NNReal (as they should).
In particular there is
```lean4
theorem nnreal_of_real {f : ℝ≥0 → ℝ≥0}
(hf : ConvexOn ℝ (Set.Ici 0) fun x : ℝ => (f x.toNNReal : ℝ)) : ConvexOn ℝ≥0 ⊤ f
```
which I didn't know where to put. It probably holds in more generality but I didn't check.
I have also included two versions of Controls, one global and one restricted to a set. I tried to follow Mathlib conventions as best as I could but perhaps that could be improved as well.
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
new-contributor
|
571/1 |
Mathlib.lean,Mathlib/Analysis/Controls/BoundedVariation.lean,Mathlib/Analysis/Controls/ControlOn.lean,Mathlib/Analysis/Controls/Defs.lean,Mathlib/Analysis/Convex/Function.lean,docs/references.bib |
6 |
4 |
['github-actions', 'ntapiam'] |
nobody |
35-22537 1 month ago |
40-74120 40 days ago |
0-52 52 seconds |
| 33108 |
alreadydone author:alreadydone |
feat(Topology): `π₁(E⧸G)⧸π₁(E) ≃* G` for `E` path connected |
TODO:
+ finish last step (currently only `π₁(E⧸G) →* G` has been constructed)
+ characterization of the homomorphism
+ change of basepoint `e : E` leads to conjugation by `G`
+ if `G` is abelian then independent of choice of basepoint (and we can remove the ᵐᵒᵖ)
+ $\pi_1(S^1)\cong\mathbb{Z}$
+ define winding number
---
- [x] depends on: #7596
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
WIP
t-topology
merge-conflict
|
232/36 |
Mathlib/Algebra/Regular/SMul.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean,Mathlib/Topology/Covering/Quotient.lean,Mathlib/Topology/Homotopy/Lifting.lean,Mathlib/Topology/Homotopy/Path.lean |
6 |
4 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
34-75069 1 month ago |
156-74696 156 days ago |
0-1 1 second |
| 37432 |
mariainesdff author:mariainesdff |
feat(Algebra/BigOperators/NatAntidiagonal): add ofAdd_antidiagonal |
Co-authored by: @xgenereux.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
label:t-algebra$ |
27/0 |
Mathlib/Algebra/BigOperators/NatAntidiagonal.lean |
1 |
2 |
['dagurtomas', 'github-actions'] |
dagurtomas assignee:dagurtomas |
34-33902 1 month ago |
45-81660 45 days ago |
9-25258 9 days |
| 37444 |
vihdzp author:vihdzp |
feat: typeclass for zero-dimensional spaces |
---
- [ ] depends on: #37317
[](https://gitpod.io/from-referrer/)
|
t-topology
large-import
merge-conflict
|
151/110 |
Mathlib/Topology/Algebra/ClopenNhdofOne.lean,Mathlib/Topology/Category/LightProfinite/Basic.lean,Mathlib/Topology/Category/Profinite/Basic.lean,Mathlib/Topology/Category/Profinite/CofilteredLimit.lean,Mathlib/Topology/Category/Stonean/Basic.lean,Mathlib/Topology/ClopenBox.lean,Mathlib/Topology/Order.lean,Mathlib/Topology/Order/WithTop.lean,Mathlib/Topology/Separation/CompletelyRegular.lean,Mathlib/Topology/Separation/DisjointCover.lean,Mathlib/Topology/Separation/Lemmas.lean,Mathlib/Topology/Separation/Profinite.lean,Mathlib/Topology/UniformSpace/Ultra/Basic.lean |
13 |
17 |
['ADedecker', 'FernandoChu', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
34-19717 1 month ago |
34-20789 34 days ago |
0-5306 1 hour |
| 37479 |
ADedecker author:ADedecker |
feat(Distribution): make parameters implicit in favor of type ascription |
Expanding on a suggestion by @faenuccio in an earlier PR, I make the regularity parameters of [TestFunction.fderivCLM](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Distribution/TestFunction.html#TestFunction.fderivCLM) (and similar constructions) implicit.
This is a bit controversial, because it is essentially forcing type ascription in a lot of contexts. The rationale is that
"the differentiation operator from `𝓓^{n}` to `𝓓^{k}`" matches mathematical practice, and is easier to parse than "the differentiation operator with parameters `n` and `k`".
To make this even more convenient, I introduce notations like `𝓓^{n}` to be used when the spaces can be inferred but the regularity cannot.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
awaiting-author
|
107/46 |
Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/Distribution/TestFunction.lean |
2 |
4 |
['faenuccio', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts'] |
sgouezel assignee:sgouezel |
34-11914 1 month ago |
47-70551 47 days ago |
6-48011 6 days |
| 38339 |
xroblot author:xroblot |
feat(NumberTheory/DirichletCharacter): add conductor_changeLevel and subgroups of characters mapping to one |
This PR main additions are:
- `conductor_changeLevel`: the conductor is invariant under `changeLevel` (lifting to a
multiple level does not change the conductor).
- `primitiveCharacter_changeLevel_apply`: the primitive character of `changeLevel hm χ` equals
that of `χ`.
- `subgroupOfMapToOne`: the subgroup of characters of level `n` sending a fixed integer
`a` (coprime to `n`) to `1`.
- `subgroupOfPrimitiveMapToOne`: the subgroup of characters of level `n` whose primitive
character sends a prime `p` to `1`.
---
- [ ] depends on: #38340
[](https://gitpod.io/from-referrer/)
|
t-number-theory
blocked-by-other-PR
|
118/7 |
Mathlib/Data/ZMod/Coprime.lean,Mathlib/Data/ZMod/Units.lean,Mathlib/NumberTheory/DirichletCharacter/Basic.lean,Mathlib/NumberTheory/MulChar/Basic.lean |
4 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
33-78730 1 month ago |
33-78731 33 days ago |
0-5165 1 hour |
| 37659 |
erdOne author:erdOne |
feat(AlgebraicTopology): relative singular homology |
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
awaiting-author
|
205/2 |
Mathlib.lean,Mathlib/Algebra/Homology/ShortComplex/ShortExact.lean,Mathlib/AlgebraicTopology/SingularHomology/Basic.lean,Mathlib/AlgebraicTopology/SingularHomology/Relative.lean,Mathlib/CategoryTheory/MorphismProperty/Basic.lean |
5 |
9 |
['erdOne', 'github-actions', 'joelriou', 'mathlib-merge-conflicts', 'robin-carlier'] |
nobody |
33-70029 1 month ago |
45-6382 45 days ago |
5-21324 5 days |
| 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.
---
[](https://gitpod.io/from-referrer/)
|
t-order
merge-conflict
|
95/110 |
Mathlib/Order/SuccPred/Limit.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
33-70011 1 month ago |
33-70012 33 days ago |
2-48556 2 days |
| 38321 |
ldct author:ldct |
Tag absolute value lemmas with @[push] |
## Summary
- Tag `abs_mul`, `abs_pow`, `abs_mul_self`, `abs_inv`, `abs_div`, `abs_zpow`, and `abs_neg` with `@[push]` so that `push abs` can distribute absolute value through arithmetic expressions.
- Add tests in `MathlibTest/push.lean` including a compound example: `|a ^ n * b⁻¹ / (-a)| = |a| ^ n * |b|⁻¹ / |a|`
## Test plan
- [x] `lake env lean MathlibTest/push.lean` passes
- [ ] CI
🤖 Generated with [Claude Code](https://claude.com/claude-code) |
t-algebra
merge-conflict
label:t-algebra$ |
44/7 |
Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Field/Power.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Algebra/Order/Ring/Abs.lean,MathlibTest/push.lean |
5 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
33-70009 1 month ago |
unknown |
0-0 0 seconds |
| 38356 |
SnirBroshi author:SnirBroshi |
feat(Order/ConditionallyCompleteLattice/Finset): `sSup s ≠ ⊤` in a `CompleteLinearOrder` for a finite set without `⊤` |
---
btw `to_dual` here is blocked on #35213
[](https://gitpod.io/from-referrer/)
|
t-order |
20/0 |
Mathlib/Order/ConditionallyCompleteLattice/Finset.lean |
1 |
1 |
['github-actions'] |
nobody |
33-58236 1 month ago |
33-58311 33 days ago |
33-58306 33 days |
| 38195 |
thorimur author:thorimur |
test: insert `@[informal]` attributes from overview |
---
[](https://gitpod.io/from-referrer/)
|
file-removed
large-import
merge-conflict
|
1961/353 |
Mathlib.lean,Mathlib/Algebra/AddTorsor/Defs.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Category/AlgCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/Ring/Basic.lean,Mathlib/Algebra/CharP/Defs.lean,Mathlib/Algebra/CharP/Lemmas.lean,Mathlib/Algebra/CharZero/Defs.lean,Mathlib/Algebra/ContinuedFractions/Basic.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/Field/Defs.lean,Mathlib/Algebra/FreeAlgebra.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Group/Irreducible/Defs.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/Algebra/Homology/HomologicalComplex.lean,Mathlib/Algebra/Homology/ShortComplex/HomologicalComplex.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Module/Defs.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/Algebra/Ring/Hom/Defs.lean,Mathlib/Algebra/Ring/Subring/Defs.lean,Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/Calculus/BumpFunction/Convolution.lean,Mathlib/Analysis/Calculus/ContDiff/Convolution.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/Deriv/MeanValue.lean,Mathlib/Analysis/Calculus/FDeriv/Comp.lean,Mathlib/Analysis/Calculus/FDeriv/Defs.lean,Mathlib/Analysis/Calculus/FDeriv/Equiv.lean,Mathlib/Analysis/Calculus/FDeriv/Mul.lean,Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Calculus/InverseFunctionTheorem/FDeriv.lean,Mathlib/Analysis/Calculus/LocalExtr/Basic.lean,Mathlib/Analysis/Calculus/LocalExtr/Rolle.lean,Mathlib/Analysis/Complex/AbsMax.lean,Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/Analysis/Complex/Exponential.lean,Mathlib/Analysis/Complex/Liouville.lean,Mathlib/Analysis/Complex/PhragmenLindelof.lean,Mathlib/Analysis/Complex/Polynomial/Basic.lean,Mathlib/Analysis/Complex/RemovableSingularity.lean,Mathlib/Analysis/Complex/Schwarz.lean,Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/Complex/ValueDistribution/FirstMainTheorem.lean,Mathlib/Analysis/Convex/Caratheodory.lean,Mathlib/Analysis/Convex/Deriv.lean,Mathlib/Analysis/Convex/Function.lean,Mathlib/Analysis/Convex/Integral.lean,Mathlib/Analysis/Convex/Jensen.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/Distribution/Distribution.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/Distribution/TemperedDistribution.lean,Mathlib/Analysis/Distribution/TestFunction.lean,Mathlib/Analysis/Fourier/AddCircle.lean,Mathlib/Analysis/Fourier/FourierTransform.lean,Mathlib/Analysis/Fourier/Inversion.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/InnerProductSpace/Defs.lean,Mathlib/Analysis/InnerProductSpace/Dual.lean,Mathlib/Analysis/InnerProductSpace/LaxMilgram.lean,Mathlib/Analysis/InnerProductSpace/LinearPMap.lean,Mathlib/Analysis/InnerProductSpace/Orthogonal.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/InnerProductSpace/Projection/Basic.lean,Mathlib/Analysis/InnerProductSpace/Projection/Reflection.lean,Mathlib/Analysis/InnerProductSpace/Rayleigh.lean,Mathlib/Analysis/InnerProductSpace/Spectrum.lean,Mathlib/Analysis/InnerProductSpace/l2Space.lean,Mathlib/Analysis/Normed/Group/AddTorsor.lean,Mathlib/Analysis/Normed/Group/InfiniteSum.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Analysis/Normed/Module/DoubleDual.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/Normed/Module/HahnBanach.lean,Mathlib/Analysis/Normed/MulAction.lean,Mathlib/Analysis/Normed/Operator/Banach.lean,Mathlib/Analysis/Normed/Operator/BanachSteinhaus.lean,Mathlib/Analysis/Normed/Operator/ContinuousLinearMap.lean,Mathlib/Analysis/Real/Hyperreal.lean,Mathlib/Analysis/SpecialFunctions/Arsinh.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Inverse.lean |
434 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
33-16873 1 month ago |
unknown |
0-0 0 seconds |
| 37279 |
imalinowskip author:imalinowskip |
feat(Probability): multivariate CLT (and Cramèr-Wold) |
---
- [x] depends on: #36208
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
awaiting-author
large-import
|
500/1 |
Mathlib.lean,Mathlib/Probability/CentralLimitTheorem.lean,Mathlib/Probability/CramerWold.lean |
3 |
10 |
['EtienneC30', 'github-actions', 'imalinowskip', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
RemyDegenne assignee:RemyDegenne |
32-78481 1 month ago |
46-17167 46 days ago |
5-65208 5 days |
| 38325 |
Jun2M author:Jun2M |
feat(Combinatorics/Graph): EndPoint function |
This PR introduces `endPoints`: `Set` of incident vertices, given an edge (in the case of non-edge, return empty).
**Import change**: `Graph/Basic` now imports `Data/Set/Card` to allow reasoning about card of `endPoints`.
[Relavent Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/513188-CSLib/topic/New.20graph.20definitions/with/588616269)
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
large-import
|
83/3 |
Mathlib/Combinatorics/Graph/Basic.lean |
1 |
9 |
['Jun2M', 'SnirBroshi', 'eric-wieser', 'github-actions', 'mathlib-bors'] |
nobody |
32-65234 1 month ago |
32-74064 32 days ago |
34-44002 34 days |
| 38266 |
staroperator author:staroperator |
feat(Order/CompleteLatticeIntervals): `ConditionallyCompleteLinearOrderBot` for `Set.Iio` |
`Set.Iio a` (when it's nonempty) inherits the `ConditionallyCompleteLinearOrderBot` structure from the base type. This is commonly used in set theory, where we consider the ordinals within `a`, and convert `Iio a` from/to `Ordinal`.
There should also be a `ConditionallyCompleteLinearOrder` instance, but adding this seems difficult for now because the junk value may not be the same as bottom (which has been mentioned as "refactor that will allow different
default values for `sSup` and `sInf`" in the module doc). Since my motivation is for the ordinals purely, this PR only adds a single `ConditionallyCompleteLinearOrderBot` instance.
---
I'm not very familiar with the API design here, so any suggestion would be helpful.
- [ ] depends on: #35674
[](https://gitpod.io/from-referrer/)
|
t-order
blocked-by-other-PR
|
76/0 |
Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/CompleteLatticeIntervals.lean,Mathlib/Order/LatticeIntervals.lean |
3 |
7 |
['github-actions', 'mathlib-dependent-issues', 'staroperator', 'vihdzp'] |
nobody |
32-57899 1 month ago |
32-57900 32 days ago |
3-4203 3 days |
| 38399 |
openendings author:openendings |
feat: OrderHom.instOrderSupSet for LawfulSup |
Currently we have `instance [CompleteLattice β] : SupSet (α →o β)`.
We replace this with a mere `LawfulSup` assumption such as #38328, .
TODO:
- [ ] construct an `OrderSupSet` instance instead of `SupSet`
---
WIP
- [ ] depends on: #38328 [or other `LawfulSup`]
(based on master in case something else needs this)
[](https://gitpod.io/from-referrer/)
|
WIP
t-order
new-contributor
blocked-by-other-PR
|
26/0 |
Mathlib/Order/Hom/Order.lean |
1 |
5 |
['github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'openendings'] |
nobody |
32-42389 1 month ago |
32-45233 32 days ago |
0-106 1 minute |
| 37502 |
felixpernegger author:felixpernegger |
refactor(Topology): rename ```LocPathConnected``` |
Rename ```LocPathConnected``` to ```LocallyPathConnected``` per discussion at https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Rename.20.60.60.60LocPathConnectedSpace.60.60.60.3F/with/582824006
Deprecations were partly added with Claude
---
[](https://gitpod.io/from-referrer/)
|
t-topology
merge-conflict
awaiting-author
|
369/304 |
Mathlib.lean,Mathlib/Analysis/CStarAlgebra/Unitary/Connected.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Topology.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Topology/Algebra/Module/LocallyConvex.lean,Mathlib/Topology/Compactness/DeltaGeneratedSpace.lean,Mathlib/Topology/Connected/LocPathConnected.lean,Mathlib/Topology/Connected/LocallyPathConnected.lean,Mathlib/Topology/Connected/PathComponentOne.lean,Mathlib/Topology/Homotopy/Lifting.lean,Mathlib/Topology/Homotopy/LocallyContractible.lean |
12 |
9 |
['SnirBroshi', 'felixpernegger', 'github-actions', 'grunweg', 'mathlib-bors', 'mathlib-merge-conflicts'] |
j-loreaux assignee:j-loreaux |
32-24525 1 month ago |
53-26708 53 days ago |
0-66443 18 hours |
| 38388 |
supermanG author:supermanG |
feat(Combinatorics/SimpleGraph): add ballFinset with basic identities |
Introduces `SimpleGraph.ballFinset`, the `Finset` companion to `SimpleGraph.ball` (#36443) on graphs with a `Fintype` vertex set, together with the basic identities `mem_ballFinset`, `ballFinset_zero`, and `ballFinset_one`.
`SimpleGraph.ball` is the *open* metric ball `{u | edist u c < r}` and is indexed by `ℕ∞`; `ballFinset` is typed `ℕ → Finset V` for ergonomics at cardinality-facing call sites. The classical closed-ball cardinality at radius `r`, `|{u | edist u c ≤ r}|`, corresponds to `|ballFinset v (r + 1)|` in this setup.
Opened as draft so CI can run before pinging maintainers.
---
First-time Mathlib contribution — happy to adjust naming, file placement, or docstring style to match house conventions. Follow-up PRs will add cardinality envelopes (sphere cardinality, geometric-series bound, polynomial bound). |
t-combinatorics
new-contributor
LLM-generated
|
68/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/BallCardinality.lean |
2 |
3 |
['SnirBroshi', 'github-actions'] |
nobody |
32-8439 1 month ago |
unknown |
0-0 0 seconds |
| 37045 |
edegeltje author:edegeltje |
feat(CategoryTheory/Limits): Pullback squares in cartesian monoidal categories |
This PR adds various lemmas about standard pullback squares in categories with chosen finite products.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
awaiting-author
|
351/0 |
Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/IsPullback/CartesianMonoidal.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean |
3 |
44 |
['FernandoChu', 'dagurtomas', 'edegeltje', 'github-actions', 'joelriou', 'robin-carlier'] |
joelriou assignee:joelriou |
32-8436 1 month ago |
32-8436 32 days ago |
21-65314 21 days |
| 26345 |
mans0954 author:mans0954 |
feat(Analysis/LocallyConvex/Polar): Bipolar theorem |
The bipolar theorem states that the polar of the polar of a set `s` is equal to the closed absolutely convex hull of `s`.
The argument here follows Conway, Chapter V. 1.8.
This PR continues the work from #20843.
Original PR: https://github.com/leanprover-community/mathlib4/pull/20843
- [x] depends on: #27316 |
t-analysis
awaiting-author
|
171/6 |
Mathlib.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/Bipolar.lean,Mathlib/Analysis/LocallyConvex/Polar.lean,Mathlib/Analysis/Normed/Module/Dual.lean,Mathlib/Topology/Algebra/Module/Spaces/WeakBilin.lean |
6 |
136 |
['JonBannon', 'eric-wieser', 'faenuccio', 'github-actions', 'goliath-klein', 'j-loreaux', 'leanprover-community-bot-assistant', 'mans0954', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'mcdoll', 'themathqueen', 'vihdzp'] |
faenuccio and j-loreaux assignee:j-loreaux assignee:faenuccio |
32-5537 1 month ago |
36-18177 36 days ago |
21-22015 21 days |
| 38425 |
eric-wieser author:eric-wieser |
fix: respect set_option in the unused tactic linter |
---
[](https://gitpod.io/from-referrer/)
|
t-linter |
35/31 |
Mathlib/Tactic/Linter/UnusedTactic.lean |
1 |
1 |
['github-actions'] |
nobody |
32-763 1 month ago |
unknown |
0-0 0 seconds |
| 37461 |
grunweg author:grunweg |
chore: golf using the field tactic |
---
In the spirit of #31314.
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
32/43 |
Counterexamples/NowhereDifferentiable.lean,Mathlib/Analysis/Calculus/Monotone.lean,Mathlib/Analysis/Complex/BorelCaratheodory.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/Normed/Field/Lemmas.lean,Mathlib/Analysis/SpecialFunctions/Complex/LogBounds.lean,Mathlib/Analysis/SpecialFunctions/Elliptic/Weierstrass.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/InformationTheory/KullbackLeibler/Basic.lean,Mathlib/LinearAlgebra/Lagrange.lean,Mathlib/MeasureTheory/Integral/MeanValue.lean,Mathlib/NumberTheory/ModularForms/Discriminant.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/Defs.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/MDifferentiable.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean,Mathlib/Probability/CentralLimitTheorem.lean,Mathlib/Probability/Distributions/Gaussian/CharFun.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/Hilbert90.lean,Mathlib/RingTheory/PowerSeries/Exp.lean,Mathlib/Topology/UnitInterval.lean |
20 |
5 |
['github-actions', 'grunweg', 'j-loreaux', 'mathlib-merge-conflicts'] |
nobody |
31-69715 1 month ago |
31-69716 31 days ago |
22-59925 22 days |
| 38000 |
grunweg author:grunweg |
feat: linters for recommended field_simp style, rebased |
---
The current state fixes all sensible linter errors. TODOs prior to merging:
- noisiness: right now, each `field` produces a try this suggestion (which doesn't work). warnings are useful; informational messages are superfluous
- false positives 1: when `field` is applied to several goals (e.g., inside `<;>` and e.g. `ring` works for *some*, but not *all* occurrences), right now the linter still fires. It should not.
- false positives 2: with `field` as a tactic discharger --- might be obsolete after the previous point.
- [ ] depends on: #37461
[](https://gitpod.io/from-referrer/)
|
t-linter
blocked-by-other-PR
awaiting-CI
merge-conflict
|
156/65 |
Counterexamples/NowhereDifferentiable.lean,Mathlib.lean,Mathlib/Analysis/Calculus/Deriv/ZPow.lean,Mathlib/Analysis/Complex/BorelCaratheodory.lean,Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/Convex/Join.lean,Mathlib/Analysis/Convex/Side.lean,Mathlib/Analysis/Distribution/Sobolev.lean,Mathlib/Analysis/Fourier/AddCircle.lean,Mathlib/Analysis/Hofer.lean,Mathlib/Analysis/InnerProductSpace/Projection/Basic.lean,Mathlib/Analysis/InnerProductSpace/Rayleigh.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/Normed/Field/Lemmas.lean,Mathlib/Analysis/SpecialFunctions/Complex/LogBounds.lean,Mathlib/Analysis/SpecialFunctions/Elliptic/Weierstrass.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Deligne.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/Analysis/SpecialFunctions/Integrals/PosLogEqCircleAverage.lean,Mathlib/Analysis/SpecialFunctions/OrdinaryHypergeometric.lean,Mathlib/Analysis/SpecialFunctions/Pow/Asymptotics.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/RootsExtrema.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Basic.lean,Mathlib/InformationTheory/KullbackLeibler/Basic.lean,Mathlib/Lean/Meta/WarningAsError.lean,Mathlib/LinearAlgebra/Lagrange.lean,Mathlib/MeasureTheory/Function/AbsolutelyContinuous.lean,Mathlib/MeasureTheory/Function/ConvergenceInDistribution.lean,Mathlib/MeasureTheory/Integral/MeanValue.lean,Mathlib/MeasureTheory/Measure/IntegralCharFun.lean,Mathlib/NumberTheory/Chebyshev.lean,Mathlib/NumberTheory/LSeries/AbstractFuncEq.lean,Mathlib/NumberTheory/ModularForms/Bounds.lean,Mathlib/NumberTheory/ModularForms/Discriminant.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/Defs.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/MDifferentiable.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean,Mathlib/NumberTheory/Ostrowski.lean,Mathlib/Probability/CentralLimitTheorem.lean,Mathlib/Probability/Distributions/Gaussian/CharFun.lean,Mathlib/Probability/Distributions/Gaussian/Real.lean,Mathlib/Probability/Distributions/Poisson/PoissonLimitThm.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/Hilbert90.lean,Mathlib/RingTheory/PowerSeries/Exp.lean,Mathlib/Tactic/Field.lean,Mathlib/Topology/MetricSpace/GromovHausdorff.lean |
47 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
31-68743 1 month ago |
42-15679 42 days ago |
0-24 24 seconds |
| 38434 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Maps): `map` lemmas about support/top/bot |
---
- [ ] depends on: #38432
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-combinatorics
|
38/0 |
Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Logic/Relation.lean |
2 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
31-61379 1 month ago |
31-63173 31 days ago |
0-845 14 minutes |
| 37082 |
astrainfinita author:astrainfinita |
chore(Order/CompleteLatticeIntervals): use different default values for `sSup` and `sInf` |
In a subsequent PR, some assumptions will be added to `ordConnectedSubsetConditionallyCompleteLinearOrderOfBotTop`.
---
[](https://gitpod.io/from-referrer/)
|
t-order
awaiting-author
|
34/25 |
Mathlib/Order/CompleteLatticeIntervals.lean |
1 |
5 |
['YaelDillies', 'astrainfinita', 'bryangingechen', 'github-actions'] |
bryangingechen assignee:bryangingechen |
31-31693 1 month ago |
31-31693 31 days ago |
4-44808 4 days |
| 35417 |
joneugster author:joneugster |
refactor(Cache): use module name for file hash instead of non-resolved file path |
This PR continues the work from #21842.
Original PR: https://github.com/leanprover-community/mathlib4/pull/21842
- [ ] depends on: #35415
- [ ] depends on: #35414
---
|
CI
t-meta
blocked-by-other-PR
merge-conflict
|
147/250 |
Cache/Hashing.lean,Cache/IO.lean,Cache/Main.lean |
3 |
5 |
['github-actions', 'joneugster', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
31-29077 1 month ago |
98-3414 98 days ago |
0-568 9 minutes |
| 38384 |
Jun2M author:Jun2M |
chore(Combinatorics/Graph): per def "expose" tag |
`Combinatorics/Graph/Basic.lean` has a file-wide `expose` tag. This PR moves it to defs that requires them.
---
[](https://gitpod.io/from-referrer/)
|
large-import |
26/24 |
Mathlib/Combinatorics/Graph/Basic.lean,Mathlib/Combinatorics/Graph/Subgraph.lean,Mathlib/Topology/CWComplex/Classical/Graph.lean |
3 |
4 |
['eric-wieser', 'github-actions', 'mathlib-bors'] |
nobody |
31-19807 1 month ago |
31-19809 31 days ago |
1-52776 1 day |
| 37794 |
EtienneC30 author:EtienneC30 |
feat: a sum of independent Bernoulli random variables is a binomial random variable |
---
- [ ] depends on: #37736
- [ ] depends on: #37761
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
large-import
blocked-by-other-PR
merge-conflict
|
743/40 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Data/ENNReal/Action.lean,Mathlib/Data/Set/Card.lean,Mathlib/MeasureTheory/Measure/AEMeasurable.lean,Mathlib/MeasureTheory/Measure/Real.lean,Mathlib/MeasureTheory/Measure/Typeclasses/Probability.lean,Mathlib/Probability/Distributions/Bernoulli.lean,Mathlib/Probability/Distributions/Binomial.lean,Mathlib/Probability/Distributions/Poisson/PoissonLimitThm.lean,Mathlib/Probability/Distributions/SetBernoulli.lean,Mathlib/Probability/HasLaw.lean,Mathlib/Probability/HasLawExists.lean,Mathlib/Probability/Independence/InfinitePi.lean,Mathlib/Probability/Moments/SubGaussian.lean,Mathlib/Probability/ProbabilityMassFunction/Binomial.lean,Mathlib/Probability/ProbabilityMassFunction/Constructions.lean,Mathlib/Probability/ProbabilityMassFunction/Integrals.lean |
18 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
31-16751 1 month ago |
unknown |
0-0 0 seconds |
| 36803 |
EtienneC30 author:EtienneC30 |
feat: pre-Brownian motion and independent increments |
Prove that a pre-Brownian motion has independent increments, and that a process with independent increments and the right marginals is pre-Brownian. Use this to show that a (pre-)Brownian motion is stable by `neg`.
---
- [x] depends on: #36745
- [ ] depends on: #36616
[](https://gitpod.io/from-referrer/)
|
brownian
t-measure-probability
blocked-by-other-PR
large-import
|
578/2 |
Mathlib.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/Probability/BrownianMotion/Basic.lean,Mathlib/Probability/BrownianMotion/GaussianProjectiveFamily.lean,Mathlib/Probability/Distributions/Gaussian/HasGaussianLaw/Basic.lean,Mathlib/Probability/Distributions/Gaussian/Real.lean,Mathlib/Probability/HasLaw.lean,Mathlib/Probability/Moments/Basic.lean,Mathlib/Probability/Moments/Covariance.lean |
9 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
31-15970 1 month ago |
48-26534 48 days ago |
0-3049 50 minutes |
| 37901 |
Raph-DG author:Raph-DG |
feat(AlgebraicGeometry): Define algebraic cycles |
In this PR we define the notion of algebraic cycles on a scheme, and define the pushforward of an algebraic cycle by a quasicompact morhphism. This was originally defined in #26304, but after some refactoring it was decided that it would be best to split this definition into a separate PR.
- [ ] depends on: #26304
---
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-algebraic-geometry
|
250/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/AlgebraicCycle.lean,Mathlib/Topology/LocallyFinsupp/Pushforward.lean |
3 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
31-11946 1 month ago |
45-2583 45 days ago |
0-365 6 minutes |
| 37031 |
xroblot author:xroblot |
feat(NumberField/CyclotomicField): inertia field of a cyclotomic field |
Let `K = ℚ(ζₙ)` with `n = p ^ k * m` where `p` is prime and `¬ p ∣ m`. Then the subfield
`F = ℚ(ζₘ)` is the inertia field of any prime `P` of `𝓞 K` lying over `p`.
---
- [ ] depends on: #36733
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
merge-conflict
t-number-theory
|
581/21 |
Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/IntermediateField/Algebraic.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Galois.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/NumberTheory/RamificationInertia/Galois.lean,Mathlib/NumberTheory/RamificationInertia/HilbertTheory.lean,Mathlib/NumberTheory/RamificationInertia/Inertia.lean,Mathlib/NumberTheory/RamificationInertia/Ramification.lean |
9 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
31-11936 1 month ago |
63-25984 63 days ago |
0-323 5 minutes |
| 38408 |
b-mehta author:b-mehta |
chore(Mathlib): shake mathlib harder |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
141294/11434 |
Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/AddConstMap/Equiv.lean,Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/AddTorsor/Defs.lean,Mathlib/Algebra/AffineMonoid/Basic.lean,Mathlib/Algebra/AffineMonoid/Embedding.lean,Mathlib/Algebra/AffineMonoid/Irreducible.lean,Mathlib/Algebra/AffineMonoid/UniqueSums.lean,Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Algebra/Epi.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Field.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Hom/Rat.lean,Mathlib/Algebra/Algebra/IsSimpleRing.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Opposite.lean,Mathlib/Algebra/Algebra/Pi.lean,Mathlib/Algebra/Algebra/Prod.lean,Mathlib/Algebra/Algebra/Rat.lean,Mathlib/Algebra/Algebra/RestrictScalars.lean,Mathlib/Algebra/Algebra/Shrink.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/Algebra/Spectrum/Pi.lean,Mathlib/Algebra/Algebra/Spectrum/Quasispectrum.lean,Mathlib/Algebra/Algebra/StrictPositivity.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/MulOpposite.lean,Mathlib/Algebra/Algebra/Subalgebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Order.lean,Mathlib/Algebra/Algebra/Subalgebra/Pi.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/Algebra/Subalgebra/Prod.lean,Mathlib/Algebra/Algebra/Subalgebra/Rank.lean,Mathlib/Algebra/Algebra/Subalgebra/Tower.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/Azumaya/Basic.lean,Mathlib/Algebra/Azumaya/Defs.lean,Mathlib/Algebra/Azumaya/Matrix.lean,Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/BigOperators/Balance.lean,Mathlib/Algebra/BigOperators/Expect.lean,Mathlib/Algebra/BigOperators/Field.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/Gaps.lean,Mathlib/Algebra/BigOperators/Group/Finset/Indicator.lean,Mathlib/Algebra/BigOperators/Group/Finset/Interval.lean,Mathlib/Algebra/BigOperators/Group/Finset/Lemmas.lean,Mathlib/Algebra/BigOperators/Group/Finset/Pi.lean,Mathlib/Algebra/BigOperators/Group/Finset/Piecewise.lean,Mathlib/Algebra/BigOperators/Group/Finset/Powerset.lean,Mathlib/Algebra/BigOperators/Group/Finset/Preimage.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/Action.lean,Mathlib/Algebra/BigOperators/GroupWithZero/Finset.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/BigOperators/ModEq.lean,Mathlib/Algebra/BigOperators/Module.lean,Mathlib/Algebra/BigOperators/NatAntidiagonal.lean,Mathlib/Algebra/BigOperators/Option.lean,Mathlib/Algebra/BigOperators/Pi.lean,Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Algebra/BigOperators/Ring/List.lean,Mathlib/Algebra/BigOperators/Ring/Multiset.lean,Mathlib/Algebra/BigOperators/Ring/Nat.lean,Mathlib/Algebra/BigOperators/RingEquiv.lean,Mathlib/Algebra/BigOperators/Sym.lean,Mathlib/Algebra/BigOperators/WithTop.lean,Mathlib/Algebra/BrauerGroup/Defs.lean,Mathlib/Algebra/Category/AlgCat/Basic.lean,Mathlib/Algebra/Category/AlgCat/Limits.lean,Mathlib/Algebra/Category/AlgCat/Monoidal.lean,Mathlib/Algebra/Category/AlgCat/Symmetric.lean,Mathlib/Algebra/Category/BialgCat/Basic.lean,Mathlib/Algebra/Category/BialgCat/Monoidal.lean,Mathlib/Algebra/Category/BoolRing.lean |
7930 |
3 |
['Kha', 'b-mehta', 'bryangingechen'] |
nobody |
31-8516 1 month ago |
unknown |
0-0 0 seconds |
| 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`
---
[](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 |
31-2538 1 month ago |
66-78501 66 days ago |
0-25956 7 hours |
| 38326 |
Jun2M author:Jun2M |
feat(Combinatorics/Graph): Degree |
This PR adds definition of `incFun`, a nat function counting how many times an edge is incident to a vertex (2 if it is loop), and `eDegree` & `degree`, enat and nat valued degree function as a tsum of `incFun`.
Co-authored-by: Peter Nelson
---
- [ ] depends on: #38325
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-combinatorics
|
194/22 |
Mathlib.lean,Mathlib/Combinatorics/Graph/Basic.lean,Mathlib/Combinatorics/Graph/Degree/Defs.lean,Mathlib/Combinatorics/Graph/Subgraph.lean,Mathlib/Topology/CWComplex/Classical/Graph.lean |
5 |
6 |
['SnirBroshi', 'b-mehta', 'github-actions', 'mathlib-dependent-issues'] |
nobody |
30-82199 1 month ago |
34-43900 34 days ago |
0-1332 22 minutes |
| 38478 |
dagurtomas author:dagurtomas |
feat(Tactic/CategoryTheory): op attribute |
Adding `@[op]` to a lemma named `H` of shape `∀ .., f = g`, where `f` and `g` are morphisms
in some category `C`, creates a new lemma named `H_op` by applying `Quiver.Hom.op` to both sides
and then simplifying with `simp only [op_comp, op_id]`.
This PR also adds `op_of%`, and adjusts `@[map]` so that `@[op (attr := map)]` works for
equalities of morphisms in opposite categories.
---
- [ ] depends on: #37183
[](https://gitpod.io/from-referrer/)
|
LLM-generated
blocked-by-other-PR
t-category-theory
t-meta
|
491/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/Map.lean,Mathlib/Tactic/CategoryTheory/Op.lean,MathlibTest/CategoryTheory/Map.lean,MathlibTest/CategoryTheory/MapSimp.lean,MathlibTest/CategoryTheory/Op.lean |
7 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
30-80649 1 month ago |
31-5099 31 days ago |
0-344 5 minutes |
| 37276 |
dagurtomas author:dagurtomas |
chore(CategoryTheory): use the extended map attribute |
---
- [ ] depends on: #37197
- [ ] depends on: #37275
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-other-PR
merge-conflict
|
970/206 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Free.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackFree.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PushforwardContinuous.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean,Mathlib/Algebra/Homology/DerivedCategory/ShortExact.lean,Mathlib/Algebra/Homology/HomotopyCategory.lean,Mathlib/Algebra/Homology/HomotopyCategory/Pretriangulated.lean,Mathlib/Algebra/Homology/HomotopyCategory/ShortExact.lean,Mathlib/Algebra/Homology/ShortComplex/Basic.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiSeparated.lean,Mathlib/AlgebraicGeometry/Restrict.lean,Mathlib/AlgebraicGeometry/Stalk.lean,Mathlib/CategoryTheory/Adjunction/Basic.lean,Mathlib/CategoryTheory/Category/Preorder.lean,Mathlib/CategoryTheory/Equivalence.lean,Mathlib/CategoryTheory/Functor/Category.lean,Mathlib/CategoryTheory/Functor/Trifunctor.lean,Mathlib/CategoryTheory/Iso.lean,Mathlib/CategoryTheory/Limits/HasLimits.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean,Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/HasPullback.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/PullbackCone.lean,Mathlib/CategoryTheory/Localization/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Braided.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/NaturalTransformation.lean,Mathlib/CategoryTheory/NatIso.lean,Mathlib/CategoryTheory/NatTrans.lean,Mathlib/CategoryTheory/Sites/Continuous.lean,Mathlib/CategoryTheory/Sites/Descent/DescentData.lean,Mathlib/CategoryTheory/Sites/Descent/DescentDataPrime.lean,Mathlib/CategoryTheory/Sites/EqualizerSheafCondition.lean,Mathlib/CategoryTheory/Sites/Equivalence.lean,Mathlib/CategoryTheory/Triangulated/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/Map.lean,Mathlib/Tactic/CategoryTheory/MapOpposite.lean,MathlibTest/CategoryTheory/Map.lean,MathlibTest/CategoryTheory/MapPreorder.lean,MathlibTest/CategoryTheory/MapSimp.lean,MathlibTest/CategoryTheory/MapSimpCheck.lean |
46 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
30-78141 1 month ago |
59-6460 59 days ago |
0-1 1 second |
| 36824 |
j-loreaux author:j-loreaux |
feat: generalize argument of `IsOrderedMonoid` from `CommMonoid` to `CommSemigroup` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
76/50 |
Mathlib/Algebra/Order/AddTorsor.lean,Mathlib/Algebra/Order/Group/Opposite.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Monoid/Basic.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/OrderDual.lean,Mathlib/Algebra/Order/Monoid/Prod.lean,Mathlib/Algebra/Order/Monoid/Submonoid.lean,Mathlib/Algebra/Order/Monoid/TypeTags.lean,Mathlib/Algebra/Order/Pi.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/Order/Filter/Germ/OrderedMonoid.lean,Mathlib/Topology/ContinuousMap/Lattice.lean |
14 |
4 |
['github-actions', 'j-loreaux', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
30-74800 1 month ago |
67-83291 67 days ago |
0-616 10 minutes |
| 38498 |
SnirBroshi author:SnirBroshi |
feat(Order/RelIso/Basic): lift a function to an order morphism into `Relation.Map` or from `Function.onFun` |
For an `α`-relation `r` we have:
```
mapRelHom (f : α → β) : r →r Relation.Map r f f
mapRelEmbedding (f : α ↪ β) : r ↪r Relation.Map r f f
mapRelIso (f : α ≃ β) : r ≃r Relation.Map r f f
```
For a `β`-relation `r` we have:
```
onFunRelHom (f : α → β) : r.onFun f →r r
onFunRelEmbedding (f : α ↪ β) : r.onFun f ↪r r
onFunRelIso (f : α ≃ β) : r.onFun f ≃r r
```
---
These are pretty similar to `SimpleGraph.{Embedding/Iso}.map` and `SimpleGraph.{Hom/Embedding/Iso}.comap`, as [`comap`](https://github.com/leanprover-community/mathlib4/blob/9268b22206b0425419498769f780a91dee03bcf3/Mathlib/Combinatorics/SimpleGraph/Maps.lean#L117-L118) on graphs is a wrapper around `onFun`, and [`map`](https://github.com/leanprover-community/mathlib4/blob/9268b22206b0425419498769f780a91dee03bcf3/Mathlib/Combinatorics/SimpleGraph/Maps.lean#L57-L58) on graphs is *almost* a wrapper around `Relation.Map`.
btw `@[simps]` is angry at me when I try to use it on the structures that use spread syntax.
[](https://gitpod.io/from-referrer/)
|
t-order |
42/0 |
Mathlib/Order/RelIso/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
30-48878 1 month ago |
30-48953 30 days ago |
30-48948 30 days |
| 38344 |
robo7179 author:robo7179 |
feat(SimpleGraph/Coloring/VertexColoring): Matching is 2 colorable |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
51/0 |
Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean |
1 |
5 |
['SnirBroshi', 'github-actions', 'vlad902'] |
nobody |
30-24801 1 month ago |
33-78745 33 days ago |
33-79126 33 days |
| 38222 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph/Girth): add lemmas about isomorphism and girth |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
19/1 |
Mathlib/Combinatorics/SimpleGraph/Girth.lean |
1 |
6 |
['IvanRenison', 'SnirBroshi', 'github-actions', 'vlad902'] |
nobody |
30-8423 1 month ago |
36-69736 36 days ago |
36-69731 36 days |
| 38528 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Paths): some cycle lemmas are true for circuits |
Add `IsCircuit.{not_of_nil,ne_bot,three_le_length}` by using their corresponding `IsCycle` proofs.
Also golfs a bit.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
17/9 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean |
1 |
1 |
['github-actions'] |
nobody |
30-7327 1 month ago |
30-7397 30 days ago |
30-7392 30 days |
| 37959 |
artie2000 author:artie2000 |
feat(LinearAlgebra/Dimension/Free): lemmas about finrank |
* Division variant of tower law
* Isomorphic to base ring iff rank is one
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
label:t-algebra$ |
34/9 |
Mathlib/LinearAlgebra/Dimension/Free.lean |
1 |
7 |
['artie2000', 'github-actions', 'themathqueen'] |
themathqueen assignee:themathqueen |
29-20228 29 days ago |
29-62868 29 days ago |
12-62496 12 days |
| 38549 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Copy): `Is(Ind)Contained` `completeGraph` lemmas |
- `G ⊑ completeGraph V`
- `G ⊑ completeGraph W ↔ Nonempty (V ↪ W)`
- `completeGraph V ⊴ completeGraph W ↔ Nonempty (V ↪ W)`
- `G ⊴ completeGraph W → G = ⊤`
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
12/0 |
Mathlib/Combinatorics/SimpleGraph/Copy.lean |
1 |
1 |
['github-actions'] |
nobody |
29-13902 29 days ago |
29-13971 29 days ago |
29-13966 29 days |
| 38529 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Girth): `egirth ⊤ = 3` when there are at least 3 vertices |
Since `Nontrivial` is not enough, we use the condition `3 ≤ ENat.card α`.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
17/0 |
Mathlib/Combinatorics/SimpleGraph/Girth.lean |
1 |
5 |
['SnirBroshi', 'github-actions', 'vlad902'] |
nobody |
29-13845 29 days ago |
30-4562 30 days ago |
30-4557 30 days |
| 37835 |
YaelDillies author:YaelDillies |
doc(Algebra/Order): update mentions of `OrderedSemiring` and friends |
As of #20676, it was replaced by `IsOrderedRing`.
Not all docs were straightforward to update.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-order
label:t-algebra$ |
123/280 |
Counterexamples/HomogeneousPrimeNotPrime.lean,Counterexamples/OrderedCancelAddCommMonoidWithBounds.lean,Mathlib/Algebra/Group/Subgroup/Order.lean,Mathlib/Algebra/Group/ULift.lean,Mathlib/Algebra/Order/AddTorsor.lean,Mathlib/Algebra/Order/Floor/Defs.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Algebra/Order/Group/Cone.lean,Mathlib/Algebra/Order/Group/Cyclic.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Defs.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Interval/Set/Monoid.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/ExistsOfLE.lean,Mathlib/Algebra/Order/Positive/Ring.lean,Mathlib/Algebra/Order/Ring/Basic.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean,Mathlib/Algebra/Order/Star/Basic.lean,Mathlib/Algebra/Order/Sub/WithTop.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Algebra/Order/WithTop/Untop0.lean,Mathlib/Combinatorics/Pigeonhole.lean,Mathlib/Data/Finsupp/Weight.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Nat/Cast/Order/Basic.lean,Mathlib/Data/Nat/Cast/Order/Ring.lean,Mathlib/MeasureTheory/Function/LpOrder.lean,Mathlib/MeasureTheory/Measure/Typeclasses/Finite.lean,Mathlib/Order/Filter/Germ/OrderedMonoid.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/HahnSeries/Valuation.lean,Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean,Mathlib/Tactic/NormNum/Ineq.lean |
37 |
9 |
['NoahW314', 'SnirBroshi', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
29-5781 29 days ago |
29-5806 29 days ago |
44-935 44 days |
| 38032 |
grunweg author:grunweg |
perf: unbundle algebra from `ENormed*`, April 2026 version |
Up-to-date version of #28803. Don't merge yet!
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
|
81/78 |
Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Group/Continuity.lean,Mathlib/Analysis/Normed/Group/Defs.lean,Mathlib/Analysis/Normed/Group/Indicator.lean,Mathlib/Analysis/Normed/Group/InfiniteSum.lean,Mathlib/Analysis/Normed/Group/Real.lean,Mathlib/MeasureTheory/Function/L1Space/AEEqFun.lean,Mathlib/MeasureTheory/Function/L1Space/HasFiniteIntegral.lean,Mathlib/MeasureTheory/Function/L1Space/Integrable.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Indicator.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Monotonicity.lean,Mathlib/MeasureTheory/Function/LpSeminorm/SMul.lean,Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Basic.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Defs.lean |
20 |
6 |
['github-actions', 'grunweg', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
28-83164 28 days ago |
41-31259 41 days ago |
0-9 9 seconds |
| 38193 |
Jun2M author:Jun2M |
feat(Topology/Algebra/InfiniteSum): Deprecate generalized ENNReal lemmas |
Following the PR #38489, this PR add deprecated tags to the original `ENNReal` lemmas and change the transitive children files to use the generalized lemmas rather than the deprecated lemmas.
Related Zulip thread: [#Is there code for X? > Summing `ENat`s without topology](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Summing.20.60ENat.60s.20without.20topology/with/588756615)
---
- [ ] depends on: #38489
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
merge-conflict
|
483/329 |
Mathlib/Algebra/Order/AddGroupWithTop.lean,Mathlib/Analysis/Normed/Group/InfiniteSum.lean,Mathlib/Analysis/PSeries.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean,Mathlib/MeasureTheory/Covering/Besicovitch.lean,Mathlib/MeasureTheory/Covering/Differentiation.lean,Mathlib/MeasureTheory/Covering/Vitali.lean,Mathlib/MeasureTheory/Function/AEMeasurableOrder.lean,Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean,Mathlib/MeasureTheory/Function/Egorov.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,Mathlib/MeasureTheory/Function/LpSpace/Complete.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Countable.lean,Mathlib/MeasureTheory/Measure/AbsolutelyContinuous.lean,Mathlib/MeasureTheory/Measure/AddContent.lean,Mathlib/MeasureTheory/Measure/Content.lean,Mathlib/MeasureTheory/Measure/Count.lean,Mathlib/MeasureTheory/Measure/Hausdorff.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/MeasuredSets.lean,Mathlib/MeasureTheory/Measure/MutuallySingular.lean,Mathlib/MeasureTheory/Measure/PreVariation.lean,Mathlib/MeasureTheory/Measure/Regular.lean,Mathlib/MeasureTheory/Measure/RegularityCompacts.lean,Mathlib/MeasureTheory/Measure/Restrict.lean,Mathlib/MeasureTheory/Measure/Stieltjes.lean,Mathlib/MeasureTheory/Measure/Tight.lean,Mathlib/MeasureTheory/Measure/Typeclasses/SFinite.lean,Mathlib/MeasureTheory/Measure/WithDensity.lean,Mathlib/MeasureTheory/OuterMeasure/Caratheodory.lean,Mathlib/MeasureTheory/OuterMeasure/Induced.lean,Mathlib/MeasureTheory/OuterMeasure/OfAddContent.lean,Mathlib/MeasureTheory/OuterMeasure/OfFunction.lean,Mathlib/MeasureTheory/OuterMeasure/Operations.lean,Mathlib/MeasureTheory/VectorMeasure/Basic.lean,Mathlib/NumberTheory/Transcendental/Liouville/Measure.lean,Mathlib/Probability/Distributions/Uniform.lean,Mathlib/Probability/Kernel/Defs.lean,Mathlib/Probability/Kernel/WithDensity.lean,Mathlib/Probability/ProbabilityMassFunction/Basic.lean,Mathlib/Probability/ProbabilityMassFunction/Constructions.lean,Mathlib/Probability/ProbabilityMassFunction/Monad.lean,Mathlib/Probability/Process/LocalProperty.lean,Mathlib/Topology/Algebra/InfiniteSum/ENNReal.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean,Mathlib/Topology/MetricSpace/PiNat.lean,Mathlib/Topology/Semicontinuity/Basic.lean |
52 |
4 |
['SnirBroshi', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
28-83160 28 days ago |
30-63804 30 days ago |
6-13863 6 days |
| 38546 |
yhx-12243 author:yhx-12243 |
fix: universe issue in injective module |
Change the definition of
```lean
class Module.Injective : Prop where
out : ∀ ⦃X Y : Type v⦄ [AddCommGroup X] [AddCommGroup Y] [Module R X] [Module R Y]
(f : X →ₗ[R] Y) (_ : Function.Injective f) (g : X →ₗ[R] Q),
∃ h : Y →ₗ[R] Q, ∀ x, h (f x) = g x
```
into
```lean
class Module.Injective : Prop where
out : ∀ ⦃X Y : Type u⦄ [AddCommGroup X] [AddCommGroup Y] [Module R X] [Module R Y]
(f : X →ₗ[R] Y) (_ : Function.Injective f) (g : X →ₗ[R] Q),
∃ h : Y →ₗ[R] Q, ∀ x, h (f x) = g x
```
to make it agree with `Module.Baer` and real mathematical definition, **without universe issues**.
Since the criterion `Module.Flat` also uses `Type u` on testing modules.
See discussions in https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Universe.20issue.20about.20injective.20module .
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-zulip
label:t-algebra$ |
57/43 |
Mathlib/Algebra/Category/ModuleCat/Injective.lean,Mathlib/Algebra/Category/ModuleCat/Ulift.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/RepresentationTheory/FinGroupCharZero.lean,Mathlib/RingTheory/Flat/Tensor.lean,Mathlib/RingTheory/LocalProperties/Injective.lean |
6 |
5 |
['github-actions', 'grunweg', 'mathlib-bors', 'wwylele'] |
nobody |
28-75636 28 days ago |
28-75647 28 days ago |
0-26133 7 hours |
| 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 |
28-33816 28 days ago |
28-33926 28 days ago |
38-73648 38 days |
| 38482 |
dagurtomas author:dagurtomas |
feat(CategoryTheory/Tactic): specialize_map attribute |
---
- [ ] depends on: #38478
[](https://gitpod.io/from-referrer/)
|
WIP
LLM-generated
t-category-theory
t-meta
blocked-by-other-PR
|
861/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/Map.lean,Mathlib/Tactic/CategoryTheory/Op.lean,Mathlib/Tactic/CategoryTheory/SpecializeMap.lean,MathlibTest/CategoryTheory/Map.lean,MathlibTest/CategoryTheory/MapSimp.lean,MathlibTest/CategoryTheory/Op.lean,MathlibTest/CategoryTheory/SpecializeMap.lean |
9 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
28-9043 28 days ago |
30-79058 30 days ago |
0-15 15 seconds |
| 38567 |
dagurtomas author:dagurtomas |
feat(CategoryTheory/Monoidal): autogenerate some lemmas instead of stating them explicitly |
---
- [ ] depends on: #38482
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR |
928/166 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Limits/HasLimits.lean,Mathlib/CategoryTheory/Monoidal/Limits/Shapes/Pullback.lean,Mathlib/CategoryTheory/Monoidal/PushoutProduct.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/Map.lean,Mathlib/Tactic/CategoryTheory/Op.lean,Mathlib/Tactic/CategoryTheory/SpecializeMap.lean,MathlibTest/CategoryTheory/Map.lean,MathlibTest/CategoryTheory/MapSimp.lean,MathlibTest/CategoryTheory/Op.lean,MathlibTest/CategoryTheory/SpecializeMap.lean |
12 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
28-8846 28 days ago |
28-47337 28 days ago |
0-512 8 minutes |
| 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)
---
[](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 |
27-83343 27 days ago |
27-83344 27 days ago |
19-76858 19 days |
| 37910 |
wwylele author:wwylele |
feat(Geometry/Euclidean): volume of a simplex |
This defines the volume of a simplex in Euclidean geometry, and shows that it agrees with measure theory. It also adds the basic set of lemmas (base-and-height formula, reindex, positivity, map, and restrict). Further properties of the volume will be in future PRs.
Three new file s are introduced and organized in the following dependency chain:
Def.lean -> MeasureSimplex.Lean -> Basic.lean
The Def.lean file has the definition only. MeasureSimplex.lean pulls in measure theory. Basic.lean publicly imports Def.lean, and privately imports MeasureSimplex.lean. When a downstream file imports Basic.lean, the measure theory part is not exposed and all properties of the volume is provided.
---
- [ ] depends on: #36018
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
merge-conflict
|
614/0 |
Mathlib.lean,Mathlib/Geometry/Euclidean/Volume/Basic.lean,Mathlib/Geometry/Euclidean/Volume/Def.lean,Mathlib/Geometry/Euclidean/Volume/MeasureSimplex.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Shift.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean |
6 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
27-83342 27 days ago |
44-69321 44 days ago |
0-473 7 minutes |
| 38554 |
YaelDillies author:YaelDillies |
chore(Combinatorics/SimpleGraph): use the auto-param in `loopless` more |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
5/13 |
Mathlib/Combinatorics/Digraph/Orientation.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Hasse.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Prod.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean,Mathlib/Order/Cover.lean |
8 |
6 |
['SnirBroshi', 'YaelDillies', 'github-actions'] |
nobody |
27-80801 27 days ago |
28-26742 28 days ago |
28-28806 28 days |
| 38588 |
thorimur author:thorimur |
perf: use declaration range internals in unused instances in type linters |
---
[](https://gitpod.io/from-referrer/)
|
t-linter
large-import
|
57/41 |
Mathlib/Order/Basic.lean,Mathlib/Tactic/Linter/UnusedInstancesInType.lean,MathlibTest/UnusedInstancesInType/Decidable.lean |
3 |
3 |
['github-actions', 'leanprover-radar', 'thorimur'] |
nobody |
27-71115 27 days ago |
unknown |
0-0 0 seconds |
| 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
---
[](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 |
27-66265 27 days ago |
55-4343 55 days ago |
0-463 7 minutes |
| 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
---
[](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 |
27-66264 27 days ago |
53-4364 53 days ago |
0-1300 21 minutes |
| 38077 |
b-mehta author:b-mehta |
feat(Combinatorics/Schnirelmann): prove Mann's theorem |
Lots of this was done in 2024, and so it needs heavy cleaning.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-combinatorics
large-import
merge-conflict
|
632/12 |
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/GroupWithZero/Action/Pointwise/Finset.lean,Mathlib/Combinatorics/Schnirelmann.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Fintype/Perm.lean,Mathlib/Data/Set/Finite/Lemmas.lean |
8 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
27-66139 27 days ago |
unknown |
0-0 0 seconds |
| 38027 |
8e7 author:8e7 |
feat(Combinatorics/SimpleGraph/Star): define star graphs |
Add a new definition `starGraph` and several key lemmas. Star graphs are a trivial class of tree, often used in constructive proofs regarding trees. An example use case is shown in #38334.
---
All lemmas are hand written first, then golfed with the help of Claude Code.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
85/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Star.lean |
2 |
39 |
['8e7', 'IvanRenison', 'JovanGerb', 'SnirBroshi', 'github-actions', 'vihdzp', 'vlad902'] |
nobody |
27-52794 27 days ago |
39-52740 39 days ago |
41-51000 41 days |
| 38580 |
mcdoll author:mcdoll |
perf(Polynomial/HasseDeriv): explicit type annotations for `compHom` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
4/4 |
Mathlib/Algebra/Polynomial/HasseDeriv.lean |
1 |
4 |
['github-actions', 'leanprover-radar', 'mcdoll'] |
nobody |
27-50415 27 days ago |
unknown |
0-0 0 seconds |
| 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`
---
- [ ] depends on: #38223
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
blocked-by-other-PR
new-contributor
|
281/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Category/MfldCat/Basic.lean,Mathlib/Geometry/Manifold/Category/MfldCat/CartesianMonoidal.lean,Mathlib/Geometry/Manifold/ContMDiffMap.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
27-39510 27 days ago |
unknown |
0-0 0 seconds |
| 38621 |
mariainesdff author:mariainesdff |
feat(Algebra/SkewPolynomial/Basic): add more API |
We add API for SkewPolynomial, including the definitions erase and update and results about coefficients and supports.
Co-authored by: @xgenereux.
---
- [ ] depends on: #38619
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
label:t-algebra$ |
629/24 |
Mathlib/Algebra/SkewPolynomial/Basic.lean |
1 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
27-27145 27 days ago |
27-27146 27 days ago |
0-1715 28 minutes |
| 38623 |
mariainesdff author:mariainesdff |
WIP |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
label:t-algebra$ |
44/2 |
Mathlib/Algebra/Order/Antidiag/Prod.lean |
1 |
2 |
['github-actions'] |
nobody |
27-25991 27 days ago |
27-26048 27 days ago |
0-17 17 seconds |
| 37861 |
Jun2M author:Jun2M |
feat(Combinatorics/Graph): connected graphs |
This PR introduces
- `IsConnectedComponentOf`, a graph is a connected component of another graph, and
- `IsConnected`, a graph is a self component
Under this definition, an empty graph is not connected.
Co-authored-by: Peter Nelson [apn.uni@gmail.com](mailto:apn.uni@gmail.com)
---
- [x] depends on: #37610
- [ ] depends on: #36756
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
blocked-by-other-PR
|
92/0 |
Mathlib.lean,Mathlib/Combinatorics/Graph/Connected/Component.lean |
2 |
6 |
['Jun2M', 'SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-dependent-issues'] |
nobody |
26-80793 26 days ago |
38-10162 38 days ago |
3-10047 3 days |
| 37067 |
kbuzzard author:kbuzzard |
feat: add_group tactic |
Written by Claude Code, additivising the `group` tactic, although there were some problems which needed human input.
---
[](https://gitpod.io/from-referrer/)
This is me burning Claude credits as a result of this comment [#mathlib4 > MulAut and to_additive @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/MulAut.20and.20to_additive/near/581059625) . Just to be clear, all comments below are human-written by me with 0 AI assistance.
To my amusement, naively additivising the `group` tactic to make an `add_group` tactic does not work. The problem is that the algorithm run by `group` involves adding `← zpow_neg_one` to the simp set, which rewrites `x⁻¹` to `x ^ (-1)` for `x` in any group: the idea is that `x ^ (z : Int)` is preferred in the algorithm and `x⁻¹` is eliminated. Amusingly, when additivised, this becomes `-x -> -1 • x` which then immediately becomes `(-1 • 1) • x` which then becomes `((-1 • 1) • 1) • x` etc etc, as the integers are themselves an additive group. So we need to find another way of normalising terms of the form `-x`.
Claude found the following trick: drop `← neg_one_zsmul` and `neg_one_zsmul_add`, and use `neg_add_rev` and `neg_zero` to reduce `-(a+b)` and `-0`, use `zsmul_neg` to reduce `n • (-a)` to `(-n) • a` and then use things like `add_neg_cancel_right` and `neg_add_cancel_right` to do `-b + b` and `b + -b` together with some new `zsmul_neg_trick` lemmas which normalise `(n • b) + -b` to `(n - 1) • b`. etc. The idea is to ensure that any consecutive chains of `b`'s and `-b`'s and `z • b`'s will now all get amalgamated into something of the form `z • b`, but we cannot change `-b` to `-1 • b` so have to try harder than in the multiplicative case.
Here is a detailed (human-written!) explanation of the difference between `Tactic/AddGroup.lean` and the additivisation of `Tactic/Group.Lean`.
1) Note that the `zpow_trick` lemmas in `Tactic/Group.lean` are additivised, so we import `Group.lean` in `AddGroup.lean` to access these additivised lemmas.
2) `Mathlib.Algebra.Group.Commutator` has no additive version (and it's not clear that it should have one), so we don't use an additive version of `commutatorElement_def` (which expands `⁅g₁, g₂⁆` to `g₁ * g₂ * g₁⁻¹ * g₂⁻¹`). Note: that means that we cannot additivise a test.
3) Line 67 of the additive file uses `neg_add_rev, neg_zero, zsmul_neg, ← neg_zsmul,` as a workaround for the looping ` ← zpow_neg_one`.
4) `Int.mul_neg, Int.neg_mul` are dropped (they don't seem to be needed, all tests are passing, ring_nf is probably doing this.)
5) `sub_eq_add_neg` is added: people use subtraction in additive groups; division doesn't seem to be covered for multiplicative groups? So `add_group` can solve `a + b - b = a` but `group` cannot solve `a * b / b = a`.
***
There is also one fewer test in the `add_group` tests, as I had to remove the commutator test.
I don't know much at all about tactic-writing, the PR is all Claude code, but a lot of it is to_additive copypasta. The review of the code above is my own. |
t-meta
LLM-generated
awaiting-author
|
189/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/AddGroup.lean,MathlibTest/AddGroup.lean |
4 |
21 |
['JovanGerb', 'SnirBroshi', 'github-actions', 'kbuzzard', 'mathlib-merge-conflicts', 'thorimur'] |
thorimur assignee:thorimur |
26-76309 26 days ago |
30-53005 30 days ago |
28-31880 28 days |
| 38364 |
openendings author:openendings |
feat: create Order/DirectedCompletePartialOrder/Defs.lean |
Define DirectedCompletePartialOrder and its interaction with iSup and sSup.
---
A DirectedCompletePartialOrder is equivalently:
- a partial order with LUBs of nonempty directed sets;
- what happens when you remove ⊥ from a CompletePartialOrder; or
- a ConditionallyCompletePartialOrder in which every directed set is BddAbove.
Like CPOs, DCPOs are commonly studied in denotational semantics.
Potential applications:
- [#Is there code for X? > Summing `ENat`s without topology](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Summing.20.60ENat.60s.20without.20topology/with/590070848) -- defining infinite sums in an DCPO-enriched `AddCommMonoidWithTop` such as `ENat` or `ENNReal`.
- [#Is there code for X? > Scott Induction](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Scott.20Induction/with/590112858) -- fixpoint theorems similar to `OmegaCompletePartialOrder`, generalised to arbitrary cardinalities.
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
|
123/0 |
Mathlib.lean,Mathlib/Order/DirectedCompletePartialOrder/Defs.lean,docs/references.bib |
3 |
4 |
['SnirBroshi', 'github-actions', 'openendings'] |
nobody |
26-69057 26 days ago |
32-59177 32 days ago |
33-33998 33 days |
| 36681 |
SnirBroshi author:SnirBroshi |
feat(SetTheory/Ordinal/Commute): the smallest nonzero ordinal that add-commutes with a given ordinal |
For any ordinal `o`, `(ω ^ log ω o) + o % (ω ^ log ω o)` is the smallest nonzero ordinal that add-commutes with `o`.
This value can also be calculated by considering the CNF of `o` with base `ω` and changing the first
coefficient to `1`.
---
The proofs involve annoying algebraic manipulations (to annihilate the tails as explained below), golfs welcome.
Details on the math involved
Think about the Cantor-normal form:
#36664 shows `AddCommute o₁ o₂ ↔ ∃ (o : Ordinal) (n₁ n₂ : ℕ), o * n₁ = o₁ ∧ o * n₂ = o₂`.
If you write a given ordinal `o` in CNF in base `ω` as `(ω ^ e₀) * c₀ + (ω ^ e₁) * c₁ + ...` then `o * n = (ω ^ e₀) * (c₀ * n) + (ω ^ e₁) * c₁ + ...`. Notice that only the leading term got multiplied by `n`, because the earlier copies of `o` annihilate all the tails except for the last one (e.g. `o * 2 = o + o = (ω ^ e₀) * c₀ + tail + (ω ^ e₀) * c₀ + tail = (ω ^ e₀) * c₀ + (ω ^ e₀) * c₀ + tail = (ω ^ e₀) * (c₀ * 2) + tail`).
So given the characterization of `AddCommute`, if we keep the tail and remove the `* c₀` from the leading coefficient (effectively calculating `o / c₀`, we'll get the smallest ordinal that we can multiply by a natural number to get `o`.
`o / (o / (ω ^ log ω o))` should also give the same smallest ordinal (and `o - (ω ^ log ω o) * (o / (ω ^ log ω o) - 1)`), but I chose the expression that fits the existing CNF definitions. Maybe a future PR can show they're all equal.
- [x] depends on: #36664
[](https://gitpod.io/from-referrer/)
|
t-set-theory
awaiting-author
|
71/1 |
Mathlib/SetTheory/Ordinal/Commute.lean,Mathlib/SetTheory/Ordinal/Principal.lean |
2 |
25 |
['SnirBroshi', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
vihdzp assignee:vihdzp |
26-60771 26 days ago |
26-60771 26 days ago |
6-8534 6 days |
| 37073 |
kim-em author:kim-em |
feat: add wrap_instance% using core's wrapInstance |
This PR adds a new `wrap_instance%` term elaborator that delegates to Lean core's
`wrapInstance` (from https://github.com/leanprover/lean4/pull/12897), and replaces ~53
`fast_instance%` call sites where the replacement is safe.
`wrap_instance%` is a thin wrapper (~15 lines) around `Lean.Meta.wrapInstance`. Like
`fast_instance%`, it reduces instances to constructor applications and reuses canonical
sub-instances. Unlike `fast_instance%`, it works at `instances` transparency and delegates all
normalization logic to core.
The replaced sites cover:
- Equiv/type-alias transfers (WithAbs, WithConv, WithVal, WithLp, TransferInstance)
- Surjective constructors (Con, RingCon quotients, module congruences)
- DFunLike leaf instances (MultilinearMap, ContinuousMultilinearMap, AlternatingMap, Intertwining)
- Quotient instances (LinearAlgebra/Quotient/Defs)
- inferInstanceAs% sites (StandardPart, Presentation/Core)
- Miscellaneous (InfiniteAdeleRing, ZMod)
This PR *doesn't* attempt to replace all `fast_instance%`; it gets more complicated!
🤖 Prepared with Claude Code |
|
88/59 |
Mathlib/Algebra/Algebra/TransferInstance.lean,Mathlib/Algebra/Module/Congruence/Defs.lean,Mathlib/Algebra/WithConv.lean,Mathlib/Analysis/Normed/Lp/WithLp.lean,Mathlib/Analysis/Normed/Ring/WithAbs.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/LinearAlgebra/Alternating/Basic.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Quotient/Defs.lean,Mathlib/RepresentationTheory/Intertwining.lean,Mathlib/RingTheory/Extension/Presentation/Core.lean,Mathlib/Tactic/FastInstance.lean,Mathlib/Topology/Algebra/Module/Alternating/Basic.lean,Mathlib/Topology/Algebra/Module/Multilinear/Basic.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean |
16 |
7 |
['JovanGerb', 'github-actions', 'kim-em', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
26-53318 26 days ago |
26-53345 26 days ago |
29-40448 29 days |
| 37814 |
sglasman author:sglasman |
feat: Equivalence between HopfAlgCat R and Hopf (ModuleCat R) |
This PR resolves a TODO by demonstrating an equivalence of categories between two models of the category of Hopf algebras over a commutative ring R, that of Hopf objects in the module category of R and that of types with a `HopfAlgebra R` instance.
---
AI declaration: I consulted with Claude on proof strategies. The proofs were ultimately written by me.
|
new-contributor
large-import
t-category-theory
WIP
|
214/4 |
Mathlib/CategoryTheory/Monoidal/Hopf_.lean,Mathlib/RingTheory/HopfAlgebra/Basic.lean |
2 |
5 |
['dagurtomas', 'github-actions', 'robin-carlier', 'sglasman'] |
kim-em assignee:kim-em |
26-44028 26 days ago |
32-6491 32 days ago |
14-69757 14 days |
| 38432 |
SnirBroshi author:SnirBroshi |
feat(Logic/Relation): `Map r f g ≤ s ↔ r ≤ s.bicompl f g` |
and the dual `s ≤ Relation.Map r f g ↔ s.bicompl f g ≤ r` which requires `f` and `g` to be bijective.
Adds `Galois{Connection/Insertion/Coinsertion}` for the dual.
The theorems are specialized to `onFun` instead of `bicompl` for when `f = g`.
The `≤` theorems are spelled using `Subrelation` since `≤` is not yet available in this file, and `∀` for the `bicompl` theorems since `Subrelation` only supports homogeneous relations.
A `GaloisConnection` for the iff in the title requires `f`/`g` to be bijective, but then we can get an `OrderIso` which is stronger (see #38499).
---
[](https://gitpod.io/from-referrer/)
|
t-logic |
119/28 |
Mathlib/Logic/Relation.lean,Mathlib/Order/GaloisConnection/Basic.lean |
2 |
3 |
['SnirBroshi', 'github-actions', 'plp127'] |
nobody |
26-40065 26 days ago |
30-47278 30 days ago |
31-68695 31 days |
| 38612 |
SnirBroshi author:SnirBroshi |
feat(Order/SuccPred/CompleteLinearOrder): `sSup s < x` iff theorems when we know if `x` is a successor pre-limit or not |
Adds the following theorems (along with their duals and indexed versions):
```lean
sSup_lt_iff_of_not_isSuccPrelimit : ¬IsSuccPrelimit x → sSup s < x ↔ ∀ a ∈ s, a < x
le_sSup_iff_of_not_isSuccPrelimit : ¬IsSuccPrelimit x → x ≤ sSup s ↔ ∃ a ∈ s, x ≤ a
Order.IsSuccPrelimit.sSup_lt_iff : IsSuccPrelimit x → sSup s < x ↔ ∃ a < x, ∀ b ∈ s, b < a
Order.IsSuccPrelimit.le_sSup_iff : IsSuccPrelimit x → x ≤ sSup s ↔ ∀ a < x, ∃ b ∈ s, a ≤ b
```
They are similar to these existing theorems, but not the same:
```lean
sSup_lt_iff : sSup s < x ↔ ∃ a < x, ∀ b ∈ s, b ≤ a
le_sSup_iff_forall_lt : x ≤ sSup s ↔ ∀ a < x, ∃ b ∈ s, a < b
```
---
[](https://gitpod.io/from-referrer/)
|
t-order |
43/0 |
Mathlib/Order/SuccPred/CompleteLinearOrder.lean |
1 |
6 |
['SnirBroshi', 'github-actions', 'vihdzp'] |
nobody |
26-39866 26 days ago |
27-36780 27 days ago |
27-36775 27 days |
| 37346 |
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):
* `✅️ SimpleGraph.Walk.IsPath.getVert_injOn`: unchanged 🎉
* `✅️ SimpleGraph.Walk.length_bypass_le`: unchanged 🎉
* `✅️ Rat.floor_intCast_div_natCast`: unchanged 🎉
* `✅️ InnerProductGeometry.norm_eq_of_angle_sub_eq_angle_sub_rev_of_angle_ne_pi`: unchanged 🎉
* `✅️ padicNorm.zero_of_padicNorm_eq_zero`: unchanged 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
awaiting-zulip
|
7/45 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Data/Rat/Floor.lean,Mathlib/Geometry/Euclidean/Triangle.lean,Mathlib/NumberTheory/Padics/PadicNorm.lean |
4 |
22 |
['FernandoChu', 'bryangingechen', 'chenson2018', 'euprunin', 'faenuccio', 'github-actions', 'grunweg'] |
nobody |
26-21460 26 days ago |
26-21491 26 days ago |
30-49603 30 days |
| 33485 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(LinearAlgebra/Transvection/Generation): prove the third part of Dieudonné's theorem |
Prove the third part of Dieudonné's theorem : if `e : V ≃ₗ[K] V` is a product of `finrank K (V ⧸ e.fixedSubmodule) - 1` transvections and one dilatransvection, then it is not exceptional.
Actually, we prove something slightly stronger : if `e : V ≃ₗ[K] V` is a product of a transvection and of
`finrank K (V ⧸ e.fixedSubmodule) - 1` dilatransvections, then it is not exceptional.
---
- [ ] depends on: #33347
- [ ] depends on: #33348
- [ ] depends on: #33387
- [ ] depends on: #33282
- [ ] depends on: #33392
- [ ] depends on: #33402
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
label:t-algebra$ |
1122/16 |
Mathlib.lean,Mathlib/LinearAlgebra/Center.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/Projectivization/Action.lean,Mathlib/LinearAlgebra/Transvection/Basic.lean,Mathlib/LinearAlgebra/Transvection/Generation.lean |
6 |
13 |
['AntoineChambert-Loir', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
25-76067 25 days ago |
143-21268 143 days ago |
0-955 15 minutes |
| 33560 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(LinearAlgebra/Transvection/Generation): a linear equivalence is the product of dilatransvections |
Prove that a linear equivalence `e` is the product of `V ⧸ e.fixedSubmodule` dilatransvections.
(It cannot be a product of less.)
---
- [ ] depends on: #33347
- [ ] depends on: #33348
- [ ] depends on: #33387
- [ ] depends on: #33282
- [ ] depends on: #33392
- [ ] depends on: #33402
- [ ] depends on: #33485
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
label:t-algebra$ |
1222/3 |
Mathlib.lean,Mathlib/LinearAlgebra/Center.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/Projectivization/Action.lean,Mathlib/LinearAlgebra/Transvection/Basic.lean,Mathlib/LinearAlgebra/Transvection/Generation.lean |
6 |
12 |
['AntoineChambert-Loir', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
25-75752 25 days ago |
140-65489 140 days ago |
0-1282 21 minutes |
| 36701 |
kim-em author:kim-em |
feat(DefEqAbuse): detect and report leaky instance binder types |
This PR adds `#check_instance` and `checkInstance` to `Mathlib/Tactic/FastInstance.lean` to diagnose individual instances for leaky data-field binder types, and integrates this into `#defeq_abuse` so it automatically reports leaky instances.
A new `withDisabledInstance` helper temporarily evicts an instance from the discrimination tree (via `Attribute.erase` + `withoutModifyingEnv`), allowing `makeFastInstance` to compute the canonical form without `trySynthInstance` trivially finding the instance being checked.
`#defeq_abuse` now checks instances used in the failing goal/command for leakiness and reports them alongside the isDefEq failure diagnostics.
**Example: `#check_instance`**
```lean
def MyNat := ℕ
-- Without fast_instance%, the `add` field has binder type ℕ rather than MyNat.
instance leakyAdd : Add MyNat := ⟨Nat.add⟩
#check_instance leakyAdd
-- ❌ 'leakyAdd': leaky binder types detected.
-- The data field `add` has binder type ℕ where MyNat is expected.
-- The `fast_instance%` elaborator may be useful as a repair or band-aid:
-- `instance : ... := fast_instance% `
instance fixedAdd : Add MyNat := fast_instance% ⟨Nat.add⟩
#check_instance fixedAdd
-- ✅ 'fixedAdd': canonical (re-inferred form agrees at instances transparency)
```
🤖 Prepared with Claude Code |
LLM-generated
awaiting-author
t-meta
merge-conflict
|
317/17 |
Mathlib/Tactic/DefEqAbuse.lean,Mathlib/Tactic/FastInstance.lean,MathlibTest/CheckInstance.lean,MathlibTest/DefEqAbuse.lean |
4 |
43 |
['JovanGerb', 'Vierkantor', 'eric-wieser', 'github-actions', 'kim-em', 'mathlib-merge-conflicts', 'ocfnash'] |
Vierkantor assignee:Vierkantor |
25-72808 25 days ago |
63-167 63 days ago |
6-60386 6 days |
| 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`.
---
[](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 |
25-72806 25 days ago |
25-72807 25 days ago |
43-5868 43 days |
| 37191 |
artie2000 author:artie2000 |
chore(Geometry/Convex/Cone/Pointed): clean up variables |
* Remove variable overwrites by changing `variable` declarations and renaming variables
* Rename variables to maintain rough type-consistency within the file
* Reorganise sections in order of increasing typeclass strength
* Bring explicit/implicit variables in line with convention
This PR doesn't change any declarations beyond changing variable explicitness.
---
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry
awaiting-author
merge-conflict
|
148/129 |
Mathlib/Geometry/Convex/Cone/Pointed.lean |
1 |
15 |
['YaelDillies', 'artie2000', 'github-actions', 'martinwintermath', 'mathlib-merge-conflicts'] |
YaelDillies assignee:YaelDillies |
25-72681 25 days ago |
32-30835 32 days ago |
25-78701 25 days |
| 33692 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(LinearAlgebra/Transvection/SpecialLinearGroup): generation of the special linear group by transvections |
Consider transvections in the special linear group.
Prove that they generate the group.
Prove Dieudonné's refinement about the minimal number needed to write an element
as a product of transvections.
---
- [ ] depends on: #33560
- [ ] depends on: #33485
- [ ] depends on: #33402
- [ ] depends on: #33392
- [ ] depends on: #33387
- [ ] depends on: #33348
- [ ] depends on: #33347
- [ ] depends on: #33282
- [x] depends on: #32757
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
label:t-algebra$ |
1459/18 |
Mathlib.lean,Mathlib/LinearAlgebra/Center.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/Projectivization/Action.lean,Mathlib/LinearAlgebra/Transvection/Basic.lean,Mathlib/LinearAlgebra/Transvection/Generation.lean,Mathlib/LinearAlgebra/Transvection/SpecialLinearGroup.lean |
7 |
10 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
25-69592 25 days ago |
138-65623 138 days ago |
0-93 1 minute |
| 33882 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(LinearAlgebra/Transvection/SpecialLinearGroup): commutators in the special linear group |
Over a field, prove the following results :
* transvections are conjugate in the general linear group; except in rank 2, they are conjugate
in the special linear group.
* the special linear group is equal to its commutator subgroup (except
when it doesn't, ie, in rank 2 over a field with 2 or 3 elements).
---
- [x] depends on: #33347
- [x] depends on: #33348
- [x] depends on: #33387
- [x] depends on: #33282
- [ ] depends on: #33392
- [ ] depends on: #33402
- [ ] depends on: #33485
- [x] depends on: #32757
- [ ] depends on: #33560
- [ ] depends on: #33692
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-algebra
label:t-algebra$ |
1991/31 |
Mathlib.lean,Mathlib/GroupTheory/Commutator/Basic.lean,Mathlib/LinearAlgebra/Basis/Fin.lean,Mathlib/LinearAlgebra/Center.lean,Mathlib/LinearAlgebra/Dual/Defs.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/Projectivization/Action.lean,Mathlib/LinearAlgebra/SpecialLinearGroup.lean,Mathlib/LinearAlgebra/Transvection/Basic.lean,Mathlib/LinearAlgebra/Transvection/Generation.lean,Mathlib/LinearAlgebra/Transvection/SpecialLinearGroup.lean |
11 |
7 |
['AntoineChambert-Loir', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
25-69260 25 days ago |
133-13034 133 days ago |
0-50 50 seconds |
| 33916 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(LinearAlgebra/SpecialLinearGroup/Simple): simplicity of the projective special linear group. |
Let `K` be a field and `V` be a `K`-vector space.
* `SpecialLinearGroup.isQuasiSimpleGroup`:
if `finrank K V` is at least 3, or if `finrank K V = 2` and `K` has at least 4 elements,
then `SpecialLinearGroup K V` is quasi-simple, namely, the quotient group
`SpecialLinearGroup K V ⧸ Subgroup.center (SpecialLinearGroup K V)`
is simple.
---
- [x] depends on: #32757
- [x] depends on: #33347
- [x] depends on: #33282
- [x] depends on: #33348
- [x] depends on: #33387
- [ ] depends on: #33392
- [ ] depends on: #33402
- [ ] depends on: #33485
- [ ] depends on: #33560
- [ ] depends on: #33692
- [ ] depends on: #33882
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-algebra
label:t-algebra$ |
2213/31 |
Mathlib.lean,Mathlib/GroupTheory/Commutator/Basic.lean,Mathlib/LinearAlgebra/Basis/Fin.lean,Mathlib/LinearAlgebra/Center.lean,Mathlib/LinearAlgebra/Dual/Defs.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/Projectivization/Action.lean,Mathlib/LinearAlgebra/SpecialLinearGroup.lean,Mathlib/LinearAlgebra/SpecialLinearGroup/Simple.lean,Mathlib/LinearAlgebra/Transvection/Basic.lean,Mathlib/LinearAlgebra/Transvection/Generation.lean,Mathlib/LinearAlgebra/Transvection/SpecialLinearGroup.lean |
12 |
6 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
25-69232 25 days ago |
132-12982 132 days ago |
0-1083 18 minutes |
| 37535 |
grunweg author:grunweg |
chore(FiberBundle/Trivialisation): tag with grind |
I am unsure if all of these are good grind lemmas; close examination is welcome. I left XXX comments with my questions; there are about 3 different questions repeating a few times.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
awaiting-author
merge-conflict
|
49/19 |
Mathlib/Topology/FiberBundle/Trivialization.lean |
1 |
7 |
['chenson2018', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
urkud assignee:urkud |
25-64203 25 days ago |
50-34408 50 days ago |
2-73668 2 days |
| 37603 |
Parcly-Taxel author:Parcly-Taxel |
refactor: review of `SetSemiring` |
* Rename `Set.up` and `SetSemiring.down` to `SetSemiring.ofSet` and `SetSemiring.toSet` respectively. Unprotect both and make them equivalences, following `FreeMonoid`.
* Derive `CompleteAtomicBooleanAlgebra` for `SetSemiring` immediately.
* Add `imageHom_id` and `imageHom_comp`. The three existing lemmas about `imageHom` are coalesced into `imageHom_apply`.
Ultimately inspired by https://github.com/leanprover-community/mathlib4/pull/36934#issuecomment-4183475568. |
maintainer-merge
merge-conflict
|
120/165 |
Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Data/Set/Semiring.lean |
2 |
42 |
['Parcly-Taxel', 'YaelDillies', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'sgouezel'] |
nobody |
25-64196 25 days ago |
25-64197 25 days ago |
22-62470 22 days |
| 37723 |
xgenereux author:xgenereux |
feat(Adjoin/Polynomial/Transcendental): Adjoining transcendental elements |
This PR establishes some basic properties about `A[y]` when `y` is transcendental over `A`. These are mostly just carried over from `A[X]`.
- Move `algEquivOfTranscendental` in the newly created file `Mathlib.RingTheory.Adjoin.Polynomial.Transcendental`
- Add `Algebra.adjoin.evalOfTranscendental`. This is technically very similar to `Algebra.adjoin.liftSingleton` but the definition is much simpler. It is also currently more general in the sense that it doesn't require `A` to be a field.
- Some basic instances from `Polynomial`. Note that these are actually theorems because of the hypothesis `(h : Transcendental R s)` everywhere. I've also added a `Fact` version to allow the possibility of instances.
Last note : I initially considered adding some results in `RingTheory.Polynomial.Quotient` where I golfed the file a tiny bit. I removed the unused results but kept the golf.
Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)>
---
- [ ] depends on: #36439
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
blocked-by-other-PR
merge-conflict
|
135/65 |
Mathlib.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/RingTheory/Adjoin/Polynomial/Basic.lean,Mathlib/RingTheory/Adjoin/Polynomial/Bivariate.lean,Mathlib/RingTheory/Adjoin/Polynomial/Transcendental.lean,Mathlib/RingTheory/Algebraic/Basic.lean,Mathlib/RingTheory/Polynomial/Quotient.lean |
8 |
5 |
['github-actions', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'riccardobrasca'] |
nobody |
25-64194 25 days ago |
48-55388 48 days ago |
0-1922 32 minutes |
| 37806 |
Raph-DG author:Raph-DG |
chore(Topology): rename `Function.locallyFinsupp` to `Function.LocallyFinsupp` |
And move single from `LocallyFinSuppWithin` to `LocallyFinsupp`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
merge-conflict
|
343/146 |
Mathlib/Analysis/Complex/JensenFormula.lean,Mathlib/Analysis/Complex/ValueDistribution/FirstMainTheorem.lean,Mathlib/Analysis/Complex/ValueDistribution/LogCounting/Asymptotic.lean,Mathlib/Analysis/Complex/ValueDistribution/LogCounting/Basic.lean,Mathlib/Analysis/Meromorphic/Divisor.lean,Mathlib/Analysis/Meromorphic/FactorizedRational.lean,Mathlib/Analysis/Meromorphic/NormalForm.lean,Mathlib/Topology/LocallyFinsupp.lean |
8 |
11 |
['Raph-DG', 'chrisflav', 'github-actions', 'jcommelin', 'mathlib-merge-conflicts'] |
nobody |
25-64193 25 days ago |
38-85055 38 days ago |
4-50448 4 days |
| 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.
---
[](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 |
25-64179 25 days ago |
25-64180 25 days ago |
7-41851 7 days |
| 38444 |
astrainfinita author:astrainfinita |
refactor(Order/(Conditionally)CompletePartialOrder): extends `OrderSupSet` |
---
- [ ] depends on: #35674
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
merge-conflict
|
438/219 |
Mathlib/Algebra/Order/Group/Pointwise/CompleteLattice.lean,Mathlib/Algebra/Order/Nonneg/Lattice.lean,Mathlib/Algebra/Tropical/Lattice.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Data/Int/ConditionallyCompleteOrder.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Real/Archimedean.lean,Mathlib/Data/Real/Pointwise.lean,Mathlib/MeasureTheory/OuterMeasure/Induced.lean,Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/Bounds/Defs.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/CompleteLatticeIntervals.lean,Mathlib/Order/CompletePartialOrder.lean,Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Basic.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Defs.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Indexed.lean,Mathlib/Order/Copy.lean,Mathlib/Order/LiminfLimsup.lean,Mathlib/Order/SetNotation.lean,Mathlib/Order/SuccPred/CompleteLinearOrder.lean,Mathlib/Probability/Process/HittingTime.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/Exponential.lean,Mathlib/SetTheory/Ordinal/Family.lean,Mathlib/Topology/NoetherianSpace.lean,Mathlib/Topology/UniformSpace/OfCompactT2.lean |
33 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
25-64173 25 days ago |
31-42864 31 days ago |
0-2484 41 minutes |
| 38635 |
Fieldnote-Echo author:Fieldnote-Echo |
chore(scripts): handle simple to_additive deprecations |
Closes #38550.
This updates `scripts/add_deprecations.sh` so that, when a renamed declaration is near an existing `@[to_additive]` attribute, the script also emits the additive deprecation alias in the common default-name case.
For example, `foo_mul -> bar_mul` now produces:
```lean
@[deprecated (since := "...")]
alias foo_add := bar_add
@[to_additive existing, deprecated (since := "...")]
alias foo_mul := bar_mul
```
This is intentionally conservative and text-based, matching the existing script. It handles common name translations such as mul/add, prod/sum, one/zero, inv/neg, and div/sub, and skips cases that look like they need less common to_additive name generation.
Tested with a local six-case fixture and a scratch Lean file confirming that the generated alias form compiles and produces deprecation warnings for both names.
I opened this as draft because I still count as a new contributor under the LLM-assisted PR policy. I have one merged mathlib PR (#36443), and this is a one-file script patch that I reviewed/tested manually. I'll leave it as draft unless a maintainer gives it the green light to flip ready.
I used Claude assistance while drafting and testing the patch. I reviewed the final diff manually and tested the generated Lean form locally. |
CI
new-contributor
|
121/10 |
scripts/add_deprecations.sh |
1 |
4 |
['Fieldnote-Echo', 'SnirBroshi', 'github-actions'] |
kim-em assignee:kim-em |
25-45123 25 days ago |
unknown |
0-0 0 seconds |
| 37930 |
vlad902 author:vlad902 |
chore(SimpleGraph): move `cycleGraph` to its own file |
PR #34797 re-defined `cycleGraph` independent of `circulantGraph`. Now move the definition of `cycleGraph` to its own file so that the definition can be used without importing the algebra hierarchy.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
173/148 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Circulant.lean,Mathlib/Combinatorics/SimpleGraph/Cycle.lean |
3 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
25-43835 25 days ago |
25-43858 25 days ago |
25-44240 25 days |
| 38752 |
joelriou author:joelriou |
feat(CategoryTheory): the bicategory of triangulated categories |
See Zulip [#general > backward.isDefEq.respectTransparency @ 💬](https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/backward.2EisDefEq.2ErespectTransparency/near/591988149)
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
|
168/0 |
Mathlib.lean,Mathlib/CategoryTheory/Triangulated/Bicategory.lean |
2 |
1 |
['github-actions'] |
nobody |
25-33009 25 days ago |
25-34554 25 days ago |
0-2 2 seconds |
| 38759 |
chrisflav author:chrisflav |
chore(CategoryTheory): more experiments with unification hints |
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
106/2 |
Mathlib/CategoryTheory/Functor/Basic.lean,Mathlib/Tactic/Simps/Basic.lean,Mathlib/Tactic/Simps/UnifHintAttr.lean,MathlibTest/Simps.lean |
4 |
1 |
['github-actions'] |
nobody |
25-28653 25 days ago |
unknown |
0-0 0 seconds |
| 38732 |
eric-wieser author:eric-wieser |
fix: revert and fix #38703 |
#38703 removed the canary intended to detect a broken lemma, without fixing the lemma.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
delegated
label:t-algebra$ |
4/11 |
Mathlib/Algebra/Group/Action/Units.lean |
1 |
5 |
['github-actions', 'kbuzzard', 'mathlib-bors'] |
nobody |
25-26201 25 days ago |
25-26201 25 days ago |
0-57214 15 hours |
| 37832 |
YaelDillies author:YaelDillies |
chore(Algebra/Order/GroupWithZero): flatten `Unbundled` folder |
The algebraic order classes are unbundled now.
---
More thought is needed to do the same for `Algebra.Order.Monoid` since filenames conflict.
[](https://gitpod.io/from-referrer/)
|
file-removed
t-algebra
t-order
label:t-algebra$ |
20/20 |
Mathlib.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/List.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Field/Pointwise.lean,Mathlib/Algebra/Order/GroupWithZero/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Bounds.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Defs.lean,Mathlib/Algebra/Order/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/GroupWithZero/OrderIso.lean,Mathlib/Algebra/Order/GroupWithZero/Submonoid.lean,Mathlib/Algebra/Order/GroupWithZero/WithZero.lean,Mathlib/Algebra/Order/Nonneg/Basic.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean,Mathlib/Order/Filter/IsBounded.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/Tactic/FieldSimp/Lemmas.lean |
19 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
25-8720 25 days ago |
25-8746 25 days ago |
44-13858 44 days |
| 37736 |
EtienneC30 author:EtienneC30 |
feat: API for binomial distribution |
Provide basic API regarding the binomial distribution, computing the measure of singletons and writing it as a sum of Dirac masses. Provide basic results regarding integrability.
Deprecate [PMF.binomial](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Probability/ProbabilityMassFunction/Binomial.html#PMF.binomial).
---
As I explain in the module docstring, I am proving most results in two versions: one for the measure over `Nat` and one for the cast version. This obviously leads to some duplications, I think it's fine but I am happy to hear other ideas.
- [ ] depends on: #37534
- [ ] depends on: #37541
- [x] depends on: #37543
- [x] depends on: #37739
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
blocked-by-other-PR
large-import
|
196/18 |
Mathlib/Data/Set/Card.lean,Mathlib/Probability/Distributions/Binomial.lean,Mathlib/Probability/Distributions/Poisson/PoissonLimitThm.lean,Mathlib/Probability/ProbabilityMassFunction/Binomial.lean |
4 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
25-4976 25 days ago |
unknown |
0-0 0 seconds |
| 38742 |
Jun2M author:Jun2M |
feat(Tactic): simproc for `Eq.rec` |
Note: This PR was written with a lot of help from AI (Opus 4.7). I am still learning Lean meta programming. I would very much welcome any feedback.
Problem: There are a lot of `cast` like functions for various definitions in Mathlib: [`Fin.cast`](https://leanprover-community.github.io/mathlib4_docs/Init/Data/Fin/Basic.html#Fin.cast), [`List.Vector.congr`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Vector/Defs.html#List.Vector.congr), [`SimpleGraph.Walk.copy`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Combinatorics/SimpleGraph/Walk/Operations.html#SimpleGraph.Walk.copy), [`Path.cast`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Path.html#Path.cast), [`Sym.cast`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Sym/Basic.html#Sym.cast), [`Partition.copy`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/Partition/Basic.html#Partition.copy), [`Finpartition.copy`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/Partition/Finpartition.html#Finpartition.copy) & etc. All of these functions does the same as `h ▸ a` where `h` is a proof of equality of something in the type of `a`. I think this is caused because proving the properties about `h ▸ a` is too difficult without extra tooling.
All of the above follows the pattern where it is an indexed type where it contains
* some data
* proof that the data is related to the index
and casting only changes the second part. The trouble happens when I would like to talk about the data of the casted object. There is `congr_eqRec` lemma in Battery that are exactly for this situation but even after adding `simp` tag to it, it is not being used. [Here](https://live.lean-lang.org/#codez=JYWwDg9gTgLgBAWQIYwBYBtgCMBQeCmAHkuOvnAN6CNwHAFxwAqAnmPgFQC%2BlYdcNgSYR84ggApQIYLhSRwsvKlwAUhXgGUArlhgtyinkgCUBuItS8ZAXlnH6puIA7SOIQMA6AG5J0cK4Xee6VlhMcDhwcADOoDwA2gDGEAB2AOZQAPr4AI4ASvixALoExKTkFAlwILyAqIRKPPQAYsBlimUA1HAAjEYmZvRlViA23Q5wYK4eXlZgfl60gcGhEVFwcYkp6dm5BThEJGBklABqvMysnJQA4mpRZOdQSGBmB1LqcG5wAO68TyYA6rznLh%2BngA1nAXm5jHZ6C8rO9BnZHD9XPgACZJfDhbxwH4uVHozGzWTzMKRcDLeLJNKZHL5BYAWjpcCg%2BAAZo1yBS1tTcnAAPypOBmH6FXb7ajHHRnCiY%2BD0VT4eAKEwiXgiJCwYAwYCJCKQnoRLEweEIuAq%2BhqjVanVGtQKkzyxVdKxmuYhElRXnk1ZUjb5N1wBlM1nsuCcn00vkCswiPA4IA), all of these simp tactics fail.
Solution: This PR introduces a simproc `castData` (I would welcome a name suggestion) and attribute `cast_data`. When it sees `f ... (h ▸ x)` where `f` is tagged with `cast_data`, `castData` will try to simplify to `f ... x`. This simproc proves all 4 examples linked above. Hopefully this removes the need for all the `cast`-like definition and their APIs.
---
[](https://gitpod.io/from-referrer/)
|
LLM-generated |
122/7 |
Mathlib.lean,Mathlib/CategoryTheory/Sites/IsSheafFor.lean,Mathlib/CategoryTheory/WithTerminal/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Data/FunLike/Basic.lean,Mathlib/Data/SetLike/Basic.lean,Mathlib/Data/Subtype.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simproc/CastData.lean |
9 |
9 |
['Jun2M', 'SnirBroshi', 'github-actions', 'leanprover-radar', 'mathlib-bors'] |
nobody |
25-4152 25 days ago |
25-62269 25 days ago |
0-2835 47 minutes |
| 38766 |
yuanyi-350 author:yuanyi-350 |
chore(AlgebraicTopology/DoldKan/GammaCompN): remove an erw |
- rewrites `N₂Γ₂ToKaroubiIso_inv_app` with a single `simp` invocation on the relevant splitting definitions
Extracted from #38415
[](https://gitpod.io/from-referrer/) |
t-algebraic-topology
codex
LLM-generated
awaiting-author
|
1/1 |
Mathlib/AlgebraicTopology/DoldKan/GammaCompN.lean |
1 |
2 |
['dagurtomas', 'github-actions'] |
nobody |
24-81865 24 days ago |
24-81865 24 days ago |
0-28342 7 hours |
| 37531 |
EtienneC30 author:EtienneC30 |
feat: integral of the binomial distribution |
Provide the probability of singletons under the binomial distribution and compute the expectation.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
merge-conflict
|
212/6 |
Mathlib/Data/Set/Card.lean,Mathlib/Probability/Distributions/Binomial.lean,Mathlib/Probability/Distributions/SetBernoulli.lean |
3 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
24-74505 24 days ago |
unknown |
0-0 0 seconds |
| 38764 |
yuanyi-350 author:yuanyi-350 |
chore(AlgebraicGeometry/Modules/Tilde): remove an erw |
- rewrites the naturality proof in `fromTildeΓNatTrans` by making the `FullSubcategory.comp_hom` and `NatTrans.comp_app` steps explicit in the `rw` chain
Extracted from #38415
[](https://gitpod.io/from-referrer/) |
codex
t-algebraic-geometry
LLM-generated
awaiting-author
|
3/1 |
Mathlib/AlgebraicGeometry/Modules/Tilde.lean |
1 |
2 |
['dagurtomas', 'github-actions'] |
nobody |
24-72692 24 days ago |
24-72692 24 days ago |
0-37520 10 hours |
| 38747 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Basic): more `neighborSet` and `IsIsolated` lemmas |
---
`neighborSet_mono` moved from `Maps.lean` to `Basic.lean` with a simpler proof
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
72/17 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/StronglyRegular.lean |
4 |
2 |
['github-actions', 'vlad902'] |
nobody |
24-65514 24 days ago |
24-72470 24 days ago |
25-40354 25 days |
| 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
[](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 |
5 |
['Komyyy', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
Komyyy assignee:Komyyy |
24-47404 24 days ago |
24-47404 24 days ago |
22-11204 22 days |
| 38537 |
astrainfinita author:astrainfinita |
refactor(Order): make completeness typeclasses mixins |
This PR turns completeness typeclasses that are weaker than `CompleteLattice` into mixins.
---
[](https://gitpod.io/from-referrer/)
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/Any.20infimum.20based.20version.20of.20.60OmegaCompletePartialOrder.60.3F/)
Refactoring `CompleteLattice` would touch many more files, and there are still some unresolved design issues. I've modified 100 files and still haven't determined the correct approach.
In this PR, `ConditionallyCompleteLattice` only requires `PartialOrder`, so that it can be used for types like `NonemptyInterval`. |
t-order
WIP
merge-conflict
|
578/580 |
Counterexamples/SorgenfreyLine.lean,Mathlib/Algebra/FiniteSupport/Basic.lean,Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Algebra/Order/Group/CompleteLattice.lean,Mathlib/Algebra/Order/Group/Indicator.lean,Mathlib/Algebra/Order/Group/Pointwise/CompleteLattice.lean,Mathlib/Algebra/Order/Nonneg/Lattice.lean,Mathlib/Algebra/Tropical/BigOperators.lean,Mathlib/Algebra/Tropical/Lattice.lean,Mathlib/Analysis/Asymptotics/LinearGrowth.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Control/LawfulFix.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Data/Fintype/Order.lean,Mathlib/Data/Int/ConditionallyCompleteOrder.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Order.lean,Mathlib/MeasureTheory/Covering/Besicovitch.lean,Mathlib/MeasureTheory/Function/EssSup.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Integral/BoundedContinuousFunction.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/Measure/Decomposition/Lebesgue.lean,Mathlib/NumberTheory/Height/Basic.lean,Mathlib/NumberTheory/Height/MvPolynomial.lean,Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/BourbakiWitt.lean,Mathlib/Order/Category/OmegaCompletePartialOrder.lean,Mathlib/Order/CompleteLatticeIntervals.lean,Mathlib/Order/CompletePartialOrder.lean,Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/Finset.lean,Mathlib/Order/ConditionallyCompleteLattice/Group.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Basic.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Defs.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Indexed.lean,Mathlib/Order/Copy.lean,Mathlib/Order/Filter/AtTopBot/CompleteLattice.lean,Mathlib/Order/Filter/Extr.lean,Mathlib/Order/Interval/Set/OrdConnectedLinear.lean,Mathlib/Order/IsNormal.lean,Mathlib/Order/LiminfLimsup.lean,Mathlib/Order/Monotone/Extension.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/OrdContinuous.lean,Mathlib/Order/OrderIsoNat.lean,Mathlib/Order/PartialSups.lean,Mathlib/Order/SemiconjSup.lean,Mathlib/Order/SuccPred/Basic.lean,Mathlib/Order/SuccPred/CompleteLinearOrder.lean,Mathlib/Order/SupClosed.lean,Mathlib/Probability/IdentDistrib.lean,Mathlib/Probability/Martingale/BorelCantelli.lean,Mathlib/Probability/Martingale/Upcrossing.lean,Mathlib/Probability/Process/HittingTime.lean,Mathlib/Probability/Process/LocalProperty.lean,Mathlib/Probability/Process/Stopping.lean,Mathlib/Topology/Algebra/Order/LiminfLimsup.lean,Mathlib/Topology/FiberBundle/Basic.lean,Mathlib/Topology/MetricSpace/ProperSpace/Lemmas.lean,Mathlib/Topology/OmegaCompletePartialOrder.lean,Mathlib/Topology/Order/Basic.lean,Mathlib/Topology/Order/Bornology.lean,Mathlib/Topology/Order/Compact.lean,Mathlib/Topology/Order/IntermediateValue.lean,Mathlib/Topology/Order/IsLUB.lean,Mathlib/Topology/Order/LeftRightLim.lean,Mathlib/Topology/Order/LiminfLimsup.lean,Mathlib/Topology/Order/Monotone.lean,Mathlib/Topology/Order/MonotoneConvergence.lean,Mathlib/Topology/Order/OrderClosed.lean,Mathlib/Topology/Order/Rolle.lean,Mathlib/Topology/Semicontinuity/Basic.lean,MathlibTest/Delab/SupInf.lean |
76 |
4 |
['astrainfinita', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
24-47400 24 days ago |
29-58413 29 days ago |
0-2782 46 minutes |
| 38751 |
YaelDillies author:YaelDillies |
feat(Data/Finset/Density): more `NNRat.cast` lemmas |
From AddCombi
---
- [ ] depends on: #38716
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
blocked-by-other-PR
label:t-algebra$ |
69/39 |
Mathlib/Algebra/Order/Field/Rat.lean,Mathlib/Algebra/Order/Ring/Rat.lean,Mathlib/Combinatorics/SetFamily/LYM.lean,Mathlib/Data/Finset/Density.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/Data/NNRat/Floor.lean,Mathlib/Data/NNRat/Order.lean,Mathlib/Data/Rat/Star.lean,Mathlib/RingTheory/Binomial.lean,Mathlib/Topology/Instances/Rat.lean |
10 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
24-39012 24 days ago |
25-33903 25 days ago |
0-1009 16 minutes |
| 38799 |
YaelDillies author:YaelDillies |
refactor(Combinatorics/Additive/Energy): switch to the compact normalisation |
In additive combinatorics, it is natural for the group of study to be considered with its compact normalisation (making it have total mass 1) and its dual group to be considered with its discrete normalisation (so that each singleton has mass 1), instead of the other way around and even when both groups are finite.
In this case, I will soon generalise the energy to compact abelian groups, and possibly even to all abelian groups equipped with a mean. This PR is a first step towards that by renormalising the energy to be between 0 and 1.
From AddCombi
---
- [ ] depends on: #38751
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-combinatorics
large-import
|
180/94 |
Mathlib/Algebra/Order/Field/Rat.lean,Mathlib/Algebra/Order/Ring/Rat.lean,Mathlib/Combinatorics/Additive/Energy.lean,Mathlib/Combinatorics/SetFamily/LYM.lean,Mathlib/Data/Finset/Density.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/Data/NNRat/Floor.lean,Mathlib/Data/NNRat/Order.lean,Mathlib/Data/Rat/Star.lean,Mathlib/RingTheory/Binomial.lean,Mathlib/Topology/Instances/Rat.lean |
11 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
24-33662 24 days ago |
24-34963 24 days ago |
0-11 11 seconds |
| 37342 |
vasnesterov author:vasnesterov |
feat(Tactic/ComputeAsymptotics/Multiseries): non-primitive corecursion for Seq: more `FriendlyOperation` API |
This is a continuation of #35072.
This PR adds more API about friendly operations:
* `FriendlyOperation.coind`: a coinductive principle for proving that operation is friendly
* `FriendlyOperationClass.eq_of_bisim`: a generalisation of `Seq.eq_of_bisim'` for proving two sequences are equal.
---
- [x] depends on: #35072
This is a part of the `compute_asymptotics` tactic (#28291).
[](https://gitpod.io/from-referrer/)
|
t-data
t-meta
awaiting-author
|
161/0 |
Mathlib/Tactic/ComputeAsymptotics/Multiseries/Corecursion.lean |
1 |
5 |
['github-actions', 'joneugster', 'mathlib-dependent-issues'] |
joneugster assignee:joneugster |
24-29924 24 days ago |
24-29924 24 days ago |
28-74243 28 days |
| 38784 |
justus-springer author:justus-springer |
feat(Algebra/Algebra/RestrictScalars): Generalize `RestrictScalars` |
Generalize `RestrictScalars` to allow restricting along a ring morphism `f : R →+* S` where `R`
is not necessaritly commutative.
This is a step towards resolving defeq abuses between `(restrictScalars f).obj M` and `M` for `M : ModuleCat R`, mentioned in the file `ModuleCat/ChangeOfRings.lean`.
---
[](https://gitpod.io/from-referrer/)
|
WIP |
240/149 |
Mathlib/Algebra/Algebra/RestrictScalars.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Lie/BaseChange.lean,Mathlib/Analysis/Normed/Module/Basic.lean |
4 |
2 |
['eric-wieser', 'github-actions'] |
nobody |
24-16897 24 days ago |
25-3819 25 days ago |
0-7 7 seconds |
| 38413 |
yuanyi-350 author:yuanyi-350 |
doc(CategoryTheory): fix typos |
In this PR, we used a Codex agent to scan the `CategoryTheory` directory to check for typos in the docstrings. We picked out some of the more obvious errors to fix in this PR.
Depends on #38441
Co-authored-by: @LehengChen
---
[](https://gitpod.io/from-referrer/) |
LLM-generated
codex
documentation
t-category-theory
WIP
|
35/34 |
Mathlib/CategoryTheory/Abelian/GrothendieckCategory/EnoughInjectives.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Subobject.lean,Mathlib/CategoryTheory/Abelian/Injective/Basic.lean,Mathlib/CategoryTheory/Abelian/Pseudoelements.lean,Mathlib/CategoryTheory/Action/Continuous.lean,Mathlib/CategoryTheory/Adjunction/AdjointFunctorTheorems.lean,Mathlib/CategoryTheory/Adjunction/Triple.lean,Mathlib/CategoryTheory/Center/Localization.lean,Mathlib/CategoryTheory/FiberedCategory/Fiber.lean,Mathlib/CategoryTheory/Functor/Const.lean,Mathlib/CategoryTheory/Functor/Derived/RightDerived.lean,Mathlib/CategoryTheory/Functor/KanExtension/Pointwise.lean,Mathlib/CategoryTheory/Functor/OfSequence.lean,Mathlib/CategoryTheory/Functor/Trifunctor.lean,Mathlib/CategoryTheory/GradedObject/Bifunctor.lean,Mathlib/CategoryTheory/Groupoid/Basic.lean,Mathlib/CategoryTheory/IsomorphismClasses.lean,Mathlib/CategoryTheory/Join/Final.lean,Mathlib/CategoryTheory/Limits/ExactFunctor.lean,Mathlib/CategoryTheory/Limits/Filtered.lean,Mathlib/CategoryTheory/Limits/Opposites.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Images.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/HasPullback.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Iso.lean,Mathlib/CategoryTheory/Limits/Shapes/StrictInitial.lean,Mathlib/CategoryTheory/Limits/SmallComplete.lean,Mathlib/CategoryTheory/Limits/Types/Yoneda.lean,Mathlib/CategoryTheory/Localization/DerivabilityStructure/Basic.lean,Mathlib/CategoryTheory/Localization/SmallShiftedHom.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/Over.lean,Mathlib/CategoryTheory/Monoidal/Action/End.lean,Mathlib/CategoryTheory/Monoidal/Braided/Multifunctor.lean |
32 |
3 |
['github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
24-11109 24 days ago |
32-10329 32 days ago |
0-2163 36 minutes |
| 37878 |
YaelDillies author:YaelDillies |
chore(Combinatorics/SimpleGraph): avoid structure relation predicates |
Relation predicates used to be `def`s over a `forall`, which was optimal for usability in fields of other structures. This changed in #35591 and #35192 as a byproduct of reducing apparent code duplication. Unfortunately, the usability issue was overlooked.
This PR restores usability by dropping the use of those relation classes that are `structure`s, ie `Std.Irrefl` and `Std.Transitive`. It also uses more widely the `simp` auto-param on `SimpleGraph.loopless`.
---
- [ ] depends on: #38554
I would also be happy to revert #35591 and #35192 since this demonstrates a good use case for the `def` versions of the relation predicates.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
blocked-by-other-PR
|
43/53 |
Archive/Wiedijk100Theorems/Konigsberg.lean,Mathlib/Combinatorics/Digraph/Orientation.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Circulant.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/FiveWheelLike.lean,Mathlib/Combinatorics/SimpleGraph/Hasse.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Prod.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Sum.lean,Mathlib/Combinatorics/SimpleGraph/Trails.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Tripartite.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/ModelTheory/Graph.lean,Mathlib/Order/Cover.lean,Mathlib/Order/RelClasses.lean |
19 |
17 |
['SnirBroshi', 'Vierkantor', 'YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
24-5383 24 days ago |
29-2650 29 days ago |
16-34670 16 days |
| 38056 |
Deicyde author:Deicyde |
feat: topological vector bundle homomorphisms |
This PR implements topological vector bundle morphisms.
- [ ] depends on: #38023
- [ ] depends on: #37946
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-topology
merge-conflict
|
805/0 |
Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Topology/FiberBundle/Basic.lean,Mathlib/Topology/FiberBundle/Trivialization.lean,Mathlib/Topology/VectorBundle/Basic.lean,Mathlib/Topology/VectorBundle/Morphism.lean |
5 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
23-79649 23 days ago |
unknown |
0-0 0 seconds |
| 38192 |
Jun2M author:Jun2M |
feat(Order/ConditionallyCompleteLattice): ConditionallyCompleteSemiLatticeInf |
This PR introduces `ConditionallyCompleteSemilatticeSup/Inf`, Sup/Inf only versions of `ConditionallyCompleteLattice`.
This is a preliminary PR for #37620, showing that `Graph` forms a `ConditionallyCompleteSemilatticeInf`.
---
[](https://gitpod.io/from-referrer/)
|
t-order
help-wanted
merge-conflict
|
109/33 |
Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/Copy.lean |
3 |
13 |
['Jun2M', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts', 'staroperator', 'vihdzp'] |
nobody |
23-57716 23 days ago |
37-64450 37 days ago |
0-5 5 seconds |
| 38586 |
chrisflav author:chrisflav |
feat(RingTheory): algebra maps between finite étale algebras are locally finite split |
From Pi1.
---
- [ ] depends on: #38649
[](https://gitpod.io/from-referrer/)
|
WIP
t-ring-theory
large-import
blocked-by-other-PR
merge-conflict
|
335/2 |
Mathlib/Algebra/Algebra/Pi.lean,Mathlib/Algebra/Group/Idempotent.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/RingTheory/LocalRing/Basic.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/Localization/Module.lean,Mathlib/RingTheory/Spectrum/Prime/FreeLocus.lean,Mathlib/RingTheory/TotallySplit.lean |
8 |
5 |
['chrisflav', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
23-57709 23 days ago |
27-83943 27 days ago |
0-1 1 second |
| 38841 |
SnirBroshi author:SnirBroshi |
feat(Mathlib/Order/SuccPred/Limit): more `WithTop` lemmas about `IsMin`/`CovBy`/`IsSuccLimit` |
---
Continues the work from #38244
We should probably also have such lemmas for `WithTopBot`/`WithBotTop`, but that's for another day
[](https://gitpod.io/from-referrer/)
|
t-order |
111/30 |
Mathlib/Order/Cover.lean,Mathlib/Order/SuccPred/Limit.lean,Mathlib/Order/WithBot.lean |
3 |
1 |
['github-actions'] |
nobody |
23-24312 23 days ago |
23-34828 23 days ago |
23-35630 23 days |
| 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 |
114/0 |
Mathlib/Control/LawfulFix.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,docs/references.bib |
3 |
2 |
['github-actions'] |
nobody |
22-85537 22 days ago |
34-61639 34 days ago |
34-62160 34 days |
| 38358 |
yuanyi-350 author:yuanyi-350 |
doc(1000.yaml): note more formalised theorems |
---
[](https://gitpod.io/from-referrer/)
|
documentation
maintainer-merge
|
9/2 |
docs/1000.yaml |
1 |
12 |
['YaelDillies', 'github-actions', 'grunweg', 'vihdzp', 'yuanyi-350'] |
nobody |
22-29214 22 days ago |
22-29276 22 days ago |
33-30927 33 days |
| 37252 |
artie2000 author:artie2000 |
feat(Algebra/Group/Submonoid/Support): properties of submonoid support |
* Prove how the support of a submonoid interacts with various operations
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
label:t-algebra$ |
50/1 |
Mathlib/Algebra/Group/Submonoid/Support.lean |
1 |
9 |
['eric-wieser', 'github-actions', 'themathqueen'] |
themathqueen assignee:themathqueen |
22-10933 22 days ago |
22-10933 22 days ago |
37-50338 37 days |
| 37562 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph): add several lemmas about when `Walk.bypass` and `Walk.cycleBypass` do nothing |
Co-authored-by: Vlad Tsyrklevich
---
- [ ] depends on: #37577
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
blocked-by-other-PR
|
160/79 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean |
4 |
8 |
['IvanRenison', 'SnirBroshi', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vlad902'] |
nobody |
21-71083 21 days ago |
21-71084 21 days ago |
0-1043 17 minutes |
| 37578 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph/Girth): add lemma `Walk.IsCircuit.egirth_le_length` |
---
- [x] depends on: #37574
- [ ] depends on: #37577
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
blocked-by-other-PR
|
123/79 |
Mathlib/Combinatorics/SimpleGraph/Girth.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean |
5 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
21-70166 21 days ago |
21-70167 21 days ago |
0-2051 34 minutes |
| 38890 |
SnirBroshi author:SnirBroshi |
feat(Order/ConditionallyCompleteLattice/Basic): more `WithTop` instances |
Adds the following instances:
```
CompleteLattice α → CompleteLattice (WithTop α)
CompleteLinearOrder α → CompleteLinearOrder (WithBot α)
ConditionallyCompleteLinearOrder α → ConditionallyCompleteLinearOrder (WithTop α)
ConditionallyCompleteLinearOrder α → ConditionallyCompleteLinearOrderBot (WithBot α)
```
and some simp lemmas to help.
---
These `#synth`s all succeed after this PR:
(code)
```lean
variable {α : Type*} [Preorder α]
#synth Preorder αᵒᵈ
#synth Preorder <| WithTop α
#synth Preorder <| WithBot α
#synth Preorder <| WithTopBot α
#synth Preorder <| WithBotTop α
variable {α : Type*} [PartialOrder α]
#synth PartialOrder αᵒᵈ
#synth PartialOrder <| WithTop α
#synth PartialOrder <| WithBot α
#synth PartialOrder <| WithTopBot α
#synth PartialOrder <| WithBotTop α
variable {α : Type*} [LinearOrder α]
#synth LinearOrder αᵒᵈ
#synth LinearOrder <| WithTop α
#synth LinearOrder <| WithBot α
#synth LinearOrder <| WithTopBot α
#synth LinearOrder <| WithBotTop α
variable {α : Type*} [CompleteLattice α]
#synth CompleteLattice αᵒᵈ
#synth CompleteLattice <| WithTop α -- new
#synth CompleteLattice <| WithBot α
#synth CompleteLattice <| WithTopBot α
#synth CompleteLattice <| WithBotTop α
variable {α : Type*} [CompleteLinearOrder α]
#synth CompleteLinearOrder αᵒᵈ
#synth CompleteLinearOrder <| WithTop α
#synth CompleteLinearOrder <| WithBot α -- new
#synth CompleteLinearOrder <| WithTopBot α
#synth CompleteLinearOrder <| WithBotTop α
variable {α : Type*} [ConditionallyCompleteLattice α]
#synth ConditionallyCompleteLattice αᵒᵈ
#synth ConditionallyCompleteLattice <| WithTop α
#synth ConditionallyCompleteLattice <| WithBot α
#synth CompleteLattice <| WithTopBot α
#synth CompleteLattice <| WithBotTop α
variable {α : Type*} [ConditionallyCompleteLinearOrder α]
#synth ConditionallyCompleteLinearOrder αᵒᵈ
#synth ConditionallyCompleteLinearOrder <| WithTop α -- new
#synth ConditionallyCompleteLinearOrderBot <| WithBot α -- new
#synth CompleteLinearOrder <| WithTopBot α
#synth CompleteLinearOrder <| WithBotTop α
variable {α : Type*} [ConditionallyCompleteLinearOrderBot α]
#synth ConditionallyCompleteLinearOrder αᵒᵈ
#synth CompleteLinearOrder <| WithTop α
#synth ConditionallyCompleteLinearOrderBot <| WithBot α -- new
#synth CompleteLinearOrder <| WithTopBot α
#synth CompleteLinearOrder <| WithBotTop α
```
[](https://gitpod.io/from-referrer/)
|
t-order |
63/9 |
Mathlib/Order/ConditionallyCompleteLattice/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
21-63936 21 days ago |
21-64012 21 days ago |
21-64007 21 days |
| 38875 |
yuanyi-350 author:yuanyi-350 |
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Covering/Besicovitch` |
- shortens the proof of `r_t0` in `exists_closedBall_covering_tsum_measure_le` by turning the contradiction argument into a direct lambda
- replaces the manual `simp only` proof with `mem_iUnion₂` and a final `simp [r, this]`
Extracted from #38104
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
t-measure-probability
|
3/8 |
Mathlib/MeasureTheory/Covering/Besicovitch.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
RemyDegenne assignee:RemyDegenne |
21-60238 21 days ago |
22-17372 22 days ago |
22-17367 22 days |
| 38881 |
yuanyi-350 author:yuanyi-350 |
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic` |
- shortens `stronglyMeasurable_in_set` by inlining the restricted approximation sequence and folding the `hg_eq` / `hg_zero` helper lemmas into the two `by_cases` branches
Extracted from #38104
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
t-measure-probability
|
7/13 |
Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
kex-y assignee:kex-y |
21-60234 21 days ago |
22-14980 22 days ago |
22-14975 22 days |
| 38871 |
0xTerencePrime author:0xTerencePrime |
feat(Combinatorics/SimpleGraph): add parity lemmas for outer and inner vertices |
Adds three lemmas to `SimpleGraph.DegreeSum`:
- `sum_degrees_option_zmod_two`: the handshaking lemma for `Option I` over ZMod 2
- `degree_none_zmod_two_eq_sum`: simp-normal form of the above
- `card_degree_one_option_eq_outer_zmod_two`: under degree bound ≤ 2, count of degree-1 inner vertices equals outer vertex degree mod 2 |
t-combinatorics
new-contributor
|
65/3 |
Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean |
1 |
6 |
['0xTerencePrime', 'SnirBroshi', 'github-actions'] |
nobody |
21-48622 21 days ago |
22-18850 22 days ago |
22-18845 22 days |
| 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.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
133/0 |
Mathlib.lean,Mathlib/Combinatorics/SetFamily/Sperner1D.lean |
2 |
3 |
['github-actions', 'grunweg'] |
nobody |
21-39856 21 days ago |
21-50006 21 days ago |
21-50001 21 days |
| 38750 |
openendings author:openendings |
feat(Data/Nat): add padicValNat_add_eq_min |
Add lemmas for `padicValNat` mirroring the [e]multiplicity API, including
- padicValNat_eq_of_dvd_of_not_dvd
- padicValNat_add_of_gt
- padicValNat_add_eq_min
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
awaiting-author
|
36/0 |
Mathlib/Data/Nat/MaxPowDiv.lean |
1 |
7 |
['Ruben-VandeVelde', 'github-actions', 'openendings'] |
nobody |
21-36881 21 days ago |
21-62377 21 days ago |
3-62762 3 days |
| 37724 |
xgenereux author:xgenereux |
feat(UniqueFactorizationDomain/Multiplicity): WfDvdMonoid.max_power_factor for finset |
A version of `WfDvdMonoid.max_power_factor` for finsets/finsupp. That is, we take the highest power which divides everything in the finset.
Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)>
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
awaiting-author
|
66/10 |
Mathlib/RingTheory/UniqueFactorizationDomain/Multiplicity.lean |
1 |
2 |
['chrisflav', 'github-actions'] |
chrisflav assignee:chrisflav |
21-21995 21 days ago |
21-21995 21 days ago |
27-34531 27 days |
| 37688 |
grunweg author:grunweg |
feat: try using grind as gcongr discharger |
Let's see what benchmarks say!
Also, this exposes some underlying bug in the gcongr discharger handling (which I have worked around in the handful of places hitting it).
---
- [x] depends on: #37591
[](https://gitpod.io/from-referrer/)
|
awaiting-CI
t-meta
merge-conflict
|
73/109 |
Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo2019Q4.lean,Archive/Imo/Imo2020Q2.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean,Mathlib/Algebra/Order/BigOperators/Ring/Multiset.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Ring/Abs.lean,Mathlib/Algebra/Order/Ring/Int.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Calculus/TangentCone/Seq.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/Complex/AbelLimit.lean,Mathlib/Analysis/Complex/BorelCaratheodory.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/Convex/BetweenList.lean,Mathlib/Analysis/Convex/MetricSpace.lean,Mathlib/Analysis/Distribution/Support.lean,Mathlib/Analysis/Fourier/FourierTransformDeriv.lean,Mathlib/Analysis/PSeries.lean,Mathlib/Analysis/Polynomial/MahlerMeasure.lean,Mathlib/Analysis/Real/Pi/Bounds.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog/Order.lean,Mathlib/Analysis/SpecialFunctions/Log/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Extremal.lean,Mathlib/Analysis/SpecificLimits/FloorPow.lean,Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean,Mathlib/Combinatorics/Additive/VerySmallDoubling.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Bound.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Chunk.lean,Mathlib/Computability/Ackermann.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Data/Real/Basic.lean,Mathlib/GroupTheory/Archimedean.lean,Mathlib/MeasureTheory/Covering/BesicovitchVectorSpace.lean,Mathlib/MeasureTheory/Covering/Differentiation.lean,Mathlib/MeasureTheory/Integral/FinMeasAdditive.lean,Mathlib/MeasureTheory/Integral/PeakFunction.lean,Mathlib/NumberTheory/Bertrand.lean,Mathlib/NumberTheory/Harmonic/ZetaAsymp.lean,Mathlib/NumberTheory/LSeries/SumCoeff.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/NumberTheory/NumberField/Discriminant/Basic.lean,Mathlib/NumberTheory/PellMatiyasevic.lean,Mathlib/NumberTheory/Transcendental/Liouville/Basic.lean,Mathlib/Probability/Distributions/Fernique.lean,Mathlib/Probability/Martingale/Basic.lean,Mathlib/Probability/Moments/CovarianceBilinDual.lean,Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean,Mathlib/Tactic/GCongr.lean,Mathlib/Tactic/Positivity/Core.lean,Mathlib/Topology/Algebra/Polynomial.lean,Mathlib/Topology/Instances/ENNReal/Lemmas.lean |
55 |
13 |
['JovanGerb', 'github-actions', 'grunweg', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
21-21505 21 days ago |
49-35341 49 days ago |
0-7 7 seconds |
| 37364 |
kim-em author:kim-em |
feat(Tactic/Linter): add `auxLemma` linter for auto-generated declaration references |
This PR adds a syntax linter that flags explicit references to auto-generated auxiliary declarations such as `_proof_N`, `match_N`, `_match_N`, and `_sizeOf_N`. These names are internal to the Lean elaborator and are not stable across refactors (e.g. reordering fields in a structure can renumber `_proof_` indices).
The linter matches precisely: it requires the suffix after the prefix to be all digits, so `_proof_helper` would not be flagged. It only inspects identifier syntax nodes, so references in comments and docstrings are ignored.
Current hits in Mathlib (suppressed with `set_option linter.style.auxLemma false`):
- `Mathlib/CategoryTheory/Functor/Category.lean` — `hcomp._proof_2`
- `Mathlib/Analysis/Calculus/FormalMultilinearSeries.lean` — `constFormalMultilinearSeries.match_1.eq_2`
- `Mathlib/Data/List/Sigma.lean` — `_sizeOf_1`
Companion PR to track these suppressions in the tech debt report: https://github.com/leanprover-community/mathlib-ci/pull/17
🤖 Prepared with Claude Code |
t-linter
awaiting-author
|
87/1 |
Mathlib.lean,Mathlib/Analysis/Calculus/FormalMultilinearSeries.lean,Mathlib/CategoryTheory/Functor/Category.lean,Mathlib/Data/List/Sigma.lean,Mathlib/Init.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/AuxLemma.lean,MathlibTest/CompileInductive.lean,MathlibTest/interactiveUnfold.lean,MathlibTest/toAdditive.lean |
10 |
35 |
['github-actions', 'grunweg', 'kim-em', 'leanprover-radar', 'mathlib-merge-conflicts', 'thorimur'] |
thorimur assignee:thorimur |
21-19501 21 days ago |
21-19530 21 days ago |
8-22290 8 days |
| 38930 |
homeowmorphism author:homeowmorphism |
feat(FinitelyPresentedGroup): quotient of a finitely group by a subgroup which is finitely generated under normal closure is finitely presented |
Adds `quotient` theorem which states that the quotient of a finitely presented group by a subgroup which is finitely generated in the normal closure is finitely presented.
---
[](https://gitpod.io/from-referrer/)
|
t-group-theory
large-import
|
9/0 |
Mathlib/GroupTheory/FinitelyPresentedGroup.lean |
1 |
3 |
['github-actions', 'homeowmorphism', 'mathlib-bors'] |
nobody |
21-18772 21 days ago |
21-19000 21 days ago |
0-8 8 seconds |
| 38870 |
JovanGerb author:JovanGerb |
chore(Data/Set/Finite/Basic): fix `Fintype ({a} : Set α)` instance |
This PR fixes a `implicit_reducible` diamond: there were two different instances on `Fintype ({a} : Set α)`.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
9/8 |
Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Data/Fintype/Basic.lean,Mathlib/Data/Set/Card.lean,Mathlib/Data/Set/Finite/Basic.lean,Mathlib/Data/Set/Finite/Monad.lean |
5 |
3 |
['JovanGerb', 'github-actions', 'sgouezel'] |
nobody |
21-9826 21 days ago |
21-8795 21 days ago |
1-52 1 day |
| 38002 |
Raph-DG author:Raph-DG |
feat(Topology): Relating irreducible components of a space to codimension one points in non dense subsets |
In this PR we show that the coheight zero points of a sober space (in the specialization order) correspond to the irreducible components. Furthermore, we show that the coheight one points of any non dense subset p of X (in the specialization order on p) have coheight zero in the specialization order on X.
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-topology
|
103/0 |
Mathlib/Order/Hom/Basic.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Order/Minimal.lean,Mathlib/Topology/Inseparable.lean,Mathlib/Topology/Sober.lean |
5 |
3 |
['ADedecker', 'github-actions', 'mathlib-merge-conflicts'] |
urkud assignee:urkud |
20-82714 20 days ago |
20-82751 20 days ago |
37-62019 37 days |
| 38601 |
khwilson author:khwilson |
feat(Topology/Semicontinuity/Hemicontinuity): characterizations of hemicontintuous notions |
In the previous PR we introduced two new notions attached to correspondences: having open lower sections and having an open graph. This commit introduces several useful characterizations of these notions and uses them to prove several constructions around hemicontinuous maps
---
- [ ] depends on: #38600
[](https://gitpod.io/from-referrer/)
|
t-topology
blocked-by-other-PR
|
413/10 |
Mathlib/Topology/Semicontinuity/Defs.lean,Mathlib/Topology/Semicontinuity/Hemicontinuity.lean |
2 |
3 |
['github-actions', 'j-loreaux', 'mathlib-dependent-issues'] |
nobody |
20-79870 20 days ago |
27-53716 27 days ago |
0-1005 16 minutes |
| 38893 |
mcdoll author:mcdoll |
chore: fix diamonds in separation quotient |
The following two fail on master but succeed on the branch:
```
example [AddMonoid M] [ContinuousAdd M] : instNSMul (M := M) = AddMonoid.toNSMul := by
with_reducible_and_instances rfl
example [AddGroup G] [IsTopologicalAddGroup G] : instZSMul (G := G) = SubNegMonoid.toZSMul := by
with_reducible_and_instances rfl
```
---
I am not sure whether this solution is better, or just deleting the instances. Especially a low-priority `inferInstance` instance seems a bit weird.
[](https://gitpod.io/from-referrer/)
|
t-topology
awaiting-author
|
2/2 |
Mathlib/Topology/Algebra/SeparationQuotient/Basic.lean |
1 |
4 |
['eric-wieser', 'github-actions', 'j-loreaux'] |
nobody |
20-70179 20 days ago |
20-70179 20 days ago |
0-72248 20 hours |
| 38831 |
kbuzzard author:kbuzzard |
chore(Algebra/HierarchyDesign): tidy up |
We don't have `TopologicalField` any more. I've changed it to a more appropriate example. Also, the TODO in this file was ported from mathlib3 which had `topological_ring` and `ordered_ring`; both of these hierarchies have now been decoupled from the algebra hierarchy now. I changed examples to normed examples as this is still not decoupled (and maybe never will be).
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
label:t-algebra$ |
3/3 |
Mathlib/Algebra/HierarchyDesign.lean |
1 |
3 |
['YaelDillies', 'github-actions', 'j-loreaux'] |
nobody |
20-65997 20 days ago |
20-65997 20 days ago |
2-65409 2 days |
| 32294 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Angle/Incenter): distance from second intersection with circumcircle |
Add the following lemma: given a triangle ABC, suppose an angle bisector from A through the incenter or excenter I meets the circumcircle again at X (including the case of an external bisector at A tangent to the circle, in which case X = A). Then XB = XI (= XC, by applying this lemma again). This is a standard configuration: https://en.wikipedia.org/wiki/Incenter%E2%80%93excenter_lemma
---
- [ ] depends on: #30981
- [ ] depends on: #30982
- [ ] depends on: #32019
- [ ] depends on: #32021
- [ ] depends on: #32023
- [ ] depends on: #32270
- [ ] depends on: #32290
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
189/0 |
Mathlib/Geometry/Euclidean/Angle/Incenter.lean |
1 |
5 |
['github-actions', 'jsm28', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'peakpoint'] |
eric-wieser assignee:eric-wieser |
20-60468 20 days ago |
58-85122 58 days ago |
58-85907 58 days |
| 38049 |
WilliamCoram author:WilliamCoram |
feat: lemmas towards showing gaussNorm on MvPowerSeries is an absolute value |
We prove lemmas: ``gaussNorm_mul_le`` and ``gaussNorm_le_mul`` which will allow us to show it is an absolute value on Mv restricted power series.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
144/1 |
Mathlib/RingTheory/MvPowerSeries/GaussNorm.lean |
1 |
4 |
['WilliamCoram', 'github-actions'] |
alreadydone assignee:alreadydone |
20-60461 20 days ago |
41-3406 41 days ago |
41-3401 41 days |
| 38883 |
yuanyi-350 author:yuanyi-350 |
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Function/AEMeasurableSequence` |
- rewrites `iSup` by filtering directly along `aeSeq_eq_fun_ae hf hp`, instead of proving a subset statement about `aeSeqSet` and then using `measure_mono_null`
Extracted from #38104
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
t-measure-probability
|
2/6 |
Mathlib/MeasureTheory/Function/AEMeasurableSequence.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
kex-y assignee:kex-y |
20-60454 20 days ago |
22-14542 22 days ago |
22-14537 22 days |
| 37714 |
mortarsanjaya author:mortarsanjaya |
feat(Algebra/Order/Floor/Defs): `Nat.cast` is strictly monotone in `FloorSemiring` and `FloorRing` |
As title says, and without the `IsOrderedRing` assumption.
Other than that, I removed the `IsOrderedRing` assumption from pretty much all the lemmas in `Algebra/Order/Floor/Defs` that could possibly have this assumption removed, and reduced some `IsStrictOrderedRing` assumptions to `IsOrderedRing` + `Nontrivial`.
Due to strict monotonicity, we can also provide `CharZero` instance on `FloorSemiring` and `FloorRing`. Thus we can remove the `NeZero` and `Nontrivial` instances on them.
The changes on `/Ring` and `/Semiring` are trivial changes due to some lemmas not requiring an `IsOrderedRing` instance anymore.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
96/39 |
Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/Order/Floor/Defs.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semiring.lean |
5 |
24 |
['dagurtomas', 'eric-wieser', 'github-actions', 'mathlib-bors', 'mortarsanjaya'] |
eric-wieser assignee:eric-wieser |
20-44766 20 days ago |
24-20537 24 days ago |
48-20022 48 days |
| 37062 |
tannerduve author:tannerduve |
feat(Computability): Turing join and semilattice structure on Turing degrees |
## Summary
- 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
|
311/15 |
Mathlib/Computability/Partrec.lean,Mathlib/Computability/RecursiveIn.lean,Mathlib/Computability/TuringDegree.lean |
3 |
7 |
['Komyyy', 'github-actions', 'mathlib-merge-conflicts', 'tannerduve'] |
Komyyy assignee:Komyyy |
20-44674 20 days ago |
42-9668 42 days ago |
42-71957 42 days |
| 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.
---
[](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 |
20-35212 20 days ago |
20-35212 20 days ago |
17-43852 17 days |
| 36815 |
EtienneC30 author:EtienneC30 |
feat: a measurable space structure on the type of continuous maps |
Endow the type `C(X, Y)` of continuous maps from `X` to `Y` with the Borel sigma-algebra coming from the compact-open topology and show that, under some assumptions on `X` and `Y`, this is equal to the restriction of the product sigma-algebra over `X → Y`.
Provide a measurable equivalence between `{f : X → Y // Continuous f}` and `C(X, Y)`.
Co-authored-by: @RemyDegenne
---
[](https://gitpod.io/from-referrer/)
|
t-topology
brownian
t-measure-probability
|
256/0 |
Mathlib.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/ContinuousMap.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/Basic.lean,Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/Separation/Regular.lean |
6 |
27 |
['ADedecker', 'EtienneC30', 'felixpernegger', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
20-33969 20 days ago |
20-34009 20 days ago |
60-29354 60 days |
| 38951 |
thomaskwaring author:thomaskwaring |
feat(Order/PrimeSeparator): remove unnecessary hypotheses |
In `mem_ideal_sup_principal`, boundedness and distributivity were unused, and in `prime_ideal_of_disjoint_filter_ideal`, boundedness was only used to produce an element of the filter `F`, which is already nonempty by definition.
---
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
|
9/19 |
Mathlib/Order/PrimeSeparator.lean |
1 |
2 |
['github-actions'] |
nobody |
20-32547 20 days ago |
20-32634 20 days ago |
20-32629 20 days |
| 37854 |
JovanGerb author:JovanGerb |
chore(FieldTheory/SplittingField/Construction): don't expose the construction |
This PR removes `@[expose] public section` from the implementation of `SplittingField`, so that none of the constants with "aux" in the name are exported.
Additionally, remove some defeq abuse.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
62/26 |
Mathlib/FieldTheory/SplittingField/Construction.lean,MathlibTest/instance_diamonds/FieldTheory/SplittingField/Construction.lean |
2 |
3 |
['github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
20-31320 20 days ago |
45-22406 45 days ago |
0-1873 31 minutes |
| 38780 |
yuanyi-350 author:yuanyi-350 |
chore(Catalogue PR): kill some `erw`s by adding rfl lemmas |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
55/29 |
Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Point.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Basic.lean,Mathlib/LinearAlgebra/BilinearForm/Properties.lean,Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Topology/UniformSpace/Matrix.lean |
8 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
20-31297 20 days ago |
23-23855 23 days ago |
0-1169 19 minutes |
| 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.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
81/1 |
Mathlib/Algebra/Order/Quantale.lean |
1 |
5 |
['NoahW314', 'PieterCuijpers', 'chrisflav', 'github-actions'] |
mariainesdff assignee:mariainesdff |
20-16357 20 days ago |
27-8612 27 days ago |
39-18222 39 days |
| 37446 |
artie2000 author:artie2000 |
refactor(Algebra): uniform API for substructures |
* Add class for `SetLike` instances whose map preserves meets - the intended interpretation is substructures whose closure properties are preserved under intersection
* Abstract out the `CompleteLattice` instance and `closure` adjunction on such instances
This change unifies a significant part of the API for algebraic substructures.
---
- [x] depends on #32984
[](https://gitpod.io/from-referrer/)
Original PR: https://github.com/leanprover-community/mathlib4/pull/25963 |
t-data
WIP
merge-conflict
|
721/184 |
Mathlib.lean,Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Group/Submonoid/Basic.lean,Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/Algebra/Group/Subsemigroup/Basic.lean,Mathlib/Algebra/Group/Subsemigroup/Defs.lean,Mathlib/Algebra/Group/Subsemigroup/Membership.lean,Mathlib/Algebra/Group/Subsemigroup/MulOpposite.lean,Mathlib/Algebra/Group/Subsemigroup/Operations.lean,Mathlib/Data/SetLike/Lattice.lean,Mathlib/GroupTheory/Subsemigroup/Centralizer.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean,Mathlib/RingTheory/NonUnitalSubring/Basic.lean,Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean,Mathlib/Tactic/MkClosureLemmas.lean,Mathlib/Tactic/MkIffOfInductiveProp.lean |
16 |
8 |
['artie2000', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
19-80212 19 days ago |
54-66504 54 days ago |
0-3200 53 minutes |
| 36686 |
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):
* `List.prod_map_ite`: unchanged 🎉
* `Path.Homotopy.trans_assoc_reparam`: 2938 ms before, 717 ms after 🎉
* `SimplexCategory.δ_comp_δ`: 522 ms before, 316 ms after 🎉
* `Finsupp.ext_iff'`: unchanged 🎉
* `Computation.bind_assoc`: unchanged 🎉
* `Set.piecewise_insert`: unchanged 🎉
* `ZMod.valMinAbs_mem_Ioc`: unchanged 🎉
* `Matrix.det_eq_of_forall_row_eq_smul_add_pred_aux`: 2141 ms before, 2004 ms after 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author |
11/50 |
Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Seq/Computation.lean,Mathlib/Data/Set/Piecewise.lean,Mathlib/Data/ZMod/ValMinAbs.lean,Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean |
8 |
14 |
['artie2000', 'chenson2018', 'dagurtomas', 'euprunin', 'github-actions', 'mathlib-merge-conflicts', 'ooovi'] |
dagurtomas assignee:dagurtomas |
19-78866 19 days ago |
19-78869 19 days ago |
49-23305 49 days |
| 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)
Co-authored-by: Tanner Duve
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
awaiting-author
|
4988/0 |
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/Eval_Aux.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/Attr/Register.lean,Mathlib/Tactic/Computability/Basic.lean |
19 |
3 |
['github-actions', 'grunweg'] |
nobody |
19-74089 19 days ago |
unknown |
0-0 0 seconds |
| 38942 |
euprunin author:euprunin |
chore: golf using `grind` and `simp` |
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):
* `CategoryTheory.Abelian.SpectralObject.isZero_H_obj_of_isIso`: 73 ms before, <30 ms after 🎉
* `MvPolynomial.eval₂_uniqueAlgEquiv`: unchanged 🎉
* `Graph.restrict_restrict`: unchanged 🎉
* `SimpleGraph.edge_le_iff`: 86 ms before, 45 ms after 🎉
* `DFinsupp.induction`: unchanged 🎉
* `Finset.Nat.antidiagonal.snd_lt`: unchanged 🎉
* `List.prefix_append_drop`: unchanged 🎉
* `List.pairwise_of_reflexive_of_forall_ne`: unchanged 🎉
* `Relation.reflTransGen_iff_eq_or_transGen`: unchanged 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author |
9/52 |
Mathlib/Algebra/Homology/SpectralObject/Page.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Combinatorics/Graph/Delete.lean,Mathlib/Combinatorics/SimpleGraph/Operations.lean,Mathlib/Data/DFinsupp/Defs.lean,Mathlib/Data/Finset/NatAntidiagonal.lean,Mathlib/Data/List/Infix.lean,Mathlib/Data/List/Pairwise.lean,Mathlib/Logic/Relation.lean |
9 |
2 |
['dagurtomas', 'github-actions'] |
dagurtomas assignee:dagurtomas |
19-73968 19 days ago |
19-73968 19 days ago |
0-83701 23 hours |
| 37456 |
Robertboy18 author:Robertboy18 |
feat(LinearAlgebra/AffineSpace): add parallel form of Desargues's theorem |
This PR adds an affine parallel form of Desargues's theorem, corresponding to entry `87` of the Lean community “100 theorems” list and following the related Rocq/Coq affine-geometry statement.
**Main changes**
- New file `Mathlib/LinearAlgebra/AffineSpace/Desargues.lean` with `parallel_third_side_of_perspective`.
- Add the corresponding `public import` to `Mathlib.lean`.
- Update `docs/100.yaml` entry `87` with a note that this is the parallel affine form.
**Proof idea**
The proof compares side vectors using `exists_eq_smul_of_parallel` for the two given pairs of parallel sides. The shared comparison along `SA` forces the same scalar, which gives parallelism of the third pair of sides.
Tests: `lake build Mathlib.LinearAlgebra.AffineSpace.Desargues`
AI disclosure: GPT-5.2 Pro was used for assistance with web search/background details about the theorem and for finding useful existing Mathlib lemmas. The theorem statement and Lean formalization were written and checked by hand.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-author
LLM-generated
label:t-algebra$ |
133/0 |
Mathlib.lean,Mathlib/LinearAlgebra/AffineSpace/Desargues.lean |
2 |
17 |
['Robertboy18', 'SnirBroshi', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'wwylele'] |
eric-wieser assignee:eric-wieser |
19-70727 19 days ago |
46-12475 46 days ago |
8-72313 8 days |
| 38667 |
SnirBroshi author:SnirBroshi |
feat(Order/Hom/Basic): equivalences of `Order{Hom/Embedding/Iso}` |
- `OrderHom`s are equivalent to `RelHom`s of `LE` (unlike `OrderEmbedding`/`OrderIso` they aren't defined using it)
- Congruence equivs for `OrderEmbedding`/`OrderIso` when the two sides are order-isomorphic. This already exists for `OrderHom`.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
55/1 |
Mathlib/Order/Hom/Basic.lean |
1 |
3 |
['SnirBroshi', 'dagurtomas', 'github-actions'] |
nobody |
19-69597 19 days ago |
19-69597 19 days ago |
26-67113 26 days |
| 38792 |
openendings author:openendings |
wip, chore: rename Directed -> Predirected [please-adopt] |
This **incomplete** PR renames `Directed` to `Predirected`.
As [discussed in Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.3E.20complete.20partial.20order.20and.20domain.20theory.20formalization/near/592156927), `Directed` misleadingly mismatches the literature. (The literature says a directed set is nonempty, and we do not.)
#### f19d3e79 Rename Directed -> Predirected (class + namespace)
Automated changes:
- LSP code action renaming `Directed` to `Predirected`
- with the affected 69 files open in [lean.nvim](https://github.com/julian/lean.nvim), a series of commands roughly equivalent to
```nvim
:bufdo :silent %s/\(theorem \|lemma \|to_dual \)Directed\>/\1Predirected/ge
:bufdo :silent %s/\\./Predirected./ge
:bufdo :w
```
EDIT: manual changes
- one `namespace Directed` replaced.
### Corners cut:
- line-length linting has **not** been resolved.
- no snake-cased `directed` has been renamed.
- only tested via `lake build --old`, plus maybe ten minutes of `lake build` before I (@openendings ) got bored and wanted my CPU back.
---
WIP
please-adopt
t-order
[](https://gitpod.io/from-referrer/)
|
please-adopt
new-contributor
WIP
merge-conflict
|
196/195 |
Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Subalgebra/Directed.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/Subsemigroup/Membership.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/Convex/Strict.lean,Mathlib/Analysis/InnerProductSpace/Orthonormal.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/Data/Finset/Order.lean,Mathlib/Data/Fintype/Order.lean,Mathlib/Data/Set/Accumulate.lean,Mathlib/Data/Set/Dissipate.lean,Mathlib/Data/Set/Finite/Lattice.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/Data/Set/Lattice/Image.lean,Mathlib/Data/Set/Pairwise/Lattice.lean,Mathlib/Data/Set/UnionLift.lean,Mathlib/Dynamics/PeriodicPts/Lemmas.lean,Mathlib/FieldTheory/CardinalEmb.lean,Mathlib/FieldTheory/Extension.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Basic.lean,Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/Span/Defs.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Sub.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/Restrict.lean,Mathlib/MeasureTheory/PiSystem.lean,Mathlib/ModelTheory/Satisfiability.lean,Mathlib/ModelTheory/Substructures.lean,Mathlib/ModelTheory/Syntax.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Order/CompletePartialOrder.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Defs.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Indexed.lean,Mathlib/Order/Directed.lean,Mathlib/Order/Filter/Bases/Basic.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Lift.lean,Mathlib/Order/Filter/Map.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/Preorder/Chain.lean,Mathlib/Order/RelIso/Set.lean,Mathlib/Probability/Independence/Basic.lean,Mathlib/Probability/Independence/Conditional.lean,Mathlib/Probability/Independence/Kernel/Indep.lean,Mathlib/Probability/Independence/ZeroOne.lean,Mathlib/Probability/Kernel/Disintegration/CDFToKernel.lean,Mathlib/RingTheory/AlgebraicIndependent/Basic.lean,Mathlib/RingTheory/NonUnitalSubring/Basic.lean,Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean,Mathlib/Topology/Algebra/Valued/NormedValued.lean,Mathlib/Topology/Category/TopCat/Limits/Konig.lean,Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/Compactness/CompactSystem.lean,Mathlib/Topology/Compactness/CountablyCompact.lean,Mathlib/Topology/Semicontinuity/Basic.lean,Mathlib/Topology/Separation/Hausdorff.lean,Mathlib/Topology/Separation/Profinite.lean,Mathlib/Topology/UniformSpace/UniformConvergenceTopology.lean |
69 |
7 |
['github-actions', 'kbuzzard', 'mathlib-merge-conflicts', 'openendings'] |
nobody |
19-66116 19 days ago |
unknown |
0-0 0 seconds |
| 38868 |
JovanGerb author:JovanGerb |
feat(GRewrite): strict rewriting |
This PR is a follow-up to #38318, and implements strict rewriting.
Implementation note: The `gcongr` and `grw` tactics need to look up slightly differently in the `@[gcongr]` environment extension, because `gcongr` knows the constant on both sides of the relation, and `grw` only knows one. It would be possible to have two separate maps in the environment for these two use cases. However, I have implemented it with just a single map in the environment, as I think this is more efficient.
Note: `lt_of_lt_of_le` and `lt_of_lt_of_le'` are tagged with `gcongr` after `ge_imp_ge_of_le_of_le` and `gt_imp_gt_of_le_of_le` so that they are tried first in `grw`. As a result, strict rewriting is done instead of the old behaviour whenever possible.
TODO: tag a few more lemmas with `gcongr strict`.
TODO: fix test and add more tests
TODO: document `gcongr strict`
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
725/302 |
Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/Order/Group/Indicator.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Ring/GeomSum.lean,Mathlib/Algebra/Order/Sub/Defs.lean,Mathlib/Analysis/CStarAlgebra/Extreme.lean,Mathlib/Analysis/Convex/MetricSpace.lean,Mathlib/Analysis/Convex/StrictCombination.lean,Mathlib/Analysis/Distribution/Support.lean,Mathlib/Combinatorics/Graph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/MeasureTheory/Covering/Differentiation.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/MeasureTheory/Integral/Average.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/AbsolutelyContinuousFun.lean,Mathlib/Order/Basic.lean,Mathlib/Probability/Distributions/Gaussian/HasGaussianLaw/Independence.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/GCongr/CoreAttrs.lean,Mathlib/Tactic/GRewrite/Core.lean,Mathlib/Tactic/GRewrite/Elab.lean,Mathlib/Topology/MetricSpace/ThickenedIndicator.lean,MathlibTest/GCongr/GCongr.lean,MathlibTest/GCongr/implications.lean,MathlibTest/GRewrite.lean |
26 |
3 |
['github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
19-66113 19 days ago |
22-24111 22 days ago |
0-507 8 minutes |
| 38231 |
NoneMore author:NoneMore |
feat(ModelTheory/Definablity): add syntax-to-definability bridge lemmas |
Add bridge lemmas from syntax to definability and refactor downstream proofs to use them.
---
[](https://gitpod.io/from-referrer/) |
t-logic |
88/56 |
Mathlib/ModelTheory/Definability.lean,Mathlib/ModelTheory/ElementarySubstructures.lean |
2 |
1 |
['github-actions'] |
fpvandoorn assignee:fpvandoorn |
19-60477 19 days ago |
36-45851 36 days ago |
36-45846 36 days |
| 38815 |
dagurtomas author:dagurtomas |
feat(Tactic/CategoryTheory): extend `@[to_app]` to natural transformations |
This extends the `@[to_app]` attribute so it also generates componentwise lemmas from equalities of natural transformations between functors, while preserving the existing bicategory behavior. It also ensures generated component lemmas remain usable by dsimp when they are definitionally true. |
t-category-theory
LLM-generated
t-meta
|
148/22 |
Mathlib/Tactic/CategoryTheory/ToApp.lean,Mathlib/Util/AddRelatedDecl.lean,MathlibTest/CategoryTheory/ToApp.lean |
3 |
1 |
['github-actions'] |
kim-em assignee:kim-em |
19-60471 19 days ago |
24-266 24 days ago |
24-315 24 days |
| 38980 |
thorimur author:thorimur |
bench: `haveI'` -> `have` |
---
[](https://gitpod.io/from-referrer/)
|
|
131/131 |
Mathlib/Algebra/Order/Field/Power.lean,Mathlib/NumberTheory/LucasLehmer.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 |
18 |
4 |
['eric-wieser', 'github-actions', 'leanprover-radar', 'thorimur'] |
nobody |
19-41608 19 days ago |
unknown |
0-0 0 seconds |
| 38009 |
CBirkbeck author:CBirkbeck |
feat(RingTheory/Valuation): define the valuation spectrum and its topology |
## Summary
Define the valuation spectrum `Spv A` of a commutative ring and equip it with the topology generated by basic open sets, following Wedhorn's *Adic Spaces*. Also define the pullback (`comap`) of a `ValuativeRel` along a ring homomorphism. This is preparation for later defining adic spaces.
Note the code was generated by claude code, but I have cleaned up and pre-reviewed the work.
|
t-ring-theory
LLM-generated
|
362/0 |
Mathlib.lean,Mathlib/RingTheory/Valuation/ValuationSpectrum.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Comap.lean |
3 |
40 |
['CBirkbeck', 'adamtopaz', 'chrisflav', 'dagurtomas', 'faenuccio', 'github-actions', 'jjdishere', 'riccardobrasca'] |
riccardobrasca assignee:riccardobrasca |
19-39608 19 days ago |
41-21525 41 days ago |
41-21673 41 days |
| 38922 |
yuanyi-350 author:yuanyi-350 |
chore(CategoryTheory/Triangulated/Pretriangulated): remove an erw |
- rewrites the `isIso₂_of_isIso₁₃` proof by using `Triangle.invRotate_mor₂` directly in the rewrite chain
- shortens `productTriangle_distinguished` by rewriting `productTriangle.π_hom₃` explicitly instead of using `erw`
Extracted from #38415
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
t-category-theory
awaiting-author
|
5/4 |
Mathlib/CategoryTheory/Triangulated/Pretriangulated.lean |
1 |
3 |
['github-actions', 'joelriou'] |
nobody |
19-38777 19 days ago |
21-4884 21 days ago |
0-20200 5 hours |
| 38557 |
SnirBroshi author:SnirBroshi |
feat(Order/Monotone/Defs): weaken `Preorder` to `LE`/`LT` |
`Monotone`/`Antitone`/`MonotoneOn`/`AntitoneOn` can use any `LE`,
and `StrictMono`/`StrictAnti`/`StrictMonoOn`/`StrictAntiOn` can use any `LT`.
This makes it necessary to add some explicit type params (e.g. `(α := α)`) in some places that use monotone-related theorems (e.g. `Function.monotone_eval`).
---
Currently `OrderEmbedding` and `OrderIso` can use `LE` but `OrderHom` requires `Preorder` because it's defined using `Monotone`. Generalizing `Monotone` and friends will let us fix this oddity. This follows other basic definitions such as `IsMax`/`CovBy`.
[](https://gitpod.io/from-referrer/)
|
t-order |
21/15 |
Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Data/Finsupp/Lex.lean,Mathlib/Data/Finsupp/MonomialOrder/DegLex.lean,Mathlib/Order/Interval/Lex.lean,Mathlib/Order/Monotone/Defs.lean,Mathlib/RingTheory/MvPowerSeries/Trunc.lean,Mathlib/Topology/Order/MonotoneConvergence.lean |
7 |
2 |
['JovanGerb', 'github-actions'] |
nobody |
19-31794 19 days ago |
28-61795 28 days ago |
28-64621 28 days |
| 38561 |
mcdoll author:mcdoll |
feat: use `Is*Apply` classes for continuous linear maps |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
912/416 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Pi.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Homology.lean,Mathlib/Algebra/Module/CharacterModule.lean,Mathlib/Algebra/Polynomial/HasseDeriv.lean,Mathlib/Analysis/Analytic/Binomial.lean,Mathlib/Analysis/Analytic/IteratedFDeriv.lean,Mathlib/Analysis/CStarAlgebra/Multiplier.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/Darboux.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/CompMul.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Mul.lean,Mathlib/Analysis/Calculus/FDeriv/Norm.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Calculus/FormalMultilinearSeries.lean,Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Calculus/VectorField.lean,Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/Analysis/Complex/Harmonic/Analytic.lean,Mathlib/Analysis/Convex/Birkhoff.lean,Mathlib/Analysis/Convex/DoublyStochasticMatrix.lean,Mathlib/Analysis/Convex/Exposed.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Deriv.lean,Mathlib/Analysis/Fourier/FourierTransform.lean,Mathlib/Analysis/Fourier/FourierTransformDeriv.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/ConformalLinearMap.lean,Mathlib/Analysis/InnerProductSpace/Dual.lean,Mathlib/Analysis/InnerProductSpace/LinearMap.lean,Mathlib/Analysis/InnerProductSpace/Positive.lean,Mathlib/Analysis/InnerProductSpace/Projection/Basic.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Analysis/InnerProductSpace/Rayleigh.lean,Mathlib/Analysis/InnerProductSpace/Reproducing.lean,Mathlib/Analysis/InnerProductSpace/StarOrder.lean,Mathlib/Analysis/LocallyConvex/PointwiseConvergence.lean,Mathlib/Analysis/LocallyConvex/Separation.lean,Mathlib/Analysis/Normed/Algebra/GelfandFormula.lean,Mathlib/Analysis/Normed/Group/SeparationQuotient.lean,Mathlib/Analysis/Normed/Module/Alternating/Uncurry/Fin.lean,Mathlib/Analysis/Normed/Module/Bases.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Analysis/Normed/Module/Multilinear/Basic.lean,Mathlib/Analysis/Normed/Operator/Basic.lean,Mathlib/Analysis/Normed/Operator/Bilinear.lean,Mathlib/Analysis/Normed/Operator/Compact.lean,Mathlib/Analysis/Normed/Operator/ContinuousAlgEquiv.lean,Mathlib/Analysis/Normed/Operator/Mul.lean,Mathlib/Analysis/Normed/Unbundled/FiniteExtension.lean,Mathlib/Analysis/SpecialFunctions/Exponential.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Data/FunLike/Group.lean,Mathlib/Data/FunLike/IsApply.lean,Mathlib/Data/FunLike/Module.lean,Mathlib/Data/FunLike/MonoidWithZero.lean,Mathlib/Data/FunLike/Ring.lean,Mathlib/Data/Matrix/PEquiv.lean,Mathlib/Geometry/Euclidean/Volume/Measure.lean,Mathlib/Geometry/Manifold/IntegralCurve/Basic.lean,Mathlib/LinearAlgebra/Eigenspace/ContinuousLinearMap.lean,Mathlib/LinearAlgebra/Matrix/Polynomial.lean,Mathlib/LinearAlgebra/QuadraticForm/Dual.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL1.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL2.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,Mathlib/MeasureTheory/Function/JacobianOneDim.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Group/Prod.lean,Mathlib/MeasureTheory/Integral/Bochner/L1.lean,Mathlib/MeasureTheory/Integral/FinMeasAdditive.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Measure/Haar/DistribChar.lean,Mathlib/MeasureTheory/Measure/Haar/MulEquivHaarChar.lean,Mathlib/MeasureTheory/Measure/Typeclasses/Finite.lean,Mathlib/MeasureTheory/VectorMeasure/Decomposition/Hahn.lean,Mathlib/MeasureTheory/VectorMeasure/Decomposition/Jordan.lean,Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/SiegelsLemma.lean,Mathlib/Probability/Distributions/Uniform.lean,Mathlib/Probability/Moments/Variance.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean,Mathlib/Topology/Algebra/Module/LinearMapPiProd.lean,Mathlib/Topology/Algebra/Module/Multilinear/Basic.lean,Mathlib/Topology/Algebra/Module/Spaces/ContinuousLinearMap.lean,Mathlib/Topology/Algebra/Module/Spaces/UniformConvergenceCLM.lean |
101 |
4 |
['Vierkantor', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
19-27075 19 days ago |
unknown |
0-0 0 seconds |
| 38037 |
linesthatinterlace author:linesthatinterlace |
feat: extend `LawfulXor` lemmas and add `Equiv.xor` |
This PR extends the work of #37712 by adding additional lemmas and adding `xor-as-a-permutation`.
---
- [ ] depends on: #37712
[](https://gitpod.io/from-referrer/)
|
t-data
blocked-by-other-PR
|
270/0 |
Mathlib.lean,Mathlib/Data/Fin/Init.lean,Mathlib/Data/LawfulXor/Basic.lean,Mathlib/Data/LawfulXor/Equiv.lean |
4 |
4 |
['github-actions', 'linesthatinterlace', 'mathlib-dependent-issues'] |
linesthatinterlace assignee:linesthatinterlace |
19-26973 19 days ago |
19-26974 19 days ago |
21-80359 21 days |
| 37310 |
CoolRmal author:CoolRmal |
feat(MeasureTheory): uniformly distributed outer regular measures in a second countable pseudometric space are unique up to a finite constant |
In this PR we define uniformly distributed measures and prove [Christensen's Lemma](https://en.wikipedia.org/wiki/Spherical_measure), which says that uniformly distributed outer regular measures in a second countable pseudometric space are unique up to a finite constant.
A classical application of Christensen's Lemma is to show that the restriction of the `n - 1`-dimensional
Hausdorff measure onto an `n`-dimensional sphere coincides with the spherical measure. This will be done in another PR.
---
- [x] depends on: #37311
- [x] depends on: #37312
- [x] depends on: #37313
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
201/1 |
Mathlib.lean,Mathlib/MeasureTheory/Measure/Regular.lean,Mathlib/MeasureTheory/Measure/UniformlyDistributed.lean,Mathlib/Order/LiminfLimsup.lean |
4 |
17 |
['CoolRmal', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'wwylele'] |
RemyDegenne assignee:RemyDegenne |
19-19093 19 days ago |
20-62207 20 days ago |
24-6098 24 days |
| 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 |
19-18908 19 days ago |
20-19840 20 days ago |
0-105 1 minute |
| 38989 |
grunweg author:grunweg |
chore: remove `(d)simp only []` |
Either remove them (when they were unnecessary), or replace by something more low-level.
---
I'm happy to make them `simp only` instead, if that is preferred.
[](https://gitpod.io/from-referrer/)
|
|
10/17 |
Counterexamples/AharoniKorman.lean,Mathlib/Analysis/SpecialFunctions/Integrals/PosLogEqCircleAverage.lean,Mathlib/CategoryTheory/Limits/Fubini.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/RE.lean,Mathlib/Computability/TuringMachine/Config.lean,Mathlib/Computability/TuringMachine/StackTuringMachine.lean,Mathlib/LinearAlgebra/Matrix/Basis.lean,Mathlib/MeasureTheory/Covering/Besicovitch.lean,Mathlib/MeasureTheory/Measure/Restrict.lean,Mathlib/ModelTheory/Encoding.lean |
11 |
4 |
['b-mehta', 'github-actions', 'grunweg'] |
nobody |
19-18636 19 days ago |
19-33904 19 days ago |
19-33899 19 days |
| 38979 |
ldct author:ldct |
feat(EReal): simplify nat + ⊤ |
Alternative version of https://github.com/leanprover-community/mathlib4/pull/38975
---
[](https://gitpod.io/from-referrer/)
|
t-data |
28/2 |
Mathlib/Data/EReal/Basic.lean,Mathlib/Data/EReal/Operations.lean,MathlibTest/EReal.lean |
3 |
6 |
['SnirBroshi', 'eric-wieser', 'github-actions', 'ldct', 'leanprover-radar'] |
nobody |
19-13479 19 days ago |
19-13245 19 days ago |
19-13370 19 days |
| 37955 |
artie2000 author:artie2000 |
feat(Algebra/Polynomial): lemmas about `modByMonic` |
* Add various small lemmas about `Polynomial.modByMonic`
* Remove unneccesary commutativity assumption on `Polynomial.aeval_eq_zero_of_dvd_aeval_eq_zero` by proving `Polynomial.aeval_dvd`
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
delegated
label:t-algebra$ |
20/6 |
Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/FieldTheory/Minpoly/Basic.lean,Mathlib/RingTheory/Polynomial/IsIntegral.lean |
5 |
4 |
['github-actions', 'mathlib-bors', 'ocfnash'] |
ocfnash assignee:ocfnash |
18-77434 18 days ago |
18-77434 18 days ago |
24-18920 24 days |
| 38136 |
homeowmorphism author:homeowmorphism |
feat(FinitelyPresentedGroup): add definitional equivalence with generating set given by `S : Set G`. |
A group `G` is finitely presented if and only if it admits a finite generating set given by `S : Set G` such that the canonical inclusion map is surjective and the kernel is finitely generated as a normal subgroup.
---
Co-pilot + Gemini Pro 3.1 was used for assistance.
[](https://gitpod.io/from-referrer/)
|
t-group-theory |
40/0 |
Mathlib/GroupTheory/FinitelyPresentedGroup.lean |
1 |
7 |
['copilot-pull-request-reviewer', 'github-actions', 'homeowmorphism', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
18-63455 18 days ago |
38-69551 38 days ago |
0-17 17 seconds |
| 38885 |
yuanyi-350 author:yuanyi-350 |
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Function/LpOrder` |
- rewrites `coeFn_nonneg` to use the `Lp.coeFn_zero` eventual equality directly via `trans_le`, instead of a separate `filter_upwards` proof
Extracted from #38104
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
t-measure-probability
|
1/4 |
Mathlib/MeasureTheory/Function/LpOrder.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
RemyDegenne assignee:RemyDegenne |
18-60260 18 days ago |
22-14109 22 days ago |
22-14104 22 days |
| 38886 |
yuanyi-350 author:yuanyi-350 |
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Function/SimpleFuncDenseLp` |
- rewrites `measure_preimage_lt_top_of_memLp` via `FinMeasSupp.of_lintegral_ne_top` and `FinMeasSupp.map_iff`, instead of expanding `eLpNorm'` and splitting through `ENNReal.mul_lt_top_iff`
Extracted from #38104
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
t-measure-probability
|
9/21 |
Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
RemyDegenne assignee:RemyDegenne |
18-60259 18 days ago |
22-13901 22 days ago |
22-13896 22 days |
| 39004 |
zhuyizheng author:zhuyizheng |
chore(ModelTheory): fix hypo of `realize_liftAt` |
changes the hypo of `realize_liftAt` from the incorrect `(hmn : m + n' ≤ n + 1)` to the correct `(hmn : m ≤ n)`
---
[](https://gitpod.io/from-referrer/)
|
t-logic |
2/2 |
Mathlib/ModelTheory/Semantics.lean |
1 |
3 |
['github-actions', 'plp127', 'zhuyizheng'] |
nobody |
18-60108 18 days ago |
19-9837 19 days ago |
19-9832 19 days |
| 38310 |
ZRTMRH author:ZRTMRH |
feat(Combinatorics/Quiver/Schreier): word evaluation and reachability |
Adds word evaluation and reachability results to the Schreier graph API.
* `SchreierGraph.evalWord` : evaluates a word `List (S × Bool)` as an element of the ambient group, where `(s, true)` contributes `ι s` and `(s, false)` contributes `(ι s)⁻¹`.
* `SchreierGraph.evalWord_eq_lift` : agreement with `FreeGroup.lift`.
* `SchreierGraph.evalWord_mem_closure` : every word evaluates into the subgroup generated by `ι`.
* `SchreierGraph.pathFromWord` : a Bool-tagged word yields a path in `Symmetrify (SchreierGraph V ι)` from `x` to `evalWord ι w • x`.
* `SchreierGraph.reachable_iff` : two vertices are connected by a path in the symmetrification iff some element of the subgroup closure carries one to the other.
Follow-up to #36320.
This PR was written with AI assistance (Claude). The code has been reviewed by the author.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
large-import
LLM-generated
|
157/0 |
Mathlib/Combinatorics/Quiver/Schreier.lean |
1 |
2 |
['github-actions'] |
nobody |
18-46562 18 days ago |
34-80036 34 days ago |
34-80031 34 days |
| 38873 |
yuanyi-350 author:yuanyi-350 |
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Constructions/BorelSpace/Real` |
- rewrites `measurable_const_mul` by splitting off the `c = 0` case and proving the nonzero case via `measurable_of_continuousOn_compl_singleton`
- replaces the ad hoc case analysis on `⊥`, `⊤`, and real coefficients with a direct continuity argument for multiplication on `EReal`
Extracted from #38104
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
t-measure-probability
|
5/19 |
Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean |
1 |
3 |
['LorenzoLuccioli', 'github-actions', 'yuanyi-350'] |
kex-y assignee:kex-y |
18-44372 18 days ago |
18-63682 18 days ago |
21-74786 21 days |
| 39023 |
TBUGTB author:TBUGTB |
feat(Algebra/Order): API lemmas on floor and abs |
Co-authored-by: Etienne Marion @EtienneC30
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
brownian
new-contributor
label:t-algebra$ |
9/0 |
Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Algebra/Order/Ring/Abs.lean |
2 |
3 |
['TBUGTB', 'github-actions'] |
nobody |
18-28288 18 days ago |
18-31477 18 days ago |
18-31472 18 days |
| 38374 |
idontgetoutmuch author:idontgetoutmuch |
Principal Bundles, Connection 1-forms and the Frame Bundle |
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
new-contributor
|
2017/0 |
Mathlib/Geometry/Manifold/Algebra/FakeFormII.lean,Mathlib/Geometry/Manifold/Algebra/PrincipalGBundle.lean,Mathlib/Geometry/Manifold/Algebra/SmoothLieExp.lean |
3 |
2 |
['github-actions'] |
nobody |
18-17505 18 days ago |
unknown |
0-0 0 seconds |
| 38781 |
JovanGerb author:JovanGerb |
feat: instance diamond linter |
---
[](https://gitpod.io/from-referrer/)
|
t-linter |
111/4 |
Mathlib.lean,Mathlib/CategoryTheory/Action/Concrete.lean,Mathlib/CategoryTheory/Limits/Shapes/ConcreteCategory.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/InstanceDiamonds.lean |
6 |
2 |
['github-actions', 'mathlib-bors'] |
nobody |
18-12227 18 days ago |
25-6806 25 days ago |
0-12 12 seconds |
| 37023 |
xroblot author:xroblot |
feat(NumberTheory/NumberField): linear disjointness from coprime discriminants |
The key new result is `dvd_discr_iff_dvd_discr_normalClosure`: a prime `p` divides `discr K` if and only if it divides the discriminant of the normal closure of `K` over `ℚ`. Thanks to this result, we generalize `linearDisjoint_of_isGalois_isCoprime_discr` by removing the Galois hypothesis: if K₁ and K₂ are number fields with coprime discriminants, then they are linearly disjoint over ℚ.
---
[](https://gitpod.io/from-referrer/)
- [ ] depends on: #36843
- [ ] depends on: #30666
|
merge-conflict
blocked-by-other-PR
|
1575/57 |
Mathlib.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/GroupWithZero/Action/TransferInstance.lean,Mathlib/Algebra/Ring/Int/Field.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/Galois/IsGaloisGroup.lean,Mathlib/FieldTheory/IntermediateField/Algebraic.lean,Mathlib/FieldTheory/IntermediateField/ExtendTop.lean,Mathlib/FieldTheory/Normal/Defs.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/NumberTheory/NumberField/Basic.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Basic.lean,Mathlib/NumberTheory/NumberField/Discriminant/Different.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/NumberTheory/RamificationInertia/Galois.lean,Mathlib/NumberTheory/RamificationInertia/HilbertTheory.lean,Mathlib/RingTheory/AlgebraTower.lean,Mathlib/RingTheory/Ideal/Galois.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean,Mathlib/RingTheory/IntegralClosure/IsIntegralClosure/Basic.lean,Mathlib/RingTheory/Invariant/Basic.lean,Mathlib/RingTheory/Localization/FractionRing.lean |
24 |
1 |
['mathlib-dependent-issues'] |
nobody |
17-83132 17 days ago |
63-33981 63 days ago |
0-83 1 minute |
| 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
|
317/24 |
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 |
11 |
['archiebrowne', 'github-actions', 'grunweg', 'peabrainiac'] |
PatrickMassot and grunweg assignee:grunweg assignee:PatrickMassot |
17-76949 17 days ago |
17-77024 17 days ago |
25-62928 25 days |
| 37701 |
grunweg author:grunweg |
debug: investigate error in #37688 |
---
Goal: figure out the bad error messages in #37688.
This PR focuses on one such proof: adding grind as default gcongr discharger just locally already produces an error. `grind` cannot solve the first side goal; that is fine --- the error caused is not; that should be improved.
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
merge-conflict
|
11/2 |
Mathlib/Analysis/Fourier/FourierTransformDeriv.lean |
1 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
17-72873 17 days ago |
49-7312 49 days ago |
0-7 7 seconds |
| 38901 |
thorimur author:thorimur |
bench: null linters |
This PR tries to determine the "flat fees" of linters are in benching.
---
[](https://gitpod.io/from-referrer/)
|
|
12/0 |
Mathlib/Init.lean |
1 |
7 |
['github-actions', 'leanprover-radar', 'thorimur'] |
nobody |
17-66386 17 days ago |
unknown |
0-0 0 seconds |
| 36756 |
Jun2M author:Jun2M |
feat(Combinatorics/GraphLike/Walks): add general walks for `GraphLike` structures |
Per discussion at ([#graph theory > HasAdj](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/HasAdj/with/575843445)), This PR introduces the basic theory of walks as a general framework that works across different graph-like structures including `SimpleGraph`, `Digraph`, and `Graph`.
## Main definitions
* `Walk G u v`: The type of walks from vertex `u` to vertex `v` in a graph-like structure `G`
* `Walk.length`: The number of edges in a walk
* `Walk.support`: The list of vertices visited by a walk
* `Walk.darts`: The list of `darts` (oriented edges) in a walk
---
- [ ] depends on: #36743
- [ ] depends on: #39047
- [ ] depends on: #36829
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-combinatorics
|
789/0 |
Mathlib.lean,Mathlib/Combinatorics/GraphLike/Basic.lean,Mathlib/Combinatorics/GraphLike/Symm.lean,Mathlib/Combinatorics/GraphLike/Walks/Basic.lean,Mathlib/Combinatorics/GraphLike/Walks/Simple.lean |
5 |
4 |
['github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
17-66124 17 days ago |
69-65224 69 days ago |
0-547 9 minutes |
| 38021 |
IvanRenison author:IvanRenison |
feat(Data/Int/ModEq): add theorem `modEq_two_abs` |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
4/0 |
Mathlib/Data/Int/ModEq.lean |
1 |
1 |
['github-actions'] |
TwoFX assignee:TwoFX |
17-60212 17 days ago |
41-70519 41 days ago |
41-70514 41 days |
| 38198 |
JovanGerb author:JovanGerb |
chore(Data/Real/Basic): `no_expose` the private operations |
This PR puts `no_expose` on all of the operations on `Real` that are defined in terms of quotients. This is a step in the direction of not exposing the definiton of `Real`.
Note that I leave the `irreducible_def`s as is. This is because the `simpNF` linter does not participate in the module system, and it would time out otherwise.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
11/32 |
Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean,Mathlib/Data/Real/Basic.lean,Mathlib/Topology/Algebra/Valued/NormedValued.lean |
3 |
11 |
['JovanGerb', 'eric-wieser', 'github-actions', 'leanprover-radar'] |
TwoFX assignee:TwoFX |
17-60209 17 days ago |
37-31754 37 days ago |
37-32690 37 days |
| 38600 |
khwilson author:khwilson |
feat(Topology/Semicontinuity): additional definitions for correspondences |
On the way to proving Michael's selection theorem, several extra notions related to hemicontinuity are introduced. Specifically, the notion of a correspondence having lower sections and it having an open graph.
The first construction is what is used in the proof of Michael's theorem to generate approximations to the target selection. The second is used in the iterative step to generate new lower hemicontinuous maps.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
awaiting-author
|
349/0 |
Mathlib/Topology/Semicontinuity/Defs.lean |
1 |
4 |
['github-actions', 'j-loreaux', 'khwilson'] |
j-loreaux assignee:j-loreaux |
17-52422 17 days ago |
20-79944 20 days ago |
6-61285 6 days |
| 38594 |
ScottCarnahan author:ScottCarnahan |
feat(Algebra/Lie): grading on loop algebras |
(WIP) put the canonical "energy" grading on a loop algebra. This will (eventually) give us the "energy" operator on smooth representations of a central extension.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
label:t-algebra$ |
176/0 |
Mathlib/Algebra/Lie/Loop.lean,Mathlib/LinearAlgebra/TensorProduct/Decomposition.lean |
2 |
1 |
['github-actions'] |
nobody |
17-52053 17 days ago |
27-60644 27 days ago |
0-21 21 seconds |
| 38228 |
kim-em author:kim-em |
ci: block merging PRs that increase technical debt unless reviewed |
This PR adds a merge gate for technical debt increases.
When the existing technical debt metrics script reports an increase, the `build` job adds an `increases-technical-debt` label. A `check-technical-debt` job then adds `blocked-by-increases-technical-debt`, which blocks bors.
A reviewer can add `allow-increases-technical-debt` to unblock after confirming the increase is acceptable.
### Fail-closed detection
The detection greps for the *safe* patterns (`Decrease in tech debt:` / `No changes to technical debt.`) rather than for `Increase`. If `mathlib-ci` changes the script's output wording, the label is added (fail closed) rather than silently skipped (fail open).
### Labels (three-label pattern, same as #38225)
| Label | Managed by | Purpose |
|---|---|---|
| `increases-technical-debt` | `build` job (tech debt script) | Factual: this PR increases debt |
| `blocked-by-increases-technical-debt` | `check-technical-debt` job | Operational: blocks bors |
| `allow-increases-technical-debt` | Reviewer | Override: reviewer approves the increase |
Bors's `block_labels` has no conditional logic, so we need the derived `blocked-by-increases-technical-debt` label to express the conjunction "increases-technical-debt AND NOT allow-increases-technical-debt".
False positives can be reported on the [mathlib4 Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/increases-technical-debt.20label).
🤖 Prepared with Claude Code
-----------
- [x] depends on: leanprover-community/mathlib-ci#28 |
CI
awaiting-author
|
76/2 |
.github/workflows/PR_summary.yml,bors.toml |
2 |
8 |
['github-actions', 'grunweg', 'jcommelin', 'joneugster', 'kim-em', 'mathlib-dependent-issues'] |
Vierkantor and jcommelin assignee:Vierkantor assignee:jcommelin |
17-34184 17 days ago |
17-34184 17 days ago |
12-75706 12 days |
| 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
Soleil Repple
Nathan Hart-Hodgson
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
awaiting-author
label:t-algebra$ |
106/0 |
Mathlib.lean,Mathlib/Algebra/Group/SemigroupPow.lean |
2 |
7 |
['ScottCarnahan', 'github-actions', 'wwylele'] |
nobody |
17-31679 17 days ago |
17-75650 17 days ago |
0-115 1 minute |
| 37415 |
vasnesterov author:vasnesterov |
feat(Tactic/ComputeAsymptotics/Multiseries): compute limits of `Monomial`s |
Prove
* `UnitMonomial.logToFun_isEquivalent_of_nonzero_head`: `log m.toFun` is asymptotically equivalent
to its first summand - `m[0] • log basis[0]` if `m[0] ≠ 0`. Using this theorem we can prove that
the asymptotic behavior of a monomial is determined by its first non-zero exponent.
* `toFun_tendsto_top_of_FirstNonzeroIsPos` and its variants: used to infer the limit of
`t.toFun` from `FirstNonzeroIsPos`/`FirstNonzeroIsNeg`/`AllZero`.
* `IsLittleO_of_lt_exps` and its variants: used to asymptotically compare two monomials.
---
- [x] depends on: #37411
This is a part of the `compute_asymptotics` tactic (#28291).
[](https://gitpod.io/from-referrer/)
|
t-meta
awaiting-author
|
380/1 |
Mathlib/Tactic/ComputeAsymptotics/Multiseries/Basis.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Monomial/Basic.lean |
2 |
14 |
['github-actions', 'joneugster', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
joneugster assignee:joneugster |
17-29927 17 days ago |
17-29927 17 days ago |
13-72357 13 days |
| 39046 |
adamtopaz author:adamtopaz |
feat: Fill three proof_wanted declarations |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
awaiting-author
label:t-algebra$ |
54/13 |
Mathlib/Data/EReal/Operations.lean,Mathlib/LinearAlgebra/Determinant.lean,Mathlib/LinearAlgebra/Trace.lean |
3 |
4 |
['github-actions', 'themathqueen'] |
nobody |
17-27710 17 days ago |
17-82641 17 days ago |
0-1 1 second |
| 38476 |
agusakov author:agusakov |
refactor(Combinatorics/Digraph): add vertex sets |
---
Adopting #33466
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
awaiting-author
|
381/50 |
Mathlib/Combinatorics/Digraph/Basic.lean,Mathlib/Combinatorics/Digraph/Orientation.lean |
2 |
16 |
['Shreyas4991', 'YaelDillies', 'agusakov', 'github-actions'] |
nobody |
17-21023 17 days ago |
26-39564 26 days ago |
3-33232 3 days |
| 39078 |
fpvandoorn author:fpvandoorn |
feat: add lemmas about products over Finset.Iio |
* Mostly useful for `ℕ`
* I added the `Finset.Iic` lemmas by symmetry, but I'm happy to remove them if we think they are redundant.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
29/0 |
Mathlib/Algebra/Order/BigOperators/Group/LocallyFinite.lean |
1 |
1 |
['github-actions'] |
nobody |
17-18933 17 days ago |
17-19013 17 days ago |
17-19008 17 days |
| 38671 |
dagurtomas author:dagurtomas |
chore(CategoryTheory): start using `mk_concrete_category` |
---
- [ ] depends on: #38587
- [x] depends on: #39005
[](https://gitpod.io/from-referrer/)
|
LLM-generated
blocked-by-other-PR
|
1125/1796 |
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/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 |
37 |
9 |
['dagurtomas', 'github-actions', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
17-10027 17 days ago |
26-71029 26 days ago |
0-1 1 second |
| 39091 |
tb65536 author:tb65536 |
feat(FieldTheory/Galois/IsGaloisGroup): add version of `IsGaloisGroup.to_isFractionRing` assuming only `IsIntegral` |
This PR adds a version of `IsGaloisGroup.to_isFractionRing` assuming only `Algebra.IsIntegral A B` (which is weaker than the existing assumption `Finite G`).
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
22/9 |
Mathlib/FieldTheory/Galois/IsGaloisGroup.lean,Mathlib/RingTheory/Invariant/Basic.lean |
2 |
1 |
['github-actions'] |
nobody |
17-5541 17 days ago |
17-5541 17 days ago |
17-5537 17 days |
| 39094 |
tb65536 author:tb65536 |
feat(FieldTheory/Galois/IsGaloisGroup): generalize finiteness of Galois groups from fields to rings |
This PR generalizes finiteness of Galois groups from fields to rings.
---
- [ ] depends on: #39091
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
blocked-by-other-PR
label:t-algebra$ |
31/11 |
Mathlib/FieldTheory/Galois/IsGaloisGroup.lean,Mathlib/RingTheory/Invariant/Basic.lean |
2 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
17-2949 17 days ago |
17-3819 17 days ago |
0-2 2 seconds |
| 38499 |
SnirBroshi author:SnirBroshi |
feat(Order/Hom/Basic): `Relation.Map`/`Function.onFun` form an order isomorphism between `α`-relations and `β`-relations |
For an injective function `f : α → β`, `Relation.Map · f f` is an order embedding from `α`-relations into `β`-relations.
For a surjective function `f : α → β`, `Function.onFun · f` is an order embedding from `β`-relations into `α`-relations.
For a bijective function `f : α → β`, `Relation.Map · f f` and `Function.onFun · f` form an order isomorphism between `α`-relations and `β`-relations.
---
- [ ] depends on: #38432
TODO: generalize to `bicompl` after the dependency is merged
[](https://gitpod.io/from-referrer/)
|
t-order
blocked-by-other-PR
|
42/0 |
Mathlib/Order/Hom/Basic.lean |
1 |
7 |
['SnirBroshi', 'github-actions', 'mathlib-dependent-issues', 'plp127', 'wwylele'] |
nobody |
16-83402 16 days ago |
26-37541 26 days ago |
4-11004 4 days |
| 39074 |
tb65536 author:tb65536 |
feat(RingTheory/RamificationInertia/Ramification): relate `ramificationIdx'` to `Algebra.IsUnramifiedAt` |
This PR relates the new `ramificationIdx'` (which will eventually replace `ramificationIdx`) to `Algebra.IsUnramifiedAt`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
large-import
label:t-algebra$ |
30/0 |
Mathlib/RingTheory/RamificationInertia/Ramification.lean |
1 |
1 |
['github-actions'] |
nobody |
16-82297 16 days ago |
17-11553 17 days ago |
17-11549 17 days |
| 38223 |
Deicyde author:Deicyde |
feat(Geometry/Manifold): add `MfldCat`, the category of `C^n` manifolds |
We define `MfldCat 𝕜 n`: the category of `C^n` manifolds over a field `𝕜`, following the pattern of `TopCat` in
`Mathlib.Topology.Category.TopCat.Basic`. We also implement `HasForget₂ (MfldCat 𝕜 n) TopCat`—the forgetful functor into the category of topological spaces. For more discussion see the 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.
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
new-contributor
t-category-theory
|
224/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Category/MfldCat/Basic.lean,Mathlib/Geometry/Manifold/ContMDiffMap.lean |
3 |
57 |
['Deicyde', 'chrisflav', 'dagurtomas', 'github-actions', 'idontgetoutmuch', 'peabrainiac'] |
kim-em assignee:kim-em |
16-75919 16 days ago |
16-79343 16 days ago |
30-43054 30 days |
| 38864 |
xroblot author:xroblot |
feat(IsGaloisGroup): add `restrictHom` |
---
- [ ] depends on: #38902
- [ ] depends on: #38464
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-other-PR
merge-conflict
|
590/104 |
Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/FieldTheory/Galois/IsGaloisGroup.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean,Mathlib/NumberTheory/RamificationInertia/Galois.lean,Mathlib/RingTheory/Invariant/Basic.lean,Mathlib/RingTheory/Localization/FractionRing.lean |
7 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
16-74735 16 days ago |
22-32778 22 days ago |
0-12 12 seconds |
| 39071 |
scholzhannah author:scholzhannah |
feat(Topology): add `PartialHomeomorph` as generalization of `OpenPartialHomeomorph` |
As discussed on Zulip ([#mathlib4 > Generalizing `PartialHomeomorph`?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Generalizing.20.60PartialHomeomorph.60.3F/with/536896273)), I renamed `PartialHomeomorph` to `OpenPartialHomeomorph` in #29113.
In this PR I now add a new `PartialHomeomorph` which is a `PartialEquiv` that is continuous on both source and target. An `OpenPartialHomeomorph` is then a `PartialHomeomorph` that additionally has open source and target.
`PartialHomeomorph` should find uses at least for and manifolds (`ModelWithCorners`). Afterwards, I want to add a `ClosedPartialHomeomorph` to use for CWComplexes.
---
I don't have a lot of experience doing these kind of modifications of a large piece of code. Additionally, I am not familiar with the main uses of `OpenPartialHomeomorph` in Mathlib. So while I did this to the best of my abilities, you should read this carefully because there might be things I did wrong or in non-ideal ways.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-topology
|
1569/139 |
Mathlib.lean,Mathlib/Geometry/Manifold/ContMDiffMFDeriv.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/Manifold/LocalSourceTargetProperty.lean,Mathlib/Logic/Equiv/PartialEquiv.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/ContinuousOn.lean,Mathlib/Topology/FiberBundle/Trivialization.lean,Mathlib/Topology/OpenPartialHomeomorph/Basic.lean,Mathlib/Topology/OpenPartialHomeomorph/Composition.lean,Mathlib/Topology/OpenPartialHomeomorph/Constructions.lean,Mathlib/Topology/OpenPartialHomeomorph/Defs.lean,Mathlib/Topology/OpenPartialHomeomorph/IsImage.lean,Mathlib/Topology/PartialHomeomorph/Basic.lean,Mathlib/Topology/PartialHomeomorph/Composition.lean,Mathlib/Topology/PartialHomeomorph/Constructions.lean,Mathlib/Topology/PartialHomeomorph/Defs.lean,Mathlib/Topology/PartialHomeomorph/IsImage.lean |
19 |
2 |
['github-actions', 'grunweg'] |
grunweg assignee:grunweg |
16-72738 16 days ago |
unknown |
0-0 0 seconds |
| 37190 |
cjrl author:cjrl |
feat(Combinatorics): Set-Valued Pigeonhole Principle |
This PR contributes two theorems to combinatorics:
- `exists_lt_card_cover_of_card_biUnion_lt_card` is a set-valued version of the pigeonhole principle.
- `sum_card_eq_sum_card_cover_biUnion` is a set theoretic corollary of a double counting result proved for bipartite graphs (`Finset.sum_card_bipartiteAbove_eq_sum_card_bipartiteBelow`). This was needed to prove the above pigeonhole principle.
The motivation for these results is our Latin Square PR #36698. These results were proved in less general terms in that PR, but are independent of Latin Square considerations and so we have generalized and moved them into more relevant files.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
38/0 |
Mathlib/Combinatorics/Enumerative/DoubleCounting.lean,Mathlib/Combinatorics/Pigeonhole.lean |
2 |
16 |
['IvanRenison', 'cjrl', 'ghseeli', 'github-actions', 'j-loreaux', 'vlad902'] |
b-mehta assignee:b-mehta |
16-60314 16 days ago |
42-80810 42 days ago |
58-51604 58 days |
| 37761 |
EtienneC30 author:EtienneC30 |
feat: define Bernoulli distribution |
Define the Bernoulli distribution over an arbitrary measurable space as
`Ber(x, y, p) := toNNReal p • dirac x + toNNReal (σ p) • dirac y`.
Deprecate `PMF.binomial`.
Co-authored-by: @DavidLedvinka
---
- [ ] depends on: #37762
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
large-import
|
206/7 |
Mathlib.lean,Mathlib/Data/ENNReal/Action.lean,Mathlib/MeasureTheory/Measure/Typeclasses/Probability.lean,Mathlib/Probability/Distributions/Bernoulli.lean,Mathlib/Probability/Distributions/SetBernoulli.lean,Mathlib/Probability/Moments/SubGaussian.lean,Mathlib/Probability/ProbabilityMassFunction/Binomial.lean,Mathlib/Probability/ProbabilityMassFunction/Constructions.lean,Mathlib/Probability/ProbabilityMassFunction/Integrals.lean |
9 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
sgouezel assignee:sgouezel |
16-60310 16 days ago |
17-12016 17 days ago |
17-12873 17 days |
| 38309 |
ntapiam author:ntapiam |
feat(Algebra/NonAssoc): dendriform algebras |
Define dendriform semirings and algebras
---
This PR introduces dendriform structures such as dendriform semirings
and algebras, and proves basic facts linking them to their pre-Lie
counterparts.
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
270/0 |
Mathlib.lean,Mathlib/Algebra/NonAssoc/Dendriform/Defs.lean,docs/references.bib |
3 |
5 |
['dagurtomas', 'github-actions', 'ntapiam'] |
ocfnash assignee:ocfnash |
16-60304 16 days ago |
17-26082 17 days ago |
32-31374 32 days |
| 38373 |
Nicola9Falciola author:Nicola9Falciola |
feat (Algebra/FreeAbelianGroup /Finsupp) : The support of non zero element in a freeabeliangroup is non empty |
Add the lemma that for a nonzero a : FreeAbelianGroup X the support of it is non empty.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
3/0 |
Mathlib/Algebra/FreeAbelianGroup/Finsupp.lean |
1 |
7 |
['Nicola9Falciola', 'SnirBroshi', 'github-actions'] |
ocfnash assignee:ocfnash |
16-60296 16 days ago |
32-16039 32 days ago |
33-4475 33 days |
| 38943 |
felixpernegger author:felixpernegger |
feat(Topology/CWComplex/Classical): discrete spaces are CW complexes |
as well as some useful lemmas
This is partly based on code by @scholzhannah
I think this is notable to include, since it is pretty much the only (easy) "topological" sufficient condition for something being a CW complex there is.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
89/3 |
Mathlib/Topology/CWComplex/Classical/Basic.lean,Mathlib/Topology/DiscreteSubset.lean |
2 |
28 |
['felixpernegger', 'github-actions', 'scholzhannah'] |
PatrickMassot assignee:PatrickMassot |
16-60293 16 days ago |
19-31147 19 days ago |
20-45179 20 days |
| 39105 |
ldct author:ldct |
feat: Add Real.exp_int_mul |
Adds the missing `Real.exp_int_mul`, completing the matrix:
| | `ℕ` | `ℤ` |
|---|---|---|
| `ℂ` | `Complex.exp_nat_mul` | `Complex.exp_int_mul` |
| `ℝ` | `Real.exp_nat_mul` | `Real.exp_int_mul` (**new**) |
---
[](https://gitpod.io/from-referrer/) |
t-analysis |
9/0 |
Mathlib/Analysis/Complex/Exponential.lean,MathlibTest/rexp.lean |
2 |
1 |
['github-actions'] |
nobody |
16-50180 16 days ago |
16-50079 16 days ago |
0-476 7 minutes |
| 38328 |
astrainfinita author:astrainfinita |
feat: `OrderSupSet` |
This PR introduces `OrderSupSet` and `OrderInfSet`, which are typeclasses expressing that `sSup` (resp., `sInf`) returns the least upper bound (resp., the greatest lower bound) of a set whenever one exists.
This allows us to prove properties about the `sSup` of specific sets (such as `∅`, singletons, finite sets, and `univ`) without any typeclasses asserting the existence of LUBs. For example, `sSup ∅ = ⊥` holds for any type equipped with `OrderBot` `OrderSupSet`, no longer requiring typeclasses like `ConditionallyCompleteLinearOrderBot`.
For a general set `s`, this gives a uniform way to extend results about `IsLUB s a → motive a` to `motive (sSup s)`, `motive (⨆ i, f i)`, `motive (a ⊔ b)`, etc., which allows proof reuse for basic API such as [`csSup_insert`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/ConditionallyCompleteLattice/Basic.html#csSup_insert), [`iSup_insert`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/CompleteLattice/Basic.html#iSup_insert), and [`sSup_insert`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/CompleteLattice/Basic.html#sSup_insert) and downstream code like [`csSup_add`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Group/Pointwise/CompleteLattice.html#csSup_add), [`sSup_add`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Group/Pointwise/CompleteLattice.html#sSup_add), and [`sup_add`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Group/Lattice.html#sup_add).
Furthermore, this allows us to refactor incrementally, reducing the dependency of results about various completeness typeclasses on the specific implementation of `sSup`.
---
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/Any.20infimum.20based.20version.20of.20.60OmegaCompletePartialOrder.60.3F)
[](https://gitpod.io/from-referrer/)
|
t-order |
156/73 |
Mathlib/MeasureTheory/OuterMeasure/Induced.lean,Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/Bounds/Defs.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/SetNotation.lean,Mathlib/Topology/UniformSpace/OfCompactT2.lean |
7 |
16 |
['JovanGerb', 'astrainfinita', 'b-mehta', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'openendings', 'vihdzp'] |
nobody |
16-38443 16 days ago |
16-38482 16 days ago |
21-69185 21 days |
| 37932 |
idontgetoutmuch author:idontgetoutmuch |
feat: Exponential map of Lie group is smooth |
We construct the exponential map `expLie : g → G` for a Lie group `G` and prove that it
is smooth. The main reference is:
* Eckhard Meinrenken, *Lie Groups and Lie Algebras*, Lecture Notes, University of Toronto.
Available at https://www.math.toronto.edu/mein/teaching/LectureNotes/lie.pdf
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-differential-geometry
awaiting-author
|
392/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Algebra/SmoothLieExp.lean |
2 |
31 |
['github-actions', 'grunweg', 'idontgetoutmuch', 'wwylele'] |
nobody |
16-29589 16 days ago |
37-33747 37 days ago |
0-973 16 minutes |
| 39116 |
khwilson author:khwilson |
feat(Topology/Semicontinuity/Michael): michael's selection theorem |
Michael's selection theorem states that a correspondence `f : α → Set β` from a normal, paracompact topological space `α` to a Frechet space `β` that is lower hemicontinuous, and has nonempty, closed, convex values admits a continuous selection, i.e., a map `g : α → β` such that `g x ∈ f x` for all `x`.
This theorem is used in many places, e.g., to find continuous sections to certain functions.
This PR proves this theorem.
N.B. At this time, this PR doesn't pass as it depends on two other PRs which may go through substantial changes
- [ ] depends on: #38601
- [ ] depends on: #39063
AI Disclosure: Various simplifications and refactors provided by Claude Code and then edited by me.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
blocked-by-other-PR
|
159/0 |
Mathlib/Topology/Semicontinuity/Michael.lean |
1 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
16-25866 16 days ago |
16-25956 16 days ago |
0-29 29 seconds |
| 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 |
16-79 16 days ago |
16-144 16 days ago |
0-37992 10 hours |
| 39123 |
SnirBroshi author:SnirBroshi |
chore(Data/Matrix/Basic): mention `mopMatrix` in `transpose{Ring/Alg}Equiv`s docstring and vice versa |
- `RingEquiv.mopMatrix` and `transposeRingEquiv` differ by a `ᵐᵒᵖ` since the latter assumes `CommMagma α` instead of `Mul α`
- `AlgEquiv.mopMatrix` and `transposeAlgEquiv` differ by a `ᵐᵒᵖ` since the latter assumes `CommSemiring α` instead of `Semiring α`
---
Also slightly golfs `RingEquiv.mopMatrix` as a drive-by.
[](https://gitpod.io/from-referrer/)
|
t-data |
18/11 |
Mathlib/Data/Matrix/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
15-83303 15 days ago |
15-83385 15 days ago |
15-83380 15 days |
| 39126 |
joelriou author:joelriou |
feat(CategoryTheory/Functor/Derived): derived functors are triangulated |
---
- [ ] depends on: #39117
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
blocked-by-other-PR
|
423/7 |
Mathlib.lean,Mathlib/CategoryTheory/Functor/Derived/LeftDerived.lean,Mathlib/CategoryTheory/Functor/Derived/LeftDerivedTriangulated.lean,Mathlib/CategoryTheory/Functor/Derived/RightDerived.lean,Mathlib/CategoryTheory/Functor/Derived/RightDerivedCommShift.lean,Mathlib/CategoryTheory/Functor/Derived/RightDerivedTriangulated.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Shift/CommShift.lean,Mathlib/CategoryTheory/Shift/Localization.lean |
9 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
15-77189 15 days ago |
15-78822 15 days ago |
0-1 1 second |
| 38587 |
dagurtomas author:dagurtomas |
feat(Tactic/CategoryTheory): concrete category boilerplate |
Adds `mk_concrete_category`, a command for generating the initial boilerplate for concrete categories whose morphisms are given by a bundled function type.
The command creates the wrapper `Hom` type, named category and concrete category instances, `ofHom`, `Hom.hom`, and the basic dsimp lemmas.
It handles parameterized categories such as `ModuleCat`, and has a paired additive/multiplicative form for generating both structures at once (e.g. `MonCat`/`AddMonCat`).
Includes test categories checking the generated declarations.
[](https://gitpod.io/from-referrer/)
|
LLM-generated
t-meta
t-category-theory
|
905/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/MkConcreteCategory.lean,MathlibTest/CategoryTheory/MkConcreteCategory.lean |
4 |
8 |
['dagurtomas', 'eric-wieser', 'github-actions'] |
adamtopaz assignee:adamtopaz |
15-59974 15 days ago |
18-50713 18 days ago |
18-51469 18 days |
| 38713 |
justus-springer author:justus-springer |
feat(Algebra/Category/ModuleCat/Sheaf/ChangeOfRings): API for `restrictScalars` |
Extend the `restrictScalars` API for presheaves and sheaves of modules to match the existing API in `ModuleCat/ChangeOfRings`.
For both `PresheafOfModules` and `SheafOfModules` we add:
- `restrictScalarsCongr`: restriction of scalars along equal morphisms are naturally isomorphic
- `restrictScalarsId'/restrictScalarsId`: restriction along the identity is naturally isomorphic to the identity functor
- `restrictScalarsComp'/restrictScalarsComp`: restriction along a composition is naturally isomorphic to the composition of restriction functors
- `restrictScalarsEquivalenceOfIso`: an isomorphism `R ≅ R'` of (pre)sheaves of rings induces an equivalence of categories of (pre)sheaves of modules.
We also move up the "simp barrier": `PresheafOfModules.restrictScalars` and `SheafOfModules.restrictScalars` are no longer `@[simps]` as they have their own API now.
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
t-algebra
label:t-algebra$ |
326/5 |
Mathlib/Algebra/Category/ModuleCat/Presheaf/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafification.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/ChangeOfRings.lean |
3 |
6 |
['dagurtomas', 'github-actions', 'justus-springer'] |
joelriou assignee:joelriou |
15-59973 15 days ago |
23-24718 23 days ago |
24-45339 24 days |
| 38720 |
tb65536 author:tb65536 |
feat(GroupTheory/Rank): nontrivial groups have positive rank |
This PR proves that nontrivial groups have positive rank.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-group-theory
label:t-algebra$ |
18/0 |
Mathlib/GroupTheory/Rank.lean |
1 |
2 |
['github-actions', 'wwylele'] |
mattrobball assignee:mattrobball |
15-59972 15 days ago |
26-7249 26 days ago |
26-7245 26 days |
| 39130 |
peabrainiac author:peabrainiac |
feat(Topology/Algebra): topological multiplicative torsors |
Introduce a class `IsTopologicalTorsor` for topological torsors of multiplicative groups, as a multiplicative counterpart to the existing `IsTopologicalAddTorsor` for topological torsors of additive groups.
---
- [ ] depends on: #38896
[](https://gitpod.io/from-referrer/)
|
t-topology
t-algebra
blocked-by-other-PR
label:t-algebra$ |
464/349 |
Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/AddTorsor/Defs.lean,Mathlib/Algebra/Group/Pointwise/Set/Scalar.lean,Mathlib/Algebra/Notation/Defs.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/Tactic/Translate/ToAdditive.lean,Mathlib/Topology/Algebra/Group/AddTorsor.lean,Mathlib/Topology/Algebra/ProperAction/AddTorsor.lean |
8 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
15-59791 15 days ago |
15-60249 15 days ago |
0-1162 19 minutes |
| 38595 |
openendings author:openendings |
chore(CategoryTheory): remove defeq abuse in Monad/Kleisli.lean |
Currently most of Kleisli.lean uses defeq abuse to perform deep rewrites equivalent to `Kleisli.of_mk`, `Kleisli.mk_of`, etc.
This PR removes all backward.isDefEq.respectTransparency from the file. Additionally:
- Add `theorem Kleisli.comp`, encoding `Kleisli.category.map_comp` in the base category.
- Add `theorem Cokleisli.comp`, encoding `category.map_comp` in the base category.
- Make `C` implicit in `Monad.unit_naturality` and `Monad.mu_naturality`.
- Make `C` implicit in `Comonad.counit_naturality` and `Comonad.delta_naturality`.
---
- ~~I would greatly appreciate advice ([e.g. via Zulip](https://leanprover.zulipchat.com/#user/1060393)) on tackling the remainder of this file: the defeqs mostly appear in morally `simp`/`calc` proofs that look horrid in `refine` style.
I can supply more rfl theorems like `of_mk` and `mk_of` (and hope to do so in subsequent PRs), but don't know how to use them for a deep type rewrite.~~
[](https://gitpod.io/from-referrer/) |
t-category-theory
new-contributor
awaiting-author
WIP
|
95/28 |
Mathlib/CategoryTheory/Monad/Basic.lean,Mathlib/CategoryTheory/Monad/Kleisli.lean,MathlibTest/CategoryTheory/Monad.lean |
3 |
22 |
['dagurtomas', 'github-actions', 'joelriou', 'openendings'] |
nobody |
15-58232 15 days ago |
27-53022 27 days ago |
0-4425 1 hour |
| 39134 |
peabrainiac author:peabrainiac |
chore(Algebra): module deprecations for `Mathlib.Algebra.AddTorsor` |
---
- [ ] depends on: #38896
[](https://gitpod.io/from-referrer/)
|
large-import
blocked-by-other-PR
|
650/538 |
Mathlib.lean,Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/AddTorsor/Defs.lean,Mathlib/Algebra/Group/Pointwise/Set/Scalar.lean,Mathlib/Algebra/Notation/Defs.lean,Mathlib/Algebra/Torsor/Basic.lean,Mathlib/Algebra/Torsor/Defs.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/LinearAlgebra/AffineSpace/AffineMap.lean,Mathlib/LinearAlgebra/AffineSpace/Defs.lean,Mathlib/Tactic/Translate/ToAdditive.lean,Mathlib/Topology/Algebra/Group/AddTorsor.lean,Mathlib/Topology/Algebra/MulAction.lean,scripts/noshake.json |
14 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
15-46812 15 days ago |
15-46813 15 days ago |
0-1666 27 minutes |
| 38855 |
SnirBroshi author:SnirBroshi |
feat(Order/ConditionallyCompleteLattice/Indexed): `≤` version of `ciSup_or'` for `ConditionallyCompleteLattice` |
Deprime `ciSup_or'` because there's no `ciSup_or`, and add a `≤` version (and dual) for `ConditionallyCompleteLattice`.
Only `≤` because equality does not hold when `p ≠ q` without `sSup ∅ = ⊥`.
---
`ciSup_or'` can't have a dual because there's no dual to `ConditionallyCompleteLinearOrderBot`.
[](https://gitpod.io/from-referrer/)
|
t-order |
8/1 |
Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean |
1 |
1 |
['github-actions'] |
nobody |
15-35484 15 days ago |
22-56692 22 days ago |
22-56687 22 days |
| 38856 |
SnirBroshi author:SnirBroshi |
feat(Order/ConditionallyCompleteLattice/Indexed): `iSup_iSup_eq_{left/right}` for `ConditionallyCompleteLinearOrderBot` |
and `≤` versions for `ConditionallyCompleteLattice`.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
32/9 |
Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean |
2 |
1 |
['github-actions'] |
nobody |
15-35321 15 days ago |
22-49611 22 days ago |
22-49606 22 days |
| 38597 |
kim-em author:kim-em |
chore: backport robustness changes from bump/nightly-2026-04-27 |
See [#nightly-testing > nightly#213 adaptations for nightly-2026-04-27 @ 💬](https://leanprover.zulipchat.com/#narrow/channel/428973-nightly-testing/topic/nightly.23213.20adaptations.20for.20nightly-2026-04-27/near/591262169).
|
t-category-theory
delegated
|
91/26 |
Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Monoidal.lean,Mathlib/CategoryTheory/Bicategory/Coherence.lean,Mathlib/CategoryTheory/Limits/Shapes/ConcreteCategory.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean,Mathlib/CategoryTheory/Sites/DenseSubsite/OneHypercoverDense.lean,Mathlib/CategoryTheory/Sites/Hypercover/One.lean |
7 |
10 |
['github-actions', 'kim-em', 'mathlib-bors', 'riccardobrasca', 'robin-carlier'] |
joelriou assignee:joelriou |
15-30498 15 days ago |
15-30499 15 days ago |
11-49769 11 days |
| 38216 |
joelriou author:joelriou |
feat(AlgebraicTopology/SimplicialSet/KanComplex): MulStruct.assoc |
---
- [ ] depends on: #38665
- [ ] depends on: #38662
- [ ] depends on: #38664
- [x] depends on: #38172
- [x] depends on: #38367
- [x] depends on: #38063
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
WIP
large-import
blocked-by-other-PR
|
450/3 |
Mathlib/AlgebraicTopology/SimplicialSet/Boundary.lean,Mathlib/AlgebraicTopology/SimplicialSet/CategoryWithFibrations.lean,Mathlib/AlgebraicTopology/SimplicialSet/KanComplex.lean,Mathlib/AlgebraicTopology/SimplicialSet/KanComplex/MulStruct.lean,Mathlib/AlgebraicTopology/SimplicialSet/Op.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean |
6 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
15-17338 15 days ago |
36-77737 36 days ago |
0-1 1 second |
| 39115 |
chrisflav author:chrisflav |
feat(RingTheory): flat is stable under filtered colimits |
More precisely, we show that `ObjectProperty.ind ModuleCat.flat = ModuleCat.flat`.
From Proetale.
---
- [ ] depends on: #39114
- [ ] depends on: #39145
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-other-PR
|
193/0 |
Mathlib.lean,Mathlib/Algebra/Homology/ShortComplex/Exact.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Zero.lean,Mathlib/RingTheory/Flat/Ind.lean |
4 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
14-83560 14 days ago |
unknown |
0-0 0 seconds |
| 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 |
14-75603 14 days ago |
14-75603 14 days ago |
0-3921 1 hour |
| 38489 |
Jun2M author:Jun2M |
feat(Topology/Algebra/InfiniteSum): Generalize ENNReal lemmas |
This PR generalizes many theorems in Topology/Algebra/InfiniteSum/ENNReal.lean from `ENNREal` to any type that satisfies a list of order-related instances, mostly
`[CommMonoid α] [CompleteLattice α] [CanonicallyOrderedMul α] [TopologicalSpace α] [SupConvergenceClass α]`
Deprecation of the original `ENNReal` lemmas are done in the next PR: #38193.
Related Zulip thread: [#Is there code for X? > Summing `ENat`s without topology](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Summing.20.60ENat.60s.20without.20topology/with/588756615)
---
[](https://gitpod.io/from-referrer/)
|
|
261/3 |
Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/OuterMeasure/OfFunction.lean,Mathlib/Topology/Algebra/InfiniteSum/Basic.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean |
4 |
7 |
['Jun2M', 'SnirBroshi', 'github-actions', 'wwylele'] |
nobody |
14-72518 14 days ago |
14-72595 14 days ago |
30-62635 30 days |
| 37298 |
artie2000 author:artie2000 |
refactor(Algebra/Order): unbundle group and ring cone |
* Unbundle `GroupCone` and `RingCone` using `Submonoid.IsMulPointed`
The material in `Mathlib.Algebra.Group.Submonoid.Support` was created to treat uniformly
* positive cones in groups and rings
* pointed cones in vector spaces over an ordered field
* orderings in rings
This PR deprecates the [GroupCone](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Group/Cone.html#GroupCone) and [RingCone](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Ring/Cone.html#RingCone) structures, making use of the predicates `Submonoid.IsMulPointed` and `AddSubmonoid.IsPointed` defined in that file instead.
See also #36863 for the analogous change to ring orderings.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
label:t-algebra$ |
136/31 |
Mathlib/Algebra/Order/Group/Cone.lean,Mathlib/Algebra/Order/Ring/Cone.lean |
2 |
2 |
['github-actions', 'joneugster'] |
themathqueen assignee:themathqueen |
14-59912 14 days ago |
57-1356 57 days ago |
57-1906 57 days |
| 37712 |
eric-wieser author:eric-wieser |
feat: add a `LawfulXor` typeclass |
I've put this in mathlib since it can use `Function.Involutive`; it can of course be upstreamed at a later date.
Having this generalization encourages downstream code in cslib to be expressed in terms of involutive functions, rather than just `^^^` on bitvectors.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
130/0 |
Mathlib.lean,Mathlib/Data/LawfulXor.lean |
2 |
6 |
['eric-wieser', 'github-actions', 'linesthatinterlace'] |
joneugster assignee:joneugster |
14-59909 14 days ago |
19-60796 19 days ago |
26-53383 26 days |
| 37956 |
artie2000 author:artie2000 |
feat(Algebra/Polynomial): lemmas about polynomial degree |
* Add various small lemmas about polynomial degree
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
28/5 |
Mathlib/Algebra/Polynomial/Degree/Defs.lean,Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Monic.lean,MathlibTest/hintAll.lean |
5 |
7 |
['artie2000', 'github-actions', 'vihdzp'] |
kim-em assignee:kim-em |
14-59907 14 days ago |
43-1724 43 days ago |
43-3520 43 days |
| 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`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
|
75/1 |
Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/Localization/Module.lean |
3 |
2 |
['github-actions'] |
alreadydone assignee:alreadydone |
14-59893 14 days ago |
27-12642 27 days ago |
27-12637 27 days |
| 39107 |
SnirBroshi author:SnirBroshi |
feat(Geometry/Manifold/ChartedSpace): `H ≃ₜ M` → `ChartedSpace H M` |
---
I thought it was strange that `Homeomorph`s didn't have this easy dot-notation, though I'm not familiar with this part of the library so I might be missing something.
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry |
6/0 |
Mathlib/Geometry/Manifold/ChartedSpace.lean |
1 |
1 |
['github-actions'] |
PatrickMassot assignee:PatrickMassot |
14-59882 14 days ago |
16-38410 16 days ago |
16-38405 16 days |
| 39163 |
j-loreaux author:j-loreaux |
feat: `star` structures on `ContinuousLinearMapWOT` |
In particular, with these instances it makes sense to consider the `StarSubalgebra.topologicalClosure` of some `S : StarSubalgebra 𝕜 (F →WOT[𝕜] F)`.
---
- [ ] depends on: #37914
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR |
157/4 |
Mathlib.lean,Mathlib/Algebra/Star/Basic.lean,Mathlib/Algebra/Star/Pointwise.lean,Mathlib/Algebra/Star/TransferInstance.lean,Mathlib/Analysis/InnerProductSpace/WeakOperatorTopology.lean |
5 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
14-51286 14 days ago |
14-51286 14 days ago |
0-405 6 minutes |
| 38785 |
scholzhannah author:scholzhannah |
feat: use `alias_in` attribute for CW complexes |
Using the `alias_in` attribute for classical CW complexes to get rid of the `export` sections.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
103/58 |
Mathlib/Topology/CWComplex/Classical/Basic.lean,Mathlib/Topology/CWComplex/Classical/Finite.lean,Mathlib/Topology/CWComplex/Classical/Subcomplex.lean |
3 |
8 |
['github-actions', 'grunweg', 'scholzhannah'] |
grunweg, mcdoll, urkud assignee:urkud assignee:grunweg assignee:mcdoll |
14-35114 14 days ago |
17-35433 17 days ago |
24-23790 24 days |
| 39154 |
joelriou author:joelriou |
feat(CategoryTheory): the left derived functor commutes with the shift |
This dualized the result in #39117.
---
- [ ] depends on: #39117
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
blocked-by-other-PR
|
448/7 |
Mathlib.lean,Mathlib/CategoryTheory/Functor/Derived/LeftDerived.lean,Mathlib/CategoryTheory/Functor/Derived/LeftDerivedCommShift.lean,Mathlib/CategoryTheory/Functor/Derived/RightDerived.lean,Mathlib/CategoryTheory/Functor/Derived/RightDerivedCommShift.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Shift/CommShift.lean,Mathlib/CategoryTheory/Shift/Localization.lean |
8 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
14-32105 14 days ago |
14-77401 14 days ago |
0-1 1 second |
| 39190 |
tb65536 author:tb65536 |
chore(RingTheory/LocalRing/ResidueField/Fiber): namespace file |
This PR adds an `Ideal` namespace to `Fiber.lean` and adds a deprecation for one declaration that should be in this namespace.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
9/3 |
Mathlib/RingTheory/LocalRing/ResidueField/Fiber.lean |
1 |
1 |
['github-actions'] |
nobody |
14-29032 14 days ago |
14-29032 14 days ago |
14-29028 14 days |
| 33664 |
ooovi author:ooovi |
feat(Geometry/Convex/Cone/Pointed): face lattice of pointed cones |
- Define PointedCone.IsFaceOf, for a pointed cone being a face of another pointed cone.
- Prove some basic properties, that faces are extreme sets of their cone, and how they behave under intersection, map and product operations.
- Define `Face` by bundling the `IsFaceOf` structure, and show the complete lattice structure on it.
- Prove that taking the product of two faces is an order isomorphism.
Co-authored-by: Martin Winter
---
- [x] depends on: #33780 for the definition of the lineal space
- [ ] depends on: #39185 for `isFaceOf`
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry
blocked-by-other-PR
|
485/0 |
Mathlib.lean,Mathlib/Geometry/Convex/Cone/Face/Basic.lean,Mathlib/Geometry/Convex/Cone/Face/Lattice.lean |
3 |
200 |
['YaelDillies', 'eric-wieser', 'github-actions', 'martinwintermath', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'ooovi', 'vihdzp'] |
nobody |
14-27236 14 days ago |
40-10543 40 days ago |
5-78229 5 days |
| 39185 |
ooovi author:ooovi |
feat(Geometry/Convex/Cone/Pointed): faces of pointed cones |
- Define PointedCone.IsFaceOf, for a pointed cone being a face of another pointed cone.
- Prove some basic properties, that faces are extreme sets of their cone, and how they behave under intersection, map and product operations.
Co-authored-by: Martin Winter
---
split off of #33664
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry |
289/0 |
Mathlib.lean,Mathlib/Geometry/Convex/Cone/Face/Basic.lean |
2 |
4 |
['YaelDillies', 'github-actions', 'martinwintermath', 'mathlib-bors'] |
YaelDillies assignee:YaelDillies |
14-26895 14 days ago |
14-29505 14 days ago |
0-2659 44 minutes |
| 37631 |
linesthatinterlace author:linesthatinterlace |
feat: add `Function.{prod,diag,fstComp,sndComp,prodMap}` |
Adds `Mathlib/Logic/Function/Init.lean`, centralising a cluster of general-purpose function operations in the `Function` namespace:
- `Function.dcomp` (notation `∘'`) — dependent composition, moved here from `Mathlib/Logic/Function/Defs.lean`.
- `Function.prod` (notation `⋏`) — pointwise pair of two (possibly dependent) functions, `(f ▽ g) i = (f i, g i)`.
- `Function.fstComp` / `Function.sndComp` — the two components of a function valued in a product; inverse to `Function.prod`.
- `Function.diag` (notation `△`) — the diagonal `a ↦ (a, a)`.
- `Function.prodMap` — dot-notation alias for `Prod.map`; collapses to `Prod.map` under `simp` so existing API applies unchanged.
`Pi.prod` is removed in favour of `Function.prod` (which is itself the dependent version); a deprecated alias is provided.
The file depends only on `Mathlib.Init` (and `Batteries.Tactic.Alias` for the deprecated alias) so it can be upstreamed to Batteries / core without pulling mathlib dependencies.
- [x] depends on: #38963 |
t-logic
WIP
|
247/27 |
Mathlib.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Notation/Pi/Defs.lean,Mathlib/Algebra/Star/StarAlgHom.lean,Mathlib/Data/Fin/Tuple/Curry.lean,Mathlib/Logic/Function/Defs.lean,Mathlib/Logic/Function/Init.lean |
7 |
21 |
['SnirBroshi', 'eric-wieser', 'fpvandoorn', 'github-actions', 'grunweg', 'linesthatinterlace', 'mathlib-dependent-issues'] |
fpvandoorn assignee:fpvandoorn |
14-20867 14 days ago |
20-83789 20 days ago |
24-73399 24 days |
| 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.
---
[](https://gitpod.io/from-referrer/) |
t-analysis
new-contributor
|
259/0 |
Mathlib.lean,Mathlib/Analysis/Asymptotics/Subpolynomial.lean |
2 |
3 |
['github-actions'] |
nobody |
14-15161 14 days ago |
14-26122 14 days ago |
0-344 5 minutes |
| 35773 |
joelriou author:joelriou |
feat(Algebra/Category/ModuleCat): another approach to the module structure on stalks |
In this draft PR, we define the colimit of a presheaf of modules indexed by an initially small cofiltered category. We apply this to the definition of fiber functors on (pre)sheaves of modules. After showing that these fiber functors are monoidal, we may deduce that the category of sheaves of modules is monoidal when the site has enough points.
In particular, if `X` is a scheme, the category `X.Modules` of $$\mathcal O_X$$-Modules is monoidal. After some sorries are removed, we may obtain that the fullsubcategory of `X.Modules` consisting of quasi-coherent sheaves is also monoidal.
---
- [x] depends on: #37662
- [x] depends on: #37370
- [x] depends on: #37369
- [x] depends on: #36688
- [x] depends on: #36810
- [x] depends on: #36692
- [x] depends on: #36680
- [x] depends on: #36599
- [x] depends on: #36457
- [x] depends on: #36470
- [x] depends on: #35572
- [x] depends on: #35806
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
t-category-theory
large-import
label:t-algebra$ |
1126/4 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Adjunction.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/ColimitFunctorMonoidal.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Point.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/PushforwardLaxMonoidal.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/RestrictScalarsLaxMonoidal.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/FreeMonoidal.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Monoidal.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Point.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PushforwardContinuous.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/QuasicoherentMonoidal.lean,Mathlib/AlgebraicGeometry/Modules/Monoidal.lean,Mathlib/CategoryTheory/Monoidal/Preadditive.lean,Mathlib/CategoryTheory/Preadditive/AdditiveFunctor.lean,Mathlib/CategoryTheory/Sites/CoversTop/Basic.lean,Mathlib/CategoryTheory/Sites/IsSheafFor.lean |
19 |
9 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
14-14359 14 days ago |
89-803 89 days ago |
0-1 1 second |
| 39157 |
vihdzp author:vihdzp |
feat: `Nat.cast` commutes with addition |
---
[](https://gitpod.io/from-referrer/)
|
|
26/9 |
Mathlib/Data/Nat/Cast/Commute.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean |
2 |
2 |
['github-actions', 'plp127'] |
nobody |
14-13800 14 days ago |
14-75265 14 days ago |
14-75260 14 days |
| 39189 |
tb65536 author:tb65536 |
feat(RingTheory/RamificationInertia/Basic): ramification-inertia formula for finite flat extensions |
This PR proves the ramification-inertia formula for finite flat extensions.
---
- [ ] depends on: #38825
- [ ] depends on: #39094
- [ ] depends on: #39196
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
blocked-by-other-PR
label:t-algebra$ |
191/11 |
Mathlib.lean,Mathlib/FieldTheory/Galois/IsGaloisGroup.lean,Mathlib/RingTheory/Invariant/Basic.lean,Mathlib/RingTheory/RamificationInertia/Basic.lean,Mathlib/RingTheory/Spectrum/Prime/FreeLocus.lean |
5 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
14-11996 14 days ago |
14-27974 14 days ago |
0-2183 36 minutes |
| 37464 |
martinwintermath author:martinwintermath |
feat(Geometry/Convex/Cone): Minor additions to pointed cones |
Minor additions to pointed cones:
* `PointedCone.ofSubmodule_le_ofSubmodule` and `PointedCone.ofSubmodule_lt_ofSubmodule`. These are not made simp lemmas, instead the underlying `Submodule.restrictScalars_le` and `Submodule.restrictScalars_lt` have been changed into simp lemmas.
* `PointedCone.hull_le_span` as a short form of `Submodule.span_le_restrictScalars R≥0 R s`
Co-authored by: Artie Khovanov
---
In preparation of #36605.
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry
maintainer-merge
|
22/16 |
Mathlib/Algebra/Module/Submodule/RestrictScalars.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean |
2 |
24 |
['YaelDillies', 'artie2000', 'github-actions', 'justus-springer', 'martinwintermath', 'mathlib-merge-conflicts', 'ooovi', 'vihdzp'] |
nobody |
14-10996 14 days ago |
16-37808 16 days ago |
53-50828 53 days |
| 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
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
please-merge-master
awaiting-author
|
231/0 |
Mathlib/Data/Sigma/Order.lean,Mathlib/Order/OmegaCompletePartialOrder.lean |
2 |
29 |
['Vierkantor', 'YellPika', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
grunweg assignee:grunweg |
14-9913 14 days ago |
93-77564 93 days ago |
16-66871 16 days |
| 33611 |
urkud author:urkud |
feat(ImplicitFunction): add a parametric version |
---
I'm not sure if the supporting linear algebra lemmas are in the form we want to see them in Mathlib.
- [x] depends on: #33585
[](https://gitpod.io/from-referrer/)
|
t-analysis
awaiting-author
|
191/0 |
Mathlib.lean,Mathlib/Analysis/Calculus/FDeriv/Prod.lean,Mathlib/Analysis/Calculus/ImplicitFunction/Parametric.lean,Mathlib/LinearAlgebra/Prod.lean |
4 |
13 |
['PatrickMassot', 'github-actions', 'grunweg', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'urkud'] |
ADedecker assignee:ADedecker |
14-4512 14 days ago |
103-83451 103 days ago |
36-2785 36 days |
| 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.
---
[](https://gitpod.io/from-referrer/) |
t-combinatorics
new-contributor
LLM-generated
|
60/22 |
Mathlib/Combinatorics/SimpleGraph/Clique.lean |
1 |
3 |
['SnirBroshi', 'github-actions'] |
nobody |
13-80968 13 days ago |
14-2397 14 days ago |
0-389 6 minutes |
| 32608 |
PrParadoxy author:PrParadoxy |
feat(LinearAlgebra/PiTensorProduct): API for PiTensorProducts indexed by sets |
This PR addresses a TODO item in LinearAlgebra/PiTensorProduct.lean:
* API for the various ways ι can be split into subsets; connect this
with the binary tensor product
-- specifically by describing tensors of type ⨂ (i : S), M i, for S : Set ι.
Our primary motivation is to formalise the notion of "restricted tensor
products". This will be the content of a follow-up PR.
Beyond that, the Set API is natural in contexts where the index type has
an independent interpretation. An example is quantum physics, where ι
ranges over distinguishable degrees of freedom, and where its is common
practice to annotate objects by the set of indices they are defined on.
---
Stub file with preliminary definition of the restricted tensor product as a direct limit of tensors indexed by finite subsets of an index type:
https://github.com/PrParadoxy/mathlib4/blob/restricted-stub/Mathlib/LinearAlgebra/PiTensorProduct/Restricted.lean
---
- [x] depends on: #32598
[](https://gitpod.io/from-referrer/)
|
new-contributor
awaiting-zulip
t-algebra
WIP
label:t-algebra$ |
300/2 |
Mathlib.lean,Mathlib/LinearAlgebra/PiTensorProduct.lean,Mathlib/LinearAlgebra/PiTensorProduct/Set.lean |
3 |
31 |
['PrParadoxy', 'dagurtomas', 'eric-wieser', 'github-actions', 'goliath-klein', 'leanprover-radar', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
13-78147 13 days ago |
154-2469 154 days ago |
10-66980 10 days |
| 37625 |
slavanaprienko author:slavanaprienko |
feat(LinearAlgebra/Matrix/Charpoly): general coefficient formula as sum of principal minors |
This PR adds a general formula for the coefficients of `det(1 + X • M)` as sums of principal minors, generalizing the existing `coeff_det_one_add_X_smul_one` (k=1, trace) and `det_eq_sign_charpoly_coeff` (k=n, determinant). It also derives the corresponding formula for the coefficients of the characteristic polynomial via `charpolyRev`.
New results:
- `det_piecewise_one_eq_submatrix_det`: relates piecewise-with-identity to principal submatrix determinants
- `coeff_det_one_add_X_smul_eq_sum_minors`: the k-th coefficient of `det(1 + X • M)` equals the sum of k×k principal minors
- `charpoly_coeff_eq_sum_minors`: coefficients of the characteristic polynomial as signed sums of principal minors
--- |
t-algebra
new-contributor
ready-to-merge
label:t-algebra$ |
105/1 |
Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean |
1 |
28 |
['eric-wieser', 'github-actions', 'kim-em', 'mathlib-bors', 'slavanaprienko', 'wwylele'] |
nobody |
13-76406 13 days ago |
14-46581 14 days ago |
37-17965 37 days |
| 39219 |
WenrongZou author:WenrongZou |
feat(FieldTheory/Finite): add variant theorems for `expand_card` |
Add `MvPolynomial, MvPowerSeries, PowerSeries` version of `FiniteField.expand_card`, which is only for polynomial.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
label:t-algebra$ |
45/4 |
Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/FiniteField.lean,Mathlib/RingTheory/MvPolynomial/Expand.lean,Mathlib/RingTheory/MvPowerSeries/Expand.lean,Mathlib/RingTheory/PowerSeries/Expand.lean |
5 |
1 |
['github-actions'] |
nobody |
13-75587 13 days ago |
13-75628 13 days ago |
13-75855 13 days |
| 37399 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Paths): `IsPath` and `Nil` lemmas |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
10/3 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean |
2 |
8 |
['Rida-Hamadani', 'SnirBroshi', 'YaelDillies', 'github-actions'] |
YaelDillies assignee:YaelDillies |
13-73783 13 days ago |
55-53432 55 days ago |
55-53571 55 days |
| 34891 |
kim-em author:kim-em |
wip: ConvexSpace constructor from binary convex combinations |
|
t-algebra
large-import
merge-conflict
label:t-algebra$ |
3345/0 |
Mathlib/LinearAlgebra/ConvexSpace.lean |
1 |
4 |
['github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
13-72783 13 days ago |
34-32902 34 days ago |
0-459 7 minutes |
| 36863 |
artie2000 author:artie2000 |
refactor(Algebra/Order/Ring/Ordering): unbundle `RingPreordering` |
The current design for [RingPreordering](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Ring/Ordering/Defs.html#RingPreordering) ran into issues at PR #32077. This PR unbundles [RingPreordering](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Ring/Ordering/Defs.html#RingPreordering) into a class predicate on [Subsemiring](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Ring/Subsemiring/Defs.html#Subsemiring), generalising the material on supports as far as possible.
Zulip thread: https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Ring.20orderings.20-.20structure.20or.20predicate.3F/with/562594050
See #37298 for the analogous change to group and ring cones.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
label:t-algebra$ |
455/87 |
Mathlib.lean,Mathlib/Algebra/Order/Ring/Ordering/Basic.lean,Mathlib/Algebra/Order/Ring/Ordering/Defs.lean,Mathlib/Algebra/Ring/Subsemiring/Support.lean |
4 |
14 |
['artie2000', 'chrisflav', 'github-actions', 'mathlib-merge-conflicts'] |
eric-wieser assignee:eric-wieser |
13-72531 13 days ago |
13-72531 13 days ago |
56-27358 56 days |
| 37053 |
artie2000 author:artie2000 |
refactor(Analysis/Convex/Cone): use `PointedCone` in Riesz extension theorem |
Change the statement of the Riesz extension theorem to take a `PointedCone` rather than a `ConvexCone`.
This PR is part of a series replacing `ConvexCone` with `PointedCone`. https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Replacing.20.60ConvexCone.60.20with.20.60PointedCone.60/near/581184307
---
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry
maintainer-merge
merge-conflict
|
15/12 |
Mathlib/Analysis/Convex/Cone/Extension.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean |
2 |
9 |
['YaelDillies', 'artie2000', 'github-actions', 'mathlib-merge-conflicts', 'ocfnash'] |
nobody |
13-72409 13 days ago |
13-72410 13 days ago |
46-71615 46 days |
| 39049 |
thorimur author:thorimur |
bench: review |
Benching a modification to the overlapping instances linter before suggesting it...
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
715/43 |
Mathlib.lean,Mathlib/Algebra/Category/Ring/FilteredColimits.lean,Mathlib/Algebra/Module/DedekindDomain.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Algebra/Order/Invertible.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Star/StarRingHom.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/Convex/StdSimplex.lean,Mathlib/Analysis/Fourier/FiniteAbelian/Orthogonality.lean,Mathlib/Analysis/Normed/Field/Krasner.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/ConjSqrt.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/CategoryTheory/Localization/Predicate.lean,Mathlib/CategoryTheory/Monoidal/Closed/Cartesian.lean,Mathlib/CategoryTheory/MorphismProperty/OverAdjunction.lean,Mathlib/Control/Applicative.lean,Mathlib/Control/Functor.lean,Mathlib/FieldTheory/Normal/Defs.lean,Mathlib/GroupTheory/OreLocalization/Basic.lean,Mathlib/Init.lean,Mathlib/Lean/Elab/InfoTree.lean,Mathlib/LinearAlgebra/BilinearForm/Orthogonal.lean,Mathlib/LinearAlgebra/Eigenspace/Matrix.lean,Mathlib/LinearAlgebra/RootSystem/Finite/G2.lean,Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Lemmas.lean,Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean,Mathlib/Logic/Basic.lean,Mathlib/MeasureTheory/Measure/Haar/Unique.lean,Mathlib/NumberTheory/ClassNumber/Finite.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Embeddings.lean,Mathlib/NumberTheory/RamificationInertia/Galois.lean,Mathlib/RingTheory/ChainOfDivisors.lean,Mathlib/RingTheory/ClassGroup.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/DedekindDomain/Dvr.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/DedekindDomain/Instances.lean,Mathlib/RingTheory/DedekindDomain/IntegralClosure.lean,Mathlib/RingTheory/DedekindDomain/LinearDisjoint.lean,Mathlib/RingTheory/DiscreteValuationRing/TFAE.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/HahnSeries/Lex.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean,Mathlib/RingTheory/Ideal/Norm/RelNorm.lean,Mathlib/RingTheory/LocalRing/ResidueField/Instances.lean,Mathlib/RingTheory/NormalClosure.lean,Mathlib/RingTheory/Valuation/RankOne.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,Mathlib/Tactic/Linter/OverlappingInstances.lean,Mathlib/Tactic/Linter/UnusedInstancesInType.lean,Mathlib/Tactic/NormNum/Ineq.lean,Mathlib/Topology/Algebra/MulAction.lean,Mathlib/Topology/Algebra/Nonarchimedean/Completion.lean,Mathlib/Topology/Connected/PathConnected.lean,MathlibTest/OverlappingInstances.lean,MathlibTest/Subsingleton.lean,MathlibTest/Variable.lean,MathlibTest/WhitespaceLinter.lean,MathlibTest/congr.lean,MathlibTest/norm_num.lean |
64 |
6 |
['github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'thorimur'] |
nobody |
13-72377 13 days ago |
unknown |
0-0 0 seconds |
| 39128 |
joelriou author:joelriou |
feat(CategoryTheory): triangulated derived functors using derivability structures |
---
- [ ] depends on: #39126
- [ ] depends on: #39117
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
blocked-by-other-PR
merge-conflict
|
839/16 |
Mathlib.lean,Mathlib/CategoryTheory/Functor/Derived/LeftDerived.lean,Mathlib/CategoryTheory/Functor/Derived/LeftDerivedTriangulated.lean,Mathlib/CategoryTheory/Functor/Derived/RightDerived.lean,Mathlib/CategoryTheory/Functor/Derived/RightDerivedCommShift.lean,Mathlib/CategoryTheory/Functor/Derived/RightDerivedTriangulated.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/GuitartExact/KanExtension.lean,Mathlib/CategoryTheory/Localization/DerivabilityStructure/Derives.lean,Mathlib/CategoryTheory/Localization/DerivabilityStructure/DerivesTriangulated.lean,Mathlib/CategoryTheory/Localization/DerivabilityStructure/PointwiseLeftDerived.lean,Mathlib/CategoryTheory/Shift/CommShift.lean,Mathlib/CategoryTheory/Shift/Localization.lean |
13 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
13-72376 13 days ago |
15-73709 15 days ago |
0-1 1 second |
| 36605 |
martinwintermath author:martinwintermath |
feat(Geometry/Convex/Cone): Add lemmas about interaction of hull, span and negation |
Prove lemmas about the interaction of hull, span and negation.
Main additions:
* `PointedCone.toSubmodule` that produces a submodule with the same support given that `-C = C`. Also the corresponding `CanLift`
* `PointedCone.hull_neg_pair_eq_span_singleton` proving `hull R {-x, x} = R ∙ x` (simp lemma)
* `PointedCone.span_eq_hull_neg_sup_hull` proving `span R s = hull R (-s) ⊔ hull R s`
* `PointedCone.mem_span` proving `x ∈ span R C ↔ ∃ p, n ∈ C, x = p - n`
Considerations: there are several ways to express that a convex cone is a submodule:
* `-C = C`
* `-C ≤ C` or `C ≤ -C`
* `C = span R C`
* `C = C.lineal`
The consensus was that the the first option is the most direct way to express this property, which then allows to lift to a submodule.
Co-authored by: Olivia Röhrig, Kilian Rueß, Artie Khovanov
---
- [ ] depends on: #37464
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-convex-geometry
|
90/12 |
Mathlib/Geometry/Convex/Cone/Pointed.lean |
1 |
53 |
['artie2000', 'github-actions', 'martinwintermath', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
13-72330 13 days ago |
54-68452 54 days ago |
17-402 17 days |
| 37951 |
martinwintermath author:martinwintermath |
chore(Geometry/Convex/Cone): rework `PointedCone.dual` to take a cone as input in place of a set |
Rework `PointedCone.dual` to take as input a cone instead of a set. This is done to untangle the functionality of `PointedCone.dual` from `PointedCone.hull` and to align it with the signature of its submodule analogue `Submodule.orthogonalBilin` (partially, with proposed functionality from #34007). See also the discussion here: [#mathlib4 > Reorganizing bilinearity and orthogonality?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Reorganizing.20bilinearity.20and.20orthogonality.3F/with/583882414).
Main changes:
* change signature `dual (s : Set M)` to `dual (C : PointedCone R M)`.
* deprecate `dual_hull` since now obsolete in this form, instead add `mem_dual_hull` in addition to `mem_dual`.
* deprecate all of `dual_empty`, `dual_zero` and `dual_singleton_zero` in favor of only `dual_bot`.
* deprecate `dual_univ` in favor of `dual_top`.
* add notation `R ∙₊ x` in analogy to submodule version `R ∙ x`, for use in new lemma `dual_hull_singleton`.
* deprecate `dual_insert` since now obsolete (use `Submodule.span_insert` instead).
* deprecate `dual_union`, `dual_iUnion` and `dual_sUnion` in favor of `dual_sup`, `dual_sSup` and `dual_iSup`.
* remove `dual_sup` since now obsolete and name has been reused (see above).
* add `dual_sup_ker` and `dual_univ_eq_ker` to align with (proposed) submodule analogue for `Submodule.orthogonalBilin`.
* deprecate `dual_image` in favor of `dual_map`
* add `hull_eq` (cone version of `span_eq`) since used in `basis_coord_mem_dual`.
* adjust doc-strings
Numerous changes to other files have been necessary. The dual-variants for proper cones or inner product spaces have not yet been adapted to cone-inputs, though this should happen eventually. The definition of `DualFG` has been changed to "duals of `FG`-cones" instead of "duals of finite sets" (also getting rid of `Finset` as previously requested).
---
- [x] depends on: #37950
- [x] depends on: #37542
[](https://gitpod.io/from-referrer/)
|
|
227/128 |
Mathlib/Analysis/Convex/Cone/Dual.lean,Mathlib/Analysis/Convex/Cone/InnerDual.lean,Mathlib/Analysis/Convex/Cone/TensorProduct.lean,Mathlib/Geometry/Convex/Cone/Dual.lean,Mathlib/Geometry/Convex/Cone/DualFinite.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean,Mathlib/Geometry/Convex/Cone/TensorProduct.lean |
7 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
13-72068 13 days ago |
13-72107 13 days ago |
26-78230 26 days |
| 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
|
226/2 |
Mathlib/NumberTheory/Chebyshev.lean,Mathlib/NumberTheory/Primorial.lean |
2 |
53 |
['MichaelStollBayreuth', 'Parcly-Taxel', 'XC0R', 'github-actions', 'mathlib-merge-conflicts', 'wwylele'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
13-70152 13 days ago |
44-82255 44 days ago |
13-62238 13 days |
| 31580 |
grunweg author:grunweg |
feat: towards `ContMDiff` support in fun_prop |
Create a `find_model` tactic for solving `ModelWithCorners k E H` goals,
and a #find_model command to simplify testing it. (Both implementations are a bit hacky right now.)
next step: extend the tactic, test that it works well
then try to hook it up to fun_prop
---
- [x] depends on: #30463
[](https://gitpod.io/from-referrer/)
|
WIP
t-differential-geometry
merge-conflict
t-meta
|
1254/64 |
Mathlib/Geometry/Manifold/Instances/UnitsOfNormedAlgebra.lean,Mathlib/Geometry/Manifold/Notation.lean,Mathlib/Geometry/Manifold/TestFunPropM.lean,MathlibTest/DifferentialGeometry/Notation.lean,MathlibTest/DifferentialGeometry/NotationAdvanced.lean,mathlib-immersions |
6 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] |
nobody |
13-68898 13 days ago |
193-31593 193 days ago |
0-1 1 second |
| 36922 |
SnirBroshi author:SnirBroshi |
feat(Data/List/Chain): generalize `WellFounded.asymmetric₃` to chains |
The existing `WellFounded.asymmetric` shows `r a b → ¬r b a`,
and `WellFounded.asymmetric₃` shows `r a b → r b c → ¬r c a`.
This adds `WellFounded.asymmetricₙ` which shows `l.IsChain r → ¬r l.getLast l.head`.
---
Also adds a couple of `IsChain` lemmas which might be useful.
[](https://gitpod.io/from-referrer/)
|
t-data |
29/8 |
Mathlib/Data/List/Chain.lean |
1 |
4 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
eric-wieser assignee:eric-wieser |
13-60293 13 days ago |
61-14795 61 days ago |
65-50866 65 days |
| 38548 |
adomasbaliuka author:adomasbaliuka |
feat(Algebra/Ring/BooleanRing): definitional lemmas for `Bool` ring operations |
Mathlib defines a ring structure on `Bool` but is missing definitional lemmas for the arithmetic operations.
---
Discussed on Zulip ([#Is there code for X? > `Bool.xor` same as `+` @ 💬](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/.60Bool.2Exor.60.20same.20as.20.60.2B.60/near/590927417)), in particular, it's not immediately intuitive to everyone what the operations do.
Note that the parentheses around `^^` and `&&` are needed due to operator precedence w.r.t. `=`, see also https://github.com/leanprover-community/mathlib4/pull/38539.
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
12/0 |
Mathlib/Algebra/Ring/BooleanRing.lean |
1 |
1 |
['github-actions'] |
ocfnash assignee:ocfnash |
13-60289 13 days ago |
29-13353 29 days ago |
29-13348 29 days |
| 38622 |
mariainesdff author:mariainesdff |
feat(RingTheory/PowerSeries/ExponentialModule): add exponential module |
Let `R` be a commutative ring. The exponential module of `R` is the set of all power series
`f : R⟦X⟧` that are of exponential type : `f (X + Y) = f X * f Y` where `X` and `Y` are two
indeterminates. It is an abelian group under multiplication, and an `R`-module under rescaling.
Co-authored by: @AntoineChambert-Loir
---
- [ ] depends on: #38615
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
425/0 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Finsupp/Fin.lean,Mathlib/Data/Nat/Choose/Sum.lean,Mathlib/RingTheory/PowerSeries/ExponentialModule.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean |
5 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
alreadydone assignee:alreadydone |
13-60288 13 days ago |
26-15616 26 days ago |
26-16708 26 days |
| 38707 |
tb65536 author:tb65536 |
feat(Algebra/Polynomial/Lifts): add `natDegree` verison of `exists_natDegree_eq_of_mem_lifts` |
This PR adds a `natDegree` version of `exists_degree_eq_of_mem_lifts`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
4/0 |
Mathlib/Algebra/Polynomial/Lifts.lean |
1 |
1 |
['github-actions'] |
alreadydone assignee:alreadydone |
13-60287 13 days ago |
26-18691 26 days ago |
26-18687 26 days |
| 39011 |
Vierkantor author:Vierkantor |
chore(Algebra/Polynomial/Module): workaround for backward.inferInstanceAs |
This PR, like #38990, works around a `backward.inferInstanceAs` compatibility flag introduced by identifying `PolynomialModule` with `Finsupp` in our definitions. We introduce a new dsimp lemma `funLike_eq` that transfers the `FunLike` instances, and now we can use `PolynomialModule`'s `FunLike` instance, instead of the custom `CoeFun` instance.
This is not a great approach, but it seems the least painful for the short term. The alternative would be to strictly enforce the defeq barrier between `PolynomialModule` and `Finsupp`, which would mean a substantial rewrite of this corner of Mathlib. We can't make `PolynomialModule` an `@[implicit_reducible]`, because we need different multiplication on it than `Finsupp` has.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
tech debt
label:t-algebra$ |
8/5 |
Mathlib/Algebra/Polynomial/Module/Basic.lean |
1 |
1 |
['github-actions'] |
jcommelin assignee:jcommelin |
13-60276 13 days ago |
19-2827 19 days ago |
19-2822 19 days |
| 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
|
27/0 |
Mathlib/Topology/PartitionOfUnity.lean |
1 |
2 |
['github-actions'] |
urkud assignee:urkud |
13-60269 13 days ago |
14-56190 14 days ago |
14-56185 14 days |
| 36559 |
faenuccio author:faenuccio |
feat(Analysis/Convex/Uniform): uniformly convex spaces using filters |
This PR adds an equivalent formulation for a space being uniformly convex using filters.
Co-authored-by: Aristotle (Harmonic) |
WIP
t-analysis
|
205/2 |
Mathlib/Analysis/Convex/Uniform.lean |
1 |
1 |
['github-actions'] |
faenuccio assignee:faenuccio |
13-54627 13 days ago |
73-78380 73 days ago |
0-20 20 seconds |
| 39232 |
jerwaynejones author:jerwaynejones |
feat(Analysis/Complex): residue theorem for rectangular contours |
Adds `Mathlib/Analysis/Complex/RectangleResidue.lean` (644 LoC), filling the gap between Cauchy–Goursat for rectangles (`Complex.integral_boundary_rect_eq_zero_of_differentiable_on_off_countable`) and the Cauchy integral formula for circles. The file proves the residue formula for rectangular boundary integrals together with a rotated principal log branch needed to evaluate the left-edge integral that crosses the standard cut.
## Why
Mathlib has Cauchy–Goursat for rectangles and the Cauchy integral formula for circles, but no residue theorem for rectangular contours. This file fills that gap. It was extracted from a downstream Lean 4 formalization project (a conditional proof of Goldbach's conjecture, where contour shifting on rectangles arises naturally in Perron's formula).
## Main results
- **`Complex.hasDerivAt_log_neg`** — the rotated logarithm `log_neg z := log (-z) + I * π` has derivative `z⁻¹` on the rotated slit plane `{z | -z ∈ slitPlane}` (cut on the positive real axis).
- **`Complex.boundaryIntegral_inv_sub_eq_two_pi_I`** — for `ρ` strictly inside the rectangle `[z, w]`, `∮_{∂[z,w]} (s − ρ)⁻¹ ds = 2πi`.
- **`Complex.boundaryIntegral_eq_residue_sum`** — parametric residue theorem for a sum of simple poles plus a holomorphic remainder, packaged as `Complex.RectangleResidueData`.
- **`Complex.boundaryIntegral_single_pole`** — the one-pole specialization.
## Structure
The development proceeds in five stages:
1. A notation `Complex.boundaryIntegral` for the oriented boundary integral over `[z, w]`, with a Cauchy–Goursat wrapper and additivity/scaling lemmas.
2. A rotated principal logarithm `Complex.log_neg z := log (-z) + I * π` with cut on the *positive* real axis, plus its derivative and corner-comparison identities with the standard `Complex.log`.
3. Explicit FTC-based evaluations of the four edge integrals of `(s − ρ)⁻¹`.
4. A closed-form residue boundary integral `∮_{∂[z,w]} (s − ρ)⁻¹ ds = 2πi` for `ρ` strictly inside the rectangle.
5. A parametric residue theorem for sums of simple poles plus a holomorphic remainder, packaged as `Complex.RectangleResidueData`.
## References
- L. Ahlfors, *Complex Analysis* (3rd ed.), §4.5.
- E. Stein and R. Shakarchi, *Complex Analysis*, Ch. 2 §3 Thm 3.1.
## Status
Draft while CI verifies the build against current `master` — the file was developed against `v4.28.0` and cherry-picked forward 2942 commits, so import surface changes are possible. Once CI is green I will flip to ready-for-review.
🤖 Generated with [Claude Code](https://claude.com/claude-code) |
t-analysis
new-contributor
|
644/0 |
Mathlib.lean,Mathlib/Analysis/Complex/RectangleResidue.lean |
2 |
2 |
['github-actions'] |
nobody |
13-41622 13 days ago |
unknown |
0-0 0 seconds |
| 28013 |
astrainfinita author:astrainfinita |
feat: Lindemann-Weierstrass Theorem |
This PR continues the work from #6718.
--------
- [x] depends on: #18693
- [x] depends on: #29121
- [x] depends on: #36762
- [x] depends on: #37797
- [x] depends on: #37811 |
t-algebra
t-analysis
awaiting-author
label:t-algebra$ |
1076/64 |
Mathlib.lean,Mathlib/Algebra/MonoidAlgebra/MapDomain.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/Data/Finsupp/Quotient.lean,Mathlib/NumberTheory/Transcendental/Lindemann/AlgebraicPart.lean,Mathlib/NumberTheory/Transcendental/Lindemann/AnalyticalPart.lean,Mathlib/NumberTheory/Transcendental/Lindemann/Basic.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/Eval.lean,docs/100.yaml,docs/1000.yaml |
10 |
33 |
['astrainfinita', 'github-actions', 'grunweg', 'j-loreaux', 'jcommelin', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib-splicebot', 'mathlib4-merge-conflict-bot'] |
nobody |
13-30654 13 days ago |
189-73131 189 days ago |
3-86310 3 days |
| 39239 |
alainchmt author:alainchmt |
feat(FieldTheory/Finite): irreducible polynomial divides X^q^n - X iff degree divides n |
---
Add the theorem saying that, for an irreducible polynomial `f` over a finite field `K`, the degree of `f` divides `n` if and only if `f` divides `X ^ (Nat.card K) ^ n - X`. Include auxiliary lemmas.
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
34/0 |
Mathlib/FieldTheory/Finite/Extension.lean,Mathlib/FieldTheory/Minpoly/Field.lean |
2 |
2 |
['github-actions'] |
nobody |
13-29442 13 days ago |
13-29531 13 days ago |
13-29526 13 days |
| 39248 |
grunweg author:grunweg |
dev: lint modules with just one exposed def, to manually inspect |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-meta
|
50/9 |
Mathlib/CategoryTheory/MarkovCategory/Positive.lean,Mathlib/Tactic/Linter/PrivateModule.lean,MathlibTest/PrivateModuleLinter/hasOnlyPrivateNoDefs.lean |
3 |
2 |
['github-actions'] |
nobody |
13-24446 13 days ago |
13-24523 13 days ago |
0-8 8 seconds |
| 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
|
187/0 |
Mathlib.lean,Mathlib/Probability/Distance/TotalVariation.lean |
2 |
4 |
['allenhaozhu', 'github-actions', 'grunweg'] |
nobody |
13-21046 13 days ago |
14-30680 14 days ago |
0-2707 45 minutes |
| 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 |
13-21045 13 days ago |
14-30688 14 days ago |
0-2698 44 minutes |
| 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 |
13-21043 13 days ago |
14-30773 14 days ago |
0-2608 43 minutes |
| 39195 |
linesthatinterlace author:linesthatinterlace |
feat(Logic/Function/Defs): Add dcomp lemmas |
This PR adds API lemmas about `dcomp` that were previously missing.
---
[](https://gitpod.io/from-referrer/)
|
t-logic |
13/0 |
Mathlib/Logic/Function/Defs.lean |
1 |
6 |
['github-actions', 'linesthatinterlace', 'plp127'] |
nobody |
13-18701 13 days ago |
14-20200 14 days ago |
14-20195 14 days |
| 38909 |
CBirkbeck author:CBirkbeck |
feat(RingTheory/MvPolynomial/WeightedHomogeneous): sub, eq_zero_of_no_monomials, eq_monomial_of_unique_weight |
Adds three weighted-homogeneous API lemmas extracted from #38813 to keep that PR reviewable: `IsWeightedHomogeneous.sub`, `eq_zero_of_no_monomials`, `eq_monomial_of_unique_weight`. |
LLM-generated |
25/0 |
Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean |
1 |
1 |
['github-actions'] |
nobody |
13-13134 13 days ago |
unknown |
0-0 0 seconds |
| 25427 |
Paul-Lez author:Paul-Lez |
feat(Analysis/Calculus/PartialDerivatives): Propose notation for partial derivatives. |
This PR introduces a notation for partial derivatives, taken with respect to a canonical basis. The idea here is that this might be useful for e.g. writing down PDEs. The notation allows use to write things like
```lean
-- The canonical basis for `ℝ × ℝ` is indexed by `Fin 0` so `∂₀[ℝ]` corresponds to taking
-- the first partial derivative
example : (∂₀[ℝ] fun (x : ℝ × ℝ) => x.1) 0 = 1 := by
simp [Pi.zero_def, lineDeriv]
```
This has already been discussed on Zulip [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Partial.20derivatives).
I've opened this PR as a draft in order to get preliminary feedback on the contents (e.g. is this appropriate for Mathlib?); the file contains some demos of the notation in action.
Co-authored-by: Eric Wieser
---
- [ ] depends on: #25425
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
|
195/0 |
Mathlib.lean,Mathlib/Analysis/Calculus/PartialDerivatives/Notation.lean,Mathlib/LinearAlgebra/Basis/HasCanonicalBasis.lean |
3 |
16 |
['Paul-Lez', 'github-actions', 'leanprover-community-bot-assistant', 'lecopivo', 'mathlib-dependent-issues', 'ocfnash'] |
nobody |
13-12716 13 days ago |
unknown |
0-0 0 seconds |
| 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 |
8 |
['Rosario-Leonardi-CT', 'github-actions', 'wwylele'] |
j-loreaux assignee:j-loreaux |
13-6041 13 days ago |
16-86259 16 days ago |
5-6447 5 days |
| 35672 |
dennj author:dennj |
feat(RingTheory/Polynomial/Cyclotomic): vanishing sums and fiber equidistribution at primitive roots |
## Summary
Building on `sum_eq_zero_iff_forall_eq` from #34592, this PR adds:
- cyclotomic_dvd_of_aeval_eq_zero, exists_int_smul_cyclotomic_of_natDegree_le_totient — integer polynomials vanishing at a primitive n-th root are divisible by cyclotomic n ℤ, and (for degree ≤ φ(n)) integer multiples of it.
- sum_eq_zero_iff_forall_eq and its ℤ / ZMod p variants — vanishing iff all coefficients equal.
- sum_fiber_eq_sum_fiber_of_sum_weighted_pow_eq_zero, card_fiber_eq_card_div_of_sum_pow_eq_zero — fiber equidistribution.
- cyclotomic_prime_coeff — the formula (cyclotomic p R).coeff i = if i < p then 1 else 0, generalising existing coeff_zero/coeff_one lemmas.
-
References: [deLauneyFlannery2011, Lemma 2.8.5] (underlying ℚ/ℕ fact) and [armario2024, Lemma 7 and Theorem 3] (ℤ statement and the fiber-counting application).
Theorems imported from: https://github.com/Latinum-Agentic-Commerce/AlgebraicDesignTheory
Human made PR with LLM used for documentation and proof golfing |
t-ring-theory
new-contributor
LLM-generated
|
128/2 |
Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Roots.lean,docs/references.bib |
3 |
6 |
['dennj', 'github-actions', 'grunweg', 'ocfnash'] |
ocfnash assignee:ocfnash |
13-2024 13 days ago |
19-78765 19 days ago |
38-6470 38 days |
| 18551 |
joelriou author:joelriou |
feat(AlgebraicGeometry): the algebraic De Rham complex |
If `B` is an `A`-algebra, we construct the algebraic De Rham complex of `B` over `A`: it is a cochain complex of `A`-modules.
---
- [ ] depends on: #18735
- [ ] depends on: #18662
- [ ] depends on: #26464
- [ ] depends on: #26465
- [x] depends on: #18534
- [x] depends on: #18440
- [x] depends on: #18432
- [x] depends on: #18408
- [x] depends on: #18389
- [x] depends on: #18374
- [x] depends on: #18359
- [x] depends on: #18332
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
blocked-by-other-PR
merge-conflict
t-algebraic-geometry
label:t-algebra$ |
2836/156 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ExteriorPower.lean,Mathlib/Algebra/Module/Presentation/Basic.lean,Mathlib/Algebra/Module/Presentation/Cokernel.lean,Mathlib/Algebra/Module/Presentation/Differentials.lean,Mathlib/Algebra/Module/Presentation/DirectSum.lean,Mathlib/Algebra/Module/Presentation/ExteriorPower.lean,Mathlib/Algebra/Module/Presentation/PiTensor.lean,Mathlib/Algebra/Module/Presentation/RestrictScalars.lean,Mathlib/Algebra/Module/Presentation/Tensor.lean,Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Sum/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Generators.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Multilinear/TensorProduct.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Finite.lean,Mathlib/LinearAlgebra/PiTensorProduct/Generators.lean,Mathlib/LinearAlgebra/Span.lean,Mathlib/LinearAlgebra/TensorPower.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/RingTheory/DeRham/Basic.lean,Mathlib/RingTheory/PiTensorProduct.lean |
26 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
13-1913 13 days ago |
unknown |
0-0 0 seconds |
| 27392 |
Paul-Lez author:Paul-Lez |
feat(Tactic/SimpUtils): add simproc finding commands |
This PR adds some commands to allow users to find simprocs/dsimprocs/simp theorems that match on a given pattern.
Thanks to Robin Arnez for telling me about `simprocDeclExt` :)
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
|
173/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/SimpUtils.lean,MathlibTest/SimpUtils.lean |
4 |
14 |
['Paul-Lez', 'Vierkantor', 'eric-wieser', 'github-actions', 'kmill', 'mathlib4-merge-conflict-bot'] |
nobody |
12-84868 12 days ago |
305-17795 305 days ago |
0-5960 1 hour |
| 34288 |
winstonyin author:winstonyin |
feat: Integral curve is smooth in initial condition |
I prove the local smoothness theorem for integral curves of ODEs on Banach spaces with respect to the initial condition. Serge Lang's _Fundamentals of Differential Geometry_ gives two proofs (Theorem 1.11). The first one is based on Grönwall's inequality. The second one (p. 81 onwards) is based on the implicit function theorem, found by Pugh and Robbin 1968. I've chosen to formalise the second, even though it may be more involved. I wanted to do this as a challenge, and because the second proof also applies to $H^k$ vector fields (Ebin and Marsden 1970), which are not yet in Mathlib.
I am open to splitting this up into several smaller PRs.
## Statement
Let $f : E \to E$ be a vector field that is $C^n$ at $x_0 : E$ with $n \geq 1$. There exists a neighbourhood $U$ of $x_0$ and time interval $[t_{\mathrm{min}},t_{\mathrm{max}}]$ containing $t_0$ such that for every $x \in U$, there exists an integral curve $\alpha_x : C([t_{\mathrm{min}},t_{\mathrm{max}}], E)$ of $f$ with initial condition $\alpha_x(t_0) = x$, and that $x \mapsto \alpha_x$ is $C^n$.
Note that this is not the full smoothness theorem for local flows, which states that the local flow $\alpha : [t_{\mathrm{min}},t_{\mathrm{max}}] \times U \to E$ is $C^n$ at $(t_0, x_0)$. We will prove this in a series of future PRs.
## Proof strategy
* Define implicit equation $T_f : E \times C([t_{\mathrm{min}},t_{\mathrm{max}}],E) \to C([t_{\mathrm{min}},t_{\mathrm{max}}],E)$ so that $T(x,\alpha) = 0$ implies that $\alpha$ is an integral curve of $f$ with initial condition $x$.
* Prove implicit equation is $C^n$ if $f$ is $C^n$.
* Prove $\partial_\alpha T_f$ is invertible for some choice of $[t_{\mathrm{min}},t_{\mathrm{max}}]$.
* Extract the local flow $(x : E) \mapsto (\alpha_x : C([t_{\mathrm{min}},t_{\mathrm{max}}],E))$ as the implicit function of $T_f$ around a known integral curve.
* Conclude that $x \mapsto \alpha_x$ is $C^n$.
## For reviewers
* Where should `Set.Icc.abs_sub_le` go?
* Some proofs (marked with TODO) can be shortened after #34120, but I don't want it to be blocking.
- [x] depends on: #34860
- [x] depends on: #34861
- [x] depends on: #34862
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
awaiting-author
|
863/0 |
Mathlib.lean,Mathlib/Analysis/ODE/SmoothFlow.lean,Mathlib/Topology/MetricSpace/Pseudo/Lemmas.lean |
3 |
8 |
['github-actions', 'idontgetoutmuch', 'j-loreaux', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
j-loreaux assignee:j-loreaux |
12-72628 12 days ago |
76-7513 76 days ago |
14-50302 14 days |
| 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
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry |
138/61 |
Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/Order/Filter/Prod.lean |
3 |
7 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'ocfnash', 'winstonyin'] |
ocfnash assignee:ocfnash |
12-72253 12 days ago |
12-72253 12 days ago |
20-49054 20 days |
| 39230 |
bryangingechen author:bryangingechen |
chore: extract API from #38807 and golf |
I wanted to understand why these two proofs in #38807 were long (and also play around more with the API in this corner of the library) so I walked through them with Claude Opus.
prepared with Claude code
|
t-order
LLM-generated
|
23/37 |
Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/DirSupClosed.lean |
2 |
2 |
['github-actions', 'vihdzp'] |
nobody |
12-69464 12 days ago |
13-57700 13 days ago |
13-57695 13 days |
| 32305 |
faenuccio author:faenuccio |
feat: define Sobolev Spaces |
Nothing to see yet.
---
- [x] depends on: #32250
- [x] depends on: #31809
- [ ] depends on: #39217
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-analysis
large-import
|
2487/53 |
Mathlib.lean,Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/Distribution/Distribution.lean,Mathlib/Analysis/Distribution/TestFunction.lean,Mathlib/Analysis/Distribution/WeakDeriv.lean,Mathlib/Analysis/FunctionalSpaces/Sobolev/Basic.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean |
7 |
8 |
['ADedecker', 'faenuccio', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] |
nobody |
12-65835 12 days ago |
175-17750 175 days ago |
0-2 2 seconds |
| 38918 |
yuanyi-350 author:yuanyi-350 |
chore(CategoryTheory/Groupoid/FreeGroupoid): remove an erw |
- rewrites `lift` by simplifying the quotient-lift compatibility condition with `simp only`
- replaces the remaining `erw` chain with a direct rewrite through `Quiver.symmetrify_reverse` and `Groupoid.reverse_eq_inv`
Extracted from #38415
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
awaiting-author
|
5/3 |
Mathlib/CategoryTheory/Groupoid/FreeGroupoid.lean |
1 |
2 |
['github-actions', 'loefflerd'] |
nobody |
12-59779 12 days ago |
12-59779 12 days ago |
8-51714 8 days |
| 35415 |
joneugster author:joneugster |
feat(Cache): enable partial cache in downstream projects |
Migrated to fork from: #21238.
Enable partial cache retrieval in downstream projects: `lake exe cache get MyProject.Basic` downloads only the relevant cache to build `MyProject/Basic.lean`
---
### Notes:
- replaces: #21195
- should address: #8767
- should address: #20568
### Completed:
- [x] depends on: #21632
- [x] ~~depends on: #21663~~
- [x] depends on: #21666
- [x] depends on: #21701
- [x] depends on: #21703
- [x] depends on: #21704
- [x] depends on: #21705
- [x] depends on: #21707
- [x] depends on: #21711
- [x] depends on: #21750
- [x] depends on: #21815
- [x] depends on: #21816
- [x] depends on: #21817
- [x] depends on: #21818
- [x] depends on: #21822
- [x] depends on: #21830
- [x] depends on: #21848
- [x] depends on: #21834
[](https://gitpod.io/from-referrer/)
|
CI
t-meta
awaiting-author
|
27/15 |
Cache/Hashing.lean,Cache/IO.lean,Cache/Main.lean |
3 |
5 |
['github-actions', 'kim-em', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
12-38425 12 days ago |
20-47937 20 days ago |
44-79297 44 days |
| 31187 |
loefflerd author:loefflerd |
feat(NumberTheory/LSeries): Define the L-series of a modular form |
Define the L-function of a modular form (showing it is meromorphic on C and agrees with the naive Dirichlet series for `re s` large).
---
- [x] depends on: #30089 |
WIP
t-number-theory
|
237/28 |
Mathlib.lean,Mathlib/NumberTheory/LSeries/AbstractFuncEq.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaOdd.lean,Mathlib/NumberTheory/ModularForms/LFunction.lean |
4 |
8 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
12-37948 12 days ago |
204-8565 204 days ago |
0-1 1 second |
| 39282 |
Sfgangloff author:Sfgangloff |
feat(SymbolicDynamics): add union morphism lemma for LanguageOn |
In symbolic dynamics.
This PR proves that taking the language over a finite shape commutes with unions of configuration sets:
$LanguageOn (X \cup Y) U = LanguageOn X U \cup LanguageOn Y U$
The proof is a direct unfolding of definitions: a pattern in the language of $X \cup Y$ comes from restricting a configuration $x ∈ X \cup Y$, and splitting on whether $x \in X$ or $x \in Y$ yields the corresponding inclusion in either $LanguageOn X U$ or $LanguageOn Y U$. The converse direction rebuilds a witness in $X \cup Y$ from either side of the union.
Related to issue #39252 |
t-dynamics
new-contributor
|
15/1 |
Mathlib/Dynamics/SymbolicDynamics/Basic.lean |
1 |
2 |
['github-actions'] |
nobody |
12-37366 12 days ago |
12-37451 12 days ago |
12-37446 12 days |
| 38071 |
JovanGerb author:JovanGerb |
feat(Convert): less aggressive congruence |
This PR tries to make `convert` behave more predictably, disabling some of the aggressive congruence steps that `congr!` does.
---
[](https://gitpod.io/from-referrer/)
|
t-meta
merge-conflict
|
14/8 |
Mathlib/Data/Fin/Tuple/Basic.lean,Mathlib/Data/List/Perm/Basic.lean,Mathlib/Tactic/Convert.lean |
3 |
3 |
['Vierkantor', 'github-actions', 'mathlib-merge-conflicts'] |
Vierkantor assignee:Vierkantor |
12-32327 12 days ago |
39-75290 39 days ago |
0-4044 1 hour |
| 36202 |
vihdzp author:vihdzp |
feat: more theorems on the Cantor normal form |
We also remove some redundant assumptions.
Used in the CGT repo.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
68/17 |
Mathlib/SetTheory/Ordinal/CantorNormalForm.lean |
1 |
21 |
['SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
YaelDillies assignee:YaelDillies |
12-31386 12 days ago |
61-30935 61 days ago |
80-22891 80 days |
| 39294 |
Sfgangloff author:Sfgangloff |
feat(SymbolicDynamics): prove LanguageOn monotonicity under intersection |
In symbolic dynamics.
This PR proves that taking the language over a finite shape is monotone with respect to intersections of configuration sets:
```math
\mathrm{LanguageOn}(X \cap Y)\, U
\subseteq
\mathrm{LanguageOn}\, X\, U \cap \mathrm{LanguageOn}\, Y\, U
```
The proof is a direct unfolding of definitions: a pattern in the language of `X ∩ Y` comes from restricting a configuration `x ∈ X ∩ Y`. Since such an `x` belongs simultaneously to `X` and `Y`, the same restriction witness gives membership both in `LanguageOn X U` and in `LanguageOn Y U`, yielding membership in their intersection.
Related to issue #39252 |
t-dynamics
new-contributor
|
9/1 |
Mathlib/Dynamics/SymbolicDynamics/Basic.lean |
1 |
2 |
['github-actions'] |
nobody |
12-28572 12 days ago |
12-28655 12 days ago |
12-28650 12 days |
| 36388 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/AdjMatrix): submatrices and homomorphisms |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
73/3 |
Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean |
1 |
19 |
['SnirBroshi', 'YaelDillies', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'themathqueen'] |
nobody |
12-23267 12 days ago |
12-59845 12 days ago |
42-10395 42 days |
| 31176 |
mcdoll author:mcdoll |
feat(Analysis): Taylor's theorem with the integral remainder |
Prove Taylor's theorem with the integral remainder in higher dimensions.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
awaiting-author
|
145/1 |
Mathlib.lean,Mathlib/Analysis/Calculus/TaylorIntegral.lean,docs/100.yaml,docs/undergrad.yaml |
4 |
10 |
['github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'mcdoll', 'sgouezel'] |
j-loreaux assignee:j-loreaux |
12-21946 12 days ago |
12-21946 12 days ago |
42-57557 42 days |
| 39158 |
SnirBroshi author:SnirBroshi |
feat(LinearAlgebra/Matrix/Rank): generalize `Matrix.rank`/`LinearMap.rank` to semirings |
- Generalize `Matrix.rank` from `CommRing` to `CommSemiring`
- Generalize `LinearMap.rank` from `AddCommGroup`s over `Ring`s to `AddCommMonoid`s over `Semiring`s (which are the minimum requirements for `Module`)
- Many `Matrix.rank` theorems now require `StrongRankCondition` explicitly (which `CommRing` used to provide)
- `Matrix.cRank` theorems don't need commutativity
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
58/64 |
Mathlib/LinearAlgebra/Dimension/LinearMap.lean,Mathlib/LinearAlgebra/Matrix/Rank.lean |
2 |
1 |
['github-actions'] |
nobody |
12-16976 12 days ago |
14-70859 14 days ago |
14-70854 14 days |
| 38762 |
yuanyi-350 author:yuanyi-350 |
chore(AlgebraicGeometry/EllipticCurve/Projective/Point): remove erws |
- rewrites `neg_of_Z_ne_zero` by splitting the `Fin 3` equality and closing the coordinates with `rw`
- rewrites `addXYZ_neg` with `rw` followed by `simp`
Extracted from #38415
[](https://gitpod.io/from-referrer/) |
codex
t-algebraic-geometry
LLM-generated
awaiting-author
|
6/3 |
Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Point.lean |
1 |
4 |
['dagurtomas', 'github-actions'] |
dagurtomas assignee:dagurtomas |
12-16153 12 days ago |
12-16153 12 days ago |
12-86367 12 days |
| 38725 |
yuanyi-350 author:yuanyi-350 |
chore(AlgebraicGeometry/ProjectiveSpectrum): remove `erw`s |
- folds the `erw` steps in `isSeparated` into the surrounding `simp only` rewrites, including `affineOpenCover_f`
Extracted from #38415
[](https://gitpod.io/from-referrer/) |
t-algebraic-geometry
awaiting-author
|
9/12 |
Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Proper.lean |
1 |
3 |
['dagurtomas', 'github-actions'] |
dagurtomas assignee:dagurtomas |
12-16116 12 days ago |
12-16116 12 days ago |
13-3096 13 days |
| 38583 |
kim-em author:kim-em |
feat(LinearAlgebra/Matrix/GeneralLinearGroup): polynomial functions on matrices over an infinite field are determined by their values on GL |
This PR adds `MvPolynomial.eq_of_eval_eq_on_gl`: two polynomials in `MvPolynomial (m × m) k` over an infinite field `k` are equal whenever their evaluations agree at every invertible matrix.
The proof multiplies by the generic determinant `det (Matrix.mvPolynomialX m m k)` so that `MvPolynomial.funext` applies (covering both invertible and non-invertible specializations of the variables), then divides by it (it is nonzero by `Matrix.det_mvPolynomialX_ne_zero`) using that the polynomial ring is an integral domain.
The lemma is useful when reasoning about polynomial representations of `GL n k`, where natural identities are easiest to check on `GL n k` itself but the final statement lives at the level of polynomials.
The lemma is placed in a new file `Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/MvPolynomial.lean` because the existing `Mathlib/LinearAlgebra/Matrix/MvPolynomial.lean` is upstream of `Adjugate`, which is itself upstream of `GeneralLinearGroup.Defs` — so we cannot import `GeneralLinearGroup.Defs` from `Matrix.MvPolynomial` without creating a cycle.
🤖 Prepared with Claude Code |
t-algebra
awaiting-author
label:t-algebra$ |
60/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/MvPolynomial.lean |
2 |
6 |
['SnirBroshi', 'dagurtomas', 'github-actions', 'wwylele'] |
dagurtomas assignee:dagurtomas |
12-15437 12 days ago |
12-15437 12 days ago |
15-71462 15 days |
| 39095 |
tb65536 author:tb65536 |
feat(FieldTheory/Galois/IsGaloisGroup): `IsGaloisGroup` instance for `FixedPoints.subalgebra` |
This PR generalizes the existing `IsGaloisGroup` instance for `FixedPoints.intermediateField` to `FixedPoints.subalgebra`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
23/3 |
Mathlib/Algebra/Algebra/Subalgebra/Operations.lean,Mathlib/FieldTheory/Galois/IsGaloisGroup.lean,Mathlib/GroupTheory/GroupAction/Defs.lean |
3 |
6 |
['eric-wieser', 'github-actions', 'tb65536'] |
nobody |
12-14182 12 days ago |
15-76092 15 days ago |
17-1946 17 days |
| 39050 |
Jun2M author:Jun2M |
feat(Combinatorics/GraphLike): `Digraph` is `GraphLike` |
`Digraph` has `GraphLike` instance.
---
- [ ] depends on: #36743
- [ ] depends on: #39047
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
blocked-by-other-PR
|
184/0 |
Mathlib.lean,Mathlib/Combinatorics/Digraph/GraphLike.lean,Mathlib/Combinatorics/GraphLike/Basic.lean |
3 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
12-11529 12 days ago |
17-73578 17 days ago |
0-523 8 minutes |
| 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 |
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 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
12-9532 12 days ago |
11-74101 11 days ago |
8-31594 8 days |
| 39054 |
Jun2M author:Jun2M |
feat(Combinatorics/GraphLike): `SimpleGraph` is `GraphLike` |
---
- [ ] depends on: #36743
- [ ] depends on: #39047
- [ ] depends on: #36829
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-combinatorics
|
292/0 |
Mathlib.lean,Mathlib/Combinatorics/GraphLike/Basic.lean,Mathlib/Combinatorics/SimpleGraph/GraphLike.lean |
3 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
12-8895 12 days ago |
17-67017 17 days ago |
0-405 6 minutes |
| 39053 |
Jun2M author:Jun2M |
feat(Combinatorics/GraphLike): `Graph` is `GraphLike` |
---
- [ ] depends on: #36743
- [ ] depends on: #39047
- [ ] depends on: #36829
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-combinatorics
|
326/0 |
Mathlib.lean,Mathlib/Combinatorics/Graph/GraphLike.lean,Mathlib/Combinatorics/GraphLike/Basic.lean |
3 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
12-8779 12 days ago |
17-68033 17 days ago |
0-242 4 minutes |
| 39279 |
jayscambler author:jayscambler |
feat(Cryptography/Sigma): Schnorr sigma protocol and signature scheme |
Adds `Mathlib/Cryptography/Sigma/Schnorr.lean`. New file in a new top-level directory; mathlib currently has no `Mathlib/Cryptography/`, so I've taken `Mathlib/Cryptography/Sigma/` as the natural home for sigma-protocol formalizations.
The file proves the three defining properties of Schnorr's identification scheme as a sigma protocol:
- `Schnorr.correct`: completeness. Honest verifier accepts honest signer's transcript.
- `Schnorr.specialSoundness`: from two accepting transcripts sharing the commitment but using different challenges `c, c'`, the witness `x = (s - s') / (c - c')` is recovered. Needs `q` prime so `c - c'` is invertible in `ZMod q`.
- `Schnorr.hvzkAccepts`: the HVZK simulator `g^s · (y^c)⁻¹` always yields accepting transcripts. This is the structural-correctness half of HVZK only; the distributional indistinguishability statement is a separate result and not in this PR.
On top of the sigma protocol there's `Schnorr.Signature.{keyGen, sign, verify, correct}` wrapping it as a Fiat-Shamir signature scheme; `Schnorr.Signature.correct` is a one-line corollary of `Schnorr.correct`.
Two auxiliary lemmas, `Schnorr.gpow_sub` and `Schnorr.gpow_mul`, bridge `ZMod q` arithmetic and group exponentiation under `Fintype.card G = q`. They're local to this file for now because the surrounding `gpow` API is itself cryptography-specific; if a general `ZMod q`-graded group action framework lands in mathlib later, both lemmas would become instances of it.
There's also a small `example` instantiating everything on `Multiplicative (ZMod q)` for `Fact q.Prime` to show the API typechecks. That instantiation is a toy (DLOG is trivial in that group), but it confirms the abstraction is usable.
**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) |
new-contributor
LLM-generated
|
352/0 |
Mathlib.lean,Mathlib/Cryptography/Sigma/Schnorr.lean |
2 |
2 |
['github-actions'] |
nobody |
12-6884 12 days ago |
12-6963 12 days ago |
12-7448 12 days |
| 35255 |
vlad902 author:vlad902 |
feat(SimpleGraph): `cycleGraph.IsContained` in every graph with a cycle |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
35/0 |
Mathlib/Combinatorics/SimpleGraph/Circulant.lean |
1 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
12-3524 12 days ago |
26-76396 26 days ago |
26-77338 26 days |
| 39047 |
Jun2M author:Jun2M |
feat(Combinatorics/GraphLike): GraphLike with no multi edges |
This PR introduces `NoMultiEdgeGraphLike` (alternative name suggestion are welcome), extension of `GraphLike` for those with no multiple darts, and therefore edges, between a pair of vertices.
---
- [ ] depends on: #36743
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-combinatorics
|
140/0 |
Mathlib.lean,Mathlib/Combinatorics/GraphLike/Basic.lean |
2 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
12-3010 12 days ago |
17-76326 17 days ago |
0-23 23 seconds |
| 36829 |
Jun2M author:Jun2M |
feat(Combinatorics/GraphLike): introduce SymmGraphLike typeclass |
Per discussion at ([#graph theory > HasAdj](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/HasAdj/with/575843445)), This PR extends `GraphLike` typeclass defined in #36743 for graphs with symmetric darts (`SimpleGraph` and `Graph`, not `Digraph`).
### Main definitions
* `SymmGraphLike V D E Gr`: A typeclass extending `GraphLike` with together with `inv`, an involution function on darts that swaps `src` and `tgt`.
* `NoMultiEdgeSymmGraphLike V D E Gr`: A typeclass extending `NoMultiEdgeGraphLike` and `SymmGraphLike`.
---
- [ ] depends on: #36743
- [ ] depends on: #39047
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-combinatorics
|
245/0 |
Mathlib.lean,Mathlib/Combinatorics/GraphLike/Basic.lean |
2 |
5 |
['github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
12-2889 12 days ago |
67-79830 67 days ago |
0-154 2 minutes |
| 39293 |
kbuzzard author:kbuzzard |
perf: Field.toEuclideanDomain fast_instance% |
---
[](https://gitpod.io/from-referrer/)
Just an experiment. Pulled this fast_instance% off #38087 to see if it makes a difference. Will then try it after #39263 to see if it still makes a difference. |
WIP
t-algebra
label:t-algebra$ |
3/1 |
Mathlib/Algebra/EuclideanDomain/Field.lean |
1 |
5 |
['github-actions', 'kbuzzard', 'leanprover-radar'] |
nobody |
11-86216 11 days ago |
12-29651 12 days ago |
0-2 2 seconds |
| 38114 |
javgomzar author:javgomzar |
feat(FinitelyPresentedGroup): add finite groups instance |
Add IsFinitelyPresented instance for finite groups.
Co-authored-by: Hang Lu Su , Thomas Browning
---
[](https://gitpod.io/from-referrer/)
|
t-group-theory
new-contributor
large-import
|
31/2 |
Mathlib/GroupTheory/FinitelyPresentedGroup.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean |
2 |
33 |
['github-actions', 'javgomzar', 'kbuzzard', 'mathlib-merge-conflicts', 'plp127', 'tb65536', 'vihdzp'] |
mattrobball assignee:mattrobball |
11-84894 11 days ago |
11-84930 11 days ago |
34-82662 34 days |
| 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
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
awaiting-author
|
165/1 |
Mathlib.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib |
5 |
99 |
['b-mehta', 'edwin1729', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127'] |
b-mehta assignee:b-mehta |
11-83795 11 days ago |
19-85231 19 days ago |
64-31147 64 days |
| 33461 |
loefflerd author:loefflerd |
feat(NumberTheory/Modular): stabilizers for action on upper halfplane |
---
[](https://gitpod.io/from-referrer/)
|
WIP |
343/1 |
Mathlib.lean,Mathlib/Analysis/Complex/UpperHalfPlane/MoebiusAction.lean,Mathlib/Analysis/Complex/UpperHalfPlane/ProjLine.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/FinTwo.lean,Mathlib/LinearAlgebra/Projectivization/Action.lean,Mathlib/Topology/Compactification/OnePoint/ProjectiveLine.lean |
7 |
21 |
['github-actions', 'loefflerd', 'mathlib-merge-conflicts', 'ocfnash'] |
ocfnash assignee:ocfnash |
11-83319 11 days ago |
144-4152 144 days ago |
0-1 1 second |
| 39291 |
MichaelStollBayreuth author:MichaelStollBayreuth |
perf: change definition of EuclideanDomain class |
This changes the definition of `EuclideanDomain` from
```lean
class EuclideanDomain (R : Type*) extends CommRing R, Nontrivial R where ...
```
to
```lean
class EuclideanDomain (R : Type*) [CommRing R] [Nontrivial R] where ...
```
with the goal to see how this affects performance (type class synthesis in particular).
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
slow-typeclass-synthesis
label:t-algebra$ |
35/57 |
Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/EuclideanDomain/Field.lean,Mathlib/Algebra/Order/AbsoluteValue/Euclidean.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Data/ZMod/Coprime.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/FieldTheory/RatFunc/Degree.lean,Mathlib/LinearAlgebra/Reflection.lean,Mathlib/MeasureTheory/Covering/BesicovitchVectorSpace.lean,Mathlib/NumberTheory/ClassNumber/AdmissibleAbsoluteValue.lean,Mathlib/NumberTheory/ClassNumber/Finite.lean,Mathlib/NumberTheory/ModularForms/Cusps.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Defs.lean,Mathlib/NumberTheory/Real/GoldenRatio.lean,Mathlib/RingTheory/DiscreteValuationRing/TFAE.lean,Mathlib/RingTheory/EuclideanDomain.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean,Mathlib/RingTheory/Ideal/NatInt.lean,Mathlib/RingTheory/Int/Basic.lean,Mathlib/RingTheory/Polynomial/Dickson.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/Radical/Basic.lean,Mathlib/RingTheory/ZMod.lean,MathlibTest/instance_diamonds.lean |
25 |
11 |
['MichaelStollBayreuth', 'github-actions', 'kbuzzard', 'leanprover-radar'] |
nobody |
11-82420 11 days ago |
11-84897 11 days ago |
12-21055 12 days |
| 36345 |
Brian-Nugent author:Brian-Nugent |
feat(AlgebraicGeometry): Vanishing for Affine Schemes |
Proves that quasi-coherent sheaves on affine schemes have vanishing higher cohomology.
---
- [ ] depends on: #37187
- [ ] depends on: #35785
- [ ] depends on: #34742
- [ ] depends on: #36218
- [ ] depends on: #35790
[](https://gitpod.io/from-referrer/)
|
large-import
t-algebraic-geometry
t-category-theory
blocked-by-other-PR
merge-conflict
|
1711/116 |
Mathlib.lean,Mathlib/Algebra/Category/Grp/ForgetCorepresentable.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean,Mathlib/Algebra/Homology/ShortComplex/Exact.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/AlgebraicGeometry/Modules/AffineVanishing.lean,Mathlib/AlgebraicGeometry/Modules/KempfProp1.lean,Mathlib/AlgebraicGeometry/Modules/Quasicoherent.lean,Mathlib/AlgebraicGeometry/Modules/Sheaf.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/CategoryTheory/Sites/Abelian.lean,Mathlib/CategoryTheory/Sites/SheafCohomology/Basic.lean,Mathlib/CategoryTheory/Sites/SheafCohomology/ExactSequences.lean,Mathlib/Topology/Sheaves/AddCommGrpCat.lean,Mathlib/Topology/Sheaves/Flasque.lean,Mathlib/Topology/Sheaves/Presheaf.lean,Mathlib/Topology/Sheaves/Restrict.lean,Mathlib/Topology/Sheaves/Sheaf.lean,Mathlib/Topology/Sheaves/SheafCondition/Sites.lean,Mathlib/Topology/Sheaves/SheafCondition/UniqueGluing.lean,Mathlib/Topology/Sheaves/ZeroOutside.lean |
21 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
11-79837 11 days ago |
unknown |
0-0 0 seconds |
| 34855 |
staroperator author:staroperator |
feat(Order): use `to_dual` for `PFilter` |
This PR redefines `PFilter` to get rid of `OrderDual` and uses `to_dual` to translate theorems. The whole file of `PFilter` is now deprecated.
Some changes:
- To align with `Filter`, the order on `PFilter` is changed to the reversed set inclusion. Ultrafilters, the dual notion of maximal ideals, become minimal in this order.
- `to_dual` does not work on `sequenceOfCofinals`. I left `Order.Cofinal` and the Rasiowa–Sikorski lemma not `to_dual`-ized, and we should move them to a separate file later.
- `IsLEChain` is added to tag `to_dual`.
- `IsCoatom.isProper`/`IsCoatom.isMaximal` is deprecated by `Order.Ideal.isProper_of_isCoatom`/`Order.Ideal.isMaximal_of_isProper`, since this result is special to ideals while `IsCoatom` namespace should be for orders in general.
---
- [x] depends on: #34820
---
[](https://gitpod.io/from-referrer/)
|
t-order |
292/242 |
Mathlib/Order/Atoms.lean,Mathlib/Order/BooleanAlgebra/Basic.lean,Mathlib/Order/BooleanAlgebra/Defs.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/Ideal.lean,Mathlib/Order/PFilter.lean,Mathlib/Order/Preorder/Chain.lean,Mathlib/Order/PrimeIdeal.lean,Mathlib/Order/PrimeSeparator.lean,Mathlib/Order/ZornAtoms.lean,Mathlib/RingTheory/IdealFilter/Basic.lean,Mathlib/RingTheory/IdealFilter/Topology.lean,Mathlib/Tactic/Translate/ToDual.lean |
13 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
11-77705 11 days ago |
11-77483 11 days ago |
24-14390 24 days |
| 38664 |
joelriou author:joelriou |
feat(AlgebraicTopology/SimplicialSet): more API for `SSet.op` |
---
TODO: fix the names of some lemmas so that they match those in #35287.
- [x] depends on: #38662
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
WIP
|
130/0 |
Mathlib/AlgebraicTopology/SimplicialSet/KanComplex/MulStruct.lean,Mathlib/AlgebraicTopology/SimplicialSet/Op.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean |
3 |
6 |
['github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
11-75651 11 days ago |
26-84653 26 days ago |
0-1 1 second |
| 39310 |
edegeltje author:edegeltje |
feat(CategoryTheory/FiberedCategory/Fibered): Add composition of (strongly) cartesian morphisms and of fibered functors |
This PR defines the "vertical pasting" aspects of homlifts and (strongly) cartesian morphisms, it proves that the composition of fibered functors is fibered, and it proves that if an equivalence of categories has the identity natural transformation as its unit or counit, then the backward or forward directions of that equivalence are fibered functors, respectively.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
awaiting-author
|
179/6 |
Mathlib/CategoryTheory/FiberedCategory/Cartesian.lean,Mathlib/CategoryTheory/FiberedCategory/Fibered.lean,Mathlib/CategoryTheory/FiberedCategory/HomLift.lean |
3 |
19 |
['dagurtomas', 'edegeltje', 'github-actions'] |
nobody |
11-73004 11 days ago |
11-73004 11 days ago |
0-17474 4 hours |
| 38783 |
marcelolynch author:marcelolynch |
experiment / do not review: breaking change for downstream |
do not review |
WIP
toric
carleson
|
7/0 |
Mathlib/Probability/Combinatorics/BinomialRandomGraph/Defs.lean |
1 |
18 |
['downstream-reports-automation', 'github-actions'] |
nobody |
11-72722 11 days ago |
25-3648 25 days ago |
0-473 7 minutes |
| 39334 |
mcdoll author:mcdoll |
feat(FunProp): tag `Monotone` and friends |
---
[](https://gitpod.io/from-referrer/)
|
t-order
large-import
|
64/0 |
Mathlib/Order/Monotone/Defs.lean |
1 |
1 |
['github-actions'] |
nobody |
11-72429 11 days ago |
unknown |
0-0 0 seconds |
| 32941 |
kim-em author:kim-em |
feat(GroupTheory/Artin): add braid groups as Artin groups of type A |
This PR defines braid groups as Artin groups of type A.
- `BraidGroup n`: the braid group B_n on n strands
- `BraidGroup.σ`: the standard Artin generators
- `BraidGroup.toPermHom`: the canonical surjection B_n → S_n
- `BraidGroup.braidGroupTwoEquivInt`: B_2 ≃* ℤ
- [ ] depends on: #35219
🤖 Prepared with Claude Code |
t-group-theory
blocked-by-other-PR
LLM-generated
merge-conflict
|
590/2 |
Mathlib.lean,Mathlib/Algebra/Group/Commute/Defs.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/GroupTheory/Artin/Basic.lean,Mathlib/GroupTheory/Artin/Braid.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/GroupTheory/Coxeter/Perm.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/PresentedGroup.lean |
11 |
27 |
['eric-wieser', 'github-actions', 'kim-em', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'robin-carlier', 'tb65536', 'themathqueen'] |
tb65536 assignee:tb65536 |
11-65705 11 days ago |
102-29095 102 days ago |
13-11162 13 days |
| 37928 |
AlexeyMilovanov author:AlexeyMilovanov |
refactor(Computability.Encoding): unbundle Γ and remove FinEncoding |
This PR unbundles the alphabet `Γ` from the `Encoding` structure and completely removes `FinEncoding`.
`Encoding`: The alphabet `Γ` is now an explicit parameter: `structure Encoding (α : Type u) (Γ : Type v)`.
`FinEncoding`: Removed. Finiteness is now handled via standard typeclasses (e.g., `[Fintype Γ] (e : Encoding α Γ)`).
Combinators: Functions like `finEncodingPair` are simplified to `encodingPair`, dropping the `fin` prefix and `[Fintype]` requirements where no longer needed.
Downstream: Mechanically updated `Mathlib.Computability` and `Mathlib.ModelTheory` to pass the explicit `Γ` and use `[Fintype Γ]` where `FinEncoding` was previously required.
|
new-contributor
maintainer-merge
|
87/67 |
Mathlib/Computability/Encoding.lean,Mathlib/ModelTheory/Encoding.lean |
2 |
9 |
['AlexeyMilovanov', 'dagurtomas', 'github-actions', 'vihdzp'] |
nobody |
11-64755 11 days ago |
18-29333 18 days ago |
44-9184 44 days |
| 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
|
97/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 |
16 |
['eric-wieser', 'github-actions', 'kim-em', 'mathlib-merge-conflicts', 'themathqueen'] |
thorimur assignee:thorimur |
11-64196 11 days ago |
11-64196 11 days ago |
20-78468 20 days |
| 35218 |
kim-em author:kim-em |
feat(GroupTheory/Coxeter/Perm): type A Coxeter group maps to symmetric group |
This PR constructs the canonical surjective homomorphism from the type A Coxeter group to the symmetric group, sending simple reflections to adjacent transpositions.
- `swapFun`: maps generator `i` to `swap i.castSucc i.succ`
- `swapFun_isLiftable`: adjacent transpositions satisfy the Coxeter relations
- `CoxeterMatrix.typeAₙToPermHom`: the homomorphism from `(Aₙ n).Group` to `Perm (Fin (n + 1))`
- `CoxeterMatrix.typeAₙToPermHom_surjective`: surjectivity
- [ ] depends on: #35217
🤖 Prepared with Claude Code |
blocked-by-other-PR
t-group-theory
LLM-generated
merge-conflict
|
214/2 |
Mathlib.lean,Mathlib/Algebra/Group/Commute/Defs.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/GroupTheory/Coxeter/Perm.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/PresentedGroup.lean |
9 |
8 |
['eric-wieser', 'github-actions', 'joneugster', 'kim-em', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
11-64194 11 days ago |
101-63661 101 days ago |
0-677 11 minutes |
| 35219 |
kim-em author:kim-em |
feat(GroupTheory/Artin): define Artin groups and their universal property |
This PR defines Artin groups (also called Artin-Tits groups) as presented groups associated to Coxeter matrices, and establishes their universal property.
- `CoxeterMatrix.ArtinGroup`: the Artin group associated to a Coxeter matrix
- `CoxeterMatrix.artinGenerator`: the generators of the Artin group
- `CoxeterMatrix.IsArtinLiftable`: the braid relation condition for liftability
- `CoxeterMatrix.artinLift`: the universal property of Artin groups
- `CoxeterMatrix.artinToCoxeter`: the canonical surjection to the Coxeter group
- `CoxeterMatrix.artinToCoxeter_surjective`: surjectivity
- [ ] depends on: #35218
🤖 Prepared with Claude Code |
blocked-by-other-PR
t-group-theory
LLM-generated
merge-conflict
|
429/2 |
Mathlib.lean,Mathlib/Algebra/Group/Commute/Defs.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/GroupTheory/Artin/Basic.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/GroupTheory/Coxeter/Perm.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/PresentedGroup.lean |
10 |
6 |
['github-actions', 'joneugster', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
11-64193 11 days ago |
101-63663 101 days ago |
0-624 10 minutes |
| 36534 |
Vierkantor author:Vierkantor |
experiment: define a simproc for simplifying `a = b` from `b = a` |
Can we define a working simproc that tries to simplify expressions of the form `b = a` given simp lemmas talking about `a = b`? If this does not hurt build times too much, that would solve [task 40](https://github.com/mathlib-initiative/TaskList/issues/40).
---
- [ ] depends on: #37850
[](https://gitpod.io/from-referrer/)
|
t-logic
WIP
merge-conflict
|
146/56 |
Archive/Examples/IfNormalization/WithoutAesop.lean,Archive/Imo/Imo2024Q5.lean,Mathlib/Algebra/CharP/Defs.lean,Mathlib/Algebra/Exact.lean,Mathlib/Algebra/Group/Pi/Lemmas.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/MvPolynomial/Nilpotent.lean,Mathlib/Algebra/Order/Antidiag/Finsupp.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Pi.lean,Mathlib/Analysis/Complex/Arg.lean,Mathlib/CategoryTheory/Preadditive/Biproducts.lean,Mathlib/Computability/ContextFreeGrammar.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/Data/Fin/Tuple/Sort.lean,Mathlib/Data/Matrix/Diagonal.lean,Mathlib/Data/Set/Pairwise/Lattice.lean,Mathlib/Data/Set/Prod.lean,Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/FieldTheory/Finite/Polynomial.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/Geometry/Euclidean/Angle/Bisector.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/LinearAlgebra/Matrix/Permutation.lean,Mathlib/LinearAlgebra/Matrix/Stochastic.lean,Mathlib/Logic/Basic.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/NumberTheory/LegendreSymbol/GaussEisensteinLemmas.lean,Mathlib/NumberTheory/Padics/RingHoms.lean,Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/SetTheory/Ordinal/Notation.lean,Mathlib/Tactic/NormNum/Irrational.lean |
33 |
16 |
['Vierkantor', 'github-actions', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
11-63943 11 days ago |
74-12359 74 days ago |
0-1598 26 minutes |
| 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
[](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 |
11-63695 11 days ago |
11-63695 11 days ago |
13-66876 13 days |
| 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`.
---
- [ ] depends on: #37190
- [ ] depends on: #37720
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
blocked-by-other-PR
|
638/0 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/DoubleCounting.lean,Mathlib/Combinatorics/Enumerative/LatinSquare.lean,Mathlib/Combinatorics/Pigeonhole.lean,Mathlib/Data/Fintype/Card.lean,docs/references.bib |
6 |
78 |
['SnirBroshi', 'cjrl', 'eric-wieser', 'ghseeli', 'github-actions', 'mathlib-dependent-issues', 'vlad902'] |
nobody |
11-62365 11 days ago |
51-84985 51 days ago |
16-40743 16 days |
| 38822 |
ldct author:ldct |
feat(IntervalIntegrable): add `fun_prop` support |
Allow `fun_prop` to work on `IntervalIntegrable` goals
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
awaiting-author
merge-conflict
|
27/6 |
Archive/Wiedijk100Theorems/AreaOfACircle.lean,Mathlib/Analysis/Real/Pi/Irrational.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,MathlibTest/fun_prop.lean |
4 |
8 |
['github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
kex-y assignee:kex-y |
11-60251 11 days ago |
22-8070 22 days ago |
1-68245 1 day |
| 39119 |
kbuzzard author:kbuzzard |
perf(Algebra/*): fast_instance% for prio 100 instances |
---
[](https://gitpod.io/from-referrer/)
I got Claude code to put `fast_instance%` in front of every priority 100 type-valued instance in `Mathlib/Algebra`, just because this sort of thing is easy now. This broke a couple of files with typeclass inference failing to find instances on fields, so I reverted the changes in `Mathlib/Algebra/Field/Defs.lean` and now mathlib builds. |
WIP
t-algebra
merge-conflict
label:t-algebra$ |
138/114 |
Mathlib/Algebra/Divisibility/Basic.lean,Mathlib/Algebra/EuclideanDomain/Field.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Basic.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Lie/OfAssociative.lean,Mathlib/Algebra/Lie/Semisimple/Basic.lean,Mathlib/Algebra/Module/Defs.lean,Mathlib/Algebra/Order/AddGroupWithTop.lean,Mathlib/Algebra/Order/Floor/Defs.lean,Mathlib/Algebra/Ring/Action/Basic.lean,Mathlib/Algebra/Ring/Action/Rat.lean,Mathlib/Algebra/Ring/Commute.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/Algebra/Star/Basic.lean |
18 |
7 |
['github-actions', 'kbuzzard', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
11-60243 11 days ago |
16-11325 16 days ago |
0-1 1 second |
| 39169 |
thorimur author:thorimur |
bench: experiment |
---
[](https://gitpod.io/from-referrer/)
|
file-removed
merge-conflict
|
428/456 |
Mathlib.lean,Mathlib/Algebra/Expr.lean,Mathlib/Algebra/Field/ModEq.lean,Mathlib/Algebra/Free.lean,Mathlib/Algebra/HierarchyDesign.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Note.lean,Mathlib/Analysis/Convex/Slope.lean,Mathlib/Analysis/SpecialFunctions/Log/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/CategoryTheory/Abelian/Injective/Resolution.lean,Mathlib/CategoryTheory/Category/Init.lean,Mathlib/CategoryTheory/ConcreteCategory/Bundled.lean,Mathlib/Combinatorics/Matroid/Init.lean,Mathlib/Combinatorics/SimpleGraph/Init.lean,Mathlib/Computability/RegularExpressions.lean,Mathlib/Control/Combinators.lean,Mathlib/Control/Fold.lean,Mathlib/Control/Lawful.lean,Mathlib/Control/ULift.lean,Mathlib/Data/Array/Defs.lean,Mathlib/Data/Array/Extract.lean,Mathlib/Data/Bool/AllAny.lean,Mathlib/Data/Bracket.lean,Mathlib/Data/DFinsupp/WellFounded.lean,Mathlib/Data/Finset/Attr.lean,Mathlib/Data/Ineq.lean,Mathlib/Data/Int/DivMod.lean,Mathlib/Data/Int/Notation.lean,Mathlib/Data/List/Lookmap.lean,Mathlib/Data/List/ModifyLast.lean,Mathlib/Data/List/Monad.lean,Mathlib/Data/List/PeriodicityLemma.lean,Mathlib/Data/List/TFAE.lean,Mathlib/Data/Nat/BinaryRec.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Notation.lean,Mathlib/Data/Nat/NthRoot/Defs.lean,Mathlib/Data/Option/Defs.lean,Mathlib/Data/Option/NAry.lean,Mathlib/Data/Ordering/Basic.lean,Mathlib/Data/Prod/PProd.lean,Mathlib/Data/Set/Defs.lean,Mathlib/Data/String/Defs.lean,Mathlib/Data/Subtype.lean,Mathlib/Data/Sym/Sym2/Init.lean,Mathlib/Data/UInt.lean,Mathlib/Deprecated/Aliases.lean,Mathlib/Geometry/Euclidean/Inversion/Basic.lean,Mathlib/Geometry/Euclidean/Inversion/Calculus.lean,Mathlib/Lean/CoreM.lean,Mathlib/Lean/Elab/Term.lean,Mathlib/Lean/EnvExtension.lean,Mathlib/Lean/Exception.lean,Mathlib/Lean/Expr.lean,Mathlib/Lean/Expr/Rat.lean,Mathlib/Lean/FoldEnvironment.lean,Mathlib/Lean/GoalsLocation.lean,Mathlib/Lean/Json.lean,Mathlib/Lean/LocalContext.lean,Mathlib/Lean/MessageData/ForExprs.lean,Mathlib/Lean/MessageData/Trace.lean,Mathlib/Lean/Meta.lean,Mathlib/Lean/Meta/Basic.lean,Mathlib/Lean/Meta/DiscrTree.lean,Mathlib/Lean/Meta/KAbstractPositions.lean,Mathlib/Lean/Meta/RefinedDiscrTree/Basic.lean,Mathlib/Lean/Meta/Simp.lean,Mathlib/Lean/Meta/Tactic/Rewrite.lean,Mathlib/Lean/Name.lean,Mathlib/Lean/PrettyPrinter/Delaborator.lean,Mathlib/Lean/Thunk.lean,Mathlib/LinearAlgebra/PiTensorProduct.lean,Mathlib/Logic/ExistsUnique.lean,Mathlib/Logic/Function/Coequalizer.lean,Mathlib/Logic/Function/CompTypeclasses.lean,Mathlib/Logic/Function/Defs.lean,Mathlib/Logic/Function/ULift.lean,Mathlib/Logic/IsEmpty/Defs.lean,Mathlib/Logic/Nonempty.lean,Mathlib/Logic/OpClass.lean,Mathlib/MeasureTheory/Covering/BesicovitchVectorSpace.lean,Mathlib/NumberTheory/ModularForms/SlashActions.lean,Mathlib/Order/Hom/Set.lean,Mathlib/Probability/Martingale/Upcrossing.lean,Mathlib/Probability/Process/HittingTime.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ApplyAt.lean,Mathlib/Tactic/ApplyCongr.lean,Mathlib/Tactic/ApplyFun.lean,Mathlib/Tactic/ApplyWith.lean,Mathlib/Tactic/ArithMult/Init.lean,Mathlib/Tactic/Attr/Register.lean,Mathlib/Tactic/Basic.lean,Mathlib/Tactic/Bound/Init.lean,Mathlib/Tactic/Cases.lean,Mathlib/Tactic/CasesM.lean,Mathlib/Tactic/CategoryTheory/CategoryStar.lean,Mathlib/Tactic/CategoryTheory/Coherence/Datatypes.lean,Mathlib/Tactic/Change.lean,Mathlib/Tactic/Check.lean |
314 |
4 |
['github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'thorimur'] |
nobody |
11-60240 11 days ago |
unknown |
0-0 0 seconds |
| 39194 |
grunweg author:grunweg |
Sobolev wip |
#32305 on current master, hopefully
---
[](https://gitpod.io/from-referrer/)
|
WIP
awaiting-CI
t-measure-probability
merge-conflict
|
2116/9 |
Mathlib.lean,Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/Distribution/Distribution.lean,Mathlib/Analysis/Distribution/TestFunction.lean,Mathlib/Analysis/Distribution/WeakDeriv.lean,Mathlib/Analysis/FunctionalSpaces/Sobolev/Basic.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean |
7 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
11-60239 11 days ago |
unknown |
0-0 0 seconds |
| 39253 |
Paul-Lez author:Paul-Lez |
feat(LinearAlgebra/Basis/HasCanonicalBasis): propose `HasCanonicalBasis` class |
This PR continues the work from #25425.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25425 |
|
104/0 |
Mathlib/LinearAlgebra/Basis/HasCanonicalBasis.lean |
1 |
1 |
['github-actions'] |
nobody |
11-60234 11 days ago |
unknown |
0-0 0 seconds |
| 37185 |
gasparattila author:gasparattila |
chore(Data/Finset/Lattice/Fold): rename `comp_sup_*` to `apply_sup_*` |
These lemmas are of the form `g (s.sup f) = s.sup (g ∘ f)` with no composition on the LHS.
---
- [x] depends on: #37047
[](https://gitpod.io/from-referrer/)
|
t-order |
44/26 |
Mathlib/Algebra/Order/Ring/Finset.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/Normed/Group/Ultra.lean,Mathlib/Data/ENNReal/Lemmas.lean,Mathlib/Data/Finset/Lattice/Fold.lean,Mathlib/Data/Finset/Max.lean,Mathlib/Data/NNReal/Basic.lean,Mathlib/Order/PartialSups.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/Defs.lean,Mathlib/Topology/ContinuousMap/CompactlySupported.lean,Mathlib/Topology/ContinuousMap/Ordered.lean |
11 |
4 |
['gasparattila', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
bryangingechen assignee:bryangingechen |
11-59900 11 days ago |
46-73766 46 days ago |
46-74087 46 days |
| 38816 |
tb65536 author:tb65536 |
refactor(GroupTheory/Finiteness): make duplicate definitions into abbrevs |
The definitions `Submonoid.FG`, `Group.FG`, and `Subgroup.FG` are all equivalent to `Monoid.FG`, so I've made them into abbrevs. In the future we might even want to consider deprecating all but one to avoid having four ways to write the same thing.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-group-theory
label:t-algebra$ |
140/122 |
Mathlib/Algebra/AffineMonoid/Irreducible.lean,Mathlib/GroupTheory/Finiteness.lean,Mathlib/GroupTheory/MonoidLocalization/Finite.lean,Mathlib/GroupTheory/Schreier.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Basic.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Defs.lean,Mathlib/RingTheory/FiniteType.lean,Mathlib/RingTheory/Finiteness/Defs.lean,Mathlib/RingTheory/Localization/InvSubmonoid.lean |
9 |
5 |
['eric-wieser', 'github-actions', 'j-loreaux', 'tb65536'] |
mattrobball assignee:mattrobball |
11-59896 11 days ago |
23-82819 23 days ago |
23-82815 23 days |
| 38821 |
Jun2M author:Jun2M |
feat(Data/List): rotation of sublist is sublist of rotation |
This PR proves `(∃ L₁ : List α, L ~r L₁ ∧ L₁ <+ L') ↔ (∃ L₂ : List α, L <+ L₂ ∧ L₂ ~r L')`.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
10/0 |
Mathlib/Data/List/Rotate.lean |
1 |
3 |
['SnirBroshi', 'eric-wieser', 'github-actions'] |
joneugster assignee:joneugster |
11-59896 11 days ago |
23-79482 23 days ago |
23-79477 23 days |
| 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]`.
---
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
label:t-algebra$ |
100/3 |
Mathlib/Algebra/Colimit/DirectLimit.lean |
1 |
2 |
['github-actions'] |
nobody |
11-59307 11 days ago |
11-61999 11 days ago |
11-61994 11 days |
| 39347 |
Sfgangloff author:Sfgangloff |
feat(SymbolicDynamics): refactor of Pattern and shift-invariance of shape languages for subshifts |
## Summary
This PR refactors Pattern.mulShift in Mathlib/Dynamics/SymbolicDynamics/Basic.lean and uses the cleaner definition to prove shift-invariance of the language of a subshift on a finite shape.
## Changes
Pattern.mulShift now returns a Pattern instead of a configuration (more natural).
- Old type: Pattern.mulShift : Pattern A G → G → (G → A)
- New type: Pattern.mulShift : Pattern A G → G → Pattern A G
- The result carries its support (p.support.image (v * ·)) and the
default-outside-support proof, so callers don't have to re-derive them.
The [IsLeftCancelMul G] hypothesis is moved to the lemmas that actually use it.
- The definition Pattern.mulShift itself no longer needs left-cancellation (it only
chooses a preimage noncomputably).
- The hypothesis is now stated on mulShift_config_apply_mul_left_of_mem and
mulOccursInAt_eq_cylinder directly, instead of being a section-level variable.
Renames following the type change.
- mulShift_apply_mul_left_of_mem → mulShift_config_apply_mul_left_of_mem (because we
now write (p.mulShift v).config instead of p.mulShift v).
New @[simp] and @[ext] lemmas for Pattern.
- Pattern.ext: two patterns are equal iff their supports agree and their
configurations agree on the support.
- Pattern.mulShift_support: the support of p.mulShift v is p.support.image (v * ·).
- Pattern.fromConfig_support: the support of fromConfig x U is U.
- Pattern.fromConfig_config_of_mem: on its support, fromConfig x U agrees with x.
New lemma Pattern.fromConfig_mulShift.
For a left inverse g' * g = 1, shifting the pattern fromConfig x U by g equals
fromConfig (mulShift g' x) (U.image (g * ·)).
New theorem MulSubshift.languageOn_image_mulShift.
For a subshift Y and elements g, g' with g * g' = 1 and g' * g = 1:
(fun p => p.mulShift g) '' Y.languageOn U = Y.languageOn (U.image (g * ·))
i.e. the language on the translated shape is exactly the image of the language on U
under the pattern-shift map. This gives a bijection between Y.languageOn U and
Y.languageOn (U.image (g * ·)), with inverse p ↦ p.mulShift g'. Stated for
left-cancellative monoids with an invertible element.
Updated docstrings for Pattern.mulShift and the renamed lemma to reflect the
bundled-Pattern return type and clarify which results need [IsLeftCancelMul G]. |
t-dynamics
new-contributor
|
142/48 |
Mathlib/Dynamics/SymbolicDynamics/Basic.lean |
1 |
3 |
['github-actions'] |
nobody |
11-54707 11 days ago |
11-54868 11 days ago |
11-54863 11 days |
| 36743 |
Jun2M author:Jun2M |
feat(Combinatorics/GraphLike): introduce `GraphLike` typeclass |
Per discussion at ([#graph theory > HasAdj](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/HasAdj/with/575843445)), This PR introduces the `GraphLike` typeclass to capture the notions like `dart` and `walk` across various graph objects, such as `SimpleGraph`, `Graph`, and `Digraph`.
The goal is that by abstracting these core components into a typeclass, we can prove these results once for all graph-like structures rather than duplicating them across different graph types.
### Main definitions
* `GraphLike V D E Gr`: A typeclass parameterized by a vertex type `V`, dart type `D` and a graph type `Gr` (with `V`, `D` & `E` as an `outParam`).
* `GraphLike.verts : Set V`: The set of vertices of the graph.
* `GraphLike.darts : Set D`: The set of darts of the graph.
* `GraphLike.edges : Set E`: The set of edges of the graph.
* `GraphLike.Adj : V → V → Prop`: The adjacency relation, defined by default as `∃ d ∈ darts, fst d = u ∧ snd d = v`.
---
This PR generalises #35776 to also unify `Graph`.
PRs depending on this PR are
#39047 (graphLike with no multi edges) => #39050 (Digraph is graphLike)
||
V
#36829 (undirected graphLike) => #39053 (Graph is graphLike) & #39054 (Simplegraph is graphLike)
||
V
#36756 (def of walk on GraphLike) => #36971 (change Simplegraph to use GraphLike walk)
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
104/0 |
Mathlib.lean,Mathlib/Combinatorics/GraphLike/Basic.lean |
2 |
78 |
['IvanRenison', 'Jun2M', 'SnirBroshi', 'YaelDillies', 'github-actions', 'lauramonk', 'mathlib-merge-conflicts'] |
YaelDillies assignee:YaelDillies |
11-48417 11 days ago |
17-5569 17 days ago |
68-3980 68 days |
| 39352 |
qawbecrdtey author:qawbecrdtey |
chore(Data/Finset/Slice): remove unnecessary import |
---
Remove import which was transitively being imported.
[](https://gitpod.io/from-referrer/)
|
t-data
easy
|
0/1 |
Mathlib/Data/Finset/Slice.lean |
1 |
1 |
['github-actions'] |
nobody |
11-40794 11 days ago |
11-40788 11 days ago |
11-40908 11 days |
| 27897 |
grunweg author:grunweg |
feat: check indentation of doc-strings |
Likely will require further adaptations to mathlib. May land piece-wise. But at first, let's see how big the overall fallout actually is.
(So far: 100 lines of implementation and tests, and 170 lines of fix-ups; which are probably mostly complete, but not entirely.)
---
- [x] depends on: #27898
- [x] depends on: #39245
- [x] depends on: #39246
- [x] depends on: #39247
[](https://gitpod.io/from-referrer/)
|
t-linter
awaiting-CI
awaiting-author
|
363/81 |
Mathlib/Algebra/ContinuedFractions/Basic.lean,Mathlib/Algebra/Lie/Classical.lean,Mathlib/Algebra/Lie/OfAssociative.lean,Mathlib/Algebra/SkewMonoidAlgebra/Lift.lean,Mathlib/Analysis/Calculus/ParametricIntegral.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/Limits/Basic.lean,Mathlib/CategoryTheory/NatIso.lean,Mathlib/CategoryTheory/Presentable/IsCardinalFiltered.lean,Mathlib/CategoryTheory/Presentable/OrthogonalReflection.lean,Mathlib/Combinatorics/SimpleGraph/FiveWheelLike.lean,Mathlib/Data/List/Defs.lean,Mathlib/Data/Num/Basic.lean,Mathlib/Data/Num/Bitwise.lean,Mathlib/Dynamics/BirkhoffSum/QuasiMeasurePreserving.lean,Mathlib/Geometry/Euclidean/Simplex.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean,Mathlib/Geometry/RingedSpace/PresheafedSpace/Gluing.lean,Mathlib/Lean/Meta/RefinedDiscrTree/Lookup.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Centroid.lean,Mathlib/MeasureTheory/Function/ConvergenceInDistribution.lean,Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean,Mathlib/MeasureTheory/Group/Action.lean,Mathlib/Probability/Kernel/Deterministic.lean,Mathlib/RepresentationTheory/Invariants.lean,Mathlib/RingTheory/DividedPowers/SubDPIdeal.lean,Mathlib/RingTheory/MvPowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/Tactic/Algebra/Basic.lean,Mathlib/Tactic/ComputeDegree.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/Linter/DocString.lean,Mathlib/Tactic/MinImports.lean,Mathlib/Tactic/MoveAdd.lean,Mathlib/Topology/Covering/Basic.lean,Mathlib/Topology/EMetricSpace/PairReduction.lean,MathlibTest/DocStringLinter.lean |
38 |
13 |
['github-actions', 'grunweg', 'joneugster', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] |
nobody |
11-33789 11 days ago |
295-22223 295 days ago |
0-1 1 second |
| 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.
- [ ] depends on: #29774
- [ ] depends on: #37985
- [ ] depends on: #37901
- [ ] depends on: #38002
---
[](https://gitpod.io/from-referrer/)
|
large-import
blocked-by-other-PR
|
713/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/AlgebraicCycle/Basic.lean,Mathlib/AlgebraicGeometry/AlgebraicCycle/Principal.lean,Mathlib/AlgebraicGeometry/FunctionField.lean,Mathlib/AlgebraicGeometry/OrderOfVanishing.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Order/Minimal.lean,Mathlib/Topology/Inseparable.lean,Mathlib/Topology/LocallyFinsupp/Pushforward.lean,Mathlib/Topology/Sober.lean |
11 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
11-31557 11 days ago |
31-8307 31 days ago |
0-1194 19 minutes |
| 38507 |
grunweg author:grunweg |
fix(Linter/PrivateModule): only suggest @[expose] if the module has any definitions |
---
[](https://gitpod.io/from-referrer/)
|
t-meta
awaiting-author
|
9/5 |
Mathlib/CategoryTheory/MarkovCategory/Positive.lean,Mathlib/Tactic/Linter/PrivateModule.lean,MathlibTest/PrivateModuleLinter/reservedName2.lean |
3 |
9 |
['JovanGerb', 'github-actions', 'grunweg', 'joneugster', 'leanprover-radar'] |
JovanGerb assignee:JovanGerb |
11-17772 11 days ago |
11-17772 11 days ago |
1-80663 1 day |
| 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.
---
[](https://gitpod.io/from-referrer/)
|
t-meta
awaiting-author
|
54/2 |
Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Condensed/Light/TopCatAdjunction.lean,Mathlib/Condensed/TopCatAdjunction.lean,Mathlib/Topology/Continuous.lean,MathlibTest/Continuity.lean |
5 |
4 |
['github-actions', 'joneugster'] |
joneugster assignee:joneugster |
11-17241 11 days ago |
11-17241 11 days ago |
56-81666 56 days |
| 39064 |
kim-em author:kim-em |
feat: make showLinter detect tactics that assign metavariables |
This PR removes a short-circuit in `showLinter` that suppressed the
linter whenever the syntactic goal was unchanged by a `show` tactic.
A `show` invocation can still have side-effects on the metavariable
context — tactic elaboration may assign metavariables while leaving
the goal type unchanged — so the existing `instantiateMVars`-based
diff check should run unconditionally. The fast path for the genuine
no-op case is preserved: if `before` and `after` types still match
after `instantiateMVars`, the linter doesn't fire.
This was discovered while adapting Mathlib to nightly-2026-05-03 in
https://github.com/leanprover-community/mathlib4-nightly-testing/pull/215
and is being extracted here so it can land independently of that bump.
🤖 Prepared with Claude Code |
t-linter
delegated
|
1/1 |
Mathlib/Tactic/Linter/Style.lean |
1 |
3 |
['adomani', 'github-actions', 'joneugster', 'mathlib-bors'] |
thorimur assignee:thorimur |
11-16821 11 days ago |
11-16822 11 days ago |
6-25575 6 days |
| 39259 |
jcommelin author:jcommelin |
chore(Tactic/StacksAttribute): add deprecated module |
This PR adds `Tactic/StacksAttribute.lean` back as deprecated_module.
---
- [x] depends on: #39257, where the file is removed
[](https://gitpod.io/from-referrer/)
|
delegated
auto-merge-after-CI
|
7/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/StacksAttribute.lean |
3 |
5 |
['adomani', 'github-actions', 'mathlib-bors', 'mathlib-dependent-issues'] |
adomani assignee:adomani |
11-16444 11 days ago |
13-7044 13 days ago |
0-3182 53 minutes |
| 38199 |
vihdzp author:vihdzp |
chore: add items to set theory overview |
---
[](https://gitpod.io/from-referrer/)
|
documentation
t-set-theory
maintainer-merge
|
11/2 |
docs/overview.yaml |
1 |
5 |
['SnirBroshi', 'github-actions', 'joneugster', 'vihdzp'] |
alreadydone assignee:alreadydone |
11-15346 11 days ago |
37-34122 37 days ago |
37-34216 37 days |
| 37666 |
TJHeeringa author:TJHeeringa |
feat(Analysis/InnerProductSpace/Reproducing): Lipschitz wrt the kernel pseudometric |
---
RKHSs $H$ have bounded point evaluations. This induces a pseudometric on the underlying space `X`. The function $f\in H$ are Lipschitz continuous with Lipschitz constant $\||f\||$.
This PR puts the pseudometric instance inline. The instance cannot just be put outside the theorem, because that gives problems with resolving type classes / instance synthesis. An alternative to inlining the instance is a type class synonym. One copy would be the RKHS with whatever metric X came equipped with and one copy would be the RKHS with the induced metric. Since there are likely more theorems depending on this pseudometric, I suspect that it is actually a better solution.
AI:
I had the instance outside the theorem. Lean gave problems with resolving type classes / instance synthesis. I asked Claude and ChatGPT to interpret the error and fix it. The latter just spit gibberish and the former suggested inlining but in a way that didn't work. Then, I asked on Zulip and got the same suggestion but working. The type synonym alternative was also suggested there.
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
help-wanted
|
71/6 |
Mathlib/Analysis/InnerProductSpace/Reproducing.lean |
1 |
3 |
['TJHeeringa', 'github-actions'] |
nobody |
11-14560 11 days ago |
unknown |
0-0 0 seconds |
| 38380 |
linesthatinterlace author:linesthatinterlace |
feat(Data/Set): add Set.diag API |
Introduces `Set.diag (s : Set α) : Set (α × α) = {(a, a) | a ∈ s}` as the set-level companion to `Set.offDiag`, mirroring the existing `Finset.diag` / `Finset.offDiag` pairing. The type-level `Set.diagonal : Type* → Set (α × α)` is retained unchanged; `diag_univ : (univ : Set α).diag = diagonal α` (`@[simp]`) keeps it canonical when the underlying set is `univ`.
Parallels to the existing `offDiag` API (`diag_mono`, `diag_nonempty`, `diag_eq_empty`, `diag_empty`, `diag_singleton`, `diag_subset_prod`, `diag_eq_sep_prod`, `diag_inter`, `diag_union`, `diag_insert`) plus bridges `diag_union_offDiag`, `disjoint_diag_offDiag`, `prod_sdiff_diag`, `prod_sdiff_offDiag`. Also `diag_eq_image`, `image_diag` (matching `Finset.image_diag`), `preimage_coe_coe_diag`, and `Finset.coe_diag`. Note `diag_union` and `diag_insert` are unconditional (no `Disjoint` / `a ∉ s` hypothesis).
To free the `diag_` prefix for the set sense, the existing lemmas about the diagonal *map* `fun x => (x, x)` are renamed with deprecation aliases:
`range_diag` → `range_diagMap`, `diag_preimage_prod` → `diagMap_preimage_prod`, `diag_preimage_prod_self` → `diagMap_preimage_prod_self`. `diag_image` and `preimage_coe_coe_diagonal` are marked `@[deprecated]`.
This PR was prepared with the assistance of Claude Opus. |
t-data
LLM-generated
|
124/15 |
Mathlib/Data/Finset/Prod.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Data/Set/Prod.lean,Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/Compactness/Lindelof.lean,Mathlib/Topology/NhdsSet.lean |
7 |
2 |
['github-actions', 'linesthatinterlace'] |
joneugster assignee:joneugster |
11-11865 11 days ago |
32-77678 32 days ago |
32-77673 32 days |
| 36155 |
grunweg author:grunweg |
feat: custom elaborators for TangentSpace and tangentMap(Within) |
And use these to golf the differential geometry files a bit further.
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
t-meta
awaiting-author
|
85/30 |
Mathlib/Geometry/Manifold/ContMDiffMFDeriv.lean,Mathlib/Geometry/Manifold/GroupLieAlgebra.lean,Mathlib/Geometry/Manifold/IntegralCurve/Basic.lean,Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean,Mathlib/Geometry/Manifold/MFDeriv/Tangent.lean,Mathlib/Geometry/Manifold/Notation.lean,Mathlib/Topology/FiberBundle/Constructions.lean,MathlibTest/DifferentialGeometry/Notation/Basic.lean |
8 |
7 |
['JovanGerb', 'github-actions', 'grunweg', 'mathlib-merge-conflicts', 'ocfnash'] |
JovanGerb assignee:JovanGerb |
11-11536 11 days ago |
11-11536 11 days ago |
69-16913 69 days |
| 38983 |
kebekus author:kebekus |
feat: Invariance of `meromorphic in normal form` under composition. |
Establish invariance of `meromorphic in normal form` under composition with analytic functions of non-vanishing derivative.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
maintainer-merge
|
42/0 |
Mathlib/Analysis/Meromorphic/NormalForm.lean |
1 |
12 |
['github-actions', 'kebekus', 'themathqueen'] |
themathqueen assignee:themathqueen |
11-9298 11 days ago |
11-9298 11 days ago |
18-30292 18 days |
| 39003 |
TwoFX author:TwoFX |
chore: avoid declaring duplicate instances `LE String` and `LT String` |
Since forever, mathlib has declared `LE String` and `LT String` instances which are propositionally, but not definitionally, equal to the `LE String` and `LT String` instances that have shipped with core. This regularly leads to problems with automation that expects instances to be canonical, most recently as described in leanprover/lean4#13544.
This PR demotes the mathlib instances to definitions, and redefines the `LinearOrder String` instance to use the core-provided instances rather than the ones defined in mathlib. It also redeclares the theorems `String.lt_iff_toList_lt` and `String.le_iff_toList_le` to be about the core-provided instances rather than the mathlib ones, and the theorems about the mathlib instances are now called `String.lt_iff_toList_lt'` and `String.le_iff_toList_le'`.
Deprecating the material related to the mathlib instances would be a logical next step, but it might make sense to wait with this until core ships more API for `LE String` and `LT String` (right now it ships none).
---
[](https://gitpod.io/from-referrer/)
|
t-data
awaiting-author
|
31/14 |
Mathlib/Data/String/Basic.lean |
1 |
8 |
['TwoFX', 'eric-wieser', 'github-actions', 'joneugster'] |
joneugster assignee:joneugster |
11-8553 11 days ago |
11-10417 11 days ago |
7-32948 7 days |
| 38347 |
artie2000 author:artie2000 |
doc(LinearAlgebra/FreeModule/StrongRankCondition): clarify context of `commRing_strongRankCondition` |
* Replace mathematical documentation in `Mathlib.LinearAlgebra.FreeModule.StrongRankCondition`, with explanation that the file comprises a shortcut instance `commRing_strongRankCondition`
* Signpost `commRing_strongRankCondition` at both its parent instances
* Increase priority of shortcut instance `commRing_strongRankCondition` above that of its parent instances
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
awaiting-author
|
28/41 |
Mathlib/LinearAlgebra/FreeModule/StrongRankCondition.lean,Mathlib/LinearAlgebra/InvariantBasisNumber.lean,Mathlib/RingTheory/FiniteType.lean |
3 |
3 |
['github-actions', 'joneugster', 'mathlib-merge-conflicts'] |
joneugster assignee:joneugster |
11-6452 11 days ago |
11-6452 11 days ago |
22-40813 22 days |
| 39373 |
yuanyi-350 author:yuanyi-350 |
refactor(NumberTheory): golf `Mathlib/NumberTheory/ModularForms/CongruenceSubgroups` |
- simplifies `Gamma_mem` to a single `simp` proof via `Gamma_mem'` and `SpecialLinearGroup.ext_iff`
- shortens `ModularGroup_T_pow_mem_Gamma` and the `Gamma0` closure proofs with direct `simp`/`simpa` arguments
Extracted from #38144
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
|
4/22 |
Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
nobody |
11-5981 11 days ago |
11-7714 11 days ago |
11-7709 11 days |
| 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
[](https://gitpod.io/from-referrer/)
|
new-contributor
large-import
t-order
awaiting-author
|
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 |
58 |
['Komyyy', 'Vierkantor', 'YaelDillies', 'YellPika', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
YaelDillies and pechersky assignee:pechersky assignee:YaelDillies |
11-5889 11 days ago |
52-11699 52 days ago |
52-59724 52 days |
| 39374 |
yuanyi-350 author:yuanyi-350 |
refactor(NumberTheory): golf `Mathlib/NumberTheory/ModularForms/Derivative` |
- rewrites `normalizedDerivOfComplex_sub` to reuse the additive and negation lemmas instead of reproving the subtraction formula pointwise
Extracted from #38144
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
|
4/10 |
Mathlib/NumberTheory/ModularForms/Derivative.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
nobody |
11-5775 11 days ago |
11-7711 11 days ago |
11-7706 11 days |
| 39375 |
yuanyi-350 author:yuanyi-350 |
refactor(NumberTheory): golf `Mathlib/NumberTheory/ModularForms/SlashActions` |
- streamlines `prod_slash_sum_weights` by letting `simp` handle the empty case and removing the redundant singleton split in the inductive step
Extracted from #38144
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
|
1/5 |
Mathlib/NumberTheory/ModularForms/SlashActions.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
nobody |
11-5618 11 days ago |
11-7708 11 days ago |
11-7703 11 days |
| 39353 |
Raph-DG author:Raph-DG |
feat(Topology): Show existence of a neighbourhood around p which avoids all points in the support of a locally finsupp function except those which specialize to p |
In this PR we show a simple lemma proving the existence of a neighbourhood around any point p which avoids every point in the support of a locally finsupp function except those which specialize to p.
AI disclosure: The statements and a sketch with sorries were provided by me, but I had claude fill in the sorries.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
WIP
|
29/0 |
Mathlib/Topology/LocallyFinsupp.lean |
1 |
1 |
['github-actions'] |
nobody |
11-5537 11 days ago |
11-5549 11 days ago |
0-31335 8 hours |
| 39376 |
yuanyi-350 author:yuanyi-350 |
refactor(NumberTheory): golf `Mathlib/NumberTheory/RamificationInertia/Basic` |
- shortens `quotientToQuotientRangePowQuotSucc_surjective` by switching the ideal-factor argument to `irreducible_pow_sup` and `count_normalizedFactors_eq` after isolating the span hypotheses
Extracted from #38144
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
|
4/10 |
Mathlib/NumberTheory/RamificationInertia/Basic.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
nobody |
11-5446 11 days ago |
11-7706 11 days ago |
11-7701 11 days |
| 39377 |
yuanyi-350 author:yuanyi-350 |
refactor(NumberTheory): golf `Mathlib/NumberTheory/Divisors` |
- refactors `properDivisors_eq_singleton_one_iff_prime`, `mem_properDivisors_prime_pow`, and `properDivisors_prime_pow` to use more direct divisor lemmas
- rewrites `image_div_divisors_eq_divisors` via `map_div_left_divisors` and `image_fst_divisorsAntidiagonal`
Extracted from #38144
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
|
17/42 |
Mathlib/NumberTheory/Divisors.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
nobody |
11-4576 11 days ago |
11-7703 11 days ago |
11-7698 11 days |
| 37722 |
SabrinaJewson author:SabrinaJewson |
feat(Order/Cover): intervals equal singletons iff |
To complement `Set.Icc_eq_singleton_iff`, this introduces:
- `Set.Ioc_eq_singleton_iff` / `Set.Ico_eq_singleton_iff`
- `Set.Ico_eq_singleton_left_iff` / `Set.Ioc_eq_singleton_right_iff`
- `Set.Ioi_eq_singleton_iff` / `Set.Iio_eq_singleton_iff`
- `Set.Ioi_eq_singleton_top_iff` / `Set.Iio_eq_singleton_bot_iff`
- `Set.Ioo_eq_singleton_iff`
---
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
awaiting-author
maintainer-merge
|
39/0 |
Mathlib/Order/Atoms.lean,Mathlib/Order/Cover.lean |
2 |
16 |
['Komyyy', 'SabrinaJewson', 'github-actions', 'mathlib-merge-conflicts'] |
bryangingechen assignee:bryangingechen |
10-84246 10 days ago |
13-37203 13 days ago |
35-12445 35 days |
| 39026 |
fpvandoorn author:fpvandoorn |
feat: add assume tactic |
Teaching tactic: `assume p, q, r` is short for `intro (_ : p) (_ : q) (_ : r)`.
---
[Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Assume.20tactic/with/593477478)
[](https://gitpod.io/from-referrer/)
|
awaiting-zulip
t-meta
awaiting-author
|
123/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Assume.lean,MathlibTest/Assume.lean |
4 |
7 |
['fpvandoorn', 'github-actions', 'joneugster'] |
joneugster assignee:joneugster |
10-81533 10 days ago |
18-29043 18 days ago |
0-1 1 second |
| 35896 |
harahu author:harahu |
chore(misc): fix typos |
The typos were identified by `PyCharm`'s proofreading inspection.
---
[](https://gitpod.io/from-referrer/)
|
|
34/32 |
Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Order/Group/Cyclic.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Control/Traversable/Equiv.lean,Mathlib/Data/Analysis/Filter.lean,Mathlib/Data/Fintype/Order.lean,Mathlib/Data/List/Pairwise.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/Data/TypeVec.lean,Mathlib/Geometry/Manifold/Immersion.lean,Mathlib/NumberTheory/Dioph.lean,Mathlib/NumberTheory/PellMatiyasevic.lean,Mathlib/Topology/Compactness/Lindelof.lean,Mathlib/Topology/MetricSpace/PiNat.lean,Mathlib/Topology/Sheaves/CommRingCat.lean,docs/references.bib |
21 |
9 |
['euprunin', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
10-80753 10 days ago |
74-65738 74 days ago |
7-55245 7 days |
| 39371 |
fpvandoorn author:fpvandoorn |
feat: tag lemmas with compactness and closedness |
---
- [ ] depends on: #39370
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR |
190/11 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/GrindAttrs.lean,Mathlib/Topology/Basic.lean,Mathlib/Topology/Closure.lean,Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/MetricSpace/ProperSpace.lean,Mathlib/Topology/Order/Compact.lean,Mathlib/Topology/Order/OrderClosed.lean,Mathlib/Topology/Separation/Basic.lean,Mathlib/Topology/Separation/Hausdorff.lean,MathlibTest/Compactness.lean |
13 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
10-80618 10 days ago |
11-8489 11 days ago |
0-1 1 second |
| 35686 |
harahu author:harahu |
chore: run docstrings through mdformat |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
10282/5889 |
Mathlib/Algebra/AddTorsor/Defs.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/RestrictScalars.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/Algebra/Spectrum/Quasispectrum.lean,Mathlib/Algebra/Algebra/Subalgebra/Centralizer.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Azumaya/Basic.lean,Mathlib/Algebra/Azumaya/Defs.lean,Mathlib/Algebra/Azumaya/Matrix.lean,Mathlib/Algebra/BigOperators/Expect.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/BigOperators/Group/Finset/Gaps.lean,Mathlib/Algebra/BigOperators/Group/Finset/Indicator.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Defs.lean,Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Algebra/BrauerGroup/Defs.lean,Mathlib/Algebra/Category/ContinuousCohomology/Basic.lean,Mathlib/Algebra/Category/FGModuleCat/Limits.lean,Mathlib/Algebra/Category/Grp/Basic.lean,Mathlib/Algebra/Category/Grp/EpiMono.lean,Mathlib/Algebra/Category/Grp/EquivalenceGroupAddGroup.lean,Mathlib/Algebra/Category/Grp/Limits.lean,Mathlib/Algebra/Category/Grp/Ulift.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Free.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/ColimitFunctor.lean,Mathlib/Algebra/Category/ModuleCat/Projective.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Stalk.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Basic.lean,Mathlib/Algebra/Category/MonCat/Basic.lean,Mathlib/Algebra/Category/MonCat/Colimits.lean,Mathlib/Algebra/Category/Ring/Adjunctions.lean,Mathlib/Algebra/Category/Ring/Basic.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/Category/Ring/Epi.lean,Mathlib/Algebra/Category/Ring/EqualizerPushout.lean,Mathlib/Algebra/Category/Ring/Topology.lean,Mathlib/Algebra/Category/Semigrp/Basic.lean,Mathlib/Algebra/Central/Basic.lean,Mathlib/Algebra/Central/Defs.lean,Mathlib/Algebra/Central/TensorProduct.lean,Mathlib/Algebra/CharP/Algebra.lean,Mathlib/Algebra/CharP/Basic.lean,Mathlib/Algebra/CharP/CharAndCard.lean,Mathlib/Algebra/CharP/Defs.lean,Mathlib/Algebra/CharP/LinearMaps.lean,Mathlib/Algebra/CharP/MixedCharZero.lean,Mathlib/Algebra/CharP/Subring.lean,Mathlib/Algebra/CharZero/Defs.lean,Mathlib/Algebra/ContinuedFractions/Basic.lean,Mathlib/Algebra/ContinuedFractions/Computation/Basic.lean,Mathlib/Algebra/ContinuedFractions/Computation/CorrectnessTerminating.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean,Mathlib/Algebra/ContinuedFractions/ContinuantsRecurrence.lean,Mathlib/Algebra/ContinuedFractions/ConvergentsEquiv.lean,Mathlib/Algebra/DirectSum/Decomposition.lean,Mathlib/Algebra/DirectSum/Idempotents.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/Divisibility/Basic.lean,Mathlib/Algebra/Divisibility/Units.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/EuclideanDomain/Field.lean,Mathlib/Algebra/EuclideanDomain/Int.lean,Mathlib/Algebra/Exact.lean,Mathlib/Algebra/Field/Defs.lean,Mathlib/Algebra/Field/Periodic.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/Field/Subfield/Defs.lean,Mathlib/Algebra/FreeAlgebra.lean,Mathlib/Algebra/FreeMonoid/Basic.lean,Mathlib/Algebra/FreeMonoid/FreeSemigroup.lean,Mathlib/Algebra/FreeNonUnitalNonAssocAlgebra.lean,Mathlib/Algebra/GCDMonoid/Nat.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/End.lean,Mathlib/Algebra/Group/Action/Pretransitive.lean,Mathlib/Algebra/Group/Action/Prod.lean,Mathlib/Algebra/Group/AddChar.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Group/Center.lean,Mathlib/Algebra/Group/Commute/Defs.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Equiv/Basic.lean,Mathlib/Algebra/Group/Equiv/Defs.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Finsupp.lean,Mathlib/Algebra/Group/ForwardDiff.lean,Mathlib/Algebra/Group/Hom/CompTypeclasses.lean,Mathlib/Algebra/Group/Hom/Defs.lean |
2809 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
10-79858 10 days ago |
unknown |
0-0 0 seconds |
| 39382 |
fpvandoorn author:fpvandoorn |
feat: add some lemmas that closures of some sets are compact |
* Also tag them with `closedness`/`compactness`.
* This can be refactored to use `RelativelyCompact` once we define that notion.
* Note: this is only equivalent to `IsBounded` in `ProperSpace`. It is equivalent to `@IsBounded _ (inCompact X) s` in a T2-space, but the latter thing is cumbersome to write.
---
- [ ] depends on: #39371
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR |
265/11 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/GrindAttrs.lean,Mathlib/Topology/Basic.lean,Mathlib/Topology/Closure.lean,Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/ProperSpace.lean,Mathlib/Topology/Order/Compact.lean,Mathlib/Topology/Order/OrderClosed.lean,Mathlib/Topology/Separation/Basic.lean,Mathlib/Topology/Separation/Hausdorff.lean,MathlibTest/Compactness.lean |
14 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
10-76529 10 days ago |
11-4229 11 days ago |
0-359 5 minutes |
| 36541 |
BGuillemet author:BGuillemet |
feat(CategoryTheory): define internal equivalence relations |
Define internal equivalence relations in any category `C`, as a structure on parallel pairs of morphisms.
Prove that equivalence relations on types are equivalence relations in the category of types.
Prove that kernel pairs are equivalence relations.
Define (universally) effective equivalence relations, and a associated class for categories in which every equivalence relation is effective universal.
Prove that an effective equivalence relation yields a coequalizer diagram, and that the associated projection on the "quotient" of the relation is a regular epimorphism.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
320/0 |
Mathlib.lean,Mathlib/CategoryTheory/EquivalenceRelation.lean,Mathlib/CategoryTheory/Limits/Shapes/RegularMono.lean |
3 |
26 |
['BGuillemet', 'chrisflav', 'dagurtomas', 'github-actions', 'robin-carlier'] |
b-mehta assignee:b-mehta |
10-73942 10 days ago |
11-18708 11 days ago |
32-31367 32 days |
| 39387 |
marcelolynch author:marcelolynch |
feat(Tactic/Linter): add superfluousExpose linter |
Dual of `privateModule`: lints against modules with `@[expose] public section` where no declaration needs its body visible downstream. Suggests removing the `@[expose]` modifier.
A declaration 'benefits from exposure' iff its body matters to downstream typechecking: plain `def`, plain `inductive`, `@[match_pattern]` def, `@[irreducible] def` / `irreducible_def`, or a `@[to_additive]`-decorated def. Theorems, abbrevs, classes, structures, instances, `unsafe`/`partial` defs, compiler-generated auxiliaries, projections, matchers, and notation- generated parser entries do not.
The linter is conservative: known limitations produce a false negative (scoped/local instances and tactic-implementation defs may stay silent), never a false positive that would break downstream builds.
Includes test files covering positive and negative cases.
Relevant Zulip thread: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Removing.20unnecessary.20.60.40.5Bexpose.5D.60/with/595180230 |
t-linter
LLM-generated
|
897/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/SuperfluousExpose.lean,MathlibTest/Linter/SuperfluousExpose.lean,MathlibTest/Linter/SuperfluousExpose/Negative_ExposeInBlockComment.lean,MathlibTest/Linter/SuperfluousExpose/Negative_ExposeOnNonPublicSection.lean,MathlibTest/Linter/SuperfluousExpose/Negative_Inductive.lean,MathlibTest/Linter/SuperfluousExpose/Negative_InstPrefixedDef.lean,MathlibTest/Linter/SuperfluousExpose/Negative_IrreducibleDef.lean,MathlibTest/Linter/SuperfluousExpose/Negative_LocalInstance.lean,MathlibTest/Linter/SuperfluousExpose/Negative_MatchPattern.lean,MathlibTest/Linter/SuperfluousExpose/Negative_NoExposeSection.lean,MathlibTest/Linter/SuperfluousExpose/Negative_PlainDef.lean,MathlibTest/Linter/SuperfluousExpose/Negative_ScopedInstance.lean,MathlibTest/Linter/SuperfluousExpose/Negative_TermPrefixedDef.lean,MathlibTest/Linter/SuperfluousExpose/Negative_ToAdditive.lean,MathlibTest/Linter/SuperfluousExpose/Positive_AbbrevOnly.lean,MathlibTest/Linter/SuperfluousExpose/Positive_ClassOnly.lean,MathlibTest/Linter/SuperfluousExpose/Positive_Notation.lean,MathlibTest/Linter/SuperfluousExpose/Positive_PartialDef.lean,MathlibTest/Linter/SuperfluousExpose/Positive_Recursors.lean,MathlibTest/Linter/SuperfluousExpose/Positive_TheoremOnly.lean,MathlibTest/Linter/SuperfluousExpose/Positive_UnsafeDef.lean |
23 |
2 |
['eric-wieser', 'github-actions'] |
nobody |
10-69643 10 days ago |
unknown |
0-0 0 seconds |
| 37071 |
ericluap author:ericluap |
feat: Dedekind completion of rationals is isomorphic to EReal |
|
t-order
new-contributor
|
128/4 |
Mathlib.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Data/EReal/DedekindCut.lean,Mathlib/Order/Completion.lean |
4 |
55 |
['ericluap', 'github-actions', 'vihdzp', 'wwylele'] |
vihdzp assignee:vihdzp |
10-61755 10 days ago |
14-6596 14 days ago |
37-1779 37 days |
| 37183 |
dagurtomas author:dagurtomas |
feat(Tactic/CategoryTheory): map attribute |
Adding `@[map]` to a lemma named `H` of shape `∀ .., f = g`, where `f` and `g` are morphisms
in some category `C`, creates a new lemma named `H_map` of the form
`∀ .. {D} (func : C ⥤ D), F.map f = F.map g` and then applies
`simp only [Functor.map_comp, Functor.map_id]`.
---
[](https://gitpod.io/from-referrer/)
|
LLM-generated
t-meta
t-category-theory
|
290/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/Map.lean,MathlibTest/CategoryTheory/Map.lean,MathlibTest/CategoryTheory/MapSimp.lean |
5 |
11 |
['adamtopaz', 'dagurtomas', 'github-actions', 'joelriou'] |
kim-em assignee:kim-em |
10-60040 10 days ago |
34-48081 34 days ago |
60-45270 60 days |
| 38095 |
astrainfinita author:astrainfinita |
perf(Algebra/*/{InjSurj, TransferInstance}): reduce instance `Expr`s |
---
We can not just use `fast_instance%`, because `fast_instance%` reduces instances into constructor applications, but their arguments may still not be reduced.
This PR continues the work from #13795.
Original PR: https://github.com/leanprover-community/mathlib4/pull/13795
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/instance.20unfolding.20phenomenon/) |
t-algebra label:t-algebra$ |
401/219 |
Mathlib/Algebra/Field/Basic.lean,Mathlib/Algebra/Field/TransferInstance.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/TransferInstance.lean,Mathlib/Algebra/Group/InjSurj.lean,Mathlib/Algebra/Group/TransferInstance.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/End.lean,Mathlib/Algebra/GroupWithZero/Action/TransferInstance.lean,Mathlib/Algebra/GroupWithZero/InjSurj.lean,Mathlib/Algebra/Module/Defs.lean,Mathlib/Algebra/Module/RingHom.lean,Mathlib/Algebra/Ring/InjSurj.lean,Mathlib/Algebra/Ring/TransferInstance.lean,Mathlib/Util/TermReduce.lean,scripts/noshake.json |
16 |
7 |
['astrainfinita', 'github-actions', 'leanprover-radar'] |
jcommelin assignee:jcommelin |
10-60037 10 days ago |
39-50514 39 days ago |
39-53039 39 days |
| 38825 |
tb65536 author:tb65536 |
feat(RingTheory/Spectrum/FreeLocus): rank of fiber over residue field |
This PR proves the formula `finrank p.ResidueField (p.Fiber M) = finrank R M`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
9/0 |
Mathlib/RingTheory/Spectrum/Prime/FreeLocus.lean |
1 |
1 |
['github-actions'] |
jcommelin assignee:jcommelin |
10-60032 10 days ago |
23-70590 23 days ago |
23-70587 23 days |
| 39395 |
marcelolynch author:marcelolynch |
chore(Tactic/Linter): reword PrivateLinter suggestion |
This matches the granular-by-default philosophy of the new module system and produces files without superfluous `@[expose] public`, which we also want to flag as undesirable: we steer to making every @[expose] is per-decl and intentional, rather than section-wide
Relevant Zulip thread: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Removing.20unnecessary.20.60.40.5Bexpose.5D.60/with/595180230 |
t-linter |
11/8 |
Mathlib/Tactic/Linter/PrivateModule.lean,MathlibTest/PrivateModuleLinter/hasOnlyPrivate.lean,MathlibTest/PrivateModuleLinter/notation3.lean,MathlibTest/PrivateModuleLinter/reservedName2.lean |
4 |
3 |
['github-actions', 'grunweg', 'marcelolynch'] |
JovanGerb assignee:JovanGerb |
10-56453 10 days ago |
10-70559 10 days ago |
10-70554 10 days |
| 39392 |
jayscambler author:jayscambler |
feat(Cryptography): one-time pad and Shannon perfect secrecy |
Adds `Mathlib/Cryptography/OTP.lean`. One-time pad over an arbitrary
finite abelian group `G`:
- `OTP.encrypt k m := m + k`, `OTP.decrypt k c := c - k`.
- `OTP.correct`: `decrypt k (encrypt k m) = m`, by `abel`.
- `OTP.perfect_secrecy`: for any `m₀, m₁`, the distributions of
`encrypt k m₀` and `encrypt k m₁` over uniform `k` are equal;
both reduce to `PMF.uniformOfFintype G`. Proof goes via
`Equiv.addLeft`.
Independent of the Schnorr PR (#39279); no shared definitions. Unlike
everything else likely to live under `Mathlib/Cryptography/`, the
security guarantee here is information-theoretic, not computational.
**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) |
new-contributor
LLM-generated
|
76/0 |
Mathlib.lean,Mathlib/Cryptography/OTP.lean |
2 |
3 |
['MrBrain295', 'github-actions'] |
nobody |
10-55836 10 days ago |
10-78310 10 days ago |
10-78305 10 days |
| 34507 |
metakunt author:metakunt |
feat(NumberTheory/AKSPrimality): Adds the AKS primality test |
Adds the completed proof for the AKS primality test.
Everything except the final theorem is marked private as it's only needed for the final proof.
Also everything except the final theorem is namespaced with AKS.
----
Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Aks.20primality.20Theorem.206.2E1.20Claim.20.28i.29.20proven
- [ ] depends on: #39404 |
t-number-theory
awaiting-author
blocked-by-other-PR
|
645/0 |
Mathlib.lean,Mathlib/NumberTheory/AKSPrimality.lean |
2 |
61 |
['MichaelStollBayreuth', 'dagurtomas', 'github-actions', 'jcommelin', 'kim-em', 'mathlib-bors', 'mathlib-dependent-issues', 'metakunt', 'qawbecrdtey', 'tb65536', 'vihdzp'] |
tb65536 assignee:tb65536 |
10-47922 10 days ago |
10-84770 10 days ago |
76-34349 76 days |
| 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
|
216/2 |
Mathlib.lean,Mathlib/GameTheory/MatrixGame.lean,Mathlib/Topology/Sion.lean |
3 |
3 |
['github-actions', 'vihdzp'] |
nobody |
10-39113 10 days ago |
10-73043 10 days ago |
0-355 5 minutes |
| 28802 |
grunweg author:grunweg |
feat: a tactic linter for continuity/measurability which can be `fun_prop` |
---
Let's see if this finds further locations in mathlib :tada:
This PR also runs the linter in mathlib by default. I strongly think this is a good idea --- but leaves all kinds of fun questions around "where do you import this linter best". Opinions on this welcome; this PR is a first start (but no more).
[](https://gitpod.io/from-referrer/)
|
large-import
awaiting-CI
t-meta
|
72/0 |
Mathlib/Tactic/Continuity.lean,Mathlib/Tactic/Measurability.lean,MathlibTest/ContinuityToFunprop.lean |
3 |
15 |
['Vierkantor', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
10-27960 10 days ago |
275-23252 275 days ago |
0-260 4 minutes |
| 39296 |
scholzhannah author:scholzhannah |
feat: more informative output messages in the flexible linter |
The current output messages in the flexible linter are:
- If the stained location is a hypothesis:
`'exact h' uses 'h'!`
- If the stained location is the goal:
`'exact Nat.le_succ_of_le h' uses '⊢'!`
I think the first is not very informative and the second is additionally confusing. So I change them to read:
- For a hypothesis:
`'exact h' uses 'h', which was modified by a flexible tactic!`
- And for the goal:
`'exact Nat.le_succ_of_le h' modifies the current goal, which was modified by a flexible tactic!`
I also added some more explanation to the messages in the case that all the hypotheses and the goal were stained by `simp at *`.
---
[](https://gitpod.io/from-referrer/)
|
t-linter |
128/25 |
Mathlib/Tactic/Linter/FlexibleLinter.lean,MathlibTest/FlexibleLinter.lean,MathlibTest/ImportHeavyFlexibleLinter.lean |
3 |
6 |
['b-mehta', 'github-actions', 'grunweg', 'scholzhannah'] |
grunweg assignee:grunweg |
10-27695 10 days ago |
10-27695 10 days ago |
10-27690 10 days |
| 37745 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(RingTheory/AugmentationIdeal): base change for augmentation ideals |
Base change for augmentation ideals
Co-authored with: @mariainesdff
---
- [x] depends on: #37744
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
large-import
label:t-algebra$ |
441/1 |
Mathlib.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Module/Submodule/Range.lean,Mathlib/LinearAlgebra/Projection.lean,Mathlib/LinearAlgebra/Span/Defs.lean,Mathlib/LinearAlgebra/TensorProduct/Projection.lean,Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean,Mathlib/LinearAlgebra/TensorProduct/Submodule.lean,Mathlib/Order/Disjoint.lean,Mathlib/RingTheory/Ideal/IsAugmentation.lean,Mathlib/RingTheory/TensorProduct/Basic.lean |
12 |
18 |
['AntoineChambert-Loir', 'dagurtomas', 'github-actions', 'mathlib-dependent-issues'] |
nobody |
10-25175 10 days ago |
10-25246 10 days ago |
10-85617 10 days |
| 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
---
[](https://gitpod.io/from-referrer/)
Refined from #38777 |
t-algebra
delegated
label:t-algebra$ |
35/19 |
Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/End.lean,Mathlib/Algebra/Module/RingHom.lean |
5 |
5 |
['JJYYY-JJY', 'Vierkantor', 'eric-wieser', 'github-actions', 'mathlib-bors'] |
nobody |
10-21135 10 days ago |
10-21135 10 days ago |
8-53809 8 days |
| 22925 |
ggranberry author:ggranberry |
feat(Mathlib/PlaceHolder/ToeplitzHausdorff): Toeplitz-Hausdorff |
---
[](https://gitpod.io/from-referrer/)
|
WIP
new-contributor
will-close-soon
awaiting-author
help-wanted
t-analysis
|
411/0 |
Mathlib/PlaceHolder/ToeplitzHausdorff.lean,Mathlib/PlaceHolder/ToeplitzHausdorff_v2.lean |
2 |
16 |
['AntoineChambert-Loir', 'faenuccio', 'ggranberry', 'github-actions', 'vihdzp'] |
faenuccio assignee:faenuccio |
10-17640 10 days ago |
434-9149 434 days ago |
3-8649 3 days |
| 37534 |
EtienneC30 author:EtienneC30 |
feat: cardinality of subsets of a given cardinality |
Given a finite set `s`, the number of subsets of `s` with cardinality `n` is `s.ncard.choose n`. This is analog to [Finset.card_powersetCard](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Finset/Powerset.html#Finset.card_powersetCard) and [Set.powersetCard.card](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Set/PowersetCard.html#Set.powersetCard.card) but with a set of sets rather than involving finsets.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
22/0 |
Mathlib/Data/Set/Card.lean |
1 |
3 |
['EtienneC30', 'github-actions', 'joneugster'] |
joneugster assignee:joneugster |
10-14673 10 days ago |
10-14746 10 days ago |
52-17891 52 days |
| 39416 |
AlexBrodbelt author:AlexBrodbelt |
feat(Mathlib/Tactic/Group): Improved the group tactic |
The `group` tactic is improved to:
1. Once simplification on the exponents is done, apply left and right cancellation. That is, to normalise expressions like `a * b = a * c` to `b * c`
2. Apply a post-processing where expression of the form `( · )^(-1)` are normalised to use the inversion notation `( · )⁻¹`. This allows immediately being able to use lemmas involving inversion which is how most lemmas are stated.
There is another PR which adds some relevant tests.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
new-contributor
|
71/5 |
Mathlib/Tactic/Group.lean,MathlibTest/Group.lean |
2 |
1 |
['github-actions'] |
nobody |
10-14185 10 days ago |
10-14318 10 days ago |
0-51 51 seconds |
| 34088 |
kbuzzard author:kbuzzard |
perf(RingTheory/Kaehler/Polynomial): change universe name for speed-up |
Changing the choice of `R`'s universe to `v` from `u` in this file means that alphabetically it's after `u_1` which is a workaround for the issue described here https://github.com/leanprover/lean4/issues/12102 .
The bottom line is that Lean's defeq algorithm is now able to typecheck the `left_inv` and `right_inv` proofs in `KaehlerDifferential.mvPolynomialEquiv` over 200 times more quickly (for example `right_inv` goes from 54494621 heartbeats to 222096, i.e. from about 5 seconds to about 0.02 seconds on a typical machine).
---
[](https://gitpod.io/from-referrer/)
Before this PR, Lean was spending far too long in the proof fields of `KaehlerDifferential.mvPolynomialEquiv`, checking defeq on the following kinds of terms (with `pp.all` on):
```
[isDefEq] [815425.000000] ✅️ @Module.{max u u_1, max u_1 u}
(@MvPolynomial.{u_1, u} σ R (@CommRing.toCommSemiring.{u} R inst✝))
(@KaehlerDifferential.{u, max u_1 u} R
[20 lines omitted]
=?=
@Module.{max u u_1, max u u_1}
(@MvPolynomial.{u_1, u} σ R (@CommRing.toCommSemiring.{u} R inst✝))
(@KaehlerDifferential.{u, max u u_1} R
[pretty much the same 20 lines omitted except with max u_1 u replaced by max u u_1 sometimes]
```
with the crucial difference that the second universes in the terms are `max u_1 u` for the first and `max u u_1` for the second. The proofs were taking a few seconds to compile, and then after compilation the kernel was also taking a few seconds to typecheck them. The alphabetical hack in this PR stops this happening and Lean's defeq algorithm now terminates essentially instantly on these terms.
Zulip thread: [#mathlib4 > KaehlerDifferential.mvPolynomialEquiv typechecking @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/KaehlerDifferential.2EmvPolynomialEquiv.20typechecking/near/568614162) |
t-ring-theory
WIP
|
5/1 |
Mathlib/RingTheory/Kaehler/Polynomial.lean |
1 |
43 |
['Vierkantor', 'erdOne', 'github-actions', 'j-loreaux', 'kbuzzard', 'leanprover-radar', 'mattrobball'] |
chrisflav assignee:chrisflav |
10-14022 10 days ago |
106-82556 106 days ago |
8-42588 8 days |
| 39178 |
yuanyi-350 author:yuanyi-350 |
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Measure/PreVariation` |
- refactors `Mathlib/MeasureTheory/Measure/PreVariation` by simplifying `sum_le'` and `sum_le_preVariationFun_of_subset`
Extracted from #38104
[](https://gitpod.io/from-referrer/)
|
codex
LLM-generated
t-measure-probability
|
6/20 |
Mathlib/MeasureTheory/Measure/PreVariation.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
nobody |
10-13294 10 days ago |
14-35038 14 days ago |
14-35033 14 days |
| 35685 |
riccardobrasca author:riccardobrasca |
feat: reduce the use of Classical.choice |
## Let's avoid the axiom of choice!
This PR is an experiment in developing a version of `mathlib` that minimizes uses of the axiom of choice, especially in basic declarations.
For example, [Finset.image](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Finset/Image.html#Finset.image) currently depends on the axiom of choice in `mathlib` but not on this branch.
You can use this PR branch just like any other `mathlib` PR branch, in particular the cache system should work normally (you may get a warning to run `lake exe cache get` manually though, just do it). However, you may notice that it uses a custom `lean4` toolchain. The reason is that Lean core itself currently contains results that rely on choice (in particular, via uses of `grind`). Indeed, this branch uses a custom Lean toolchain built from our fork, currently [this version](https://github.com/riccardobrasca/lean4/releases/latest). You can inspect the diff vs `master` [here](https://github.com/leanprover/lean4/compare/master...riccardobrasca:lean4:less_choice) (this diff also contains some GitHub workflow changes, which can be ignored).
For the same reason, we also use a custom version of `batteries`, found at the branch [`less_choice`](https://github.com/riccardobrasca/batteries/tree/less_choice). You can see the diff [here](https://github.com/leanprover-community/batteries/compare/main...riccardobrasca:batteries:less_choice).
### Does it work?
If you want to count how many declarations depend on choice (on this branch or on `master`), you can use the following script, written by [Robin Arnez](https://github.com/Rob23oba) and Paul Lezeau (thanks!).
```lean
import Mathlib
open Lean
structure State where
visited : NameMap Bool := {}
abbrev M := ReaderT Environment <| StateM (NameMap Bool)
partial def collect (c : Name) : M Bool := do
let collectExpr (e : Expr) : M Bool := e.getUsedConstants.anyM collect
let s ← get
if let some res := s.find? c then
return res
let env ← read
modify fun s => s.insert c false
let res ← match env.checked.get.find? c with
| some (ConstantInfo.axiomInfo v) => collectExpr v.type
| some (ConstantInfo.defnInfo v) => collectExpr v.type <||> collectExpr v.value
| some (ConstantInfo.thmInfo v) => collectExpr v.type <||> collectExpr v.value
| some (ConstantInfo.opaqueInfo v) => collectExpr v.type <||> collectExpr v.value
| some (ConstantInfo.quotInfo _) => pure false
| some (ConstantInfo.ctorInfo v) => collectExpr v.type
| some (ConstantInfo.recInfo v) => collectExpr v.type
| some (ConstantInfo.inductInfo v) => collectExpr v.type <||> v.ctors.anyM collect
| none => pure false
modify fun s => s.insert c res
return res
partial def collectAll : M (Nat × Nat) := do
modify fun s => s.insert ``Classical.choice true
let env ← read
let mut count := 0
let mut total := 0
for (constName, _) in env.constants do
total := total + 1
let hasChoice ← collect constName
if hasChoice then count := count + 1
return (count, total)
run_cmd do
let env ← getEnv
let (count, total) := collectAll.run env |>.run' {}
let pctTimes10 := if total = 0 then 0 else (count * 1000 + total / 2) / total
let pctWhole := pctTimes10 / 10
let pctDecimal := pctTimes10 % 10
Lean.logInfo m!"Found {count} constants depending on Classical.choice out of {total} total ({pctWhole}.{pctDecimal}%)"
```
Currently, we have 383493 declaration that depend on choice, over 722290 in total (53.1%). For comparison, `master` has 391709 use of choice (54.2%). More than eight thousands declarations have become choice free!
### Can I contribute?
Yes! If you want to help just open a PR in the usual way (to the forks!). Note that I plan to update core not very often, probably only once a month, when `mathlib` does so.
### How to Remove the Dependency on Choice from a declaration?
First of all, note that #print axioms does not work with the new module system. If you want to check whether `X` depends on choice, you should create a new file starting with `import Mathlib` and use `#print axioms foo`.
If `X` depends on choice and you want to remove that dependency, there are several steps to consider (for simplicity, we focus on the case where `X` is a theorem):
* The first question is mathematical: do you have a choice-free proof? Remember that this means a proof that does not use the law of excluded middle. An important remark is that if the answer is not “yes, this result is trivial”, then it is going to be *very hard* to do this in `mathlib`. At the moment, it is better to stick to mathematically trivial or very easy declarations.
* `mathlib` is *very* intricate. It is very likely that the proof of `X` consists of just a couple of lines invoking `Y` and `Z`, which are often mathematically almost identical to `X`. In that case, removing choice from `X` amounts to removing choice from `Y` and `Z`. And the same situation may very well arise again for `Y` and `Z`.
* In practice, you will quickly find yourself asking: “Where is choice *really* introduced?” To answer this question, you can use the following script:
```lean
import Mathlib
open Lean Meta Elab Command
namespace ChoiceDeps
abbrev DepSet := Std.HashSet Name
abbrev ChoiceMemo := NameMap Bool
def addExprDeps (deps : DepSet) (e : Expr) : DepSet :=
Id.run <| do
let mut out := deps
for c in e.getUsedConstants do
out := out.insert c
return out
def directDeps (env : Environment) (decl : Name) : DepSet :=
let deps := match env.checked.get.find? decl with
| some (.axiomInfo v) =>
addExprDeps {} v.type
| some (.defnInfo v) =>
addExprDeps (addExprDeps {} v.type) v.value
| some (.thmInfo v) =>
addExprDeps (addExprDeps {} v.type) v.value
| some (.opaqueInfo v) =>
addExprDeps (addExprDeps {} v.type) v.value
| some (.quotInfo _) =>
{}
| some (.ctorInfo v) =>
addExprDeps {} v.type
| some (.recInfo v) =>
addExprDeps {} v.type
| some (.inductInfo v) =>
v.ctors.foldl (init := addExprDeps {} v.type) fun acc c => acc.insert c
| none =>
{}
deps.erase decl
partial def transitiveDeps (env : Environment) (root : Name) : DepSet :=
let rec visit (decl : Name) (visited : DepSet) : DepSet :=
if visited.contains decl then
visited
else
(directDeps env decl).toArray.foldl (init := visited.insert decl) fun acc dep =>
visit dep acc
(visit root {}).erase root
partial def dependsOnChoiceM (env : Environment) (decl : Name) : StateM ChoiceMemo Bool := do
let memo ← get
if let some b := memo.find? decl then
return b
modify fun s => s.insert decl false
let deps := directDeps env decl
if deps.contains ``Classical.choice then
modify fun s => s.insert decl true
return true
let rec go (i : Nat) (arr : Array Name) : StateM ChoiceMemo Bool := do
if h : i < arr.size then
let d := arr[i]
if ← dependsOnChoiceM env d then
return true
go (i + 1) arr
else
return false
let res ← go 0 deps.toArray
modify fun s => s.insert decl res
return res
def choiceDependencyGraph (env : Environment) (root : Name)
: Array Name × NameMap (Array Name) :=
let work : StateM ChoiceMemo (Array Name × NameMap (Array Name)) := do
let mut bfsOrder : Array Name := #[]
let mut graph : NameMap (Array Name) := {}
let mut queue : Array Name := #[root]
let mut qHead := 0
let mut visited : DepSet := {}
while qHead < queue.size do
let current := queue[qHead]!
qHead := qHead + 1
if visited.contains current then continue
if !(← dependsOnChoiceM env current) then continue
visited := visited.insert current
bfsOrder := bfsOrder.push current
let allDeps := directDeps env current
let mut choiceDeps : Array Name := #[]
if allDeps.contains ``Classical.choice then
choiceDeps := choiceDeps.push ``Classical.choice
for d in allDeps.toArray.qsort Name.quickLt do
if d == ``Classical.choice then continue
if ← dependsOnChoiceM env d then
choiceDeps := choiceDeps.push d
if !visited.contains d then
queue := queue.push d
graph := graph.insert current choiceDeps
return (bfsOrder, graph)
work.run' {}
def formatGraph (bfsOrder : Array Name) (graph : NameMap (Array Name)) : MessageData :=
let lines := bfsOrder.toList.filterMap fun n =>
match graph.find? n with
| none => none
| some deps =>
let depsMsg := MessageData.joinSep (deps.toList.map fun d => m!"{.ofConstName d}") ", "
some m!"{.ofConstName n} → {depsMsg}"
MessageData.joinSep lines "\n"
private def dotNode (n : Name) : String := "\"" ++ n.toString ++ "\""
/-- Produce a Graphviz DOT string for the choice-dependency graph.
Paste it at https://dreampuf.github.io/GraphvizOnline -/
def formatDot (root : Name) (bfsOrder : Array Name) (graph : NameMap (Array Name)) : String :=
let edges : Array String := bfsOrder.foldl (init := #[]) fun acc n =>
match graph.find? n with
| none => acc
| some deps => deps.foldl (init := acc) fun acc2 d =>
acc2.push s!" {dotNode n} -> {dotNode d};"
let allNodes : Array String := bfsOrder.foldl (init := #[dotNode ``Classical.choice ++ " [shape=diamond, style=filled, fillcolor=tomato]"]) fun acc n =>
if n == ``Classical.choice then acc
else if n == root then
acc.push s!"{dotNode n} [style=filled, fillcolor=lightblue]"
else
acc.push s!"{dotNode n} [style=filled, fillcolor=lightyellow]"
let body := ((allNodes.map fun s => " " ++ s) ++ edges).toList
"digraph choice_deps {\n rankdir=TB;\n node [fontname=\"Helvetica\", fontsize=10];\n" ++
"\n".intercalate body ++
"\n}"
syntax (name := printChoiceDeps) "#print " &"choice_deps_on_choice" ppSpace ident : command
syntax (name := printChoiceDepsDot) "#print " &"choice_deps_on_choice_dot" ppSpace ident : command
elab_rules : command
| `(#print choice_deps_on_choice $id:ident) => do
let targets ← liftCoreM <| realizeGlobalConstWithInfos id
let env ← getEnv
for target in targets do
let (bfsOrder, graph) := choiceDependencyGraph env target
if graph.isEmpty then
logInfo m!"{.ofConstName target}: no dependency on Classical.choice"
else
logInfo m!"{.ofConstName target}:\n{formatGraph bfsOrder graph}"
elab_rules : command
| `(#print choice_deps_on_choice_dot $id:ident) => do
let targets ← liftCoreM <| realizeGlobalConstWithInfos id
let env ← getEnv
for target in targets do
let (bfsOrder, graph) := choiceDependencyGraph env target
if graph.isEmpty then
logInfo m!"{.ofConstName target}: no dependency on Classical.choice"
else
let dot := formatDot target bfsOrder graph
IO.FS.writeFile "graph.dot" dot
logInfo m!"DOT graph written to graph.dot\n\n{dot}"
end ChoiceDeps
/-
Example:
#print choice_deps_on_choice Finset.univ_eq_empty
#print choice_deps_on_choice_dot Finset.univ_eq_empty -- paste output into GraphvizOnline
-/
```
* `#print choice_deps_on_choice_dot X` produces a file (text) `graph.dot`: you can copy/paste the content in [https://dreampuf.github.io/GraphvizOnline/](https://dreampuf.github.io/GraphvizOnline/) the see the dependency graph of declaration used in the proof of `X` that depend on choice. Note that those are ordered from `X` to choice (so the first node is always `X` and the last is always choice). An arrow (to the bottom) from `Y` to `Z` means that `Z` is used in the proof of `Y` and the goal is to change some proof (i.e. modifying the arrows) to disconnect `X` from choice. In the low part of the graph you will usually identify an area of declarations really equivalent to choice (usually everything starting with `Classical.` and everything containing `grind` in the name, plus various other stuff) you should of course treat those as they are choice, it's useless to try to touch this area. It's sometimes not easy to guess where to "attack" the graph, but it's fun, enjoy!
---
The github workflow files have been copied from Matthew Ballard's [repository](https://github.com/mattrobball/lean4/tree/eqvModLevels/.github/workflows). We thank Matthew for his work. |
merge-conflict |
318/88 |
Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/Order/Group/Multiset.lean,Mathlib/Data/Fin/SuccPred.lean,Mathlib/Data/Finset/Basic.lean,Mathlib/Data/Finset/BooleanAlgebra.lean,Mathlib/Data/Finset/Insert.lean,Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Finset/SDiff.lean,Mathlib/Data/List/Dedup.lean,Mathlib/Data/List/Lattice.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/List/Perm/Lattice.lean,Mathlib/Data/Multiset/Bind.lean,Mathlib/Data/Multiset/Count.lean,Mathlib/Data/Multiset/UnionInter.lean,Mathlib/Data/Rat/Defs.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/Order/BooleanAlgebra/Basic.lean,Mathlib/Order/Interval/Finset/Defs.lean,Mathlib/Order/Interval/Finset/Nat.lean,lake-manifest.json,lakefile.lean,lean-toolchain |
24 |
6 |
['github-actions', 'mathlib-merge-conflicts', 'mattrobball', 'riccardobrasca'] |
nobody |
10-10865 10 days ago |
unknown |
0-0 0 seconds |
| 39417 |
kbuzzard author:kbuzzard |
perf: make `Ring` extend `AddCommGroupWithOne` |
`NonAssocRing` already has this pattern.
---
[](https://gitpod.io/from-referrer/)
This PR was entirely AI-generated but I have read it and am happy with both of the changed lines. |
WIP
t-algebra
label:t-algebra$ |
2/2 |
Mathlib/Algebra/Ring/Defs.lean,Mathlib/FieldTheory/PolynomialGaloisGroup.lean |
2 |
4 |
['github-actions', 'kbuzzard', 'leanprover-radar', 'plp127'] |
nobody |
10-8175 10 days ago |
10-10622 10 days ago |
0-78 1 minute |
| 39117 |
joelriou author:joelriou |
feat(CategoryTheory): the right derived functor commutes with the shift |
A few lemmas are obtained about precomposing and postcomposing left/right Kan extensions or right/left derived functors with equivalences of categories. By applying these results to the equivalences given by shifts, we construct a family of isomorphisms which shows that the right derived functor commutes with shifts, and by proving certain compatibilities, we obtain a `Functor.CommShift` instance of the right derived functor of a functor which commutes with shifts.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
large-import
awaiting-author
|
413/9 |
Mathlib.lean,Mathlib/CategoryTheory/Functor/Derived/LeftDerived.lean,Mathlib/CategoryTheory/Functor/Derived/RightDerived.lean,Mathlib/CategoryTheory/Functor/Derived/RightDerivedCommShift.lean,Mathlib/CategoryTheory/Functor/KanExtension/AdjunctionPreserves.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Shift/CommShift.lean,Mathlib/CategoryTheory/Shift/Localization.lean |
8 |
10 |
['dagurtomas', 'github-actions', 'joelriou', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
10-7072 10 days ago |
12-2828 12 days ago |
3-2306 3 days |
| 39386 |
MichaelStollBayreuth author:MichaelStollBayreuth |
chore: shake --keep-implied --keep-prefix --fix |
---
[](https://gitpod.io/from-referrer/)
|
WIP
tech debt
large-import
merge-conflict
|
113346/9457 |
Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/AddConstMap/Equiv.lean,Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/AddTorsor/Defs.lean,Mathlib/Algebra/AffineMonoid/Basic.lean,Mathlib/Algebra/AffineMonoid/Embedding.lean,Mathlib/Algebra/AffineMonoid/Irreducible.lean,Mathlib/Algebra/AffineMonoid/UniqueSums.lean,Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Algebra/Epi.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Field.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Hom/Rat.lean,Mathlib/Algebra/Algebra/IsSimpleRing.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Opposite.lean,Mathlib/Algebra/Algebra/Pi.lean,Mathlib/Algebra/Algebra/Prod.lean,Mathlib/Algebra/Algebra/Rat.lean,Mathlib/Algebra/Algebra/RestrictScalars.lean,Mathlib/Algebra/Algebra/Shrink.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/Algebra/Spectrum/Pi.lean,Mathlib/Algebra/Algebra/Spectrum/Quasispectrum.lean,Mathlib/Algebra/Algebra/StrictPositivity.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/MulOpposite.lean,Mathlib/Algebra/Algebra/Subalgebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Order.lean,Mathlib/Algebra/Algebra/Subalgebra/Pi.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/Algebra/Subalgebra/Prod.lean,Mathlib/Algebra/Algebra/Subalgebra/Rank.lean,Mathlib/Algebra/Algebra/Subalgebra/Tower.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/Azumaya/Basic.lean,Mathlib/Algebra/Azumaya/Defs.lean,Mathlib/Algebra/Azumaya/Matrix.lean,Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/BigOperators/Balance.lean,Mathlib/Algebra/BigOperators/Expect.lean,Mathlib/Algebra/BigOperators/Field.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/Gaps.lean,Mathlib/Algebra/BigOperators/Group/Finset/Indicator.lean,Mathlib/Algebra/BigOperators/Group/Finset/Interval.lean,Mathlib/Algebra/BigOperators/Group/Finset/Lemmas.lean,Mathlib/Algebra/BigOperators/Group/Finset/Pi.lean,Mathlib/Algebra/BigOperators/Group/Finset/Piecewise.lean,Mathlib/Algebra/BigOperators/Group/Finset/Powerset.lean,Mathlib/Algebra/BigOperators/Group/Finset/Preimage.lean,Mathlib/Algebra/BigOperators/Group/Finset/Sigma.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.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/Action.lean,Mathlib/Algebra/BigOperators/GroupWithZero/Finset.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/BigOperators/ModEq.lean,Mathlib/Algebra/BigOperators/Module.lean,Mathlib/Algebra/BigOperators/NatAntidiagonal.lean,Mathlib/Algebra/BigOperators/Option.lean,Mathlib/Algebra/BigOperators/Pi.lean,Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Algebra/BigOperators/Ring/List.lean,Mathlib/Algebra/BigOperators/Ring/Multiset.lean,Mathlib/Algebra/BigOperators/Ring/Nat.lean,Mathlib/Algebra/BigOperators/RingEquiv.lean,Mathlib/Algebra/BigOperators/Sym.lean,Mathlib/Algebra/BigOperators/WithTop.lean,Mathlib/Algebra/BrauerGroup/Defs.lean,Mathlib/Algebra/Category/AlgCat/Basic.lean,Mathlib/Algebra/Category/AlgCat/Limits.lean,Mathlib/Algebra/Category/AlgCat/Monoidal.lean,Mathlib/Algebra/Category/AlgCat/Symmetric.lean,Mathlib/Algebra/Category/BialgCat/Basic.lean,Mathlib/Algebra/Category/BialgCat/Monoidal.lean,Mathlib/Algebra/Category/BoolRing.lean,Mathlib/Algebra/Category/CoalgCat/Basic.lean |
7976 |
3 |
['MichaelStollBayreuth', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
10-5662 10 days ago |
10-85894 10 days ago |
0-2 2 seconds |
| 36218 |
Brian-Nugent author:Brian-Nugent |
feat(CategoryTheory): Add exact sequences for Sheaf Cohomology |
In this PR, I add the long exact sequence for sheaf cohomology as well as prove that it is functorial. Since sheaf cohomology is defined in terms of `Ext`, this is done using the covariant sequence for `Ext`.
---
- [x] depends on: #34742
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
229/1 |
Mathlib.lean,Mathlib/Algebra/Homology/SpectralObject/Page.lean,Mathlib/CategoryTheory/ComposableArrows/Basic.lean,Mathlib/CategoryTheory/Sites/SheafCohomology/ExactSequences.lean |
4 |
29 |
['Brian-Nugent', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
robin-carlier assignee:robin-carlier |
10-2044 10 days ago |
10-2044 10 days ago |
12-27692 12 days |
| 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
|
44/0 |
Mathlib/Topology/Algebra/Group/Basic.lean |
1 |
7 |
['eric-wieser', 'github-actions', 'm13683320924-hue'] |
nobody |
10-1993 10 days ago |
12-77807 12 days ago |
0-1401 23 minutes |
| 39315 |
marcelolynch author:marcelolynch |
chore: bulk strip @[expose] from public sections |
Removed `@[expose]` from `section` headers, flipping each file's default from bodies-exposed to bodies-hidden.
This was done with a naive automated process that tried removing the annotation + rebuilding each module, then a global build reverting any failures.
A second pass used the compiler hints to reapply @[expose] only to certain definitions within the section.
Most high-density `@[expose] section` files were filtered out; smarter automation might still give us some mechanically hideable defs (namely, without any proof changes) inside particular sections that could still be exposed. |
awaiting-author |
279/239 |
Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/Azumaya/Defs.lean,Mathlib/Algebra/Category/AlgCat/Limits.lean,Mathlib/Algebra/Category/CommAlgCat/FiniteType.lean,Mathlib/Algebra/Category/FGModuleCat/Colimits.lean,Mathlib/Algebra/Category/FGModuleCat/EssentiallySmall.lean,Mathlib/Algebra/Category/FGModuleCat/Limits.lean,Mathlib/Algebra/Category/Grp/Abelian.lean,Mathlib/Algebra/Category/Grp/Images.lean,Mathlib/Algebra/Category/Grp/IsFinite.lean,Mathlib/Algebra/Category/Grp/LeftExactFunctor.lean,Mathlib/Algebra/Category/ModuleCat/Abelian.lean,Mathlib/Algebra/Category/ModuleCat/Algebra.lean,Mathlib/Algebra/Category/ModuleCat/Descent.lean,Mathlib/Algebra/Category/ModuleCat/Free.lean,Mathlib/Algebra/Category/ModuleCat/LeftResolution.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pullback.lean,Mathlib/Algebra/Category/ModuleCat/Products.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackContinuous.lean,Mathlib/Algebra/Category/ModuleCat/Subobject.lean,Mathlib/Algebra/Category/ModuleCat/Tannaka.lean,Mathlib/Algebra/Category/MonCat/Colimits.lean,Mathlib/Algebra/Category/Ring/EqualizerPushout.lean,Mathlib/Algebra/Category/Ring/Small.lean,Mathlib/Algebra/Category/Ring/Under/Property.lean,Mathlib/Algebra/ContinuedFractions/Computation/CorrectnessTerminating.lean,Mathlib/Algebra/ContinuedFractions/ConvergentsEquiv.lean,Mathlib/Algebra/DirectSum/Idempotents.lean,Mathlib/Algebra/Expr.lean,Mathlib/Algebra/Field/MinimalAxioms.lean,Mathlib/Algebra/Group/Action/Option.lean,Mathlib/Algebra/Group/Action/Sigma.lean,Mathlib/Algebra/Group/Action/Sum.lean,Mathlib/Algebra/GroupWithZero/Action/Pointwise/Finset.lean,Mathlib/Algebra/HierarchyDesign.lean,Mathlib/Algebra/Homology/BifunctorFlip.lean,Mathlib/Algebra/Homology/BifunctorHomotopy.lean,Mathlib/Algebra/Homology/EulerCharacteristic.lean,Mathlib/Algebra/Homology/HomologicalComplexBiprod.lean,Mathlib/Algebra/Homology/HomotopyCategory/ShortExact.lean,Mathlib/Algebra/Homology/ModelCategory/Lifting.lean,Mathlib/Algebra/Homology/Monoidal.lean,Mathlib/Algebra/Homology/ShortComplex/ConcreteCategory.lean,Mathlib/Algebra/Homology/SpectralObject/FirstPage.lean,Mathlib/Algebra/Homology/Square.lean,Mathlib/Algebra/Homology/TotalComplexSymmetry.lean,Mathlib/Algebra/Lie/Graded.lean,Mathlib/Algebra/Lie/SerreConstruction.lean,Mathlib/Algebra/Module/Presentation/RestrictScalars.lean,Mathlib/Algebra/MonoidAlgebra/Grading.lean,Mathlib/Algebra/MonoidAlgebra/PointwiseSMul.lean,Mathlib/Algebra/MvPolynomial/Counit.lean,Mathlib/Algebra/MvPolynomial/Derivation.lean,Mathlib/Algebra/MvPolynomial/PDeriv.lean,Mathlib/Algebra/NonAssoc/LieAdmissible/Defs.lean,Mathlib/Algebra/Order/Floor/Div.lean,Mathlib/Algebra/Order/Group/Action/End.lean,Mathlib/Algebra/Order/Group/End.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean,Mathlib/Algebra/Order/Quantale.lean,Mathlib/Algebra/Polynomial/Basis.lean,Mathlib/Algebra/Polynomial/Module/TensorProduct.lean,Mathlib/Algebra/Polynomial/RuleOfSigns.lean,Mathlib/Algebra/Polynomial/Sequence.lean,Mathlib/Algebra/Polynomial/SumIteratedDerivative.lean,Mathlib/Algebra/Ring/Pointwise/Finset.lean,Mathlib/Algebra/Star/Free.lean,Mathlib/AlgebraicTopology/ModelCategory/Basic.lean,Mathlib/AlgebraicTopology/ModelCategory/Over.lean,Mathlib/Analysis/Calculus/Gradient/Basic.lean,Mathlib/Analysis/Polynomial/Norm.lean,Mathlib/CategoryTheory/Abelian/EpiWithInjectiveKernel.lean,Mathlib/CategoryTheory/Abelian/Preradical/Radical.lean,Mathlib/CategoryTheory/Adjunction/AdjointFunctorTheorems.lean,Mathlib/CategoryTheory/Bicategory/Kan/Adjunction.lean,Mathlib/CategoryTheory/Category/Cat/Adjunction.lean,Mathlib/CategoryTheory/Comma/Presheaf/Colimit.lean,Mathlib/CategoryTheory/Distributive/Monoidal.lean,Mathlib/CategoryTheory/Enriched/EnrichedCat.lean,Mathlib/CategoryTheory/Extensive.lean,Mathlib/CategoryTheory/FiberedCategory/Cocartesian.lean,Mathlib/CategoryTheory/FiberedCategory/Fibered.lean,Mathlib/CategoryTheory/Filtered/Small.lean,Mathlib/CategoryTheory/Functor/Derived/PointwiseLeftDerived.lean,Mathlib/CategoryTheory/Functor/Functorial.lean,Mathlib/CategoryTheory/Functor/ReflectsIso/Limits.lean,Mathlib/CategoryTheory/Generator/HomologicalComplex.lean,Mathlib/CategoryTheory/GradedObject/Braiding.lean,Mathlib/CategoryTheory/Join/Final.lean,Mathlib/CategoryTheory/Limits/FinallySmall.lean,Mathlib/CategoryTheory/Limits/FunctorCategory/Shapes/Kernels.lean,Mathlib/CategoryTheory/Limits/FunctorCategory/Shapes/Products.lean,Mathlib/CategoryTheory/Limits/Indization/Category.lean,Mathlib/CategoryTheory/Limits/Indization/FilteredColimits.lean,Mathlib/CategoryTheory/Limits/Indization/LocallySmall.lean,Mathlib/CategoryTheory/Limits/Indization/ParallelPair.lean,Mathlib/CategoryTheory/Limits/Pi.lean,Mathlib/CategoryTheory/Limits/Preserves/BifunctorCokernel.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Kernels.lean,Mathlib/CategoryTheory/Limits/Preserves/Yoneda.lean |
237 |
15 |
['b-mehta', 'downstream-reports-automation', 'github-actions', 'grunweg', 'jcommelin', 'leanprover-radar', 'marcelolynch'] |
nobody |
9-85076 9 days ago |
11-57070 11 days ago |
0-22373 6 hours |
| 38899 |
thorimur author:thorimur |
feat: `#scope` |
This PR is the first step in creating a toolset of (transient) utilities for assisting with moving declaration commands between files (including sorting out their dependencies, and integrating their needs into the new location).
Capturing the current scope necessary for the command is the first task, and to that end this PR contributes the command `#scope`, which reifies the current scope into portable syntax. `#scope` by itself produces a try-this suggestion placing a scope specification after `#scope`, of the following form:
```
#scope
(@[expose])? (public)? (noncomputable)? (section)? scope
(universe ...)?
(namespace ...)?
(open @id₁ @id₂ ...)?
(open scoped @id₁ @id₂ ...)?
(set_options key₁ val₁, key₂ val₂ ...)?
(variable ...)?
(include ...)?
(omit ...)?
```
This is intended to fully capture the "semantic" aspects of the current scope, but not the full scope stack (and so e.g. disregards `section`s). Likewise this slightly-unusual syntax (e.g. `open @Foo` instead of `open Foo`) is intended to act as a portable record of the open declaration which can be acted on by automation, and to discourage interpretation as a "normal" `open` statement.
By itself, this is only a slightly odd `#where`. Future PRs (e.g. #38900) will build on this in order to provide a suite of tools for transporting scopes between files and managing them once there, making it easier to move declarations.
---
[](https://gitpod.io/from-referrer/)
|
t-meta
awaiting-author
|
513/3 |
Mathlib.lean,Mathlib/Lean/Elab/Options.lean,Mathlib/Lean/Name.lean,Mathlib/Util/Scope.lean,MathlibTest/Scope.lean |
5 |
12 |
['JovanGerb', 'Vierkantor', 'github-actions', 'thorimur'] |
JovanGerb assignee:JovanGerb |
9-84231 9 days ago |
12-3483 12 days ago |
9-32375 9 days |
| 39429 |
lecopivo author:lecopivo |
feat: IsOfAsymptoticClassAt measure asymptotic behavior of functions |
The idea behind `IsOfAsymptoticClassAt` is to measure asymptotic behavior of a function which we can be used to reason about integrability of a function.
[](https://gitpod.io/from-referrer/)
|
t-analysis |
346/0 |
Mathlib/Analysis/Asymptotics/AsymptoticClass.lean |
1 |
2 |
['github-actions', 'mathlib-bors'] |
nobody |
9-84053 9 days ago |
9-84128 9 days ago |
0-8 8 seconds |
| 38900 |
thorimur author:thorimur |
feat: `#scope!` |
This PR extends `#scope ` to `#scope! `, which resets the current scope to match the scope specification. This is intended to enable a user to flip back and forth between having the scope specification, which may have been created in a separate scope and separate file, inactive (`#scope`) and active (`#scope!`), to observe the effects on subsequent commands and declarations.
---
- [ ] depends on: #38899
[](https://gitpod.io/from-referrer/)
|
t-meta
blocked-by-other-PR
|
773/3 |
Mathlib.lean,Mathlib/Lean/Elab/Options.lean,Mathlib/Lean/Name.lean,Mathlib/Util/Scope.lean,MathlibTest/Scope.lean |
5 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
9-83819 9 days ago |
unknown |
0-0 0 seconds |
| 39339 |
marcelolynch author:marcelolynch |
ci: add !downstream-check PR-validation workflow |
Adds a comment-triggered workflow that lets maintainers validate a mathlib4 PR against curated downstream Lean projects. A user comments
!downstream-check FLT, Toric --merge-branch, carleson@v1.2.3
on a PR and the workflow:
* gates the commenter on `author_association ∈ {OWNER, MEMBER, COLLABORATOR}`
* calls `scripts/pr_check_downstream/validate_names.sh` from mathlib-ci to parse the grammar + resolve the PR's merge ref
* mints an App token and dispatches the heavy build workflow `mathlib-pr-validation.yml` in `leanprover-community/downstream-reports`,
* posts an ack comment on the PR
Grammar (each comma-separated entry):
[@] [--merge-branch]
* `` — inventory short name (e.g. `FLT`) or GitHub `owner/repo` slug. Resolved by the dispatched workflow.
* `@` — optional. Any git refspec for the downstream's checkout.
* `--merge-branch` — optional, per entry. Flips that entry from the default LKG mode (cherry-pick PR onto the downstream's last-known- good mathlib) to merge mode (build against the PR's merge tree).
The dispatched workflow does the actual `git clone` / `lake build` work on `leanprover-community/downstream-reports`'s self-hosted runner pool (no CI secrets in scope), and posts one consolidated result comment back to the PR.
Companion changes:
* leanprover-community/mathlib-ci#37 — the `validate_names.sh` and `post_ack_comment.sh` scripts this workflow invokes (separate PR).
|
CI |
168/0 |
.github/workflows/pr_check_downstream.yml |
1 |
1 |
['github-actions'] |
bryangingechen assignee:bryangingechen |
9-82023 9 days ago |
unknown |
0-0 0 seconds |
| 39432 |
DavidLedvinka author:DavidLedvinka |
feat: HasBoundedENorm |
|
t-analysis |
133/0 |
Mathlib/Analysis/Normed/Group/HasBoundedENorm.lean |
1 |
1 |
['github-actions'] |
nobody |
9-81593 9 days ago |
unknown |
0-0 0 seconds |
| 39424 |
kbuzzard author:kbuzzard |
chore(Algebra/Field/Defs): add `Ring K` as direct extends arm of `Field` |
---
[](https://gitpod.io/from-referrer/)
(potentially ridiculous Claude idea) |
WIP
t-algebra
label:t-algebra$ |
4/1 |
Mathlib/Algebra/Field/Defs.lean |
1 |
8 |
['github-actions', 'kbuzzard', 'leanprover-radar'] |
nobody |
9-79553 9 days ago |
9-86019 9 days ago |
0-8 8 seconds |
| 39445 |
justus-springer author:justus-springer |
feat(AlgebraicGeometry/Birational): composition of rational maps |
Define composition of partial and rational maps.
- [ ] depends on: #39442
- [ ] depends on: #39443
- [ ] depends on: #39317
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
blocked-by-other-PR
|
443/13 |
Mathlib.lean,Mathlib/AlgebraicGeometry/Birational/Composition.lean,Mathlib/AlgebraicGeometry/Birational/Dominant.lean,Mathlib/AlgebraicGeometry/Birational/RationalMap.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/AlgebraicGeometry/Restrict.lean,Mathlib/Data/Set/Image.lean |
7 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
9-68059 9 days ago |
9-68060 9 days ago |
0-1227 20 minutes |
| 35394 |
HugLycan author:HugLycan |
feat(Tactic/Positivity): make positivity work for types that are not partial orders |
Make positivity work for types that are not partial orders
Most PositivityExt haven't been updated for non partial order cases yet. They will be updated in the later PR.
`Strictness` now depends on `Option Q(PartialOrder $α)` instead of `Q(PartialOrder $α)`, and the constructors `Strictness.positive`/`Strictness.nonnegative` now have their `Q(PartialOrder $α)` typeclass arguments.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-meta
maintainer-merge
|
612/354 |
Mathlib/Algebra/Order/AbsoluteValue/Basic.lean,Mathlib/Algebra/Order/Algebra.lean,Mathlib/Algebra/Order/BigOperators/Expect.lean,Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Field/Power.lean,Mathlib/Algebra/Order/Floor/Extended.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/Module/Field.lean,Mathlib/Analysis/Complex/Exponential.lean,Mathlib/Analysis/Complex/Order.lean,Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/SpecialFunctions/Bernstein.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/DerivHyp.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Bound.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Removal.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/ENNReal/Real.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Nat/Factorial/DoubleFactorial.lean,Mathlib/Data/Nat/Totient.lean,Mathlib/Data/Rat/Cast/Order.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/Geometry/Euclidean/Altitude.lean,Mathlib/MeasureTheory/Covering/Besicovitch.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Measure/Real.lean,Mathlib/NumberTheory/ArithmeticFunction/Misc.lean,Mathlib/NumberTheory/ArithmeticFunction/Zeta.lean,Mathlib/NumberTheory/Height/Basic.lean,Mathlib/NumberTheory/Height/NumberField.lean,Mathlib/NumberTheory/Height/Projectivization.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/NumberTheory/SelbergSieve.lean,Mathlib/Tactic/Positivity/Basic.lean,Mathlib/Tactic/Positivity/Core.lean,Mathlib/Tactic/Positivity/Finset.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean,MathlibTest/positivity.lean |
54 |
90 |
['HugLycan', 'JovanGerb', 'fpvandoorn', 'github-actions', 'joneugster', 'leanprover-radar', 'mathlib-merge-conflicts'] |
dwrensha assignee:dwrensha |
9-67186 9 days ago |
13-67330 13 days ago |
61-13931 61 days |
| 39325 |
mcdoll author:mcdoll |
feat(FunProp): tag integrableOn |
Add tags so that `fun_prop` can prove `IntegrableOn`
Done at ICERM workshop "Techniques and Tools for the Formalization of Analysis"
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
awaiting-author
|
108/12 |
Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean,MathlibTest/FunProp.lean |
3 |
4 |
['fpvandoorn', 'github-actions'] |
nobody |
9-64796 9 days ago |
9-79862 9 days ago |
0-1567 26 minutes |
| 37522 |
matthewjasper author:matthewjasper |
chore: adjust Module.Finite instance priority |
Make instances that are rarely going to be helpful lower priority.
Increase the priority of `FiniteDimensional.complexToReal`, because it's more likely correct than the other priority 100 `Module.Finite` instances.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
6/4 |
Mathlib/LinearAlgebra/Complex/FiniteDimensional.lean,Mathlib/LinearAlgebra/Dimension/Free.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean |
3 |
3 |
['github-actions', 'grunweg', 'leanprover-radar'] |
joelriou assignee:joelriou |
9-60337 9 days ago |
53-74244 53 days ago |
53-74239 53 days |
| 38731 |
martinwintermath author:martinwintermath |
feat(LinearAlgebra/AffineSpace/AffineSubspace): using `AffineSubspace.direction` to reinterpret `AffineSubspace` as `Submodule` |
* add `AffineSubspace.vsub_self_of_zero_mem` that states `s -ᵥ s = s ` if `0 ∈ s`
* add `AffineSubspace.direction_eq_self_of_zero_mem` that states that if `0 ∈ s`, then the directions coerce back to the affine subspace.
* add corresponding `CanLift` instance.
* modify doc-string of `AffineSubspace.direction` to state that this can be used for reinterpretation of an affine subspace as a submodule.
* add `Coe` instance based on `Submodule.toAffineSubspace` and adds corresponding @[coe] attribute.
The PR also performs a slight cleanup of the file: statements about `SetLike` or `Submodule.toAffineSubspace` have been moved closer to their respective definitions.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
56/26 |
Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean |
1 |
3 |
['github-actions', 'wwylele'] |
themathqueen assignee:themathqueen |
9-60333 9 days ago |
25-85084 25 days ago |
25-86230 25 days |
| 39440 |
mckoen author:mckoen |
feat(AlgebraicTopology/Quasicategory): functor quasi-categories |
WIP
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
WIP
t-category-theory
|
212/0 |
Mathlib/AlgebraicTopology/Quasicategory/InternalHom.lean,Mathlib/CategoryTheory/MorphismProperty/Comma.lean |
2 |
1 |
['github-actions'] |
nobody |
9-60285 9 days ago |
9-70810 9 days ago |
0-17 17 seconds |
| 39438 |
SnirBroshi author:SnirBroshi |
chore(Order/WellFounded): use `to_dual` |
Creates `argmax`/`argmaxOn` duals to the existing `argmin`/`argminOn`,
and `WellFoundedLT.min`/`WellFoundedGT.max` in order to properly dualize `WellFounded.min_le`.
Some theorems about `WellFounded{LT/GT}` which didn't have a dual before have to be renamed to make room,
e.g. `StrictMono.range_inj` is renamed to `StrictMono.range_inj_of_wellFoundedLT`.
---
This is blocking dualizing things in `ConditionallyCompleteLattice/Basic.lean`.
`WellFounded.min_le` has ~30 usages in ~10 files, so deprecating it should probably happen in a separate PR.
[](https://gitpod.io/from-referrer/)
|
t-order |
80/34 |
Mathlib/Data/Finset/Sort.lean,Mathlib/Order/Hom/Set.lean,Mathlib/Order/WellFounded.lean,Mathlib/SetTheory/Ordinal/Enum.lean |
4 |
5 |
['SnirBroshi', 'github-actions', 'vihdzp'] |
nobody |
9-58242 9 days ago |
9-58314 9 days ago |
9-66905 9 days |
| 39106 |
SnirBroshi author:SnirBroshi |
feat(LinearAlgebra/Matrix/Reindex): `AddEquiv` and `RingEquiv` |
We had `Matrix.reindex` bundled as a `LinearEquiv` and an `AlgEquiv`,
and this bundles it as an `AddEquiv` and a `RingEquiv`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
158/43 |
Mathlib/LinearAlgebra/Matrix/Basis.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/LinearAlgebra/Matrix/Reindex.lean,Mathlib/LinearAlgebra/Matrix/Transvection.lean |
4 |
10 |
['SnirBroshi', 'eric-wieser', 'github-actions', 'themathqueen'] |
nobody |
9-57801 9 days ago |
12-60488 12 days ago |
12-82685 12 days |
| 39456 |
BMMilligan1 author:BMMilligan1 |
feat(Probability/PMF): advantageFromHalf for Bool-valued PMFs |
This PR adds `PMF.advantageFromHalf : PMF Bool → ℝ`, defined as
`2 * (p true).toReal - 1`, together with API lemmas covering bounds
(`_le_one`, `_neg_one_le`), the zero-advantage characterization
(`_eq_zero_iff_half`), `PMF.map` composition (`_map_tsum`), and
canonical witness evaluations on `uniformOfFintype Bool`,
`pure true`, and `pure false`.
## Motivation
The "advantage from half" of a Bernoulli-like distribution is the signed
gap of the `true`-probability away from `1/2`, rescaled to `[-1, 1]`.
It is the natural decision-algorithm advantage notion in computational
complexity: when a heuristic `H : α → Bool` is post-composed with a
`PMF α` via `PMF.map`, the resulting `PMF Bool`'s `advantageFromHalf`
is the advantage of `H` as a decision procedure on the source
distribution.
Concretely, the definition supports formalizations of Hirahara 2018
(FOCS, [arXiv:1808.06974](https://arxiv.org/abs/1808.06974))
Theorem 1.1's worst-case-to-average-case reduction for Gap-MCSP,
where the heuristic algorithm's advantage `ε(n) = 1/poly(n)` over
the uniform truth-table distribution is the load-bearing quantity.
The current Mathlib `PMF` library supports `PMF.uniformOfFintype`
(see `Mathlib/Probability/Distributions/Uniform.lean`) but lacks
the bias-from-half notion at this signature.
## API summary
- `PMF.advantageFromHalf : PMF Bool → ℝ`
- `PMF.advantageFromHalf_le_one` (`@[simp]`)
- `PMF.advantageFromHalf_neg_one_le` (`@[simp]`)
- `PMF.advantageFromHalf_eq_zero_iff_half`
- `PMF.advantageFromHalf_map_tsum`
- `PMF.advantageFromHalf_uniformBool` (witness: advantage 0)
- `PMF.advantageFromHalf_pure_true` (witness: advantage 1)
- `PMF.advantageFromHalf_pure_false` (witness: advantage -1)
## Notes
* The file lives at `Mathlib/Probability/ProbabilityMassFunction/Advantage.lean`,
alphabetically before `Basic.lean`, and is imported in `Mathlib.lean`
at the corresponding alphabetical position.
* All proofs are sorry-free.
* The definition is `noncomputable` (matches `PMF` style; `(p true).toReal`
threading through `ENNReal`).
* No new imports outside the existing PMF / ENNReal substrate.
* Maintainer review of the naming (`advantageFromHalf` vs alternative
candidates like `biasFromHalf`) and of whether the `tsum`-form
composition lemma should be supplemented by a `Finset.sum` variant
for `Fintype` sources is most welcome.
Co-authored-by: Claude Opus 4.7 (1M context)
|
t-measure-probability
new-contributor
|
120/0 |
Mathlib.lean,Mathlib/Probability/ProbabilityMassFunction/Advantage.lean |
2 |
2 |
['github-actions'] |
nobody |
9-56349 9 days ago |
unknown |
0-0 0 seconds |
| 39404 |
metakunt author:metakunt |
feat(NumberTheory/AKSPrimality): Introspective definition |
This defines the introspective relation and proves the key property for the AKS theorem.
From #34507 |
t-number-theory
awaiting-author
|
147/0 |
Mathlib.lean,Mathlib/NumberTheory/AKSPrimality.lean |
2 |
2 |
['github-actions', 'tb65536'] |
tb65536 assignee:tb65536 |
9-52756 9 days ago |
9-52756 9 days ago |
0-85415 23 hours |
| 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.
[](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 |
9-44585 9 days ago |
13-58157 13 days ago |
0-12 12 seconds |
| 37405 |
Paul-Lez author:Paul-Lez |
feat(Mathlib/Algebra/BigOperators/Fin): lemma about List.ofFn |
I tried several places for this lemma but wasn't able to find any one that didn't result in a `large-import` issue - suggestions would be welcome!
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
awaiting-author
label:t-algebra$ |
7/0 |
Mathlib/Algebra/BigOperators/GroupWithZero/Action.lean |
1 |
2 |
['YaelDillies', 'github-actions'] |
nobody |
9-41433 9 days ago |
9-41433 9 days ago |
4-51272 4 days |
| 37707 |
MavenRain author:MavenRain |
feat(Combinatorics/SimpleGraph): add IsMaximalClique/IsMaximalIndepSet, refactor IsMaximum* to MaximalFor |
Addresses #34962
|
new-contributor
t-combinatorics
|
63/31 |
Mathlib/Combinatorics/SimpleGraph/Clique.lean |
1 |
6 |
['MavenRain', 'SnirBroshi', 'eric-wieser', 'github-actions'] |
nobody |
9-39559 9 days ago |
9-39631 9 days ago |
9-41266 9 days |
| 31730 |
thorimur author:thorimur |
feat(Meta): declaration manipulation meta API: allow logging on type signature of theorems |
This PR introduces some initial definitions in the space of a declaration manipulation meta API.
In the course of #31142, it became apparent that we could benefit from having tools for handling the syntax and elaboration info of user-written declarations.
This PR makes a small beginning towards that end in the Mathlib.Util.DeclarationManipulation module, and provides API for
- getting the info and syntax ref of a declaration given its `Name`
- getting the ref of a theorem's type signature from within some command source syntax given the declaration's ref given above
- running a monadic action with the ambient ref set to that of the type signature of a theorem, with sensible fallbacks
This is used to improve logging locations for the unused-instances-in-types linters, and may be useful for other linters that want to inpsect a theorem's type at the expression level (instead of the syntax level).
(It also introduces the small helper definitions `Syntax.findSome?` and `Syntax.rangeEq`, which behave as expected.)
For context: in the future, it would be nice to
- provide support for all sorts of declarations, not just theorems--but this requires a lot more syntax matching
- provide "exploded views" of declaration syntax like `mkDefView`, but finer grained, and geared for use during linting rather than elaboration
- make it easy to compose complex suggestions to transform different parts of a declaration at once
---
- [x] depends on: #31725
[](https://gitpod.io/from-referrer/)
|
t-meta
merge-conflict
|
131/0 |
Mathlib.lean,Mathlib/Lean/Syntax.lean,Mathlib/Util/DeclarationManipulation.lean |
3 |
5 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
9-34624 9 days ago |
171-50864 171 days ago |
2-29773 2 days |
| 38317 |
WenrongZou author:WenrongZou |
feat(Date/Choose): add some lemmas about choose of prime pow |
In this PR, I add some lemma about choose of prime pow.
1) For primes `p` and positive integer `n`, assume that for all `i ∈ Icc 1 (n - 1)`, `choose n i` congruent to `0` module `p`, then `n = p ^ multiplicity p n`.
2) For a prime power `n`, the greatest common divisor of `choose n 1, ⋯, choose n (n - 1)` is actually the minimal prime factor of `n`.
3) For a natural number `n` greater than `1`, assume that `n` is not a prime power, then the greatest common divisor of `choose n 1, ⋯, choose n (n - 1)` is `1`.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
98/0 |
Mathlib/Data/Nat/Choose/Lucas.lean |
1 |
5 |
['WenrongZou', 'github-actions', 'joneugster'] |
joneugster assignee:joneugster |
9-33024 9 days ago |
9-32824 9 days ago |
34-69907 34 days |
| 37056 |
lecopivo author:lecopivo |
feat(Tactic/FunProp): proper support for metavariables in fun_prop goals |
This PR add proper support for metavariables in `fun_prop` goals thus allows for properly solving goals like `HasFDerivAt k f ?f' x`.
---
This extension to `fun_prop` will enable computation of derivatives by properly handling metavariables in `fun_prop` goal thus allowing us to solve `HasFDerivAt k f ?f' x`
[](https://gitpod.io/from-referrer/)
|
t-meta
large-import
awaiting-author
merge-conflict
|
1217/220 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/FunProp/Attr.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/Decl.lean,Mathlib/Tactic/FunProp/Elab.lean,Mathlib/Tactic/FunProp/Simproc.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/FunProp/Types.lean,Mathlib/Tactic/Measurability.lean,MathlibTest/FunPropMinimal.lean,MathlibTest/FunPropMinimalOutParam.lean |
12 |
31 |
['eric-wieser', 'github-actions', 'lecopivo', 'mathlib-merge-conflicts', 'thorimur'] |
alexjbest and thorimur assignee:alexjbest assignee:thorimur |
9-31588 9 days ago |
52-58430 52 days ago |
7-45984 7 days |
| 37231 |
lecopivo author:lecopivo |
feat(Tactic/FunProp): set up `fun_prop` for HasFDerivAt |
Correctly set up `fun_prop` for `HasFDerivAt` and set up `deriv_simproc` for simplifying `fderiv ...`.
- [ ] depends on: #37056
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
large-import
t-meta
merge-conflict
|
1327/228 |
Mathlib.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Comp.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousAlternatingMap.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousMultilinearMap.lean,Mathlib/Analysis/Calculus/FDeriv/Defs.lean,Mathlib/Analysis/Calculus/FDeriv/Pow.lean,Mathlib/Analysis/Calculus/FDeriv/Prod.lean,Mathlib/Analysis/SpecialFunctions/Arsinh.lean,Mathlib/Analysis/SpecialFunctions/ExpDeriv.lean,Mathlib/Analysis/SpecialFunctions/Sqrt.lean,Mathlib/Tactic.lean,Mathlib/Tactic/FunProp.lean,Mathlib/Tactic/FunProp/Attr.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/Decl.lean,Mathlib/Tactic/FunProp/Elab.lean,Mathlib/Tactic/FunProp/Simproc.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/FunProp/Types.lean,Mathlib/Tactic/Measurability.lean,MathlibTest/FunProp.lean,MathlibTest/FunPropMinimal.lean,MathlibTest/FunPropMinimalOutParam.lean |
24 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
9-31587 9 days ago |
60-669 60 days ago |
0-432 7 minutes |
| 37270 |
lecopivo author:lecopivo |
feat(Tactic/FunProp): set up fun_prop for HasDerivAt |
Correctly set up fun_prop for `HasDerivAt` and set up deriv_simproc for simplifying `deriv ...`.
- [ ] depends on: #37231
- [ ] depends on: #37056
-->
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
large-import
t-meta
merge-conflict
|
1709/252 |
Mathlib.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/AffineMap.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Comp.lean,Mathlib/Analysis/Calculus/Deriv/Inv.lean,Mathlib/Analysis/Calculus/Deriv/Linear.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Calculus/Deriv/Pi.lean,Mathlib/Analysis/Calculus/Deriv/Pow.lean,Mathlib/Analysis/Calculus/Deriv/Prod.lean,Mathlib/Analysis/Calculus/Deriv/Star.lean,Mathlib/Analysis/Calculus/Deriv/ZPow.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Comp.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousAlternatingMap.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousMultilinearMap.lean,Mathlib/Analysis/Calculus/FDeriv/Defs.lean,Mathlib/Analysis/Calculus/FDeriv/Pow.lean,Mathlib/Analysis/Calculus/FDeriv/Prod.lean,Mathlib/Analysis/SpecialFunctions/Arcosh.lean,Mathlib/Analysis/SpecialFunctions/Arsinh.lean,Mathlib/Analysis/SpecialFunctions/Complex/LogDeriv.lean,Mathlib/Analysis/SpecialFunctions/ExpDeriv.lean,Mathlib/Analysis/SpecialFunctions/Exponential.lean,Mathlib/Analysis/SpecialFunctions/Log/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Sqrt.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/ArctanDeriv.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/ComplexDeriv.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/DerivHyp.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/InverseDeriv.lean,Mathlib/Tactic.lean,Mathlib/Tactic/FunProp.lean,Mathlib/Tactic/FunProp/Attr.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/Decl.lean,Mathlib/Tactic/FunProp/Elab.lean,Mathlib/Tactic/FunProp/Simproc.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/FunProp/Types.lean,Mathlib/Tactic/Measurability.lean,MathlibTest/FunProp.lean,MathlibTest/FunPropMinimal.lean,MathlibTest/FunPropMinimalOutParam.lean |
46 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
9-31586 9 days ago |
59-21572 59 days ago |
0-350 5 minutes |
| 39140 |
kim-em author:kim-em |
feat(scripts): add lake exe no_expose tool for @[expose] removal |
This PR adds `lake exe no_expose`, a tool that identifies and removes
`@[expose]` attributes on defs that aren't needed downstream. Three subcommands:
`collect`, `report`, `edit`.
The `collect` subcommand walks the built Mathlib environment via
`Lean.withImportModules` to emit per-decl enumeration, static cross-references,
and per-decl reference lists. Without `--skip-build` it additionally patches the
lakefile to enable `diagnostics=true / diagnostics.threshold=0` and parses the
build log for unfold events; backups are restored on cleanup or on startup
recovery from an interrupted run.
The `edit` subcommand resolves a `@[expose] public section` file by dropping the
section-level marker and re-adding `@[expose]` only on needed decls
(`auto`/`section`/`individual` strategies; merges into existing attribute lists
correctly to avoid stacked `@[...]` blocks). Edits apply by default; `--dry-run`
previews. Refuses on uncommitted changes or stale report data unless explicitly
overridden; differential parse-validation before writing; `--verify` runs
`lake build` on the touched module and rolls back on failure; every change is
recorded as a unified diff in `scripts/.no_expose/edits.patch`.
🤖 Prepared with Claude Code |
merge-conflict |
8185/1240 |
.github/workflows/build_template.yml,.gitignore,Archive/Examples/IfNormalization/Result.lean,Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo2024Q6.lean,Cache/Requests.lean,Counterexamples/Phillips.lean,Mathlib.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Algebra/Unitization.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/Category/AlgCat/Basic.lean,Mathlib/Algebra/Category/AlgCat/Limits.lean,Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean,Mathlib/Algebra/Category/ContinuousCohomology/Basic.lean,Mathlib/Algebra/Category/Grp/AB.lean,Mathlib/Algebra/Category/Grp/Adjunctions.lean,Mathlib/Algebra/Category/Grp/Biproducts.lean,Mathlib/Algebra/Category/Grp/Colimits.lean,Mathlib/Algebra/Category/Grp/LargeColimits.lean,Mathlib/Algebra/Category/Grp/LeftExactFunctor.lean,Mathlib/Algebra/Category/Grp/Yoneda.lean,Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Algebra/Category/ModuleCat/Biproducts.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/Differentials/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/ExteriorPower.lean,Mathlib/Algebra/Category/ModuleCat/FilteredColimits.lean,Mathlib/Algebra/Category/ModuleCat/Kernels.lean,Mathlib/Algebra/Category/ModuleCat/LeftResolution.lean,Mathlib/Algebra/Category/ModuleCat/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Adjunction.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/ColimitFunctor.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Colimits.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/Pushforward.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafification.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafify.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Free.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackContinuous.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackFree.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/Topology/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Homology.lean,Mathlib/Algebra/Category/ModuleCat/Ulift.lean,Mathlib/Algebra/Category/MonCat/Adjunctions.lean,Mathlib/Algebra/Category/MonCat/Colimits.lean,Mathlib/Algebra/Category/MonCat/FilteredColimits.lean,Mathlib/Algebra/Category/MonCat/Limits.lean,Mathlib/Algebra/Category/MonCat/Yoneda.lean,Mathlib/Algebra/Category/Ring/Adjunctions.lean,Mathlib/Algebra/Category/Ring/Colimits.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/Category/Ring/FinitePresentation.lean,Mathlib/Algebra/Category/Ring/Limits.lean,Mathlib/Algebra/Category/Ring/Under/Basic.lean,Mathlib/Algebra/Category/Ring/Under/Limits.lean,Mathlib/Algebra/CharP/Two.lean,Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Equiv/Basic.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Nat/Even.lean,Mathlib/Algebra/Group/Submonoid/BigOperators.lean,Mathlib/Algebra/GroupWithZero/Action/Faithful.lean,Mathlib/Algebra/Homology/Additive.lean,Mathlib/Algebra/Homology/AlternatingConst.lean,Mathlib/Algebra/Homology/Augment.lean,Mathlib/Algebra/Homology/Bifunctor.lean,Mathlib/Algebra/Homology/BifunctorAssociator.lean,Mathlib/Algebra/Homology/BifunctorHomotopy.lean,Mathlib/Algebra/Homology/BifunctorShift.lean,Mathlib/Algebra/Homology/CochainComplexOpposite.lean,Mathlib/Algebra/Homology/CochainComplexPlus.lean,Mathlib/Algebra/Homology/CommSq.lean,Mathlib/Algebra/Homology/ComplexShape.lean,Mathlib/Algebra/Homology/ComplexShapeSigns.lean,Mathlib/Algebra/Homology/DerivedCategory/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/ExactFunctor.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/EnoughInjectives.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/EnoughProjectives.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/ExactSequences.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/ExtClass.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Map.lean,Mathlib/Algebra/Homology/DerivedCategory/HomologySequence.lean,Mathlib/Algebra/Homology/DerivedCategory/KInjective.lean,Mathlib/Algebra/Homology/DerivedCategory/KProjective.lean,Mathlib/Algebra/Homology/DerivedCategory/ShortExact.lean |
1416 |
1 |
['urkud'] |
nobody |
9-29928 9 days ago |
unknown |
0-0 0 seconds |
| 36777 |
jjdishere author:jjdishere |
feat(Valuation/ValuativeRel): generalize `ValuativeRel` to non-commutative rings |
This is the second in a series of PRs, with the final goal of removing the class `Valued` from Mathlib.
A `Valued` instance will be replaced by `[ValuativeRel R] [UniformSpace R] [IsValuativeTopology R] [IsUniformAddGroup R] (v : Valuation R A) [v.Compatible]`.
This PR generalize `ValuativeRel` from `CommRing` to `Ring` by adding a field `vle_mul_comm {x y} : vle (x * y) (y * x)`. Without this field, the value group associated to the valuative relation may be non-abelian. The APIs of `ValuativeRel.ofValuation` and `ValuativeRel.valuation` are also generalized, showing this new definition is indeed equivalent to the valuations on non commutative rings.
This is a prerequisite of #36769 .
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
awaiting-author
merge-conflict
|
210/128 |
Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/Valuation/DiscreteValuativeRel.lean,Mathlib/RingTheory/Valuation/RankOne.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Trivial.lean,Mathlib/Topology/Algebra/ValuativeRel/ValuativeTopology.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean |
8 |
47 |
['JovanGerb', 'faenuccio', 'github-actions', 'jjdishere', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts', 'riccardobrasca', 'wwylele'] |
faenuccio and riccardobrasca assignee:riccardobrasca assignee:faenuccio |
9-21082 9 days ago |
56-23862 56 days ago |
11-64422 11 days |
| 39388 |
marcelolynch author:marcelolynch |
chore: remove @[expose] from def-free public sections |
Strip `@[expose]` from `public section` headers in 100 modules where no declaration needs its body visible downstream. A new sweep in the style of #38480
Found using the linter-in-progress: #39387
Relevant Zulip thread: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Removing.20unnecessary.20.60.40.5Bexpose.5D.60/with/595180230 |
|
100/100 |
Mathlib/Algebra/Category/Ring/Small.lean,Mathlib/Algebra/Field/Basic.lean,Mathlib/Algebra/Field/MinimalAxioms.lean,Mathlib/Algebra/Field/Opposite.lean,Mathlib/Algebra/Field/Rat.lean,Mathlib/Algebra/Field/ULift.lean,Mathlib/Algebra/Field/ZMod.lean,Mathlib/Algebra/Group/Action/Option.lean,Mathlib/Algebra/Group/Action/Sigma.lean,Mathlib/Algebra/Group/Action/Sum.lean,Mathlib/Algebra/Group/Action/Units.lean,Mathlib/Algebra/Group/Subgroup/Actions.lean,Mathlib/Algebra/Group/Submonoid/MulAction.lean,Mathlib/Algebra/Module/Projective.lean,Mathlib/Algebra/Module/Submodule/Basic.lean,Mathlib/Algebra/NonAssoc/LieAdmissible/Defs.lean,Mathlib/Algebra/Notation/Prod.lean,Mathlib/Algebra/Order/Floor/Div.lean,Mathlib/Algebra/Order/Group/Action/End.lean,Mathlib/Algebra/Order/Group/End.lean,Mathlib/Algebra/Order/Group/PosPart.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/Algebra/Order/Nonneg/Lattice.lean,Mathlib/Algebra/Order/Pi.lean,Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean,Mathlib/Algebra/Ring/Commute.lean,Mathlib/AlgebraicTopology/ModelCategory/Over.lean,Mathlib/Analysis/InnerProductSpace/Coalgebra.lean,Mathlib/Analysis/Normed/Algebra/TrivSqZeroExt.lean,Mathlib/Analysis/Normed/Group/Constructions.lean,Mathlib/Analysis/Normed/Module/MStructure.lean,Mathlib/Analysis/Normed/Operator/Compact/FiniteDimension.lean,Mathlib/Analysis/ODE/DiscreteGronwall.lean,Mathlib/CategoryTheory/Localization/DerivabilityStructure/OfLocalizedEquivalences.lean,Mathlib/CategoryTheory/MarkovCategory/Positive.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Normal.lean,Mathlib/CategoryTheory/Monoidal/Functor/Types.lean,Mathlib/CategoryTheory/Monoidal/Types/Coyoneda.lean,Mathlib/CategoryTheory/Sites/CoversTop/Over.lean,Mathlib/Combinatorics/Additive/FreimanHom.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Data/ENNReal/Action.lean,Mathlib/Data/ENat/Pow.lean,Mathlib/Data/Finsupp/Pointwise.lean,Mathlib/Data/FunLike/Basic.lean,Mathlib/Data/FunLike/Embedding.lean,Mathlib/Data/FunLike/Equiv.lean,Mathlib/Data/Int/Cast/Pi.lean,Mathlib/Data/List/Monad.lean,Mathlib/Data/NNRat/Lemmas.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Prod/Lex.lean,Mathlib/Data/Rat/Cast/Defs.lean,Mathlib/Data/Rat/Cast/OfScientific.lean,Mathlib/Data/Real/Archimedean.lean,Mathlib/Data/ZMod/IntUnitsPower.lean,Mathlib/GroupTheory/GroupAction/Embedding.lean,Mathlib/GroupTheory/IsPerfect.lean,Mathlib/GroupTheory/ResiduallyFinite.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Star.lean,Mathlib/LinearAlgebra/Projectivization/Action.lean,Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Semisimple.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean,Mathlib/MeasureTheory/Measure/Sub.lean,Mathlib/MeasureTheory/Measure/Typeclasses/ZeroOne.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/Transform.lean,Mathlib/NumberTheory/NumberField/ExistsRamified.lean,Mathlib/NumberTheory/Padics/PadicVal/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/Filter/FilterProduct.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Interval/Set/OrdConnected.lean,Mathlib/Order/Quotient.lean,Mathlib/Probability/Kernel/Deterministic.lean,Mathlib/RingTheory/Coalgebra/Convolution.lean,Mathlib/RingTheory/Flat/IsBaseChange.lean,Mathlib/RingTheory/HopfAlgebra/TensorProduct.lean,Mathlib/RingTheory/Ideal/GoingDown.lean,Mathlib/RingTheory/Ideal/GoingUp.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/Localization/Finiteness.lean,Mathlib/RingTheory/Noetherian/Defs.lean,Mathlib/RingTheory/QuasiFinite/Basic.lean,Mathlib/RingTheory/QuasiFinite/Polynomial.lean,Mathlib/RingTheory/QuasiFinite/Weakly.lean,Mathlib/RingTheory/Regular/ProjectiveDimension.lean,Mathlib/RingTheory/SimpleModule/Basic.lean,Mathlib/RingTheory/Smooth/Fiber.lean,Mathlib/RingTheory/TensorProduct/IsBaseChangeRightExact.lean,Mathlib/RingTheory/Unramified/LocalRing.lean,Mathlib/RingTheory/Valuation/Extension.lean,Mathlib/RingTheory/Valuation/IsTrivialOn.lean,Mathlib/SetTheory/Cardinal/Regular.lean,Mathlib/Tactic/Algebra/Lemmas.lean,Mathlib/Topology/Algebra/UniformMulAction.lean,Mathlib/Topology/CWComplex/Classical/Subcomplex.lean,Mathlib/Topology/EMetricSpace/Pi.lean,Mathlib/Topology/List.lean,Mathlib/Topology/MetricSpace/Pseudo/Pi.lean |
100 |
6 |
['eric-wieser', 'github-actions', 'grunweg', 'marcelolynch', 'urkud'] |
nobody |
9-19275 9 days ago |
10-83444 10 days ago |
10-83439 10 days |
| 39323 |
lecopivo author:lecopivo |
feat: fun_prop for integrability |
setting up fun_prop with integrability
---
- [ ] depends on: #39370
- [ ] depends on: #39371
- [ ] depends on: #39325
- [ ] depends on: #39329
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-other-PR
merge-conflict
|
1713/55 |
Mathlib.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/MeasureTheory/Function/L1Space/AEEqFun.lean,Mathlib/MeasureTheory/Function/L1Space/Integrable.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean,Mathlib/MeasureTheory/Integral/IntegrableOnFunProp.lean,Mathlib/MeasureTheory/Integral/LocallyIntegrableOnFunProp.lean,Mathlib/MeasureTheory/Integral/Prod.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/FunProp/Attr.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/Decl.lean,Mathlib/Tactic/GrindAttrs.lean,Mathlib/Tactic/RunAutoParam.lean,Mathlib/Topology/Basic.lean,Mathlib/Topology/Closure.lean,Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/ProperSpace.lean,Mathlib/Topology/Order/Compact.lean,Mathlib/Topology/Order/OrderClosed.lean,Mathlib/Topology/Separation/Basic.lean,Mathlib/Topology/Separation/Hausdorff.lean,MathlibTest/Compactness.lean,MathlibTest/FunProp.lean,MathlibTest/FunPropMinimal.lean,MathlibTest/IntegrabilityTactic.lean,MathlibTest/RunAutoParam.lean,scripts/README.md,scripts/update-integrability-tactic-counts.sh |
32 |
6 |
['github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
9-18951 9 days ago |
11-77438 11 days ago |
0-1508 25 minutes |
| 39368 |
gasparattila author:gasparattila |
feat: homogenization of an affine space |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
401/0 |
Mathlib.lean,Mathlib/LinearAlgebra/AffineSpace/Homogenization.lean,docs/references.bib |
3 |
15 |
['eric-wieser', 'gasparattila', 'github-actions'] |
nobody |
9-16441 9 days ago |
11-7947 11 days ago |
11-9144 11 days |
| 35683 |
gasparattila author:gasparattila |
fix(Tactic/FunProp): detect `Continuous.subtype_mk` as compositional |
This PR changes `fun_prop` to detect some theorems involving dependent types, such as `Continuous.subtype_mk` to be in compositional form. This lets `fun_prop` solve goals such as `Continuous fun x => (⟨x, trivial⟩ : {x : ℝ // True})`.
---
These theorems become compositional: `Continuous.subtype_mk`, `Topology.IsEmbedding.inclusion`, `Topology.IsOpenEmbedding.inclusion`, `Topology.IsClosedEmbedding.inclusion`, `Measurable.subtype_mk`, `Measurable.imp`, `Path.symm_continuous_family`, `Continuous.upperHalfPlaneMk`
These theorems become simple: `hasFDerivAt_prodMk_left`, `hasFDerivAt_prodMk_right`, `contDiff_prodMk_left`, `contDiff_prodMk_right`
[](https://gitpod.io/from-referrer/)
|
t-meta
maintainer-merge
|
66/44 |
Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/FunctionData.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Topology/Homeomorph/Lemmas.lean,MathlibTest/FunPropMinimal.lean |
5 |
27 |
['gasparattila', 'github-actions', 'grunweg', 'joneugster', 'lecopivo', 'mathlib-merge-conflicts'] |
joneugster assignee:joneugster |
9-15822 9 days ago |
9-15893 9 days ago |
89-21456 89 days |
| 39110 |
SnirBroshi author:SnirBroshi |
chore(Data/Set): reduce defeq abuse of `Set α = α → Prop` |
These are among the first places that would fail if `Set α` wasn't defeq to `α → Prop`.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
35/20 |
Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Defs.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Data/Set/Prod.lean,Mathlib/Order/BooleanAlgebra/Set.lean |
5 |
24 |
['SnirBroshi', 'Vierkantor', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'themathqueen', 'urkud', 'vihdzp'] |
nobody |
9-14847 9 days ago |
9-29798 9 days ago |
15-31193 15 days |
| 39457 |
SnirBroshi author:SnirBroshi |
feat(LinearAlgebra/Matrix/Defs): lift more algebraic classes |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
52/4 |
Mathlib/Algebra/Group/Pi/Basic.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/LinearAlgebra/Matrix/Defs.lean |
3 |
4 |
['eric-wieser', 'github-actions', 'leanprover-radar', 'urkud'] |
nobody |
9-10108 9 days ago |
9-19218 9 days ago |
9-43740 9 days |
| 30526 |
SnirBroshi author:SnirBroshi |
chore(Logic/Relation): use `≤` to spell subrelation |
Replace every `∀ x y, r x y → r' x y` with `r ≤ r'`
---
NOTE: this PR began as an effort to use `Subrelation` since `≤` wasn't available in this file, but it was agreed on [Zulip](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2330526.20use.20Subrelation.20in.20Mathlib.2ELogic.2ERelation/with/546572676) to instead make `≤` available there.
[](https://gitpod.io/from-referrer/)
|
t-logic |
146/133 |
Mathlib.lean,Mathlib/CategoryTheory/Action.lean,Mathlib/CategoryTheory/ConnectedComponents.lean,Mathlib/CategoryTheory/Filtered/Connected.lean,Mathlib/CategoryTheory/IsConnected.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/Types/Coequalizers.lean,Mathlib/CategoryTheory/Limits/Types/Filtered.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Computability/ContextFreeGrammar.lean,Mathlib/Computability/TuringMachine/Config.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/Logic/Relation.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Defs/Prop.lean,Mathlib/Order/Interval/Finset/Basic.lean,Mathlib/Order/WellFoundedSet.lean,Mathlib/Topology/Gluing.lean |
19 |
22 |
['SnirBroshi', 'Vierkantor', 'eric-wieser', 'github-actions', 'joneugster', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'thorimur', 'vihdzp'] |
Vierkantor and joneugster assignee:Vierkantor assignee:joneugster |
9-7626 9 days ago |
9-7770 9 days ago |
91-40730 91 days |
| 38551 |
TTony2019 author:TTony2019 |
feat(Analysis/Convex/Intrinsic): add `affineSpan_prod_eq` and `intrinsicInterior_prod_eq` |
### Summary
We prove that the affine span of a product set equals the product of the affine spans, and that the intrinsic interior of a product set equals the product of the intrinsic interiors.
- `affineSpan_prod_eq`: for `s : Set P₁` and `t : Set P₂`, `affineSpan k (s ×ˢ t) = (affineSpan k s) ×ˢ (affineSpan k t)` as sets.
- `intrinsicInterior_prod_eq`: for `s : Set P` and `t : Set Q`, `intrinsicInterior 𝕜 (s ×ˢ t) = intrinsicInterior 𝕜 s ×ˢ intrinsicInterior 𝕜 t`.
These two theorems are added to `Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Basic.lean` and `Mathlib/Analysis/Convex/Intrinsic.lean`.
### Collaboration
Co-authored-by: @imathwy |
new-contributor |
144/0 |
Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Analysis/Convex/Intrinsic.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Basic.lean,Mathlib/LinearAlgebra/Prod.lean |
5 |
22 |
['TTony2019', 'github-actions', 'wwylele'] |
nobody |
9-6759 9 days ago |
26-55525 26 days ago |
28-85793 28 days |
| 39122 |
justus-springer author:justus-springer |
feat(AlgebraicGeometry/Birational): Birationality and rationality of schemes |
This is a first step (of hopefully many) towards some basic birational geometry. This PR adds `Birational/Birational.lean`, which defines predicates `Birational`, `BirationalOver` and `IsRationalOver` for arbitrary schemes and provides basic API (e.g. that they are equivalence relations, and that affine space is rational).
Some notes on the choice of definitions: There are multiple ways to define what it means for
two schemes to be birational to each other. A common one is: "There exists a
rational map with a rational inverse". However, this would require defining composition of
rational maps, which is not always defined (In order to compose `f : X ⤏ Y` with `g : Y ⤏ Z`, you
need at least `X` preirreducible, `Y` nonempty and `f` dominant). On the other hand, I can define
"There exist dense subsets `U : Opens X` and `V : Opens Y` such that `U ≅ V` as schemes" for
any two schemes `X` and `Y`, with no conditions. Hence I chose that as a definition. I'm also
working on defining composition of rational maps, and once that's done, there should be a theorem
connecting the two definitions.
For now, I've defined `IsRationalOver S X` to mean there exists a `n : Type 0` such that `X`
is birational to `𝔸(n; S)`. I fixed the universe of `n` to avoid bad universe levels in the
type of `IsRationalOver`. At least I wasn't able to find a way to make this universe polymorphic
and make the linter happy, but maybe there is a way. All references on birational geometry I
could find just work with finite-dimensional varieties anyway, which would fit in `Type 0`.
- [x] depends on: #39316
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
302/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/Birational/Birational.lean,Mathlib/AlgebraicGeometry/Restrict.lean |
3 |
11 |
['chrisflav', 'erdOne', 'github-actions', 'justus-springer', 'mathlib-dependent-issues'] |
joelriou assignee:joelriou |
8-86348 8 days ago |
11-77152 11 days ago |
14-84300 14 days |
| 39472 |
NoahW314 author:NoahW314 |
feat(RingTheory/MvPolynomial/Homogeneous): add homogeneous lemmas |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
|
74/2 |
Mathlib/Data/Finsupp/Weight.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean,Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean |
3 |
1 |
['github-actions'] |
nobody |
8-81890 8 days ago |
8-81960 8 days ago |
8-82149 8 days |
| 39479 |
wwylele author:wwylele |
chore(RingTheory/HahnSeries): remove a defeq abuse |
Previously the simp implicitly uses `⟨⟨((↑) : ℕ → Γ),...⟩,...⟩.toFun = (↑)`. This explicitly writes out the intermediate term so the it no longer relies on defeq. Also changed the statement of ofPowerSeries_apply to reuse existing embedding
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
tech debt
|
9/12 |
Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/LaurentSeries.lean |
2 |
1 |
['github-actions'] |
nobody |
8-77480 8 days ago |
8-77556 8 days ago |
8-77659 8 days |
| 39161 |
alreadydone author:alreadydone |
feat(LinearAlgebra): commutative semirings satisfy strong rank condition |
Co-authored-by: Aristotle (Harmonic)
Thanks to ChatGPT and Gemini for converting part of Yi-Jia Tan's paper into LaTeX, which served as solutions provided to Aristotle.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
LLM-generated
label:t-algebra$ |
616/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Nonsingular.lean,docs/references.bib |
3 |
3 |
['SnirBroshi', 'github-actions'] |
nobody |
8-76247 8 days ago |
14-56602 14 days ago |
0-3 3 seconds |
| 7873 |
astrainfinita author:astrainfinita |
perf: reorder `extends` and change instance priority in algebra hierarchy |
There are no strict rules, but in general `Cancel` is dropped first, then `Comm`, then `Neg / Inv`, then `Assoc`. Not sure if there's a better way.
An important goal is to search for `Zero/One/Add/Mul` instances first along `Zero/One/Add/Mul` -> ... -> `Ring` -> `CommRing` -> `Field`.
---
- [ ] depends on: #14712
- [x] depends on: #16638
- [ ] depends on: #18464
- [ ] depends on: #18468
- [ ] depends on: #18470
- [ ] depends on: #18472
- [ ] depends on: #18474
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
blocked-by-other-PR
label:t-algebra$ |
494/204 |
Archive/Imo/Imo1998Q2.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Associated.lean,Mathlib/Algebra/BigOperators/Ring/List.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Limits.lean,Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/EuclideanDomain/Field.lean,Mathlib/Algebra/Field/Basic.lean,Mathlib/Algebra/Field/Defs.lean,Mathlib/Algebra/Field/IsField.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/InjSurj.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/GroupWithZero/Basic.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/GroupWithZero/InjSurj.lean,Mathlib/Algebra/GroupWithZero/Prod.lean,Mathlib/Algebra/GroupWithZero/Semiconj.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Homology/Embedding/Basic.lean,Mathlib/Algebra/Homology/HomotopyCategory/DegreewiseSplit.lean,Mathlib/Algebra/Homology/HomotopyCategory/ShiftSequence.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Grading.lean,Mathlib/Algebra/Order/AddGroupWithTop.lean,Mathlib/Algebra/Order/Field/Canonical/Defs.lean,Mathlib/Algebra/Order/Field/Defs.lean,Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Ring/BooleanRing.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/Algebra/Ring/InjSurj.lean,Mathlib/Algebra/Ring/Rat.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/Fourier/FourierTransformDeriv.lean,Mathlib/Analysis/InnerProductSpace/Orientation.lean,Mathlib/Analysis/InnerProductSpace/Symmetric.lean,Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/NormedSpace/Star/Multiplier.lean,Mathlib/CategoryTheory/Preadditive/FunctorCategory.lean,Mathlib/CategoryTheory/Preadditive/SingleObj.lean,Mathlib/CategoryTheory/Triangulated/Functor.lean,Mathlib/Data/Finset/NoncommProd.lean,Mathlib/Data/Int/Cast/Defs.lean,Mathlib/Data/Nat/Cast/Defs.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/Data/Num/Lemmas.lean,Mathlib/Data/Rat/Denumerable.lean,Mathlib/Data/Real/ENatENNReal.lean,Mathlib/Dynamics/Ergodic/AddCircle.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/GroupTheory/MonoidLocalization.lean,Mathlib/GroupTheory/SpecificGroups/Alternating.lean,Mathlib/GroupTheory/Torsion.lean,Mathlib/Init/ZeroOne.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/Orientation.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/TensorPower.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Graded/External.lean,Mathlib/MeasureTheory/Decomposition/Jordan.lean,Mathlib/MeasureTheory/Decomposition/SignedLebesgue.lean,Mathlib/NumberTheory/ArithmeticFunction.lean,Mathlib/NumberTheory/LegendreSymbol/GaussEisensteinLemmas.lean,Mathlib/NumberTheory/RamificationInertia.lean,Mathlib/NumberTheory/WellApproximable.lean,Mathlib/NumberTheory/Zsqrtd/QuadraticReciprocity.lean,Mathlib/Order/Filter/Germ.lean,Mathlib/Order/Interval/Finset/Box.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/Coalgebra/Hom.lean,Mathlib/RingTheory/DiscreteValuationRing/Basic.lean,Mathlib/RingTheory/Filtration.lean,Mathlib/RingTheory/Henselian.lean,Mathlib/RingTheory/Ideal/IsPrincipal.lean,Mathlib/RingTheory/Ideal/LocalRing.lean,Mathlib/RingTheory/Ideal/Norm.lean,Mathlib/RingTheory/Localization/Integral.lean,Mathlib/RingTheory/MvPolynomial/Symmetric.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean,Mathlib/RingTheory/UniqueFactorizationDomain.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/Tactic/Positivity/Core.lean |
104 |
84 |
['MichaelStollBayreuth', 'astrainfinita', 'github-actions', 'kim-em', 'leanprover-bot', 'mattrobball'] |
nobody |
8-74341 8 days ago |
681-1552 681 days ago |
3-36575 3 days |
| 39473 |
faenuccio author:faenuccio |
feat(Topology.Homeomorph.Lemmas): add lemmas about `coe` and `IsHomeomorph` |
Add lemmas `IsHomeomorph.coe_equiv` and `IsHomeomorph.coe_inv`
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
7/1 |
Mathlib/Topology/Homeomorph/Lemmas.lean |
1 |
2 |
['ADedecker', 'github-actions'] |
ADedecker assignee:ADedecker |
8-71065 8 days ago |
8-81449 8 days ago |
8-81444 8 days |
| 39449 |
Paul-Lez author:Paul-Lez |
doc: add library note about scoping simp lemmas with weak keys |
In PR #39262 I noticed that some `simp` lemmas were scoped for a reason that is not immediately obvious, so I figured that adding a library note would be nice in case anyone else runs into this in the future (this pattern is quite common in Mathlib!)
In case it's helpful for review, here are links to a few of the PRs that added this scoping initially:
- #14233
- #15620
- #15631
---
[](https://gitpod.io/from-referrer/)
|
|
71/4 |
Mathlib.lean,Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/CharP/Two.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/Ring/BooleanRing.lean,Mathlib/Algebra/Ring/CharZero.lean,Mathlib/Tactic.lean,Mathlib/Tactic/SimpLibraryNote.lean |
8 |
1 |
['github-actions'] |
nobody |
8-66793 8 days ago |
8-66861 8 days ago |
8-67428 8 days |
| 38911 |
Vierkantor author:Vierkantor |
chore(Tactic): deprecate `substs` and replace it with `subst` |
The `substs` tactic was a wrapper around `subst` to call it multiple times for different hypotheses. But `subst` now supports multiple hypotheses, so we can deprecate `substs` and replace it with `subst`.
I added a deprecation warning using a `Try this:` message.
Spotted while checking tactic docstrings.
---
[](https://gitpod.io/from-referrer/)
|
t-meta
delegated
|
46/42 |
Archive/Examples/IfNormalization/WithoutAesop.lean,Mathlib/Algebra/Homology/DifferentialObject.lean,Mathlib/Algebra/Homology/HomologicalComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/AlgebraicTopology/ExtraDegeneracy.lean,Mathlib/Analysis/Calculus/FDeriv/Comp.lean,Mathlib/CategoryTheory/Preadditive/Mat.lean,Mathlib/Computability/DFA.lean,Mathlib/Data/Analysis/Filter.lean,Mathlib/Data/Finset/Sort.lean,Mathlib/Data/List/Sigma.lean,Mathlib/Data/WSeq/Basic.lean,Mathlib/Geometry/RingedSpace/Stalks.lean,Mathlib/LinearAlgebra/Alternating/DomCoprod.lean,Mathlib/Logic/Equiv/Defs.lean,Mathlib/Logic/Equiv/PartialEquiv.lean,Mathlib/Order/Concept.lean,Mathlib/Order/JordanHolder.lean,Mathlib/SetTheory/Ordinal/Notation.lean,Mathlib/Tactic/Substs.lean,Mathlib/Topology/Gluing.lean |
22 |
17 |
['JovanGerb', 'Vierkantor', 'bryangingechen', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-bors', 'plp127'] |
thorimur assignee:thorimur |
8-65016 8 days ago |
15-65369 15 days ago |
5-44109 5 days |
| 39333 |
lecopivo author:lecopivo |
feat(run_auto_param): tactic to run autoParam tactic |
Tactic `run_auto_param` is designed to solve goals in the form `autoParam P tac` by executing
tactic `tac` on the goal `P`. It is mainly meant to be used as a discharger for other tactics like
`simp` or `fun_prop`.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
97/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/RunAutoParam.lean,MathlibTest/RunAutoParam.lean |
4 |
8 |
['JovanGerb', 'fpvandoorn', 'github-actions', 'lecopivo'] |
JovanGerb assignee:JovanGerb |
8-64509 8 days ago |
9-78925 9 days ago |
0-602 10 minutes |
| 39460 |
Deicyde author:Deicyde |
feat(Algebra/Module/ZLattice): Quotient by `IsZLattice` is group isomorphic to `UnitAddTorus` |
The main result `quotientAddEquivUnitAddTorus` constructs an isomorphism `(E ⧸ L) ≃+ UnitAddTorus ι` for any `IsZLattice ℝ L`.
Currently left as a draft for educational purpose. See the Zulip thread [#mathlib4 > What Is A Torus?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/What.20Is.20A.20Torus.3F/with/595553420) for more discussion.
---
- [ ] depends on: #39452
- [ ] depends on: #39453
[](https://gitpod.io/from-referrer/)
|
new-contributor
blocked-by-other-PR
|
67/6 |
Mathlib.lean,Mathlib/Algebra/Module/ZLattice/Torus.lean,Mathlib/Analysis/Fourier/AddCircleMulti.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/Topology/Instances/AddCircle/Real.lean |
5 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
8-60729 8 days ago |
unknown |
0-0 0 seconds |
| 38227 |
vihdzp author:vihdzp |
chore(Algebra/Order/Monoid/Unbundled/Basic): golfing + formatting |
We make use of `variable`, fix some weird spacing, and golf many proofs.
The only breaking change is that `mul_lt_iff_lt_one_left'`/`add_lt_iff_neg_left` now takes an explicit argument, matching the theorems surrounding it.
---
Not too fond of the `calc` tactic.
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-order
label:t-algebra$ |
233/501 |
Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Data/Real/Archimedean.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
8-60412 8 days ago |
8-60472 8 days ago |
8-74912 8 days |
| 32828 |
Hagb author:Hagb |
feat(Algebra/Order/Group/Defs): add `IsOrderedAddMonoid.toIsOrderedCancelAddMonoid'` |
It is similar to `IsOrderedAddMonoid.toIsOrderedCancelAddMonoid`, while with different hypotheses.
The conclusion `IsOrderedCancelMonoid α` on
`IsOrderedAddMonoid.toIsOrderedCancelAddMonoid` still holds when the hypothesis `CommGroup α` is weakened to `CancelCommMonoid α` while `PartialOrder α` is strengthened to `LinearOrder α`.
---
[`IsOrderedAddMonoid.toIsOrderedCancelAddMonoid`](https://leanprover-community.github.io/mathlib4_docs/find/?pattern=IsOrderedAddMonoid.toIsOrderedCancelAddMonoid#doc) and `IsOrderedAddMonoid.toIsOrderedCancelAddMonoid'`:
https://github.com/leanprover-community/mathlib4/blob/97f78b1a4311fed1844b94f1c069219a48a098e1/Mathlib/Algebra/Order/Group/Defs.lean#L52-L62
[](https://gitpod.io/from-referrer/)
|
awaiting-zulip
t-algebra
awaiting-author
label:t-algebra$ |
4/0 |
Mathlib/Algebra/Order/Group/Defs.lean |
1 |
15 |
['Garmelon', 'Hagb', 'Vierkantor', 'artie2000', 'dagurtomas', 'github-actions', 'leanprover-radar'] |
eric-wieser assignee:eric-wieser |
8-58121 8 days ago |
123-8144 123 days ago |
40-42357 40 days |
| 37720 |
cjrl author:cjrl |
feat(Data/Fintype/Card): existsUnique_notMem_image_of_injective_of_card_succ |
This pull requests adds a small theorem `existsUnique_notMem_image_of_injective_of_card_succ` to `Mathlib/Data/Fintype/Card` that says given an injective map f : α → β such that β has cardinality one more than α, there exists a unique element of β not in the image of f.
This can be viewed as going in the opposite direction of `card_lt_of_injective_of_notMem`.
This little fact is needed for our Latin Square PR #36698.
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
t-set-theory
|
19/0 |
Mathlib/Data/Finset/Card.lean,Mathlib/Data/Fintype/Card.lean |
2 |
10 |
['IvanRenison', 'cjrl', 'dagurtomas', 'ghseeli', 'github-actions'] |
nobody |
8-56539 8 days ago |
8-56539 8 days ago |
46-27390 46 days |
| 35197 |
j-loreaux author:j-loreaux |
feat: Hölder framework for `lp` spaces |
---
- [ ] depends on: #35152
- [ ] depends on: #35198
[](https://gitpod.io/from-referrer/)
|
t-analysis |
311/9 |
Mathlib.lean,Mathlib/Analysis/Normed/Lp/LpEquiv.lean,Mathlib/Analysis/Normed/Lp/lpHolder.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/Normed/Operator/Basic.lean,Mathlib/Tactic/Linter/TextBased.lean |
6 |
13 |
['github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mcdoll', 'mike1729', 'themathqueen'] |
themathqueen assignee:themathqueen |
8-54827 8 days ago |
32-3802 32 days ago |
51-6576 51 days |
| 32829 |
Hagb author:Hagb |
feat(Data/Finsupp/MonomialOrder): weaken `IsOrderedCancelAddMonoid` to `IsOrderedAddMonoid` |
`IsOrderedCancelAddMonoid syn` (`.iocam`) can be obtained from
`IsOrderedAddMonoid syn` and other fields.
---
- [ ] depends on: #32828
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-order
|
11/2 |
Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Data/Finsupp/MonomialOrder.lean |
2 |
9 |
['Hagb', 'Vierkantor', 'github-actions', 'mathlib4-dependent-issues-bot', 'vihdzp'] |
nobody |
8-52344 8 days ago |
163-48974 163 days ago |
0-137 2 minutes |
| 38536 |
CoolRmal author:CoolRmal |
feat: a lemma about the symmetric difference of unions |
Created with the help of Codex.
---
[](https://gitpod.io/from-referrer/)
|
t-data
easy
delegated
|
58/2 |
Mathlib/Data/Set/Lattice.lean,Mathlib/Order/CompleteBooleanAlgebra.lean |
2 |
17 |
['CoolRmal', 'SnirBroshi', 'eric-wieser', 'github-actions', 'mathlib-bors', 'ocfnash'] |
nobody |
8-50911 8 days ago |
10-84700 10 days ago |
7-75625 7 days |
| 39443 |
justus-springer author:justus-springer |
feat(Data/Set/Image): `nonempty_preimage_iff` |
Basically a converse to `nonempty_of_nonempty_preimage`.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
4/0 |
Mathlib/Data/Set/Image.lean |
1 |
4 |
['Paul-Lez', 'github-actions', 'justus-springer', 'urkud'] |
nobody |
8-38640 8 days ago |
9-69817 9 days ago |
9-69812 9 days |
| 33392 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(LinearAlgebra/Transvection/Generation): non-exceptional case in Dieudonné's theorem |
We prove the theorem of [Dieudonné-1955][J. Dieudonné, “Sur les générateurs
des groupes classiques”].
Let `K` be a division ring and `V` be a `K`-module.
* `LinearEquiv.mem_transvections_pow_mul_dilatransvections_of_fixedReduce_eq_one`:
If `e.fixedReduce = 1`, then `e` can be written as the product
of `finrank K (V ⧸ e.fixedSubmodule) - 1` transvections
and one dilatransvection.
This is the first part of the non-exceptional case in Dieudonné's theorem.
(This statement is not interesting when `e = 1`.)
* `LinearEquiv.mem_transvections_pow_mul_dilatransvections_of_fixedReduce_ne_smul_id`:
If `e.fixedReduce` is not a homothety, then `e` can be written as the product
of `finrank K (V ⧸ e.fixedSubmodule) - 1` transvections and one dilatransvection.
This is the second part of the non-exceptional case in Dieudonné's theorem.
* `LinearEquiv.IsExceptional`:
A linear equivalence `e : V ≃ₗ[K] V` is exceptional if `1 < finrank K (V ⧸ e.fixedSubmodule)`
and if `e.fixedReduce` is a nontrivial homothety.
* `LinearEquiv.mem_dilatransvections_pow_of_notIsExceptional`:
This is the non-exceptional case in Dieudonné's theorem,
as a combination of the two preceding statements.
---
- [x] depends on: #33348
- [x] depends on: #33282
- [x] depends on: #33347
- [ ] depends on: #33387
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
551/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Center.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/Transvection/Generation.lean |
4 |
16 |
['AntoineChambert-Loir', 'dagurtomas', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
joelriou assignee:joelriou |
8-35170 8 days ago |
8-35238 8 days ago |
55-74081 55 days |
| 30351 |
JLimperg author:JLimperg |
[Not a PR] Benchmark Aesop's lazy forward state construction |
Testing the performance impact of an Aesop change.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
dependency-bump
|
3/3 |
lake-manifest.json,lakefile.lean |
2 |
11 |
['JLimperg', 'github-actions', 'leanprover-bot', 'mathlib4-merge-conflict-bot', 'niro4-1'] |
nobody |
8-29283 8 days ago |
unknown |
0-0 0 seconds |
| 38427 |
mckoen author:mckoen |
feat(AlgebraicTopology/SimplicialSet): strong inner anodyne morphisms |
Defines strong inner anodyne morphisms, WIP
---
- [ ] depends on: #37869
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
WIP
merge-conflict
|
267/0 |
Mathlib.lean,Mathlib/AlgebraicTopology/Quasicategory/Basic.lean,Mathlib/AlgebraicTopology/Quasicategory/InnerFibration.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/Inner/Basic.lean |
4 |
4 |
['github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
8-28403 8 days ago |
31-84958 31 days ago |
0-14 14 seconds |
| 39499 |
MichaelStollBayreuth author:MichaelStollBayreuth |
chore: run `lake shake` successively from the leaves |
We do the experiment from #39481 in reverse order: starting from the leaves, run `lake shake --force --only --fix` and then `lake build` until something breaks. Then fix the problems manually and continue.
---
[](https://gitpod.io/from-referrer/)
|
WIP
tech debt
|
8057/0 |
MS_test/topsort.txt |
1 |
2 |
['MichaelStollBayreuth', 'github-actions'] |
nobody |
8-27276 8 days ago |
8-40035 8 days ago |
0-1 1 second |
| 39231 |
mbkybky author:mbkybky |
chore(RingTheory/PicardGroup): drop `StrongRankCondition` assumptions in two lemmas |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
3/6 |
Mathlib/RingTheory/PicardGroup.lean |
1 |
1 |
['github-actions'] |
nobody |
8-24218 8 days ago |
13-43584 13 days ago |
13-52969 13 days |
| 39067 |
mbkybky author:mbkybky |
feat(Algebra/Module): define modules admitting finite free resolutions |
We say that an `R`-module `M` has a finite free resolution if there exists an exact sequence `0 ⟶ Eₙ ⟶ ⋯ ⟶ E₀ ⟶ M ⟶ 0` such that `Eᵢ` are finite free `R`-modules.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
186/0 |
Mathlib.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/FiniteFreeResolution/Basic.lean |
3 |
1 |
['github-actions'] |
nobody |
8-24174 8 days ago |
14-7452 14 days ago |
17-30440 17 days |
| 37680 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph/Clique): add lemmas about isomorphisms and cliques |
---
Idea from this Zulip thread: [#**graph theory>Second Order Monadic Logic for Graph** ](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/Second.20Order.20Monadic.20Logic.20for.20Graph/with/583013775)
- [x] depends on: #37649
- [x] depends on: #37640
- [x] depends on: #37676
- [ ] depends on: #37697
- [ ] depends on: #37700
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-combinatorics
|
156/0 |
Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean |
2 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
8-19404 8 days ago |
unknown |
0-0 0 seconds |
| 37579 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph/Girth): add lemmas about the length of a walk being equal to the girth |
---
- [x] depends on: #37561
- [ ] depends on: #37577
- [x] depends on: #37574
- [ ] depends on: #37562
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-combinatorics
|
188/79 |
Mathlib/Combinatorics/SimpleGraph/Girth.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean |
5 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
8-18808 8 days ago |
52-69394 52 days ago |
0-678 11 minutes |
| 39504 |
WenrongZou author:WenrongZou |
feat(MvPowerSeries/Ideal): kernel of map equals map `C` of kernel |
In this PR, we prove that given a ring homomorphism f, suppose that kernel of f is finitely generated, then kernel of map equals map `C` of kernel. (See `ker_map_of_FG`).
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
87/0 |
Mathlib.lean,Mathlib/RingTheory/MvPowerSeries/Ideal.lean |
2 |
4 |
['CoolRmal', 'WenrongZou', 'github-actions'] |
nobody |
8-15021 8 days ago |
8-25338 8 days ago |
8-25633 8 days |
| 38739 |
CoolRmal author:CoolRmal |
feat: Analytic Hahn Banach theorem for locally convex spaces |
Closes #38419
This PR proves Hahn-Banach theorem for locally convex spaces, which allow us to
generalize both [ContinuousLinearMap.exist_extension_of_finiteDimensional_range](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Normed/Module/HahnBanach.html#ContinuousLinearMap.exist_extension_of_finiteDimensional_range) and [Submodule.ClosedComplemented.of_finiteDimensional](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Normed/Module/HahnBanach.html#Submodule.ClosedComplemented.of_finiteDimensional) (I also moved these two lemmas to the new file I created). Some helper lemmas about continuity of seminorms/linear functions are added.
Created with the help of Codex.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
delegated
|
185/57 |
Mathlib.lean,Mathlib/Analysis/LocallyConvex/HahnBanach.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/Normed/Module/HahnBanach.lean,Mathlib/Analysis/Seminorm.lean |
5 |
17 |
['ADedecker', 'CoolRmal', 'github-actions', 'j-loreaux', 'mathlib-bors'] |
ADedecker assignee:ADedecker |
8-10775 8 days ago |
14-78922 14 days ago |
10-63110 10 days |
| 37914 |
j-loreaux author:j-loreaux |
feat: transfer `star`-related instances across equivalences |
This also adds `Function.Injective.{InvolutiveStar,...}` and related lemmas.
In addition we rename the existing `Equiv.star` to `Equiv.Perm.star` (without a deprecation) so that the name can be used for the declaration which transfers a `Star` instance across an `Equiv`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
maintainer-merge
label:t-algebra$ |
95/2 |
Mathlib.lean,Mathlib/Algebra/Star/Basic.lean,Mathlib/Algebra/Star/Pointwise.lean,Mathlib/Algebra/Star/TransferInstance.lean |
4 |
15 |
['SnirBroshi', 'github-actions', 'themathqueen'] |
themathqueen assignee:themathqueen |
8-8973 8 days ago |
32-852 32 days ago |
32-2756 32 days |
| 37976 |
CoolRmal author:CoolRmal |
feat(MeasureTheory): Lusin's theorem |
We prove several versions of Lusin's theorem, all of which roughly says that measurable functions are continuous on nearly all its domain.
---
- [x] depends on: #38533
- [x] depends on: #38535
- [ ] depends on: #38536
- [x] depends on: #38538
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
blocked-by-other-PR
large-import
merge-conflict
|
792/14 |
Mathlib.lean,Mathlib/MeasureTheory/Function/LusinContinuous.Lean,Mathlib/MeasureTheory/Measure/Tight.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/Maps/Basic.lean,Mathlib/Topology/Separation/GDelta.lean,Mathlib/Topology/Separation/Hausdorff.lean,docs/1000.yaml |
8 |
15 |
['CoolRmal', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
8-8161 8 days ago |
42-37586 42 days ago |
0-17 17 seconds |
| 26088 |
grunweg author:grunweg |
chore(Linter/DirectoryDependency): move forbidden directories into a JSON file |
This PR continues the work from #25406.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25406 |
please-adopt
t-linter
merge-conflict
|
387/19 |
Mathlib/Tactic/Linter/DirectoryDependency.lean,scripts/README.md,scripts/forbiddenDirs.json |
3 |
7 |
['Vierkantor', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'rosborn'] |
nobody |
8-6101 8 days ago |
271-31080 271 days ago |
0-2565 42 minutes |
| 39203 |
FordUniver author:FordUniver |
refactor(Analysis/Calculus/Gradient): ungate inner_gradient lemmas |
Removes superfluous differentiability hypotheses (plus `UniqueDiffWithinAt` for the `Within` versions) from the four `inner_gradient[Within]_[left|right]` lemmas: `gradient` is defined as `(toDual 𝕜 F).symm (fderiv 𝕜 f x)`, so `⟪∇ f x, y⟫ = fderiv 𝕜 f x y` holds unconditionally since both sides are zero when `f` is not differentiable at `x`.
---
Genuinely unsure about this one because the only call I currently have in my code itself has the differentiability hypothesis. But including unused (or unnecessary) assumptions seems not intentional? My best guess is that the hypotheses were included by analogy with `HasGradientAt.fderiv_apply`, which genuinely needs them. This PR drops the hypotheses and rewrites the proofs through the isomorphism directly; no existing mathlib callers pass the now-redundant arguments. |
t-analysis
maintainer-merge
|
17/10 |
Mathlib/Analysis/Calculus/Gradient/Basic.lean |
1 |
6 |
['FordUniver', 'Komyyy', 'github-actions'] |
urkud assignee:urkud |
8-2647 8 days ago |
14-12837 14 days ago |
14-12832 14 days |
| 37848 |
rwst author:rwst |
feat(RingTheory/PowerSeries/Log): log and exp as inverses |
This adds the lemmas `exp_subst_log` and `log_subst_exp_sub_one`, together with two helpers needed for the proofs.
Note: I'm using Claude + Opus for supervised formalization tasks. Claude has no permission to use git on my machine.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
LLM-generated
|
88/0 |
Mathlib/RingTheory/PowerSeries/Log.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean |
2 |
10 |
['chrisflav', 'github-actions', 'rwst'] |
chrisflav assignee:chrisflav |
8-1420 8 days ago |
14-11549 14 days ago |
44-80420 44 days |
| 38917 |
yuanyi-350 author:yuanyi-350 |
chore(CategoryTheory/Comma/Basic): remove an erw |
- rewrites the `full_map` proof by pushing `Functor.comp_map` and the naturality equalities into a single `rw`/`simp only` chain
- removes the `erw`-based transport of `α.naturality_assoc` and `β.naturality`
Extracted from #38415
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
awaiting-author
|
5/5 |
Mathlib/CategoryTheory/Comma/Basic.lean |
1 |
2 |
['github-actions', 'loefflerd'] |
nobody |
7-81294 7 days ago |
7-81294 7 days ago |
13-30201 13 days |
| 39514 |
SnirBroshi author:SnirBroshi |
chore(RingTheory/Polynomial/Basic): golf `degreeLTEquiv` |
Also extracts the `monomial i a ∈ degreeLT R n` proof to a lemma.
---
The semicolons might be a bit excessive, let me know if so.
Also the `right_inv` proof is slower than the previous version, so maybe it should be reverted, but the rest is fine.
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
11/32 |
Mathlib/RingTheory/Polynomial/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
7-81219 7 days ago |
7-81505 7 days ago |
7-81908 7 days |
| 36954 |
FMLJohn author:FMLJohn |
feat(Topology/ClosedBases): `TopologicalSpace.IsClosedBasis` and `TopologicalSpace.IsClosedSubbasis s` |
In this pull request, I have defined closed bases and closed subbases of topologies, and proved some basic properties of them.
## Main definitions
* `TopologicalSpace.IsClosedBasis s`: A closed basis of a topological space `α` is a collection of closed sets `s : Set (Set α)` such that every closed subset of `α` can be written as an intersection of elements of `s`.
---
[](https://gitpod.io/from-referrer/) |
t-topology |
117/0 |
Mathlib.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/ClosedBases.lean |
3 |
19 |
['github-actions', 'scholzhannah'] |
urkud assignee:urkud |
7-80785 7 days ago |
32-21140 32 days ago |
61-23461 61 days |
| 38916 |
yuanyi-350 author:yuanyi-350 |
chore(CategoryTheory/CatCommSq): remove an erw |
- rewrites `hInv_hInv` by using `conv_rhs` with `iso_hom_naturality`
- removes the `rw`/`erw` pair around `Functor.comp_map`
Extracted from #38415
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
|
3/2 |
Mathlib/CategoryTheory/CatCommSq.lean |
1 |
2 |
['github-actions', 'loefflerd'] |
nobody |
7-79973 7 days ago |
21-25097 21 days ago |
21-25092 21 days |
| 36934 |
Parcly-Taxel author:Parcly-Taxel |
refactor: `Language` as a one-field structure |
I came across definitional equality problems when trying to prove the following as part of a challenge from my PhD advisor:
```lean
import Mathlib.Computability.Language
variable {α : Type*}
/-- `IsSingleton y` states that `y` consists of only one word, and that word is not empty. -/
def IsSingleton (y : Language α) : Prop :=
(∀ z ≤ y, z = y ∨ z = 0) ∧ y ≠ 1 ∧ y ≠ 0
lemma isSingleton_iff {y : Language α} : IsSingleton y ↔ ∃ w ≠ [], y = {w} := by
sorry
```
This refactor resolves said defeq problems by making `Language` into a one-field structure with `toSet` and `ofSet`.
---
- [ ] depends on: #37603 |
t-computability
blocked-by-other-PR
merge-conflict
|
179/110 |
Mathlib/Computability/ContextFreeGrammar.lean,Mathlib/Computability/DFA.lean,Mathlib/Computability/EpsilonNFA.lean,Mathlib/Computability/Language.lean,Mathlib/Computability/MyhillNerode.lean,Mathlib/Computability/NFA.lean,Mathlib/Computability/RegularExpressions.lean |
7 |
22 |
['Parcly-Taxel', 'YaelDillies', 'eric-wieser', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
YaelDillies assignee:YaelDillies |
7-67605 7 days ago |
47-40033 47 days ago |
11-26368 11 days |
| 36971 |
Jun2M author:Jun2M |
feat(Combinatorics/GraphLike): Change SimpleGraph files to use GraphLike |
Per discussion at ([#graph theory > HasAdj](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/HasAdj/with/575843445)), this PR changes a swath of files in `SimpleGraph` folder to use `GraphLike` class and its APIs.
---
- [ ] depends on: #36743
- [ ] depends on: #39047
- [ ] depends on: #36829
- [ ] depends on: #36756
- [ ] depends on: #39054
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-combinatorics
merge-conflict
|
2202/1597 |
Archive/Wiedijk100Theorems/Konigsberg.lean,Mathlib.lean,Mathlib/CategoryTheory/Sites/IsSheafFor.lean,Mathlib/Combinatorics/GraphLike/Basic.lean,Mathlib/Combinatorics/GraphLike/Walks/Basic.lean,Mathlib/Combinatorics/GraphLike/Walks/Simple.lean,Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/Circulant.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/Constructions.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Dart.lean,Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/DeleteEdges.lean,Mathlib/Combinatorics/SimpleGraph/Ends/Defs.lean,Mathlib/Combinatorics/SimpleGraph/Girth.lean,Mathlib/Combinatorics/SimpleGraph/GraphLike.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Hasse.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean,Mathlib/Combinatorics/SimpleGraph/Metric.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Prod.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Sum.lean,Mathlib/Combinatorics/SimpleGraph/Trails.lean,Mathlib/Combinatorics/SimpleGraph/Tutte.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Chord.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Counting.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Subwalks.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Traversal.lean,Mathlib/Data/Subtype.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simproc/CastData.lean |
43 |
7 |
['github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
7-67604 7 days ago |
64-55622 64 days ago |
0-533 8 minutes |
| 37671 |
grunweg author:grunweg |
feat: also check for norm_num in the flexible linter |
Most other flexible tactics are terminal; dsimp is missing from this list (but perhaps less important in practice.
---
- [x] depends on: #37880
[](https://gitpod.io/from-referrer/)
|
t-linter
awaiting-author
merge-conflict
|
31/1 |
Archive/Wiedijk100Theorems/AbelRuffini.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semifield.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/CStarAlgebra/Unitary/Connected.lean,Mathlib/Analysis/InnerProductSpace/Convex.lean,Mathlib/Analysis/SpecialFunctions/ArithmeticGeometricMean.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean,Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Chunk.lean,Mathlib/LinearAlgebra/RootSystem/Reduced.lean,Mathlib/MeasureTheory/Integral/MeanInequalities.lean,Mathlib/MeasureTheory/Measure/IntegralCharFun.lean,Mathlib/NumberTheory/Chebyshev.lean,Mathlib/NumberTheory/Harmonic/EulerMascheroni.lean,Mathlib/Tactic/Linter/FlexibleLinter.lean,Mathlib/Topology/UrysohnsLemma.lean |
19 |
12 |
['SnirBroshi', 'github-actions', 'grunweg', 'joneugster', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
7-67480 7 days ago |
38-19273 38 days ago |
4-15280 4 days |
| 38054 |
chrisflav author:chrisflav |
feat(RingTheory): category of finite étale algebras over a separably closed field |
We define the category of finite étale `R`-algebras for a ring `R` and show it is equivalent to `FintypeCat` if `R` is a separably closed field.
From Pi1.
---
- [ ] depends on: #38016
- [ ] depends on: #38409
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
blocked-by-other-PR
merge-conflict
|
338/1 |
Mathlib.lean,Mathlib/Algebra/Algebra/Pi.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Basic.lean,Mathlib/FieldTheory/IsSepClosed.lean,Mathlib/RingTheory/Artinian/Module.lean,Mathlib/RingTheory/Etale/Basic.lean,Mathlib/RingTheory/Etale/Field.lean,Mathlib/RingTheory/Etale/Finite.lean,Mathlib/RingTheory/TensorProduct/Maps.lean,Mathlib/RingTheory/TotallySplit.lean |
10 |
6 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
7-66187 7 days ago |
32-21944 32 days ago |
0-82112 22 hours |
| 39287 |
xgenereux author:xgenereux |
feat(Localization/AtPrime/Basic): upgrade `equivQuotMaximalIdeal` to an AlgEquiv |
The definition [IsLocalization.AtPrime.equivQuotMaximalIdealPow](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Localization/AtPrime/Basic.html#IsLocalization.AtPrime.equivQuotMaximalIdealPow) was added in #36783.
The case with `n = 1` is still important and interesting. I have upgraded it to an AlgEquiv using `equivQuotMaximalIdealPow`.
This did break a few small things, because we need to bridge back to a `RingEquiv` in some places. I took the liberty to add some missing `apply` lemmas to ease fixing these proofs.
Disclaimer: I used Claude to suggest the first shot and refined it from there.
María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)>
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
merge-conflict
|
45/68 |
Mathlib/RingTheory/Localization/AtPrime/Basic.lean,Mathlib/RingTheory/Localization/AtPrime/Extension.lean,Mathlib/RingTheory/Trace/Quotient.lean |
3 |
2 |
['github-actions', 'mathlib-merge-conflicts', 'wwylele'] |
nobody |
7-65808 7 days ago |
7-65809 7 days ago |
4-53165 4 days |
| 39481 |
MichaelStollBayreuth author:MichaelStollBayreuth |
chore: run `lake shake` iteratively and fix problems |
This adds `-- shake: keep-all` to all modules under `Mathlib.Lean`, `Mathlib.Tactic` and `Mathlib.Util`.
Then it goes through the remaining modules in topological order (according to the list in `MS_test/topsort3.txt`) and for each of them, runs `lake shake --force --only --fix`, followed by `lake build `. If there is no error, the changes are commited. Otherwise, the problems are fixed manually; then the changes are committed.
This has been done for the first ~400 modules in the list. 38 of them required manual fixes; they are listed in `MS_test/after_shake_fixes.txt`.
We note that the import stats bot claims that the number of imports actually *increases* in most files, which somehow runs counter expectations...
Discussion: [#mathlib4 > shake without --add-public @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/shake.20without.20--add-public/near/595349216)
---
[](https://gitpod.io/from-referrer/)
|
WIP
tech debt
large-import
merge-conflict
|
9178/858 |
MS_test/after_shake_fixes.txt,MS_test/topsort3.txt,Mathlib/Algebra/AddTorsor/Defs.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/CharZero/Defs.lean,Mathlib/Algebra/ContinuedFractions/Basic.lean,Mathlib/Algebra/Divisibility/Basic.lean,Mathlib/Algebra/Divisibility/Hom.lean,Mathlib/Algebra/Divisibility/Prod.lean,Mathlib/Algebra/Divisibility/Units.lean,Mathlib/Algebra/EuclideanDomain/Field.lean,Mathlib/Algebra/Expr.lean,Mathlib/Algebra/Field/Defs.lean,Mathlib/Algebra/Field/IsField.lean,Mathlib/Algebra/Free.lean,Mathlib/Algebra/FreeMonoid/Basic.lean,Mathlib/Algebra/FreeMonoid/Count.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/Faithful.lean,Mathlib/Algebra/Group/Action/Option.lean,Mathlib/Algebra/Group/Action/Pretransitive.lean,Mathlib/Algebra/Group/Action/Sum.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Group/Commute/Basic.lean,Mathlib/Algebra/Group/Commute/Units.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Equiv/Basic.lean,Mathlib/Algebra/Group/Equiv/Defs.lean,Mathlib/Algebra/Group/Equiv/TypeTags.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Hom/Basic.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Group/Hom/End.lean,Mathlib/Algebra/Group/Hom/Instances.lean,Mathlib/Algebra/Group/Idempotent.lean,Mathlib/Algebra/Group/InjSurj.lean,Mathlib/Algebra/Group/Int/Units.lean,Mathlib/Algebra/Group/Invertible/Basic.lean,Mathlib/Algebra/Group/Invertible/Defs.lean,Mathlib/Algebra/Group/Irreducible/Defs.lean,Mathlib/Algebra/Group/ModEq.lean,Mathlib/Algebra/Group/Nat/Hom.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/Group/Pi/Basic.lean,Mathlib/Algebra/Group/Pi/Units.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Group/Semiconj/Basic.lean,Mathlib/Algebra/Group/Semiconj/Defs.lean,Mathlib/Algebra/Group/Semiconj/Units.lean,Mathlib/Algebra/Group/Torsion.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean,Mathlib/Algebra/Group/Units/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/Algebra/Group/WithOne/Basic.lean,Mathlib/Algebra/Group/WithOne/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Basic.lean,Mathlib/Algebra/GroupWithZero/Commute.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/GroupWithZero/Divisibility.lean,Mathlib/Algebra/GroupWithZero/Hom.lean,Mathlib/Algebra/GroupWithZero/Idempotent.lean,Mathlib/Algebra/GroupWithZero/InjSurj.lean,Mathlib/Algebra/GroupWithZero/Invertible.lean,Mathlib/Algebra/GroupWithZero/NeZero.lean,Mathlib/Algebra/GroupWithZero/Opposite.lean,Mathlib/Algebra/GroupWithZero/Prod.lean,Mathlib/Algebra/GroupWithZero/Regular.lean,Mathlib/Algebra/GroupWithZero/Semiconj.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/Algebra/HierarchyDesign.lean,Mathlib/Algebra/Homology/ComplexShape.lean,Mathlib/Algebra/Homology/Embedding/Basic.lean,Mathlib/Algebra/NeZero.lean,Mathlib/Algebra/Notation.lean,Mathlib/Algebra/Notation/Defs.lean,Mathlib/Algebra/Notation/Lemmas.lean,Mathlib/Algebra/Notation/Pi/Basic.lean,Mathlib/Algebra/Notation/Pi/Defs.lean,Mathlib/Algebra/Notation/Prod.lean,Mathlib/Algebra/Opposites.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean,Mathlib/Algebra/Prime/Defs.lean,Mathlib/Algebra/Quotient.lean,Mathlib/Algebra/Regular/Basic.lean,Mathlib/Algebra/Regular/Defs.lean,Mathlib/Algebra/Ring/Basic.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/Algebra/Ring/GrindInstances.lean,Mathlib/Algebra/Ring/Hom/Defs.lean,Mathlib/Algebra/Ring/Hom/InjSurj.lean,Mathlib/Algebra/Ring/Idempotent.lean,Mathlib/Algebra/Ring/InjSurj.lean,Mathlib/Algebra/Ring/Int/Defs.lean,Mathlib/Algebra/Ring/Invertible.lean,Mathlib/Algebra/Ring/MinimalAxioms.lean |
690 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
7-65805 7 days ago |
unknown |
0-0 0 seconds |
| 39482 |
kbuzzard author:kbuzzard |
(fixing up another PR because I'm impatient): |
---
- [ ] depends on: #39467 [(in fact it _is_ #39467, I was just impatient]
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
merge-conflict
label:t-algebra$ |
24/10 |
Mathlib/Algebra/Ring/Defs.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/Algebra/Ring/GrindInstances.lean |
3 |
6 |
['github-actions', 'kbuzzard', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
7-65804 7 days ago |
8-72144 8 days ago |
0-1 1 second |
| 39202 |
FordUniver author:FordUniver |
feat(Analysis/Calculus/Gradient): add toDual_gradient and companions |
Add `toDual_gradient`, `toDual_gradientWithin`, and the composed variants `toDual_comp_gradient`, `toDual_comp_gradientWithin` — the natural inverse direction of the gradient's defining equation `∇ f x := (toDual 𝕜 F).symm (fderiv 𝕜 f x)`. These identify `(toDual 𝕜 F) (∇ f x)` with `fderiv 𝕜 f x` (and the `gradientWithin` and composed forms with the corresponding fderiv versions), making the Riesz isomorphism between the two derivative views explicit. The proofs of `DifferentiableAt.hasGradientAt` and `DifferentiableWithinAt.hasGradientWithinAt` in the same file are simplified to use them.
---
Came up while formalizing the descent lemma for Lipschitz-smooth functions, where being able to switch between `LipschitzWith K (fderiv ℝ f)` and `LipschitzWith K (∇ f)` is helpful, which with this PR becomes `toDual_comp_gradient ▸ (toDual ℝ F).isometry.lipschitzWith_iff K`. Also slightly simplifies two call sites in mathlib. |
maintainer-merge |
20/5 |
Mathlib/Analysis/Calculus/Gradient/Basic.lean |
1 |
5 |
['FordUniver', 'Komyyy', 'github-actions'] |
nobody |
7-64951 7 days ago |
14-12311 14 days ago |
14-12470 14 days |
| 39505 |
dannyhe652 author:dannyhe652 |
feat(SimpleGraph): add Vizing's theorem for edge coloring |
Hi! I'm a high school student interested in formulization of mathematics in Lean. Recently, I have worked on a project to formulize Vizing Theorem with Daniel Raggi from Cambridge University with AI assistance. In particular, we first drafted an outline for the proof, and built the proof using Claude Opus 4.5 and 4.6. The proof is optimized using Aristotle and finally reviewed by ourselves. We rewrote some parts of the code and some comments. The code now builds cleanly and we wish this code to be reviewed by Lean Community. I am aware that there are previous attempts, some being successful, on formulizing Vizing Theorem, including this one by Arohee https://github.com/aroheebhoja/vizing. However, I believe that no PR have been made. Our proof is not based on his proof, but it could be helpful for the community to review that project as well. I sincerely thank everyone who has time to verify and review our code. A summary of the project is as follows. Please contact me if there are any questions or problems.
## Summary
This PR completes the proof of **Vizing's theorem** for edge coloring in simple graphs, proving that the chromatic index of any graph is either Δ (the maximum degree) or Δ + 1.
## Changes
### New files
- **`Mathlib/Combinatorics/SimpleGraph/Coloring/EdgeColoring.lean`** — Core definitions
- `edgeColoring`: Type for line graph colorings
- `edgeColorable`: Graph is edge-colorable with n colors
- `chromaticIndex`: Chromatic index as ℕ
- **`Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain.lean`** — Kempe Chain
- Coloring observables: `incidentEdges`, `incidentColors`, `missingColors`
- Kempe subgraph structure with bounded degree
- `swapKempe`: Recolor edges in a connected component via color-swapping
- **`Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan.lean`** — Vizing Fan Rotation
- `IsFan`: Vizing fan structure with special color properties
- Fan maximality and dichotomy on terminal vertices
- `rotate_termA`: Extend coloring when a free color exists at both endpoints
- `vizingAdjacencyLemma`: Main adjacency lemma for both cases
- **`Mathlib/Combinatorics/SimpleGraph/Coloring/VizingTheorem.lean`** — Main theorems
- `edge_eq_of_color_eq`: Proper edge colorings assign different colors to distinct edges sharing a vertex
- `maxDegree_le_chromaticIndex`: χ'(G) ≥ Δ(G)
- `chromaticIndex_bot`: Empty graph has chromatic index 0
- `vizingUpperBound_aux`: Inductive proof of upper bound on number of edge
- `vizingTheorem`: χ'(G) ∈ {Δ(G), Δ(G) + 1}
### Modified files
- `Mathlib.lean` — Added imports for the four new coloring modules
## Technical Approach
**Lower bound** (χ'(G) ≥ Δ):
- Edges incident to a max-degree vertex form a clique in the line graph
- Clique number lower-bounds chromatic number
**Upper bound** (χ'(G) ≤ Δ + 1):
- Induction on the number of edges
- Base case: empty graph colored with 0 colors
- Inductive step:
- If a free color exists at both endpoints of an edge, then extend directly
- Otherwise:
- Build a maximal fan from one endpoint
- Apply dichotomy: either extend via Term-A (free color at both endpoints) or Term-B (Kempe swap)
- Term-B uses a three-vertex connectivity argument to derive a contradiction, forcing the fan to extend
## Key Lemmas
- `incidentEdges`, `incidentColors`, `missingColors`: Coloring observables at vertices
- `kempeSubgraph`: Restricted subgraph of edges with two specific colors
- `swapKempe`: Recolor via Kempe chain swapping
- `IsFan.singleton`: Trivial fan always valid
- `IsFan.length_le_card`: Fan length is bounded by vertex count
- `IsFan.dichotomy`: Maximal fan satisfies Term-A or Term-B
- `IsFan.rotate_termA`: Term-A case extends the coloring inductively
- `vizingAdjacencyLemma`: Handles both cases for extending one edge
- `vizingUpperBound_aux`: Framework for full inductive proof
- `edge_eq_of_color_eq`: Distinctness of edges with same color
## Testing
All four modules compile with no `sorry` nor errors or warnings.
## References
* V. G. Vizing, *On an estimate of the chromatic class of a p-graph*,
Diskret. Analiz. 3 (1964), 25–30.
## Co-authors
Co-authored-by: Daniel Raggi
Co-authored-by: Aristotle (Harmonic)
Co-authored-by: Claude Opus 4.5 & 4.6
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
LLM-generated
|
1915/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/EdgeColoring.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingTheorem.lean |
5 |
3 |
['github-actions'] |
nobody |
7-60382 7 days ago |
7-65428 7 days ago |
7-66802 7 days |
| 26479 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat(Analysis/Complex/CauchyIntegral): Cauchy–Goursat for Unbounded Rectangles |
In this PR, we prove versions of the Cauchy-Goursat theorem where the contours in question are rectangular and unbounded (ie, where the contours look like the $\bigsqcup$ symbol). I am not sure if I have formalised these in the best way, or if `Analysis.Complex.CauchyIntegral` is the best place for them (it might be prudent to reorganise the file into multiple files at some point), but I believe this is a useful result. Suggestions welcome.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-analysis
sphere-packing
|
219/0 |
Mathlib/Analysis/Complex/CauchyIntegral.lean |
1 |
7 |
['github-actions', 'j-loreaux', 'loefflerd', 'mathlib4-merge-conflict-bot', 'thefundamentaltheor3m', 'wwylele'] |
urkud assignee:urkud |
7-47374 7 days ago |
7-47374 7 days ago |
41-58591 41 days |
| 39183 |
yuanyi-350 author:yuanyi-350 |
refactor(Analysis): golf `Mathlib/Analysis/Complex/Exponential` |
- shortens the reindexing step in `norm_exp_sub_sum_le_norm_mul_exp` by switching from `sum_bij` to `sum_Ico_eq_sum_range` with `simp`
Extracted from #37968
[](https://gitpod.io/from-referrer/) |
codex
t-analysis
LLM-generated
maintainer-merge
|
8/23 |
Mathlib/Analysis/Complex/Exponential.lean |
1 |
4 |
['Komyyy', 'github-actions', 'yuanyi-350'] |
urkud assignee:urkud |
7-44867 7 days ago |
7-45055 7 days ago |
14-26658 14 days |
| 39434 |
Paul-Lez author:Paul-Lez |
feat: add Faa Di Bruno helper results |
WIP
This PR adds a few helper results for the Faa Di Bruno theorem - the motivation for adding those is work I've been doing at the ICERM analysis workshop on defining jet bundles, which requires proving some vanishing results for higher order derivatives.
~~One question for review: currently a few of the results are stated for `(s ∩ u)` - do people think this is useful? Or would it be worth just stating the results for `u` directly?~~ Actually after a bit of thinking I'm not super happy with this approach, so I'm going to remove these. There's also one or two other lemmas I'd like to add before someone takes a look at these!
AI usage: I used codex for part of the work on this (stating some of the results, based on some precise prompting I gave), and checked the content carefully and spent some time golfing proofs and so on (all of this before the first commit).
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
WIP
|
79/1 |
Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean |
1 |
1 |
['github-actions'] |
nobody |
7-35896 7 days ago |
8-79217 8 days ago |
0-84707 23 hours |
| 35122 |
Marygold-Dusk author:Marygold-Dusk |
feat: define C^n submersions |
This PR defines submersions between C^n manifolds. In the infinite-dimensional setting, submersions are defined via local normal forms rather than surjectivity of the mfderiv. A map f is a submersion at x if, in suitable charts around x and f x, it has the form (u, v) ↦ u after identifying the model space with a product.
We prove a few basic properties:
- being a submersion is a local property,
- products of submersions are submersions,
- the set of submersed points is open
Future PRs will prove that submersions are C^n and deduce equivalence with the standard definition in finite dimensions. From the path towards the regular value theorem.
This file was developed under the supervision of Michael Rothgang.
Co-authored-by: Michael Rothgang
---
Most of the design is analogues to immersions.
|
t-differential-geometry
new-contributor
|
642/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Submersion.lean,docs/references.bib |
3 |
54 |
['Marygold-Dusk', 'chrisflav', 'github-actions', 'grunweg'] |
PatrickMassot and grunweg assignee:grunweg assignee:PatrickMassot |
7-35562 7 days ago |
7-35562 7 days ago |
51-56091 51 days |
| 39447 |
Paul-Lez author:Paul-Lez |
feat: define map from PowerSeries to FormalMultilinearSeries |
WIP: I'm not fully happy with the design yet and would like to change a few things around **before** anyone takes a look for review!
This PR defines a map from `PowerSeries R` to `FormalMultilinearSeries R A A`, and proves that this map preserves addition and composition.
Co-authored-by: Xavier Genereux
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-ring-theory
|
181/0 |
Mathlib/RingTheory/PowerSeries/ToFormalMultilinearSeries.lean |
1 |
1 |
['github-actions'] |
nobody |
7-33562 7 days ago |
9-68257 9 days ago |
0-23 23 seconds |
| 37624 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph/Maps): add theorems about composition |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
32/5 |
Mathlib/Combinatorics/SimpleGraph/Ends/Defs.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean |
2 |
11 |
['IvanRenison', 'YaelDillies', 'github-actions'] |
nobody |
7-28198 7 days ago |
8-82787 8 days ago |
50-33176 50 days |
| 37010 |
pion2024 author:pion2024 |
`Sl2`update: add theorem `finrank_weightSpace_eq_one_of_isIrreducible` |
# Background:
I am a 2nd year undergrad student in mathematics currently self-teaching Lie algebra and representation theory.
Before starting the formalization, I searched for related keywords on Zulip and in the GitHub issues and commits. As far as I could tell, there were no existing results or ongoing attempts before I started.
All feedback is welcome. Even a quick check on the statement design/an idea on the generalization (cf Limitations below) would be incredibly helpful.
# Overview
In this PR, I added the new section `IsAlgClosedIrreducible` which formalizes the well-known theorem `finrank_weightSpace_eq_one_of_isIrreducible` for the Lie algebra $\mathfrak{sl}_2$ step by step. It proves that for a finite-dimensional irreducible representation of $\mathfrak{sl}_2$ over an algebraically closed field $K$ of characteristic zero, every non-trivial weight space has a dimension of exactly 1.
# Formalization Structure :
Instead of relying on explicit finite sums (`Finset.sum`) and manipulating coefficients, I heavily leverage Mathlib's abstractions in Submodule Lattice Theory and Coordinate-free Linear Algebra. The formalization proceeds in the following logic:
1. Existence of a Primitive Vector (`exists_primitiveVector`): I construct a primitive (highest-weight) vector by showing that repeated applications of the raising operator $e$ must eventually yield zero due to the finite-dimensionality of $M$ and the linear independence of eigenvectors corresponding to distinct eigenvalues.
2. The span of $f$-Tower as a Lie Submodule equals to the whole space (`fTowerLieSubmodule_eq_top`): I define the $f$-tower submodule as the $K$-span of $\{f^k m \mid k \in \mathbb{N}\}$. By proving its closure under the action of $f, h$, and $e$, I establish it as a Lie submodule. Since $M$ is irreducible, this submodule must be the entire space ($\top$).
3. Submodule Lattice Operations (`exists_mem_fTower_of_weightSpace_ne_bot`): To prove that every weight in $M$ is of the form $\mu_0 - 2k$, I use lattice operations (iSup, inf, and Disjoint) to avoid element-wise tracking. Since the $f$-tower spans $M$, the supremum of its weight spaces is $\top$. By leveraging `Module.End.eigenspaces_iSupIndep`, I show that any arbitrary non-trivial weight space would have a trivial intersection with $\top$ if its weight didn't belong to the sequence, yielding a contradiction.
4. Dimension Calculation via Basis Equivalence (`finrank_weightSpace_eq_one_of_isIrreducible`): Finally, I construct a basis from the non-zero elements of the $f$-tower. To show the weight space is 1-dimensional, I use `Basis.equivFun` to compare coefficients algebraically. This avoids heavy manual indexing and index-shifting, proving that any vector in the weight space $\mu_0 - 2k$ is merely a scalar multiple of $f^k m$.
# Use of AI:
I used Gemini 3.1 Pro for tactics, theorems, improvement suggestions, and error explanations. I fully understand and can vouch for all the modifications I have made to the file.
# Limitations:
I only managed to formalize the finite-dimensional version, although the theorem also holds in the infinite-dimensional case. In the infinite case the existence of a primitive vector is not guaranteed. A quick search suggests that we might need heavy tools like Casimir operators and the universal enveloping algebra, which are totally beyond my current level. I am looking into it, but since there is a significant mathematical gap, I thought it would be best to get this finite-dimensional version merged first. |
new-contributor
t-algebra
large-import
awaiting-author
merge-conflict
label:t-algebra$ |
336/0 |
Mathlib/Algebra/Lie/Sl2.lean |
1 |
11 |
['github-actions', 'mathlib-bors', 'mathlib-merge-conflicts', 'ocfnash', 'pion2024'] |
ocfnash assignee:ocfnash |
7-27138 7 days ago |
54-7775 54 days ago |
2-57577 2 days |
| 39526 |
chrisflav author:chrisflav |
feat(CategoryTheory/Sites): definition of hypercovers |
This is WIP.
Co-authored by: Robin Carlier
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
t-algebraic-topology
|
905/0 |
Mathlib/AlgebraicTopology/SimplicialObject/Cotensor.lean |
1 |
1 |
['github-actions'] |
nobody |
7-24593 7 days ago |
unknown |
0-0 0 seconds |
| 38721 |
tb65536 author:tb65536 |
feat(GroupTheory/Torsion): the torsion subgroup is preserved by isomorphisms |
This PR proves that the torsion subgroup is preserved by isomorphisms.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-group-theory
label:t-algebra$ |
21/3 |
Mathlib/GroupTheory/Torsion.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Basic.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Three.lean,Mathlib/NumberTheory/NumberField/Units/Basic.lean |
4 |
5 |
['github-actions', 'mathlib-merge-conflicts', 'riccardobrasca', 'tb65536'] |
riccardobrasca assignee:riccardobrasca |
7-22866 7 days ago |
7-22927 7 days ago |
24-34150 24 days |
| 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
|
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 |
8 |
['KryptosAI', 'Multramate', 'dagurtomas', 'github-actions', 'mattrobball', 'ooovi'] |
nobody |
7-19582 7 days ago |
7-19582 7 days ago |
59-48094 59 days |
| 26923 |
oliver-butterley author:oliver-butterley |
feat(Dynamics/BirkhoffSum): add the pointwise ergodic theorem (Birkhoff's) |
The Pointwise Ergodic Theorem, also known as Birkhoff's Ergodic Theorem.
Co-authored-by: Lua Viana Reis
- [x] depends on: #26074
- [x] depends on: #26807
- [x] depends on: #26810
- [x] depends on: #26840
- [x] depends on: #26842
- [x] depends on: #26848
- [x] depends on: #26851
- [x] depends on: #26852
- [x] depends on: #26853
- [x] depends on: #27008
- [x] depends on: #28901
Zulip: [PR thread](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2326923.20The.20pointwise.20ergodic.20theorem.20.28Birkhoff's.29/with/527835158)
---
[](https://gitpod.io/from-referrer/)
|
t-dynamics
new-contributor
awaiting-author
|
398/0 |
Mathlib.lean,Mathlib/Dynamics/BirkhoffSum/Pointwise.lean |
2 |
33 |
['D-Thomine', 'github-actions', 'leanprover-community-bot-assistant', 'lua-vr', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'rwst', 'sgouezel', 'urkud'] |
sgouezel assignee:sgouezel |
7-19156 7 days ago |
159-79519 159 days ago |
98-50945 98 days |
| 39527 |
MichaelStollBayreuth author:MichaelStollBayreuth |
chore: add shortcut instances for Rat, Complex |
---
[](https://gitpod.io/from-referrer/)
|
WIP
slow-typeclass-synthesis
t-algebra
label:t-algebra$ |
6/0 |
Mathlib/Algebra/Ring/Rat.lean,Mathlib/Data/Complex/Basic.lean |
2 |
3 |
['MichaelStollBayreuth', 'github-actions', 'leanprover-radar'] |
nobody |
7-11643 7 days ago |
7-17218 7 days ago |
0-2 2 seconds |
| 39370 |
fpvandoorn author:fpvandoorn |
feat: add specialized grind sets |
This adds two grind attributes for specialized tactics. See module doc for more information and motivation. This PR does not tag any lemmas yet.
[Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/small.20specialized.20grind.20sets/with/595132109)
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
113/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/GrindAttrs.lean |
4 |
5 |
['chenson2018', 'fpvandoorn', 'github-actions'] |
dwrensha assignee:dwrensha |
7-9858 7 days ago |
11-8534 11 days ago |
11-8529 11 days |
| 39491 |
Yu-Misaka author:Yu-Misaka |
feat(Mathlib/LinearAlgebra/RootSystem/CartanMatrix): a Cartan matrix of a reduced crystallographic root system cannot have eigenvalue 4 |
This proves the TODO that a Cartan matrix of a reduced crystallographic root system cannot have eigenvalue 4.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
125/8 |
Mathlib/Data/Matrix/Mul.lean,Mathlib/LinearAlgebra/RootSystem/CartanMatrix.lean,Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Basis.lean,Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Semisimple.lean |
4 |
5 |
['copilot-pull-request-reviewer', 'github-actions', 'mathlib-bors', 'ocfnash'] |
ocfnash assignee:ocfnash |
7-7674 7 days ago |
8-54578 8 days ago |
0-10 10 seconds |
| 39216 |
emlis42 author:emlis42 |
feat(Topology/Algebra/InfiniteSum): add `limUnder_eq_tprod` |
This PR adds `limUnder_eq_tprod` and `limUnder_eq_tsum`. |
t-topology
new-contributor
|
10/0 |
Mathlib/Topology/Algebra/InfiniteSum/Defs.lean |
1 |
6 |
['SnirBroshi', 'emlis42', 'github-actions', 'grunweg', 'mathlib-bors'] |
urkud assignee:urkud |
7-7365 7 days ago |
7-7367 7 days ago |
6-79087 6 days |
| 32555 |
ksenono author:ksenono |
feat(Combinatorics/SimpleGraph/Matching): maximum and maximal matchings for Konig's theorem |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
awaiting-author
|
112/0 |
Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean |
2 |
46 |
['SnirBroshi', 'SproutSeeds', 'YaelDillies', 'b-mehta', 'github-actions', 'jcommelin', 'ksenono'] |
YaelDillies assignee:YaelDillies |
7-6804 7 days ago |
7-20963 7 days ago |
130-57925 130 days |
| 39269 |
godofecht author:godofecht |
feat(Algebra/Spectrum): add the second resolvent identity |
Adds `spectrum.resolvent_sub_resolvent`:
For `a b : A` in an `R`-algebra and `r` in the resolvent set of both,
`resolvent a r - resolvent b r = resolvent a r * (a - b) * resolvent b r`.
Companion to `spectrum.resolvent_eq`. |
t-algebra
new-contributor
label:t-algebra$ |
15/0 |
Mathlib/Algebra/Algebra/Spectrum/Basic.lean |
1 |
3 |
['github-actions', 'wwylele'] |
nobody |
7-5356 7 days ago |
12-79921 12 days ago |
12-79916 12 days |
| 39329 |
lecopivo author:lecopivo |
feat(fun_prop): eager application of transition theorems for fun_prop |
For properties like Integrable we want to apply transition theorems(like Continuous -> Integrable) eagerly
---
This is a change necessary in preparation for making `fun_prop` work for integrability.
-->
[](https://gitpod.io/from-referrer/)
|
t-meta
merge-conflict
|
93/30 |
Mathlib/Tactic/FunProp/Attr.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/Decl.lean,MathlibTest/FunPropMinimal.lean |
4 |
14 |
['b-mehta', 'github-actions', 'lecopivo', 'mathlib-merge-conflicts'] |
JovanGerb assignee:JovanGerb |
7-5003 7 days ago |
9-18951 9 days ago |
1-47071 1 day |
| 38709 |
tb65536 author:tb65536 |
feat(Algebra/Polynomial/Roots): roots of `p(-X)` |
This PR proves that the roots of `p(-X)` are just the negatives of the roots of `p`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
36/0 |
Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/Algebra/Polynomial/Roots.lean |
2 |
3 |
['github-actions', 'robin-carlier', 'tb65536'] |
alreadydone assignee:alreadydone |
7-1442 7 days ago |
7-1449 7 days ago |
25-71474 25 days |
| 39271 |
tb65536 author:tb65536 |
feat(RingTheory/Ideal/MinimalPrime/Localization): criterion for `R ⧸ I` to have dimension zero |
This PR proves that a quotient `R ⧸ I` has dimension at most zero iff all minimal primes over `I` are maximal.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
20/0 |
Mathlib/RingTheory/KrullDimension/Basic.lean,Mathlib/RingTheory/KrullDimension/Zero.lean |
2 |
3 |
['github-actions', 'robin-carlier', 'tb65536'] |
nobody |
7-886 7 days ago |
7-940 7 days ago |
12-69206 12 days |
| 39366 |
akiezun author:akiezun |
feat(Data/Nat): add prime divisibility for ascFactorial and choose |
Adds two prime-divisibility lemmas for natural-number factorial/binomial APIs.
The first characterizes when a prime divides an ascending factorial:
`Nat.Prime.dvd_ascFactorial_iff`.
The second applies this to binomial coefficients:
`Nat.Prime.dvd_choose_add_sub_one_iff`, using
`Nat.ascFactorial_eq_factorial_mul_choose'` and cancellation of the `n!` factor
when `n < p`.
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
large-import
|
46/0 |
Mathlib.lean,Mathlib/Data/Nat/Choose/Consecutive.lean,Mathlib/Data/Nat/Factorial/BigOperators.lean |
3 |
9 |
['SnirBroshi', 'akiezun', 'github-actions', 'wwylele'] |
nobody |
6-84303 6 days ago |
6-86344 6 days ago |
11-10318 11 days |
| 31613 |
xyzw12345 author:xyzw12345 |
feat(RepresentationTheory/GroupCohomology): Non-abelian Group Cohomology |
In this PR, we develop the theory of non-abelian group cohomology, following the section in GTM 67 - Local Fields by Jean-Pierre Serre. We defined H0 and H1, constructed the connection maps, proved the long exact sequence, and constructed natural isomorphisms between our H0, H1 and the existing `groupCohomology` API.
Co-authored by:
Jiedong Jiang @jjdishere
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
merge-conflict
label:t-algebra$ |
610/1 |
Mathlib.lean,Mathlib/GroupTheory/Subgroup/Center.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/NonAbelian.lean |
3 |
11 |
['eric-wieser', 'github-actions', 'kbuzzard', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'tb65536', 'xyzw12345'] |
eric-wieser assignee:eric-wieser |
6-83327 6 days ago |
97-9749 97 days ago |
35-32011 35 days |
| 39543 |
jvanwinden author:jvanwinden |
feat(MeasureTheory/Measure/Tight): portmanteau condition for compact sets |
One part of the portmanteau theorem states that a limsup condition for closed sets implies weak convergence of probability measures. In the situation where the measures are tight however, one only needs to check the limsup condition for compact sets.
This PR thus introduces `tendsto_of_forall_isCompact_of_isTightMeasureSet`, which is a version of [tendsto_of_forall_isClosed_limsup_le](https://leanprover-community.github.io/mathlib4_docs/Mathlib/MeasureTheory/Measure/Portmanteau.html#MeasureTheory.tendsto_of_forall_isClosed_limsup_le) but replaces `IsClosed` with `IsCompact`, under the additional hypothesis that the measures are tight.
I would have liked to put this lemma in MeasureTheory/Portmeanteau, but this created an import cycle. I am open to suggestions for where it could otherwise be moved.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
27/0 |
Mathlib/MeasureTheory/Measure/Tight.lean |
1 |
1 |
['github-actions'] |
nobody |
6-81467 6 days ago |
6-81542 6 days ago |
6-81537 6 days |
| 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 |
6-80076 6 days ago |
6-80077 6 days ago |
44-66371 44 days |
| 38415 |
yuanyi-350 author:yuanyi-350 |
chore: kill 100 `erw`s |
Still open
- [ ] depends on: #38725
- [ ] depends on: #38762
- [ ] depends on: #38764
- [ ] depends on: #38766
- [ ] depends on: #38916
- [ ] depends on: #38917
- [ ] depends on: #38918
- [ ] depends on: #38922
Fixed
- [ ] depends on: #38418
- [ ] depends on: #38417
- [ ] depends on: #38501
- [ ] depends on: #38502
- [ ] depends on: #38503
- [ ] depends on: #38504
- [ ] depends on: #38505
- [ ] depends on: #38506
- [ ] depends on: #38508
- [ ] depends on: #38514
- [ ] depends on: #38515
- [ ] depends on: #38516
- [ ] depends on: #38517
- [ ] depends on: #38518
- [ ] depends on: #38519
- [ ] depends on: #38520
- [ ] depends on: #38521
- [ ] depends on: #38522
- [ ] depends on: #38644
- [ ] depends on: #38645
- [ ] depends on: #38675
- [ ] depends on: #38676
- [ ] depends on: #38677
- [ ] depends on: #38678
- [ ] depends on: #38679
- [ ] depends on: #38680
- [ ] depends on: #38681
- [ ] depends on: #38682
- [ ] depends on: #38683
- [ ] depends on: #38684
- [ ] depends on: #38685
- [ ] depends on: #38686
- [ ] depends on: #38687
- [ ] depends on: #38688
- [ ] depends on: #38689
- [ ] depends on: #38690
- [ ] depends on: #38724
- [ ] depends on: #38726
- [ ] depends on: #38727
- [ ] depends on: #38728
- [ ] depends on: #38734
- [ ] depends on: #38735
- [ ] depends on: #38736
- [ ] depends on: #38737
- [ ] depends on: #38738
- [ ] depends on: #38761
- [ ] depends on: #38763
- [ ] depends on: #38765
- [ ] depends on: #38767
- [ ] depends on: #38768
- [ ] depends on: #38769
- [ ] depends on: #38770
- [ ] depends on: #38771
- [ ] depends on: #38772
- [ ] depends on: #38773
- [ ] depends on: #38774
- [ ] depends on: #38912
- [ ] depends on: #38913
- [ ] depends on: #38914
- [ ] depends on: #38915
- [ ] depends on: #38919
- [ ] depends on: #38920
- [ ] depends on: #38921
- [ ] depends on: #38923
- [ ] depends on: #38924
- [ ] depends on: #38925
---
[](https://gitpod.io/from-referrer/) |
blocked-by-other-PR
merge-conflict
|
60/58 |
Mathlib/Algebra/Category/Grp/LeftExactFunctor.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafification.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Point.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Proper.lean,Mathlib/AlgebraicTopology/DoldKan/GammaCompN.lean,Mathlib/CategoryTheory/CatCommSq.lean,Mathlib/CategoryTheory/Comma/Basic.lean,Mathlib/CategoryTheory/Groupoid/FreeGroupoid.lean,Mathlib/CategoryTheory/Preadditive/Mat.lean,Mathlib/CategoryTheory/Triangulated/Pretriangulated.lean,Mathlib/LinearAlgebra/CliffordAlgebra/EvenEquiv.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/Topology/Algebra/Valued/ValuedField.lean |
14 |
13 |
['Whysoserioushah', 'github-actions', 'leanprover-radar', 'loefflerd', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'yuanyi-350'] |
nobody |
6-77947 6 days ago |
30-37927 30 days ago |
1-1966 1 day |
| 39549 |
Hagb author:Hagb |
feat(Order/RelIso/Basic): `swap`s and `compl`s are `Equiv`s |
---
[](https://gitpod.io/from-referrer/)
|
t-order |
13/8 |
Mathlib/Order/RelIso/Basic.lean |
1 |
3 |
['Hagb', 'github-actions', 'leanprover-radar'] |
nobody |
6-76639 6 days ago |
6-79080 6 days ago |
6-79075 6 days |
| 39508 |
mcdoll author:mcdoll |
chore(Algebra/Module): rename multiplication lemmas and add `push/pull_end` attributes |
The renaming makes this file consistent with `Equiv.Perm`, where the custom `simp` set was first used.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-CI
merge-conflict
label:t-algebra$ |
59/50 |
Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/Central/End.lean,Mathlib/Algebra/Lie/Derivation/Basic.lean,Mathlib/Algebra/Lie/Engel.lean,Mathlib/Algebra/Lie/OfAssociative.lean,Mathlib/Algebra/Lie/TraceForm.lean,Mathlib/Algebra/Lie/Weights/Basic.lean,Mathlib/Algebra/Lie/Weights/Killing.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/Module/Submodule/Ker.lean,Mathlib/Algebra/Star/LinearMap.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/Symmetric.lean,Mathlib/Data/Matrix/Bilinear.lean,Mathlib/LinearAlgebra/Charpoly/Basic.lean,Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean,Mathlib/LinearAlgebra/Projection.lean,Mathlib/LinearAlgebra/Projectivization/Action.lean,Mathlib/LinearAlgebra/Reflection.lean,Mathlib/LinearAlgebra/RootSystem/Hom.lean,Mathlib/LinearAlgebra/Trace.lean,Mathlib/RepresentationTheory/Basic.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/FiniteCyclic.lean,Mathlib/RingTheory/Artinian/Module.lean,Mathlib/RingTheory/TensorProduct/Maps.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean |
28 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
6-75756 6 days ago |
7-47366 7 days ago |
0-2572 42 minutes |
| 39541 |
b-mehta author:b-mehta |
feat(Data/Finset/Powerset): add results about powersetCard |
These are useful for set family combinatorics
---
[](https://gitpod.io/from-referrer/)
|
t-data |
20/0 |
Mathlib/Data/Finset/Powerset.lean |
1 |
1 |
['github-actions'] |
nobody |
6-72000 6 days ago |
6-72073 6 days ago |
6-74415 6 days |
| 39555 |
b-mehta author:b-mehta |
feat(Data/Finset/Image): relate images with nontriviality |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
20/0 |
Mathlib/Data/Finset/Image.lean |
1 |
1 |
['github-actions'] |
nobody |
6-70179 6 days ago |
6-70257 6 days ago |
6-70252 6 days |
| 35017 |
robo7179 author:robo7179 |
feat(Combinatorics/SimpleGraph/Acyclic): every nontrivial tree has at least two leaves |
Add two theorems to prove that every non trivial tree has at least two leaves (one in Finite the other in Acyclic).
---
- [ ] depends on: #37399
- [ ] depends on: #37400
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
awaiting-author
blocked-by-other-PR
|
24/0 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean |
2 |
44 |
['IvanRenison', 'SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'robo7179'] |
YaelDillies assignee:YaelDillies |
6-65766 6 days ago |
69-4708 69 days ago |
35-3753 35 days |
| 39098 |
BoltonBailey author:BoltonBailey |
chore(Data/Vector): add `grind` to cons lemmas |
This PR affects `List.Vector.head_cons` and `List.Vector.tail_cons`. It moves the simp attribute assignment of these lemmas to the lemma declarations and also applies the `grind =` attribute.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
2/2 |
Mathlib/Data/Vector/Basic.lean,Mathlib/Data/Vector/Defs.lean |
2 |
4 |
['BoltonBailey', 'github-actions', 'leanprover-radar'] |
nobody |
6-63301 6 days ago |
6-63375 6 days ago |
15-77000 15 days |
| 38840 |
peabrainiac author:peabrainiac |
feat(Topology): continuous germs of maps |
Add a predicate `Filter.Germ.Continuous` for continuity of germs between topological spaces, and bundled types `ContinuousGerm x Y` / `PointedContinuousGerm x y` of continuous germs at `x` resp. continuous germs at `x` taking `x` to `y`.
---
See also #10977, which tried to introduce smooth germs between manifolds a while ago, though with a focus on pointwise algebraic operations instead of composability.
[](https://gitpod.io/from-referrer/)
|
t-topology |
171/1 |
Mathlib.lean,Mathlib/Topology/ContinuousGerm.lean,Mathlib/Topology/ContinuousOn.lean,Mathlib/Topology/Germ.lean |
4 |
6 |
['chrisflav', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'peabrainiac'] |
ADedecker assignee:ADedecker |
6-62761 6 days ago |
6-62796 6 days ago |
19-11157 19 days |
| 31587 |
JovanGerb author:JovanGerb |
Lean pr testing 11156 |
Testing the performance improvement given by not deleting cache so often when modifying the environment.
cf. https://github.com/leanprover/lean4/pull/11156
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
5932/1306 |
.github/workflows/build_template.yml,Archive/Examples/IfNormalization/Result.lean,Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo2024Q6.lean,Cache/IO.lean,Counterexamples/Phillips.lean,Mathlib.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Algebra/Unitization.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/Category/AlgCat/Basic.lean,Mathlib/Algebra/Category/AlgCat/Limits.lean,Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean,Mathlib/Algebra/Category/ContinuousCohomology/Basic.lean,Mathlib/Algebra/Category/Grp/AB.lean,Mathlib/Algebra/Category/Grp/Adjunctions.lean,Mathlib/Algebra/Category/Grp/Biproducts.lean,Mathlib/Algebra/Category/Grp/Colimits.lean,Mathlib/Algebra/Category/Grp/LargeColimits.lean,Mathlib/Algebra/Category/Grp/LeftExactFunctor.lean,Mathlib/Algebra/Category/Grp/Yoneda.lean,Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Algebra/Category/ModuleCat/Biproducts.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/Differentials/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/ExteriorPower.lean,Mathlib/Algebra/Category/ModuleCat/FilteredColimits.lean,Mathlib/Algebra/Category/ModuleCat/Kernels.lean,Mathlib/Algebra/Category/ModuleCat/LeftResolution.lean,Mathlib/Algebra/Category/ModuleCat/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Adjunction.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/ColimitFunctor.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Colimits.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/Pushforward.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafification.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafify.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackContinuous.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackFree.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/Topology/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Homology.lean,Mathlib/Algebra/Category/ModuleCat/Ulift.lean,Mathlib/Algebra/Category/MonCat/Adjunctions.lean,Mathlib/Algebra/Category/MonCat/Colimits.lean,Mathlib/Algebra/Category/MonCat/FilteredColimits.lean,Mathlib/Algebra/Category/MonCat/Limits.lean,Mathlib/Algebra/Category/MonCat/Yoneda.lean,Mathlib/Algebra/Category/Ring/Adjunctions.lean,Mathlib/Algebra/Category/Ring/Colimits.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/Category/Ring/FinitePresentation.lean,Mathlib/Algebra/Category/Ring/Limits.lean,Mathlib/Algebra/Category/Ring/Under/Basic.lean,Mathlib/Algebra/Category/Ring/Under/Limits.lean,Mathlib/Algebra/CharP/Two.lean,Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Equiv/Basic.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Nat/Even.lean,Mathlib/Algebra/Group/Submonoid/BigOperators.lean,Mathlib/Algebra/GroupWithZero/Action/Faithful.lean,Mathlib/Algebra/Homology/Additive.lean,Mathlib/Algebra/Homology/AlternatingConst.lean,Mathlib/Algebra/Homology/Augment.lean,Mathlib/Algebra/Homology/Bifunctor.lean,Mathlib/Algebra/Homology/BifunctorAssociator.lean,Mathlib/Algebra/Homology/BifunctorHomotopy.lean,Mathlib/Algebra/Homology/BifunctorShift.lean,Mathlib/Algebra/Homology/CochainComplexOpposite.lean,Mathlib/Algebra/Homology/CochainComplexPlus.lean,Mathlib/Algebra/Homology/CommSq.lean,Mathlib/Algebra/Homology/ComplexShape.lean,Mathlib/Algebra/Homology/ComplexShapeSigns.lean,Mathlib/Algebra/Homology/DerivedCategory/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/ExactFunctor.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/EnoughInjectives.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/EnoughProjectives.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/ExactSequences.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/ExtClass.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Map.lean,Mathlib/Algebra/Homology/DerivedCategory/HomologySequence.lean,Mathlib/Algebra/Homology/DerivedCategory/KInjective.lean,Mathlib/Algebra/Homology/DerivedCategory/KProjective.lean,Mathlib/Algebra/Homology/DerivedCategory/ShortExact.lean,Mathlib/Algebra/Homology/DerivedCategory/SingleTriangle.lean,Mathlib/Algebra/Homology/DerivedCategory/TStructure.lean |
1425 |
5 |
['JovanGerb', 'github-actions', 'leanprover-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
6-61289 6 days ago |
193-8877 193 days ago |
0-13411 3 hours |
| 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.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
398/0 |
Mathlib.lean,Mathlib/Combinatorics/DiHypergraph/Basic.lean |
2 |
4 |
['b-mehta', 'espottesmith', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
6-61166 6 days ago |
52-30551 52 days ago |
110-14013 110 days |
| 33928 |
jsm28 author:jsm28 |
feat(Combinatorics/Tiling/TileSet): indexed families of tiles |
Define the type `TileSet` for indexed families of tiles (in a discrete context), and some associated definitions (including `symmetryGroup`) and API lemmas.
`TileSet` can be used for tilings of the whole space; for tilings of part of the space; for patches of tiles (extracted from a tiling by considering tiles meeting some set of points, or considered on their own without extracting from a tiling); for multiple tilings (covering the space more than once). In particular, the fact that people study multiple tilings provides a clear justification for using indexed families rather than sets of tiles, and basic definitions and API lemmas generally work for all these different uses of `TileSet` (sometimes with weak constraints such as tiles being finite, nonempty and only having finitely many tiles meeting any point of the space).
Definitions for saying e.g. "this `TileSet` is a tiling of the whole space" are to be included in subsequent files in subsequent PRs.
From AperiodicMonotilesLean.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
460/0 |
Mathlib.lean,Mathlib/Combinatorics/Tiling/TileSet.lean |
2 |
23 |
['Parcly-Taxel', 'b-mehta', 'eric-wieser', 'github-actions', 'jsm28', 'vihdzp'] |
nobody |
6-61165 6 days ago |
131-78273 131 days ago |
131-78268 131 days |
| 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 |
6-59926 6 days ago |
67-13593 67 days ago |
9-69432 9 days |
| 37443 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Walk/Operations): permutations of support |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
17/0 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean |
2 |
6 |
['YaelDillies', 'github-actions', 'mathlib-merge-conflicts'] |
b-mehta assignee:b-mehta |
6-59700 6 days ago |
14-32558 14 days ago |
54-17829 54 days |
| 38826 |
tb65536 author:tb65536 |
feat(RingTheory/LocalRing/ResidueField/Fiber): `IsLiesOverAlgebra` instance |
We use the new `IsLiesOverAlgebra` predicate from #38465 to express the fact that the existing `R_p`-algebra instance on `(p.Fiber S)_q` agrees with the one coming from the fact that `q` lies over `p`. (The point of this predicate is to avoid exactly this sort of diamond).
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
7/1 |
Mathlib/RingTheory/LocalRing/ResidueField/Fiber.lean |
1 |
3 |
['github-actions', 'robin-carlier', 'tb65536'] |
riccardobrasca assignee:riccardobrasca |
6-59697 6 days ago |
14-4448 14 days ago |
23-68921 23 days |
| 39006 |
tb65536 author:tb65536 |
feat(Algebra/Field/Subfield/Basic): add definition of finitely generated fields |
This PR adds a definition of finitely generated fields with API relating this definition to the existing definitions.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
18/0 |
Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Algebra.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Defs.lean |
3 |
1 |
['github-actions'] |
riccardobrasca assignee:riccardobrasca |
6-59696 6 days ago |
19-7483 19 days ago |
19-7480 19 days |
| 39027 |
fpvandoorn author:fpvandoorn |
feat: delaborators for inequalities in big operators |
`∏ i < n, f i` was already accepted as valid syntax, but this PR now also prints appropriate sums/products using this notation.
---
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/missing.20delaborator.20for.20finsum)
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-meta
label:t-algebra$ |
132/49 |
Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,MathlibTest/BigOps.lean |
2 |
2 |
['fpvandoorn', 'github-actions'] |
kim-em assignee:kim-em |
6-59695 6 days ago |
7-10092 7 days ago |
7-20690 7 days |
| 37008 |
BryceT233 author:BryceT233 |
feat(RingTheory/LocalRing): `IsLocalRing` for pullbacks |
We provide basic lemmas for equalizers and pullbacks of `RingHom` and `AlgHom`, and show they are local rings under suitable condtions.
This is needed in #37940 to construct a residue algebra structure on pullbacks.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
167/0 |
Mathlib.lean,Mathlib/RingTheory/LocalRing/Pullback.lean |
2 |
6 |
['BryceT233', 'github-actions', 'wwylele'] |
riccardobrasca assignee:riccardobrasca |
6-53575 6 days ago |
28-69286 28 days ago |
63-37634 63 days |
| 38937 |
zw810-ctrl author:zw810-ctrl |
API and proof of `isStrictMap_prodMap` |
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
large-import
awaiting-author
merge-conflict
|
82/3 |
Mathlib/Topology/Maps/Strict/Basic.lean |
1 |
13 |
['ADedecker', 'github-actions', 'mathlib-merge-conflicts', 'zw810-ctrl'] |
nobody |
6-50658 6 days ago |
15-54078 15 days ago |
0-101 1 minute |
| 38092 |
SnirBroshi author:SnirBroshi |
chore(Order/Defs/Unbundled): deprecate `def Symmetric` in favor of `class Std.Symm` |
---
[Mathlib's `def Symmetric`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/Defs/Unbundled.html#Symmetric)
[Core's `class Std.Symm`](https://leanprover-community.github.io/mathlib4_docs/Init/Core.html#Std.Symm)
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Relation.20properties.20duplication/near/544638270)
[](https://gitpod.io/from-referrer/)
|
t-order
maintainer-merge
|
465/408 |
Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Archive/Wiedijk100Theorems/Konigsberg.lean,Counterexamples/HeawoodUnitDistance.lean,Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean,Mathlib/Algebra/Divisibility/Units.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Split.lean,Mathlib/Analysis/InnerProductSpace/Orthogonal.lean,Mathlib/Analysis/Normed/Operator/Compact/FredholmAlternative.lean,Mathlib/CategoryTheory/Abelian/Pseudoelements.lean,Mathlib/CategoryTheory/IsConnected.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/IsConnected.lean,Mathlib/Combinatorics/Additive/ErdosGinzburgZiv.lean,Mathlib/Combinatorics/Digraph/Orientation.lean,Mathlib/Combinatorics/Graph/Basic.lean,Mathlib/Combinatorics/Graph/Delete.lean,Mathlib/Combinatorics/Graph/Lattice.lean,Mathlib/Combinatorics/Graph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Circulant.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Dart.lean,Mathlib/Combinatorics/SimpleGraph/Density.lean,Mathlib/Combinatorics/SimpleGraph/Hall.lean,Mathlib/Combinatorics/SimpleGraph/Hasse.lean,Mathlib/Combinatorics/SimpleGraph/LineGraph.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Prod.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Sum.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Tripartite.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean,Mathlib/Data/Finset/Pairwise.lean,Mathlib/Data/Finsupp/BigOperators.lean,Mathlib/Data/List/Pairwise.lean,Mathlib/Data/List/Sigma.lean,Mathlib/Data/Multiset/Bind.lean,Mathlib/Data/Multiset/Defs.lean,Mathlib/Data/Multiset/Pairwise.lean,Mathlib/Data/Multiset/Replicate.lean,Mathlib/Data/Nat/GCD/Basic.lean,Mathlib/Data/Rel/Separated.lean,Mathlib/Data/Seq/Computation.lean,Mathlib/Data/Set/Pairwise/Basic.lean,Mathlib/Data/Set/Pairwise/List.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/Data/WSeq/Relation.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/Logic/Relation.lean,Mathlib/MeasureTheory/Measure/AEDisjoint.lean,Mathlib/MeasureTheory/Measure/NullMeasurable.lean,Mathlib/ModelTheory/Graph.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/NumberTheory/ArithmeticFunction/Defs.lean,Mathlib/Order/Antichain.lean,Mathlib/Order/Defs/Unbundled.lean,Mathlib/Order/Disjoint.lean,Mathlib/Order/Lattice.lean,Mathlib/Order/Preorder/Chain.lean,Mathlib/Order/PropInstances.lean,Mathlib/RingTheory/Coprime/Ideal.lean,Mathlib/RingTheory/Radical/Basic.lean,Mathlib/Topology/CWComplex/Classical/Graph.lean,Mathlib/Topology/CompactOpen.lean,Mathlib/Topology/Connected/Clopen.lean,Mathlib/Topology/MetricSpace/MetricSeparated.lean,Mathlib/Topology/Separation/Basic.lean,Mathlib/Topology/Separation/GDelta.lean |
80 |
8 |
['SnirBroshi', 'dagurtomas', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
6-49578 6 days ago |
6-49617 6 days ago |
38-35741 38 days |
| 36936 |
Rida-Hamadani author:Rida-Hamadani |
feat(CategoryTheory): PBW Theorem |
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
142/0 |
Mathlib/CategoryTheory/Monad/PBW.lean |
1 |
1 |
['github-actions'] |
nobody |
6-45433 6 days ago |
unknown |
0-0 0 seconds |
| 36439 |
xgenereux author:xgenereux |
feat(Algebra/Adjoin): CoeDep instances for Algebra.adjoin on singletons |
It is a common occurrence that I need to consider an element `x` or some polynomial evaluated in `x`, `p.eval x` as an element of `Algebra.adjoin R {x}`.
This makes it so that we can write
- `(x : adjoin R {x})` instead of `⟨x, self_mem_adjoin_singleton A x⟩`
- `(p.eval x : adjoin R {x})` instead of `⟨p.aeval x, aeval_mem_adjoin_singleton A x⟩`
This is particularly useful when we need to write the type anyways, so that we need not to write `(⟨p.aeval x, aeval_mem_adjoin_singleton A x⟩ : adjoin R {x})` anymore.
Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)>
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
33/3 |
Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/RingTheory/Adjoin/Polynomial/Basic.lean |
2 |
21 |
['Vierkantor', 'chrisflav', 'github-actions', 'jcommelin', 'mathlib-merge-conflicts', 'riccardobrasca', 'xgenereux'] |
riccardobrasca assignee:riccardobrasca |
6-41762 6 days ago |
27-10594 27 days ago |
62-47898 62 days |
| 39558 |
b-mehta author:b-mehta |
feat(Data/Finset/Prod): count the number of ordered pairs in a set |
These proofs were written a while ago, so they may be golfable
---
[](https://gitpod.io/from-referrer/)
|
t-data |
21/0 |
Mathlib/Data/Finset/Prod.lean |
1 |
2 |
['github-actions', 'plp127'] |
nobody |
6-40297 6 days ago |
6-67652 6 days ago |
6-67647 6 days |
| 38189 |
artie2000 author:artie2000 |
feat: simplify proof of `IsAdjoinRootMonic.mkOfAdjoinEqTop'` |
* Simplify the proof of `IsAdjoinRootMonic.mkOfAdjoinEqTop'` by factoring out a lemma `OrzechProperty.bijective_of_surjective_of_finrank_le` and making use of the existing lemma `finrank_le_iff_exists_linearMap`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
delegated
|
22/21 |
Mathlib/LinearAlgebra/Dimension/Free.lean,Mathlib/RingTheory/IsAdjoinRoot.lean |
2 |
9 |
['Vierkantor', 'artie2000', 'github-actions', 'mathlib-bors', 'riccardobrasca'] |
riccardobrasca assignee:riccardobrasca |
6-28282 6 days ago |
13-27211 13 days ago |
24-41408 24 days |
| 38957 |
wwylele author:wwylele |
chore(GroupTheory/DivisibleHull): remove `backward.privateInPublic` |
---
[](https://gitpod.io/from-referrer/)
|
tech debt
t-group-theory
awaiting-zulip
|
5/12 |
Mathlib/GroupTheory/DivisibleHull.lean |
1 |
11 |
['Komyyy', 'github-actions', 'grunweg', 'jcommelin', 'wwylele'] |
jcommelin assignee:jcommelin |
6-21433 6 days ago |
6-21433 6 days ago |
13-78350 13 days |
| 39569 |
AlexBrodbelt author:AlexBrodbelt |
feat(Mathlib/Data/Finite/Units): Units are (in)finite if type is (in)finite |
Shows
- [ ] depends on: #39568
- [ ] depends on: #39567
---
[](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 |
6-21086 6 days ago |
6-26971 6 days ago |
0-121 2 minutes |
| 35216 |
kim-em author:kim-em |
doc(Tactic/Translate/ToDual): add deployment guide for @[to_dual] |
This PR expands the documentation for `@[to_dual]` with practical advice for deploying it to existing code.
**Module docstring** (`Mathlib/Tactic/Translate/ToDual.lean`): adds a "Deploying `@[to_dual]` to existing code" section covering name agreement, attribute propagation, docstring syntax ordering, declaration order dependencies, and known structural mismatches (conjunct reordering, type class gaps, interval argument swapping).
**Attribute docstring**: adds a note that `@[simp]` is not auto-copied (must use `(attr := simp)`), and shows the correct ordering when combining `(attr := ...)` with docstrings.
🤖 Prepared with Claude Code
---
@joneugster: this is no longer part of the PR, so I removed it from the description:
> **Agent skill** (`.claude/skills/to_dual/SKILL.md`): detailed step-by-step instructions for an AI agent deploying `@[to_dual]`, including how to identify candidates, common patterns, and debugging.
|
documentation
LLM-generated
maintainer-merge
|
31/3 |
Mathlib/Tactic/Translate/ToDual.lean |
1 |
37 |
['JovanGerb', 'MichaelStollBayreuth', 'faenuccio', 'github-actions', 'joneugster', 'kim-em', 'mathlib-merge-conflicts', 'vihdzp'] |
joneugster assignee:joneugster |
6-20737 6 days ago |
37-67509 37 days ago |
44-54190 44 days |
| 39552 |
themathqueen author:themathqueen |
chore(RingTheory/Bialgebra/Hom): `toCoalgHom` as prefix for `simps` |
There are currently no generated `simps` lemmas for these, so this is a straightforward change.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
maintainer-merge
|
1/1 |
Mathlib/RingTheory/Bialgebra/Hom.lean |
1 |
2 |
['YaelDillies', 'github-actions'] |
nobody |
6-20435 6 days ago |
6-75190 6 days ago |
6-75549 6 days |
| 38409 |
chrisflav author:chrisflav |
feat(RingTheory): totally split algebras over a field |
We show that for a totally split algebra over a field, the `k`-rational points are in bijection with the prime spectrum. We also show that an étale algebra over a separably closed field is totally split.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
|
123/2 |
Mathlib/Algebra/Algebra/Pi.lean,Mathlib/FieldTheory/IsSepClosed.lean,Mathlib/RingTheory/Artinian/Module.lean,Mathlib/RingTheory/Etale/Basic.lean,Mathlib/RingTheory/Etale/Field.lean,Mathlib/RingTheory/TotallySplit.lean |
6 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
mariainesdff assignee:mariainesdff |
6-18615 6 days ago |
6-18692 6 days ago |
30-62997 30 days |
| 37747 |
JovanGerb author:JovanGerb |
chore(Order/Filter/AtTopBot/Basic): use `to_dual` |
This PR uses `to_dual` for `atTop`/`atBot`.
A lot of theorems that have been tagged contain the expression `∀ a ≥ b, ...`, which means that their dual will be `∀ a, b ≥ a → ...`, which is obviourly undesirable. Hence, I would like to ask the reviewers to reconsider the possibility of merging #32985.
---
[](https://gitpod.io/from-referrer/)
|
t-order
awaiting-author
|
56/164 |
Mathlib/Order/Filter/AtTopBot/Basic.lean |
1 |
6 |
['Komyyy', 'github-actions'] |
bryangingechen assignee:bryangingechen |
6-14894 6 days ago |
6-14894 6 days ago |
41-84436 41 days |
| 38906 |
lua-vr author:lua-vr |
feat(ConditionallyCompleteLattice/Indexed): add binary versions of lemmas |
Add binary versions of some of the lemmas. Those are useful when the domain is indexed over the members of a set.
From the Carleson project.
---
[](https://gitpod.io/from-referrer/)
|
t-order
carleson
|
21/5 |
Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean |
1 |
19 |
['JovanGerb', 'SnirBroshi', 'github-actions', 'grunweg', 'lua-vr', 'mathlib-merge-conflicts'] |
nobody |
6-12823 6 days ago |
6-12888 6 days ago |
15-73196 15 days |
| 39567 |
AlexBrodbelt author:AlexBrodbelt |
feat(Mathlib/Data/Finite/Option): option type is finite iff type is finite |
Option type is finite if and only if the type is finite.
This is an intermediate result to proving that if the `GroupWithZero` is (in)finite then the `Units` are (in)finite.
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
25/0 |
Mathlib.lean,Mathlib/Data/Finite/Option.lean |
2 |
11 |
['AlexBrodbelt', 'github-actions', 'plp127', 'themathqueen'] |
nobody |
6-12438 6 days ago |
6-28489 6 days ago |
6-29098 6 days |
| 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.
- [ ] depends on: #39567 [shows option type is finite iff type is finite]
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
blocked-by-other-PR
|
45/0 |
Mathlib.lean,Mathlib/Data/Finite/Option.lean,Mathlib/Data/Finite/Subtype.lean |
3 |
5 |
['AlexBrodbelt', 'github-actions', 'mathlib-dependent-issues', 'themathqueen'] |
nobody |
6-10722 6 days ago |
6-26312 6 days ago |
0-2171 36 minutes |
| 32692 |
WilliamCoram author:WilliamCoram |
feat: define multivariate restricted power series |
We define multivariate restricted power series over a normed ring R, and show the properties that they form a ring when R has the ultrametric property.
This work generalises my previous work in #26089 which will need to be refactored.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-number-theory
new-contributor
|
159/0 |
Mathlib.lean,Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Algebra/Order/Antidiag/Tendsto.lean,Mathlib/RingTheory/MvPowerSeries/Restricted.lean |
4 |
47 |
['WilliamCoram', 'erdOne', 'github-actions', 'jcommelin', 'mathlib-merge-conflicts'] |
jcommelin assignee:jcommelin |
6-9208 6 days ago |
6-9276 6 days ago |
48-71293 48 days |
| 39583 |
WilliamCoram author:WilliamCoram |
refactor: change definition of restricted power series to align with restricted multivariate power series |
Previously, restricted power series were defined in terms of a `tendsto atTop` this has been changed to be an abbrev of `MvPowerSeries.IsRestricted` with `isRestricted_iff` lemmas to convert to nicer usable definitions.
---
- [ ] depends on: #32692
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
blocked-by-other-PR
|
232/142 |
Mathlib.lean,Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Algebra/Order/Antidiag/Tendsto.lean,Mathlib/RingTheory/MvPowerSeries/Restricted.lean,Mathlib/RingTheory/PowerSeries/Restricted.lean |
5 |
3 |
['github-actions', 'mathlib-bors', 'mathlib-dependent-issues'] |
nobody |
6-6356 6 days ago |
6-7254 6 days ago |
0-2156 35 minutes |
| 37350 |
aditya-ramabadran author:aditya-ramabadran |
feat(Analysis/Distribution): define canonical maps between Schwartz/test functions, distributions/tempered distributions |
Defines these canonical maps: (1) continuous linear map from $\mathcal D$ to $\mathcal S$, and (2) induced (linear) restriction map from $\mathcal S'$ to $\mathcal D'$, as assigned by @ADedecker.
---
Put in a separate file since Distribution.lean only imports TestFunction right now and I thought it was cleaner to do in a new bridge file with both the maps. Open to changing this though.
* Made use of #36445 (proved first map locally on fixed support spaces first by local seminorm estimates, then used limitCLM)
* Needed a real to complex bridge `TestFunction.ToComplexSchwartzMap` since distributions are defined on real-valued test functions but tempered distributions in mathlib are defined on complex-valued Schwartz functions
* Induced map $\mathcal S'(E,F) \to \mathcal D'(Ω,F)$ is $\mathbb C$-linear
The main important defs are `ContDiffMapSupportedIn.toSchwartzMapCLM` which is the local fixed-support part, then `TestFunction.toSchwartzMapCLM` (where the continuity uses limitCLM to glue the local continuous linear maps on each $\mathcal D_K$), and `TemperedDistribution.toDistributionLM` which is the linear map from tempered distributions to ordinary distributions.
Tested with `lake env lean Mathlib/Analysis/Distribution/TestFunctionSchwartz.lean`
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
|
225/0 |
Mathlib.lean,Mathlib/Analysis/Distribution/TestFunctionSchwartz.lean |
2 |
24 |
['aditya-ramabadran', 'github-actions', 'j-loreaux'] |
ADedecker and mcdoll assignee:mcdoll assignee:ADedecker |
6-4397 6 days ago |
15-9571 15 days ago |
47-9862 47 days |
| 38869 |
TJHeeringa author:TJHeeringa |
feat(Analysis/InnerProductSpace): Add instance for quotient of InnerProductSpace |
---
Couldn't find the inner product space instance for a quotient of an inner product space. After confirming at [#Is there code for X? > Quotient of inner product space is inner product space](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Quotient.20of.20inner.20product.20space.20is.20inner.20product.20space/with/592464432), I made this PR.
Defines an innerProductSpace instance on the quotient based on the isometry with the orthogonal complement, which is a closed subspace of the full space and thus has an innerProductSpace instance.
AI usage:
Didn't understand how to properly apply `quotient_norm_mk_eq K.toAddSubgroup x`. Claude suggested using convert. Otherwise no AI used, aside from acting as secondary Loogle.
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
delegated
|
59/0 |
Mathlib/Analysis/InnerProductSpace/ProdL2.lean |
1 |
39 |
['TJHeeringa', 'github-actions', 'j-loreaux', 'mathlib-bors', 'themathqueen', 'wwylele'] |
j-loreaux assignee:j-loreaux |
6-4119 6 days ago |
6-4119 6 days ago |
14-47986 14 days |
| 39529 |
lecopivo author:lecopivo |
feat: tactic `apply_rulesets` |
`apply_rulesets` is just like `apply_rules` but allows to create rule sets, ruleprocs (similar to simprocs), handles metavariables in the goal and couple of other nifty features
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
1953/0 |
Mathlib/Tactic.lean,Mathlib/Tactic/ApplyRuleSets.lean,Mathlib/Tactic/ApplyRuleSets/Attr.lean,Mathlib/Tactic/ApplyRuleSets/Core.lean,Mathlib/Tactic/ApplyRuleSets/Elab.lean,Mathlib/Tactic/ApplyRuleSets/RuleProc.lean,Mathlib/Tactic/ApplyRuleSets/Types.lean,MathlibTest/ApplyRuleSetsAttr.lean,MathlibTest/ApplyRuleSetsRegister.lean,MathlibTest/ApplyRuleSetsRingExpr.lean,MathlibTest/apply_rulesets.lean |
11 |
2 |
['github-actions', 'mathlib-bors'] |
nobody |
6-3822 6 days ago |
7-16009 7 days ago |
0-8 8 seconds |
| 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 |
6-3524 6 days ago |
97-9966 97 days ago |
39-35999 39 days |
| 39585 |
chrisflav author:chrisflav |
chore(RingTheory): add `rfl` lemmas for `Ideal.quotientInfRingEquivPiQuotient` |
From Pi1.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
11/0 |
Mathlib/RingTheory/Ideal/Quotient/Operations.lean |
1 |
1 |
['github-actions'] |
nobody |
6-3461 6 days ago |
6-3544 6 days ago |
6-3539 6 days |
| 39494 |
Hagb author:Hagb |
chore(Data/Finsupp/MonomialOrder): rename fields of `MonomialOrder` to match naming conventions |
Moves:
- MonomialOrder.acm -> MonomialOrder.addCommMonoid_syn
- MonomialOrder.lo -> MonomialOrder.linearOrder_syn
- MonomialOrder.iocam -> MonomialOrder.isOrderedCancelAddMonoid_syn
- MonomialOrder.wf -> MonomialOrder.wellFoundedLT_syn
---
See https://github.com/leanprover-community/mathlib4/pull/32829#discussion_r2716534558.
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
15/6 |
Mathlib/Data/Finsupp/MonomialOrder.lean,Mathlib/RingTheory/MvPolynomial/Groebner.lean |
2 |
1 |
['github-actions'] |
nobody |
6-533 6 days ago |
8-52223 8 days ago |
8-52745 8 days |
| 38584 |
TJHeeringa author:TJHeeringa |
feat(Analysis/InnerProductSpace/Reproducing): Add outerKernel, mem_iff |
---
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 `=\sum_{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} . 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.
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
awaiting-author
|
122/1 |
Mathlib/Analysis/InnerProductSpace/Reproducing.lean |
1 |
12 |
['TJHeeringa', 'github-actions', 'j-loreaux', 'themathqueen'] |
j-loreaux assignee:j-loreaux |
6-160 6 days ago |
6-160 6 days ago |
22-2608 22 days |
| 39427 |
Hagb author:Hagb |
feat(Order/Interval/Finset/Defs): `LocallyFiniteOrder{Bot,Top}` implies `WellFounded{LT,GT}` |
---
- [ ] depends on: #39547
[](https://gitpod.io/from-referrer/)
|
t-order
blocked-by-other-PR
|
22/25 |
Mathlib/Order/Interval/Finset/Defs.lean,Mathlib/Order/Preorder/Finite.lean |
2 |
5 |
['Hagb', 'github-actions', 'leanprover-radar', 'mathlib-dependent-issues'] |
nobody |
5-84187 5 days ago |
5-84188 5 days ago |
0-4027 1 hour |
| 39588 |
jvanwinden author:jvanwinden |
feat(MeasureTheory/Measure/ProbabilityMeasure): add toProbabilityMeasure and basic API |
Introduces `Measure.toProbabilityMeasure`, which converts a `Measure` into a `ProbabilityMeasure` in the presence of the typeclass assumption `[IsProbabilityMeasure]`. Some basic API is added for the interaction between `toProbabilityMeasure` and the coercion from `ProbabilityMeasure` to `Measure`. The main convenience is that the new method allows for dot notation on `Measure`.
This PR arose from the following situation: I needed to prove equality of two `Measure` objects, and I wanted to do this by using uniqueness of limits. But the topology of weak convergence is only defined on `ProbabilityMeasure` and not on `Measure`. With the new lemma `toProbabilityMeasure_inj`, an equality of measures can easily be rewritten into an equality of the corresponding probability measures, after which `tendsto_nhds_unique` can be applied.
Aside from this, `toProbabilityMeasure` has the potential to simplify theorem statements about `Measure` objects which use the topology of weak convergence either in the assumptions or the conclusion. For example, now one can simply write `Tendsto μ.toProbabilityMeasure f (nhds μ_lim.toProbabilityMeasure)` when appropriate `[IsProbabilityMeasure]` assumptions are present.
This PR is intended as a starting point for a discussion. I only added some basic API, but perhaps more lemmas should be added (which ones?). Also, a similar definition could be made for `FiniteMeasure`.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
19/2 |
Mathlib/MeasureTheory/Measure/ProbabilityMeasure.lean |
1 |
1 |
['github-actions'] |
nobody |
5-82057 5 days ago |
5-82146 5 days ago |
5-82141 5 days |
| 39383 |
fpvandoorn author:fpvandoorn |
fix: use notation3 more |
* `notation3` is better at generating delaborators in the presence of implicit arguments, other notation and some other complications.
* I explicitly tested that each change was not correctly pretty-printed before, but now is.
* Add spaces around the global notation `^+` (that maybe shouldn't be global at all?)
---
[](https://gitpod.io/from-referrer/)
|
delegated |
21/21 |
Mathlib/Algebra/Ring/Action/Submonoid.lean,Mathlib/Analysis/RCLike/Inner.lean,Mathlib/Data/Sum/Order.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Integral/Marginal.lean,Mathlib/MeasureTheory/OuterMeasure/AE.lean,Mathlib/Order/InitialSeg.lean,Mathlib/Topology/Algebra/Module/Multilinear/Basic.lean,Mathlib/Topology/Algebra/Module/Spaces/UniformConvergenceCLM.lean |
10 |
4 |
['github-actions', 'j-loreaux', 'mathlib-bors'] |
nobody |
5-80594 5 days ago |
5-80594 5 days ago |
5-8227 5 days |
| 39591 |
plp127 author:plp127 |
feat: `Equiv.symm_trans` |
Add theorem `Equiv.symm_trans`, which says `(f.trans g).symm = g.symm.trans f.symm`. See [Zulip](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/.60Equiv.2Esymm_trans.60/near/596266434).
---
[](https://gitpod.io/from-referrer/)
|
easy
t-logic
|
2/0 |
Mathlib/Logic/Equiv/Defs.lean |
1 |
1 |
['github-actions'] |
nobody |
5-79185 5 days ago |
5-79280 5 days ago |
5-79275 5 days |
| 37295 |
wwylele author:wwylele |
feat(Analysis/InnerProductSpace): generalized determinant of a rectangle matrix / linear map |
This is the volume factor of a linear map
---
I have encountered the expression `sqrt(det(T' * T))` a few times in various places but it doesn't look like it has a standard name and entry in mathlib, so this adds it.
Zulip thread [#Is there code for X? > (norm of) "determinant" of map between inner product spaces](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/.28norm.20of.29.20.22determinant.22.20of.20map.20between.20inner.20product.20spaces/with/581776873)
One motivation to define this is to state volume formula under transformations. From *Measure theory and fine properties of functions*:
- Lemma 3.1: for linear map $L : \mathbb{R}^n \to \mathbb{R}^m$, we have $\mathcal{H}^n(L(A)) = [ L ] \mathcal{L}^n(A)$. This is proved in this PR at `euclideanHausdorffMeasure_image_eq_normDet_mul_volume`
- Theorem 3.8, for (not necessarily linear) $f : \mathbb{R}^n \to \mathbb{R}^m$ ($n \le m$) and $\mathcal{L}^n$-measurable set $A \subset \mathbb{R}^n$, we have $\int_A J f dx = \int_{\mathbb{R}^m} \mathcal{H}^0(A \cap f\^{-1}\{y\}) d\mathcal{H}^n(y)$, where $J f$ is the `normDet` of the rectangular Jacobian matrix
AI usage disclosure: AI was used in the following parts
- searching for related literature for an appropriate name
- generate draft proofs for some lemma to verify their correctness, though the final code has been completely rewritten by me.
- [ ] depends on: #37918
[](https://gitpod.io/from-referrer/)
|
t-analysis
maintainer-merge
|
480/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/NormDet.lean,docs/references.bib |
4 |
19 |
['copilot-pull-request-reviewer', 'github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'themathqueen', 'wwylele'] |
faenuccio and j-loreaux assignee:j-loreaux assignee:faenuccio |
5-74561 5 days ago |
20-83043 20 days ago |
54-71200 54 days |
| 39596 |
grunweg author:grunweg |
feat: experimental hack to allow by finiteness auto-params |
This provides a way to apply `by finiteness` auto-parameters in simp lemmas.
(Making simp run dischargers natively requires unfortunate hacks... so is not easily doable.)
Another alternative: make a simproc to run auto-params in general. This might be even better.
Written at the Mathlib Initiative Retreat. Thanks to Joachim Breitner and Henrik Böving for the help writing this!
---
The hack is calling `runTactic`: if `finiteness` (and, hence, `aesop`) could be called from an appropriate meta function instead, we could make the implementation more robust.
[](https://gitpod.io/from-referrer/)
|
WIP
t-data
|
52/3 |
Mathlib/Data/ENNReal/Basic.lean |
1 |
2 |
['github-actions', 'grunweg'] |
nobody |
5-73091 5 days ago |
5-76249 5 days ago |
0-1 1 second |
| 39597 |
grunweg author:grunweg |
Don't look up! |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-differential-geometry
WIP
|
4849/69 |
Mathlib.lean,Mathlib/Geometry/Manifold/CheatSheet.md,Mathlib/Geometry/Manifold/MFDeriv/NormedSpace.lean,Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean,Mathlib/Geometry/Manifold/Riemannian/ExistsRiemannianMetric.lean,Mathlib/Geometry/Manifold/VectorBundle/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/ContMDiffSection.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/ChristoffelSymbols.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Curvature.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Ehresmann.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Geodesics.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/IntegralCurvePrelim.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/LeviCivita.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Lift.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Metric.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Prelim.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Torsion2.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/TrivPrelim.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Trivial.lean,Mathlib/Geometry/Manifold/VectorBundle/GramSchmidtOrtho.lean,Mathlib/Geometry/Manifold/VectorBundle/Hom.lean,Mathlib/Geometry/Manifold/VectorBundle/LocalFrame.lean,Mathlib/Geometry/Manifold/VectorBundle/MDifferentiable.lean,Mathlib/Geometry/Manifold/VectorBundle/OrthonormalFrame.lean,Mathlib/Geometry/Manifold/VectorBundle/Tensoriality.lean,Mathlib/Geometry/Manifold/VectorBundle/Unused.lean,Mathlib/Geometry/Manifold/VectorField/LieBracket.lean |
28 |
1 |
['github-actions'] |
nobody |
5-72960 5 days ago |
5-75221 5 days ago |
0-51 51 seconds |
| 39337 |
grunweg author:grunweg |
chore: de-continuity |
---
- [x] depends on: #39343
- [x] depends on: #39358
- [x] depends on: #39359
[](https://gitpod.io/from-referrer/)
|
t-topology |
40/10 |
Mathlib/AlgebraicTopology/SimplicialSet/TopAdj.lean,Mathlib/Analysis/Convex/StdSimplex.lean,Mathlib/Condensed/Light/TopCatAdjunction.lean,Mathlib/Condensed/TopCatAdjunction.lean,Mathlib/Topology/Algebra/MvPolynomial.lean,Mathlib/Topology/Algebra/SeparationQuotient/Section.lean,Mathlib/Topology/Category/TopCat/Limits/Products.lean,Mathlib/Topology/Compactness/CompactlyGeneratedSpace.lean,Mathlib/Topology/ContinuousMap/Basic.lean |
9 |
5 |
['github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib-splicebot'] |
nobody |
5-72949 5 days ago |
5-71697 5 days ago |
0-33596 9 hours |
| 39431 |
gasparattila author:gasparattila |
feat: homogenization of an affine space (computable version) |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
615/0 |
Mathlib.lean,Mathlib/LinearAlgebra/AffineSpace/Homogenization.lean,docs/references.bib |
3 |
2 |
['eric-wieser', 'github-actions'] |
nobody |
5-72922 5 days ago |
unknown |
0-0 0 seconds |
| 25822 |
ScottCarnahan author:ScottCarnahan |
WIP: experiments with vertex algebras |
This is a testbed for various attempts at things. Please don't bother reviewing.
---
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #25821.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/25821* |
WIP
large-import
merge-conflict
|
8547/266 |
Mathlib.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Lie/ChevalleyEilenberg.lean,Mathlib/Algebra/Lie/Cochain.lean,Mathlib/Algebra/Lie/Cocycle.lean,Mathlib/Algebra/Lie/Extension.lean,Mathlib/Algebra/Lie/Extension/CentralExtension.lean,Mathlib/Algebra/Lie/Graded.lean,Mathlib/Algebra/Lie/Loop.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/MonoidAlgebra/PointwiseSMul.lean,Mathlib/Algebra/Order/AddTorsor.lean,Mathlib/Algebra/Order/Monoid/Prod.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/Algebra/Polynomial/Nusmeval.lean,Mathlib/Algebra/Polynomial/Smeval.lean,Mathlib/Algebra/Ring/NegOnePow.lean,Mathlib/Algebra/Vertex/Affine.lean,Mathlib/Algebra/Vertex/Basic.lean,Mathlib/Algebra/Vertex/Defs.lean,Mathlib/Algebra/Vertex/HVertexOperator.lean,Mathlib/Algebra/Vertex/Lattice.lean,Mathlib/Algebra/Vertex/VertexOperator.lean,Mathlib/Data/Finset/SMulAntidiagonal.lean,Mathlib/Data/FunLike/Equiv.lean,Mathlib/Data/Prod/RevLex.lean,Mathlib/Data/Set/SMulAntidiagonal.lean,Mathlib/GroupTheory/GroupAction/Equiv.lean,Mathlib/GroupTheory/GroupAction/Hom.lean,Mathlib/RingTheory/Binomial.lean,Mathlib/RingTheory/DividedPowers/Cauchy.lean,Mathlib/RingTheory/FormalSeries.lean,Mathlib/RingTheory/HahnSeries/Addition.lean,Mathlib/RingTheory/HahnSeries/Basic.lean,Mathlib/RingTheory/HahnSeries/Binomial.lean,Mathlib/RingTheory/HahnSeries/HEval.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/HahnSeries/Summable.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/PowerSeries/Binomial.lean |
44 |
33 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
5-69727 5 days ago |
346-85773 346 days ago |
0-2 2 seconds |
| 34361 |
grunweg author:grunweg |
chore: rename comp' to fun_comp a few more times; use to_fun to autog… |
…enerate
--------
- [x] depends on: #34257 (then this PR can be done the proper way)
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
19/42 |
Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Calculus/DifferentialForm/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Comp.lean,Mathlib/Analysis/Calculus/VectorField.lean,Mathlib/Analysis/Meromorphic/Basic.lean |
5 |
10 |
['JovanGerb', 'github-actions', 'grunweg', 'mathlib-dependent-issues'] |
j-loreaux assignee:j-loreaux |
5-59632 5 days ago |
5-73910 5 days ago |
6-32971 6 days |
| 34713 |
dennj author:dennj |
feat(Probability/Markov): stationary distributions for stochastic matrices |
This PR proves that every row-stochastic matrix on a finite nonempty
state space has a stationary distribution in the standard simplex.
Main additions to `Mathlib/Probability/Markov/Stationary.lean`:
- `IsStationary`: A distribution μ is stationary for matrix P if μ ᵥ* P = μ
- `cesaroAverage`: Cesàro average of iterates of a vector under a matrix
- `Matrix.rowStochastic.exists_stationary_distribution`: existence theorem
The proof uses Cesàro averaging: start with uniform distribution, form
averages, extract convergent subsequence by compactness, show limit is
stationary via L¹ non-expansiveness.
Also adds `vecMul_mem_stdSimplex` to `Stochastic.lean`: multiplying a
probability vector by a row-stochastic matrix preserves simplex membership.
This is human-made PR with AI help in golfing proof and documenting the code. |
new-contributor
t-measure-probability
|
166/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Stochastic.lean,Mathlib/Probability/Markov/Stationary.lean |
3 |
17 |
['EtienneC30', 'dennj', 'dupuisf', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-merge-conflicts', 'riccardobrasca'] |
kex-y assignee:kex-y |
5-59631 5 days ago |
28-68085 28 days ago |
39-14693 39 days |
| 35619 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Clique): intersection and union of cliques |
Plus a couple of lemmas.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
45/14 |
Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean,Mathlib/Data/Set/Pairwise/Basic.lean |
3 |
13 |
['SnirBroshi', 'YaelDillies', 'github-actions'] |
b-mehta assignee:b-mehta |
5-59630 5 days ago |
32-2520 32 days ago |
53-64940 53 days |
| 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
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
|
181/0 |
Mathlib.lean,Mathlib/InformationTheory/Coding/LinearCode.lean |
2 |
37 |
['cduenasnavarro', 'github-actions', 'linesthatinterlace', 'rkirov', 'vihdzp', 'wwylele'] |
kex-y assignee:kex-y |
5-59627 5 days ago |
41-79108 41 days ago |
41-79866 41 days |
| 38055 |
felixpernegger author:felixpernegger |
feat(Topology/EMetricSpace): add r-variation |
Redoing #37007 (I had accidently deleted my fork which nuked the PR).
See https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/p-variation for discussion.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
t-analysis
|
408/0 |
Mathlib.lean,Mathlib/Topology/EMetricSpace/RVariation.lean |
2 |
2 |
['felixpernegger', 'github-actions'] |
urkud assignee:urkud |
5-59626 5 days ago |
39-31745 39 days ago |
39-32134 39 days |
| 38716 |
YaelDillies author:YaelDillies |
feat(Algebra/Order): `NNRat.cast_sub` |
From AddCombi
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
label:t-algebra$ |
29/22 |
Mathlib/Algebra/Order/Field/Rat.lean,Mathlib/Algebra/Order/Ring/Rat.lean,Mathlib/Combinatorics/SetFamily/LYM.lean,Mathlib/Data/Finset/Density.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/Data/NNRat/Floor.lean,Mathlib/Data/NNRat/Order.lean,Mathlib/Data/Rat/Star.lean,Mathlib/RingTheory/Binomial.lean,Mathlib/Topology/Instances/Rat.lean |
10 |
1 |
['github-actions'] |
themathqueen assignee:themathqueen |
5-59625 5 days ago |
24-39480 24 days ago |
24-43858 24 days |
| 38974 |
Brian-Nugent author:Brian-Nugent |
chore: fix documentation of `LocallyQuasiFinite` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
easy
|
6/5 |
Mathlib/AlgebraicGeometry/Morphisms/QuasiFinite.lean |
1 |
1 |
['github-actions'] |
alreadydone assignee:alreadydone |
5-59624 5 days ago |
19-72297 19 days ago |
19-72292 19 days |
| 39172 |
yuanyi-350 author:yuanyi-350 |
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic` |
- refactors `Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic` by simplifying `stronglyMeasurable_in_set` and `stronglyMeasurable_of_measurableSpace_le_on`
Extracted from #38104
[](https://gitpod.io/from-referrer/)
|
codex
LLM-generated
t-measure-probability
|
16/42 |
Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
kex-y assignee:kex-y |
5-59622 5 days ago |
14-35052 14 days ago |
14-35047 14 days |
| 39384 |
EngelsVon author:EngelsVon |
feat(Analysis/Calculus/DifferentialForm): Stokes' theorem on rectangular boxes |
## Summary
This PR proves the generalized Stokes theorem for differential forms on rectangular boxes $[a, b] \subset \mathbb{R}^{m+1}$.
The proof strategy is:
1. Extract the `i`-th signed face component `boxFaceComponent ω i` from an `m`-form `ω` — a scalar function whose divergence equals the top-form density of the exterior derivative `dω`.
2. Apply Mathlib's existing divergence theorem for boxes (`integral_divergence_of_hasFDerivAt_off_countable'`).
This gives a genuine proved Stokes formula in the Euclidean setting, complementing the existing infrastructure for differential forms.
## Main definitions
- `DifferentialForm.topFormDensity`: density function of a top-form field
- `DifferentialForm.boxFaceComponent`: the `i`-th signed face component of an `m`-form on `ℝ^(m+1)`
- `DifferentialForm.boxBoundaryIntegral`: the signed boundary integral over `∂[a,b]`
## Main results
- `box_stokes_of_hasFDerivAt`: Stokes' theorem on boxes with pointwise differentiability hypotheses
- `box_stokes_of_contDiff`: a convenient `C¹` formulation
|
t-analysis
new-contributor
|
314/0 |
Mathlib.lean,Mathlib/Analysis/Calculus/DifferentialForm/BoxStokes.lean |
2 |
2 |
['github-actions'] |
j-loreaux assignee:j-loreaux |
5-59618 5 days ago |
11-283 11 days ago |
11-278 11 days |
| 39389 |
i-love-lean author:i-love-lean |
feat(Analysis/SpecialFunctions): homeomorphism for spherical coordinates |
A few months ago, I noticed that mathlib was missing change of variables to spherical coordinates, which is taught in undergraduate calculus and useful for many 3D integrals. So far, I used `PolarCoord.lean` as reference and implemented a similar homeomorphism for spherical coordinates. There's still a lot of work left to prove an analog of `integral_comp_polarCoord_symm` but for spherical coordinates, so I'm splitting up the work into several PRs. I also fixed a typo in `PolarCoord.lean`. |
t-analysis
new-contributor
|
133/2 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/PolarCoord.lean,Mathlib/Analysis/SpecialFunctions/SphericalCoord.lean |
4 |
4 |
['github-actions', 'i-love-lean', 'wwylele'] |
j-loreaux assignee:j-loreaux |
5-59617 5 days ago |
10-77818 10 days ago |
10-78633 10 days |
| 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
---
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 predominantly human-written. gpt-5.5 has helped in the later stages with shortening proofs, golfing and general advice.
|
t-analysis
new-contributor
|
551/0 |
Mathlib.lean,Mathlib/Analysis/OscillatoryIntegrals/VanDerCorput.lean |
2 |
2 |
['github-actions'] |
j-loreaux assignee:j-loreaux |
5-59615 5 days ago |
10-37277 10 days ago |
10-38336 10 days |
| 39441 |
Paul-Lez author:Paul-Lez |
feat: small lemma about multilinear power series |
I'm currently working on a PR that connects the `PowerSeries` API to the `FormalMultilinearSeries` API, and in particular constructs a map from `PowerSeries A` to `FormalMultilinearSeries R A A` for any `R`-algebra `A`. This lemma was useful for proving that this map respects composition.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
7/0 |
Mathlib/Analysis/Analytic/Composition.lean |
1 |
3 |
['Paul-Lez', 'github-actions', 'grunweg'] |
j-loreaux assignee:j-loreaux |
5-59614 5 days ago |
9-70742 9 days ago |
9-70737 9 days |
| 39452 |
Deicyde author:Deicyde |
chore: Move `UnitAddTorus` to Topology/Instances/AddCircle/Real.lean |
Previous location of `UnitAddTorus` in Analysis/Fourier/AddCircleMulti.lean was ad-hoc and required users to import the entire Fourier analysis infrastructure just to use the torus. I suggest moving it to it's natural home beside `UnitAddCircle`.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
|
3/3 |
Mathlib/Analysis/Fourier/AddCircleMulti.lean,Mathlib/Topology/Instances/AddCircle/Real.lean |
2 |
3 |
['github-actions'] |
PatrickMassot assignee:PatrickMassot |
5-59613 5 days ago |
9-60338 9 days ago |
9-60333 9 days |
| 39454 |
SnirBroshi author:SnirBroshi |
feat(Analysis/Convex/Jensen): more forms of Jensen's strict inequality |
Adds iff theorems for Jensen's strict inequality for `<`/`=`, positive/nonnegative weights, and canonical form versions.
---
Note that as established by existing theorems in the file, "canonical" here refers to comparing terms to the center of mass instead of to each other.
[](https://gitpod.io/from-referrer/)
|
t-analysis |
95/13 |
Mathlib/Analysis/Convex/Jensen.lean |
1 |
1 |
['github-actions'] |
j-loreaux assignee:j-loreaux |
5-59612 5 days ago |
9-59363 9 days ago |
9-59358 9 days |
| 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).
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
5/2 |
Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean |
1 |
1 |
['github-actions'] |
j-loreaux assignee:j-loreaux |
5-59610 5 days ago |
8-55360 8 days ago |
8-55355 8 days |
| 34703 |
martinwintermath author:martinwintermath |
Generalizing orthogonalBilin |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
merge-conflict
|
51/25 |
Mathlib/Analysis/InnerProductSpace/Orthogonal.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean |
3 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
5-56082 5 days ago |
unknown |
0-0 0 seconds |
| 36412 |
Timeroot author:Timeroot |
refactor(Topology/Perfect): Change PerfectSpace to be a synonym for NeBot |
Refactor PerfectSpace to be, equivalently, just `forall (x : α) : Filter.NeBot (𝓝[≠] x)`.
See [#mathlib4 > Changing PerfectSpace](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Changing.20PerfectSpace/with/575568102) for discussion
This is unmodified output from @Aristotle-Harmonic !
[](https://gitpod.io/from-referrer/)
Co-authored-by: Aristotle (Harmonic)
|
merge-conflict |
54/50 |
Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Module/RCLike/Real.lean,Mathlib/Topology/Algebra/Module/Basic.lean,Mathlib/Topology/Algebra/Module/PerfectSpace.lean,Mathlib/Topology/Compactification/OnePoint/Basic.lean,Mathlib/Topology/Perfect.lean,Mathlib/Topology/Separation/Connected.lean |
7 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
5-55838 5 days ago |
74-79851 74 days ago |
0-1127 18 minutes |
| 37963 |
martinwintermath author:martinwintermath |
feat(LinearAlgebra/SesquilinearForm): moving orthogonality to own file and adding lemmas |
* Move `Submodule.orthogonalBilin` and all lemmas that use it from SesquilinearForm/Basic.lean to its own file SesquilinearForm/Orthogonal.lean.
* Add the features proposed in #34007 to align with `PointedCone.dual`.
---
- [ ] depends on: #37381
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-algebra
merge-conflict
label:t-algebra$ |
389/190 |
Mathlib.lean,Mathlib/Algebra/Lie/InvariantForm.lean,Mathlib/Algebra/Lie/TraceForm.lean,Mathlib/Algebra/Lie/Weights/Killing.lean,Mathlib/Analysis/InnerProductSpace/Orthogonal.lean,Mathlib/LinearAlgebra/BilinearForm/Orthogonal.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/QuadraticForm/IsometryEquiv.lean,Mathlib/LinearAlgebra/QuadraticForm/Radical.lean,Mathlib/LinearAlgebra/QuadraticForm/TensorProduct.lean,Mathlib/LinearAlgebra/QuadraticForm/TensorProduct/Isometries.lean,Mathlib/LinearAlgebra/RootSystem/Finite/Nondegenerate.lean,Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean,Mathlib/LinearAlgebra/SesquilinearForm/Orthogonal.lean,docs/undergrad.yaml |
15 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
5-55594 5 days ago |
42-69229 42 days ago |
0-584 9 minutes |
| 38663 |
vihdzp author:vihdzp |
chore: deprecate duplicate theorems about `IsBotZeroClass` |
I'll probably split this into various PRs, for ease of review.
---
- [x] depends on: #38148
[](https://gitpod.io/from-referrer/)
|
t-order
merge-conflict
|
210/270 |
Archive/Imo/Imo2024Q3.lean,Mathlib/Algebra/Lie/Solvable.lean,Mathlib/Algebra/Lie/Weights/Chain.lean,Mathlib/Algebra/Order/Floor/Extended.lean,Mathlib/Algebra/Order/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/IsBotOne.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Polynomial/Degree/TrailingDegree.lean,Mathlib/Algebra/Polynomial/HasseDeriv.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Proper.lean,Mathlib/AlgebraicTopology/AlternatingFaceMapComplex.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/CStarAlgebra/Multiplier.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Distribution/TemperateGrowth.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/Normed/Operator/NNNorm.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Analysis/Real/Pi/Irrational.lean,Mathlib/Analysis/SpecialFunctions/ArithmeticGeometricMean.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/Combinatorics/Enumerative/Composition.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/Combinatorics/Extremal/RuzsaSzemeredi.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Equitabilise.lean,Mathlib/Combinatorics/SimpleGraph/VertexCover.lean,Mathlib/Computability/Primrec/Basic.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/Finset/Density.lean,Mathlib/Data/Int/WithZero.lean,Mathlib/Data/List/Shortlex.lean,Mathlib/Data/Nat/Nth.lean,Mathlib/Data/Nat/Totient.lean,Mathlib/Data/Rat/Cast/Order.lean,Mathlib/FieldTheory/Finite/Valuation.lean,Mathlib/FieldTheory/RatFunc/Valuation.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/GroupTheory/Coxeter/Basic.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/GroupTheory/SpecificGroups/Alternating/KleinFour.lean,Mathlib/LinearAlgebra/Dimension/Finite.lean,Mathlib/LinearAlgebra/Matrix/Transvection.lean,Mathlib/MeasureTheory/Covering/Vitali.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Real.lean,Mathlib/MeasureTheory/Function/SimpleFuncDense.lean,Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Countable.lean,Mathlib/MeasureTheory/Measure/AbsolutelyContinuous.lean,Mathlib/MeasureTheory/Measure/Decomposition/Lebesgue.lean,Mathlib/MeasureTheory/Measure/Map.lean,Mathlib/MeasureTheory/Measure/Prod.lean,Mathlib/MeasureTheory/Measure/Restrict.lean,Mathlib/MeasureTheory/Measure/Stieltjes.lean,Mathlib/MeasureTheory/OuterMeasure/AE.lean,Mathlib/NumberTheory/ArithmeticFunction/Moebius.lean,Mathlib/NumberTheory/Divisors.lean,Mathlib/NumberTheory/FLT/Polynomial.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Probability/Kernel/IonescuTulcea/Traj.lean,Mathlib/Probability/Martingale/Upcrossing.lean,Mathlib/RingTheory/ChainOfDivisors.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/Discriminant.lean,Mathlib/RingTheory/DividedPowers/SubDPIdeal.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean,Mathlib/RingTheory/Perfection.lean,Mathlib/RingTheory/Polynomial/Resultant/Basic.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/Discrete/Basic.lean,Mathlib/RingTheory/Valuation/Integers.lean,Mathlib/RingTheory/Valuation/RankOne.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/Topology/Algebra/InfiniteSum/ENNReal.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean,Mathlib/Topology/Algebra/Polynomial.lean,Mathlib/Topology/Algebra/ValuativeRel/ValuativeTopology.lean,Mathlib/Topology/Algebra/Valued/NormedValued.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean,Mathlib/Topology/Algebra/Valued/ValuedField.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean,Mathlib/Topology/ContinuousMap/Ideals.lean,Mathlib/Topology/MetricSpace/Antilipschitz.lean,Mathlib/Topology/MetricSpace/PiNat.lean,Mathlib/Topology/MetricSpace/Pseudo/Constructions.lean |
92 |
5 |
['github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
5-55591 5 days ago |
26-2355 26 days ago |
0-762 12 minutes |
| 38786 |
martinwintermath author:martinwintermath |
feat(Data/SetLike): add `IsConcreteNeg` |
Add file `SetLike/Pointwise.lean` with main definition `class IsConcreteNeg` which expresses that a given `Neg` on a `SetLike` objects is compatible with the injection into sets.
This is in analogy to `SetLike.IsConcreteLE`.
I can think of at least the following object that have or should have a `Neg` instance:
- `AddSubmonoid`
- `Submodule`
- cone variants such as `PointedCone`, `ProperCone`, `ConvexCone`, `PolyhedralCone` (in development)
- `AffineSubspace`
- convex set variant such as `ConvexSet`, `Polytope`, `Polyhedron` (in development)
For demonstration
- we rework negation on `Submodule` to make use of `IsConcreteNeg`
- we provide `Neg` in `AffineSubspace`
The same file should also provide a concrete pointwise scalar multiplication. This will be a future PR.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
185/20 |
Mathlib.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Data/SetLike/Pointwise.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Pointwise.lean,Mathlib/LinearAlgebra/Span/Basic.lean |
6 |
3 |
['github-actions', 'j-loreaux', 'martinwintermath', 'mathlib-bors'] |
TwoFX assignee:TwoFX |
5-54828 5 days ago |
5-54860 5 days ago |
19-58627 19 days |
| 38896 |
peabrainiac author:peabrainiac |
feat(Algebra): multiplicative torsors |
Introduce a class `Torsor` for torsors of multiplicative groups, as a multiplicative counterpart to the existing `AddTorsor` for torsors of additive groups.
---
Adopted / migrated from #8608.
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
385/286 |
Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/AddTorsor/Defs.lean,Mathlib/Algebra/Group/Pointwise/Set/Scalar.lean,Mathlib/Algebra/Notation/Defs.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/Tactic/Translate/ToAdditive.lean |
6 |
2 |
['github-actions', 'grunweg'] |
nobody |
5-54608 5 days ago |
5-54682 5 days ago |
11-58364 11 days |
| 39547 |
Hagb author:Hagb |
chore(Order/Preorder/Finite): use `@[to_dual]` on lemmas about `{Min,Max}imal{For,}` |
Proofs of other theorems (e.g. in #39427) with dual theorems dependent on these lemmas would benefit from their duality.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
11/25 |
Mathlib/Order/Preorder/Finite.lean |
1 |
4 |
['Hagb', 'github-actions', 'vihdzp'] |
nobody |
5-52843 5 days ago |
6-79501 6 days ago |
6-79496 6 days |
| 37248 |
harahu author:harahu |
doc(Tactic): avoid lazy continuation lines |
We resolve the ambiguity inherent in lazy (un-indented) list item continuation lines by either indenting them or separating them by inserting a newline in the cases where the item continuation was a mistake.
---
[](https://gitpod.io/from-referrer/)
|
documentation |
123/114 |
Mathlib/Tactic/Algebraize.lean,Mathlib/Tactic/Basic.lean,Mathlib/Tactic/CategoryTheory/Coherence/PureCoherence.lean,Mathlib/Tactic/ComputeDegree.lean,Mathlib/Tactic/DepRewrite.lean,Mathlib/Tactic/Finiteness.lean,Mathlib/Tactic/FunProp.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/Linarith/Oracle/FourierMotzkin.lean,Mathlib/Tactic/Linter/FlexibleLinter.lean,Mathlib/Tactic/Order.lean,Mathlib/Tactic/SimpIntro.lean,Mathlib/Tactic/Simps/Basic.lean,Mathlib/Tactic/Widget/InteractiveUnfold.lean |
15 |
4 |
['Multramate', 'github-actions', 'grunweg', 'harahu', 'mathlib-merge-conflicts'] |
grunweg assignee:grunweg |
5-37344 5 days ago |
10-83435 10 days ago |
59-4335 59 days |
| 35281 |
harahu author:harahu |
chore: fix markdown list indentation |
WIP
---
[](https://gitpod.io/from-referrer/)
|
WIP |
790/413 |
Mathlib/Algebra/Category/ModuleCat/Presheaf/ColimitFunctor.lean,Mathlib/Algebra/Homology/SpectralSequence/ComplexShape.lean,Mathlib/Algebra/Lie/OfAssociative.lean,Mathlib/Algebra/Lie/Prod.lean,Mathlib/AlgebraicGeometry/EllipticCurve/LFunction.lean,Mathlib/AlgebraicGeometry/Gluing.lean,Mathlib/AlgebraicGeometry/Morphisms/Basic.lean,Mathlib/AlgebraicGeometry/Morphisms/Flat.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/AlgebraicGeometry/Properties.lean,Mathlib/AlgebraicTopology/CechNerve.lean,Mathlib/AlgebraicTopology/SimplexCategory/Defs.lean,Mathlib/AlgebraicTopology/SimplicialSet/Subdivision.lean,Mathlib/AlgebraicTopology/SimplicialSet/TopAdj.lean,Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean,Mathlib/Analysis/Convex/KreinMilman.lean,Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/Normed/Field/Approximation.lean,Mathlib/Analysis/Normed/Field/Dense.lean,Mathlib/Analysis/Normed/Field/Krasner.lean,Mathlib/Analysis/Normed/Group/SemiNormedGrp/Completion.lean,Mathlib/Analysis/Normed/Module/Bases.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Extremal.lean,Mathlib/CategoryTheory/Abelian/Preradical/Colon.lean,Mathlib/CategoryTheory/Bicategory/Basic.lean,Mathlib/CategoryTheory/Category/ULift.lean,Mathlib/CategoryTheory/GlueData.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/ChosenPullback.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Sites/Coverage.lean,Mathlib/CategoryTheory/Sites/Point/OfIsCofiltered.lean,Mathlib/CategoryTheory/Sites/PrecoverageToGrothendieck.lean,Mathlib/CategoryTheory/WithTerminal/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean,Mathlib/Data/Bracket.lean,Mathlib/Data/Finset/Density.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/Dynamics/SymbolicDynamics/Basic.lean,Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/Lean/Meta/RefinedDiscrTree/Basic.lean,Mathlib/LinearAlgebra/InvariantBasisNumber.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/PerfectPairing/Basic.lean,Mathlib/LinearAlgebra/TensorAlgebra/Basic.lean,Mathlib/Logic/Equiv/Fin/Rotate.lean,Mathlib/MeasureTheory/Group/Action.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Integral/Bochner/L1.lean,Mathlib/MeasureTheory/Order/UpperLower.lean,Mathlib/MeasureTheory/VectorMeasure/Integral.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Basic.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean,Mathlib/Order/Birkhoff.lean,Mathlib/Order/CompleteBooleanAlgebra.lean,Mathlib/Order/Zorn.lean,Mathlib/Probability/Process/Adapted.lean,Mathlib/RingTheory/Smooth/Flat.lean,Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean,Mathlib/RingTheory/Spectrum/Prime/Jacobson.lean,Mathlib/RingTheory/Valuation/Discrete/RankOne.lean,Mathlib/RingTheory/ZariskisMainTheorem.lean,Mathlib/Tactic/Algebra/Basic.lean,Mathlib/Tactic/Algebraize.lean,Mathlib/Tactic/Basic.lean,Mathlib/Tactic/CategoryTheory/CancelIso.lean,Mathlib/Tactic/CategoryTheory/Coherence/Normalize.lean,Mathlib/Tactic/CategoryTheory/Coherence/PureCoherence.lean,Mathlib/Tactic/ComputeDegree.lean,Mathlib/Tactic/DepRewrite.lean,Mathlib/Tactic/Finiteness.lean,Mathlib/Tactic/FunProp.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/Linarith/Frontend.lean,Mathlib/Tactic/Linarith/Oracle/FourierMotzkin.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/PositiveVector.lean,Mathlib/Tactic/Linter/FlexibleLinter.lean,Mathlib/Tactic/Order.lean,Mathlib/Tactic/SimpIntro.lean,Mathlib/Tactic/Simps/Basic.lean,Mathlib/Tactic/Translate/Core.lean,Mathlib/Tactic/Widget/InteractiveUnfold.lean,Mathlib/Topology/Category/Profinite/AsLimit.lean,Mathlib/Topology/Continuous.lean,Mathlib/Topology/DiscreteQuotient.lean,Mathlib/Topology/Gluing.lean,Mathlib/Topology/Maps/Proper/Basic.lean,Mathlib/Topology/MetricSpace/UniformConvergence.lean,Mathlib/Topology/Sheaves/Presheaf.lean,Mathlib/Topology/Sheaves/Sheaf.lean,Mathlib/Topology/Sheaves/SheafOfFunctions.lean,Mathlib/Topology/Sion.lean,scripts/check_docstring_list_indentation.py |
95 |
15 |
['github-actions', 'harahu', 'mathlib-merge-conflicts'] |
nobody |
5-37010 5 days ago |
unknown |
0-0 0 seconds |
| 39606 |
harahu author:harahu |
doc: remove superfluous empty lines |
These aren't needed.
---
[](https://gitpod.io/from-referrer/)
|
|
0/704 |
Mathlib/Algebra/Algebra/RestrictScalars.lean,Mathlib/Algebra/Algebra/Subalgebra/MulOpposite.lean,Mathlib/Algebra/Algebra/Subalgebra/Rank.lean,Mathlib/Algebra/Category/ContinuousCohomology/Basic.lean,Mathlib/Algebra/Category/Grp/EnoughInjectives.lean,Mathlib/Algebra/Category/Grp/FiniteGrp.lean,Mathlib/Algebra/Category/ModuleCat/AB.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/Localization.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/ProjectiveDimension.lean,Mathlib/Algebra/Category/ModuleCat/Stalk.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Homology.lean,Mathlib/Algebra/Category/ModuleCat/Ulift.lean,Mathlib/Algebra/Category/Ring/FinitePresentation.lean,Mathlib/Algebra/Central/TensorProduct.lean,Mathlib/Algebra/CharP/Algebra.lean,Mathlib/Algebra/CharP/IntermediateField.lean,Mathlib/Algebra/CharZero/Defs.lean,Mathlib/Algebra/DirectSum/Decomposition.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/GCDMonoid/IntegrallyClosed.lean,Mathlib/Algebra/Group/Indicator.lean,Mathlib/Algebra/Group/Submonoid/Units.lean,Mathlib/Algebra/GroupWithZero/Hom.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/MapBijective.lean,Mathlib/Algebra/Lie/Derivation/BaseChange.lean,Mathlib/Algebra/Lie/SemiDirect.lean,Mathlib/Algebra/Lie/Sl2.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Module/LocalizedModule/Int.lean,Mathlib/Algebra/Module/Projective.lean,Mathlib/Algebra/Module/SnakeLemma.lean,Mathlib/Algebra/Module/Submodule/Defs.lean,Mathlib/Algebra/Module/Submodule/IterateMapComap.lean,Mathlib/Algebra/Module/Submodule/Lattice.lean,Mathlib/Algebra/Module/Submodule/LinearMap.lean,Mathlib/Algebra/Module/Submodule/RestrictScalars.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/MvPolynomial/Monad.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Order/Antidiag/FinsuppEquiv.lean,Mathlib/Algebra/Order/Chebyshev.lean,Mathlib/Algebra/Order/GroupWithZero/WithZero.lean,Mathlib/Algebra/Order/Hom/TypeTags.lean,Mathlib/Algebra/Order/Module/Defs.lean,Mathlib/Algebra/Order/Module/Synonym.lean,Mathlib/Algebra/Order/Monoid/LocallyFiniteOrder.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean,Mathlib/Algebra/Polynomial/Basis.lean,Mathlib/Algebra/Polynomial/PartialFractions.lean,Mathlib/Algebra/Polynomial/RuleOfSigns.lean,Mathlib/Algebra/Polynomial/Sequence.lean,Mathlib/Algebra/QuadraticAlgebra/Defs.lean,Mathlib/Algebra/Ring/Subring/MulOpposite.lean,Mathlib/Algebra/Ring/Subring/Units.lean,Mathlib/Algebra/Ring/Subsemiring/MulOpposite.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Algebra/Tropical/BigOperators.lean,Mathlib/Algebra/Tropical/Lattice.lean,Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean,Mathlib/AlgebraicGeometry/Birational/RationalMap.lean,Mathlib/AlgebraicGeometry/ColimitsOver.lean,Mathlib/AlgebraicGeometry/Cover/Over.lean,Mathlib/AlgebraicGeometry/EllipticCurve/IsomOfJ.lean,Mathlib/AlgebraicGeometry/EllipticCurve/NormalForms.lean,Mathlib/AlgebraicGeometry/Gluing.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/AlgebraicGeometry/Morphisms/Affine.lean,Mathlib/AlgebraicGeometry/Morphisms/ClosedImmersion.lean,Mathlib/AlgebraicGeometry/Morphisms/Constructors.lean,Mathlib/AlgebraicGeometry/Morphisms/Etale.lean,Mathlib/AlgebraicGeometry/Morphisms/Finite.lean,Mathlib/AlgebraicGeometry/Morphisms/FinitePresentation.lean,Mathlib/AlgebraicGeometry/Morphisms/Immersion.lean,Mathlib/AlgebraicGeometry/Morphisms/Integral.lean,Mathlib/AlgebraicGeometry/Morphisms/IsIso.lean,Mathlib/AlgebraicGeometry/Morphisms/LocalFlatDescent.lean,Mathlib/AlgebraicGeometry/Morphisms/OpenImmersion.lean,Mathlib/AlgebraicGeometry/Morphisms/Preimmersion.lean,Mathlib/AlgebraicGeometry/Morphisms/Proper.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/AlgebraicGeometry/Morphisms/Separated.lean,Mathlib/AlgebraicGeometry/Morphisms/Smooth.lean,Mathlib/AlgebraicGeometry/Morphisms/WeaklyEtale.lean,Mathlib/AlgebraicGeometry/PointsPi.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Basic.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean,Mathlib/AlgebraicGeometry/QuasiAffine.lean,Mathlib/AlgebraicGeometry/ResidueField.lean,Mathlib/AlgebraicGeometry/Sites/ElladicCohomology.lean,Mathlib/AlgebraicGeometry/Sites/Etale.lean,Mathlib/AlgebraicGeometry/Sites/MorphismProperty.lean,Mathlib/AlgebraicGeometry/Sites/Proetale.lean,Mathlib/AlgebraicGeometry/Sites/SmallAffineZariski.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/AlgebraicGeometry/ZariskisMainTheorem.lean,Mathlib/AlgebraicTopology/AlternatingFaceMapComplex.lean |
661 |
1 |
['github-actions'] |
nobody |
5-35088 5 days ago |
unknown |
0-0 0 seconds |
| 39506 |
b-mehta author:b-mehta |
feat(Data/Complex/Basic): add simproc to reduce powers of I |
This is enabled by default to make eg i^5 simplify automatically.
We intentionally require the exponent to be a numeral, as this is intended to be a reduction statement, and for symbolic `n`, the lemma `I_pow_eq_pow_mod` should be used instead.
Note that we can't have `I_pow_eq_pow_mod` as a simp lemma due to looping.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
65/5 |
Mathlib/Algebra/Group/Defs.lean,Mathlib/Analysis/Meromorphic/FactorizedRational.lean,Mathlib/Analysis/SpecialFunctions/Elliptic/Weierstrass.lean,Mathlib/Data/Complex/Basic.lean,MathlibTest/Simproc/IPow.lean |
5 |
14 |
['Paul-Lez', 'b-mehta', 'eric-wieser', 'github-actions'] |
nobody |
5-33063 5 days ago |
6-68236 6 days ago |
8-5533 8 days |
| 39599 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(RingTheory/GeneralizedEuclidean): the canonical Euclidean filtration on a ring |
* Define the canonical euclidean filtration on a semiring
* Define the euclidean level of an element of a semiring.
* A semiring is euclidean (in the generalized sense) if and only if the filtration is exhaustive.
Note : The PR defines two variants, one is Nat-indexed, and the other one, more general, is Ordinal-indexed.
Probably the first one should be deleted.
TODO :
* prove that the euclidean level is the minimal stathm of a euclidean algorithm.
* give examples (Nat, Int, Polynomial…)
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-ring-theory
t-algebra
label:t-algebra$ |
585/0 |
Mathlib.lean,Mathlib/RingTheory/GeneralizedEuclidean.lean,docs/references.bib |
3 |
2 |
['eric-wieser', 'github-actions'] |
nobody |
5-26248 5 days ago |
5-69198 5 days ago |
0-17 17 seconds |
| 38369 |
quantumsnow author:quantumsnow |
feat(AlgebraicTopology): Eilenberg Steenrod axioms |
This introduces the Eilenberg-Steenrod axioms for a homology theory.
---
- [x] depends on: #36621
- [ ] depends on: #39236
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebraic-topology
blocked-by-other-PR
|
365/0 |
Mathlib.lean,Mathlib/AlgebraicTopology/EilenbergSteenrod.lean,Mathlib/Topology/Category/TopCat/Basic.lean,Mathlib/Topology/Category/TopPair.lean |
4 |
38 |
['chrisflav', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'quantumsnow'] |
nobody |
5-25418 5 days ago |
13-31714 13 days ago |
3-44318 3 days |
| 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
|
120/3 |
Mathlib/AlgebraicTopology/SimplicialSet/Boundary.lean,Mathlib/CategoryTheory/Limits/Types/Pullbacks.lean |
2 |
25 |
['github-actions', 'jcreinhold', 'joelriou', 'mckoen'] |
joelriou assignee:joelriou |
5-25330 5 days ago |
15-81539 15 days ago |
22-50311 22 days |
| 39611 |
mbkybky author:mbkybky |
feat(RingTheory): let `B` be a faithfully flat `A`-algebra, then `A` is a local ring if `B` is |
Let `B` be a faithfully flat `A`-algebra, then `A` is a local ring if `B` is.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
13/0 |
Mathlib/RingTheory/Flat/FaithfullyFlat/Algebra.lean |
1 |
1 |
['github-actions'] |
nobody |
5-24272 5 days ago |
5-24355 5 days ago |
5-24350 5 days |
| 39605 |
Qinghev author:Qinghev |
Add docstrings for reversed range telescoping lemmas |
This PR adds docstrings for two existing Finset telescoping lemmas and their additive versions generated by `to_additive`:
* `Finset.prod_range_div'` / `Finset.sum_range_sub'`
* `Finset.eq_prod_range_div` / `Finset.eq_sum_range_sub`
The goal is a small documentation-only contribution that makes the reversed range telescoping API easier to discover from search and hover docs.
Local checks:
* `git diff --check -- Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean`
* Attempted `lake env lean Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean`, but local validation is currently blocked by downloading the `leanprover/lean4:v4.30.0-rc2` toolchain from GitHub timing out/connection-resetting on this machine.
Opened as draft until the toolchain/network check can be completed or CI confirms the documentation-only change.
|
t-algebra
new-contributor
label:t-algebra$ |
8/2 |
Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean |
1 |
2 |
['github-actions'] |
nobody |
5-22720 5 days ago |
5-22720 5 days ago |
5-22715 5 days |
| 39574 |
FordUniver author:FordUniver |
feat(Analysis/Calculus/LipschitzSmooth): add `LipschitzSmoothWith` and `CocoerciveWith` |
Introduces `LipschitzSmoothWith K f` on a normed real vector space and `CocoerciveWith K f` on a Hilbert space. `LipschitzSmoothWith` is opaque with characterisations in four derivative-flavoured forms (directional, Fréchet, 1D, gradient) under appropriate differentiability hypotheses, plus descent-inequality extractors and variance bounds; `CocoerciveWith` is an `abbrev` with the elementary direction `K`-cocoercive ⟹ `K`-Lipschitz gradient.
---
The `lineDeriv` form is the internal canonical form because it does not presuppose Fréchet differentiability; the `@[expose]` annotation is deliberately omitted so that downstream code reaches the predicate through the named iff/extractor API rather than direct destruction, treating the choice as an implementation detail. The `K / 2` convention is chosen so that the descent lemma is constant-preserving: a function with `K`-Lipschitz Fréchet derivative is exactly `K`-smooth in this sense.
This PR is intentionally minimal and contains only the definition and some basic `rw` and `apply` lemmas. I have some follow up PRs planned (not fully polished yet) that establish the usual implications plus pre-requisites:
1. **Descent lemma.** Derives `LipschitzSmoothWith K f` from `LipschitzWith K (fderiv ℝ f)` (and its 1D / gradient variants) under `Differentiable ℝ f`, via segment-level FTC. [diff](https://github.com/FordUniver/mathlib4/compare/diffbase/lipschitzSmooth-descent...feat/lipschitzSmooth-descent)
2. **First-order convex inequalities.** Adds `ConvexOn.add_{lineDeriv,fderiv,gradient,deriv}_le` (and strict variants + concave duals) — the tangent-line-lower-bound characterisations of `ConvexOn`. [diff](https://github.com/FordUniver/mathlib4/compare/diffbase/convex-first-order-inequalities...feat/convex-first-order-inequalities)
3. **Baillon-Haddad theorem and convex equivalences.** Under `ConvexOn ℝ Set.univ f` + `Differentiable ℝ f`, `LipschitzSmoothWith K f → CocoerciveWith K f`, closing the four-way equivalence with `LipschitzWith K (fderiv ℝ f)` and `LipschitzWith K (∇ f)`. [diff](https://github.com/FordUniver/mathlib4/compare/diffbase/lipschitzSmooth-convex...feat/lipschitzSmooth-convex)
4. **Continuity and the `K = 0` boundary case.** A continuity statement `LipschitzSmoothWith K f → Continuous f` (non-trivial in the general non-differentiable case), and the characterisation `LipschitzSmoothWith 0 f ↔ ConcaveOn ℝ Set.univ f` under differentiability.
5. **Algebraic preservation lemmas.** `LipschitzSmoothWith` closed under `+` (with `K₁ + K₂`), `c •` for `c ≥ 0` (with `c · K`), composition with affine maps (with `‖A.linear‖² · K`). [diff](https://github.com/FordUniver/mathlib4/compare/feat/lipschitzSmooth-basic...feat/lipschitzSmooth-algebra)
Beyond those, larger-picture generalisations remain open: a set-restricted version `LipschitzSmoothOnWith K f s` (with `s` a convex subset, parallel to the standard pattern for `ConvexOn`, `LipschitzOn`, etc.), and possibly broadening the base field / target away from `ℝ` (e.g. complex Hilbert spaces; vector-valued targets would require a different right-hand side and likely a separate predicate).
The only unmerged upstream dependency is #39203, needed for the gradient-form characterisations. The base definition and the directional / Fréchet / 1D characterisations are independent of any unmerged work.
- [ ] depends on: #39203
- [x] depends on: #14502
Diff for the changes *just* in this PR over its predecessor: [link](https://github.com/FordUniver/mathlib4/compare/refactor/gradient-ungate-inner-lemmas...feat/lipschitzSmooth-basic) |
t-analysis
blocked-by-other-PR
|
344/10 |
Mathlib.lean,Mathlib/Analysis/Calculus/Gradient/Basic.lean,Mathlib/Analysis/Calculus/LipschitzSmooth/Basic.lean,Mathlib/Analysis/Calculus/LipschitzSmooth/Deriv.lean,Mathlib/Analysis/Calculus/LipschitzSmooth/FDeriv.lean,Mathlib/Analysis/Calculus/LipschitzSmooth/Gradient.lean |
6 |
4 |
['FordUniver', 'Komyyy', 'github-actions', 'mathlib-dependent-issues'] |
nobody |
5-20307 5 days ago |
6-15273 6 days ago |
0-5994 1 hour |
| 39332 |
Michaillus author:Michaillus |
chore(Topology/Spectral): Added two small lemmas |
chore(Topology/Spectral): Added two lemmas
`IsCompact.isClosed_constructibleTopology_of_isOpen`
`IsCompact.isClosed_constructibleTopology_of_isClosed`
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
|
12/0 |
Mathlib/Topology/Spectral/ConstructibleTopology.lean |
1 |
7 |
['Michaillus', 'github-actions', 'plp127', 'qawbecrdtey'] |
PatrickMassot assignee:PatrickMassot |
5-19214 5 days ago |
11-73690 11 days ago |
11-73685 11 days |
| 33454 |
astrainfinita author:astrainfinita |
feat: lemmas about `IsometryClass` |
---
[](https://gitpod.io/from-referrer/)
|
t-topology
t-analysis
awaiting-author
merge-conflict
|
60/37 |
Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Analysis/Normed/Group/Uniform.lean,Mathlib/Analysis/Normed/Operator/LinearIsometry.lean,Mathlib/Topology/MetricSpace/DilationEquiv.lean,Mathlib/Topology/MetricSpace/Isometry.lean |
5 |
9 |
['github-actions', 'j-loreaux', 'mathlib-merge-conflicts'] |
urkud assignee:urkud |
5-18872 5 days ago |
138-78944 138 days ago |
4-44581 4 days |
| 37477 |
kebekus author:kebekus |
feat: canonical decomposition of complex-meromorphic functions on disks |
Establish the Finite Canonical Decomposition of meromorphic functions, where a complex-meromorphic function `f` on a disk is written as a product of an analytic function without zeros and poles, and canonical factors that take only values of norm one on the boundary of the disk.
A future PR will extend this theorem to handle zeros/poles on the boundary of the disk.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
354/12 |
Mathlib.lean,Mathlib/Algebra/Order/WithTop/Untop0.lean,Mathlib/Analysis/Complex/CanonicalDecomposition.lean,Mathlib/Analysis/Meromorphic/Divisor.lean,Mathlib/Analysis/Meromorphic/Order.lean,Mathlib/Analysis/Meromorphic/RCLike.lean,Mathlib/Topology/LocallyFinsupp.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean |
8 |
25 |
['github-actions', 'j-loreaux', 'kebekus'] |
j-loreaux assignee:j-loreaux |
5-18815 5 days ago |
5-18815 5 days ago |
53-44381 53 days |
| 38047 |
mbkybky author:mbkybky |
feat(RingTheory/Finiteness/Ideal): `I` is finitely generated if `f(I)` and `I ∩ ker(f)` are finitely generated |
Let `f : R →+* S` be a surjective ring homomorphism, and let `I` be an ideal of `R`. If `f(I)` and `I ∩ ker(f)` are finitely generated ideals, then `I` is also finitely generated.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
10/3 |
Mathlib/RingTheory/Finiteness/Ideal.lean |
1 |
1 |
['github-actions'] |
mattrobball assignee:mattrobball |
5-16058 5 days ago |
14-15650 14 days ago |
40-50700 40 days |
| 39225 |
junodeveloper author:junodeveloper |
feat(SimpleGraph): add no-bridge theorem for even degree graphs |
This PR proves that a finite graph in which every vertex has even degree has no bridge.
It adds:
* `SimpleGraph.not_isBridge_of_even_degree`
The proof argues by contradiction: if an edge is a bridge, delete it and look at the connected component containing one endpoint. In that component, the endpoint has odd degree, while any other odd-degree vertex would contradict the bridge assumption and the even-degree hypothesis. This contradicts the handshaking lemma via the existing odd-degree API.
Local checks:
```bash
lake build Mathlib.Combinatorics.SimpleGraph.Connectivity.EdgeConnectivity
lake exe lint-style Mathlib.Combinatorics.SimpleGraph.Connectivity.EdgeConnectivity
lake exe runLinter Mathlib.Combinatorics.SimpleGraph.Connectivity.EdgeConnectivity
```
## AI usage disclosure
I used OpenClaw/Codex while developing this PR. Much of the Lean proof of `not_isBridge_of_even_degree` was drafted with AI assistance, including API search and proof refactoring. I reviewed the generated code, made edits, ran the local checks above, and understand and take responsibility for the final statement and proof. |
t-combinatorics
new-contributor
large-import
LLM-generated
|
122/0 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean |
1 |
12 |
['Rida-Hamadani', 'SnirBroshi', 'github-actions', 'junodeveloper', 'linesthatinterlace'] |
nobody |
5-13985 5 days ago |
13-69960 13 days ago |
13-69955 13 days |
| 28613 |
espottesmith author:espottesmith |
feat(Combinatorics): define undirected hypergraphs |
This PR defines undirected hypergraphs:
```
@[ext]
structure Hypergraph (α : Type*) where
/-- The vertex set -/
vertexSet : Set α
/-- The hyperedge set -/
hyperedgeSet : Set (Set α)
/-- All hyperedges must be subsets of the vertex set -/
hyperedge_isSubset_vertexSet : ∀ ⦃e⦄, e ∈ hyperedgeSet → e ⊆ vertexSet
```
In addition to the main definition, some additional definitions and related lemmas are provided:
- vertex adjacency
- hyperedge adjacency
- vertex "stars"
- special cases (loops, empty hypergraphs, trivial hypergraphs, complete hypergraphs, simple hypergraphs, k-uniform hypergraphs, and d-regular hypergraphs)
- (some) hypergraph cardinality
- subhypergraphs, induced subhypergraphs, and partial hypergraphs
This implementation is certainly bare-bones. I'm submitting this PR at this point, rather than when my developments are more fleshed out, because there has been some interest in others contributing to hypergraph formalization in mathlib.
In the near future, goals include:
- defining incidence matrices (i.e., conversion from `Hypergraph α` to `Matrix α (Set α) β`
- coersion/generalization of graph as 2-uniform hypergraph
- conversion of a hypergraph into its associated clique graph/two-section graph
- constructing the dual of a hypergraph (note: on first blush, this appears somewhat challenging, given that we define hyperedges as `Set α` rather than some other type `β`)
- rank and co-rank
- walks, paths, cycles, etc. on hypergraphs
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
295/0 |
Mathlib.lean,Mathlib/Combinatorics/Hypergraph/Basic.lean |
2 |
151 |
['SnirBroshi', 'b-mehta', 'espottesmith', 'github-actions', 'jt496', 'lauramonk', 'mathlib4-merge-conflict-bot', 'tb65536'] |
b-mehta assignee:b-mehta |
5-13524 5 days ago |
5-15569 5 days ago |
100-76556 100 days |
| 39607 |
TentativeConvert author:TentativeConvert |
feat(Algebra/DirectSum): equivalence between direct sum indexed by ι₁ and double sum indexed by ι₂ and fibres of f : ι₁ → ι₂ |
1. Add variant `equivCongrLeft'` of `equivCongrLeft`, and corresponding `…_apply` lemma.
2. Add `…_of lemmas` for both `equivCongrLeft` and `equivCongrLeft'`.
3. Add `…of lemma` for `sigmaCurry`, i.e. `sigmaCurry_of`.
4. Add `sigmaFiberAddEquiv`: the equivalence between a direct sum indexed by a type `ι₁` and the double sum indexed by a type `ι₂` and the fibres of a map `f : ι₁ → ι₂`. Add two `…_apply` lemmas and an `…_of` lemma.
---
This is supposed to be a first step towards merging the draft PR #39356.
re 1: Mathematically, I don't see why one version should be preferred over the other, but I found the existing `equivCongrLeft` more difficult to work with when the equivalence `h : ι ≃ κ` is naturally given in the opposite direction. (I could not avoid explicit type casts through the equality `h.symm.symm = h` when defining `sigmaFiberAddEquiv` in terms of `equivCongrLeft`.)
Very unsure about the name of `equivCongrLeft'`. (I see that the name `equivCongrLeft` was chosen in analogy with `Equiv.piCongrLeft`. `Equiv.piCongrRight` looks very different, so presumably `equivCongrLeft'` should *not* be called `equivCongrRight`.)
re 4: Very unsure about the naming of the two different `…_apply` lemmas; called them `…_apply` and `…_apply'` for now. The second (`…_apply'`) cannot be a `simp` lemma as it would prevent the first (`…_apply`) from firing.
I've used Claude Opus for understanding error messages and git interaction, but everything is hand coded.
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
66/1 |
Mathlib/Algebra/DirectSum/Basic.lean |
1 |
3 |
['github-actions'] |
nobody |
5-13255 5 days ago |
5-25808 5 days ago |
5-27433 5 days |
| 37697 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph/Clique): add theorems about cliques and induced graphs |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
awaiting-author
|
22/0 |
Mathlib/Combinatorics/SimpleGraph/Clique.lean |
1 |
10 |
['Rida-Hamadani', 'SnirBroshi', 'YaelDillies', 'github-actions'] |
YaelDillies assignee:YaelDillies |
5-10671 5 days ago |
5-10671 5 days ago |
44-1357 44 days |
| 39608 |
EtienneC30 author:EtienneC30 |
doc(Probability/HasLaw): mention `MeasurePreserving` in the docstring |
---
[](https://gitpod.io/from-referrer/)
|
documentation
t-measure-probability
|
15/1 |
Mathlib/Probability/HasLaw.lean |
1 |
5 |
['EtienneC30', 'github-actions', 'jvanwinden'] |
nobody |
5-8606 5 days ago |
5-33318 5 days ago |
5-33313 5 days |
| 39619 |
dagurtomas author:dagurtomas |
feat(CategoryTheory): the bicategory of profunctors |
---
- [ ] depends on: #38086 |
WIP
blocked-by-other-PR
|
496/0 |
Mathlib.lean,Mathlib/CategoryTheory/Profunctor/Bicategory.lean,Mathlib/CategoryTheory/Profunctor/Comp.lean,Mathlib/Logic/Relation.lean |
4 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
5-8137 5 days ago |
5-8171 5 days ago |
0-84 1 minute |
| 38086 |
dagurtomas author:dagurtomas |
feat(CategoryTheory): composition of profunctors |
---
- [x] depends on: #38085
- [x] depends on: #38382
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
412/0 |
Mathlib.lean,Mathlib/CategoryTheory/Profunctor/Comp.lean,Mathlib/Logic/Relation.lean |
3 |
11 |
['dagurtomas', 'github-actions', 'mathlib-dependent-issues', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
5-8114 5 days ago |
5-8114 5 days ago |
10-70354 10 days |
| 39236 |
quantumsnow author:quantumsnow |
feat(AlgebraicTopology): `HomologyPretheory` for Eilenberg-Steenrod homology |
This splits out a part of #38369 into a separate PR.
It includes a structure `TopPair.HomologyPretheory` containing the data for an Eilenberg-Steenrod homology theory and the first Eilenberg-Steenrod axiom as a typeclass `EilenbergSteenrod.IsHomotopyInvariant`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
new-contributor
maintainer-merge
awaiting-author
|
155/0 |
Mathlib.lean,Mathlib/AlgebraicTopology/EilenbergSteenrod.lean |
2 |
37 |
['chrisflav', 'dagurtomas', 'github-actions', 'joelriou', 'quantumsnow'] |
robin-carlier assignee:robin-carlier |
5-6780 5 days ago |
5-6780 5 days ago |
2-50409 2 days |
| 39433 |
JovanGerb author:JovanGerb |
feat(Tactic): `#click_suggestions` |
This is an initial PR for a point&click suggestion tool that can suggest theorems and tactics. This PR only implements theorem suggestions.
This PR adds the `#click_suggestions` command that activates the tool. It could potentially in the future be active by default.
The code is ported from this repository: https://github.com/JovanGerb/infoview_search
TODO: import this feature in Tactic.Common
This PR deletes `unfold?` in favour of the `#click_suggestions`. For backwards compatability, I have left `rw??` in place, but I plan to deprecate it in the future.
---
[](https://gitpod.io/from-referrer/)
|
file-removed
t-meta
awaiting-author
|
2151/120 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ClickSuggestions.lean,Mathlib/Tactic/ClickSuggestions/Apply.lean,Mathlib/Tactic/ClickSuggestions/ApplyAt.lean,Mathlib/Tactic/ClickSuggestions/FindPremises.lean,Mathlib/Tactic/ClickSuggestions/GRewrite.lean,Mathlib/Tactic/ClickSuggestions/Rewrite.lean,Mathlib/Tactic/ClickSuggestions/SectionState.lean,Mathlib/Tactic/ClickSuggestions/TryPremises.lean,Mathlib/Tactic/ClickSuggestions/Unfold.lean,Mathlib/Tactic/ClickSuggestions/Util.lean,Mathlib/Tactic/Widget/LibraryRewrite.lean,MathlibTest/ClickSuggestions/Benchmark.lean,MathlibTest/ClickSuggestions/Test.lean,MathlibTest/ClickSuggestions/TestImpl.lean,MathlibTest/ClickSuggestions/Unfold.lean |
17 |
18 |
['JovanGerb', 'fpvandoorn', 'github-actions'] |
fpvandoorn assignee:fpvandoorn |
5-3454 5 days ago |
6-71825 6 days ago |
0-12070 3 hours |
| 39624 |
justus-springer author:justus-springer |
feat(Algebra/MvPolynomial/PDeriv): a coefficient formula for `pderiv` |
This formula is useful for defining partial derivatives of multivariate power series, see PR #39626.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
15/0 |
Mathlib/Algebra/MvPolynomial/PDeriv.lean |
1 |
1 |
['github-actions'] |
nobody |
5-3432 5 days ago |
5-4026 5 days ago |
5-4021 5 days |
| 39625 |
justus-springer author:justus-springer |
feat(RingTheory/MvPowerSeries/Trunc): generalize truncation lemmas |
Generalize `coeff_trunc_mul_trunc_eq_coeff_mul` (and its analogs for `truncFinset` and `trunc'`) to allow for different truncation levels for the two arguments. This matches the API for univariate power series, where we already have `PowerSeries.coeff_mul_eq_coeff_trunc_mul_trunc₂`.
This is useful for defining partial derivatives of multivariate power series, see PR #39626.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
39/7 |
Mathlib/RingTheory/MvPowerSeries/Trunc.lean |
1 |
1 |
['github-actions'] |
nobody |
5-3414 5 days ago |
5-3809 5 days ago |
5-3804 5 days |
| 39622 |
kim-em author:kim-em |
feat(CategoryTheory): add a grind propagator that normalizes morphism composition |
This PR adds a `grind` upward propagator on `CategoryTheory.CategoryStruct.comp` that, every time `grind` internalizes a composition `f ≫ g`, pushes the equality `f ≫ g = (right-associated form with syntactic identity factors removed)` back into the e-graph.
The motivation is the Catalan blow-up of e-matching on `Category.assoc`: a chain of length `n` lets e-matching generate all Catalan(n − 1) parenthesizations as e-graph terms. Mathlib already has the runaway documented at `Mathlib/CategoryTheory/Iso.lean:146`. The propagator commits to a single canonical representative per fresh composition; the normalized form is a fixed point, so it never re-fires on the form it produces — the e-graph grows by O(1) terms per user-visible composition instead of Catalan-many.
Notes:
- The `@[grind =]` / `@[grind _=_]` attributes are removed from `Category.id_comp`, `Category.comp_id`, `Category.assoc` because the propagator subsumes them and they would re-introduce the blow-up.
- `uliftCategory` in `Category/Basic.lean` now provides its three category axioms explicitly, since the `cat_disch` autoparam used to rely on the e-matching tags above and `Category/Basic.lean` runs before the propagator file is loaded.
- The propagator is registered via `initialize` calling `registerBuiltinUpwardPropagator` directly. The `builtin_grind_propagator` macro can't be used downstream in `module`-mode mathlib (see https://github.com/leanprover/lean4/issues/13805) and `grind_propagator` (the user-facing form) is not yet implemented in lean4.
- The normalizer is hand-written rather than reusing `Meta.Simp.main`, which has no IR body and crashes the interpreter when invoked from a `module`-mode downstream file.
Tests in `MathlibTest/CategoryTheory/GrindCatNorm.lean` cover associativity, identity removal, mixed cases, hypotheses flowing through the normalizer, reducible-alias morphism types, and a long-chain heart-beat guard.
Filed upstream tracking issue: https://github.com/leanprover/lean4/issues/13805
🤖 Prepared with Claude Code |
t-category-theory |
186/2 |
Mathlib.lean,Mathlib/CategoryTheory/Category/Basic.lean,Mathlib/CategoryTheory/Tactic/GrindCatNorm.lean,MathlibTest/CategoryTheory/GrindCatNorm.lean |
4 |
1 |
['github-actions'] |
nobody |
5-2143 5 days ago |
unknown |
0-0 0 seconds |
| 35790 |
Brian-Nugent author:Brian-Nugent |
feat(CategoryTheory/AlgebraicGeometry): Flasque Sheaves have vanishing cohomology |
Proves cohomology vanishing for flasque sheaves.
---
- [x] depends on: #34742
- [x] depends on: #34267
- [x] depends on: #35785
- [ ] depends on: #36218
[](https://gitpod.io/from-referrer/)
|
large-import
blocked-by-other-PR
|
367/2 |
Mathlib.lean,Mathlib/Algebra/Homology/ShortComplex/Exact.lean,Mathlib/Algebra/Homology/SpectralObject/Page.lean,Mathlib/CategoryTheory/ComposableArrows/Basic.lean,Mathlib/CategoryTheory/Sites/SheafCohomology/ExactSequences.lean,Mathlib/Topology/Sheaves/AddCommGrpCat.lean,Mathlib/Topology/Sheaves/Flasque.lean,Mathlib/Topology/Sheaves/Sheaf.lean |
8 |
10 |
['Brian-Nugent', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'smorel394'] |
dagurtomas assignee:dagurtomas |
4-86344 4 days ago |
88-61021 88 days ago |
0-23 23 seconds |
| 39626 |
justus-springer author:justus-springer |
feat(RingTheory/MvPowerSeries): partial derivatives of `MvPowerSeries` |
Previously, we had formal derivatives for `PowerSeries` and `Polynomial` and formal partial derivatives for `MvPolynomial`, but no formal partial derivatives for `MvPowerSeries`. This PR adds them. Furthermore, `PowerSeries.derivative` is refactored to be defined in terms of `MvPowerSeries.pderiv`, which reduces code duplication (In particular, there is no need to define the bare function `PowerSeries.derivativeFun` anymore).
Most proofs are direct generalizations from the univariate case. I only had to add a few missing API lemmas, which I am PR'ing separately below:
- [ ] depends on: #39623
- [ ] depends on: #39624
- [ ] depends on: #39625
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
blocked-by-other-PR
|
385/139 |
Mathlib.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/PDeriv.lean,Mathlib/RingTheory/MvPowerSeries/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Derivative.lean,Mathlib/RingTheory/MvPowerSeries/Trunc.lean,Mathlib/RingTheory/PowerSeries/Derivative.lean,Mathlib/RingTheory/PowerSeries/Exp.lean |
8 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
4-85776 4 days ago |
5-2426 5 days ago |
0-1053 17 minutes |
| 39553 |
Brian-Nugent author:Brian-Nugent |
feat(Algebra/CategoryTheory/ModuleCat): Locally Free is local |
We define `SheafOfModules.LocalGeneratorsData.bind` just like `SheafOfModules.QuasicoherentData.bind` and use it to show that being locally free is a local condition.
---
- [ ] depends on: #39544
- [ ] depends on: #39399
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
label:t-algebra$ |
267/6 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Generators.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/LocallyFree.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean |
4 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
4-85662 4 days ago |
6-75050 6 days ago |
0-1165 19 minutes |
| 26975 |
Whysoserioushah author:Whysoserioushah |
feat: a norm_num extension for complex numbers |
co-authored-by : @thefundamentaltheor3m, @hrmacbeth
---
* depends on: #39628
* depends on: #39620
[](https://gitpod.io/from-referrer/)
|
t-meta |
444/14 |
Mathlib.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/NormNum/Core.lean,Mathlib/Tactic/NormNum/Eq.lean,Mathlib/Tactic/NormNum/NormNumI.lean,Mathlib/Tactic/NormNum/OfScientific.lean,Mathlib/Tactic/NormNum/Result.lean,MathlibTest/norm_numI.lean |
10 |
75 |
['JovanGerb', 'Vierkantor', 'Whysoserioushah', 'dupuisf', 'eric-wieser', 'github-actions', 'grunweg', 'hrmacbeth', 'mathlib4-merge-conflict-bot'] |
eric-wieser assignee:eric-wieser |
4-83331 4 days ago |
4-81870 4 days ago |
112-30556 112 days |
| 39476 |
faenuccio author:faenuccio |
feat(Mathlib.Topology.Algebra.Module.Equiv): add results on IsHomeomorph |
Add the construction of a `ContinuousLinearEquiv` from a `LinearEquiv` that `IsHomeomorph`, and two basic API lemmas. Also remove a `simp` tag from a lemma in about `Function.Bijective`, and change its signature a bit.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
awaiting-author
|
56/21 |
Mathlib/Logic/Equiv/Defs.lean,Mathlib/Topology/Algebra/Module/Equiv.lean |
2 |
16 |
['ADedecker', 'faenuccio', 'github-actions'] |
ADedecker assignee:ADedecker |
4-82497 4 days ago |
5-34930 5 days ago |
2-5083 2 days |
| 39487 |
ADedecker author:ADedecker |
chore: switch `EqLocus` from `LinearMapClass` to `LinearMap` |
---
Note: this PR was opened at 35000 feet :slightly_smiling_face:
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
18/14 |
Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Module/Submodule/EqLocus.lean,Mathlib/Analysis/InnerProductSpace/MeanErgodic.lean,Mathlib/Topology/Algebra/Module/ContinuousLinearMap/Basic.lean |
4 |
10 |
['ADedecker', 'b-mehta', 'github-actions', 'j-loreaux', 'themathqueen'] |
nobody |
4-73185 4 days ago |
5-28325 5 days ago |
8-175 8 days |
| 39493 |
ADedecker author:ADedecker |
chore: switch `AlgHom.equalizer` from `AlgHomClass` to `AlgHom` |
---
- [ ] depends on: #39487
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR |
29/31 |
Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/Module/Submodule/EqLocus.lean,Mathlib/Analysis/InnerProductSpace/MeanErgodic.lean,Mathlib/Topology/Algebra/Algebra.lean,Mathlib/Topology/Algebra/Module/ContinuousLinearMap/Basic.lean |
6 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
4-72899 4 days ago |
8-52016 8 days ago |
0-1151 19 minutes |
| 33505 |
urkud author:urkud |
feat(Analysis/Complex): prove Riemann mapping theorem |
I'll list dependencies later.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
974/1 |
Mathlib/Analysis/Complex/RiemannMapping.lean,Mathlib/Analysis/Complex/UnitDisc/Shift.lean,Mathlib/Topology/Algebra/Group/CompactOpen.lean |
3 |
9 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'urkud'] |
nobody |
4-65329 4 days ago |
unknown |
0-0 0 seconds |
| 34941 |
urkud author:urkud |
feat(FDeriv/Prod): generalize to TVS |
---
Doesn't work yet
- [ ] depends on: #34867
[](https://gitpod.io/from-referrer/) |
blocked-by-other-PR
t-analysis
merge-conflict
|
326/178 |
Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/Calculus/FDeriv/Bilinear.lean,Mathlib/Analysis/Calculus/FDeriv/Comp.lean,Mathlib/Analysis/Calculus/FDeriv/CompCLM.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousAlternatingMap.lean,Mathlib/Analysis/Calculus/FDeriv/Linear.lean,Mathlib/Analysis/Calculus/FDeriv/Mul.lean,Mathlib/Analysis/Calculus/FDeriv/Prod.lean,Mathlib/MeasureTheory/Integral/DivergenceTheorem.lean,Mathlib/Topology/Algebra/Module/LinearMapPiProd.lean |
10 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
4-63889 4 days ago |
107-43170 107 days ago |
0-50 50 seconds |
| 35666 |
urkud author:urkud |
chore(Calculus/FDeriv/Pi): migrate to TVS |
---
- [ ] depends on: #35663
- [ ] depends on: #34941
- [ ] depends on: #34867
[](https://gitpod.io/from-referrer/) |
blocked-by-other-PR
merge-conflict
|
330/179 |
Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/Calculus/FDeriv/Bilinear.lean,Mathlib/Analysis/Calculus/FDeriv/Comp.lean,Mathlib/Analysis/Calculus/FDeriv/CompCLM.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousAlternatingMap.lean,Mathlib/Analysis/Calculus/FDeriv/Linear.lean,Mathlib/Analysis/Calculus/FDeriv/Mul.lean,Mathlib/Analysis/Calculus/FDeriv/Pi.lean,Mathlib/Analysis/Calculus/FDeriv/Prod.lean,Mathlib/MeasureTheory/Integral/DivergenceTheorem.lean,Mathlib/Topology/Algebra/Module/LinearMapPiProd.lean |
11 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
4-63765 4 days ago |
91-61469 91 days ago |
0-827 13 minutes |
| 36878 |
plp127 author:plp127 |
chore: override `npow` in compositional monoids |
If `FooHom` is the type of foo homomorphisms, then `FooHom A A` naturally gets the structure of a monoid by setting one to be the identity homomorphism and setting multiplication to be composition. This PR overrides the `npow` field of this `Monoid` to have `f ^ n` be definitionally equal to `f^[n]`. `FooEquiv A A` also naturally gets a group structure in the same way, this PR overrides the `npow` field to have `f ^ n` be definitionally equal to `f^[n]` and to have `f ^ (n + 1)` be definitionally equal to `f ^ n * f`. This does break one pre-existing definitional equality: when `e : Equiv.Perm α`, `e⁻¹ ^ n = (e ^ n)⁻¹` will no longer be definitional.
This PR also sets the `zpow` field of `Group (FooEquiv A A)` instances to `zpowRec (npow := fun n f => f ^ n)`. In the future we may want to change this so that `(f ^ n).toEquiv` is definitionally equal to `f.toEquiv ^ n`.
The monoid and group instances to modify are found by searching loogle for `"one_apply"`.
The motivation is to make natural number powers commute definitionally with the coercion from `AlgEquiv` to `LinearMap`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
211/66 |
Mathlib/Algebra/AddConstMap/Equiv.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/Order/Group/End.lean,Mathlib/Algebra/Ring/Aut.lean,Mathlib/Algebra/Ring/Hom/Defs.lean,Mathlib/Algebra/Star/MonoidHom.lean,Mathlib/Algebra/Star/StarAlgHom.lean,Mathlib/Algebra/Star/StarRingHom.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/Coalgebra/Hom.lean,Mathlib/Topology/Algebra/Algebra.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean |
17 |
4 |
['eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'plp127'] |
nobody |
4-63642 4 days ago |
66-56610 66 days ago |
0-2503 41 minutes |
| 38036 |
JovanGerb author:JovanGerb |
feat: `NSMul`/`NPow` type class |
This PR is adds `NSMul`, `NPow`, `ZSMul` and `ZPow` classes for the `nsmul`, `npow`, `zsmul`, `zpow` data fields.
This has a few advantages:
- If you first declare a `SMul` instance, then you don't need to manually write `nsmul := (· • ·)` and `zsmul := (· • ·)` . For `Pow`, the extra benefit is that inferring the instance is preferred over the default field `npowRecAuto`. So this helps avoid accidental diamonds.
- If you first declare a `SMul` instance on a type synonym, then `inferInstanceAs` will infer the `nsmul` field from the `SMul` instance. This makes it easier to avoid diamonds on type synonyms like `Matrix` and `MonoidAlgebra`.
- The not-yet-merged instance diamond linter will be able to detect cases where the `NSMul` and `SMul` classes do not agree.
In the process of making this PR, I have identified two existing `NPow` diamonds:
- In `Mathlib.Algebra.Order.Positive.Field`, there were two conflicting `NPow` instances.
- For `Fin`, there are two conflicting `NPow` instances. I have overwritten the one in core lean with the one from mathlib that is more computationally efficient.
TODO: the same for `QSMul` and `NNQSMul`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
276/273 |
Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/FreeAlgebra.lean,Mathlib/Algebra/Group/Action/Opposite.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Int/Defs.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/Opposite.lean,Mathlib/Algebra/Module/NatInt.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Algebra/Order/Positive/Field.lean,Mathlib/Algebra/Order/Ring/Archimedean.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Algebra/Ring/MinimalAxioms.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/CategoryTheory/Triangulated/Basic.lean,Mathlib/Data/BitVec.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Data/Rat/Defs.lean,Mathlib/Data/ZMod/Defs.lean,Mathlib/Data/ZMod/IntUnitsPower.lean,Mathlib/FieldTheory/RatFunc/Basic.lean,Mathlib/GroupTheory/GroupAction/Hom.lean,Mathlib/LinearAlgebra/Matrix/Defs.lean,Mathlib/LinearAlgebra/Matrix/ZPow.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Defs.lean,Mathlib/NumberTheory/ArithmeticFunction/Defs.lean,Mathlib/RingTheory/PolynomialLaw/Basic.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/Tactic/Abel.lean,Mathlib/Tactic/Translate/ToAdditive.lean,Mathlib/Topology/Algebra/GroupCompletion.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean,MathlibTest/instance_diamonds.lean |
41 |
17 |
['JovanGerb', 'eric-wieser', 'github-actions', 'jcommelin', 'leanprover-radar', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
4-63639 4 days ago |
4-63640 4 days ago |
29-38312 29 days |
| 38637 |
FLDutchmann author:FLDutchmann |
test(Tactic/Algebra): try to replace `ring` with algebra in many places |
---
[](https://gitpod.io/from-referrer/)
|
large-import
merge-conflict
|
497/89 |
Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/AddConstMap/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/IsSimpleRing.lean,Mathlib/Algebra/CharP/Lemmas.lean,Mathlib/Algebra/ContinuedFractions/Computation/CorrectnessTerminating.lean,Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/Archimedean/Hom.lean,Mathlib/Algebra/Order/Archimedean/Submonoid.lean,Mathlib/Algebra/Polynomial/DenomsClearable.lean,Mathlib/Algebra/Polynomial/Homogenize.lean,Mathlib/Algebra/Polynomial/PartialFractions.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/ENNReal/Inv.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/Data/ENNReal/Real.lean,Mathlib/Data/Int/WithZero.lean,Mathlib/Data/NNRat/Floor.lean,Mathlib/Data/NNReal/Star.lean,Mathlib/Data/Nat/Digits/Defs.lean,Mathlib/Data/Nat/Totient.lean,Mathlib/Data/Rat/Floor.lean,Mathlib/Data/Real/Archimedean.lean,Mathlib/Data/Real/ENatENNReal.lean,Mathlib/Data/Real/Pointwise.lean,Mathlib/GroupTheory/Archimedean.lean,Mathlib/GroupTheory/Perm/Fin.lean,Mathlib/LinearAlgebra/Basis/Submodule.lean,Mathlib/LinearAlgebra/Vandermonde.lean,Mathlib/NumberTheory/ClassNumber/AdmissibleAbs.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/QExpansion.lean,Mathlib/NumberTheory/NumberField/Discriminant/Basic.lean,Mathlib/RingTheory/Derivation/ToSquareZero.lean,Mathlib/RingTheory/Nilpotent/Exp.lean,Mathlib/RingTheory/Polynomial/Pochhammer.lean,Mathlib/Tactic/Algebra/Basic.lean,Mathlib/Tactic/Algebra/Lemmas.lean,Mathlib/Tactic/Linter/FlexibleLinter.lean,Mathlib/Tactic/Ring.lean,Mathlib/Tactic/Ring/Common.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/MetricSpace/Defs.lean,MathlibTest/Algebra.lean |
45 |
17 |
['FLDutchmann', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
4-63636 4 days ago |
unknown |
0-0 0 seconds |
| 39100 |
ADedecker author:ADedecker |
feat: operators which are strict and with closed range are stable under finite rank perturbation |
---
- [x] depends on: #38579
- [x] depends on: #39260
- [x] depends on: #39344
[](https://gitpod.io/from-referrer/)
|
t-topology
awaiting-author
merge-conflict
|
482/0 |
Mathlib.lean,Mathlib/Analysis/Normed/Operator/Perturbation/StrictByFinite.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean |
3 |
6 |
['ADedecker', 'github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
4-63633 4 days ago |
6-104 6 days ago |
0-2900 48 minutes |
| 39102 |
yuanyi-350 author:yuanyi-350 |
chore: reduce imports in 50 files |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
merge-conflict
|
70/81 |
Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/BoxIntegral/Box/SubboxInduction.lean,Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Distribution/DerivNotation.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Deriv.lean,Mathlib/Analysis/Distribution/Sobolev.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/Barrelled.lean,Mathlib/Analysis/LocallyConvex/ContinuousOfBounded.lean,Mathlib/Analysis/LocallyConvex/Montel.lean,Mathlib/Analysis/LocallyConvex/PointwiseConvergence.lean,Mathlib/Analysis/LocallyConvex/SeparatingDual.lean,Mathlib/Analysis/LocallyConvex/WeakDual.lean,Mathlib/Analysis/LocallyConvex/WeakOperatorTopology.lean,Mathlib/Analysis/LocallyConvex/WeakSpace.lean,Mathlib/Analysis/Meromorphic/Divisor.lean,Mathlib/Analysis/Normed/Affine/AddTorsor.lean,Mathlib/Analysis/Normed/Affine/AddTorsorBases.lean,Mathlib/Analysis/Normed/Affine/Convex.lean,Mathlib/Analysis/Normed/Algebra/Basic.lean,Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/Normed/Algebra/MatrixExponential.lean,Mathlib/Analysis/Normed/Algebra/QuaternionExponential.lean,Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean,Mathlib/Analysis/Normed/Field/Dense.lean,Mathlib/Analysis/Normed/Field/Instances.lean,Mathlib/Analysis/Normed/Field/Ultra.lean,Mathlib/Analysis/Normed/Group/AddCircle.lean,Mathlib/Analysis/Normed/Group/Bounded.lean,Mathlib/Analysis/Normed/Group/ControlledClosure.lean,Mathlib/Analysis/Normed/Group/FunctionSeries.lean,Mathlib/Analysis/Normed/Group/Indicator.lean,Mathlib/Analysis/Normed/Group/NullSubmodule.lean,Mathlib/Analysis/Normed/Group/Tannery.lean,Mathlib/Analysis/Normed/Group/Ultra.lean,Mathlib/Analysis/Normed/Lp/WithLp.lean,Mathlib/Analysis/Normed/MulAction.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Analysis/ODE/Transform.lean,Mathlib/Analysis/Oscillation.lean,Mathlib/Analysis/PSeriesComplex.lean,Mathlib/Analysis/SpecificLimits/Fibonacci.lean,Mathlib/Analysis/SpecificLimits/FloorPow.lean,Mathlib/Analysis/Subadditive.lean,Mathlib/Analysis/SumIntegralComparisons.lean |
48 |
13 |
['JovanGerb', 'YaelDillies', 'bryangingechen', 'github-actions', 'j-loreaux', 'leanprover-radar', 'mathlib-merge-conflicts', 'yuanyi-350'] |
j-loreaux assignee:j-loreaux |
4-63632 4 days ago |
4-63633 4 days ago |
11-63042 11 days |
| 39233 |
linesthatinterlace author:linesthatinterlace |
feat: `Pi.map` rename to `Function.map` |
This PR renames `Pi.map` to `Function.map` and makes the changes necessary to support this. In particular this means that Mathlib.Logic.Function.Defs now only contains the Function namespace.
Zulip thread: [#PR reviews > #39233 - rename Pi.map to Function.map @ 💬](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2339233.20-.20rename.20Pi.2Emap.20to.20Function.2Emap/near/594605689)
General discussion regarding the Pi namespace: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/The.20Pi.20namespace/near/594782721
---
[](https://gitpod.io/from-referrer/)
|
awaiting-zulip
merge-conflict
|
131/122 |
Mathlib/Algebra/Category/Grp/AB.lean,Mathlib/Algebra/Notation/Pi/Defs.lean,Mathlib/Algebra/Order/Antidiag/Nat.lean,Mathlib/Algebra/Regular/Pi.lean,Mathlib/Analysis/InnerProductSpace/Coalgebra.lean,Mathlib/Analysis/SpecialFunctions/PolarCoord.lean,Mathlib/Condensed/Discrete/LocallyConstant.lean,Mathlib/Control/Bifunctor.lean,Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Prod/Basic.lean,Mathlib/Data/Set/Prod.lean,Mathlib/Dynamics/Ergodic/MeasurePreserving.lean,Mathlib/Dynamics/PeriodicPts/Defs.lean,Mathlib/Dynamics/PeriodicPts/Lemmas.lean,Mathlib/Dynamics/TopologicalEntropy/Semiconj.lean,Mathlib/FieldTheory/Perfect.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/GroupTheory/MonoidLocalization/Lemmas.lean,Mathlib/LinearAlgebra/Multilinear/Basis.lean,Mathlib/LinearAlgebra/Pi.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Logic/Equiv/PartialEquiv.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/Logic/Function/Defs.lean,Mathlib/Logic/Function/Iterate.lean,Mathlib/Order/Filter/Cofinite.lean,Mathlib/Order/Filter/Pi.lean,Mathlib/RingTheory/Coalgebra/Basic.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/Module/LinearMapPiProd.lean,Mathlib/Topology/Algebra/RestrictedProduct/TopologicalSpace.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/Maps/Basic.lean,Mathlib/Topology/MetricSpace/HausdorffAlexandroff.lean,Mathlib/Topology/MetricSpace/Isometry.lean,Mathlib/Topology/NhdsWithin.lean |
37 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
4-63629 4 days ago |
13-8583 13 days ago |
0-7302 2 hours |
| 39254 |
urkud author:urkud |
feat: define contour integrals |
Specialize `curveIntegral` to the case if the domain is `ℂ`.
In this case, we can integrate a function, not a 1-form.
I've decided not to specialize `HasFDerivWithinAt` etc theorems,
because I want to review API for curve integrals first.
This PR was written at ICERM meeting.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
merge-conflict
|
255/4 |
Mathlib.lean,Mathlib/MeasureTheory/Integral/ContourIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/CurveIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean |
5 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
4-63628 4 days ago |
13-8052 13 days ago |
0-1607 26 minutes |
| 39399 |
Brian-Nugent author:Brian-Nugent |
feat(Algebra/CategoryTheory/ModuleCat): Locally Free Sheaves |
This PR gives a definition of locally free sheaves in terms of first defining a predicate IsLocallyFree for [SheafOfModules.LocalGeneratorsData](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Category/ModuleCat/Sheaf/Generators.html#SheafOfModules.LocalGeneratorsData).
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-category-theory
merge-conflict
label:t-algebra$ |
207/5 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Generators.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/LocallyFree.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean |
4 |
11 |
['Brian-Nugent', 'github-actions', 'mathlib-merge-conflicts', 'robin-carlier'] |
dagurtomas assignee:dagurtomas |
4-63626 4 days ago |
4-63627 4 days ago |
5-61168 5 days |
| 33714 |
idontgetoutmuch author:idontgetoutmuch |
feat(Mathlib/Geometry/Manifold): Riemannian metrics exist II |
Supersedes https://github.com/leanprover-community/mathlib4/pull/33519
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
new-contributor
|
723/0 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Geometry/Manifold/ExistsRiemannianMetric.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean |
4 |
200 |
['Rida-Hamadani', 'github-actions', 'grunweg', 'idontgetoutmuch'] |
nobody |
4-61164 4 days ago |
36-14315 36 days ago |
81-21293 81 days |
| 39635 |
SnirBroshi author:SnirBroshi |
feat(LinearAlgebra/Eigenspace/Matrix): a scalar is in the spectrum iff it's an eigenvalue |
---
[#Is there code for X? > Matrix eigenvalues: spectrum and mulVec](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Matrix.20eigenvalues.3A.20spectrum.20and.20mulVec/with/596538140)
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
18/0 |
Mathlib/LinearAlgebra/Eigenspace/Matrix.lean |
1 |
1 |
['github-actions'] |
nobody |
4-59618 4 days ago |
4-59699 4 days ago |
4-59694 4 days |
| 36709 |
kim-em author:kim-em |
feat(DefEqAbuse): suggest minimal @[implicit_reducible] workaround |
This PR extends `#defeq_abuse` to suggest a minimal set of `@[implicit_reducible]` annotations that would make the failing tactic or command succeed with `backward.isDefEq.respectTransparency true`.
When `#defeq_abuse` detects a failure, it now runs a greedy minimisation over semireducible definitions reachable from the goal/command, finding a (possibly non-unique) minimal subset that, when temporarily marked `@[implicit_reducible]`, fixes the issue. The result is reported as an `info` message:
```
info: Workaround: the following @[implicit_reducible] annotations (a possibly non-unique minimal set) would paper over this problem,
but the real issue is likely a leaky instance somewhere.
set_option allowUnsafeReducibility true
attribute [implicit_reducible]
MyPred
```
This is a workaround, not a fix — the real cause is usually a leaky instance (which `#check_instance` from https://github.com/leanprover-community/mathlib4/pull/36706 can diagnose). But it can be useful for quick debugging.
New helpers: `collectCandidates`, `markImplicitReducible`, `withTempImplicitReducible`, `withTempImplicitReducibleCmd`, `suggestAnnotationsTac`, `suggestAnnotationsCmd`, `formatAnnotations`, `logAnnotationSuggestions`.
🤖 Prepared with Claude Code |
t-meta
LLM-generated
|
187/17 |
Mathlib/Tactic/DefEqAbuse.lean,MathlibTest/DefEqAbuse.lean |
2 |
6 |
['github-actions', 'kim-em', 'mathlib-merge-conflicts', 'thorimur'] |
JovanGerb assignee:JovanGerb |
4-59584 4 days ago |
27-25604 27 days ago |
44-23810 44 days |
| 37541 |
EtienneC30 author:EtienneC30 |
feat: another version of the cardinality of the difference |
In mathlib there is `Set.ncard_diff` which states that `(t \ s).ncard = t.ncard - s.ncard` when `s ⊆ t` and `s` is finite. But one way to prove that `s` is finite is by showing that `t` is finite and using the `s ⊆ t` hypothesis, so this PR adds `Set.ncard_diff'` which assumes that `t` is finite instead of `s`.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
5/0 |
Mathlib/Data/Set/Card.lean |
1 |
1 |
['github-actions'] |
Vierkantor assignee:Vierkantor |
4-59583 4 days ago |
53-16525 53 days ago |
53-16520 53 days |
| 38225 |
kim-em author:kim-em |
ci: block merging PRs with large import increases unless reviewed |
This PR makes the existing `large-import` label into a merge gate. PRs that significantly increase transitive imports (>2% for any modified file) are now blocked from merging until a reviewer adds the `allow-large-import` label.
### Why three labels?
Bors's `block_labels` has no conditional logic — if a label is in the list, merge is blocked unconditionally. We need "blocked unless a reviewer has approved", i.e. `large-import ∧ ¬allow-large-import`. Since bors can't express that, we use a derived label:
| Label | Managed by | Purpose |
|---|---|---|
| `large-import` | `build` job (import analysis) | Factual: this PR increases imports |
| `blocked-by-large-import` | `check-large-import` job | Operational: blocks bors |
| `allow-large-import` | Reviewer | Override: reviewer approves the increase |
Each label is managed by exactly one actor, so there is no label-fighting.
### How it works
1. The existing `build` job adds/removes `large-import` based on import analysis (unchanged).
2. A new `check-large-import` job (in the same workflow) waits for `build` to finish, then:
- If `large-import` is present and `allow-large-import` is absent → adds `blocked-by-large-import`
- Otherwise → removes `blocked-by-large-import`
3. `blocked-by-large-import` is added to `block_labels` in `bors.toml`.
When a reviewer adds `allow-large-import`, the `labeled` event re-triggers the workflow. The heavy `build` job is skipped (guarded by `github.event.action != 'labeled'`), but the lightweight `check-large-import` job runs, sees both labels, and removes `blocked-by-large-import`. Bors can now merge.
### Reviewer workflow
The CI failure message tells the reviewer to consider whether the PR could be improved by splitting files, rearranging material, or creating new intermediate files. If the import increase is reasonable, they add `allow-large-import`.
False positives can be reported on the [mathlib4 Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/large-import.20label).
🤖 Prepared with Claude Code |
CI |
78/2 |
.github/workflows/PR_summary.yml,bors.toml |
2 |
7 |
['SnirBroshi', 'github-actions', 'jcommelin', 'joneugster', 'kim-em'] |
bryangingechen assignee:bryangingechen |
4-59580 4 days ago |
34-65916 34 days ago |
34-66529 34 days |
| 38500 |
kebekus author:kebekus |
feat: integral presentation of the proximity function of value distribution theory |
If `f : ℂ → ℂ` is meromorphic, establish a presentation of the proximity function `proximity f ⊤` as iterated circle averages. This statement can be used to compare the proximity- and logarithmic counting functions, and is one of the key ingredients in the proof of Cartan's classic formula for the characteristic function.
This is the first section of a multi-part PR, establishing Cartan's formula.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
211/0 |
Mathlib.lean,Mathlib/Analysis/Complex/ValueDistribution/Proximity/IntegralPresentation.lean |
2 |
11 |
['github-actions', 'kebekus', 'wwylele'] |
j-loreaux assignee:j-loreaux |
4-59579 4 days ago |
29-44637 29 days ago |
30-39335 30 days |
| 38823 |
matthewjasper author:matthewjasper |
chore(LinearAlgebra/TensorProduct): fix diamond in `AddCommGroup` instance |
The `SMul` instance for tensor products directly used `AddCon.lift`, so wasn't type correct at instance transparency. This caused a diamond with the `AddCommGroup` instance on tensor products because after unfolding some types didn't match, so I've wrapped the sMul function in a semireducible def to prevent this.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
30/23 |
Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Defs.lean |
2 |
6 |
['dagurtomas', 'github-actions', 'kbuzzard', 'leanprover-radar'] |
themathqueen assignee:themathqueen |
4-59578 4 days ago |
23-73975 23 days ago |
23-73970 23 days |
| 39474 |
emlis42 author:emlis42 |
feat(Topology/Separation/Hausdorff): add `Filter.limUnder_congr` |
This PR adds `Filter.limUnder_congr` and some lemmas about `limUnder`.
`Filter.limUnder_congr` allows rewriting `limUnder` expressions using equivalences of convergence behavior, without proving the filters actually converge, allowing convergence proofs to be carried out on more convenient expressions latter. |
t-topology
new-contributor
large-import
|
24/1 |
Mathlib/Order/Filter/AtTopBot/Archimedean.lean,Mathlib/Topology/Separation/Hausdorff.lean |
2 |
2 |
['github-actions'] |
PatrickMassot assignee:PatrickMassot |
4-59576 4 days ago |
8-81006 8 days ago |
8-81001 8 days |
| 39509 |
mcdoll author:mcdoll |
chore(Topology): add `push/pull_end` tags for CLMs |
Simpsets were introduced in #38359, see also #39508
---
[](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 |
4-59576 4 days ago |
4-63624 4 days ago |
3-40182 3 days |
| 39513 |
grunweg author:grunweg |
feat: add `mvfderivWithin` with (d)elaborators and basic API |
Add `mvfderivWithin` (a version of `mvfderiv` within a set) and add analogues of all `mvfderiv` lemmas.
We also add analogous custom elaborators and delaborators. To prove our set-up works, we re-phrase
two lemmas in `VectorField/LieBracket.lean` to use this definition, instead of open-coding it.
Part of https://github.com/leanprover-community/mathlib4/pull/36036, i.e. from the path towards the Levi-Civita connection and Riemanian curvature.
Related to fixing defeq abuses related to tangent space and scalar multiplication in mathlib.
---
- [x] depends on: #39485
- [x] depends on: #34257
- [ ] depends on: #39554
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry |
197/12 |
Mathlib/Geometry/Manifold/MFDeriv/NormedSpace.lean,Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean,Mathlib/Geometry/Manifold/VectorField/LieBracket.lean |
3 |
5 |
['github-actions', 'hrmacbeth', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
PatrickMassot assignee:PatrickMassot |
4-59574 4 days ago |
5-16520 5 days ago |
5-63868 5 days |
| 37521 |
jessealama author:jessealama |
feat(Data/Part): add Part.bind_eq_some_iff |
Add `Part.bind_eq_some_iff`, the `Part` analogue of `Option.bind_eq_some_iff`. Noticed this small gap while working on some equivalence proofs with partial functions. |
t-data |
6/0 |
Mathlib/Data/Part.lean |
1 |
6 |
['github-actions', 'jessealama', 'joneugster', 'vihdzp'] |
joneugster assignee:joneugster |
4-59054 4 days ago |
7-55627 7 days ago |
50-12455 50 days |
| 38483 |
jessealama author:jessealama |
feat(Algebra/BigOperators): add `Antiperiodic.sum_Ico_shift` |
Three lemmas about `Finset` sums of `Function.Antiperiodic` functions: `sum_map_add_right` says that for `f` antiperiodic with antiperiod `c`, summing `f` over a `Finset` shifted by `c` (via `addRightEmbedding c`) negates the sum over the original; `sum_Ico_shift` is the half-open-interval specialization, immediate via `Finset.map_add_right_Ico`; and `sum_Ico_mul_add_sum_Ico_mul_shift_eq_zero` is a bilinear cancellation variant. Spun off from #29713 (Euler-Poincaré formula), where the bilinear form is used. |
t-algebra label:t-algebra$ |
63/0 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Periodic.lean |
2 |
5 |
['github-actions', 'j-loreaux', 'jessealama', 'wwylele'] |
ocfnash assignee:ocfnash |
4-58540 4 days ago |
20-40767 20 days ago |
30-13793 30 days |
| 36376 |
jessealama author:jessealama |
feat(SimpleGraph): hamiltonian cycle from cyclic permutation |
This PR provides `IsHamiltonian.of_perm`, a bridge from `Equiv.Perm.IsCycle` to `SimpleGraph.IsHamiltonian`: if σ is a permutation that is a single cycle with full support on at least 3 elements, and each step `v → σ v` is an edge of `G`, then `G` is Hamiltonian.
### New definitions and lemmas
**`Mathlib/Data/List/Chain.lean`**:
- `IsChain.iterate`: `List.iterate f a n` is a chain under `r` whenever `r a (f a)` holds for all `a`
**`Mathlib/Data/List/Iterate.lean`**:
- `getLast_iterate`: the last element of `List.iterate f a n` is `f^[n - 1] a`
**`Mathlib/Combinatorics/SimpleGraph/Walk/Iterate.lean`** (new file):
- `Walk.iterate`: builds a walk of length `n` from `x` to `f^[n] x` for any function `f` with `G.Adj x (f x)` for all `x`, defined via `Walk.ofSupport`
- `Walk.length_iterate`, `Walk.support_iterate`, `Walk.edges_iterate`: basic API
**`Mathlib/GroupTheory/Perm/Cycle/Basic.lean`**:
- `IsCycleOn.injOn_pow_apply`: the map `n ↦ (f ^ n) a` is injective on `Finset.range #s`
**`Mathlib/GroupTheory/Perm/Cycle/Concrete.lean`**:
- `IsCycleOn.injOn_sym2_pow_apply`: the unordered-pair edge map `k ↦ s((f ^ k) a, (f ^ (k + 1)) a)` is injective on `[0, #s)` when `#s ≠ 2`
- `IsCycleOn.sym2_pow_apply_ne`: edge distinctness for cycle-on permutations — `s((f ^ k) a, (f ^ (k + 1)) a) ≠ s(a, f a)` when `k ≠ 0`, `k < #s`, and `#s ≠ 2`
- `Perm.toList_eq_range_map_pow`: expresses `toList` as a range map over powers
**`Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean`**:
- `cons_isHamiltonianCycle_iff`: a Hamiltonian path closed by an edge outside its support is a Hamiltonian cycle, and conversely
- `IsHamiltonian.of_perm`: the main theorem
---
- [x] depends on: #36307 |
t-combinatorics
maintainer-merge
|
182/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian/Perm.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Iterate.lean,Mathlib/Data/List/Chain.lean,Mathlib/Data/List/Iterate.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Concrete.lean |
8 |
78 |
['SnirBroshi', 'YaelDillies', 'github-actions', 'jessealama', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
4-56130 4 days ago |
6-40959 6 days ago |
50-60693 50 days |
| 33477 |
mcdoll author:mcdoll |
refactor(Algebra): add type-classes for algebraic properties of `FunLike` |
---
Zulip discussion: [#mathlib4 > Refactoring algebraic properties of bundled maps](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Refactoring.20algebraic.20properties.20of.20bundled.20maps/with/566142461)
- [ ] depends on: #37779
[](https://gitpod.io/from-referrer/)
|
large-import
merge-conflict
|
1782/897 |
Counterexamples/CliffordAlgebraNotInjective.lean,Mathlib.lean,Mathlib/Algebra/Algebra/Subalgebra/Centralizer.lean,Mathlib/Algebra/Azumaya/Matrix.lean,Mathlib/Algebra/BigOperators/Pi.lean,Mathlib/Algebra/Category/Grp/Colimits.lean,Mathlib/Algebra/Category/Grp/EpiMono.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Differentials/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Semi.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Basic.lean,Mathlib/Algebra/Central/End.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/Group/Finsupp.lean,Mathlib/Algebra/Group/Hom/Basic.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Group/Hom/End.lean,Mathlib/Algebra/Group/Hom/Instances.lean,Mathlib/Algebra/Group/Pi/Lemmas.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Hom.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/ExactSequences.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplexCohomology.lean,Mathlib/Algebra/Homology/ShortComplex/Ab.lean,Mathlib/Algebra/Lie/Abelian.lean,Mathlib/Algebra/Lie/BaseChange.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Lie/CartanExists.lean,Mathlib/Algebra/Lie/Cochain.lean,Mathlib/Algebra/Lie/Derivation/AdjointAction.lean,Mathlib/Algebra/Lie/Derivation/Basic.lean,Mathlib/Algebra/Lie/EngelSubalgebra.lean,Mathlib/Algebra/Lie/Extension.lean,Mathlib/Algebra/Lie/InvariantForm.lean,Mathlib/Algebra/Lie/LieTheorem.lean,Mathlib/Algebra/Lie/Nilpotent.lean,Mathlib/Algebra/Lie/TensorProduct.lean,Mathlib/Algebra/Lie/TraceForm.lean,Mathlib/Algebra/Lie/Weights/Basic.lean,Mathlib/Algebra/Lie/Weights/Cartan.lean,Mathlib/Algebra/Lie/Weights/IsSimple.lean,Mathlib/Algebra/Lie/Weights/Killing.lean,Mathlib/Algebra/Module/CharacterModule.lean,Mathlib/Algebra/Module/End.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/Algebra/Module/Hom.lean,Mathlib/Algebra/Module/LinearMap/Basic.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/Module/Presentation/Basic.lean,Mathlib/Algebra/Module/Submodule/Bilinear.lean,Mathlib/Algebra/Module/Submodule/LinearMap.lean,Mathlib/Algebra/Module/Submodule/Map.lean,Mathlib/Algebra/Module/Submodule/Range.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/MonoidAlgebra/Division.lean,Mathlib/Algebra/MonoidAlgebra/MapDomain.lean,Mathlib/Algebra/MonoidAlgebra/Module.lean,Mathlib/Algebra/MvPolynomial/CommRing.lean,Mathlib/Algebra/MvPolynomial/Degrees.lean,Mathlib/Algebra/MvPolynomial/Division.lean,Mathlib/Algebra/MvPolynomial/NoZeroDivisors.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Order/CauSeq/Completion.lean,Mathlib/Algebra/Order/Floor/Div.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/Algebra/Polynomial/HasseDeriv.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/Analysis/Analytic/Binomial.lean,Mathlib/Analysis/Analytic/CPolynomialDef.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Analytic/IteratedFDeriv.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/CStarAlgebra/Multiplier.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/CompMul.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Calculus/FormalMultilinearSeries.lean,Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean,Mathlib/Analysis/Calculus/LagrangeMultipliers.lean,Mathlib/Analysis/Calculus/VectorField.lean,Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/Analysis/Complex/Conformal.lean |
266 |
8 |
['github-actions', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'mcdoll', 'plp127'] |
nobody |
4-55964 4 days ago |
unknown |
0-0 0 seconds |
| 38789 |
dupuisf author:dupuisf |
feat(UniformOnFun): lemma for proving uniform convergence from uncurried form |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-topology
|
195/1 |
Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Continuity.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Isometric.lean,Mathlib/Topology/Continuous.lean,Mathlib/Topology/ContinuousOn.lean,Mathlib/Topology/UniformSpace/CompactConvergence.lean |
6 |
1 |
['github-actions'] |
nobody |
4-50275 4 days ago |
24-59004 24 days ago |
0-2 2 seconds |
| 39638 |
mcdoll author:mcdoll |
feat(Algebra): use `Is*Apply` for `LinearMap` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
33/33 |
Mathlib/Algebra/Module/LinearMap/Basic.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Module/LinearMap/End.lean |
3 |
1 |
['github-actions'] |
nobody |
4-48626 4 days ago |
unknown |
0-0 0 seconds |
| 29764 |
ScottCarnahan author:ScottCarnahan |
feat(Algebra/Vertex): API up to residue products (WIP) |
This PR contains definitions leading up to the residue product of vertex operators and some basic properties.
Parts will be split off as smaller PRs when I have time.
---
- [ ] depends on: #25831
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
large-import
merge-conflict
WIP
label:t-algebra$ |
1692/19 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/Lie/Loop.lean,Mathlib/Algebra/MvPolynomial/Degrees.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/RestrictedValue.lean,Mathlib/Algebra/Vertex/HVertexOperator.lean,Mathlib/Algebra/Vertex/VertexOperator.lean,Mathlib/RingTheory/Binomial.lean,Mathlib/RingTheory/HahnSeries/Addition.lean,Mathlib/RingTheory/HahnSeries/Binomial.lean,Mathlib/RingTheory/HahnSeries/HEval.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean,Mathlib/RingTheory/HahnSeries/Summable.lean,Mathlib/RingTheory/Polynomial/Pochhammer.lean |
15 |
6 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
4-45073 4 days ago |
249-11558 249 days ago |
0-12586 3 hours |
| 39640 |
yuanyi-350 author:yuanyi-350 |
feat(Analysis): calculus log 3 and log 5 |
used in PR #39539 |
t-analysis |
37/2 |
Mathlib/Analysis/Complex/ExponentialBounds.lean |
1 |
1 |
['github-actions'] |
nobody |
4-43766 4 days ago |
4-43841 4 days ago |
4-43836 4 days |
| 39631 |
MichaelStollBayreuth author:MichaelStollBayreuth |
chore: make Injective and Surjective `fun_prop`able |
---
[](https://gitpod.io/from-referrer/)
|
WIP
large-import
|
22/3 |
Mathlib/Logic/Function/Basic.lean,Mathlib/Tactic/FunProp.lean,MathlibTest/FunPropMinimal.lean |
3 |
1 |
['github-actions'] |
nobody |
4-36485 4 days ago |
4-77367 4 days ago |
0-2 2 seconds |
| 37700 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph/Maps): add `Iso.induceIso` |
Similar to `induceHom`
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
29/0 |
Mathlib/Combinatorics/SimpleGraph/Maps.lean |
1 |
5 |
['YaelDillies', 'github-actions', 'vlad902'] |
YaelDillies assignee:YaelDillies |
4-35461 4 days ago |
43-81285 43 days ago |
49-7197 49 days |
| 38375 |
WenrongZou author:WenrongZou |
feat(MvPowerSeries): some lemmas `truncTotal` of `subst` |
This PR adds some lemmas about truncation of total degree of a substitution.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
154/7 |
Mathlib/RingTheory/MvPowerSeries/Substitution.lean,Mathlib/RingTheory/MvPowerSeries/Trunc.lean |
2 |
3 |
['BryceT233', 'github-actions'] |
joneugster assignee:joneugster |
4-34839 4 days ago |
13-24450 13 days ago |
33-8559 33 days |
| 35136 |
joelriou author:joelriou |
feat(AlgebraicGeometry): points of the small étale site |
The main definition in this PR is `Scheme.pointSmallEtale`. Given a morphism `Spec (.of Ω) ⟶ S` where `Ω` is
a separably closed field, we define the corresponding point of the small étale site of `S`. We show that these points form a conservative family.
(This PR also removes the definition `Scheme.geometricFiber` which was not correct.)
Co-authored-by: Christian Merten
---
- [x] depends on: #35141
- [x] depends on: #35175
- [x] depends on: #35240
- [x] depends on: #34976
- [x] depends on: #33958
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
large-import
|
301/6 |
Mathlib.lean,Mathlib/AlgebraicGeometry/Fiber.lean,Mathlib/AlgebraicGeometry/Morphisms/Etale.lean,Mathlib/AlgebraicGeometry/Sites/Etale.lean,Mathlib/AlgebraicGeometry/Sites/EtalePoint.lean,Mathlib/CategoryTheory/Elements.lean,Mathlib/CategoryTheory/EssentialImage.lean,Mathlib/CategoryTheory/Limits/FinallySmall.lean,Mathlib/CategoryTheory/Limits/MorphismProperty.lean,Mathlib/CategoryTheory/MorphismProperty/Comma.lean,Mathlib/CategoryTheory/ObjectProperty/Small.lean |
11 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
4-33686 4 days ago |
4-33726 4 days ago |
4-75088 4 days |
| 39285 |
vihdzp author:vihdzp |
feat: enumerator function of club set is normal |
---
- [ ] depends on: #37677
- [ ] depends on: #39136
[](https://gitpod.io/from-referrer/)
|
t-set-theory
blocked-by-other-PR
|
226/32 |
Mathlib.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/Order/Cofinal.lean,Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Cardinal/Cofinality/Club.lean,Mathlib/SetTheory/Cardinal/Cofinality/Enum.lean,Mathlib/SetTheory/Cardinal/Cofinality/Ordinal.lean |
7 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
4-31852 4 days ago |
12-34591 12 days ago |
0-795 13 minutes |
| 39205 |
ooovi author:ooovi |
feat(Geometry/Convex): Bundled convex set |
Add a bundled version of `IsConvexSet`.
---
Once the dependencies are merged, this PR only changes `Mathlib.Geometry.Convex.Set` and `Mathlib.Geometry.Convex.Hull`, at the bottom of the file, adding `ConvexSet` and everything in the corresponding namespace.
- [ ] depends on: #38934
- [ ] depends on: #38905
[](https://gitpod.io/from-referrer/)
|
large-import
blocked-by-other-PR
merge-conflict
|
989/172 |
Mathlib.lean,Mathlib/Analysis/Convex/MetricSpace.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Geometry/Convex/ConvexSpace/AffineSpace.lean,Mathlib/Geometry/Convex/ConvexSpace/Defs.lean,Mathlib/Geometry/Convex/Hull.lean,Mathlib/Geometry/Convex/README.md,Mathlib/Geometry/Convex/Set.lean |
8 |
6 |
['github-actions', 'martinwintermath', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
4-26023 4 days ago |
unknown |
0-0 0 seconds |
| 38934 |
YaelDillies author:YaelDillies |
feat(Geometry): convex hull in a `ConvexSpace` |
---
- [x] depends on: #38905
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry |
119/0 |
Mathlib.lean,Mathlib/Geometry/Convex/Hull.lean |
2 |
11 |
['YaelDillies', 'github-actions', 'martinwintermath', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
4-25543 4 days ago |
4-25974 4 days ago |
4-26682 4 days |
| 38449 |
WenrongZou author:WenrongZou |
feat(MvPowerSeries): some lemmas about `subst` of infinite sum |
In this PR, I add some lemmas about substituion of a infinite sum equal to infinite sum of substitution.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
35/0 |
Mathlib/RingTheory/MvPowerSeries/Substitution.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean |
2 |
10 |
['WenrongZou', 'chrisflav', 'github-actions', 'mathlib-merge-conflicts'] |
chrisflav assignee:chrisflav |
4-25459 4 days ago |
4-26855 4 days ago |
30-48484 30 days |
| 34826 |
wwylele author:wwylele |
feat(Geometry/Euclidean): volume of a simplex and extra |
WIP. sorry-free but still need cleaning up and breaking into smaller PRs
---
- [x] depends on: #34697
- [x] depends on: #34858
- [x] depends on: #34859
- [x] depends on: #35039
- [x] depends on: #35358
- [x] depends on: #35365
- [x] depends on: #35837
- [ ] depends on: #36018
- [x] depends on: #36462
- [x] depends on: #36466
- [x] depends on: #36952
- [ ] depends on: #37910
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry
blocked-by-other-PR
merge-conflict
|
1211/6 |
Mathlib.lean,Mathlib/Geometry/Euclidean/Volume/Basic.lean,Mathlib/Geometry/Euclidean/Volume/Def.lean,Mathlib/Geometry/Euclidean/Volume/Measure.lean,Mathlib/Geometry/Euclidean/Volume/MeasureSimplex.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Shift.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean,Mathlib/MeasureTheory/MeasurableSpace/Embedding.lean,Mathlib/MeasureTheory/Measure/Haar/InnerProductSpace.lean |
9 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
4-19474 4 days ago |
unknown |
0-0 0 seconds |
| 38531 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Paths): `Walk.map` preserves more properties |
Adds some missing theorems about how `Walk.map` behaves with `IsTrail`/`IsPath`/`IsCircuit`/`IsCycle`.
Summary of what we have now, with the 8 new theorems and 2 renames marked:
```
IsTrail.of_map : (p.map f).IsTrail → p.IsTrail -- new
map_isTrail_iff_of_injective : f.Injective → (p.map f).IsTrail ↔ p.IsTrail
IsTrail.map : f.Injective → p.IsTrail → (p.map f).IsTrail -- renamed from map_isTrail_of_injective
IsPath.of_map : (p.map f).IsPath → p.IsPath
map_isPath_iff_of_injective : f.Injective → (p.map f).IsPath ↔ p.IsPath
IsPath.map : f.Injective f → p.IsPath → (p.map f).IsPath -- renamed from map_isPath_of_injective
IsCircuit.of_map : (p.map f).IsCircuit → p.IsCircuit -- new
map_isCircuit_iff_of_injective : f.Injective → (p.map f).IsCircuit ↔ p.IsCircuit -- new
IsCircuit.map : f.Injective → p.IsCircuit → (p.map f).IsCircuit -- new
IsCycle.of_map : (p.map f).IsCycle → p.IsCycle -- new
map_isCycle_iff_of_injective : f.Injective → (p.map f).IsCycle ↔ p.IsCycle
IsCycle.map : f.Injective → p.IsCycle → (p.map f).IsCycle
mapLe_isTrail : G ≤ G' → (p.mapLe h).IsTrail ↔ p.IsTrail
IsTrail.of_mapLe : G ≤ G' → (p.mapLe h).IsTrail → p.IsTrail
IsTrail.mapLe : G ≤ G' → p.IsTrail → (p.mapLe h).IsTrail
mapLe_isPath : G ≤ G' → (p.mapLe h).IsPath ↔ p.IsPath
IsPath.of_mapLe : G ≤ G' → (p.mapLe h).IsPath → p.IsPath
IsPath.mapLe : G ≤ G' → p.IsPath → (p.mapLe h).IsPath
mapLe_isCircuit : G ≤ G' → (p.mapLe h).IsCircuit ↔ p.IsCircuit -- new
IsCircuit.of_mapLe : G ≤ G' → (p.mapLe h).IsCircuit → p.IsCircuit -- new
IsCircuit.mapLe : G ≤ G' → p.IsCircuit → (p.mapLe h).IsCircuit -- new
mapLe_isCycle : G ≤ G' → (p.mapLe h).IsCycle ↔ p.IsCycle
IsCycle.of_mapLe : G ≤ G' → (p.mapLe h).IsCycle → p.IsCycle
IsCycle.mapLe : G ≤ G' → p.IsCycle → (p.mapLe h).IsCycle
```
---
Also golfs `map_isPath_of_injective`/`IsPath.of_map`/`map_isTrail_iff_of_injective`, they don't need induction.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
47/30 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean |
1 |
1 |
['github-actions'] |
nobody |
4-19451 4 days ago |
29-76465 29 days ago |
29-76460 29 days |
| 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.
- [ ] depends on: #35619
- [x] depends on: #35622
- [x] depends on: #35628
- [ ] depends on: #36626
- [x] depends on: #38422
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
large-import
blocked-by-other-PR
|
307/1 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/Greedy.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean |
4 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
4-19000 4 days ago |
33-46989 33 days ago |
0-3012 50 minutes |
| 39340 |
vihdzp author:vihdzp |
feat: redefine `Ordinal.deriv` in terms of `Order.enum` |
---
- [ ] depends on: #39285
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR |
558/38 |
Mathlib.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/Order/Cofinal.lean,Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Cardinal/Cofinality/Club.lean,Mathlib/SetTheory/Cardinal/Cofinality/Enum.lean,Mathlib/SetTheory/Cardinal/Cofinality/Ordinal.lean,Mathlib/SetTheory/Ordinal/FixedPoint.lean,Mathlib/SetTheory/Ordinal/Univ.lean |
9 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
4-18837 4 days ago |
unknown |
0-0 0 seconds |
| 39442 |
justus-springer author:justus-springer |
feat(AlgebraicGeometry/Restrict): a few more restriction lemmas |
These will be used later to define composition of rational maps in #39445.
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
55/0 |
Mathlib/AlgebraicGeometry/Restrict.lean |
1 |
1 |
['github-actions'] |
chrisflav assignee:chrisflav |
4-18504 4 days ago |
9-70031 9 days ago |
9-70026 9 days |
| 37940 |
BryceT233 author:BryceT233 |
feat(Algebra/Category): the category of local extensions over a fixed field |
This is an attempt to design the definitions of base category [[Stacks, 06GC]](https://stacks.math.columbia.edu/tag/06GC) and complete base category in deformation theory. The approach we take is to first introduce a larger category of local extensions with a fixed field, then define base category and complete base category to be full subcategories of this larger category via `ObjectProperty`.
To be specific:
* In `Defs.lean`, we define `LocExtCat` and `LocExtCat.Hom` to be the type of objects and morphisms in the category.
* In `Basic.lean`, we add the basic construction `ofQuot` and `toOfQuot`, which is the quotient of an object in `LocExtCat` by a proper Ideal. Then we use them to define `infinitesimal` and `specialFiber` for an object in `LocExtCat`.
* In `Cotangent.lean`, we prove the exactness of the conormal sequence for the special fiber.
* In `BaseCat.lean`, we define `BaseCat` to be the full subcategory of `LocExtCat` consisting of objects whose underlying rings are Artinian, and introduce the type class of a small extension for morphisms in `BaseCat`. We show that any surjective morphism in `BaseCat` can be factored into a finite composition of small extensions [[Stacks, 06GE]](https://stacks.math.columbia.edu/tag/06GE)
This PR is intended to showcase the overall design and architecture, I will split this into smaller PRs once the community reaches a consensus on the design choices.
---
- [x] depends on: #36657
- [ ] depends on: #37008
- [ ] depends on: #39223
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-algebra
WIP
label:t-algebra$ |
1623/0 |
Mathlib.lean,Mathlib/Algebra/Category/LocExtCat/BaseCat.lean,Mathlib/Algebra/Category/LocExtCat/Basic.lean,Mathlib/Algebra/Category/LocExtCat/Cotangent.lean,Mathlib/Algebra/Category/LocExtCat/Defs.lean,Mathlib/RingTheory/Extension/Basic.lean,Mathlib/RingTheory/Extension/Cotangent/Basic.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Kaehler/JacobiZariski.lean,Mathlib/RingTheory/LocalRing/Pullback.lean,Mathlib/RingTheory/LocalRing/ResidueField/Instances.lean |
11 |
32 |
['BryceT233', 'Deicyde', 'YaelDillies', 'github-actions', 'mathlib-dependent-issues'] |
nobody |
4-18442 4 days ago |
38-24016 38 days ago |
2-38364 2 days |
| 36507 |
BryceT233 author:BryceT233 |
feat(RingTheory/MvPowerSeries): various equivalences for `MvPowerSeries` |
This PR adds a number of equivalences related to power series rings and is patterned after `Mathlib/Algebra/MvPolynomial/Equiv.lean`.
To be specific, it adds:
* `MvPowerSeries.isEmptyEquiv` : The isomorphism between multivariable power series
in no variables and the ground ring.
* `MvPowerSeries.uniqueEquiv` : The isomorphism between multivariable power series
in a single variable and power series over the ground ring.
* `MvPowerSeries.mapEquiv`, `MvPowerSeries.mapAlgEquiv` : The isomorhism between
multivariable power series induced by an isomorphism between the coefficient rings.
* `MvPowerSeries.sumAlgEquiv` : The isomorphism between multivariable power series
in a sum of two types, and multivariable power series in one of the types,
with coefficients in multivariable power series in the other type.
* `MvPowerSeries.commAlgEquiv` : The isomorphism between multivariable power series
in variables `σ` of multivariable power series in variables `τ` and multivariable power series
in variables `τ` of multivariable power series in variables `σ`.
* `MvPowerSeries.optionEquivLeft` : The isomorphism between multivariable power series
in `Option σ` and power series with coefficients in `MvPowerSeries σ R`.
* `MvPowerSeries.optionEquivRight` : The isomorphism between multivariable power series
in `Option σ` and multivariable power series in `σ` with coefficients in `PowerSeries R`
* `MvPowerSeries.finSuccEquiv` : The isomorphism between multivariable power series
in `Fin (n + 1)` and power series over multivariable power series in `Fin n`.
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #35329
- [x] depends on: #36506 |
t-ring-theory
large-import
|
598/4 |
Mathlib/RingTheory/MvPowerSeries/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Equiv.lean |
2 |
26 |
['AntoineChambert-Loir', 'BryceT233', 'Thmoas-Guan', 'WenrongZou', 'YaelDillies', 'eric-wieser', 'github-actions', 'mathlib-dependent-issues'] |
mattrobball assignee:mattrobball |
4-18338 4 days ago |
15-55813 15 days ago |
48-13239 48 days |
| 39561 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Operations): a graph is the supremum of edge graphs |
- `G = ⨆ e ∈ G.edgeSet, fromEdgeSet {e}`
- `G = sSup { edge u v | (u : V) (v : V) (_ : G.Adj u v) }`
and `edgeSet` & `fromEdgeSet` preserve sup & inf.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
51/0 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Operations.lean |
2 |
2 |
['b-mehta', 'github-actions'] |
nobody |
4-17807 4 days ago |
6-46543 6 days ago |
6-46538 6 days |
| 39627 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/LapMatrix): 0 is always an eigenvalue |
and the determinant is always zero, plus a few other small lemmas.
---
- [x] depends on: #39642
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
71/15 |
Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean |
1 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
4-17566 4 days ago |
4-22036 4 days ago |
4-69741 4 days |
| 35504 |
JoaBjo author:JoaBjo |
feat(Probability/Distributions/Exponential): add MGF, moments, and memoryless property |
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)`.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
awaiting-author
|
200/0 |
Mathlib/Probability/Distributions/Exponential.lean |
1 |
7 |
['EtienneC30', 'JoaBjo', 'Timeroot', 'github-actions'] |
EtienneC30 assignee:EtienneC30 |
4-13020 4 days ago |
4-13021 4 days ago |
42-10925 42 days |
| 38902 |
xroblot author:xroblot |
feat(FieldTheory/Galois/IsGaloisGroup): add `IsGaloisGroup.of_algEquiv` and `of_ringEquiv` |
Add two constructors for `IsGaloisGroup`:
- `IsGaloisGroup.of_algEquiv`: if `G` is a Galois group on `B/A` and `e : B ≃ₐ[A] B'` is
`G`-equivariant, then `G` is a Galois group on `B'/A`.
- `IsGaloisGroup.of_ringEquiv`: if `G` is a Galois group on `B/A` and `e : A ≃+* A'`
is compatible with the algebra structures, then `G` is a Galois group on `B/A'`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
31/0 |
Mathlib/FieldTheory/Galois/IsGaloisGroup.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
4-12891 4 days ago |
12-25970 12 days ago |
17-63372 17 days |
| 38340 |
xroblot author:xroblot |
refactor(Data/ZMod): move `coe_int_isUnit_iff_isCoprime` to `ZMod.Units` |
Move `ZMod.coe_int_isUnit_iff_isCoprime` from `Mathlib.Data.ZMod.Coprime` to `Mathlib.Data.ZMod.Units`, where it more naturally belongs as a statement about units in `ZMod`. The proof is rewritten to only use tools available in `Mathlib.Data.ZMod.Units`, avoiding the dependency on `Mathlib.Algebra.EuclideanDomain.Int`.
This is motivated by the desire to use `coe_int_isUnit_iff_isCoprime` without the overhead of importing `Mathlib.Data.ZMod.Coprime` (see #38339 for a use case).
🤖 Co-Authored with [Claude Code](https://claude.com/claude-code) |
t-data |
10/7 |
Mathlib/Data/ZMod/Coprime.lean,Mathlib/Data/ZMod/Units.lean |
2 |
3 |
['github-actions', 'joneugster', 'xroblot'] |
joneugster assignee:joneugster |
4-12841 4 days ago |
9-25637 9 days ago |
32-11834 32 days |
| 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
|
36/10 |
Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean |
2 |
8 |
['github-actions', 'grunweg', 'jayscambler', 'sgouezel', 'themathqueen', 'wwylele'] |
sgouezel assignee:sgouezel |
4-12497 4 days ago |
4-12497 4 days ago |
10-9493 10 days |
| 39419 |
tb65536 author:tb65536 |
feat(Dynamics/FixedPoints/Support): define the fixed support of a self-map |
This PR defines the fixed support of a self-map to be the closure of the complement of the set of fixed points. This notion arises in dynamics.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
t-dynamics
|
77/1 |
Mathlib.lean,Mathlib/Dynamics/FixedPoints/Basic.lean,Mathlib/Dynamics/FixedPoints/Defs.lean,Mathlib/Dynamics/FixedPoints/Support.lean |
4 |
2 |
['github-actions', 'tb65536'] |
nobody |
4-11397 4 days ago |
10-2376 10 days ago |
10-2372 10 days |
| 39586 |
thomaskwaring author:thomaskwaring |
feat: GraphLike typeclass |
A proposal for a typeclass representing `GraphLike` objects. This is axiomatised in terms of a relations `IsSource` and `IsTarget` between edges and vertices, as well as `IsLink` to represent walks of length one.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
539/0 |
Mathlib/Combinatorics/GraphLike/Basic.lean,Mathlib/Combinatorics/GraphLike/Walk.lean |
2 |
4 |
['SnirBroshi', 'eric-wieser', 'github-actions'] |
nobody |
4-10366 4 days ago |
unknown |
0-0 0 seconds |
| 39657 |
mcdoll author:mcdoll |
feat(Algebra): add abstract `prod_apply` and `FunLike.coe_prod` |
Follow-up of #37779, where abstract `IsApply` classes were introduced. Now, we can prove a generic `sum_apply` lemma
and in following PRs this will replace specific ones in function spaces.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
25/5 |
Mathlib/Algebra/BigOperators/Pi.lean,Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Data/Matrix/PEquiv.lean,Mathlib/LinearAlgebra/Matrix/Polynomial.lean,Mathlib/LinearAlgebra/QuadraticForm/Dual.lean |
5 |
2 |
['github-actions', 'mcdoll'] |
nobody |
4-9786 4 days ago |
4-10390 4 days ago |
4-10385 4 days |
| 34031 |
lua-vr author:lua-vr |
feat(Dynamics/BirkhoffSum): add the maximal ergodic theorem |
Proves the maximal ergodic theorem for a measure-preserving map `f` and an integrable function `g`. The maximal ergodic operator `birkhoffAverageSup f g x` is defined as the supremum of the Birkhoff averages of `g` over all `n`. The PR also shows some results about the auxiliary definition `birkhoffMax f g n`, defined as the maximum of the Birkhoff sums ranging between `0` and `n`.
Main results:
* `distribution_birkhoffAverageSup_le_integral`: the cumulative distribution function of `birkhoffAverageSup` at `a` is less than or equal to the integral of `g` on the set where `a < birkhoffAverageSup f g x`.
* `iSup_distribution_birkhoffAverageSup_le_norm`: the operator `birkhoffAverageSup` satisfies a weak-type inequality.
---
[](https://gitpod.io/from-referrer/)
|
t-dynamics |
331/0 |
Mathlib.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Dynamics/BirkhoffSum/Integrable.lean,Mathlib/Dynamics/BirkhoffSum/Maximal.lean,Mathlib/Dynamics/BirkhoffSum/Measurable.lean,Mathlib/Order/PartialSups.lean |
6 |
4 |
['github-actions', 'lua-vr', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
4-6052 4 days ago |
38-31908 38 days ago |
42-71171 42 days |
| 38319 |
Zetetic-Dhruv author:Zetetic-Dhruv |
feat(Combinatorics/SetFamily): Assouad's dual VC bound |
Adds the Finset-level form of Assouad's 1983 dual VC bound: if a family
`𝒜 : Finset (Finset α)` has VC dimension at most `d`, then for any
ground set `X : Finset α` the dual family
`{𝒜.filter (· ∋ x) : x ∈ X}` has VC dimension at most `2 ^ (d + 1) - 1`.
New declarations (in `Finset` namespace):
- `dualFamily 𝒜 X`: for each `x ∈ X`, the subfamily `{A ∈ 𝒜 | x ∈ A}`
- `mem_dualFamily` (`@[simp]`): membership characterisation
- `exists_shatters_of_dualFamily_shatters`: Assouad's bitstring-coding lemma
- `vcDim_dualFamily_le`: the headline VC bound
Proof by Assouad's classical bitstring-coding argument. Sits on top of `Finset.shatterer` / `Finset.vcDim` from
`Mathlib.Combinatorics.SetFamily.Shatter`.
References:
- P. Assouad, Densite et dimension, Ann. Inst. Fourier 33(3) (1983), Thm 2.13
- J. Matousek, Lectures on Discrete Geometry, GTM 212, Springer, 2002, Section 10.3 Lemma 10.3.3
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
199/0 |
Mathlib.lean,Mathlib/Combinatorics/SetFamily/DualVC.lean,docs/references.bib |
3 |
37 |
['Shreyas4991', 'YaelDillies', 'Zetetic-Dhruv', 'github-actions'] |
nobody |
4-5151 4 days ago |
15-73784 15 days ago |
32-34428 32 days |
| 39450 |
FLDutchmann author:FLDutchmann |
feat(Asymptotics): define (d)elaborator for asymptotic notation |
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
873/0 |
Mathlib/Tactic/Asymptotics/Basic.lean,Mathlib/Tactic/Asymptotics/Init.lean |
2 |
2 |
['github-actions', 'mathlib-bors'] |
nobody |
4-4484 4 days ago |
9-65022 9 days ago |
0-16 16 seconds |
| 37189 |
Brian-Nugent author:Brian-Nugent |
feat(AlgebraicGeometry): The pushforward of a quasi-coherent sheaf between affines is quasi-coherent |
To be more precise, we show that if `AlgebraicGeometry.Scheme.Modules.fromTildeΓ` is an isomorphism then the same holds for the pushforward. This will show that being quasicoherent is stable under pushforward for affine morphisms once it is shown that `AlgebraicGeometry.Scheme.Modules.fromTildeΓ` being an isomorphism is equivalent to being quasicoherent.
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
maintainer-merge
|
215/6 |
Mathlib/Algebra/Category/ModuleCat/Localization.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PushforwardContinuous.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/AlgebraicGeometry/Modules/Sheaf.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/Topology/Sheaves/SheafCondition/Sites.lean |
7 |
49 |
['Brian-Nugent', 'chrisflav', 'github-actions', 'joelriou'] |
adamtopaz and chrisflav assignee:adamtopaz assignee:chrisflav |
4-3623 4 days ago |
4-72708 4 days ago |
39-5581 39 days |
| 39665 |
justus-springer author:justus-springer |
feat(AlgebraicGeometry/AffineSpace): affine space over an integral base is integral |
Prove that `AffineSpace` inherits the properties `IrreducibleSpace`, `IsReduced` and `IsIntegral` from its base.
Also clean up a few variables, that were used very scarcely. These were causing weird issues in these new instances, where they would be automatically included.
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
33/12 |
Mathlib/AlgebraicGeometry/AffineSpace.lean |
1 |
1 |
['github-actions'] |
nobody |
3-86104 3 days ago |
3-86185 3 days ago |
3-86180 3 days |
| 38553 |
Whysoserioushah author:Whysoserioushah |
feat(RepresentationTheory/Homological): define Tate cohomology |
co-authored-by : class field theory team
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
CFT
awaiting-author
label:t-algebra$ |
267/1 |
Mathlib.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/LongExactSequence.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LongExactSequence.lean,Mathlib/RepresentationTheory/Homological/TateCohomology/Basic.lean |
4 |
42 |
['Multramate', 'Whysoserioushah', 'dagurtomas', 'faenuccio', 'github-actions', 'kbuzzard', 'riccardobrasca'] |
dagurtomas, faenuccio, mariainesdff assignee:dagurtomas assignee:faenuccio assignee:mariainesdff |
3-83555 3 days ago |
4-50885 4 days ago |
22-71351 22 days |
| 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.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
116/0 |
Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/Constructible.lean,Mathlib/Topology/Maps/Proper/Basic.lean,Mathlib/Topology/Spectral/ConstructibleTopology.lean |
4 |
1 |
['github-actions'] |
nobody |
3-83447 3 days ago |
3-83534 3 days ago |
3-83630 3 days |
| 26304 |
Raph-DG author:Raph-DG |
feat(AlgebraicGeometry): Pushforward of algebraic cycles |
In this PR we define a notion of the "pushfoward of functions with locally finite support". We give this PR the suggestive title "pushforward of algebraic cycles" because we will go on to model algebraic cycles on a scheme X as functions from X to the integers with locally finite support.
- [x] depends on: #26225
- [x] depends on: #26259
- [x] depends on: #35807
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
102/0 |
Mathlib.lean,Mathlib/Topology/LocallyFinsupp.lean,Mathlib/Topology/LocallyFinsupp/Pushforward.lean |
3 |
53 |
['Raph-DG', 'chrisflav', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
joelriou assignee:joelriou |
3-80614 3 days ago |
3-80614 3 days ago |
41-73926 41 days |
| 33288 |
vihdzp author:vihdzp |
chore(Combinatorics/SimpleGraph/Paths): review API |
This PR does the following:
- Add `grind` annotations.
- Rename theorems `X_isY` to the more idiomatic `isY_X`.
- Remove many redundant namespaces.
- Golf accordingly.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
156/126 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean,Mathlib/Combinatorics/SimpleGraph/Metric.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Maps.lean |
6 |
4 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
3-79659 3 days ago |
3-79590 3 days ago |
47-81907 47 days |
| 38337 |
Jun2M author:Jun2M |
feat(Combinatorics/Graph): supremum |
This PR introduces the union of `Graph`, as `sup`.
Due to compatibility issue, in general, `sup` is not very well-behaved: `SemilatticeSup` is not true. In the case of incompatible edge, unlike `inf` which simply removed such edge, we include it following its incidence in the left graph. This has the benefit of associativity being true in general at the cost of commutativity.
Assuming compatibility or existence of mutual supergraph, which are shown to be equivalent in this PR, everything behaves nicely.
Co-authored-by: Peter Nelson
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
86/1 |
Mathlib/Combinatorics/Graph/Lattice.lean |
1 |
3 |
['github-actions', 'mathlib-bors', 'vihdzp'] |
nobody |
3-79441 3 days ago |
3-79443 3 days ago |
30-18848 30 days |
| 36472 |
EtienneC30 author:EtienneC30 |
feat: finite dimensional distribution of Brownian motion |
Define `gaussianProjectiveFamily : (I : Finset ℝ≥0) → Measure (I → ℝ)`. Each `gaussianProjectiveFamily I` is the centered Gaussian measure over `I → ℝ` with covariance matrix given by `brownianCovMatrix I s t := min s t`.
Prove that these measures satisfy `IsProjectiveMeasureFamily`, which means that they can be extended into a measure over `ℝ≥0 → ℝ` thanks to the Kolmogorov's extension theorem (not in Mathlib yet). The obtained measure is a measure over the set of real processes indexed by `ℝ≥0` and is the law of the Brownian motion.
---
- [x] depends on: #36143
[](https://gitpod.io/from-referrer/)
|
brownian
t-measure-probability
large-import
|
236/1 |
Mathlib.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/Probability/BrownianMotion/GaussianProjectiveFamily.lean,Mathlib/Probability/Distributions/Gaussian/HasGaussianLaw/Basic.lean,Mathlib/Probability/Moments/Basic.lean |
5 |
5 |
['EtienneC30', 'github-actions', 'mathlib-dependent-issues', 'sgouezel'] |
sgouezel assignee:sgouezel |
3-79250 3 days ago |
3-79217 3 days ago |
70-6563 70 days |
| 38830 |
Jun2M author:Jun2M |
feat(Data/List): Nodup and head & getLast lemmas |
Given a Nodup list:
* If a prefix contains the last element, they are equal
* If a suffix contains the first element, they are equal
* If an infix contains the first element, it is a prefix
* If an infix contains the last element, it is a suffix
* If the first and the last element are the same, it is a singleton
* `countP` is cardinality of the filter of `toFinset`.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
29/0 |
Mathlib/Data/Finset/Card.lean,Mathlib/Data/List/Nodup.lean |
2 |
7 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
3-79235 3 days ago |
3-79273 3 days ago |
19-64079 19 days |
| 39672 |
tb65536 author:tb65536 |
feat(RingTheory/Ideal/GoingUp): a prime ideal is minimal over the image of its preimage |
This PR proves that if `A/R` is integral and if `I` is a prime ideal of `A`, then `I` is a minimal prime over the image of its preimage in `R`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
6/0 |
Mathlib/RingTheory/Ideal/GoingUp.lean |
1 |
1 |
['github-actions'] |
nobody |
3-76186 3 days ago |
3-76186 3 days ago |
3-76183 3 days |
| 39671 |
tb65536 author:tb65536 |
feat(Data/ENat/Basic): add `ENat.toNat_pos` |
This PR adds a missing lemma `ENat.toNat_pos`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-data
label:t-algebra$ |
4/0 |
Mathlib/Data/ENat/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
3-75312 3 days ago |
3-75312 3 days ago |
3-75309 3 days |
| 39223 |
BryceT233 author:BryceT233 |
feat(RingTheory/Extension): surjectivity and kernel of `Cotangent.map` |
This PR adds `Cotangent.map_surjective_of_comap_eq` and `Cotangent.map_ker_of_surjective`, which are adaptations of the existing lemmas `Ideal.mapCotangent_surjective_of_comap_eq` and `Ideal.mapCotangent_ker_of_surjective` to the cotangent space of extensions. Because `Algebra.Extension.Cotangent` uses a type synonym to define the cotangent space of an extension, the results for `Ideal.mapCotangent` could not be used directly and needed to be restated in terms of `Algebra.Extension.Cotangent.map`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
32/0 |
Mathlib/RingTheory/Extension/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
3-70735 3 days ago |
13-72157 13 days ago |
13-72152 13 days |
| 36775 |
ADedecker author:ADedecker |
feat: flip arguments for continuous linear maps under finite dimension assumptions |
---
- [x] depends on: #36776
- [x] depends on: #36870
- [ ] depends on: #37435
- [ ] depends on: #37439
- [x] depends on: #37614
- [ ] depends on: #38168
[](https://gitpod.io/from-referrer/)
|
t-topology
blocked-by-other-PR
merge-conflict
|
540/32 |
Mathlib.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Topology/Algebra/Module/Equiv.lean,Mathlib/Topology/Algebra/Module/Spaces/CompactConvergenceCLM.lean,Mathlib/Topology/Algebra/Module/Spaces/ContinuousLinearMap.lean,Mathlib/Topology/Algebra/Module/Spaces/FiniteDimensionCLM.lean,Mathlib/Topology/Algebra/Module/Spaces/UniformConvergenceCLM.lean |
7 |
10 |
['ADedecker', 'eric-wieser', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
j-loreaux assignee:j-loreaux |
3-63818 3 days ago |
56-11882 56 days ago |
9-41060 9 days |
| 36868 |
ADedecker author:ADedecker |
feat: Fréchet derivative of distributions, as a CLM |
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
|
409/30 |
Mathlib.lean,Mathlib/Analysis/Distribution/Distribution.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Topology/Algebra/Module/Spaces/FiniteDimensionCLM.lean |
4 |
4 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
3-63815 3 days ago |
unknown |
0-0 0 seconds |
| 39520 |
BryceT233 author:BryceT233 |
feat(RingTheory/Extension): `cotangentEquivH1Cotangent` |
Given `Algebra R S` and an extension `P : Extension R S`, this PR adds a linear equivalence between the cotangent space of `P` and the first homology of the naive cotangent complex of `S` over `P.Ring` . We show that the connecting homomorphism of the Jacobi-Zariski sequence of `R → P.Ring → S` coincides with `P.cotangentComplex` via this equivalence:
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
64/0 |
Mathlib/RingTheory/Kaehler/JacobiZariski.lean |
1 |
2 |
['github-actions', 'robin-carlier'] |
chrisflav assignee:chrisflav |
3-63229 3 days ago |
7-67190 7 days ago |
7-67185 7 days |
| 39678 |
tb65536 author:tb65536 |
feat(RingTheory/RamificationInertia/Ramification): ramification index is invariant under a group action |
This PR proves that ramification index is invariant under a group action. We already have this for the old definition `ramificationIdx`, but we will need this new version for `ramificationIdx'` for the upcoming refactor.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
22/0 |
Mathlib/RingTheory/RamificationInertia/Ramification.lean |
1 |
1 |
['github-actions'] |
nobody |
3-62487 3 days ago |
3-62487 3 days ago |
3-62483 3 days |
| 36667 |
NoneMore author:NoneMore |
feat(ModelTheory): add `exClosure` definition for first-order formulas |
Prepare for moving realizations between elementarily equivalent structures.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-logic
|
37/0 |
Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Syntax.lean |
2 |
2 |
['github-actions'] |
nobody |
3-61163 3 days ago |
71-45384 71 days ago |
71-45379 71 days |
| 33313 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Coloring/Edge): create a basic edge-coloring API |
Module name decided on [Zulip](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/Coloring.20module.20names/with/583281500).
---
Future work (which I'm working on):
- Relating degrees to edge-colorability (`G.maxDegree ≤ G.chromaticIndex`, `G.EdgeColorable 1 ↔ G.maxDegree ≤ 1`, `G.chromaticIndex = 1 ↔ G.maxDegree = 1`, `G.EdgeColorable 2 ↔ G.maxDegree ≤ 2`, `G.chromaticIndex = 2 ↔ G.maxDegree = 2`)
- [Vizing's theorem](https://en.wikipedia.org/wiki/Vizing%27s_theorem) (`G.chromaticIndex ≤ G.maxDegree + 1`)
- `chromaticIndex ⊤ = (if Even #V then #V - 1 else #V)`
- `[Infinite α] → chromaticIndex ⊤ = ⊤`
- [x] depends on: #33292
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
300/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/Edge.lean |
2 |
28 |
['SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'ooovi'] |
nobody |
3-61161 3 days ago |
25-3690 25 days ago |
62-45019 62 days |
| 27493 |
themathqueen author:themathqueen |
feat(RingTheory/Coalgebra): define Frobenius algebra |
A Frobenius algebra `A` has the structure of both an algebra and a coalgebra such that:
`(mul ⊗ id) ∘ assoc.symm ∘ (id ⊗ comul) = comul ∘ mul = (id ⊗ mul) ∘ assoc ∘ (comul ⊗ id)`.
In diagrams this law looks like:

It suffices to show that
`(mul ⊗ id) ∘ assoc.symm ∘ (id ⊗ comul) = (id ⊗ mul) ∘ assoc ∘ (comul ⊗ id)`.
---
- [x] depends on: #27567
- [x] depends on: #27569
- [x] depends on: #32245
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
112/0 |
Mathlib.lean,Mathlib/RingTheory/FrobeniusAlgebra.lean |
2 |
25 |
['YaelDillies', 'erdOne', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
mariainesdff assignee:mariainesdff |
3-59682 3 days ago |
25-72908 25 days ago |
72-51293 72 days |
| 29774 |
Raph-DG author:Raph-DG |
feat(AlgebraicGeometry): Order of vanishing of elements of the function field of locally noetherian, integral schemes |
In this PR, we define the order of vanishing of elements of the function field of locally noetherian, integral schemes at points of codimension 1. This is essentially just a wrapper around the API for the order of vanishing for rings (i.e. Ring.ord and Ring.ordFrac), but I think it's good to have this too for usability.
---
- [ ] depends on: #29550
- [ ] depends on: #26735
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
101/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/FunctionField.lean,Mathlib/AlgebraicGeometry/OrderOfVanishing.lean |
3 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
dagurtomas assignee:dagurtomas |
3-59680 3 days ago |
27-40675 27 days ago |
27-41867 27 days |
| 33355 |
0xTerencePrime author:0xTerencePrime |
feat(Combinatorics/SimpleGraph/Connectivity): define vertex connectivity |
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`: vertices remain reachable after removing strictly fewer than `k` other vertices.
- `SimpleGraph.IsVertexConnected`: a graph is `k`-vertex-connected if its order is strictly greater than `k` and any two distinct vertices are `k`-vertex-reachable.
Includes basic characterizations for $k=0$ and $k=1$, along with monotonicity lemmas (`anti` and `mono`). |
new-contributor
t-combinatorics
|
216/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/VertexConnectivity.lean,Mathlib/Combinatorics/SimpleGraph/IsolateVerts.lean |
3 |
149 |
['0xTerencePrime', 'SnirBroshi', 'SproutSeeds', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
b-mehta assignee:b-mehta |
3-59679 3 days ago |
22-22795 22 days ago |
57-78592 57 days |
| 34908 |
CoolRmal author:CoolRmal |
feat(GroupTheory): a characteristic subgroup of a characteristic subgroup is characteristic |
The main theorem proved in this PR is `characteristic_of_characteristic_of_characteristic`. If says that if `K` is a characteristic subgroup of a characteristic subgroup `H` of `G`, then `K` is a characteristic subgroup of `G`.
Created with the help of Codex.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-group-theory
label:t-algebra$ |
49/0 |
Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Map.lean |
2 |
16 |
['CoolRmal', 'github-actions', 'robin-carlier'] |
mattrobball assignee:mattrobball |
3-59678 3 days ago |
6-1201 6 days ago |
8-22385 8 days |
| 37374 |
NoneMore author:NoneMore |
feat(Topology/DerivedSet): add relative derived set lemmas |
Add `relDerivedSet`, `relDerivedSet_subset`, and `IsClosed.relDerivedSet_eq`.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
|
17/0 |
Mathlib/Topology/DerivedSet.lean |
1 |
6 |
['NoneMore', 'github-actions', 'plp127', 'vihdzp'] |
fpvandoorn assignee:fpvandoorn |
3-59676 3 days ago |
55-9215 55 days ago |
55-62624 55 days |
| 38098 |
astrainfinita author:astrainfinita |
chore: make `SMul.comp.smul` `implicit_reducible` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
2/1 |
Mathlib/Algebra/Group/Action/Defs.lean |
1 |
3 |
['astrainfinita', 'github-actions', 'leanprover-radar'] |
dagurtomas assignee:dagurtomas |
3-59675 3 days ago |
39-50919 39 days ago |
39-50914 39 days |
| 38141 |
Jun2M author:Jun2M |
feat(Order/Partition): Partition induced by symmetric, transitive relation |
We introduce a constructor for Partition from a symmetric, transitive relation, with `copy` function baked into the definition.
Co-authored-by: Peter Nelson
---
[](https://gitpod.io/from-referrer/)
|
t-order |
41/7 |
Mathlib/Order/Partition/Basic.lean |
1 |
1 |
['github-actions'] |
bryangingechen assignee:bryangingechen |
3-59674 3 days ago |
38-58059 38 days ago |
38-58054 38 days |
| 38596 |
JJYYY-JJY author:JJYYY-JJY |
Add basic row-equivalence and echelon-form API for matrices |
This PR adds the first foundational slice of `Mathlib.LinearAlgebra.Matrix.Echelon`, a theorem-oriented API for elementary row operations, row-equivalence, and echelon-form predicates for matrices.
The main additions are:
* elementary row-scaling matrices and their `GL` versions;
* `Matrix.RowEquivalent` for the left action of `GL m R` on rectangular matrices;
* row-zero, pivot, echelon, and reduced-echelon predicates;
* semantic representative predicates `Matrix.IsEchelonFormOf` and `Matrix.IsReducedEchelonFormOf`.
This intentionally stops before row-space characterizations, existence and uniqueness of reduced echelon representatives, and the noncomputable canonical representative `Matrix.rref`; those are planned for later PRs.
Co-authored-by: Joseph Qian
Co-authored-by: Veer Shukla
Co-authored-by: Dhruv Bhatia
Co-authored-by: Zheng Wu <1036819072@qq.com>
---
This update trims the original full row-reduction API in response to reviewer feedback that the PR was too large. It keeps only the foundation needed by later row-reduction and `rref` PRs. |
t-algebra
new-contributor
label:t-algebra$ |
312/6 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Echelon.lean,Mathlib/LinearAlgebra/Matrix/Transvection.lean |
3 |
10 |
['JJYYY-JJY', 'SnirBroshi', 'copilot-pull-request-reviewer', 'dagurtomas', 'github-actions', 'wwylele'] |
dagurtomas assignee:dagurtomas |
3-59673 3 days ago |
11-66112 11 days ago |
19-41530 19 days |
| 38895 |
emlis42 author:emlis42 |
chore(Algebra/ContinuedFractions): golf |
This PR simplifies some proofs in `Algebra/ContinuedFractions` |
t-algebra
new-contributor
label:t-algebra$ |
39/63 |
Mathlib/Algebra/ContinuedFractions/Computation/ApproximationCorollaries.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Computation/CorrectnessTerminating.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean,Mathlib/Algebra/ContinuedFractions/ContinuantsRecurrence.lean,Mathlib/Algebra/ContinuedFractions/ConvergentsEquiv.lean |
7 |
2 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
3-59672 3 days ago |
20-64183 20 days ago |
21-52481 21 days |
| 38965 |
joelriou author:joelriou |
feat(AlgebraicTopology/SimplicialSet/Homology): extension of scalars |
If `X` is a simplicial set, `R₁ →+* R₂` is a morphism of commutative rings, and `M₁` is a `R₁`-module, then the chain complex of `R₂`-modules of `X` with coefficients in `R₂ ⊗[R₁] M₁` identifies to the extensions of scalars of the chain complex of `R₁`-modules of `X` with coefficients in `M₁`. In this file, we obtain a formulation of this result where the extension of scalars functor `ModuleCat R₁ ⥤ ModuleCat R₂` is replaced by an arbitrary functor `F : C ⥤ D` which commutes with coproducts.
(As `SimplicialObject` is now an `abbrev` for a category of functors, `SimplicialObject.whiskering` is also made an abbrev here.)
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology |
137/35 |
Mathlib.lean,Mathlib/Algebra/Homology/HomologicalComplex.lean,Mathlib/AlgebraicTopology/AlternatingFaceMapComplex.lean,Mathlib/AlgebraicTopology/SimplicialObject/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/Homology/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/Homology/MapHomologicalComplex.lean,Mathlib/AlgebraicTopology/SingularHomology/Basic.lean,Mathlib/CategoryTheory/Limits/Preserves/SigmaConst.lean,Mathlib/CategoryTheory/Limits/Shapes/Products.lean |
9 |
5 |
['dagurtomas', 'github-actions', 'joelriou', 'mathlib-merge-conflicts'] |
robin-carlier assignee:robin-carlier |
3-59671 3 days ago |
5-4601 5 days ago |
7-25135 7 days |
| 38975 |
ldct author:ldct |
feat(EReal): Add equations for EReal |
Add equational lemmas for the simplifier to simplify `[natural number literal] + ⊤` in `EReal`, and add a test file in `MathlibTest/EReal.lean`.
Without these lemmas, `simp` fails to close many of the goals in `MathlibTest/EReal.lean`. I believe simp should close all of them.
An alternative is to add something like this as a simp lemma, to allow `top_add_of_ne_bot` to make progress, but it's not clear to me that this is desirable as a simp lemma, since it's not equational
```
example {n : ℕ} [n.AtLeastTwo] : (ofNat(n) : EReal) ≠ ⊤ := by
exact Ne.symm (not_eq_of_beq_eq_false rfl)
```
---
[](https://gitpod.io/from-referrer/)
|
t-data |
32/0 |
Mathlib/Data/EReal/Operations.lean,MathlibTest/EReal.lean |
2 |
2 |
['github-actions', 'vihdzp'] |
TwoFX assignee:TwoFX |
3-59670 3 days ago |
19-68352 19 days ago |
19-68347 19 days |
| 39174 |
yuanyi-350 author:yuanyi-350 |
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Integral/Asymptotics` |
- refactors `Mathlib/MeasureTheory/Integral/Asymptotics` by simplifying `IsBigO.set_integral_isBigO`
Extracted from #38104
[](https://gitpod.io/from-referrer/)
|
codex
LLM-generated
t-measure-probability
|
6/12 |
Mathlib/MeasureTheory/Integral/Asymptotics.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
kex-y assignee:kex-y |
3-59669 3 days ago |
14-35048 14 days ago |
14-35043 14 days |
| 39175 |
yuanyi-350 author:yuanyi-350 |
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Integral/CircleTransform` |
- refactors `Mathlib/MeasureTheory/Integral/CircleTransform` by shortening `circleTransformDeriv_periodic`
Extracted from #38104
[](https://gitpod.io/from-referrer/)
|
codex
LLM-generated
t-measure-probability
|
1/6 |
Mathlib/MeasureTheory/Integral/CircleTransform.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
RemyDegenne assignee:RemyDegenne |
3-59668 3 days ago |
14-35045 14 days ago |
14-35040 14 days |
| 39679 |
BryceT233 author:BryceT233 |
feat(RingTheory/Extension): `fromH1Cotangent` |
This PR is a continuation of #39520. For an extension `P : Extension R S`, we introduce `fromH1Cotangent`, a linear map from `H1Cotangent R S` to `P.H1Cotangent` induced by the default extension homomorphism. We show that the following diagram commutes:
Finally, by combining this commutativity lemma with the exactness of Jacobi-Zariski sequence, we prove that `fromH1Cotangent` is surjective.
---
- [ ] depends on: #39520
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
blocked-by-other-PR
|
104/0 |
Mathlib/RingTheory/Extension/Basic.lean,Mathlib/RingTheory/Kaehler/JacobiZariski.lean |
2 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
3-56419 3 days ago |
3-56420 3 days ago |
0-3726 1 hour |
| 36643 |
Thmoas-Guan author:Thmoas-Guan |
feat(Homology): interaction of projective and injective dimension and SES |
In this PR, we directly implemented the relation of `projectiveDimension` and `injectiveDimension` in SES.
---
- [ ] depends on: #36817
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
146/0 |
Mathlib/Algebra/Homology/ShortComplex/Exact.lean,Mathlib/CategoryTheory/Abelian/Injective/Dimension.lean,Mathlib/CategoryTheory/Abelian/Projective/Dimension.lean |
3 |
5 |
['dagurtomas', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
adamtopaz assignee:adamtopaz |
3-44996 3 days ago |
3-44996 3 days ago |
41-44084 41 days |
| 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.
---
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 |
3-43995 3 days ago |
3-57465 3 days ago |
0-14741 4 hours |
| 39437 |
ooovi author:ooovi |
feat(Geometry/Convex/ConvexSpace): show that an `AffineMap` `IsAffineMap` |
Show that `Convexity.IsAffineMap` generalises `AffineMap`s between affine spaces.
---
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry |
34/3 |
Mathlib/Geometry/Convex/ConvexSpace/AffineSpace.lean,Mathlib/Geometry/Convex/ConvexSpace/Defs.lean |
2 |
3 |
['github-actions', 'mathlib-merge-conflicts', 'ooovi'] |
nobody |
3-39431 3 days ago |
3-39504 3 days ago |
8-48990 8 days |
| 39356 |
TentativeConvert author:TentativeConvert |
pushforward of gradings along map between indexing sets |
Pushforward of grading along map between indexing sets
The main result of #36501 is that the quotient of a graded algebra by a homogeneous relation inherits a grading.
This draft complements #36501 with the result that the grading on a graded algebra can be changed by "pushing forward" along an additive map of additive monoids. For example, an ℕ-grading can be turned into a ℤ-grading by pushing forward along the inclusion ℕ → ℤ, or collapsed to an even/odd-grading by pushing forward along the projection ℤ → ZMod 2. This result is currently in [`RingTheory/GradedAlgebra/Map/DecompositionMap_SetLike.lean`](https://github.com/TentativeConvert/mathlib4/blob/f4e54e0ec25f44c5d373e355e9926481e3102ccd/Mathlib/RingTheory/GradedAlgebra/Map/DecompositionMap_SetLike.lean).
The changes to [`Mathlib/LinearAlgebra/CliffordAlgebra/Grading.lean`](https://github.com/TentativeConvert/mathlib4/blob/f4e54e0ec25f44c5d373e355e9926481e3102ccd/Mathlib/LinearAlgebra/CliffordAlgebra/Grading.lean) illustrate how the two results can be combined to give a new construction of the grading on the Clifford algebra: First, the grading on the tensor algebra is collapsed to an even/odd grading. With respect to this grading, the Clifford relation is homogeneous. The Clifford algebra is the quotient of the tensor algebra by the Clifford relation, so we obtain an induced grading on the Clifford algebra.
Notes: This draft includes all of #36501, as this is necessary to demonstrate the application to Clifford algebras. Most of the changes shown below are from that PR. (I don't know how to include that PR and highlight only the changes made on top of it here.)
---
- [ ] depends on: #36501
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
new-contributor
blocked-by-other-PR
merge-conflict
|
1303/46 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/DirectSum/Decomposition.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Basic.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/Data/DFinsupp/BigOperators.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Conjugation.lean,Mathlib/LinearAlgebra/CliffordAlgebra/EvenEquiv.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Grading.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Prod.lean,Mathlib/LinearAlgebra/TensorAlgebra/Grading.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/RingQuot.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean,Mathlib/RingTheory/GradedAlgebra/Map/AddSubmonoidSSup.lean,Mathlib/RingTheory/GradedAlgebra/Map/DecompositionMap_SetLike.lean,Mathlib/RingTheory/GradedAlgebra/Map/Tests.lean,Mathlib/RingTheory/GradedAlgebra/Map/auxiliary.lean,Mathlib/RingTheory/GradedAlgebra/Map/locations.md,Mathlib/RingTheory/GradedAlgebra/Map/order-preserving-maps.md,Mathlib/RingTheory/Ideal/Span.lean |
22 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
3-35256 3 days ago |
unknown |
0-0 0 seconds |
| 39575 |
YaelDillies author:YaelDillies |
chore(Data/Finsupp): make `mapDomain_congr` congr |
This makes simp stronger. It particular, it breaks some proofs that relied on simp being weak.
From MeanFourier
---
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry |
29/36 |
Mathlib/Algebra/MvPolynomial/Nilpotent.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Geometry/Convex/ConvexSpace/Defs.lean,Mathlib/LinearAlgebra/Basis/Defs.lean,Mathlib/LinearAlgebra/Finsupp/Pi.lean,Mathlib/LinearAlgebra/Matrix/Basis.lean,Mathlib/NumberTheory/NumberField/EquivReindex.lean,Mathlib/NumberTheory/NumberField/House.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/Functoriality.lean,Mathlib/RepresentationTheory/Intertwining.lean |
10 |
1 |
['github-actions'] |
nobody |
3-34048 3 days ago |
3-34125 3 days ago |
3-43772 3 days |
| 34472 |
ADedecker author:ADedecker |
feat: characterize TVS asymptotics in terms of seminorms |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
merge-conflict
|
472/24 |
Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/Convex/EGauge.lean,Mathlib/Analysis/LocallyConvex/Asymptotics.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/Seminorm.lean |
5 |
9 |
['ADedecker', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'mcdoll'] |
nobody |
3-32005 3 days ago |
unknown |
0-0 0 seconds |
| 38275 |
TTony2019 author:TTony2019 |
feat: Add `AffineEquiv.image_intrinsicInterior` |
## Summary
This PR generalizes the existing lemma `AffineIsometry.image_intrinsicInterior` to the setting of affine equivalences, yielding the corresponding result `AffineEquiv.image_intrinsicInterior`.
Since affine equivalences are more general than affine isometries, the proof requires an additional finite-dimensionality assumption. The key extra input is that in finite-dimensional spaces, an affine equivalence induces a homeomorphism via `AffineEquiv.toHomeomorphOfFiniteDimensional`, so the assumptions are adjusted accordingly.
Apart from these extra assumptions, the argument is essentially the same as for `AffineIsometry.image_intrinsicInterior`.
## Collaboration
This PR was developed together with @imathwy.
|
t-analysis
new-contributor
awaiting-author
|
283/41 |
Mathlib/Analysis/Convex/Intrinsic.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/LinearAlgebra/AffineSpace/Restrict.lean,Mathlib/Topology/Algebra/AffineSubspace.lean,Mathlib/Topology/Homeomorph/Defs.lean |
5 |
28 |
['TTony2019', 'github-actions', 'imathwy', 'j-loreaux', 'themathqueen'] |
j-loreaux assignee:j-loreaux |
3-31765 3 days ago |
6-3629 6 days ago |
16-77083 16 days |
| 38619 |
mariainesdff author:mariainesdff |
feat(Algebra/SkewPolynomial/Basic): add API |
We add API for SkewPolynomial, including monomial, coeff, C and X.
Co-authored by: @xgenereux.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
label:t-algebra$ |
319/26 |
Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/Algebra/SkewPolynomial/Basic.lean |
2 |
59 |
['faenuccio', 'github-actions', 'mariainesdff'] |
faenuccio assignee:faenuccio |
3-31459 3 days ago |
4-82708 4 days ago |
17-46601 17 days |
| 39655 |
joelriou author:joelriou |
feat(CategoryTheory): the κ-accessible category of κ-directed posets |
Given a regular cardinal `κ : Cardinal.{u}`, we show that the category `CardinalFilteredPoset κ` of `κ`-directed partially ordered types (with order embeddings as morphisms) is a `κ`-accessible category.
---
- [ ] depends on: #39669
[](https://gitpod.io/from-referrer/)
|
t-category-theory
WIP
blocked-by-other-PR
|
486/3 |
Mathlib.lean,Mathlib/CategoryTheory/Presentable/CardinalDirectedPoset.lean,Mathlib/Order/Category/PartOrdEmb.lean |
3 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
3-31245 3 days ago |
4-11957 4 days ago |
0-12941 3 hours |
| 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
[](https://gitpod.io/from-referrer/)
|
t-linter
large-import
awaiting-author
please-adopt
merge-conflict
|
1024/8 |
Mathlib/Tactic/Linter/Style.lean,MathlibTest/DoubleUnderscore.lean,MathlibTest/Lint.lean,MathlibTest/LintStyle.lean,scripts/nolints.json |
5 |
29 |
['Vierkantor', 'github-actions', 'grunweg', 'joneugster', 'mathlib-merge-conflicts'] |
nobody |
3-30669 3 days ago |
96-32550 96 days ago |
13-82065 13 days |
| 34466 |
Komyyy author:Komyyy |
chore: modulize tests (N/N) |
---
Privately imports are intentional.
I manually modulize each test so that the purpose of the tests is not lost by modulizing.
- [x] Await the release of leanprover/lean4#12198
- [x] depends on: #34970
- [x] depends on: #35288
- [x] depends on: #36882
- [x] depends on: #36981
- [x] depends on: #37654
- [ ] Await the release of leanprover/lean4#13329
- [x] depends on: #37820
[](https://gitpod.io/from-referrer/)
|
CI
merge-conflict
|
310/63 |
MathlibTest/AssertImported.lean,MathlibTest/BinaryRec.lean,MathlibTest/Bound/attribute.lean,MathlibTest/Bound/bound.lean,MathlibTest/CategoryTheory/Bicategory/Normalize.lean,MathlibTest/CategoryTheory/Elementwise.lean,MathlibTest/CategoryTheory/Monoidal/Normalize.lean,MathlibTest/Clean.lean,MathlibTest/DFinsuppMultiLinear.lean,MathlibTest/GRewrite.lean,MathlibTest/LibrarySuggestions/sineQuaNon.lean,MathlibTest/LongFile.lean,MathlibTest/Nat/log.lean,MathlibTest/Perm.lean,MathlibTest/Polynomial.lean,MathlibTest/Quaternion.lean,MathlibTest/RefinedDiscrTree.lean,MathlibTest/antidiagonal.lean,MathlibTest/dfinsupp_notation.lean,MathlibTest/fast_instance.lean,MathlibTest/grind/ac.lean,MathlibTest/grind/cc.lean,MathlibTest/grind/field.lean,MathlibTest/grind/field_instance.lean,MathlibTest/grind/grobner.lean,MathlibTest/grind/linarith.lean,MathlibTest/grind/lint.lean,MathlibTest/grind/natCast_instance.lean,MathlibTest/grind/ordered_ring.lean,MathlibTest/grind/pairwise_disjoint.lean,MathlibTest/grind/panic.lean,MathlibTest/grind/ring.lean,MathlibTest/grind/set.lean,MathlibTest/grind/trig.lean,MathlibTest/hintAll.lean,MathlibTest/slow_simp.lean,MathlibTest/solve_by_elim/basic.lean,MathlibTest/solve_by_elim/dummy_label_attr.lean,MathlibTest/solve_by_elim/instances.lean,MathlibTest/vec_notation.lean,check_modulized_tests.lean,not_modulized_modules.txt |
42 |
6 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
3-30667 3 days ago |
unknown |
0-0 0 seconds |
| 38292 |
kim-em author:kim-em |
feat(AlgebraicTopology): universal cover construction |
This PR constructs the universal cover of a path-connected, locally path-connected, semilocally simply connected space `X` as the based-path space modulo endpoint-preserving homotopy, topologised by coinduction from the compact-open based-path space.
Split across three files:
* `FundamentalGroupoid/BasedPath.lean` — the based-path space and the path-component machinery of `endpoint ⁻¹' U`.
* `FundamentalGroupoid/UniversalCover/Basic.lean` — quotient topology, `proj`, and the sheet decomposition.
* `FundamentalGroupoid/UniversalCover/Covering.lean` — `isCoveringMap`, `pathConnectedSpace`, `simplyConnectedSpace`, and the universal lifting property `existsUnique_continuousMap_lifts`.
- [ ] depends on: #31576
I want to note this takes a different approach than Hatcher et al, which build the universal cover as the path space, but with a "custom" topology. It is then a theorem (often not proved in textbooks) that with the usual hypotheses this topology coincides with the one coinduced from the compact-open topology. I decided that "the mathlib way" was just to start with the "natural" topology, and not take this shortcut.
🤖 Prepared with Claude Code and Codex. |
|
2996/33 |
Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/BasedPath.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SemilocallySimplyConnected.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/UniversalCover/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/UniversalCover/Covering.lean,Mathlib/Topology/Connected/PathConnected.lean,Mathlib/Topology/Homotopy/Path.lean,Mathlib/Topology/Path.lean,Mathlib/Topology/UnitInterval.lean |
11 |
50 |
['github-actions', 'kim-em', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
3-30661 3 days ago |
unknown |
0-0 0 seconds |
| 38168 |
ADedecker author:ADedecker |
feat: if `E` is finite dimensional, `E →L[𝕜] F` has the product topology |
---
- [x] depends on: #38164
[](https://gitpod.io/from-referrer/)
|
t-topology
t-analysis
awaiting-author
merge-conflict
|
235/29 |
Mathlib.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Topology/Algebra/Module/Spaces/FiniteDimensionCLM.lean |
3 |
8 |
['ADedecker', 'faenuccio', 'github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
j-loreaux assignee:j-loreaux |
3-30416 3 days ago |
27-13233 27 days ago |
4-66970 4 days |
| 38853 |
ldct author:ldct |
chore: tag set lemmas with @[push] |
Tag set theory lemmas for pushing intersection, union and complement
---
[](https://gitpod.io/from-referrer/)
|
t-order
awaiting-author
merge-conflict
|
31/4 |
Mathlib/Data/Set/Basic.lean,Mathlib/Order/BooleanAlgebra/Basic.lean,Mathlib/Order/BooleanAlgebra/Set.lean,MathlibTest/push.lean |
4 |
2 |
['YaelDillies', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
3-30410 3 days ago |
22-30204 22 days ago |
0-18718 5 hours |
| 39101 |
ldct author:ldct |
feat: Tag exp_nat_mul and exp_int_mul |
Tag these two lemmas to allow
- pushing the `^` in `(exp ...)^...`
- pushing the `exp` in `exp (... * ...)`
and add unit tests.
Also tag the real versions, and `exp 0` for `push exp`
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
awaiting-author
merge-conflict
|
28/2 |
Mathlib/Analysis/Complex/Exponential.lean,MathlibTest/push.lean |
2 |
6 |
['github-actions', 'j-loreaux', 'mathlib-merge-conflicts'] |
j-loreaux assignee:j-loreaux |
3-30406 3 days ago |
9-60987 9 days ago |
6-85937 6 days |
| 39111 |
hanwenzhu author:hanwenzhu |
chore(Probability/Martingale): use `to_dual` for Submartingale/Supermartingale |
WIP, will probably split to a PR for EventuallyLE etc cc @CoolRmal
---
[](https://gitpod.io/from-referrer/)
|
WIP
merge-conflict
|
169/169 |
Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean,Mathlib/Analysis/Normed/Order/Lattice.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Basic.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL1.lean,Mathlib/MeasureTheory/Function/LpOrder.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Integral/Bochner/Set.lean,Mathlib/MeasureTheory/Integral/SetToL1.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Probability/Martingale/Basic.lean,Mathlib/Tactic/Translate/Core.lean,Mathlib/Tactic/Translate/ToDual.lean |
12 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
3-30404 3 days ago |
unknown |
0-0 0 seconds |
| 39421 |
harahu author:harahu |
chore: add empty lines after headers |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
1250/0 |
Archive/Imo/Imo1998Q2.lean,Archive/Imo/Imo2001Q6.lean,Archive/Imo/Imo2005Q3.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2008Q3.lean,Archive/Imo/Imo2008Q4.lean,Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Archive/Wiedijk100Theorems/PerfectNumbers.lean,Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Counterexamples/PeanoCurve.lean,Counterexamples/Pseudoelement.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/Azumaya/Basic.lean,Mathlib/Algebra/BrauerGroup/Defs.lean,Mathlib/Algebra/Category/ContinuousCohomology/Basic.lean,Mathlib/Algebra/Category/FGModuleCat/Limits.lean,Mathlib/Algebra/Category/Grp/EpiMono.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Free.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/ColimitFunctor.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Stalk.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Basic.lean,Mathlib/Algebra/Category/Ring/Adjunctions.lean,Mathlib/Algebra/Category/Ring/Epi.lean,Mathlib/Algebra/Category/Ring/Topology.lean,Mathlib/Algebra/Central/Defs.lean,Mathlib/Algebra/Central/TensorProduct.lean,Mathlib/Algebra/CharP/CharAndCard.lean,Mathlib/Algebra/CharP/Defs.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/EuclideanDomain/Field.lean,Mathlib/Algebra/EuclideanDomain/Int.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/Field/Subfield/Defs.lean,Mathlib/Algebra/FreeMonoid/FreeSemigroup.lean,Mathlib/Algebra/GCDMonoid/Nat.lean,Mathlib/Algebra/Group/Equiv/Defs.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Indicator.lean,Mathlib/Algebra/Group/Subgroup/Actions.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Group/Subgroup/Finite.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/Algebra/Group/Subgroup/Map.lean,Mathlib/Algebra/Group/Subgroup/MulOpposite.lean,Mathlib/Algebra/Group/Subgroup/MulOppositeLemmas.lean,Mathlib/Algebra/Group/Subgroup/ZPowers/Basic.lean,Mathlib/Algebra/Group/Subgroup/ZPowers/Lemmas.lean,Mathlib/Algebra/Group/Submonoid/Basic.lean,Mathlib/Algebra/Group/Submonoid/BigOperators.lean,Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/Submonoid/Units.lean,Mathlib/Algebra/Group/Subsemigroup/Basic.lean,Mathlib/Algebra/Group/Subsemigroup/Defs.lean,Mathlib/Algebra/Group/Subsemigroup/Membership.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/Homology/DerivedCategory/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/TStructure.lean,Mathlib/Algebra/Homology/DerivedCategory/SingleTriangle.lean,Mathlib/Algebra/Homology/Embedding/HomEquiv.lean,Mathlib/Algebra/Homology/Embedding/StupidTrunc.lean,Mathlib/Algebra/Homology/Embedding/TruncGE.lean,Mathlib/Algebra/Homology/Functor.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplexShift.lean,Mathlib/Algebra/Homology/HomotopyCategory/KInjective.lean,Mathlib/Algebra/Homology/HomotopyCategory/KProjective.lean,Mathlib/Algebra/Homology/HomotopyCategory/Pretriangulated.lean,Mathlib/Algebra/Homology/ModelCategory/Injective.lean,Mathlib/Algebra/Homology/Opposite.lean,Mathlib/Algebra/Homology/ShortComplex/Ab.lean,Mathlib/Algebra/Homology/SpectralObject/Basic.lean,Mathlib/Algebra/Homology/SpectralObject/Cycles.lean,Mathlib/Algebra/Homology/SpectralObject/Differentials.lean,Mathlib/Algebra/Homology/SpectralObject/EpiMono.lean,Mathlib/Algebra/Homology/SpectralObject/Page.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Lie/Cochain.lean,Mathlib/Algebra/Lie/Extension.lean,Mathlib/Algebra/Lie/Loop.lean,Mathlib/Algebra/Lie/Prod.lean,Mathlib/Algebra/Lie/Semisimple/Lemmas.lean,Mathlib/Algebra/Lie/SerreConstruction.lean,Mathlib/Algebra/Lie/Sl2.lean,Mathlib/Algebra/Lie/Weights/IsSimple.lean,Mathlib/Algebra/Lie/Weights/Killing.lean,Mathlib/Algebra/Lie/Weights/Linear.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Module/LinearMap/Prod.lean,Mathlib/Algebra/Module/LocalizedModule/Submodule.lean,Mathlib/Algebra/Module/Presentation/Basic.lean,Mathlib/Algebra/Module/Presentation/RestrictScalars.lean,Mathlib/Algebra/Module/SnakeLemma.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/Algebra/Module/StablyFree/Basic.lean,Mathlib/Algebra/Module/Submodule/EqLocus.lean |
876 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
3-30400 3 days ago |
unknown |
0-0 0 seconds |
| 39428 |
harahu author:harahu |
chore: add an empty line after module headers |
This makes the docs easier to read.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
121/4 |
Archive/Imo/Imo1998Q2.lean,Archive/Imo/Imo2001Q6.lean,Archive/Imo/Imo2005Q3.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2008Q3.lean,Archive/Imo/Imo2008Q4.lean,Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Counterexamples/PeanoCurve.lean,Counterexamples/Pseudoelement.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/Category/Grp/EpiMono.lean,Mathlib/Algebra/Category/ModuleCat/Stalk.lean,Mathlib/Algebra/EuclideanDomain/Field.lean,Mathlib/Algebra/EuclideanDomain/Int.lean,Mathlib/Algebra/Homology/Opposite.lean,Mathlib/Algebra/Lie/Cochain.lean,Mathlib/Algebra/Lie/Extension.lean,Mathlib/Algebra/Lie/Loop.lean,Mathlib/Algebra/MonoidAlgebra/PointwiseSMul.lean,Mathlib/Algebra/Order/AddTorsor.lean,Mathlib/Algebra/Order/Archimedean/IndicatorCard.lean,Mathlib/Algebra/Squarefree/Basic.lean,Mathlib/Algebra/Vertex/HVertexOperator.lean,Mathlib/Algebra/Vertex/VertexOperator.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Product.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnected.lean,Mathlib/Analysis/Analytic/RadiusLiminf.lean,Mathlib/Analysis/Normed/Affine/Convex.lean,Mathlib/Analysis/Normed/Lp/PiLp.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromBounded.lean,Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean,Mathlib/CategoryTheory/DinatTrans.lean,Mathlib/CategoryTheory/Limits/Preserves/Filtered.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/HasPullback.lean,Mathlib/CategoryTheory/PathCategory/Basic.lean,Mathlib/CategoryTheory/Preadditive/Schur.lean,Mathlib/CategoryTheory/Sites/Abelian.lean,Mathlib/CategoryTheory/Sites/LeftExact.lean,Mathlib/CategoryTheory/Thin.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Data/Bracket.lean,Mathlib/Data/Bundle.lean,Mathlib/Data/Finsupp/BigOperators.lean,Mathlib/Data/Nat/Squarefree.lean,Mathlib/Data/PSigma/Order.lean,Mathlib/Data/SProd.lean,Mathlib/Data/Set/Enumerate.lean,Mathlib/Data/Set/UnionLift.lean,Mathlib/Dynamics/TopologicalEntropy/CoverEntropy.lean,Mathlib/Dynamics/TopologicalEntropy/NetEntropy.lean,Mathlib/Dynamics/TopologicalEntropy/Semiconj.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/Geometry/Manifold/Algebra/Monoid.lean,Mathlib/Geometry/Manifold/Diffeomorph.lean,Mathlib/Geometry/Manifold/IsManifold/InteriorBoundary.lean,Mathlib/GroupTheory/CommutingProbability.lean,Mathlib/LinearAlgebra/Multilinear/Curry.lean,Mathlib/LinearAlgebra/RootSystem/Finite/CanonicalBilinear.lean,Mathlib/LinearAlgebra/RootSystem/Hom.lean,Mathlib/LinearAlgebra/RootSystem/OfBilinear.lean,Mathlib/LinearAlgebra/RootSystem/RootPairingCat.lean,Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean,Mathlib/Logic/Lemmas.lean,Mathlib/MeasureTheory/Function/EssSup.lean,Mathlib/MeasureTheory/Group/Prod.lean,Mathlib/ModelTheory/PartialEquiv.lean,Mathlib/NumberTheory/ClassNumber/AdmissibleAbs.lean,Mathlib/NumberTheory/ClassNumber/AdmissibleAbsoluteValue.lean,Mathlib/NumberTheory/ClassNumber/Finite.lean,Mathlib/NumberTheory/Cyclotomic/Discriminant.lean,Mathlib/NumberTheory/Cyclotomic/PrimitiveRoots.lean,Mathlib/NumberTheory/FLT/Four.lean,Mathlib/NumberTheory/FLT/Three.lean,Mathlib/NumberTheory/NumberField/Basic.lean,Mathlib/NumberTheory/NumberField/Completion/FinitePlace.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Basic.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Embeddings.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/PID.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Three.lean,Mathlib/NumberTheory/NumberField/Discriminant/Basic.lean,Mathlib/NumberTheory/NumberField/Discriminant/Defs.lean,Mathlib/NumberTheory/NumberField/EquivReindex.lean,Mathlib/NumberTheory/NumberField/ExistsRamified.lean,Mathlib/NumberTheory/NumberField/House.lean,Mathlib/NumberTheory/NumberField/Norm.lean,Mathlib/NumberTheory/NumberField/Units/DirichletTheorem.lean,Mathlib/Order/Bounded.lean,Mathlib/Probability/Distributions/Uniform.lean,Mathlib/RepresentationTheory/Rep/Res.lean,Mathlib/RingTheory/AdicCompletion/RingHom.lean,Mathlib/RingTheory/Conductor.lean,Mathlib/RingTheory/Coprime/Lemmas.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean,Mathlib/RingTheory/DedekindDomain/Instances.lean,Mathlib/RingTheory/HahnSeries/Addition.lean,Mathlib/RingTheory/HahnSeries/Binomial.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean |
121 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
3-30399 3 days ago |
3-30400 3 days ago |
6-54148 6 days |
| 39537 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Bicategory/Span): bicategories of spans |
In this PR, we extend the constructions from #39536 to a bicategory structure on `Spans C Wₗ Wᵣ`, which is a type alias for `C`, where the 1-morphisms are spans in `C` with left leg satisfying `Wₗ` and the right leg satisfies `Wᵣ`.
From [SymmMonCoherence](https://github.com/robin-carlier/SymmMonCoherence)
---
- [ ] depends on: #39536
[](https://gitpod.io/from-referrer/)
|
t-category-theory
blocked-by-other-PR
merge-conflict
|
614/0 |
Mathlib.lean,Mathlib/CategoryTheory/Bicategory/Span/Basic.lean,Mathlib/CategoryTheory/MorphismProperty/Limits.lean |
3 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
3-30396 3 days ago |
7-3141 7 days ago |
0-905 15 minutes |
| 39593 |
BoltonBailey author:BoltonBailey |
add linter for name capitalization |
This PR adds a `nameCheck.capitalization` linter to try and capture the guidelines in [this section](https://leanprover-community.github.io/contribute/naming.html#capitalization) of the conventions page.
Some potentially relevant Zulip threads:
- [#lean4 > automatic spelling generation & comparison](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/automatic.20spelling.20generation.20.26.20comparison/with/505760384)
- [#mathlib4 > naming convention linter](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/naming.20convention.20linter/with/564571875)
- [#mathlib4 > Naming convention](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Naming.20convention/with/535123036)
These changes were made entirely with Claude Code and have not currently been audited.
---
[](https://gitpod.io/from-referrer/)
|
t-linter
merge-conflict
|
352/1 |
Mathlib/Tactic/Linter/Style.lean,MathlibTest/NameCheckCapitalization.lean |
2 |
3 |
['github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
nobody |
3-30394 3 days ago |
unknown |
0-0 0 seconds |
| 38953 |
Raph-DG author:Raph-DG |
feat(AlgebraicGeometry): The sheaf of modules associated to a Weil divisor |
In this PR, we construct the sheaf of modules associated to a Weil divisor. Funnily enough, the definition does not actually require that the cycle is a Weil divisor, so in fact we construct a sheaf of modules associated to an arbitrary algebraic cycle. This isn't a particularly interesting definition outside of the case where the cycle is a Weil divisor as far as I can tell, but still I thought that was interesting.
- [ ] depends on: #38472
- [ ] depends on: #35868
---
[](https://gitpod.io/from-referrer/)
|
WIP
large-import
blocked-by-other-PR
|
1382/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/AlgebraicCycle/Basic.lean,Mathlib/AlgebraicGeometry/AlgebraicCycle/Principal.lean,Mathlib/AlgebraicGeometry/AlgebraicCycle/Sheaf.lean,Mathlib/AlgebraicGeometry/FunctionField.lean,Mathlib/AlgebraicGeometry/OrderOfVanishing.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Order/Minimal.lean,Mathlib/Topology/Connected/Basic.lean,Mathlib/Topology/Inseparable.lean,Mathlib/Topology/LocallyFinsupp/Pushforward.lean,Mathlib/Topology/Sheaves/SheafCondition/UniqueGluing.lean,Mathlib/Topology/Sober.lean |
14 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
3-29570 3 days ago |
20-31316 20 days ago |
0-12 12 seconds |
| 39687 |
TentativeConvert author:TentativeConvert |
feat(Algebra/Group/Submonoid): type class to indicate that supremum in a SubmonoidClass agrees with supremum of submonoids |
Add a type class `SubmonoidClass.IsConcreteSSup` to indicate that the canonical map `.ofClass` from a class `S` of submonoids of `M` to `Submonoid M` preserves suprema.
---
This PR implements the minimal type class assumption needed to make „pushfoward of gradings along maps of indexing sets“ – see draft PR #39356 – work in some `SetLike` generality.
Given `{S M : Type*} [SetLike S M] [Monoid M] [SubmonoidClass S M]`, we have canonical maps
```
S → Submonoid M → Set M
```
The first is `Submonoid.ofClass`, the second and the composition are `coe` maps coming from the `SetLike` structures. Depending on `S`, these maps may or may not satisfy various properties with respect the lattice structures on `Submonoid M` and `Set M`. Mathlib so far includes the type class `[IsConcreteLE S M]`, which asserts that the composition `S → Set M` is order-preserving and order-reflecting. The type class defined here asserts that the first map, `S → Submonoid M`, preserves suprema.
In examples such as `S = Subgroup M`, `S = Submodule R M`, much more is true – in these cases, `S` is a complete sublattice of `Submonoid M`. But there are also examples where only the weaker property defined here holds, e.g. `S = OpenSubgroup M` for a topological group `M`.
Note on `outParam`: I did *not* write `(M : outParam Type*)` in the assumptions of `SubmonoidClass.IsConcreteSSup` in accordance with the [DocString of `Setlike`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/SetLike/Basic.html#SetLike). However, we do have `(B : outParam Type*)` in the definition of `IsConcreteLE`, so perhaps I'm misinterpreting the DocString.
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
56/0 |
Mathlib.lean,Mathlib/Algebra/Group/Submonoid/SSup.lean |
2 |
2 |
['github-actions'] |
nobody |
3-29557 3 days ago |
3-29626 3 days ago |
3-30221 3 days |
| 38376 |
smmercuri author:smmercuri |
refactor(Algebra): semialgebra maps |
---
- [x] depends on: #38715
- [ ] depends on: #38964
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-other-PR
|
776/587 |
Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Prod.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/Algebra/TransferInstance.lean,Mathlib/Algebra/Algebra/Unitization.lean,Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/Algebra/SkewMonoidAlgebra/Lift.lean,Mathlib/Algebra/Star/StarAlgHom.lean,Mathlib/FieldTheory/CardinalEmb.lean,Mathlib/FieldTheory/Extension.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/Galois/Notation.lean,Mathlib/FieldTheory/Galois/Profinite.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/FieldTheory/LinearDisjoint.lean,Mathlib/FieldTheory/Normal/Basic.lean,Mathlib/FieldTheory/Normal/Defs.lean,Mathlib/FieldTheory/RatFunc/Basic.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/FieldTheory/SplittingField/IsSplittingField.lean,Mathlib/LinearAlgebra/FreeProduct/Basic.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean,Mathlib/LinearAlgebra/SymmetricAlgebra/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Subalgebra.lean,Mathlib/NumberTheory/Cyclotomic/Gal.lean,Mathlib/RingTheory/AdicCompletion/Algebra.lean,Mathlib/RingTheory/Adjoin/Field.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/AlgebraTower.lean,Mathlib/RingTheory/AlgebraicIndependent/Transcendental.lean,Mathlib/RingTheory/Bialgebra/Equiv.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/Derivation/ToSquareZero.lean,Mathlib/RingTheory/Etale/Field.lean,Mathlib/RingTheory/Etale/QuasiFinite.lean,Mathlib/RingTheory/Etale/StandardEtale.lean,Mathlib/RingTheory/Extension/Generators.lean,Mathlib/RingTheory/Extension/Presentation/Core.lean,Mathlib/RingTheory/FinitePresentation.lean,Mathlib/RingTheory/GradedAlgebra/AlgHom.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/IntegralClosure/IsIntegralClosure/Basic.lean,Mathlib/RingTheory/Kaehler/Basic.lean,Mathlib/RingTheory/LocalRing/ResidueField/Fiber.lean,Mathlib/RingTheory/Localization/FractionRing.lean,Mathlib/RingTheory/MvPowerSeries/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Evaluation.lean,Mathlib/RingTheory/Norm/Transitivity.lean,Mathlib/RingTheory/Polynomial/Quotient.lean,Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean,Mathlib/RingTheory/Smooth/Basic.lean,Mathlib/RingTheory/Smooth/IntegralClosure.lean,Mathlib/RingTheory/Smooth/Kaehler.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/Trace/Basic.lean,Mathlib/RingTheory/Unramified/Pi.lean,Mathlib/Topology/Algebra/Algebra.lean,Mathlib/Topology/Algebra/Module/Spaces/CharacterSpace.lean,Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean,MathlibTest/GalNotation.lean |
65 |
12 |
['github-actions', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'smmercuri'] |
nobody |
3-28724 3 days ago |
33-7839 33 days ago |
0-8 8 seconds |
| 39646 |
YaelDillies author:YaelDillies |
feat(Algebra/Order): maximally varying version of `prod_le_prod_of_subset_of_one_le` |
We need this for `gcongr`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
49/26 |
Mathlib/Algebra/Module/ZLattice/Summable.lean,Mathlib/Algebra/Order/BigOperators/Group/Finset.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/Finset.lean,Mathlib/Analysis/Complex/Exponential.lean |
4 |
7 |
['YaelDillies', 'b-mehta', 'github-actions'] |
nobody |
3-27867 3 days ago |
4-28635 4 days ago |
4-32086 4 days |
| 37598 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph/Coloring): add lemmas about coloring and maps |
---
Idea from this Zulip thread: [graph theory>Second Order Monadic Logic for Graph](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/Second.20Order.20Monadic.20Logic.20for.20Graph/with/583013775)
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
37/12 |
Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean |
2 |
27 |
['IvanRenison', 'SnirBroshi', 'YaelDillies', 'b-mehta', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
YaelDillies assignee:YaelDillies |
3-26529 3 days ago |
8-84976 8 days ago |
49-65389 49 days |
| 38837 |
kbuzzard author:kbuzzard |
feat: add "higher instance priority" library note |
We add a library note explaining the logic in making instances like `Semiring.toModule` higher priority than the default.
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #38704 [only because one of the claims in the note is false without it]
|
|
19/0 |
Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/HierarchyDesign.lean,Mathlib/Algebra/Module/Defs.lean |
4 |
5 |
['github-actions', 'kbuzzard', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
3-26406 3 days ago |
14-80911 14 days ago |
15-67677 15 days |
| 37618 |
WenrongZou author:WenrongZou |
feat(PowerSeries): rename a power series as multivariate power series |
---
In this PR, I define the `PowerSeries.toMvPowerSeries` which use `Polynomial.toMvPolynomial` as reference. Also there is some missing APIs in `MvPowerSeries/Equiv.lean` with respect to `MvPolynomial/Equiv.lean`. I will try to add them in next several PRs.
- [x] depends on: #37576
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
|
77/1 |
Mathlib/RingTheory/MvPowerSeries/Equiv.lean |
1 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
riccardobrasca assignee:riccardobrasca |
3-26345 3 days ago |
3-26412 3 days ago |
23-36785 23 days |
| 36275 |
smmercuri author:smmercuri |
feat: norm for the finite adele ring of a number field |
---
- [x] depends on: #35820
[](https://gitpod.io/from-referrer/)
|
|
137/1 |
Mathlib.lean,Mathlib/NumberTheory/NumberField/Completion/FinitePlace.lean,Mathlib/NumberTheory/NumberField/FiniteAdeleRing.lean,Mathlib/Topology/Algebra/Valued/NormedValued.lean |
4 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
3-25853 3 days ago |
3-25926 3 days ago |
3-27181 3 days |
| 38318 |
JovanGerb author:JovanGerb |
feat(GRewrite): new `grw` implementation |
This PR adds a new implementation of the `grewrite` tactic. It replaces `grw` with the new implementation. The old implementation can be used with `grw +useKAbstract`.
New features:
- The new `grw` can rewrite terms with bound variables.
- The new `grw` will only rewrite in places where this is valid. Previously, if there were both valid and non-valid positions, it would try rewriting everywhere and then complain.
Future features that will build on the new implementation:
- I'd like to add support for strict rewrites that can change the strictness of parts of the goal. This would require the concept of asymmetric `gcongr` lemmas, something like `le_imp_lt_of_lt_left` and `le_imp_lt_of_lt_right`. An example of such a lemma that already exists in mathlib is `Ico_subset_Ioo_left`.
- I'd like to improve the support for rewriting with symmetric relations such as `=ᵥ`. The following doesn't work very well yet:
```
variable {R : Type*} [CommRing R] [ValuativeRel R] {x y z : R}
example (h : x =ᵥ y) : x <ᵥ z ↔ y <ᵥ z := by
grw [h]
```
Limitations:
- The new implementation does not support occurrences. So, `nth_grw` still uses the old `kabstract`-based implementation. The reason is that there are often multiple `gcongr` lemmas for rewriting in the same place (e.g. `add_le_add` and `add_le_add_left`), and it's tricky to keep track of exactly what is "the same" subexpression.
- The new implementation tries `gcongr` lemmas one by one, and commits to the first `gcongr` lemma that lets us do a rewrite. This means that we need to lower the priority of `add_le_add_left`, so that `add_le_add` is preferred, so that we can rewrite on both sides of `+` at the same time. However, `mul_le_mul_of_nonneg_left` and `mul_le_mul_of_nonneg_right` are still tried before `mul_le_mul`, to avoid getting unnecessary side goals.
- Because the new term is constructed from `gcongr` lemmas, rather than by instantiating the result of `kabstract`, it may be that metadata gets lost, or that some implicit arguments change. For example, rewriting inside `a ≤ b` for `a b : Nat` will change the instance argument from `Nat.instLE` to `Nat.instPreorder.toLE`. This is not really a problem.
- Some problems arise when implementing a rewriting tactic that can rewrite under binders, because metavariables have a fixed local context of free variables that they are allowed to depend on. This issue also affects the new `rw` tactic that the FRO is currenlty working on. This PR works around this by "illegally" changing the local context of metavariabes, so as to allow them to depend on bound variables. This has the unfortunate side effect that the "Expected Type" view can get messed up when rewriting bound variables, because the expression is being delaborated with the wrong local context. But I think this is only a minor problem. We coould reconsider this design when the new `rw` tactic is done.
Changes to `gcongr`:
- The `@[goncgr]` attribute now checks more thoroughly whether the given lemma is of the right form. Some lemmas are not suitable for use in `grw`, but they still "feel" like a `gcongr` lemma, so we still allow them to be used in `gcongr`. For such cases I've added a linter warning that can be turned off.
- I've refactored how `gcongr` lemmas are applied, in order to share this code between `gcongr` and `grw`. Now, binder names are taken from the goal when possible, rather than not giving any name to new free variables. This improves `gcongr` (as it means you don't anymore need to write `gcongr with ...` to give the variable a name), and allows `grw` to preserve binder names in the goal.
The grewrite test file now tests the new `grw` implementation. Should I make a copy of the test file to also test the old implementation?
I have put myself as the copyright holder, instead of Sebastian Zimmer, as I think this more accurately reflect code ownership. The original `grw` PR was by Sebastian in 2023, but it was majorly rewritten by me in 2025. Sebastian is still in the list of authors.
---
- [x] depends on: #38558
- [x] depends on: #38556
[](https://gitpod.io/from-referrer/)
|
t-meta |
686/254 |
Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/Order/Group/Indicator.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Sub/Defs.lean,Mathlib/Analysis/CStarAlgebra/Extreme.lean,Mathlib/Analysis/Convex/StrictCombination.lean,Mathlib/Analysis/Distribution/Support.lean,Mathlib/Combinatorics/Graph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/MeasureTheory/Integral/Average.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/AbsolutelyContinuousFun.lean,Mathlib/Order/Basic.lean,Mathlib/Probability/Distributions/Gaussian/HasGaussianLaw/Independence.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/GRewrite/Core.lean,Mathlib/Tactic/GRewrite/Elab.lean,Mathlib/Topology/MetricSpace/ThickenedIndicator.lean,MathlibTest/GCongr/GCongr.lean,MathlibTest/GCongr/implications.lean,MathlibTest/Tactic/GRewrite.lean |
22 |
41 |
['JovanGerb', 'PatrickMassot', 'Vierkantor', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
dwrensha assignee:dwrensha |
3-24869 3 days ago |
3-24905 3 days ago |
16-80405 16 days |
| 39411 |
JovanGerb author:JovanGerb |
feat(Push): allow pushing `∀` through `∃` |
This PR adds `Classical.skolem` to the `push` set. This allows pusing a forall through an exists, which can sometimes be convenient.
This PR also removes `forall_self_imp` from the `push` set. I'm not sure why I added it in the first place - I think it is out of scope.
This PR also fixes a subtle bug in `push` which causes `push` to not be idempotent. Namely that the default value of `post` returns `.done` instead of `.continue`, causing the tactic to stop earlier than it should/
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
9/3 |
Mathlib/Tactic/Push.lean,MathlibTest/Tactic/Push.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
3-24844 3 days ago |
3-21738 3 days ago |
0-6372 1 hour |
| 39662 |
kim-em author:kim-em |
feat(scripts): add cross-reference tag tooling |
This PR adds two standalone scripts in `scripts/` to support review of PRs that add `@[stacks]`, `@[kerodon]`, or `@[wikidata]` attributes. Neither needs a `lakefile.lean` entry — both run via `lake env lean --run` and depend only on Lean core (plus `curl` on `PATH` for the fetcher).
* `scripts/crossref-snippet.lean` fetches a one-line label/description for one or more tags from the upstream database. Wikidata uses the `wbgetentities` API (with recovery when one bad QID poisons a batch); Stacks and Kerodon use the documented Gerby `/data/tag//content/statement` endpoint with a tolerant HTML→text strip that survives `<` inside math. Exit codes distinguish all-resolved (0) from missing (2) from transient network failure (3). When `CROSSREF_CACHE_DIR` is set, responses are memoised per `(database, tag)` so repeat lookups are instant.
* `scripts/extract-crossref-tags.lean` walks a `.lean` file (or the added lines of a git diff range) and emits TSV of every cross-reference attribute it finds, paired with the declaration it decorates. A byte-level scanner correctly skips string literals and line/block comments, handles multi-attribute blocks (`@[simp, stacks 01AB]`), multi-line attribute blocks, doc comments between attribute and declaration, and modifier keywords (`private`, `noncomputable`, …). Signatures are collapsed to one line for downstream consumption.
Sample usage:
```sh
lake env lean --run scripts/crossref-snippet.lean wikidata Q11518
# Q11518 Pythagorean theorem relation in Euclidean geometry among the three sides of a right triangle
lake env lean --run scripts/crossref-snippet.lean stacks 01AB
# 01AB Lemma 14.32.3 Lemma 14.32.3. Let \$A\$, \$B\$ be sets ...
lake env lean --run scripts/extract-crossref-tags.lean --file Mathlib/Algebra/CharP/Basic.lean
# stacks Mathlib/Algebra/CharP/Basic.lean 195 09FS First part. ... instance charP instance charP (n : ℕ) [NeZero n] : CharP (Fin n) n
lake env lean --run scripts/extract-crossref-tags.lean --diff origin/master..HEAD --db wikidata
```
The scripts are deliberately text-only — they do not elaborate the files they inspect. That lets the companion CI workflow (#39666) operate on PR files as data without executing PR code under a privileged GitHub token.
Stacked follow-up PRs:
1. #39664 — LSP widget surfacing snippets in the editor when the cursor sits on a cross-reference attribute, sharing the fetch logic via a new `Mathlib/Tactic/CrossRef/Fetch.lean` module.
2. #39666 — GitHub Actions workflow that posts a once-per-PR comment with tag / signature / snippet tables and fails CI on unresolved tags (orchestrator lives in mathlib-ci#39).
🤖 Prepared with Claude Code |
CI
awaiting-author
|
971/0 |
scripts/README.md,scripts/crossref.lean |
2 |
1 |
['github-actions'] |
nobody |
3-24514 3 days ago |
3-24514 3 days ago |
0-9499 2 hours |
| 39120 |
wwylele author:wwylele |
feat(MeasureTheory,Euclidean): area formula |
This PR aims to prove the generalization of [MeasureTheory.lintegral_abs_det_fderiv_eq_addHaar_image](https://leanprover-community.github.io/mathlib4_docs/Mathlib/MeasureTheory/Function/Jacobian.html#MeasureTheory.lintegral_abs_det_fderiv_eq_addHaar_image) in inner product spaces, where the domain and the codomain are allowed to be different.
WIP. TODO:
- Remove the restriction on f'.ker = bot
- Rmoeve [SecondCountableTopology V]
- Clean up the proof
AI usage disclosure: Aristotle were used to prove some "trivial" lemma (measurability, summability etc.)
---
- [ ] depends on: #37295
- [ ] depends on: #39132
- [ ] depends on: #39160
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR |
1957/5 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/NormDet.lean,Mathlib/Geometry/Euclidean/Volume/Area.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,docs/references.bib |
6 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
3-23479 3 days ago |
unknown |
0-0 0 seconds |
| 38464 |
xroblot author:xroblot |
feat(FieldTheory/Galois/IsGaloisGroup): generalize mulEquivCongr |
Generalizes `mulEquivCongr` from field extensions to domain extensions. The field version is renamed to `mulEquivCongr'`.
Also adds some simp lemmas.
---
- [x] depends on: #38377 |
t-algebra label:t-algebra$ |
56/15 |
Mathlib/FieldTheory/Galois/IsGaloisGroup.lean |
1 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
3-20744 3 days ago |
17-7778 17 days ago |
17-8827 17 days |
| 39666 |
kim-em author:kim-em |
feat(ci): cross-reference tag review via post-build lint + workflow_run |
Cross-reference tag review for PRs adding `@[stacks ...]`, `@[kerodon ...]`, or `@[wikidata ...]` attributes — implemented as a post-build lint step plus a `workflow_run`-triggered companion that posts the bot comment.
**Why this shape.** The previous iteration of this PR ran an independent `pull_request_target` workflow that text-parsed PR source files. That was a workaround for not having a built Mathlib environment available in CI. With a post-build lint step we _do_ have the elaborated environment — so we read `Mathlib.CrossRef.tagExt` directly via `importModules (loadExts := true)` and cut ~250 LOC of bespoke byte-level scanner.
**The three pieces:**
- `scripts/crossref.lean` — the `extract` subcommand is gone. New `check --diff --tsv ` subcommand walks `tagExt`, looks up each tagged declaration's source module via `env.getModuleFor?`, filters by `git diff --name-only` of the PR range, and writes a machine-readable TSV. No Markdown, no network, no snippet fetching — that's the privileged workflow's job. Note: `withImportModules` passes `loadExts := false` and would leave `tagExt` empty for imported modules; we use `importModules (loadExts := true)` instead.
- `.github/workflows/build_template.yml` — three new steps in `post_steps`, after the existing import-graph upload:
1. `lake env lean --run scripts/crossref.lean check --diff "${BASE_SHA}..HEAD" --tsv crossref-added.tsv`
2. Write `crossref-context.json` carrying the PR number and head SHA (so the `workflow_run` job doesn't have to rely on the unreliable `workflow_run.pull_requests[0].number`).
3. Upload both as a single `crossref-context` artifact.
- `.github/workflows/crossref_review.yml` — rewritten. Trigger flips from `pull_request_target` to `workflow_run` on the build workflows. Downloads the artifact, resolves the PR number through a three-stage fallback (artifact JSON → workflow_run payload → `gh pr list` head SHA match), calls the mathlib-ci orchestrator (which now consumes the TSV and fetches snippets in Python directly with parallel `ThreadPoolExecutor` for Stacks/Kerodon), and posts via `update_PR_comment.sh`. Fails the check on any `missing` tag.
**Privilege model.** The lint step runs with the PR's permissions and produces only a machine-readable TSV. The `workflow_run` job runs in the base ref's permission scope (with `pull-requests: write`), never executes anything from the artifact, fetches snippets server-side from three fixed upstream APIs, and builds the Markdown comment in trusted code.
- [x] depends on: #39664
- [x] depends on: https://github.com/leanprover-community/mathlib-ci/pull/39 (rewrites the orchestrator to consume the TSV)
🤖 Prepared with Claude Code |
blocked-by-other-PR |
1182/25 |
.github/workflows/build_template.yml,.github/workflows/crossref_review.yml,Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CrossRef/Fetch.lean,Mathlib/Tactic/CrossRefAttribute.lean,Mathlib/Tactic/Widget/CrossRefHover.lean,docs/workflows.md,scripts/README.md,scripts/crossref.lean |
10 |
3 |
['github-actions', 'kim-em', 'mathlib-dependent-issues'] |
nobody |
3-19840 3 days ago |
unknown |
0-0 0 seconds |
| 39699 |
kbuzzard author:kbuzzard |
chore: refactor Algebra.TensorProduct.rightAlgebra |
(was #25481 ; now re-opened from a fork).
The declaration `Algebra.TensorProduct.rightAlgebra` makes `A ⊗[R] B` into a `B`-algebra (here `R` is a `CommSemiring`, `A` is a `Semiring` and an `R`-algebra, and `B` is a `CommSemiring` and an `R`-algebra). It is not an instance because if A = B it causes a diamond. However in the many cases where A isn't B, it can occasionally be useful.
However one could imagine that in the many cases where an R-module `M` also isn't `B`, it might occasionally be useful to make `M ⊗[R] B` into a `B`-module (and indeed I am finding this in FLT). With the current definition of `Algebra.TensorProduct.rightAlgebra` this is difficult to do without causing diamonds in the case when `M` happens to be an `R`-algebra (by which I mean "I failed to do this in finite time").
One fix for this is just to redefine `Algebra.TensorProduct.rightAlgebra` so that the `smul` field is
```
smul b ab := TensorProduct.comm _ _ _ (b • (TensorProduct.comm _ _ _ ab))
```
i.e. literally "swap the product around, use mathlib's instance making `B ⊗[R] A` into a `B`-algebra, and then swap back". Then the same definition can be used to make `M ⊗[R] B` into a `B`-module and on the odd occasion where this point of view is useful, there is no diamond. This is what we do in this PR. After adding one simp lemma there is no breakage at all in mathlib. Furthermore, for those who have observed that we want to build on this algebra instance sometimes and, for example, add instances of the form "if M is finite over R then M ⊗[R] B is finite over B" -- these instances are really easy to add now with this new definition, because you simply pull back the analogous finite left module instance along the isomorphism M ⊗[R] B = B ⊗[R] M. Examples (from FLT, where the right action is put in a scope):
```
scoped instance [Module.Finite R M] : Module.Finite A (M ⊗[R] A) :=
Module.Finite.equiv (Module.TensorProduct.comm R A M)
scoped instance [Module.Free R M] : Module.Free A (M ⊗[R] A) :=
Module.Free.of_equiv (Module.TensorProduct.comm R A M)
```
---
[](https://gitpod.io/from-referrer/)
---
[](https://gitpod.io/from-referrer/)
|
|
29/6 |
Mathlib/RingTheory/TensorProduct/Basic.lean |
1 |
2 |
['github-actions', 'kbuzzard'] |
nobody |
3-15741 3 days ago |
3-16333 3 days ago |
0-69 1 minute |
| 35296 |
Rida-Hamadani author:Rida-Hamadani |
feat(SimpleGraph): taking or droping from a cycle results in a path |
---
- [x] depends on: #33249
- [ ] depends on: #35295
- [x] depends on: #35292
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-combinatorics
merge-conflict
|
80/0 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Operations.lean,Mathlib/Data/List/Infix.lean |
3 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
3-14379 3 days ago |
100-20106 100 days ago |
0-1258 20 minutes |
| 31513 |
FLDutchmann author:FLDutchmann |
feat(Tactic): `polynomial` tactic |
Implement tactic for proving equality of polynomials.
This tactic is part of a larger suite (see https://github.com/leanprover-community/mathlib4/pull/30374).
- [x] depends on: #31508
---
[](https://gitpod.io/from-referrer/)
|
t-meta
awaiting-author
|
284/2 |
Mathlib.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Polynomial/Basic.lean,Mathlib/Tactic/Polynomial/Core.lean,MathlibTest/Polynomial.lean |
7 |
18 |
['FLDutchmann', 'github-actions', 'joneugster', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] |
Vierkantor and joneugster assignee:Vierkantor assignee:joneugster |
3-13117 3 days ago |
17-6520 17 days ago |
13-3667 13 days |
| 39589 |
ScottWe author:ScottWe |
feat: simple lemmas about Hermitian matrices |
This pull request establishes some simple proofs about Hermitian algebras. In particular:
- Unitary Hermitian matrices are self-inverse;
- Hermitian matrices are in correspondence with skew-adjoint matrices. |
new-contributor
awaiting-author
t-algebra
t-analysis
label:t-algebra$ |
72/0 |
Mathlib.lean,Mathlib/Analysis/Matrix/SkewAdjoint.lean,Mathlib/LinearAlgebra/Matrix/Hermitian.lean,Mathlib/LinearAlgebra/Matrix/Unitary.lean |
4 |
13 |
['ScottWe', 'SnirBroshi', 'github-actions', 'j-loreaux', 'themathqueen'] |
nobody |
3-12580 3 days ago |
5-74262 5 days ago |
0-7869 2 hours |
| 36814 |
YaelDillies author:YaelDillies |
refactor(Combinatorics/SimpleGraph): no proof obligation in `rotate` |
If the walk doesn't go through the new vertex, return `nil` instead.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
46/32 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean |
8 |
9 |
['SnirBroshi', 'YaelDillies', 'b-mehta', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
3-10491 3 days ago |
3-10111 3 days ago |
62-37670 62 days |
| 39709 |
justus-springer author:justus-springer |
feat(RingTheory/): `MvPolynomial` is standard smooth |
Add the trivial submersive presentation for `MvPolynomial` and show that `MvPolynomial` is standard smooth over its base ring.
- [ ] depends on: #39708
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
blocked-by-other-PR
|
66/8 |
Mathlib/RingTheory/Extension/Generators.lean,Mathlib/RingTheory/Extension/Presentation/Basic.lean,Mathlib/RingTheory/Extension/Presentation/Submersive.lean,Mathlib/RingTheory/Smooth/Basic.lean,Mathlib/RingTheory/Smooth/Quotient.lean,Mathlib/RingTheory/Smooth/StandardSmooth.lean |
6 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
3-8931 3 days ago |
3-8932 3 days ago |
0-2889 48 minutes |
| 39708 |
justus-springer author:justus-springer |
feat(RingTheory/Smooth/Basic): add `Generators.mvPolynomial` |
Define trivial `Generators` for `MvPolynomial` and use it to golf `FormallySmooth.mvPolynomial` (where they were previously defined inline). This also removes a `set_option backward.isDefEq.respectTransparency false`.
- [ ] depends on: #39706
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
blocked-by-other-PR
|
19/8 |
Mathlib/RingTheory/Extension/Generators.lean,Mathlib/RingTheory/Smooth/Basic.lean,Mathlib/RingTheory/Smooth/Quotient.lean |
3 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
3-8929 3 days ago |
3-8930 3 days ago |
0-3185 53 minutes |
| 39713 |
vihdzp author:vihdzp |
feat: values of `preAleph.symm` |
For a cardinal `c`, `preAleph.symm c` returns the ordinal index of `c`, within the well-order of cardinals.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
23/2 |
Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Cardinal/Regular.lean |
2 |
1 |
['github-actions'] |
nobody |
3-7659 3 days ago |
3-7751 3 days ago |
3-7746 3 days |
| 39689 |
kbuzzard author:kbuzzard |
perf: increase prio of AddCommMonoid.toAddMonoid |
The idea is that to prove M is an additive monoid, then essentially always it's a good idea to try to prove that it's a commutative additive monoid. This is in stark contrast to multiplication, which is often not commutative.
This change will not make failures any slower, but it might make successes faster.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
WIP
label:t-algebra$ |
7/3 |
Mathlib/Algebra/Group/Defs.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/RingTheory/Polynomial/IsIntegral.lean |
4 |
11 |
['github-actions', 'kbuzzard', 'leanprover-radar', 'mattrobball'] |
nobody |
3-7577 3 days ago |
3-7577 3 days ago |
0-22163 6 hours |
| 39196 |
tb65536 author:tb65536 |
feat(RingTheory/LocalRing/ResidueField/Fiber): the localization of `Ideal.Fiber` is a quotient |
This PR proves that the localization of `Ideal.Fiber` is a quotient. This will be applied in #39189 to prove the ramification-inertia formula for finite flat extensions.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
48/0 |
Mathlib/RingTheory/LocalRing/ResidueField/Fiber.lean |
1 |
1 |
['github-actions'] |
nobody |
3-6473 3 days ago |
14-12479 14 days ago |
14-12476 14 days |
| 33832 |
alreadydone author:alreadydone |
feat(Algebra): localization preserves unique factorization |
---
- [x] depends on: #33851
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
label:t-algebra$ |
143/12 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/UniqueFactorization.lean,Mathlib/RingTheory/Localization/Defs.lean |
6 |
13 |
['Vierkantor', 'alreadydone', 'dagurtomas', 'github-actions', 'mathlib4-dependent-issues-bot', 'riccardobrasca'] |
Vierkantor assignee:Vierkantor |
3-6236 3 days ago |
109-1904 109 days ago |
15-81158 15 days |
| 33506 |
Rida-Hamadani author:Rida-Hamadani |
feat(SimpleGraph): construct a cycle of two distinct paths with same start and end |
Co-authored-by: Vlad Tsyrklevich
Co-authored-by: Snir Broshi <26556598+SnirBroshi@users.noreply.github.com>
---
- [x] depends on: #33249
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
114/5 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Nodup.lean |
5 |
62 |
['Rida-Hamadani', 'SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'vlad902'] |
nobody |
3-5970 3 days ago |
3-40143 3 days ago |
31-35733 31 days |
| 39714 |
tb65536 author:tb65536 |
feat(RingTheory/Localization/AtPrime/Basic): add variants of `localAlgHom` and `localAlgEquiv` |
This PR adds variants of `localAlgHom` and `localAlgEquiv` where the base ring is also localized.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
45/5 |
Mathlib/RingTheory/Localization/AtPrime/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
3-5709 3 days ago |
3-5709 3 days ago |
3-5706 3 days |
| 39711 |
robin-carlier author:robin-carlier |
test: specify univ vars in Cat |
The current return type of `Cat` is `Type max (u + 1) u (v + 1)`, let’s see if forcing it to be `Type max _ _` helps.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
1/1 |
Mathlib/CategoryTheory/Category/Cat.lean |
1 |
5 |
['github-actions', 'leanprover-radar', 'robin-carlier'] |
nobody |
3-5195 3 days ago |
unknown |
0-0 0 seconds |
| 39716 |
tb65536 author:tb65536 |
feat(RingTheory/LocalRing/ResidueField/Basic): add algebra homs between residue fields |
This PR adds algebra homs between residue fields.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
62/0 |
Mathlib/RingTheory/LocalRing/ResidueField/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
3-4543 3 days ago |
3-4543 3 days ago |
3-4538 3 days |
| 39621 |
chrisflav author:chrisflav |
refactor(Topology): use `WithTopology` to define `WithConstructibleTopology` |
We replace the type synonym `WithConstructibleTopology` by `WithTopology _ (constructibleTopology X)`. This breaks the def-eq `X = WithConstructibleTopology X`, which was luckily not abused much yet.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
38/5 |
Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/Spectral/ConstructibleTopology.lean,Mathlib/Topology/WithTopology.lean |
3 |
2 |
['github-actions', 'plp127'] |
nobody |
3-3406 3 days ago |
5-5597 5 days ago |
5-5592 5 days |
| 38153 |
xroblot author:xroblot |
chore(IsGaloisGroup): refactor `IsGaloisGroup.quotient` |
Refactors the quotient construction in `IsGaloisGroup` to work at the level of ring extensions rather than intermediate fields.
---
- [x] depends on: #38377
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
189/58 |
Mathlib/Algebra/Algebra/Basic.lean,Mathlib/FieldTheory/Galois/IsGaloisGroup.lean |
2 |
39 |
['Garmelon', 'github-actions', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'riccardobrasca', 'tb65536', 'xroblot'] |
riccardobrasca assignee:riccardobrasca |
3-2034 3 days ago |
3-14182 3 days ago |
10-42981 10 days |
| 39413 |
vihdzp author:vihdzp |
bug: turning theorem into alias breaks bound tactic |
I have no idea what's going on.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
will-close-soon
label:t-algebra$ |
1/3 |
Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
2-82563 2 days ago |
unknown |
0-0 0 seconds |
| 38234 |
vihdzp author:vihdzp |
chore: make `IsSuccLimit` a structure |
This lets us name the fields. Note that the `mk_iff` lemma overwrites a recently deprecated theorem.
---
[](https://gitpod.io/from-referrer/)
|
t-order
maintainer-merge
|
40/33 |
Mathlib/Order/SuccPred/InitialSeg.lean,Mathlib/Order/SuccPred/Limit.lean |
2 |
6 |
['YaelDillies', 'github-actions', 'plp127'] |
nobody |
2-78259 2 days ago |
16-36318 16 days ago |
32-24600 32 days |
| 39523 |
kim-em author:kim-em |
feat(LinearAlgebra/Trace): trace-zero idempotent endomorphism over CharZero field is zero |
This PR adds `LinearMap.IsIdempotentElem.eq_zero_of_trace_eq_zero`: an idempotent endomorphism of a finite-dimensional vector space over a characteristic-zero field with vanishing trace is the zero map.
The proof routes through `LinearMap.IsProj.trace` (already in this file) — for an idempotent `e`, the trace equals the rank of `range e`. Over a `CharZero` field, vanishing trace forces the rank to zero, hence `range e = ⊥` and `e = 0`.
🤖 Prepared with Claude Code |
t-algebra
maintainer-merge
awaiting-author
label:t-algebra$ |
19/0 |
Mathlib/LinearAlgebra/Trace.lean |
1 |
4 |
['github-actions', 'jcommelin', 'themathqueen'] |
nobody |
2-78102 2 days ago |
3-24660 3 days ago |
0-41747 11 hours |
| 37718 |
SabrinaJewson author:SabrinaJewson |
feat(Order): add conversions from `Std` order typeclasses to Mathlib ones |
`{Preorder, PartialOrder, LinearOrder}.ofStd` exist to facilitate convenient translation from `Std` order typeclasses to Mathlib ones.
The design is modelled closely after [`Init.Data.Order.PackageFactories`](https://leanprover-community.github.io/mathlib4_docs/Init/Data/Order/PackageFactories.html) (`Std.PreorderPackage` is equivalent-ish to Mathlib’s `Preorder`, and same for partial and linear orders). The `OfStdArgs` types allow conveniently bundling a whole bunch of default arguments together in a way that allows one default argument set to `extends` another.
---
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
maintainer-merge
|
391/0 |
Mathlib.lean,Mathlib/Order/Std.lean,MathlibTest/OrderOfStd.lean |
3 |
9 |
['SabrinaJewson', 'YaelDillies', 'github-actions'] |
YaelDillies assignee:YaelDillies |
2-76274 2 days ago |
3-68070 3 days ago |
48-62407 48 days |
| 36636 |
Vierkantor author:Vierkantor |
feat(Tactic/Linter): linter for comments that should become docstrings |
This PR adds a linter that warns when there is a comment before a declaration which could become a docstring instead. A lot of the instances it spots appear to be simple typos, where a docstring was actually intended. Where a comment was originally intended, I would argue it is still a good idea include the comments in the generated documentation, or at least it does not hurt anyone.
Closes: https://github.com/mathlib-initiative/TaskList/issues/41
---
- [ ] depends on: #36635
[](https://gitpod.io/from-referrer/)
|
t-linter
blocked-by-other-PR
merge-conflict
|
312/260 |
Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Abelian.lean,Mathlib/Algebra/Category/ModuleCat/Semi.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Subgroup/MulOppositeLemmas.lean,Mathlib/Algebra/Group/Submonoid/Basic.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/Subsemigroup/Basic.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/Order/Group/Unbundled/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean,Mathlib/Algebra/Order/Ring/Star.lean,Mathlib/Algebra/Order/Sub/Defs.lean,Mathlib/Algebra/Polynomial/CoeffList.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/AlgebraicGeometry/Morphisms/WeaklyEtale.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean,Mathlib/Analysis/CStarAlgebra/Module/Synonym.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Complex/UpperHalfPlane/MoebiusAction.lean,Mathlib/Analysis/Convex/Function.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Fourier.lean,Mathlib/Analysis/Distribution/TemperedDistribution.lean,Mathlib/Analysis/Fourier/Convolution.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/Orthogonal.lean,Mathlib/Analysis/InnerProductSpace/TensorProduct.lean,Mathlib/Analysis/LConvolution.lean,Mathlib/Analysis/LocallyConvex/WeakDual.lean,Mathlib/Analysis/Meromorphic/Basic.lean,Mathlib/Analysis/Normed/Algebra/GelfandMazur.lean,Mathlib/Analysis/Normed/Algebra/Unitization.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/Normed/Module/MStructure.lean,Mathlib/Analysis/Normed/Operator/Banach.lean,Mathlib/Analysis/Normed/Operator/ContinuousAlgEquiv.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/SpecialFunctions/Complex/Circle.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean,Mathlib/CategoryTheory/Action/Concrete.lean,Mathlib/CategoryTheory/Equivalence.lean,Mathlib/CategoryTheory/FintypeCat.lean,Mathlib/CategoryTheory/Iso.lean,Mathlib/CategoryTheory/Limits/Cones.lean,Mathlib/CategoryTheory/Limits/FintypeCat.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryBiproducts.lean,Mathlib/CategoryTheory/Limits/Shapes/Biproducts.lean,Mathlib/CategoryTheory/Monoidal/Closed/Ideal.lean,Mathlib/CategoryTheory/Products/Basic.lean,Mathlib/Combinatorics/Hindman.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/WalkCounting.lean,Mathlib/Combinatorics/SimpleGraph/Hall.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Data/ENNReal/Holder.lean,Mathlib/Data/Finset/Sym.lean,Mathlib/Data/Fintype/Sets.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Set/Pointwise/Support.lean,Mathlib/Data/Set/Semiring.lean,Mathlib/Data/Sign/Defs.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/Geometry/Euclidean/Volume/Measure.lean,Mathlib/GroupTheory/Coset/Defs.lean,Mathlib/GroupTheory/FreeGroup/IsFreeGroup.lean,Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean,Mathlib/GroupTheory/GroupAction/SubMulAction.lean,Mathlib/GroupTheory/OrderOfElement.lean,Mathlib/GroupTheory/OreLocalization/Basic.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/GroupTheory/SpecificGroups/Alternating/MaximalSubgroups.lean,Mathlib/Init.lean,Mathlib/LinearAlgebra/CliffordAlgebra/SpinGroup.lean,Mathlib/LinearAlgebra/Complex/Module.lean,Mathlib/LinearAlgebra/DFinsupp.lean,Mathlib/LinearAlgebra/Isomorphisms.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/PiTensorProduct.lean,Mathlib/Logic/Basic.lean,Mathlib/Logic/UnivLE.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Basic.lean,Mathlib/MeasureTheory/Function/ConditionalLExpectation.lean,Mathlib/MeasureTheory/Function/JacobianOneDim.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Group/Measure.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean,Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/MeasureTheory/Measure/Haar/NormedSpace.lean,Mathlib/MeasureTheory/Measure/Haar/OfBasis.lean,Mathlib/MeasureTheory/Measure/ProbabilityMeasure.lean,Mathlib/ModelTheory/Algebra/Field/CharP.lean,Mathlib/NumberTheory/Chebyshev.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Basic.lean,Mathlib/Order/BooleanAlgebra/Basic.lean,Mathlib/Order/BourbakiWitt.lean |
142 |
8 |
['adomani', 'github-actions', 'grunweg', 'jcommelin', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
2-74470 2 days ago |
72-25853 72 days ago |
0-45 45 seconds |
| 39629 |
hawkrobe author:hawkrobe |
feat(RingTheory/Coalgebra/Convolution): Algebra on convolution semiring |
---
I tried to follow the pattern in [`Matrix/WithConv.lean`](https://github.com/leanprover-community/mathlib4/blob/5e932f97dd25535344f80f9dd8da3aab83df0fe6/Mathlib/LinearAlgebra/Matrix/WithConv.lean#L98) which splits out `IsScalarTower` and `SMulCommClass`. ~It seems liked it should be generalized eventually but R-specialized seemed better as a first PR since there would need to be a bigger discussion?~ Just kidding, I updated to try to generalize. |
t-ring-theory
new-contributor
|
30/1 |
Mathlib/RingTheory/Coalgebra/Convolution.lean |
1 |
2 |
['github-actions'] |
nobody |
2-74206 2 days ago |
4-80760 4 days ago |
4-80755 4 days |
| 39664 |
kim-em author:kim-em |
feat(CrossRefAttribute): info-view widget for cross-reference tags |
This PR teaches the info view to show the upstream label and description when the cursor sits on a `@[stacks ...]`, `@[kerodon ...]`, or `@[wikidata ...]` attribute. The fetch is on-demand via an RPC call from the widget to the Lean server, which shells out to `curl`; we deliberately do not fetch at attribute-elaboration time so offline builds stay clean and the only network access is when an editing session opens the panel.
Two new modules and a small refactor to the existing one:
- `Mathlib/Tactic/CrossRef/Fetch.lean` (new) holds the `Database` enum and the snippet-fetch logic. The companion `scripts/crossref-snippet.lean` in the stacked PR reimplements the same logic standalone for CI usage; the two are kept in sync deliberately so the CI script doesn't need a Mathlib build.
- `Mathlib/Tactic/Widget/CrossRefHover.lean` (new) defines the widget itself: an `RpcEncodable` props record, a `RequestM` RPC method that calls `fetchSnippet`, and a `mk_rpc_widget%` Component that renders the result as `Html`.
- `Mathlib/Tactic/CrossRefAttribute.lean` (modified) imports the two new modules, removes the now-duplicated `Database` / `databaseURL` / `databaseLabel` definitions, and calls `Widget.savePanelWidgetInfo` in each attribute's `add` handler. Tag storage, docstring rewriting, and the trace commands are untouched, and the existing `MathlibTest/CrossRefAttribute.lean` suite continues to pass — none of the behaviour visible to it changes.
If `curl` is missing or the upstream site is unreachable, the widget renders an inline error instead of blocking the LSP.
- [x] depends on: #39662
🤖 Prepared with Claude Code |
blocked-by-other-PR |
1353/25 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CrossRef/Fetch.lean,Mathlib/Tactic/CrossRefAttribute.lean,Mathlib/Tactic/Widget/CrossRefHover.lean,scripts/README.md,scripts/crossref.lean |
7 |
11 |
['eric-wieser', 'github-actions', 'jcommelin', 'kim-em', 'mathlib-dependent-issues'] |
nobody |
2-69680 2 days ago |
unknown |
0-0 0 seconds |
| 36015 |
mcdoll author:mcdoll |
chore(Analysis/SchwartzMap): unify style for `mkCLM` uses |
Avoid using `refine` for definitions in favour of `where finally` and unify the indentation.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
awaiting-author
merge-conflict
|
238/208 |
Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Deriv.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Fourier.lean |
3 |
10 |
['github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'mcdoll'] |
j-loreaux assignee:j-loreaux |
2-69641 2 days ago |
68-77547 68 days ago |
9-43106 9 days |
| 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 |
187/75 |
Mathlib/Combinatorics/Enumerative/Catalan/Tree.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/Data/Tree/Basic.lean,Mathlib/Data/Tree/Get.lean,Mathlib/Data/Tree/Traversable.lean,Mathlib/Tactic/CancelDenoms/Core.lean,docs/overview.yaml |
7 |
4 |
['eric-wieser', 'github-actions', 'sorrachai'] |
nobody |
2-69289 2 days ago |
3-14449 3 days ago |
3-16499 3 days |
| 16074 |
Rida-Hamadani author:Rida-Hamadani |
feat: combinatorial maps and planar graphs |
We define combinatorial maps, then we define planar graph using combinatorial maps.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-combinatorics
|
243/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Planar.lean,Mathlib/Data/CombinatorialMap.lean |
3 |
32 |
['JMR-Independent', 'MrBrain295', 'Parcly-Taxel', 'Rida-Hamadani', 'github-actions', 'lambda-fairy', 'leanprover-community-bot-assistant'] |
kmill assignee:kmill |
2-69244 2 days ago |
324-50579 324 days ago |
72-50365 72 days |
| 39280 |
Thmoas-Guan author:Thmoas-Guan |
refactor(Ideal/MinimalPrimes): Refactor minimal primes APIs more entirely |
---
- [ ] depends on: #38029
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
merge-conflict
|
222/111 |
Mathlib/AlgebraicGeometry/Properties.lean,Mathlib/RingTheory/Algebraic/StronglyTranscendental.lean,Mathlib/RingTheory/Artinian/Module.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Basic.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Basic.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Colon.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Localization.lean,Mathlib/RingTheory/KrullDimension/Basic.lean,Mathlib/RingTheory/KrullDimension/Zero.lean,Mathlib/RingTheory/Localization/AtPrime/Basic.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean,Mathlib/RingTheory/Unramified/Dedekind.lean |
14 |
4 |
['github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
2-67774 2 days ago |
12-45068 12 days ago |
0-7 7 seconds |
| 39510 |
mbkybky author:mbkybky |
WIP: any regular local ring is a UFD |
Show that any regular local ring is a unique factorization domain.
- [ ] depends on: #29802
- [ ] depends on: #36739
- [ ] depends on: #39067
- [ ] depends on: #39420
---
Prepared with Codex
[](https://gitpod.io/from-referrer/)
|
WIP
t-ring-theory
large-import
blocked-by-other-PR
merge-conflict
|
5154/177 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Baer.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/Algebra/Homology/ShortComplex/ModuleCat.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/FiniteFreeResolution/Basic.lean,Mathlib/Algebra/Module/FiniteFreeResolution/Exact.lean,Mathlib/Algebra/Module/FiniteFreeResolution/HasProjectiveDimensionLE.lean,Mathlib/Algebra/Module/FiniteFreeResolution/Localization.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Module/LocalizedModule/Submodule.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/Algebra/Module/StablyFree/HasFiniteFreeResolution.lean,Mathlib/AlgebraicGeometry/Properties.lean,Mathlib/LinearAlgebra/Dimension/FreeAndStrongRankCondition.lean,Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Maximal.lean,Mathlib/RingTheory/Depth/AuslanderBuchsbaum.lean,Mathlib/RingTheory/Depth/Basic.lean,Mathlib/RingTheory/Depth/Ischebeck.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/Filtration.lean,Mathlib/RingTheory/Flat/LocallyFree.lean,Mathlib/RingTheory/GlobalDimension.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/UFD.lean,Mathlib/RingTheory/KrullDimension/PID.lean,Mathlib/RingTheory/LocalProperties/FinitePresentation.lean,Mathlib/RingTheory/LocalProperties/Invertible.lean,Mathlib/RingTheory/Localization/Away/Basic.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/Localization/Finiteness.lean,Mathlib/RingTheory/Regular/Free.lean,Mathlib/RingTheory/Regular/LinearMap.lean,Mathlib/RingTheory/RegularLocalRing/AuslanderBuchsbaumSerre.lean,Mathlib/RingTheory/RegularLocalRing/Basic.lean,Mathlib/RingTheory/RegularLocalRing/GlobalDimension.lean,Mathlib/RingTheory/RegularLocalRing/Localization.lean,Mathlib/RingTheory/RegularLocalRing/UFD.lean,Mathlib/RingTheory/Spectrum/Prime/FreeLocus.lean,Mathlib/RingTheory/Support.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Localization.lean,docs/references.bib |
49 |
4 |
['github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
2-67770 2 days ago |
8-17156 8 days ago |
0-21 21 seconds |
| 39729 |
grunweg author:grunweg |
chore(Geometry/Manifold): make some doc-strings follow the style guide |
such as, by them beginning with the object they are defining as a subject.
This will yield much better doc-strings for the differential geometry elaborators in #39677.
It also increases conformance with the [documentation style guide](https://github.com/leanprover/lean4/blob/master/doc/style.md).
Inspired by the MI retreat in Lisbon.
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry |
30/20 |
Mathlib/Geometry/Manifold/ContMDiff/Defs.lean,Mathlib/Geometry/Manifold/MFDeriv/Defs.lean,Mathlib/Geometry/Manifold/MFDeriv/NormedSpace.lean |
3 |
2 |
['github-actions', 'grunweg'] |
nobody |
2-65140 2 days ago |
2-65288 2 days ago |
2-65283 2 days |
| 38220 |
wwylele author:wwylele |
feat(LinearAlgebra/AffineSpace): shifting a subspace towards a point |
Split off from #36018 and excluded the Simplex part. This is preparing to calculate the volume of a simplex by integrating the cross-section created by shifting the base plane. Part of https://github.com/leanprover-community/mathlib4/pull/34826.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
maintainer-merge
label:t-algebra$ |
133/0 |
Mathlib.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Shift.lean |
2 |
9 |
['alreadydone', 'copilot-pull-request-reviewer', 'github-actions', 'themathqueen', 'wwylele'] |
alreadydone assignee:alreadydone |
2-64630 2 days ago |
15-13152 15 days ago |
36-74461 36 days |
| 36635 |
Vierkantor author:Vierkantor |
chore(*): turn comments before declarations into docstrings |
This PR goes through the whole of Mathlib and replaces `/- comments -/` with `/-- docstrings -/` or `/-! module docs -/` whenever they appear before a declaration. A lot of these appear to be simple typos, where a docstring was actually intended. Where a comment was originally intended, I would argue it is still a good idea include the comments in the generated documentation, or at least it does not hurt anyone.
These instances were found by a linter, in an upcoming PR: #36636.
---
[](https://gitpod.io/from-referrer/)
|
tech debt
merge-conflict
awaiting-author
|
225/232 |
Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Subgroup/MulOppositeLemmas.lean,Mathlib/Algebra/Group/Submonoid/Basic.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/Subsemigroup/Basic.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/Order/Group/Unbundled/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Defs.lean,Mathlib/Algebra/Order/Ring/Star.lean,Mathlib/Algebra/Order/Sub/Defs.lean,Mathlib/Algebra/Polynomial/CoeffList.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/AlgebraicGeometry/Morphisms/WeaklyEtale.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean,Mathlib/Analysis/CStarAlgebra/Module/Synonym.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Complex/UpperHalfPlane/MoebiusAction.lean,Mathlib/Analysis/Convex/Function.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Fourier.lean,Mathlib/Analysis/Distribution/TemperedDistribution.lean,Mathlib/Analysis/Fourier/Convolution.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/Orthogonal.lean,Mathlib/Analysis/InnerProductSpace/TensorProduct.lean,Mathlib/Analysis/LConvolution.lean,Mathlib/Analysis/LocallyConvex/WeakDual.lean,Mathlib/Analysis/Meromorphic/Basic.lean,Mathlib/Analysis/Normed/Algebra/GelfandMazur.lean,Mathlib/Analysis/Normed/Algebra/Unitization.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/Normed/Module/MStructure.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/SpecialFunctions/Complex/Circle.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean,Mathlib/CategoryTheory/Action/Concrete.lean,Mathlib/CategoryTheory/Equivalence.lean,Mathlib/CategoryTheory/FintypeCat.lean,Mathlib/CategoryTheory/Iso.lean,Mathlib/CategoryTheory/Limits/Cones.lean,Mathlib/CategoryTheory/Limits/FintypeCat.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryBiproducts.lean,Mathlib/CategoryTheory/Limits/Shapes/Biproducts.lean,Mathlib/CategoryTheory/Monoidal/Closed/Ideal.lean,Mathlib/CategoryTheory/Products/Basic.lean,Mathlib/Combinatorics/Hindman.lean,Mathlib/Combinatorics/SimpleGraph/Hall.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Counting.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Data/Finset/Sym.lean,Mathlib/Data/Fintype/Sets.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Set/Pointwise/Support.lean,Mathlib/Data/Set/Semiring.lean,Mathlib/Data/Sign/Defs.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/Geometry/Euclidean/Volume/Measure.lean,Mathlib/GroupTheory/Coset/Defs.lean,Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean,Mathlib/GroupTheory/GroupAction/SubMulAction.lean,Mathlib/GroupTheory/OreLocalization/Basic.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/GroupTheory/SpecificGroups/Alternating/MaximalSubgroups.lean,Mathlib/LinearAlgebra/CliffordAlgebra/SpinGroup.lean,Mathlib/LinearAlgebra/Complex/Module.lean,Mathlib/LinearAlgebra/DFinsupp.lean,Mathlib/LinearAlgebra/Isomorphisms.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/PiTensorProduct.lean,Mathlib/Logic/Basic.lean,Mathlib/Logic/UnivLE.lean,Mathlib/MeasureTheory/Function/ConditionalLExpectation.lean,Mathlib/MeasureTheory/Function/JacobianOneDim.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean,Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/MeasureTheory/Measure/Haar/NormedSpace.lean,Mathlib/MeasureTheory/Measure/ProbabilityMeasure.lean,Mathlib/NumberTheory/Chebyshev.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Basic.lean,Mathlib/Order/BooleanAlgebra/Basic.lean,Mathlib/Order/BourbakiWitt.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/Heyting/Boundary.lean,Mathlib/Order/LiminfLimsup.lean,Mathlib/RingTheory/AdicCompletion/AsTensorProduct.lean,Mathlib/RingTheory/AdicCompletion/Exactness.lean,Mathlib/RingTheory/DiscreteValuationRing/Basic.lean,Mathlib/RingTheory/DividedPowers/Basic.lean,Mathlib/RingTheory/IntegralClosure/IsIntegral/Basic.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/MvPowerSeries/Evaluation.lean,Mathlib/RingTheory/NoetherNormalization.lean,Mathlib/RingTheory/PicardGroup.lean,Mathlib/RingTheory/Valuation/Minpoly.lean,Mathlib/RingTheory/WittVector/Defs.lean |
124 |
82 |
['JovanGerb', 'Vierkantor', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
nobody |
2-64296 2 days ago |
62-16096 62 days ago |
2-9741 2 days |
| 36018 |
wwylele author:wwylele |
feat(LinearAlgebra/AffineSpace): shifting a subspace towards a point (part 2) |
This is preparing to calculate the volume of a simplex by integrating the cross-section created by shifting the base plane. Part of #34826.
---
- [ ] depends on: #38220
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
label:t-algebra$ |
309/0 |
Mathlib.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Shift.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean |
3 |
10 |
['alreadydone', 'copilot-pull-request-reviewer', 'github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'wwylele'] |
nobody |
2-64164 2 days ago |
36-75456 36 days ago |
37-76325 37 days |
| 39728 |
mathlib-splicebot author:mathlib-splicebot |
feat: if `Y = f(X)` then `Y` is `X`-measurable |
If `g = h ∘ f`, then the sigma-algebra generated by `g` is smaller than the one generated by `f`.
Thanks to this lemma, if one wants to prove that the sigma-algebra generated by a random variable `Y` is smaller than the one generated by `X`, one can provide `f` and prove that `Y = f(X)`. |
t-measure-probability
brownian
|
8/0 |
Mathlib/MeasureTheory/MeasurableSpace/Basic.lean |
1 |
2 |
['github-actions', 'vihdzp'] |
nobody |
2-63616 2 days ago |
2-65876 2 days ago |
2-65871 2 days |
| 39730 |
mathlib-splicebot author:mathlib-splicebot |
feat: the sigma-algebra generated by a stochastic process is the coarsest that makes all its marginals measurable |
This PR was automatically created from PR #37259 by @EtienneC30 via a [review comment](https://github.com/leanprover-community/mathlib4/pull/37259#discussion_r3291666460) by @EtienneC30. |
t-measure-probability
brownian
|
6/0 |
Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean |
1 |
1 |
['github-actions'] |
nobody |
2-63605 2 days ago |
2-64855 2 days ago |
2-64850 2 days |
| 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
---
|
new-contributor
t-euclidean-geometry
LLM-generated
|
360/0 |
Mathlib.lean,Mathlib/Geometry/Polygon/Boundary.lean,Mathlib/Geometry/Polygon/Simple.lean,Mathlib/Logic/Equiv/Fin/Rotate.lean |
4 |
30 |
['A-M-Berns', 'eric-wieser', 'github-actions', 'joneugster', 'jsm28', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp', 'wwylele'] |
nobody |
2-61166 2 days ago |
89-621 89 days ago |
91-34902 91 days |
| 35868 |
Raph-DG author:Raph-DG |
feat(Topology): add variant of the sheaf condition which assumes non triviality of the cover |
In this PR we add in a variant of the sheaf condition which assumes the cover present in the sheaf condition is nontrivial in the sense that the indexing type is nonempty and the values of the presheaf on each element of the cover are nonempty.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
54/0 |
Mathlib/Topology/Sheaves/SheafCondition/UniqueGluing.lean |
1 |
5 |
['Raph-DG', 'chrisflav', 'github-actions'] |
nobody |
2-61164 2 days ago |
24-33741 24 days ago |
30-11202 30 days |
| 38169 |
tb65536 author:tb65536 |
chore(GroupTheory/Finiteness): make `Subgroup.FG` a class |
This PR refactors `Subgroup.FG` to be a class to match `Group.FG`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-group-theory
label:t-algebra$ |
37/20 |
Mathlib/GroupTheory/Commutator/Finite.lean,Mathlib/GroupTheory/Finiteness.lean,Mathlib/GroupTheory/Rank.lean,Mathlib/GroupTheory/Schreier.lean |
4 |
10 |
['JovanGerb', 'github-actions', 'mathlib-bors', 'riccardobrasca', 'tb65536'] |
nobody |
2-61163 2 days ago |
24-12264 24 days ago |
38-418 38 days |
| 34273 |
gasparattila author:gasparattila |
feat(Topology/Sets): finite sets are dense in `(Nonempty)Compacts` |
---
- [x] depends on: #34266
[](https://gitpod.io/from-referrer/)
|
t-topology |
35/0 |
Mathlib/Topology/Sets/VietorisTopology.lean |
1 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'scholzhannah'] |
ocfnash assignee:ocfnash |
2-59993 2 days ago |
62-4142 62 days ago |
62-5387 62 days |
| 35402 |
samueloettl author:samueloettl |
feat(Dynamics/BirkhoffSum): birkhoffAverage const |
---
I think this is useful and one of these should be a simp lemma.
I'm not really sure if I got the naming of the theorems correct.
When generalizing to the assumption (n : R) ≠ 0 instead of the special case CharZero R with n ≠ 0 I had to use "open Classical in". I'm a bit unfamiliar with that part so please check if this makes sense. See also https://github.com/leanprover-community/mathlib4/pull/35307#discussion_r2823586252
[](https://gitpod.io/from-referrer/)
|
t-dynamics
new-contributor
|
14/0 |
Mathlib/Dynamics/BirkhoffSum/Average.lean |
1 |
26 |
['Maldooor', 'github-actions', 'lua-vr', 'mcdoll', 'samueloettl'] |
sgouezel assignee:sgouezel |
2-59992 2 days ago |
26-14115 26 days ago |
92-12923 92 days |
| 37501 |
xgenereux author:xgenereux |
feat(DedekindDomain/AdicValuation): `intValuation` on uniformizers is `exp (-1)` |
This PR add the lemma `intValuation_val_uniformizer_eq` which is an application of #37497.
Note that I've had to reorganize the files a little bit:
1. I wanted to import `Valuation.Discrete.Basic` in `AdicValuation` but this was not possible since there was a dependency in the other direction (`Valuation.Discrete.Basic` depended on `AdicValuation`). I don't think this makes sense - we want to have access to basic definitions on general valuation in an application file like `AdicValuation`.
~~The reorganization consist of moving the `IsDiscreteValuationRing` of `Valuation.Discrete.Basic` to `AdicValuation`.~~
The reorganization consist of moving the `IsDiscreteValuationRing` section to a new file.
2. I moved some lemmas out of `Mathlib.RingTheory.Valuation.Discrete.RankOne` to the parent file `Mathlib.RingTheory.Valuation.Discrete.Basic.`. These lemmas do not need the richer imports from `RankOne` and are needed in my application.
Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)>
---
- [ ] depends on: #37497
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
203/167 |
Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean,Mathlib/NumberTheory/NumberField/Completion/FinitePlace.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/OrderOfVanishing/Noetherian.lean,Mathlib/RingTheory/Valuation/Discrete/Basic.lean,Mathlib/RingTheory/Valuation/Discrete/IsDiscreteValuationRing.lean,Mathlib/RingTheory/Valuation/Discrete/RankOne.lean |
8 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
mariainesdff assignee:mariainesdff |
2-59991 2 days ago |
37-37390 37 days ago |
45-29242 45 days |
| 38393 |
staroperator author:staroperator |
refactor(ModelTheory): add typeclasses for algebraic symbols |
`Language.ring` and `Language.presburger` share the same symbols `0`, `1` and `+` and have duplicated instances on `Term` and `realize` simp lemmas. This PR makes these symbols certain typeclasses (similar to [`Language.IsOrdered`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/ModelTheory/Order.html#FirstOrder.Language.IsOrdered)) and removes the duplication. It also adds certain definability lemmas that `fun_prop` can use.
---
[](https://gitpod.io/from-referrer/)
|
t-logic |
332/201 |
Mathlib.lean,Mathlib/ModelTheory/Algebra/Classes.lean,Mathlib/ModelTheory/Algebra/Field/IsAlgClosed.lean,Mathlib/ModelTheory/Algebra/Ring/Basic.lean,Mathlib/ModelTheory/Algebra/Ring/FreeCommRing.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Basic.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Definability.lean |
7 |
1 |
['github-actions'] |
fpvandoorn assignee:fpvandoorn |
2-59986 2 days ago |
32-52986 32 days ago |
32-54533 32 days |
| 39033 |
tb65536 author:tb65536 |
feat(Analysis/DirichletEigenvalue): Dirichlet eigenvalues of a set |
This PR defines the Dirichlet eigenvalues of a set (in the sense of "can you hear the shape of a drum").
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
58/0 |
Mathlib.lean,Mathlib/Analysis/DirichletEigenvalue.lean |
2 |
1 |
['github-actions'] |
sgouezel assignee:sgouezel |
2-59984 2 days ago |
18-17090 18 days ago |
18-17087 18 days |
| 39145 |
chrisflav author:chrisflav |
feat(Algebra/Category): filtered colimits in `AlgCat` |
From Proetale.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-category-theory
label:t-algebra$ |
133/18 |
Mathlib.lean,Mathlib/Algebra/Category/AlgCat/Basic.lean,Mathlib/Algebra/Category/AlgCat/FilteredColimits.lean,Mathlib/CategoryTheory/ConcreteCategory/ReflectsIso.lean,Mathlib/CategoryTheory/Limits/ConcreteCategory/Basic.lean |
5 |
12 |
['chrisflav', 'dagurtomas', 'github-actions', 'leanprover-radar', 'robin-carlier'] |
dagurtomas assignee:dagurtomas |
2-59983 2 days ago |
3-3039 3 days ago |
6-72541 6 days |
| 39402 |
marcelolynch author:marcelolynch |
feat(ci): add Lake cache shadow workflow for master |
Introduces a scheduled, non-blocking pipeline that exercises Lake's built-in artifact cache against mathlib master, tracking the eventual migration off `lake exe cache`
The workflow runs daily on cron and on workflow_dispatch. Jobs:
build_and_stage:
1. Hydrates .lake/build/ via legacy `lake exe cache get`
2. patches the lakefile to enable Lake's artifact cache with three knobs
3. runs an incremental `lake build` to populate Lake's cache from existing artifacts
4. uploads cache artifact for next job.
upload: Downloads the staging artifact and pushes it to the cache bucket via `lake cache put-staged`.
consume:
- `lake cache get` from the cache bucket
- `lake build` against the rehydrated cache, `--rehash` verify. |
CI |
406/0 |
.github/workflows/lake_cache_shadow.yml |
1 |
2 |
['github-actions', 'marcelolynch'] |
bryangingechen assignee:bryangingechen |
2-59982 2 days ago |
10-59382 10 days ago |
10-59377 10 days |
| 39598 |
grunweg author:grunweg |
feat(Tactic/ToFun): warn if the provided name matches the autogenerat… |
…ed one
---
The test needs re-blessing once CI has passed.
[](https://gitpod.io/from-referrer/)
|
easy
t-meta
|
13/3 |
Mathlib/Tactic/ToFun.lean,MathlibTest/ToFun.lean |
2 |
4 |
['JovanGerb', 'github-actions', 'grunweg'] |
thorimur assignee:thorimur |
2-59980 2 days ago |
3-56523 3 days ago |
3-56553 3 days |
| 37623 |
IvanRenison author:IvanRenison |
feat(Order/RelIso): add theorems about `RelHom.comp` and `RelEmbedding.trans` |
Co-authored-by: SnirBroshi <26556598+SnirBroshi@users.noreply.github.com>
---
Missing of this theorems noticed by @SnirBroshi in #37598
[](https://gitpod.io/from-referrer/)
|
t-order
maintainer-merge
|
18/0 |
Mathlib/Order/RelIso/Basic.lean |
1 |
9 |
['IvanRenison', 'Komyyy', 'SnirBroshi', 'dagurtomas', 'eric-wieser', 'github-actions'] |
nobody |
2-59877 2 days ago |
50-4137 50 days ago |
51-27667 51 days |
| 39738 |
NoahW314 author:NoahW314 |
feat(Algebra/Algebra/Bilinear): generalize to `NonUnitalNonAssocCommSemiring` |
Complete a TODO which can now be done since #28604 is merged.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
2/4 |
Mathlib/Algebra/Algebra/Bilinear.lean |
1 |
1 |
['github-actions'] |
nobody |
2-52326 2 days ago |
2-52401 2 days ago |
2-52396 2 days |
| 39369 |
pd4st8hb95-hub author:pd4st8hb95-hub |
feat: add basic fuzzy set definitions |
This PR adds a minimal `FuzzySet` API in `Mathlib/Order/FuzzySet`.
A fuzzy set is represented as an abbreviation:
`FuzzySet α L := α → L`
The file provides basic definitions and lemmas:
- `degree`
- `support`
- `core`
- `weakCut`
- `strongCut`
- membership simp lemmas
- extensionality
- basic monotonicity lemmas for weak and strong cuts
This PR intentionally does not add complement, union/intersection-specific API, normal or convex fuzzy sets, fuzzy relations, or advanced fuzzy set theory.
Validation:
- `lake build Mathlib.Order.FuzzySet`
- `#lint only docBlame docBlameThm`
Feedback on whether `Mathlib/Order/FuzzySet.lean` is the right location for this minimal API would be appreciated.
---
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
|
169/0 |
Mathlib.lean,Mathlib/Order/FuzzySet.lean |
2 |
6 |
['github-actions', 'grunweg', 'pd4st8hb95-hub', 'wwylele'] |
nobody |
2-41530 2 days ago |
9-14896 9 days ago |
9-15251 9 days |
| 38589 |
vlad902 author:vlad902 |
feat(SimpleGraph): add universal vertex predicate |
Add the predicate `G.IsUniversal v` to indicate that `v` is a universal vertex, i.e. connected to all other vertices in `G`. This matches the recently added `G.IsIsolated v` predicate for isolated vertices.
Co-authored-by: Justin Lai
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
61/10 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Tutte.lean,Mathlib/Combinatorics/SimpleGraph/UniversalVerts.lean |
5 |
7 |
['8e7', 'Rida-Hamadani', 'github-actions', 'vlad902'] |
nobody |
2-40756 2 days ago |
27-77978 27 days ago |
27-77973 27 days |
| 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
|
21/0 |
Mathlib/RingTheory/LocalProperties/Projective.lean |
1 |
9 |
['abeldonate', 'github-actions', 'mbkybky', 'vlad902'] |
nobody |
2-35681 2 days ago |
6-13300 6 days ago |
6-55550 6 days |
| 39735 |
allenhaozhu author:allenhaozhu |
feat(LinearAlgebra/Matrix): regularized inverse limit and trace continuity |
Add `Matrix.regularizedInv_mul_tendsto_one` and the trace corollaries `Matrix.trace_regularizedInv_mul_tendsto` and `Matrix.trace_regularizedInv_mul_tendsto_card`: for a square matrix `M` over a normed field with `det M ≠ 0`, the Tikhonov-regularized expression `(M + lam • 1)⁻¹ * M` tends to the identity matrix as the scalar `lam` tends to zero, and consequently its trace tends to `tr 1 = (Fintype.card d : R)`. The proofs compose `NormedRing.inverse_continuousAt`, `continuousAt_matrix_inv`, `Matrix.nonsing_inv_mul`, and `Continuous.matrix_trace`; no new definitions are added. These lemmas are useful in matrix-regularization limit arguments arising in numerical linear algebra (Tikhonov-regularized least squares, ridge regression) and in statistics.
---
## 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-algebra
new-contributor
LLM-generated
label:t-algebra$ |
109/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/InverseLimit.lean |
2 |
2 |
['github-actions'] |
nobody |
2-35511 2 days ago |
unknown |
0-0 0 seconds |
| 39734 |
allenhaozhu author:allenhaozhu |
feat(Analysis/CStarAlgebra/CStarMatrix): operator-monotone rpow/log/sqrt specializations |
Adds three discoverability lemmas for operator-monotonicity on `CStarMatrix n n A`, specializing the existing C\*-algebra-level results from `CFC.monotone_rpow` / `CFC.log_monotoneOn` / `CFC.monotone_sqrt`:
```
CStarMatrix.monotone_rpow {p : ℝ} (hp : p ∈ Set.Icc 0 1) :
Monotone (fun M : CStarMatrix n n A => M ^ p)
CStarMatrix.log_monotoneOn :
MonotoneOn (CFC.log : CStarMatrix n n A → CStarMatrix n n A)
{M | IsStrictlyPositive M}
CStarMatrix.monotone_sqrt :
Monotone (CFC.sqrt : CStarMatrix n n A → CStarMatrix n n A)
```
In the course of implementing these specializations, three shortcut instances are also registered to bypass a typeclass-diamond issue. `CStarMatrix n n A` derives `CStarAlgebra` from the underlying `CStarAlgebra A`, but the typeclass search for `ContinuousFunctionalCalculus ℝ (CStarMatrix n n A) IsSelfAdjoint` does not find the path through the `Matrix` diamond automatically. Explicit shortcut instances enable ergonomic use of `CFC.rpow`, `CFC.log`, etc.:
```
instance instContinuousFunctionalCalculusRealIsSelfAdjoint
instance instNonUnitalContinuousFunctionalCalculusRealIsSelfAdjoint
instance instNonnegSpectrumClassReal
```
**Reviewer note:** I am NOT attached to this PR — if reviewers prefer that downstream users call `CFC.monotone_rpow` directly and accept the typeclass-search cost, please close. The PR is offered as a convenience on the assumption that matrix-shaped users may search the matrix namespace first and benefit from the diamond shortcut. The shortcut instances may also belong in a separate PR if reviewers prefer.
Extracted from LTFP-Lean (mechanical formalization of Bach's *Learning Theory from First Principles*), where matrix-side ergonomics matter for downstream proofs.
---
## 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 Opus 4.7 model.
- **Use.** I specified the three target specialization lemmas. The assistant placed them in the right file, discovered the typeclass-diamond issue while implementing (adding 3 shortcut instances to resolve it), drafted the proofs, and verified the build under `lake build Mathlib.Analysis.CStarAlgebra.CStarMatrix.OperatorMonotone`. I reviewed the final code.
- **Vouching.** I have read the declarations and can defend the proofs without further AI assistance. I welcome reviewer feedback on:
- whether the three specialization lemmas justify their own file or should be merged into `CStarMatrix.lean`
- whether the typeclass-diamond shortcut instances belong in this PR or a separate one
- whether the convenience-layer is justified at all vs. having downstream users call `CFC.*` directly |
t-analysis
new-contributor
LLM-generated
|
101/0 |
Mathlib.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix/OperatorMonotone.lean |
2 |
2 |
['github-actions'] |
nobody |
2-35481 2 days ago |
unknown |
0-0 0 seconds |
| 39733 |
allenhaozhu author:allenhaozhu |
feat(LinearAlgebra/Matrix): nonsingular inverse commutes with any monoid hom of matrix rings |
Adds `Matrix.map_nonsing_inv`: for any `MonoidHomClass` morphism `f : Matrix n n R →* Matrix n n S` between matrix rings over commutative rings, and any `A : Matrix n n R` with `IsUnit A.det`,
```
(f A)⁻¹ = f A⁻¹
```
The proof is short: `Matrix.inv_eq_right_inv` plus the fact that `f` preserves `*` and `1`:
```lean
theorem map_nonsing_inv (f : F) {A : Matrix n n R} (hA : IsUnit A.det) :
(f A)⁻¹ = f A⁻¹ := by
apply Matrix.inv_eq_right_inv
rw [← map_mul, Matrix.mul_nonsing_inv A hA, map_one]
```
Since `RingHom`, `RingEquiv`, `AlgHom`, `AlgEquiv`, and `StarAlgEquiv` between matrix rings all provide `MonoidHomClass` instances, the lemma applies uniformly to all of them — in particular to `Unitary.conjStarAlgAut`-style conjugations by a unitary matrix, which is the original motivating use case.
This came up in a downstream project (mechanical formalization of Bach's *Learning Theory from First Principles*), where it underpins a spectral-identity proof: `(U * X * star U)⁻¹ = U * X⁻¹ * star U` for unitary `U` and invertible `X`. Rather than special-case the unitary-conjugation version, I generalized to any `MonoidHomClass` since the proof works mechanically.
### Why not just `map_inv`?
The generic `map_inv` discharges `⁻¹` through a `MonoidHom` between groups, but `Matrix n n R` is not a group under multiplication — `⁻¹` here is `Matrix.nonsing_inv` (adjugate / det), which is only a two-sided inverse on the submonoid of nonsingular matrices. So `map_inv` doesn't apply directly; we need the `IsUnit A.det` hypothesis and a custom proof routed through `Matrix.inv_eq_right_inv`.
### Tests
- `lake build Mathlib.LinearAlgebra.Matrix.NonsingularInverse` — green
- `lake build Mathlib.Analysis.Matrix.Spectrum Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs` — green (downstream smoke check, no regressions)
- Verified usability against both `RingEquiv` and `StarAlgEquiv` instances via local smoke tests
### Notes on AI assistance
Per the Mathlib [AI-use policy](https://leanprover-community.github.io/contribute/index.html#use-of-ai):
- **Tool.** Claude Code (Anthropic), Claude Opus 4.7 model.
- **Use.** I specified the target statement (originally `ℝ`-specific to a unitary conjugation) and the scope of generalization. The assistant drafted the more general `MonoidHomClass` version, chose the file home, verified the proof builds under `lake build`, and tested downstream files for regressions. I reviewed the proof, naming, and file placement.
- **Vouching.** I have read the declaration and can defend the proof without further AI assistance. Happy to take reviewer feedback on naming (`map_nonsing_inv` vs alternatives), namespace placement, or whether the typeclass bound should be relaxed further (e.g. to `MulHomClass` if we can avoid `map_one` — though `map_mul` + `mul_nonsing_inv = 1` + applying `f` to `1` seems to genuinely require `OneHomClass` too). |
t-algebra
new-contributor
LLM-generated
label:t-algebra$ |
17/0 |
Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean |
1 |
2 |
['github-actions'] |
nobody |
2-35464 2 days ago |
unknown |
0-0 0 seconds |
| 38778 |
felixpernegger author:felixpernegger |
feat(Topology/EMetricSpace): instances of weak extended metric spaces |
Continuation of #38105.
In particular, this makes `ENNReal` and `EReal` weak extended metric spaces. After this PR one can probably generalise various results/definition which use `(Pseudo)EMetricSpace` to use `Weak(Pseudo)EMetricSpace` (so that they in particular also hold for `ENNReal` and `EReal`) |
t-topology
awaiting-author
|
247/0 |
Mathlib.lean,Mathlib/Topology/EMetricSpace/Weak.lean |
2 |
3 |
['felixpernegger', 'github-actions', 'j-loreaux'] |
PatrickMassot assignee:PatrickMassot |
2-34313 2 days ago |
5-75597 5 days ago |
14-70133 14 days |
| 38431 |
joelriou author:joelriou |
refactor(Topology): redefine Delta-generated spaces |
Delta-generated spaces are made particular cases of `X`-generated spaces, where `X` is a family of topological spaces.
---
- [x] depends on: #38080
- [x] depends on: #37799
[](https://gitpod.io/from-referrer/)
|
t-topology
large-import
|
144/211 |
Mathlib/Topology/Category/DeltaGenerated.lean,Mathlib/Topology/Compactness/DeltaGeneratedSpace.lean,Mathlib/Topology/Convenient/Category.lean,Mathlib/Topology/Convenient/GeneratedBy.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
PatrickMassot assignee:PatrickMassot |
2-32268 2 days ago |
19-2776 19 days ago |
19-2849 19 days |
| 39186 |
kbuzzard author:kbuzzard |
perf(RingTheory/LaurentSeries): add some instances |
Typeclass inference was expensively failing at some point in `LaurentSeries.valuation_compare` without these instances.
---
[](https://gitpod.io/from-referrer/)
Discovered by getting Claude Code to edit Lean's typeclass inference algorithm and then compile lean and mathlib and see what breaks. Found out that typeclass inference is going down a big hole in this file; this fixes the hole.
|
t-ring-theory
delegated
|
9/0 |
Mathlib/RingTheory/LaurentSeries.lean |
1 |
5 |
['faenuccio', 'github-actions', 'kbuzzard', 'leanprover-radar', 'mathlib-bors'] |
nobody |
2-30096 2 days ago |
2-30096 2 days ago |
12-1791 12 days |
| 39744 |
MichaelStollBayreuth author:MichaelStollBayreuth |
feat(NumberTheory/Height/NumberField): Northcott property |
This PR finally adds a proof of the *Northcott property* for heights on number fields:
```lean
theorem NumberField.finite_setOf_mulHeight₁_le (B : ℝ) : {x : K | mulHeight₁ x ≤ B}.Finite
```
---
- [ ] depends on: #39127
(The branch was split off the one for the PR this depends on.)
[](https://gitpod.io/from-referrer/)
|
t-number-theory
blocked-by-other-PR
|
291/2 |
Mathlib.lean,Mathlib/Algebra/Order/Hom/Lattice.lean,Mathlib/NumberTheory/Height/NumberField.lean |
3 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
2-25928 2 days ago |
2-25929 2 days ago |
0-1362 22 minutes |
| 39039 |
Vierkantor author:Vierkantor |
feat(Tactic): congr! and convert now discharge side goals at reducible transparency |
This PR changes the `postCongr!` discharge step of the `congr!` and `convert` tactics to operate at reducible transparency by default, just like the `preCongr!` step. This should make the behaviour more predictable since it does not unfold quite as much. `convert_to` and `ac_change` get a similar modification, since they are macros on top of `convert`.
To get back the old behaviour and work at default transparency, write `convert!`. To make Mathlib not break due to this change, we replace all occurrences of `convert` with `convert!` in the next commit.
Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Mathlib.20code.20quality.3A.20simpa/with/594729278
---
- [ ] depends on: #39715
- [ ] depends on: #39721
[](https://gitpod.io/from-referrer/)
|
t-meta
awaiting-author
|
3393/2704 |
Mathlib/Algebra/AffineMonoid/Irreducible.lean,Mathlib/Algebra/Algebra/Operations.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/Lattice.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Group/Finset/Piecewise.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Algebra/Category/Grp/EpiMono.lean,Mathlib/Algebra/Category/ModuleCat/Descent.lean,Mathlib/Algebra/Category/ModuleCat/EpiMono.lean,Mathlib/Algebra/Category/ModuleCat/Free.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackFree.lean,Mathlib/Algebra/Category/ModuleCat/Subobject.lean,Mathlib/Algebra/Category/Ring/Instances.lean,Mathlib/Algebra/Category/Ring/Topology.lean,Mathlib/Algebra/CharP/Basic.lean,Mathlib/Algebra/Field/IsField.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/GCDMonoid/IntegrallyClosed.lean,Mathlib/Algebra/Group/Action/Basic.lean,Mathlib/Algebra/Group/Action/Equidecomp.lean,Mathlib/Algebra/Group/ForwardDiff.lean,Mathlib/Algebra/Group/Pointwise/Set/Finite.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/Algebra/Group/Submonoid/Saturation.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Homology/CommSq.lean,Mathlib/Algebra/Homology/DifferentialObject.lean,Mathlib/Algebra/Homology/SpectralObject/EpiMono.lean,Mathlib/Algebra/Homology/SpectralObject/Page.lean,Mathlib/Algebra/Jordan/Basic.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Lie/Basis.lean,Mathlib/Algebra/Lie/Weights/Basic.lean,Mathlib/Algebra/Lie/Weights/Cartan.lean,Mathlib/Algebra/Lie/Weights/IsSimple.lean,Mathlib/Algebra/Lie/Weights/Killing.lean,Mathlib/Algebra/Lie/Weights/RootSystem.lean,Mathlib/Algebra/Module/DedekindDomain.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/Algebra/Module/LocalizedModule/Int.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/Algebra/Module/SpanRankOperations.lean,Mathlib/Algebra/Module/Submodule/Union.lean,Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/Comap.lean,Mathlib/Algebra/MvPolynomial/CommRing.lean,Mathlib/Algebra/MvPolynomial/Degrees.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Funext.lean,Mathlib/Algebra/MvPolynomial/Nilpotent.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Order/Antidiag/Finsupp.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/BigOperators/Group/Finset.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/List.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semifield.lean,Mathlib/Algebra/Order/Group/Int/Sum.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Module/HahnEmbedding.lean,Mathlib/Algebra/Order/Monoid/LocallyFiniteOrder.lean,Mathlib/Algebra/Order/Rearrangement.lean,Mathlib/Algebra/Order/Ring/Abs.lean,Mathlib/Algebra/Order/Ring/Archimedean.lean,Mathlib/Algebra/Order/Ring/StandardPart.lean,Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean,Mathlib/Algebra/Order/Star/Basic.lean,Mathlib/Algebra/Order/Sub/Unbundled/Basic.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/CancelLeads.lean,Mathlib/Algebra/Polynomial/Degree/Lemmas.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Algebra/Polynomial/Eval/Defs.lean,Mathlib/Algebra/Polynomial/Eval/Degree.lean |
1287 |
22 |
['JovanGerb', 'Vierkantor', 'github-actions', 'grunweg', 'joneugster', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
joneugster assignee:joneugster |
2-25835 2 days ago |
11-25130 11 days ago |
0-7832 2 hours |
| 39718 |
RaggedR author:RaggedR |
feat(Archive): dual Langer graph and GH(2,2) non-self-duality |
This PR introduces the dual Langer graph, the line-collinearity graph of the split Cayley hexagon GH(2,2), and establishes the algebraic infrastructure for proving that it is not isomorphic to the Langer graph (the point-collinearity graph). Both graphs share the intersection array {6, 4, 4; 1, 1, 3} but are distinguished by the connectivity of their distance-3 subgraphs.
The key mathematical contribution is deriving the G₂(2) line-action from the point-action (already in Archive.LangerGraph) via the triangle-line bijection. Each line of GH(2,2) corresponds to a unique triangle in the Langer graph, and the point-action sends triangles to triangles, inducing an action on lines. The induced line-action preserves the share-a-vertex relation, which is proved algebraically using Finset.image_inter (injective maps commute with intersection) and Finset.image_nonempty (images preserve non-emptiness). The equivariance of each generator is a 63-case native_decide verification, after which the word-level preservation follows by structural induction with no further computation.
Two sorries remain. The bridge theorem connecting dual Langer adjacency to the share-vertex relation is a native_decide that needs tuning for the kernel recursion limit. The non-isomorphism theorem, which uses d₃-subgraph connectivity as a distinguishing invariant transported to all vertices via the line-action, depends on this bridge. These will be closed in a follow-up once the computational proofs are optimized.
This PR depends on Archive.LangerGraph. |
t-combinatorics
new-contributor
|
7203/0 |
Archive.lean,Archive/BolzaSurface.lean,Archive/ClayworthGraph.lean,Archive/ClayworthSurface.lean,Archive/DualLangerGraph.lean,Archive/HeawoodSurface.lean,Archive/KleinSurface.lean,Archive/LangerGraph.lean,Archive/Meinhold1344.lean,Archive/Meinhold2016.lean,Archive/Meinhold504.lean,Archive/Meinhold576.lean,Archive/MeinholdGraphs.lean,Archive/PrimitiveGraphs.lean,Archive/TriangleGroupSurface.lean,Archive/VoltageGraphs.lean,Archive/ZhouGraph.lean,Mathlib.lean,Mathlib/Combinatorics/CellularSurface.lean,Mathlib/Combinatorics/SimpleGraph/Action.lean,Mathlib/Combinatorics/SimpleGraph/CosetGraph.lean,Mathlib/Combinatorics/SimpleGraph/QuotientGraph.lean,Mathlib/Combinatorics/SimpleGraph/Representation.lean,Mathlib/Combinatorics/SimpleGraph/SabidussiWitness.lean,Mathlib/Combinatorics/SimpleGraph/Symmetric.lean |
25 |
3 |
['github-actions', 'mathlib-bors'] |
nobody |
2-25078 2 days ago |
2-68647 2 days ago |
0-21857 6 hours |
| 39698 |
RaggedR author:RaggedR |
feat(Archive): Meinhold family — five Sabidussi coset graphs of G₂(2) |
Five coset graphs of the exceptional Chevalley group G₂(2), each arising as Sab(G₂(2), K, D) for intermediate subgroups C₃ ≤ K ≤ G₂(2). The Clayworth graph (4032 vertices, cubic, genus 505) is the base case K = C₃.
Meinhold-72 has 72 vertices, is 7-regular with girth 4, via K = PSL(3,2). Meinhold-504 has 504 vertices, is 24-regular with girth 4, via S₄. Meinhold-576 has 576 vertices, is 7-regular with girth 6, via C₇:C₃. Meinhold-1344 has 1344 vertices, is 9-regular with girth 6, via C₃×C₃. Meinhold-2016 has 2016 vertices, is 6-regular with girth 8, via C₆. Each graph has a Sabidussi isomorphism proving arc-transitivity, is connected, and has a shortest cycle witness establishing the girth.

The Langer graph (63 vertices, 6-regular) is proved not to be a quotient of Clayworth: the three G₂(2)-invariant 63-block systems have quotient degrees 24, 32, 32, none of which equals 6.
The Clayworth graph itself is proved to be a Sabidussi coset graph Sab(G₂(2), C₃, D) with two generators of orders 7 and 6 preserving adjacency, and BFS witness words establishing transitivity. The current approach is admittedly brute-force — the Clayworth graph is defined via a flat adjacency array and the quotient maps are verified by native_decide on concrete vertex data. A more algebraic treatment, deriving the Meinhold graphs directly from the coset lattice of G₂(2) without storing explicit adjacency data, would be cleaner and is planned as a follow-up.
These graphs arise from my honours thesis on symmetric graph quotients (arXiv:1306.4798). The Meinhold family is named after Nick Meinhold, co-founder of Imagineering Melbourne.
Depends on #39654 (CellularSurface instances, Clayworth graph).
---
LLM tools were used to assist with Lean formalization. The mathematical content is the author's own work. |
t-combinatorics
LLM-generated
new-contributor
|
6884/0 |
Archive.lean,Archive/BolzaSurface.lean,Archive/ClayworthGraph.lean,Archive/ClayworthSurface.lean,Archive/HeawoodSurface.lean,Archive/KleinSurface.lean,Archive/LangerGraph.lean,Archive/Meinhold1344.lean,Archive/Meinhold2016.lean,Archive/Meinhold504.lean,Archive/Meinhold576.lean,Archive/MeinholdGraphs.lean,Archive/PrimitiveGraphs.lean,Archive/TriangleGroupSurface.lean,Archive/VoltageGraphs.lean,Archive/ZhouGraph.lean,Mathlib.lean,Mathlib/Combinatorics/CellularSurface.lean,Mathlib/Combinatorics/SimpleGraph/Action.lean,Mathlib/Combinatorics/SimpleGraph/CosetGraph.lean,Mathlib/Combinatorics/SimpleGraph/QuotientGraph.lean,Mathlib/Combinatorics/SimpleGraph/Representation.lean,Mathlib/Combinatorics/SimpleGraph/SabidussiWitness.lean,Mathlib/Combinatorics/SimpleGraph/Symmetric.lean |
24 |
4 |
['RaggedR', 'github-actions', 'mathlib-bors'] |
nobody |
2-25077 2 days ago |
2-70898 2 days ago |
0-33004 9 hours |
| 39695 |
RaggedR author:RaggedR |
feat(Archive): Zhou-3 arc-transitivity and Lorimer quotient to Zhou-6 |
The Zhou-3 graph (Foster census F182A, 182 vertices, cubic) has an imprimitive block system of 91 blocks of size 2. This PR proves the block system is invariant under the full PSL(2,13) action via closure induction on the generators, with a pigeonhole argument for the inverse case. The setwise stabilizer of the block containing vertex 0 is D₁₂ (dihedral of order 12), which contains the point stabilizer S₃ at index 2.
With the block structure established, Lorimer's quotient theorem (from #39551) is instantiated for the first time on a concrete graph: the quotient of Sab(PSL(2,13), S₃, D) by D₁₂ is isomorphic to Sab(PSL(2,13), D₁₂, D₁₂·D·D₁₂). The two hypotheses — H ≤ K and D ∩ K = ∅ — are verified, the first using the closure block invariance theorem and the second by observing that any element of K maps vertex 0 into {0, 137}, but neither is a neighbor of 0.
Arc-transitivity of Zhou-3 is proved via Lorimer's forward theorem: the connection set is a single double coset S₃·a·S₃ where a is an explicit involution (a word of length 9 in the generators) that swaps vertex 0 with its neighbor 3.


This depends on the Sabidussi/Lorimer chain (#39530, #39548, #39550, #39551) and on #39654 for the Zhou-3 Sabidussi representation and SabidussiWitness infrastructure. |
t-combinatorics
new-contributor
LLM-generated
|
8575/0 |
Archive.lean,Archive/BolzaSurface.lean,Archive/ClayworthSabidussi.lean,Archive/ClayworthSurface.lean,Archive/HeawoodSurface.lean,Archive/KleinSurface.lean,Archive/VoltageGraphs.lean,Archive/ZhouGraph.lean,Mathlib.lean,Mathlib/Combinatorics/CellularSurface.lean,Mathlib/Combinatorics/SimpleGraph/Action.lean,Mathlib/Combinatorics/SimpleGraph/CosetGraph.lean,Mathlib/Combinatorics/SimpleGraph/QuotientGraph.lean,Mathlib/Combinatorics/SimpleGraph/Representation.lean,Mathlib/Combinatorics/SimpleGraph/SabidussiWitness.lean,Mathlib/Combinatorics/SimpleGraph/Symmetric.lean |
16 |
3 |
['github-actions', 'mathlib-bors'] |
nobody |
2-25076 2 days ago |
3-12737 3 days ago |
0-2819 46 minutes |
| 39654 |
RaggedR author:RaggedR |
feat(Archive): CellularSurface instances (genus 1, 2, 3, 505) |
This PR provides concrete CellularSurface instances for the four CSS surface codes: Heawood (genus 1), Bolza (genus 2), Klein quartic (genus 3), and Clayworth (genus 505). Each surface embeds a cubic arc-transitive graph arising from a Sabidussi coset construction, and the chain complex d1, d2 satisfies the boundary condition d1 · d2 = 0 that gives the CSS orthogonality. Together with #39653, which proves that k = 2g for any surface tiling, these instances yield formally verified CSS codes with parameters [[21, 2]], [[24, 4]], [[84, 6]], and [[6048, 1010]] respectively.
The Heawood and Bolza surfaces are small enough that all axioms are verified by decide. Both include bridge theorems proving the CellularSurface graph matches the corresponding voltage graph on K₂ from VoltageGraphs.lean. The Klein quartic embeds the Klein graph (56 vertices) from the triangle group Δ(2,3,7) acting on PSL(2,7), with a Sabidussi proof. The Clayworth surface is the interesting case: 4032 vertices, 6048 edges, 1008 dodecagonal faces, genus 505. Rather than storing tens of thousands of array entries, the construction works algebraically from the regular representation of G₂(2) on 12096 darts, using a general TriangleGroupSurface module that derives a CellularSurface from any finite quotient of Δ(2,3,r). The key identity is that T = RS implies the far endpoint of each dart has the same vertex as its R-successor, because S preserves vertex cosets.
There are five sorrys. Four are dual graph regularity theorems (Heawood 6-regular, Bolza 8-regular, Klein 7-regular, Clayworth 12-regular), all of which should be closable by native_decide. The fifth is the Clayworth Sabidussi isomorphism, where the individual native_decide checks all pass but the kernel struggles to assemble the SabidussiWitness structure for 4032 vertices. These are left for a follow-up.



Depends on #39653 (CellularSurface, k = 2g). Cross-references #39649 (Langer/G₂(2) ecosystem), #39651 (voltage graphs). |
t-combinatorics
new-contributor
LLM-generated
|
2390/0 |
Archive.lean,Archive/BolzaSurface.lean,Archive/ClayworthSurface.lean,Archive/HeawoodSurface.lean,Archive/KleinSurface.lean,Archive/TriangleGroupSurface.lean,Archive/VoltageGraphs.lean,Mathlib.lean,Mathlib/Combinatorics/CellularSurface.lean,Mathlib/Combinatorics/SimpleGraph/Action.lean,Mathlib/Combinatorics/SimpleGraph/CosetGraph.lean,Mathlib/Combinatorics/SimpleGraph/QuotientGraph.lean,Mathlib/Combinatorics/SimpleGraph/Representation.lean,Mathlib/Combinatorics/SimpleGraph/SabidussiWitness.lean,Mathlib/Combinatorics/SimpleGraph/Symmetric.lean |
15 |
9 |
['RaggedR', 'github-actions', 'mathlib-bors'] |
nobody |
2-25075 2 days ago |
3-3871 3 days ago |
0-57608 16 hours |
| 39653 |
RaggedR author:RaggedR |
feat(Combinatorics): cellular surfaces, CSS quantum codes, and k = 2g |
This formalises CSS quantum error-correcting codes from surface tilings, following Breuckmann & Terhal (arXiv:1506.04029).
CellularSurface encodes the combinatorial data of a 2-cell embedding of a graph on a closed surface: vertices, edges with endpoints, and faces whose boundaries are closed directed trails. The boundary operators ∂₁ (vertex-edge incidence) and ∂₂ (edge-face boundary) are matrices over F₂.
The theorem `d1_mul_d2_eq_zero` proves ∂₁ ∘ ∂₂ = 0 (the chain complex condition) from the closed walk axiom: each vertex in a face boundary is visited an even number of times, so the sum vanishes in characteristic 2. The theorem `d1_rank_eq` proves rank(∂₁) = V − 1 for connected graphs — the kernel of ∂₁ᵀ is span{1} because elements of the kernel assign equal values to adjacent vertices, and connectivity propagates this to all vertices. The theorem `d2_rank_eq` proves rank(∂₂) = F − 1 for connected dual graphs with the two-sides condition (each edge borders exactly 2 faces).
The main result `css_k_eq_2g` gives the number of logical qubits k = 2g. This is pure arithmetic: k = E − rank(∂₁) − rank(∂₂) = E − (V−1) − (F−1) = E − V − F + 2 = 2g by Euler's formula.
No `native_decide` — all proofs are structural.
---
LLM tools were used to assist with Lean formalization. The mathematical content is the author's own work. |
t-combinatorics
new-contributor
LLM-generated
|
1236/0 |
Mathlib.lean,Mathlib/Combinatorics/CellularSurface.lean,Mathlib/Combinatorics/SimpleGraph/Action.lean,Mathlib/Combinatorics/SimpleGraph/CosetGraph.lean,Mathlib/Combinatorics/SimpleGraph/QuotientGraph.lean,Mathlib/Combinatorics/SimpleGraph/Representation.lean,Mathlib/Combinatorics/SimpleGraph/Symmetric.lean |
7 |
7 |
['RaggedR', 'github-actions', 'mathlib-bors'] |
nobody |
2-25073 2 days ago |
2-25075 2 days ago |
1-75937 1 day |
| 39651 |
RaggedR author:RaggedR |
feat(Archive): voltage graphs on K₂, Heawood and Möbius-Kantor graphs |
This defines `voltageGraphK2`, a cubic covering construction on K₂ with cyclic voltage group `ZMod m`. Vertices are `Fin 2 × ZMod m`, with edges `(0, g) ~ (1, g + vⱼ)` for three voltages.
Two instances are provided. The Heawood graph (F014A) is `voltageGraphK2 7 0 4 6`, the Levi graph of the Fano plane PG(2,2): 14 vertices, cubic, girth 6, equal to Sab(G₄₂, C₃) where G₄₂ = Z₇ ⋊ Z₆. The Möbius-Kantor graph (F016A) is `voltageGraphK2 8 0 1 3`, the generalised Petersen graph GP(8,3): 16 vertices, cubic, girth 6, equal to Sab(GL(2,3), C₃).
Both quotient to K₂ under the fibre projection `Prod.fst`, recovering the base graph.


The voltage graph construction and named graph instances follow Langer, arXiv:1306.4798, and Gross & Tucker, *Topological Graph Theory*.
Depends on #39551 (quotient graphs and Lorimer's theorem).
---
LLM tools were used to assist with Lean formalization. The mathematical content is the author's own work. |
t-combinatorics
new-contributor
LLM-generated
|
1113/0 |
Archive.lean,Archive/VoltageGraphs.lean,Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Action.lean,Mathlib/Combinatorics/SimpleGraph/CosetGraph.lean,Mathlib/Combinatorics/SimpleGraph/QuotientGraph.lean,Mathlib/Combinatorics/SimpleGraph/Representation.lean,Mathlib/Combinatorics/SimpleGraph/Symmetric.lean |
8 |
6 |
['RaggedR', 'github-actions', 'mathlib-bors'] |
nobody |
2-25072 2 days ago |
2-25074 2 days ago |
1-50237 1 day |
| 39650 |
RaggedR author:RaggedR |
feat(Archive): dodecahedron, Petersen graph, 3-cube, and antipodal quotients |
This defines the dodecahedron graph (Fin 20, 3-regular, 30 edges), the Petersen graph (Fin 10, as the antipodal quotient of the dodecahedron), and the 3-cube Q₃ (Fin 8, 3-regular, 12 edges) with its antipodal quotient proved equal to K₄.
The Petersen graph is defined as `dodecahedronGraph.quotientGraph dodecAntipodalMap`, using the quotient graph infrastructure from #39551. The antipodal involution on the dodecahedron identifies each vertex with the vertex at distance 5 (diametrically opposite). The 3-cube's antipodal involution (bitwise complement) quotients to K₄ = ⊤.


The graph definitions and quotient constructions follow Langer, arXiv:1306.4798.
Depends on #39551 (quotient graphs and Lorimer's theorem).
---
LLM tools were used to assist with Lean formalization. The mathematical content is the author's own work. |
t-combinatorics
new-contributor
LLM-generated
|
1097/0 |
Archive.lean,Archive/NamedGraphs.lean,Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Action.lean,Mathlib/Combinatorics/SimpleGraph/CosetGraph.lean,Mathlib/Combinatorics/SimpleGraph/QuotientGraph.lean,Mathlib/Combinatorics/SimpleGraph/Representation.lean,Mathlib/Combinatorics/SimpleGraph/Symmetric.lean |
8 |
8 |
['RaggedR', 'github-actions', 'mathlib-bors', 'vihdzp'] |
nobody |
2-25071 2 days ago |
2-25073 2 days ago |
1-81310 1 day |
| 39649 |
RaggedR author:RaggedR |
feat(Archive): Langer graph, Tutte 12-cage, and structural equality via G₂(2) |
This adds three constructions from the theory of generalized polygons over finite fields to Archive/, and proves they give the same graph using the Sabidussi representation theorem from #39548 and #39550.
The Langer graph (63 vertices, 6-regular) is the collinearity graph of the split Cayley hexagon GH(2,2). It has three independent definitions: algebraically via the Zorn product on Q(6,2) (`langerSimpleGraph`), geometrically as the distance-2 graph of the Tutte 12-cage restricted to points (`tutte12Distance2Graph`), and group-theoretically as the coset graph Sab(G₂(2), H₁₉₂, D) where H₁₉₂ is the point stabiliser of order 192 (`langerCosetGraph`).
The main result `langer_iso_tutte12_distance2` proves the algebraic and geometric definitions are isomorphic by composing two Sabidussi isos through a common coset graph. Both graphs are G₂(2)-invariant and arc-transitive, so `sabidussiIso` maps each to Sab(G₂(2), Stab(0), D). Since they have the same 6 neighbors at vertex 0, their connection sets are equal (`dist2_connectionSet_eq`), so both map to the same coset graph. The proof is `langerSabidussiIso.trans dist2SabidussiIso.symm`.


Also included: the Tutte 12-cage (126 vertices, semisymmetric because GH(2,2) has no polarity over F₂), and self-orthogonality of the Q(6,2) parity-check matrix.
Generator data was produced by `compute_g2_generators.py` in the source repo at RaggedR/symmetric-graphs.
Depends on #39548 (coset graphs), #39550 (Sabidussi representation), #39551 (quotient graphs). The `sabidussiIso`, `connectionSet`, and `GraphAction` from those PRs are load-bearing in the equivalence proof.
---
LLM tools were used to assist with Lean formalization. The mathematical content is the author's own work. |
t-combinatorics
new-contributor
LLM-generated
|
1576/0 |
Archive.lean,Archive/LangerGraph.lean,Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Action.lean,Mathlib/Combinatorics/SimpleGraph/CosetGraph.lean,Mathlib/Combinatorics/SimpleGraph/QuotientGraph.lean,Mathlib/Combinatorics/SimpleGraph/Representation.lean,Mathlib/Combinatorics/SimpleGraph/Symmetric.lean |
8 |
8 |
['RaggedR', 'github-actions', 'mathlib-bors', 'wwylele'] |
nobody |
2-25070 2 days ago |
2-25071 2 days ago |
1-57766 1 day |
| 39636 |
RaggedR author:RaggedR |
feat(RingTheory/HopfAlgebra): ascending Pochhammer is of binomial type |
This adds two concrete examples to the delta operator framework from #39465, illustrating the change of basis between the two classical families of binomial-type sequences beyond the monomials.
The first file proves that the ascending Pochhammer (rising factorial) sequence is of binomial type. The backward difference operator ∇f(x) = f(x) − f(x−1) is defined, shown to be a delta operator, and the ascending Pochhammer sequence is verified as its basic sequence via a telescoping argument. The final theorem `ascPochhammer_isBinomialType` is a one-line application of Rota's classification from #39465, complementing the existing `descPochhammer_isBasicSequence_forwardDiff` for falling factorials and the forward difference.
The second file computes the Jabotinsky matrix entries of the geometric delta series y/(1−y), giving the unnormalized Lah numbers C(n−1, k−1) as the change-of-basis coefficients between rising and falling factorials. The proof factors the power (y/(1−y))ᵏ = Xᵏ · (1−X)⁻ᵏ and applies Mathlib's existing `mk_one_pow_eq_mk_choose_add` for the negative binomial series.
---
- [ ] depends on: #39465
---
LLM tools were used to assist with Lean formalization. The mathematical content is the author's own work. |
t-ring-theory
new-contributor
blocked-by-other-PR
LLM-generated
|
1596/0 |
Mathlib.lean,Mathlib/RingTheory/HopfAlgebra/AscPochhammer.lean,Mathlib/RingTheory/HopfAlgebra/BinomialType.lean,Mathlib/RingTheory/HopfAlgebra/DeltaOperator.lean,Mathlib/RingTheory/HopfAlgebra/Lah.lean,Mathlib/RingTheory/HopfAlgebra/Polynomial.lean |
6 |
9 |
['RaggedR', 'github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'themathqueen'] |
nobody |
2-25068 2 days ago |
4-56234 4 days ago |
0-211 3 minutes |
| 39551 |
RaggedR author:RaggedR |
feat(Combinatorics/SimpleGraph): Lorimer's theorem and quotient graphs |
This completes the algebraic theory of symmetric graphs by proving Lorimer's theorem (both directions) and the Lorimer quotient theorem, building on the Sabidussi representation theorem from #39550.
Lorimer's theorem characterizes symmetric (arc-transitive) graphs in terms of coset graphs. The forward direction shows that Sab(G, H, HaH) is arc-transitive whenever a is an involution not in H. The proof establishes local transitivity at the identity coset by exploiting the double coset decomposition of neighbors, then transports it to all vertices by conjugation. The reverse direction shows that every arc-transitive graph's connection set is a single double coset GᵥaGᵥ, where a is the element swapping an arc (v, w). This a satisfies a ∉ Gᵥ and a² ∈ Gᵥ.
The quotient theorem shows that the quotient of Sab(G, H, D) by an overgroup K ≥ H (with D ∩ K = ∅) is isomorphic to Sab(G, K, KDK) where KDK is the expanded connection set. The isomorphism is witnessed by Equiv.refl — the quotient graph and the coset graph with expanded connection set are the same graph up to the identity map on G ⧸ K.
Together with #39530, #39548, and #39550, this gives a complete formalization of Chapters 1–2 of arXiv:1306.4798.
Depends on #39550.
---
LLM tools were used to assist with Lean formalization. The mathematical content is the author's own work. |
t-combinatorics
new-contributor
LLM-generated
|
755/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Action.lean,Mathlib/Combinatorics/SimpleGraph/CosetGraph.lean,Mathlib/Combinatorics/SimpleGraph/QuotientGraph.lean,Mathlib/Combinatorics/SimpleGraph/Representation.lean,Mathlib/Combinatorics/SimpleGraph/Symmetric.lean |
6 |
5 |
['RaggedR', 'github-actions', 'mathlib-bors'] |
nobody |
2-25067 2 days ago |
2-25069 2 days ago |
4-51374 4 days |
| 39550 |
RaggedR author:RaggedR |
feat(Combinatorics/SimpleGraph): Sabidussi representation theorem |
This proves Sabidussi's representation theorem: if a group G acts transitively on the vertices of a graph Γ while preserving adjacency, then Γ is isomorphic to the coset graph `Sab(G, Gᵥ, D)` where `Gᵥ` is the stabilizer of a basepoint and `D = {g ∈ G : Γ.Adj v (g • v)}` is the connection set.
For arc-transitive (symmetric) graphs, the connection set D is a single double coset HaH, giving the classical Sabidussi coset graph Sab(G, H, HaH). For merely vertex-transitive graphs, D may be a union of several double cosets.
The connection set D is shown to satisfy the IsConnectionSet axioms for the stabilizer subgroup: it is stable under left and right multiplication by stabilizer elements (since the stabilizer fixes v and the action preserves adjacency), closed under inversion (since the graph is undirected), and disjoint from the stabilizer (since the graph has no loops). The orbit-stabilizer equivalence V ≃ G ⧸ Gᵥ is then shown to preserve adjacency in both directions, completing the isomorphism.
The definitions and proofs are from my honours thesis (*Symmetric Graphs and their Quotients*, arXiv:1306.4798).
Depends on #39548.
---
LLM tools were used to assist with Lean formalization. The mathematical content is the author's own work. |
t-combinatorics
new-contributor
LLM-generated
|
423/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Action.lean,Mathlib/Combinatorics/SimpleGraph/CosetGraph.lean,Mathlib/Combinatorics/SimpleGraph/Representation.lean |
4 |
5 |
['RaggedR', 'github-actions', 'mathlib-bors'] |
nobody |
2-25066 2 days ago |
2-25068 2 days ago |
4-52121 4 days |
| 39548 |
RaggedR author:RaggedR |
feat(Combinatorics/SimpleGraph): coset graphs (Sabidussi construction) |
This adds coset graphs (Sabidussi's construction) to Mathlib, building on the graph action infrastructure from #39530. Given a group `G`, a subgroup `H`, and a connection set `D` (a union of `(H,H)`-double cosets, closed under inversion, disjoint from `H`), the coset graph `Sab(G, H, D)` is the simple graph on `G ⧸ H` where `xH` is adjacent to `yH` whenever `x⁻¹y ∈ D`.
The well-definedness proof — that adjacency is independent of coset representatives — uses the double coset stability of `D`. This is the core algebraic content of the construction. The file then shows that left multiplication by `G` preserves adjacency (`graphAction` instance) and that coset graphs are vertex-transitive.
When `H ≤ K`, the natural projection `G ⧸ H → G ⧸ K` is a graph homomorphism for coset graphs sharing the same connection set `D`. The proof of `proj_adj` is trivial — adjacency is `x⁻¹y ∈ D` in both graphs, independent of the subgroup. This is the Sabidussi analogue of quotient by a block system: the orbits of `K` on `G ⧸ H` form blocks of size `[K : H]`, and the quotient graph is `Sab(G, K, D)`. For example, the Zhou graph (F182A, Sab(PSL(2,13), S₃), 182 vertices, cubic) projects to the Zhou-6 graph (Sab(PSL(2,13), D₁₂), 91 vertices, 6-regular) via S₃ ≤ D₁₂, and the dodecahedron (Sab(A₅, C₃)) projects to the Petersen graph (Sab(A₅, D₆)) via C₃ ≤ D₆.
Sabidussi's construction generalizes Cayley graphs (which are the special case `H = ⊥`). Together with the representation theorem (a future PR), it gives a complete classification: every vertex-transitive graph is isomorphic to a coset graph.
The definitions and proofs are from my honours thesis (*Symmetric Graphs and their Quotients*, arXiv:1306.4798).
Depends on #39530.
---
LLM tools were used to assist with Lean formalization. The mathematical content is the author's own work. |
t-combinatorics
new-contributor
LLM-generated
|
304/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Action.lean,Mathlib/Combinatorics/SimpleGraph/CosetGraph.lean |
3 |
5 |
['RaggedR', 'github-actions', 'mathlib-bors'] |
nobody |
2-25065 2 days ago |
2-25066 2 days ago |
4-52985 4 days |
| 39498 |
RaggedR author:RaggedR |
feat(RingTheory/HopfAlgebra): umbral operators via generating functions |
## Umbral operators via generating functions
This PR completes the formalization of the finite operator calculus on `R[X]` over a ℚ-algebra. The entire umbral calculus — every theorem, every lemma, zero sorry's — is now machine-checked, from the coalgebra axioms (PR #39410) through Rota's classification (PR #39465) to the umbral operator and its duality theory.
Given a delta operator `Q` on `R[X]`, the **delta series** `f(y) = Σ (Q(X^k)).eval 0 / k! · y^k` is a formal power series with zero constant term and unit linear coefficient. Its compositional inverse `g` (obtained via Mathlib's `substInvOfIsUnit`) encodes the **basic sequence**: the polynomial `p_n` has coefficients `(p_n).coeff k = descFact(n, n-k) · [y^n](g^k)`. The **umbral operator** `U_Q` is the linear extension of `X^n ↦ p_n`.
The key result is the **lowering property** `Q(p_{n+1}) = (n+1) • p_n`. The proof uses the natural duality of the finite operator calculus — the derivative pairing `⟨h, p⟩ = Σ_k coeff_k(h) · k! · p.coeff k` between `R⟦X⟧` and `R[X]`. Under this pairing, Q's adjoint is multiplication by f (proved via the convolution formula for power series coefficients), orthogonality gives `⟨f^k, p_n⟩ = n! · δ_{kn}` (from the Jabotinsky matrix identity), and non-degeneracy closes it (upper-triangular with unit diagonal, by descending induction). Three lines of mathematics, backed by a clean chain of lemmas.
Once lowering is established, `umbralPoly_isBasicSequence` follows immediately, and `IsBasicSequence.isBinomialType` (from #39465) gives the coalgebra endomorphism property — completing the circle back to the Hopf algebra structure.
References: Langer, *Macdonald Polynomials and Symmetric Functions* (arXiv:0907.3950), §1.2.2; Roman, *The Umbral Calculus*, Academic Press 1984, Ch. 2.
Depends on #39410, #39465.
---
LLM tools were used to assist with Lean formalization. The mathematical content is the author's own work. |
t-ring-theory
new-contributor
LLM-generated
|
2141/0 |
Mathlib.lean,Mathlib/RingTheory/HopfAlgebra/BinomialType.lean,Mathlib/RingTheory/HopfAlgebra/DeltaOperator.lean,Mathlib/RingTheory/HopfAlgebra/Polynomial.lean,Mathlib/RingTheory/HopfAlgebra/UmbralOperator.lean |
5 |
6 |
['RaggedR', 'github-actions', 'mathlib-bors'] |
nobody |
2-25062 2 days ago |
2-25064 2 days ago |
1-5628 1 day |
| 39465 |
RaggedR author:RaggedR |
feat(RingTheory/HopfAlgebra): delta operators and Rota's classification |
This formalizes the fundamental theorem of the umbral calculus: that the basic sequence of any delta operator is a sequence of binomial type.
A delta operator on R[X] is a shift-equivariant linear operator which is essentially a formal power series in the variable d/dx. Rota's classification theorem states that the images of monomials x^n under delta operators are sequences of binomial type.
This PR defines `IsBinomialType`, `IsShiftEquivariant`, `IsDeltaOperator`, `forwardDiff`, and `IsBasicSequence`. It proves that monomials and falling factorials are of binomial type, that the derivative and forward difference are delta operators, and that basic sequences are of binomial type (Rota's classification).
The mathematical content is from the first half of my masters thesis (arXiv:0907.3950). See also Rota, Kahaner, and Odlyzko, *Finite Operator Calculus* (JMAA 42, 1973) and Roman, *The Umbral Calculus* (Academic Press, 1984).
Depends on #39410.
---
LLM tools were used to assist with Lean formalization. The mathematical content is the author's own work. |
t-ring-theory
new-contributor
LLM-generated
|
1386/0 |
Mathlib.lean,Mathlib/RingTheory/HopfAlgebra/BinomialType.lean,Mathlib/RingTheory/HopfAlgebra/DeltaOperator.lean,Mathlib/RingTheory/HopfAlgebra/Polynomial.lean |
4 |
8 |
['RaggedR', 'github-actions', 'mathlib-bors', 'wwylele'] |
nobody |
2-25061 2 days ago |
2-25063 2 days ago |
0-78931 21 hours |
| 39530 |
RaggedR author:RaggedR |
feat(Combinatorics/SimpleGraph): group actions on simple graphs |
This adds the first connection between Mathlib's MulAction and SimpleGraph libraries. The GraphAction class asserts that a group action on the vertex type preserves the adjacency relation, and builds on it to define vertex-transitivity and arc-transitivity for graphs.
The GraphAction typeclass gives adj_smul_iff (the biconditional for group actions) and toIso (each group element induces a graph automorphism). The IsVertexTransitive class combines GraphAction with IsPretransitive, and IsArcTransitive requires transitivity on ordered adjacent pairs (arcs).
The main theorem is the standard characterization: a graph is arc-transitive if and only if it is vertex-transitive and locally transitive (the stabilizer of each vertex acts transitively on its neighbors). The forward direction is proved directly by composing a vertex-transporting element with a neighbor-transporting stabilizer element. The reverse direction shows that an arc-transitive graph with no isolated vertices is vertex-transitive.
These definitions are the algebraic graph theory prerequisites for formalizing coset graphs (Sabidussi's construction) and the characterization of symmetric graphs via double cosets and involutions (Lorimer's theorem).
---
LLM tools were used to assist with Lean formalization. The mathematical content is the author's own work. |
t-combinatorics
new-contributor
LLM-generated
|
130/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Action.lean |
2 |
7 |
['RaggedR', 'b-mehta', 'github-actions', 'mathlib-bors'] |
nobody |
2-25049 2 days ago |
2-25049 2 days ago |
6-79894 6 days |
| 39536 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Bicategory): Spans with left and right legs satisfying given morphism properties |
In this PR, we define a structure `Span Wₗ Wᵣ c c'` which bundles the data of spans in `C` from `c` to `c'` where the left map satisfies `Wₗ` and the right map satisfies `Wᵣ`. When `Wₗ` and `Wᵣ` are adequate, we define the identity span and the composition of compatible spans.
In a later pull request, this will be extended to be the 1-morphisms of a bicategory structure on a type alias of `C`.
From [SymmMonCoherence](https://github.com/robin-carlier/SymmMonCoherence)
---
- [x] depends on: #39534
- [x] depends on: #39647
[](https://gitpod.io/from-referrer/)
|
t-category-theory
delegated
|
149/8 |
Mathlib.lean,Mathlib/CategoryTheory/Bicategory/Span/Basic.lean,Mathlib/CategoryTheory/MorphismProperty/Limits.lean |
3 |
12 |
['dagurtomas', 'github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'riccardobrasca', 'robin-carlier'] |
nobody |
2-24079 2 days ago |
2-24080 2 days ago |
2-2033 2 days |
| 26464 |
joelriou author:joelriou |
feat(LinearAlgebra): generators of pi tensor products |
In this PR, we show that the `R`-module `⨂[R] i, M i` is finitely generated if the index type is finite and all `M i` are finitely generated. This follows from a more precise result about generators of `⨂[R] i, M i`.
---
This PR continues the work from #18725.
Original PR: https://github.com/leanprover-community/mathlib4/pull/18725 |
file-removed
t-algebra
label:t-algebra$ |
260/7 |
Mathlib.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/SubtypeNeLift.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/DFinsupp.lean,Mathlib/LinearAlgebra/PiTensorProduct/DirectSum.lean,Mathlib/LinearAlgebra/PiTensorProduct/Finite.lean,Mathlib/LinearAlgebra/PiTensorProduct/Generators.lean,Mathlib/LinearAlgebra/TensorPower/Basic.lean,Mathlib/LinearAlgebra/TensorPower/Symmetric.lean,Mathlib/Logic/Equiv/Option.lean,Mathlib/RingTheory/PiTensorProduct.lean,Mathlib/SetTheory/Cardinal/Finite.lean |
13 |
35 |
['eric-wieser', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'riccardobrasca'] |
mattrobball assignee:mattrobball |
2-23734 2 days ago |
2-23769 2 days ago |
110-17698 110 days |
| 28291 |
vasnesterov author:vasnesterov |
feat(Tactic): tactic for computing asymptotics of real functions |
It's an auxiliary PR that implements the entire `compute_asymptotics` tactic. I am spliting it into multiple small PRs.
---
Tactic description: https://vasnesterov.github.io/compute_asymptotics
Zulip announcement: [#announce > New tactic: `compute_asymptotics`](https://leanprover.zulipchat.com/#narrow/channel/113486-announce/topic/New.20tactic.3A.20.60compute_asymptotics.60/with/538639418)
In this PR I implement the `compute_asymptotics` tactic. Its purpose is to compute asymptotics of functions from `ℝ` to `ℝ`. So far it is able to compute the limit of any function constructed using arithmetic operations (`+`, `-`, `*`, `/`, inversion), powers, logarithms, and exponents.
```lean
import Mathlib.Tactic.ComputeAsymptotics
open Real Filter Topology Asymptotics
example : Tendsto (fun (x : ℝ) ↦ (1 + 6 * x⁻¹) ^ (7 * x)) atTop (𝓝 (exp 42)) := by
compute_asymptotics
example : (fun x ↦ x - 1 - log x) ~[𝓝[≠] 1] (fun x ↦ (x - 1) ^ 2 / 2) := by
compute_asymptotics
example (a b : ℝ) (h : a < b) :
(fun x ↦ (x + x * log x) ^ a) =O[atTop] (fun x ↦ (x / log x) ^ b) := by
compute_asymptotics
example :
(fun x ↦ log x) =o[𝓝[>] 0] (fun x ↦ Real.pi / (exp (Real.log 2 * x) - 1)) := by
compute_asymptotics
```
For more examples see `compute_asymptotics.lean` in tests.
### TODO
* Different domains in `compute_limit` as well.
* Trigonometric functions and Gamma-function.
### References
I am basically implementing [this article](https://www21.in.tum.de/~eberlm/pdfs/real_asymp.pdf) about computing asymptotics in Isabelle by Manuel Eberl.
### Small PRs
Here's a few smaller PRs coming from this one, ordered by importance:
- [ ] depends on: #37415
- [ ] depends on: #37342
- [x] depends on: #37418
- [x] depends on: #37411
- [x] depends on: #37414
- [x] depends on: #37419
- [x] depends on: #35072
- [x] depends on: #34922
- [x] depends on: #34356
- [x] depends on: #34422
- [x] depends on: #34403
- [x] depends on: #34311
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
t-meta
large-import
blocked-by-other-PR
merge-conflict
|
11488/75 |
Mathlib.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/SpecialFunctions/Complex/Analytic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ComputeAsymptotics.lean,Mathlib/Tactic/ComputeAsymptotics/Meta/BasisM.lean,Mathlib/Tactic/ComputeAsymptotics/Meta/CompareMS.lean,Mathlib/Tactic/ComputeAsymptotics/Meta/CompareReal.lean,Mathlib/Tactic/ComputeAsymptotics/Meta/ConstSimp.lean,Mathlib/Tactic/ComputeAsymptotics/Meta/ConstSimpAttribute.lean,Mathlib/Tactic/ComputeAsymptotics/Meta/ConvertDomain.lean,Mathlib/Tactic/ComputeAsymptotics/Meta/Exp.lean,Mathlib/Tactic/ComputeAsymptotics/Meta/LeadingMonomial.lean,Mathlib/Tactic/ComputeAsymptotics/Meta/Log.lean,Mathlib/Tactic/ComputeAsymptotics/Meta/MS.lean,Mathlib/Tactic/ComputeAsymptotics/Meta/Misc.lean,Mathlib/Tactic/ComputeAsymptotics/Meta/Normalization.lean,Mathlib/Tactic/ComputeAsymptotics/Meta/Trimming.lean,Mathlib/Tactic/ComputeAsymptotics/Meta/ZeroOracle.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Basic.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Basis.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Corecursion.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Defs.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/LogBasis.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Monomial/Basic.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Monomial/LeadingMonomial.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Operations.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Operations/Add.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Operations/Basic.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Operations/Exp.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Operations/Inv.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Operations/Log.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Operations/Mul.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Operations/Pow.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Operations/Powser.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Trimming.lean,MathlibTest/compute_asymptotics.lean |
38 |
24 |
['github-actions', 'grunweg', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'ocfnash', 'vasnesterov'] |
nobody |
2-22906 2 days ago |
286-16842 286 days ago |
0-54 54 seconds |
| 29855 |
eric-wieser author:eric-wieser |
chore(Data/Finset/Sort): lemmas about `0 : Fin _` and `Fin.last _` |
We already had these for `⟨0, ⋯⟩` and `⟨k - 1, ⋯⟩`.
Moves:
- `Finset.orderEmbOfFin_zero` -> `Finset.orderEmbOfFin_mk_zero`
- `Finset.orderEmbOfFin_last` -> `Finset.orderEmbOfFin_mk_last`
---
[](https://gitpod.io/from-referrer/)
|
t-data
t-order
delegated
easy
merge-conflict
|
17/7 |
Mathlib/Combinatorics/Enumerative/Composition.lean,Mathlib/Data/Finset/Sort.lean |
2 |
5 |
['eric-wieser', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts', 'ocfnash'] |
nobody |
2-22782 2 days ago |
242-26508 242 days ago |
3-79002 3 days |
| 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.
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
merge-conflict
|
23/0 |
Mathlib/Data/EReal/Operations.lean |
1 |
5 |
['JovanGerb', 'LLaurance', 'dobronx1325', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
2-22658 2 days ago |
181-19886 181 days ago |
6-25774 6 days |
| 31949 |
ADedecker author:ADedecker |
chore: prefer `Pi.single i 1 j` over `fun j => if i = j then 1 else 0` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
merge-conflict
label:t-algebra$ |
23/21 |
Mathlib/Algebra/BigOperators/Pi.lean,Mathlib/Analysis/Convex/StdSimplex.lean,Mathlib/LinearAlgebra/Matrix/Adjugate.lean,Mathlib/LinearAlgebra/Pi.lean,Mathlib/Topology/Algebra/Module/Basic.lean |
5 |
6 |
['eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'themathqueen'] |
nobody |
2-22657 2 days ago |
183-69581 183 days ago |
0-21800 6 hours |
| 39357 |
joelriou author:joelriou |
feat(AlgebraicTopology/SimplicialSet): the pushout-product of a mono and an anodyne extension is an anodyne extension |
Co-authored-by: Jack McKoen
---
- [x] depends on: #39466
- [x] depends on: #39464
- [ ] depends on: #39298
- [ ] depends on: #39462
- [ ] depends on: #39463
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
WIP
blocked-by-other-PR
large-import
|
1142/11 |
Mathlib.lean,Mathlib/AlgebraicTopology/RelativeCellComplex/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/PairingCore.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/PushoutProduct.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/Rank.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/RankNat.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/UnionProd.lean,Mathlib/AlgebraicTopology/SimplicialSet/CategoryWithFibrations.lean,Mathlib/AlgebraicTopology/SimplicialSet/Monoidal.lean,Mathlib/AlgebraicTopology/SimplicialSet/Nonsingular.lean,Mathlib/AlgebraicTopology/SimplicialSet/PushoutProduct.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/CategoryTheory/SmallObject/TransfiniteCompositionLifting.lean,docs/references.bib |
14 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
dagurtomas assignee:dagurtomas |
2-20365 2 days ago |
11-28346 11 days ago |
0-2 2 seconds |
| 37934 |
Thmoas-Guan author:Thmoas-Guan |
feat(FieldTheory): definition of transcendental separable field extension |
In this PR, we introduce the concept of separably generated field extension and transcendental separable field extension.
Further properties will be in #37838
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
102/0 |
Mathlib.lean,Mathlib/FieldTheory/TranscendentalSeparable.lean |
2 |
14 |
['Thmoas-Guan', 'github-actions', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
2-18570 2 days ago |
15-12182 15 days ago |
23-30354 23 days |
| 37953 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory/Smooth): transcendental separable extension is formally smooth |
In this PR, we proved that transcendental separable extension is formally smooth via reduction to fg cases.
---
- [ ] depends on: #37934
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
blocked-by-other-PR
|
243/0 |
Mathlib.lean,Mathlib/FieldTheory/TranscendentalSeparable.lean,Mathlib/RingTheory/Smooth/Field.lean |
3 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
2-18527 2 days ago |
43-13530 43 days ago |
0-84 1 minute |
| 36739 |
mbkybky author:mbkybky |
feat(RingTheory): UFD criteria via height `1` prime ideals and localization |
We prove the following UFD criteria via height `1` prime ideals and localization:
1. Let `R` be a Noetherian domain. Then `R` is a UFD if and only if every height `1` prime ideal is principal.
2. Let `R` be a Noetherian domain, `x ∈ R` be a prime element. If `Rₓ` is a UFD, then `R` is also a UFD.
- [x] depends on: #37627
- [x] depends on: #38933
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
192/2 |
Mathlib.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/Ideal/UFD.lean,Mathlib/RingTheory/Localization/Away/Basic.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Localization.lean |
6 |
21 |
['chrisflav', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mbkybky', 'tb65536'] |
chrisflav assignee:chrisflav |
2-18448 2 days ago |
2-54159 2 days ago |
63-54576 63 days |
| 39748 |
EtienneC30 author:EtienneC30 |
feat: another independence monotonicity lemma |
If `Indep m₁ m₂ μ`, `m₃ ≤ m₁` and `m₄ ≤ m₂` then `Indep m₃ m₄ μ`. Combines [ProbabilityTheory.indep_of_indep_of_le_left](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Probability/Independence/Basic.html#ProbabilityTheory.indep_of_indep_of_le_left) and [ProbabilityTheory.indep_of_indep_of_le_right](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Probability/Independence/Basic.html#ProbabilityTheory.indep_of_indep_of_le_right).
---
[](https://gitpod.io/from-referrer/)
|
brownian
t-measure-probability
|
11/1 |
Mathlib/Probability/Independence/Basic.lean,Mathlib/Probability/Independence/Kernel/Indep.lean |
2 |
1 |
['github-actions'] |
nobody |
2-18225 2 days ago |
2-18303 2 days ago |
2-18298 2 days |
| 38194 |
ryanncode author:ryanncode |
feat(LinearAlgebra/BilinearForm): add indefinite metrics |
Add the `IndefiniteMetric` structure to support vector spaces equipped with a non-degenerate, symmetric, indefinite bilinear form.
Provide the algebraic foundation for indefinite inner product spaces by formalizing the metric via `LinearMap.BilinForm` and extracting its associated quadratic form without enforcing the `IsPosSemidef` typeclass.
Previously, mathlib required strictly positive-definite metrics to instantiate inner product spaces (`InnerProductSpace`), which prevented the formalization of indefinite geometries without causing typeclass inference failures. Bridge this gap by isolating the symmetric bilinear form from topological and positivity constraints, allowing the library to handle generalized indefinite metric spaces safely.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
47/0 |
Mathlib.lean,Mathlib/LinearAlgebra/BilinearForm/IndefiniteMetric.lean |
2 |
5 |
['dagurtomas', 'github-actions', 'mathlib-merge-conflicts', 'ryanncode'] |
nobody |
2-17249 2 days ago |
2-18994 2 days ago |
17-75158 17 days |
| 39749 |
EtienneC30 author:EtienneC30 |
feat: when the indicator is independent from a random variable |
If `A` is an event from a sigma-algebra `m` that is independent from a random variable `X`, then the indicator of `A` is independent from `X`.
---
[](https://gitpod.io/from-referrer/)
|
brownian
t-measure-probability
|
12/0 |
Mathlib/Probability/Independence/Basic.lean,Mathlib/Probability/Independence/Kernel/IndepFun.lean |
2 |
1 |
['github-actions'] |
nobody |
2-17041 2 days ago |
2-17114 2 days ago |
2-17109 2 days |
| 39298 |
joelriou author:joelriou |
feat(AlgebraicTopology/SimplicialSet): the pushout-product of a horn inclusion and a boundary inclusion is an anodyne extension |
In this PR, we construct a regular pairing for the union of `Λ[m + 1, l] ⊗ ∂Δ[n]` and ` Δ[m + 1] ⊗ ∂Δ[n]` in `Δ[m + 1] ⊗ Δ[n]`. It follows immediately that the inclusion of this subcomplex is an anodyne extension.
---
- [x] depends on: #39462
- [x] depends on: #39463
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
large-import
|
719/2 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/PairingCore.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/UnionProd.lean,Mathlib/AlgebraicTopology/SimplicialSet/Monoidal.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean |
5 |
8 |
['dagurtomas', 'github-actions', 'joelriou', 'mathlib-dependent-issues'] |
nobody |
2-16325 2 days ago |
2-16325 2 days ago |
2-16322 2 days |
| 32058 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): Baer criterion for injective dimension |
In this PR, we added the cateory version of Baer criterion stating that `M` is injective iff `Ext^1(R/I, M)` vanish for all ideal `I`. By dimension shifting, we also have `M` has injective dimension not exceeding `n` iff `Ext^{n + 1}(R/I, M)` vanish for all ideal `I`.
---
- [x] depends on: #36980
- [x] depends on: #39305
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-category-theory
label:t-algebra$ |
124/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Baer.lean |
2 |
76 |
['Thmoas-Guan', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-splicebot', 'mathlib4-merge-conflict-bot'] |
joelriou assignee:joelriou |
2-15399 2 days ago |
7-24997 7 days ago |
62-28488 62 days |
| 29558 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): definition of global dimension |
In this PR, we define projective dimension and global dimension using `CategoryTheory.HasProjectiveDimensionLT`
---
- [ ] depends on: #32058
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
blocked-by-other-PR
|
244/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Baer.lean,Mathlib/RingTheory/GlobalDimension.lean |
3 |
17 |
['Thmoas-Guan', 'erdOne', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
erdOne assignee:erdOne |
2-15388 2 days ago |
147-32518 147 days ago |
27-39406 27 days |
| 31999 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): global dimension equals the supremum over localizations |
Global dimension of ring is equal to supremum of global dimension over localizations at all prime/maximal ideal.
---
- [x] depends on: #32000
- [x] depends on: #31998
- [ ] depends on: #29558
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-ring-theory
|
326/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Baer.lean,Mathlib/RingTheory/GlobalDimension.lean |
3 |
17 |
['Thmoas-Guan', 'github-actions', 'jcommelin', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
2-15366 2 days ago |
181-30818 181 days ago |
1-68813 1 day |
| 39412 |
mbkybky author:mbkybky |
feat(RingTheory/Flat): a finite flat `R`-module `M` is locally free if `rankAtStalk M` is constant |
Let `M` be a finite flat `R`-module, `p` be a prime ideal of `R`. We show that if `rankAtStalk M` is constant, then there exists `a ∉ p` such that the `M` is free after localization away from `a`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
136/2 |
Mathlib.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Module/LocalizedModule/Submodule.lean,Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean,Mathlib/RingTheory/Flat/LocallyFree.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/Spectrum/Prime/FreeLocus.lean,Mathlib/RingTheory/Support.lean |
8 |
4 |
['github-actions', 'robin-carlier'] |
nobody |
2-15022 2 days ago |
7-5414 7 days ago |
10-10393 10 days |
| 39420 |
mbkybky author:mbkybky |
feat(RingTheory/LocalProperties): `Module.Invertible` is a local property |
Let `M` be a finite `R`-module. We show that `M` is invertible if `Mₘ` is invertible for any maximal ideal `m` of `R`.
- [x] depends on: #39109
- [ ] depends on: #39412
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
blocked-by-other-PR
|
238/2 |
Mathlib.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Module/LocalizedModule/Submodule.lean,Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean,Mathlib/RingTheory/Flat/LocallyFree.lean,Mathlib/RingTheory/LocalProperties/Invertible.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/Spectrum/Prime/FreeLocus.lean,Mathlib/RingTheory/Support.lean |
9 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
2-13912 2 days ago |
10-3769 10 days ago |
0-773 12 minutes |
| 39693 |
yuanyi-350 author:yuanyi-350 |
feat(Combinatorics/Enumerative/Bell): sum over partition shapes |
Kill TODO in `Mathlib/Combinatorics/Enumerative/Bell.lean` which proves `Nat.bell` as a sum of `Multiset.bell` over partition shapes
---
Migrated from #37690
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
128/35 |
Mathlib/Combinatorics/Enumerative/Bell.lean |
1 |
5 |
['YaelDillies', 'github-actions'] |
nobody |
2-12489 2 days ago |
3-25202 3 days ago |
3-25292 3 days |
| 26216 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): depth of QuotSMulTop |
In this PR, we proved for a local ring `R` and a finitely generated `R` module `M N`, `IsSMulRegular M x` and `x ∈ Module.annihilator R N`, then `depth(N, M/xM) + 1 = depth(N, M)`, and its corollary for quotient regular seqence.
---
- [ ] depends on: #26214
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
large-import
label:t-algebra$ |
962/24 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/RingTheory/Depth/Basic.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Regular/LinearMap.lean,docs/references.bib |
8 |
10 |
['Thmoas-Guan', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
2-12281 2 days ago |
339-20849 339 days ago |
0-49 49 seconds |
| 26214 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): definition of depth |
In this PR, we defined the depth of two modules as the minimal order of nonvanishing `Ext` and the `I-depth` for ideal `I` and some basic properties. Including the equivalence of the two in the condition of rees theorem.
---
- [ ] depends on: #26212
- [x] depends on: #32966
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
large-import
label:t-algebra$ |
697/24 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/RingTheory/Depth/Basic.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Regular/LinearMap.lean,docs/references.bib |
8 |
10 |
['Thmoas-Guan', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
2-12231 2 days ago |
339-18903 339 days ago |
0-152 2 minutes |
| 26215 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): Auslander–Buchsbaum theorem |
This PR mainly proved the Auslander-Buchsbaum theorem stating for a noetherian local ring `R` and a finitely generated `R` module `M` , `proj.dim(M) + depth(M) = depth(R)`.
Co-authored-by: Yongle Hu
---
- [ ] depends on: #26214
- [ ] depends on: #32316
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
large-import
label:t-algebra$ |
1076/24 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/RingTheory/Depth/AuslanderBuchsbaum.lean,Mathlib/RingTheory/Depth/Basic.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Regular/LinearMap.lean,docs/references.bib |
9 |
12 |
['Thmoas-Guan', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
2-12216 2 days ago |
339-18904 339 days ago |
0-88 1 minute |
| 26217 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): Ischebeck theorem |
This PR mainly proved the Ischbecke theorem, stating that `depth(N,M)` is greater or equal to `depth(M) - dim(N)` for finitely generated module `N, M` over local ring.
---
- [ ] depends on: #26214
- [x] depends on: #32081
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
large-import
label:t-algebra$ |
905/24 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/RingTheory/Depth/Basic.lean,Mathlib/RingTheory/Depth/Ischebeck.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Regular/LinearMap.lean,docs/references.bib |
9 |
12 |
['Thmoas-Guan', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
2-12196 2 days ago |
339-20727 339 days ago |
0-51 51 seconds |
| 39753 |
mathlib-splicebot author:mathlib-splicebot |
feat: the sigma-algebra generated by the constant indicator of a set is smaller than the one generated by the set |
This PR was automatically created from PR #37259 by @EtienneC30 via a [review comment](https://github.com/leanprover-community/mathlib4/pull/37259#discussion_r3292960152) by @EtienneC30. |
t-measure-probability |
6/0 |
Mathlib/MeasureTheory/MeasurableSpace/MeasurablyGenerated.lean |
1 |
2 |
['EtienneC30', 'github-actions'] |
nobody |
2-10952 2 days ago |
2-10937 2 days ago |
2-11383 2 days |
| 39317 |
justus-springer author:justus-springer |
feat(AlgebraicGeometry/Birational): dominant rational maps |
Add a predicate `RationalMap.IsDominant` and add basic API. This is in preparation for defining composition of rational maps (see #39445). See also [stacks#01RR](https://stacks.math.columbia.edu/tag/01RR).
- [x] depends on: #39316
- [x] depends on: #39656
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
maintainer-merge
|
91/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/Birational/Dominant.lean |
2 |
10 |
['chrisflav', 'dagurtomas', 'github-actions', 'justus-springer', 'mathlib-dependent-issues'] |
chrisflav and dagurtomas assignee:dagurtomas assignee:chrisflav |
2-10884 2 days ago |
2-18568 2 days ago |
9-59413 9 days |
| 28683 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): regular local ring is domain |
In this PR, we proved for a regular local ring `R`,
1 : for a finite set `S` in the maximal Ideal of `R`, it can be extended to a regular system of parameters iff they are linear independent in the cotangent space iff `R/span S` is regular local ring of dimesion `dim R - |S|`
2 : is domain
3 : regular system of parameter form regular sequence.
---
- [x] depends on: #28682
- [x] depends on: #37627
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
323/0 |
Mathlib.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/RegularLocalRing/Basic.lean |
5 |
58 |
['Raph-DG', 'Thmoas-Guan', 'WenrongZou', 'erdOne', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'mbkybky'] |
nobody |
2-10005 2 days ago |
2-32015 2 days ago |
4-7715 4 days |
| 29533 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): maximal Cohen Macaulay module |
In this PR, we defined the concept of maximal Cohen Macaulay module, and proved that finitely generated maximal Cohen Macaulay module over regular local ring is free.
---
- [ ] depends on: #28683
- [ ] depends on: #26218
- [ ] depends on: #38698
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-algebra
large-import
label:t-algebra$ |
2273/24 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/RingTheory/CohenMacaulay/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Maximal.lean,Mathlib/RingTheory/Depth/Basic.lean,Mathlib/RingTheory/Depth/Ischebeck.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Nakayama.lean,Mathlib/RingTheory/Regular/Free.lean,Mathlib/RingTheory/Regular/LinearMap.lean,Mathlib/RingTheory/RegularLocalRing/Basic.lean,docs/references.bib |
17 |
16 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
2-9961 2 days ago |
256-58091 256 days ago |
0-88 1 minute |
| 38698 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory/Regular): freeness of `QuotSMulTop` |
For finitely generated module `M` over Noetherian local ring `(R, m)`, if `x ∈ m` is `M`-regular, `M/xM` is free over `R/(x)` iff `M` is free over `R`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
95/0 |
Mathlib.lean,Mathlib/RingTheory/Nakayama.lean,Mathlib/RingTheory/Regular/Free.lean |
3 |
12 |
['Thmoas-Guan', 'chrisflav', 'github-actions'] |
chrisflav assignee:chrisflav |
2-9926 2 days ago |
4-40382 4 days ago |
26-16492 26 days |
| 29557 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): finite projective dimension of regular |
In this PR, we proved every finitely generated module over regular local ring has finite projective dimension. With this and Auslander Buchsbaum theorem, we can obtain the global dimension of regular local ring is equal to its krull dimension.
---
- [ ] depends on: #29533
- [ ] depends on: #26215
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-algebra
large-import
label:t-algebra$ |
2715/24 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/RingTheory/CohenMacaulay/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Maximal.lean,Mathlib/RingTheory/Depth/AuslanderBuchsbaum.lean,Mathlib/RingTheory/Depth/Basic.lean,Mathlib/RingTheory/Depth/Ischebeck.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Nakayama.lean,Mathlib/RingTheory/Regular/Free.lean,Mathlib/RingTheory/Regular/LinearMap.lean,Mathlib/RingTheory/RegularLocalRing/Basic.lean,Mathlib/RingTheory/RegularLocalRing/GlobalDimension.lean,docs/references.bib |
19 |
17 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
2-9878 2 days ago |
256-13071 256 days ago |
0-1929 32 minutes |
| 29534 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): global dimension of regular local ring |
In this PR, we proved the global dimension of regular local ring is equal to its krull dimension via Auslander Buchsbaum theorem.
---
- [ ] depends on: #29557
- [ ] depends on: #26215
- [ ] depends on: #29558
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-algebra
large-import
label:t-algebra$ |
2990/24 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Baer.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/RingTheory/CohenMacaulay/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Maximal.lean,Mathlib/RingTheory/Depth/AuslanderBuchsbaum.lean,Mathlib/RingTheory/Depth/Basic.lean,Mathlib/RingTheory/Depth/Ischebeck.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/GlobalDimension.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Nakayama.lean,Mathlib/RingTheory/Regular/Free.lean,Mathlib/RingTheory/Regular/LinearMap.lean,Mathlib/RingTheory/RegularLocalRing/Basic.lean,Mathlib/RingTheory/RegularLocalRing/GlobalDimension.lean,docs/references.bib |
21 |
21 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
2-9819 2 days ago |
256-55848 256 days ago |
0-2082 34 minutes |
| 29701 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra/RingTheory): polynomial over regular ring |
In this PR, we proved that polynomial over regular ring is regular.
---
- [x] depends on: #37627
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
127/0 |
Mathlib.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/RegularLocalRing/Polynomial.lean |
3 |
6 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
joneugster assignee:joneugster |
2-9706 2 days ago |
2-32894 2 days ago |
27-38405 27 days |
| 39754 |
EtienneC30 author:EtienneC30 |
feat: the natural filtration of a process is the filtration generated by the process |
---
- [ ] depends on: #39730
[](https://gitpod.io/from-referrer/)
|
brownian
t-measure-probability
blocked-by-other-PR
|
11/0 |
Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/Probability/Process/Filtration.lean |
2 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
2-9354 2 days ago |
2-9355 2 days ago |
0-1910 31 minutes |
| 35043 |
winstonyin author:winstonyin |
refactor(Analysis/ODE): restate existence and uniqueness using integral curve API |
* Create `Mathlib/Analysis/ODE/ExistUnique.lean` to collect existence and uniqueness results for ODEs stated in terms of the integral curve API (`IsIntegralCurve`, `IsIntegralCurveOn`, `IsIntegralCurveAt`).
* Move and restate the Picard-Lindelöf existence theorems from `PicardLindelof.lean` and the $C^1$ vector field results using `IsIntegralCurveOn`/`IsIntegralCurveAt` instead of raw `HasDerivWithinAt`/`HasDerivAt`.
* Move and restate the Grönwall-based uniqueness theorems from `Gronwall.lean` using `IsIntegralCurveOn` with half-open intervals (`Ico`/`Ioc`) instead of `HasDerivWithinAt … (Ici t)`/`HasDerivWithinAt … (Iic t)`.
* Rename uniqueness theorems to use dot notation on the integral curve types (e.g. `ODE_solution_unique_of_mem_Icc_right` becomes `IsIntegralCurveOn.eqOn_Icc_right`).
* Add `IsIntegralCurveOn.eqOn_inter`: if two integral curves on preconnected sets `I` and `J` agree at a point in both sets, they agree on `I ∩ J`.
* Add deprecation aliases for all renamed lemmas.
- [ ] depends on: #29186
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
merge-conflict
|
421/308 |
Mathlib.lean,Mathlib/Analysis/ODE/ExistUnique.lean,Mathlib/Analysis/ODE/Gronwall.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,docs/1000.yaml,docs/undergrad.yaml |
7 |
9 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mcdoll', 'winstonyin'] |
sgouezel assignee:sgouezel |
2-2867 2 days ago |
2-2867 2 days ago |
43-39495 43 days |
| 35291 |
mcdoll author:mcdoll |
feat(Fourier): improved version of Riemann-Lebesgue |
---
The Riemann-Lebesgue lemma is merely a side note of the fact that we need to relate the extension of the Schwartz Fourier transform to L1 to the original one. RL on Schwartz is trivial by embedding into the correct space.
- [ ] depends on: #35953
- [ ] depends on: #35954
[](https://gitpod.io/from-referrer/)
|
WIP
large-import
merge-conflict
|
96/29 |
Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/Fourier/L1Space.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Topology/ContinuousMap/ZeroAtInfty.lean |
4 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
2-2865 2 days ago |
100-27028 100 days ago |
0-1 1 second |
| 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.
---
[](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 |
16 |
['copilot-pull-request-reviewer', 'euprunin', 'github-actions', 'homeowmorphism', 'mathlib-bors', 'mathlib-merge-conflicts', 'plp127', 'tb65536'] |
tb65536 assignee:tb65536 |
2-2741 2 days ago |
80-73674 80 days ago |
4-30999 4 days |
| 36428 |
linesthatinterlace author:linesthatinterlace |
feat(Logic/Equiv/Fin): Streamline equiv definitions using mkDivMod |
This PR uses Fin.mkDivMod to streamline the related equivalence and introduces Nat.mkDivMod to a similar end.
---
[](https://gitpod.io/from-referrer/)
|
t-logic
WIP
merge-conflict
|
56/61 |
Mathlib/Analysis/SpecialFunctions/Complex/Arctan.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Series.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Logic/Equiv/Fin/Basic.lean,Mathlib/Order/Partition/Equipartition.lean |
5 |
5 |
['JovanGerb', 'github-actions', 'linesthatinterlace', 'mathlib-merge-conflicts'] |
nobody |
2-2737 2 days ago |
67-8960 67 days ago |
0-11097 3 hours |
| 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`.
---
[](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 |
2-2613 2 days ago |
2-2614 2 days ago |
67-395 67 days |
| 36963 |
seewoo5 author:seewoo5 |
feat(ModularForms): SL2 action and Serre derivative |
---
[](https://gitpod.io/from-referrer/)
Equivariance of Serre derivative under SL2 action. More precisely, $$\partial_k (F|_k \gamma) = (\partial_{k} F)|_{k+2} \gamma$$. From [Sphere Packing Project](https://github.com/thefundamentaltheor3m/Sphere-Packing-Lean). |
t-number-theory
large-import
merge-conflict
|
163/30 |
Mathlib/Analysis/Complex/UpperHalfPlane/Manifold.lean,Mathlib/Analysis/Complex/UpperHalfPlane/MoebiusAction.lean,Mathlib/NumberTheory/ModularForms/Derivative.lean |
3 |
12 |
['github-actions', 'loefflerd', 'mathlib-merge-conflicts', 'seewoo5', 'tb65536', 'wwylele'] |
tb65536 assignee:tb65536 |
2-2612 2 days ago |
2-2613 2 days ago |
25-79876 25 days |
| 39212 |
emlis42 author:emlis42 |
feat(Algebra/ContinuedFractions): add `partNums!` and `partDens!` |
This PR adds `partNums!` and `partDens!`, which provide infinite stream representations for the sequences of partial numerators and denominators of a generalized continued fraction. |
t-algebra
new-contributor
label:t-algebra$ |
8/0 |
Mathlib/Algebra/ContinuedFractions/Basic.lean |
1 |
4 |
['emlis42', 'github-actions', 'grunweg'] |
nobody |
2-1789 2 days ago |
14-3549 14 days ago |
14-3544 14 days |
| 37817 |
artie2000 author:artie2000 |
refactor(RingTheory/Ideal): standardise `RingHom` and `AlgHom` lifting API |
* Change `AlgHom.liftOfSurjective` to use the same set-up as `RingHom.liftOfSurjective`
* Add lemmas until both operations have the same API
* Make `RingHom.liftOfRightInverse_comp_apply` a `simp` lemma
* Rename `AlgHom.liftOfSurjective_apply` to match `RingHom.liftOfSurjective_apply_comp`
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
merge-conflict
|
125/32 |
Mathlib/Algebra/Category/Ring/FinitePresentation.lean,Mathlib/Algebra/Category/Ring/Topology.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/LocalRing/ResidueField/Polynomial.lean |
5 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
2-1290 2 days ago |
42-72623 42 days ago |
0-1401 23 minutes |
| 37964 |
mortarsanjaya author:mortarsanjaya |
feat(Algebra/Order/Floor): weaken assumptions on theorems about `FloorRing` |
This PR weakens as much assumptions as possible on theorems about `FloorSemiring` and `FloorRing`. Mainly, `IsOrderedRing` and `IsStrictOrderedRing` are weakened to just `IsOrderedAddMonoid` or removed completely from the assumptions on the theorems.
Most theorems can be generalized as is or only requires a minor modification of replacing lemmas about casting naturals/integers preserving order (the likes of `Nat.cast_le`, `Int.cast_lt`, etc.) with the corresponding version for `FloorRing`. Some other lemmas require modification in the proofs, but these changes shorten the proofs. The new proof of the theorem `Int.mul_cast_floor_div_cancel_of_pos` requires an extra import.
The assumption `IsOrderedAddMonoid` is required on lemmas that involve comparison + addition, and `IsOrderedRing` is required only on lemmas that involve comparison + multiplication of two non-integer elements.
---
- [ ] depends on: #37714
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
blocked-by-other-PR
merge-conflict
label:t-algebra$ |
349/266 |
Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/Order/Floor/Defs.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Algebra/Order/Round.lean,Mathlib/Data/Int/Log.lean,Mathlib/Data/Rat/Floor.lean,Mathlib/Topology/Algebra/Order/Floor.lean |
9 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
2-1289 2 days ago |
42-64856 42 days ago |
0-3854 1 hour |
| 38018 |
matthewjasper author:matthewjasper |
feat(Algebra): expand Subalgebra.restrictScalars API |
Add an instance for the original algebra structure, the implied scalar tower instances, and the algebra equivalence with the original subalgebra. Use this to remove some `set_option backward.isDefEq.respectTransparency`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
merge-conflict
|
53/14 |
Mathlib/Algebra/Algebra/Subalgebra/Tower.lean,Mathlib/RingTheory/AlgebraicIndependent/TranscendenceBasis.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/IntegralClosure/IsIntegralClosure/Basic.lean |
4 |
6 |
['eric-wieser', 'github-actions', 'leanprover-radar', 'mariainesdff', 'mathlib-merge-conflicts'] |
mariainesdff assignee:mariainesdff |
2-1287 2 days ago |
2-1287 2 days ago |
39-73389 39 days |
| 38205 |
jcommelin author:jcommelin |
chore: reduce technical debt in FreimanHom |
This PR reduces technical debt related to the `CommRing` instance on `Fin (n + 1)`.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
large-import
awaiting-author
merge-conflict
|
65/27 |
Mathlib/Combinatorics/Additive/FreimanHom.lean |
1 |
11 |
['Vierkantor', 'YaelDillies', 'github-actions', 'jcommelin', 'mathlib-merge-conflicts'] |
nobody |
2-1155 2 days ago |
10-22526 10 days ago |
22-7183 22 days |
| 38390 |
mortarsanjaya author:mortarsanjaya |
feat(Data/Nat/Cast/Order/Basic): introduce new class `IsMonotoneNatCast` |
The class says that `Nat.cast` is monotone in an `AddMonoidWithOne`. Basically, we use this class when we only care about comparing the elements of a monoid that comes from the `Nat`s (so we do not have to care about the compatibility between the additive structure of the monoid and its order structure).
---
Other than that, I'm also reorganizing some section naming, and I change the proof of the `Nontrivial` instance at the bottom to using `NeZero.nontrivial`.
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
merge-conflict
|
28/18 |
Mathlib/Data/Nat/Cast/Order/Basic.lean |
1 |
8 |
['github-actions', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts', 'mortarsanjaya', 'vihdzp'] |
nobody |
2-1151 2 days ago |
24-70227 24 days ago |
7-85443 7 days |
| 38397 |
staroperator author:staroperator |
feat(ModelTheory): add `DefinablePred` for `fun_prop` automation |
This PR adds `DefinablePred`. It is the same as `Definable`, except the latter applies on `Set (α → M)` and the former applies on `(α → M) → Prop`. There main reason to add this is that I want to automate the definability proof of predicates, and that `fun_prop` works on functions (that include predicates) but not on sets.
For example, with appropriate `fun_prop` lemmas added, one can automate definability result like this:
```lean4
theorem IsLinearSet.definable [Finite α] (hs : IsLinearSet s) : A.Definable presburger s := by
...
-- ⊢ A.DefinablePred presburger fun x ↦
-- ∃ y, (∃ a, ∀ (x : α), y x = ∑ x_1, a x_1 * ↑x_1 x) ∧ ∀ (x_1 : α), v x_1 + y x_1 = x x_1
fun_prop
```
This PR also removes certain `fun_prop` tags that would or should not be used in automation.
---
Note: one may argue that we don't need a new definition if we use `aesop` instead of `fun_prop`. However, in that case, we still need to write lemmas for `{x | p x}` targets (e.g. for `{x | p x ∧ q x}`), which have almost no difference with lemmas on `p` or `fun x => p x ∧ q x` directly.
- [ ] depends on: #38393
[](https://gitpod.io/from-referrer/)
|
t-logic
blocked-by-other-PR
merge-conflict
|
500/261 |
Mathlib/ModelTheory/Algebra/Classes.lean,Mathlib/ModelTheory/Algebra/Field/IsAlgClosed.lean,Mathlib/ModelTheory/Algebra/Ring/Basic.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Basic.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Definability.lean,Mathlib/ModelTheory/Definability.lean,Mathlib/ModelTheory/Order.lean |
7 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
2-1150 2 days ago |
32-55149 32 days ago |
0-403 6 minutes |
| 38702 |
jcommelin author:jcommelin |
chore(Data/Real): encapsulate real numbers |
This PR:
* hides the definition of the real numbers
* preserves defeqs when casting `Nat`, `Int`, `Rat`, into the reals
* preserves the defeq `x - y = x + (-y)` for `x y : Real`
* removes a bunch of technical debt
* adjusts imports in the library, where files relied on getting access to Cauchy sequences transitively via importing the reals.
---
[](https://gitpod.io/from-referrer/)
|
delegated
merge-conflict
|
235/256 |
Archive/Imo/Imo2013Q5.lean,Counterexamples/SeminormLatticeNotDistrib.lean,Mathlib.lean,Mathlib/Analysis/Complex/Norm.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/Real/Cardinality.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Counting.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Real/Archimedean.lean,Mathlib/Data/Real/Basic.lean,Mathlib/Data/Real/Cauchy.lean,Mathlib/Data/Real/Sign.lean,Mathlib/NumberTheory/Padics/PadicIntegers.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/SelbergSieve.lean,Mathlib/Topology/Algebra/Ring/Real.lean,Mathlib/Topology/Instances/Real/Lemmas.lean,Mathlib/Topology/MetricSpace/CauSeqFilter.lean,Mathlib/Topology/UniformSpace/CompareReals.lean,Mathlib/Topology/UniformSpace/Real.lean,MathlibTest/Complex.lean,MathlibTest/Quaternion.lean,MathlibTest/Real.lean,MathlibTest/peel.lean |
26 |
32 |
['JovanGerb', 'Kha', 'YaelDillies', 'eric-wieser', 'fpvandoorn', 'github-actions', 'jcommelin', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts', 'riccardobrasca', 'sgouezel', 'wkrozowski'] |
nobody |
2-1025 2 days ago |
26-21001 26 days ago |
0-2637 43 minutes |
| 38882 |
yuanyi-350 author:yuanyi-350 |
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Function/AEMeasurableOrder` |
- replaces the manual `μ t = 0` to `ae` conversion with `measure_eq_zero_iff_ae_notMem`
- rewrites the two density arguments in `aemeasurable_of_exist_almost_disjoint_supersets` using `s_dense.exists_between` and `mem_iUnion₂`
Extracted from #38104
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
t-measure-probability
merge-conflict
|
7/18 |
Mathlib/MeasureTheory/Function/AEMeasurableOrder.lean |
1 |
3 |
['github-actions', 'mathlib-merge-conflicts', 'yuanyi-350'] |
kex-y assignee:kex-y |
2-895 2 days ago |
2-896 2 days ago |
20-13865 20 days |
| 38938 |
lua-vr author:lua-vr |
chore(ConditionallyCompleteLattice/Indexed): dualize |
---
- [ ] depends on: #38906
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-order
merge-conflict
|
112/251 |
Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean |
3 |
7 |
['github-actions', 'lua-vr', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
2-893 2 days ago |
unknown |
0-0 0 seconds |
| 38950 |
smmercuri author:smmercuri |
chore(Algebra): `coe_algHom` -> `coe_toAlgHom` |
---
There are also instances of `coe_ringHom`, `coe_linearMap` etc which I can fix in follow-up PRs
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
78/64 |
Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Centralizer.lean,Mathlib/Algebra/Azumaya/Basic.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/AlgebraicGeometry/AffineSpace.lean,Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean,Mathlib/FieldTheory/Extension.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/Isaacs.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/FieldTheory/LinearDisjoint.lean,Mathlib/FieldTheory/Minpoly/Field.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/LinearAlgebra/Charpoly/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Subalgebra.lean,Mathlib/NumberTheory/Cyclotomic/Gal.lean,Mathlib/RingTheory/Algebraic/MvPolynomial.lean,Mathlib/RingTheory/Bialgebra/Equiv.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/DividedPowerAlgebra/Init.lean,Mathlib/RingTheory/Extension/Presentation/Basic.lean,Mathlib/RingTheory/Extension/Presentation/Core.lean,Mathlib/RingTheory/GradedAlgebra/AlgHom.lean,Mathlib/RingTheory/GradedAlgebra/TensorProduct.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/FundamentalTheorem.lean,Mathlib/RingTheory/NoetherNormalization.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Factorization.lean,Mathlib/RingTheory/Smooth/Basic.lean,Mathlib/RingTheory/Smooth/IntegralClosure.lean,Mathlib/RingTheory/TensorProduct/Maps.lean |
33 |
6 |
['github-actions', 'j-loreaux', 'mathlib-merge-conflicts'] |
nobody |
2-891 2 days ago |
2-892 2 days ago |
15-80157 15 days |
| 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`
---
- [ ] depends on: #38950
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
merge-conflict
|
493/429 |
Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Centralizer.lean,Mathlib/Algebra/Azumaya/Basic.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/AlgebraicGeometry/AffineSpace.lean,Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean,Mathlib/FieldTheory/Extension.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/Galois/Notation.lean,Mathlib/FieldTheory/Isaacs.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/FieldTheory/LinearDisjoint.lean,Mathlib/FieldTheory/Minpoly/Field.lean,Mathlib/FieldTheory/Normal/Basic.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/LinearAlgebra/Charpoly/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Subalgebra.lean,Mathlib/NumberTheory/Cyclotomic/Gal.lean,Mathlib/RingTheory/AlgebraTower.lean,Mathlib/RingTheory/Algebraic/MvPolynomial.lean,Mathlib/RingTheory/Bialgebra/Equiv.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/DividedPowerAlgebra/Init.lean,Mathlib/RingTheory/Extension/Presentation/Basic.lean,Mathlib/RingTheory/Extension/Presentation/Core.lean,Mathlib/RingTheory/GradedAlgebra/AlgHom.lean,Mathlib/RingTheory/GradedAlgebra/TensorProduct.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/FundamentalTheorem.lean,Mathlib/RingTheory/NoetherNormalization.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Factorization.lean,Mathlib/RingTheory/Polynomial/Quotient.lean,Mathlib/RingTheory/Smooth/Basic.lean,Mathlib/RingTheory/Smooth/IntegralClosure.lean,Mathlib/RingTheory/TensorProduct/Maps.lean,MathlibTest/GalNotation.lean |
40 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
2-890 2 days ago |
20-4204 20 days ago |
0-8935 2 hours |
| 38966 |
smmercuri author:smmercuri |
chore(Algebra): `coe_ringHom` -> `coe_toRingHom` |
---
- [ ] depends on: #38950
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
merge-conflict
|
197/120 |
Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Centralizer.lean,Mathlib/Algebra/Azumaya/Basic.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Eval.lean,Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/AlgebraicGeometry/AffineSpace.lean,Mathlib/AlgebraicGeometry/Spec.lean,Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/FieldTheory/Extension.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/IsAlgClosed/Basic.lean,Mathlib/FieldTheory/Isaacs.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/FieldTheory/LinearDisjoint.lean,Mathlib/FieldTheory/Minpoly/Field.lean,Mathlib/FieldTheory/PurelyInseparable/Basic.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/LinearAlgebra/Charpoly/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Subalgebra.lean,Mathlib/NumberTheory/Cyclotomic/CyclotomicCharacter.lean,Mathlib/NumberTheory/Cyclotomic/Gal.lean,Mathlib/NumberTheory/NumberField/CMField.lean,Mathlib/NumberTheory/NumberField/Ideal/KummerDedekind.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Algebraic/MvPolynomial.lean,Mathlib/RingTheory/Bialgebra/Equiv.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/DedekindDomain/Instances.lean,Mathlib/RingTheory/DividedPowerAlgebra/Init.lean,Mathlib/RingTheory/Extension/Presentation/Basic.lean,Mathlib/RingTheory/Extension/Presentation/Core.lean,Mathlib/RingTheory/FinitePresentation.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean,Mathlib/RingTheory/GradedAlgebra/AlgHom.lean,Mathlib/RingTheory/GradedAlgebra/RingHom.lean,Mathlib/RingTheory/GradedAlgebra/TensorProduct.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean,Mathlib/RingTheory/Jacobson/Ring.lean,Mathlib/RingTheory/LocalRing/ResidueField/Ideal.lean,Mathlib/RingTheory/LocalRing/ResidueField/Polynomial.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/FractionRing.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/FundamentalTheorem.lean,Mathlib/RingTheory/NoetherNormalization.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Factorization.lean,Mathlib/RingTheory/RingHom/StandardSmooth.lean,Mathlib/RingTheory/RingInvo.lean,Mathlib/RingTheory/Smooth/Basic.lean,Mathlib/RingTheory/Smooth/IntegralClosure.lean,Mathlib/RingTheory/TensorProduct/Maps.lean,Mathlib/RingTheory/Trace/Quotient.lean,Mathlib/RingTheory/Unramified/Basic.lean |
63 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
2-889 2 days ago |
20-5187 20 days ago |
0-4608 1 hour |
| 38977 |
eric-wieser author:eric-wieser |
feat: DFinsupp.mapDomain |
The API for `DFinsupp.mapDomain` is copied from `Finsupp.mapDomain`.
---
[](https://gitpod.io/from-referrer/)
|
t-data
merge-conflict
|
271/0 |
Mathlib.lean,Mathlib/Data/DFinsupp/Basic.lean,Mathlib/Data/DFinsupp/BigOperators.lean |
3 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
2-887 2 days ago |
unknown |
0-0 0 seconds |
| 38990 |
Vierkantor author:Vierkantor |
chore(Algebra/DirectSum): workaround for `backward.inferInstanceAs` |
This PR works around a `backward.inferInstanceAs` compatibility flag introduced by identifying `DirectSum` with `DFinsupp` in our definitions. We introduce a new dsimp lemma `funLike_eq` that transfers the `FunLike` instances, and now we can use `DirectSum`'s `FunLike` instance, instead of the custom `CoeFun` instance. I unsqueezed a few `simp`s, which all ran pretty much instant on my machine so it shouldn't cause much slowdown. Also we fix two porting notes.
This is not a great approach, but it seems the least painful for the short term. The alternative would be to strictly enforce the defeq barrier between `DirectSum` and `DFinsupp`, which would mean a substantial rewrite of this corner of Mathlib. We can't make `DirectSum` an `@[implicit_reducible]`, because we need different multiplication on it than `DFinsupp` has.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
tech debt
t-ring-theory
awaiting-author
merge-conflict
label:t-algebra$ |
36/38 |
Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/Lie/DirectSum.lean,Mathlib/Algebra/Order/Module/HahnEmbedding.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Analysis/InnerProductSpace/Subspace.lean,Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean,Mathlib/RingTheory/Spectrum/Prime/RingHom.lean |
9 |
4 |
['JovanGerb', 'Vierkantor', 'github-actions', 'mathlib-merge-conflicts'] |
JovanGerb assignee:JovanGerb |
2-885 2 days ago |
11-12125 11 days ago |
8-19465 8 days |
| 39041 |
themathqueen author:themathqueen |
refactor(Analysis/InnerProductSpace/Projection): redefine `orthogonalProjectionOnto` via `projectionOntoL` |
Now that we have `IsTopCompl` and `projectionOntoL`, we can define `orthogonalProjectionOnto` directly this way instead of needing an implementation definition.
---
- [ ] depends on: #38970
Zulip thread: [#mathlib4 > refactoring `Submodule.orthogonalProjection`](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/refactoring.20.60Submodule.2EorthogonalProjection.60/with/593516136)
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-analysis
merge-conflict
|
339/288 |
Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Analysis/InnerProductSpace/MeanErgodic.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/InnerProductSpace/Positive.lean,Mathlib/Analysis/InnerProductSpace/ProdL2.lean,Mathlib/Analysis/InnerProductSpace/Projection/Basic.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Analysis/InnerProductSpace/Projection/Reflection.lean,Mathlib/Analysis/InnerProductSpace/Projection/Submodule.lean,Mathlib/Analysis/InnerProductSpace/Spectrum.lean,Mathlib/Analysis/InnerProductSpace/l2Space.lean,Mathlib/Geometry/Euclidean/Inversion/Calculus.lean,Mathlib/Geometry/Euclidean/Projection.lean,Mathlib/Geometry/Euclidean/Volume/Measure.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/LinearAlgebra/Projection.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL2.lean,Mathlib/MeasureTheory/Measure/Hausdorff.lean,Mathlib/Topology/MetricSpace/HausdorffDimension.lean,docs/overview.yaml,docs/undergrad.yaml |
22 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
2-881 2 days ago |
18-4011 18 days ago |
0-1 1 second |
| 39084 |
scholzhannah author:scholzhannah |
feat: generalize `OpenPartialHomeomorph.Defs` file to `PartialHomeomorph` |
As discussed on Zulip ([#mathlib4 > Generalizing `PartialHomeomorph`?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Generalizing.20.60PartialHomeomorph.60.3F/with/536896273)), I renamed `PartialHomeomorph` to `OpenPartialHomeomorph` in #29113.
In this PR I now add a new `PartialHomeomorph` which is a `PartialEquiv` that is continuous on both source and target. An `OpenPartialHomeomorph` is then a `PartialHomeomorph` that additionally has open source and target. In subsequent PRs I will generalize the other files. See this draft PR (#39071) for what I think the end result might be.
`PartialHomeomorph` should find uses at least for manifolds (`ModelWithCorners`). Afterwards, I want to add a `ClosedPartialHomeomorph` to use for CWComplexes.
---
I don't have a lot of experience doing these kind of modifications of a large piece of code. Additionally, I am not familiar with the main uses of `OpenPartialHomeomorph` in Mathlib. So while I did this to the best of my abilities, you should read this carefully because there might be things I did wrong or in non-ideal ways.
- [ ] depends on: #39565
[](https://gitpod.io/from-referrer/)
|
t-topology
blocked-by-other-PR
merge-conflict
|
352/89 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean,Mathlib/Geometry/Manifold/ContMDiff/Defs.lean,Mathlib/Geometry/Manifold/ContMDiffMFDeriv.lean,Mathlib/Geometry/Manifold/Instances/Icc.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean,Mathlib/Geometry/Manifold/LocalInvariantProperties.lean,Mathlib/Geometry/Manifold/LocalSourceTargetProperty.lean,Mathlib/Geometry/Manifold/MFDeriv/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/MDifferentiable.lean,Mathlib/Geometry/Manifold/VectorBundle/Tangent.lean,Mathlib/Logic/Equiv/PartialEquiv.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean,Mathlib/Topology/FiberBundle/Trivialization.lean,Mathlib/Topology/OpenPartialHomeomorph/Basic.lean,Mathlib/Topology/OpenPartialHomeomorph/Composition.lean,Mathlib/Topology/OpenPartialHomeomorph/Constructions.lean,Mathlib/Topology/OpenPartialHomeomorph/Defs.lean,Mathlib/Topology/OpenPartialHomeomorph/IsImage.lean,Mathlib/Topology/PartialHomeomorph/Defs.lean |
24 |
24 |
['github-actions', 'grunweg', 'j-loreaux', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'scholzhannah'] |
grunweg and j-loreaux assignee:j-loreaux assignee:grunweg |
2-877 2 days ago |
6-28606 6 days ago |
8-23672 8 days |
| 39211 |
urkud author:urkud |
refactor: turn `Set` into a 1-field structure |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
1552/1417 |
Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/FiniteSupport/Basic.lean,Mathlib/Algebra/FreeAlgebra.lean,Mathlib/Algebra/Group/Action/Equidecomp.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Homology/EulerCharacteristic.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Grading.lean,Mathlib/Algebra/Notation/Indicator.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Measure.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/MeanValue.lean,Mathlib/Analysis/Calculus/FDeriv/Congr.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Calculus/FormalMultilinearSeries.lean,Mathlib/Analysis/Calculus/Gradient/Basic.lean,Mathlib/Analysis/Calculus/LineDeriv/Basic.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Calculus/VectorField.lean,Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/Analysis/Complex/CoveringMap.lean,Mathlib/Analysis/Complex/PhragmenLindelof.lean,Mathlib/Analysis/InnerProductSpace/Orthogonal.lean,Mathlib/Analysis/LocallyConvex/Polar.lean,Mathlib/Analysis/LocallyConvex/Separation.lean,Mathlib/Analysis/Meromorphic/Order.lean,Mathlib/Analysis/Normed/Group/Continuity.lean,Mathlib/Analysis/Normed/Group/FunctionSeries.lean,Mathlib/Analysis/Normed/Group/Indicator.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/Oscillation.lean,Mathlib/Analysis/Polynomial/MahlerMeasure.lean,Mathlib/Analysis/SpecialFunctions/Complex/Analytic.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Complex/CircleMap.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/NonIntegrable.lean,Mathlib/Analysis/SpecialFunctions/PolarCoord.lean,Mathlib/Analysis/SumIntegralExpDecay.lean,Mathlib/CategoryTheory/Sites/JointlySurjective.lean,Mathlib/Combinatorics/Derangements/Basic.lean,Mathlib/Combinatorics/Hindman.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Partition.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Maps.lean,Mathlib/Computability/Reduce.lean,Mathlib/Data/Finset/Defs.lean,Mathlib/Data/Finset/Empty.lean,Mathlib/Data/Finset/Insert.lean,Mathlib/Data/Finset/SMulAntidiagonal.lean,Mathlib/Data/NNReal/Basic.lean,Mathlib/Data/Nat/Count.lean,Mathlib/Data/Nat/Nth.lean,Mathlib/Data/Nat/Order/Lemmas.lean,Mathlib/Data/QPF/Multivariate/Basic.lean,Mathlib/Data/Real/Embedding.lean,Mathlib/Data/Set/Accumulate.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Card.lean,Mathlib/Data/Set/Constructions.lean,Mathlib/Data/Set/Defs.lean,Mathlib/Data/Set/Dissipate.lean,Mathlib/Data/Set/Finite/Lattice.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Data/Set/List.lean,Mathlib/Data/Set/MemPartition.lean,Mathlib/Data/Set/Prod.lean,Mathlib/Data/SetLike/Basic.lean,Mathlib/Dynamics/Ergodic/Action/Basic.lean,Mathlib/Dynamics/Ergodic/Action/OfMinimal.lean,Mathlib/Dynamics/Ergodic/AddCircle.lean,Mathlib/Dynamics/Ergodic/Conservative.lean,Mathlib/Dynamics/Ergodic/Ergodic.lean,Mathlib/Dynamics/Ergodic/MeasurePreserving.lean,Mathlib/Dynamics/Ergodic/RadonNikodym.lean,Mathlib/Dynamics/OmegaLimit.lean,Mathlib/Dynamics/TopologicalEntropy/NetEntropy.lean,Mathlib/Dynamics/TopologicalEntropy/Subset.lean,Mathlib/FieldTheory/Galois/Infinite.lean,Mathlib/FieldTheory/Minpoly/Basic.lean,Mathlib/Geometry/Diffeology/Basic.lean,Mathlib/Geometry/Euclidean/Circumcenter.lean,Mathlib/Geometry/Euclidean/Sphere/Tangent.lean,Mathlib/Geometry/Manifold/Complex.lean,Mathlib/Geometry/Manifold/ContMDiff/Atlas.lean,Mathlib/Geometry/Manifold/ContMDiff/Defs.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Geometry/Manifold/LocalInvariantProperties.lean,Mathlib/Geometry/Manifold/MFDeriv/Basic.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean |
337 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
2-751 2 days ago |
unknown |
0-0 0 seconds |
| 38970 |
themathqueen author:themathqueen |
chore(Analysis/InnerProductSpace/Projection): rename `orthogonalProjection` to `orthogonalProjectionOnto` |
To match the current (continuous) linear projection to a submodule along its complement `Submodule.projection(Onto)(L)`, we change `Submodule.orthogonalProjection` to `Submodule.orthogonalProjectionOnto` (and later will change `Submodule.starProjection` to `Submodule.orthogonalProjection`).
---
Zulip thread: [#**mathlib4>Two variants of linear projections**](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Two.20variants.20of.20linear.20projections/with/591234152)
[](https://gitpod.io/from-referrer/)
|
t-analysis |
267/183 |
Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Analysis/InnerProductSpace/MeanErgodic.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/InnerProductSpace/Positive.lean,Mathlib/Analysis/InnerProductSpace/ProdL2.lean,Mathlib/Analysis/InnerProductSpace/Projection/Basic.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Analysis/InnerProductSpace/Projection/Reflection.lean,Mathlib/Analysis/InnerProductSpace/Projection/Submodule.lean,Mathlib/Analysis/InnerProductSpace/Spectrum.lean,Mathlib/Analysis/InnerProductSpace/l2Space.lean,Mathlib/Geometry/Euclidean/Projection.lean,Mathlib/Geometry/Euclidean/Volume/Measure.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL2.lean,Mathlib/MeasureTheory/Measure/Hausdorff.lean,Mathlib/Topology/MetricSpace/HausdorffDimension.lean,docs/overview.yaml,docs/undergrad.yaml |
20 |
17 |
['ADedecker', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'themathqueen'] |
mcdoll assignee:mcdoll |
2-513 2 days ago |
2-549 2 days ago |
19-48103 19 days |
| 38213 |
WenrongZou author:WenrongZou |
feat(FormalGroup): APIs for formal group homomorphism |
This PR introduces some APIs for homomorphism between formal group laws.
---
- [ ] depends on: #38052
- [ ] depends on: #37618
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
blocked-by-other-PR
|
425/11 |
Mathlib/RingTheory/FormalGroup/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Equiv.lean,Mathlib/RingTheory/MvPowerSeries/Substitution.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/Evaluation.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean |
6 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
2-356 2 days ago |
37-9738 37 days ago |
0-1101 18 minutes |
| 38052 |
WenrongZou author:WenrongZou |
feat(FormalGroup): `F(X,0)=X` and `F(0,X)=X` |
In this PR, I prove that given a formal group law `F`, then `F(X,0) = X` and `F(0,X) = X`. And modify the definition of `FormalGroup.Point` to be a subtype. And prove that this subtype is a `AddZeroClass`. Eventually we will prove that this is a `AddGroup`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
255/33 |
Mathlib/RingTheory/FormalGroup/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Substitution.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/Evaluation.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean |
5 |
18 |
['WenrongZou', 'eric-wieser', 'github-actions', 'mariainesdff', 'mathlib-merge-conflicts'] |
mattrobball assignee:mattrobball |
2-268 2 days ago |
2-301 2 days ago |
40-70930 40 days |
| 39297 |
mcdoll author:mcdoll |
stuff |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
45/46 |
Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Fourier.lean,Mathlib/Analysis/Fourier/FourierTransform.lean,Mathlib/MeasureTheory/Function/L1Space/AEEqFun.lean,Mathlib/MeasureTheory/Function/L1Space/Integrable.lean,Mathlib/MeasureTheory/Integral/Prod.lean,Mathlib/Topology/Constructions/SumProd.lean |
7 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
1-85913 1 day ago |
unknown |
0-0 0 seconds |
| 39311 |
felixpernegger author:felixpernegger |
refactor: redefine `eLpNorm` at `p = 0` |
For Zulip discussion see https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/eLpNorm.20junk.20value/with/576356442. In partuclar this change is suggestion 2 in [#mathlib4 > eLpNorm junk value @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/eLpNorm.20junk.20value/near/576340531)
This redefined [MeasureTheory.eLpNorm](https://leanprover-community.github.io/mathlib4_docs/Mathlib/MeasureTheory/Function/LpSeminorm/Defs.html#MeasureTheory.eLpNorm) at `p = 0`. Previously it was always `0` but now it is the measure of the support of the function (technical detail: In order to avoid having to add additional arguments to `eLpNorm`, we define it as the measure of the support of the norm of the function, but this is almost always the same)
The motivation for this comes from the counting measure, in particular this then unifies with https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Normed/Lp/lpSpace.html#Mem%E2%84%93p. In any case, it is "closer" to the actual mathematical definition
Unfortunately, since `eLpNorm` is widely used, the diff is very large and a lot of theorems break (i.e. now require `p != 0`). Oftentimes `p != 0` is still not required (sometimes with nontrivial arguments), I tried to avoid adding extra hypothesis whenever I could but I almost certainly missed some.
There now may also be places where we dont need `p != 0` as a hypothesis anymore (i.e. for `[Memℓp](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Normed/Lp/lpSpace.html#Mem%E2%84%93p)`), but this is not included in this PR.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
915/576 |
Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Fourier.lean,Mathlib/Analysis/Distribution/TemperateGrowth.lean,Mathlib/Analysis/Distribution/TemperedDistribution.lean,Mathlib/Analysis/Distribution/TestFunction.lean,Mathlib/Analysis/Fourier/LpSpace.lean,Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean,Mathlib/Analysis/Normed/Lp/SmoothApprox.lean,Mathlib/Data/ENNReal/Holder.lean,Mathlib/MeasureTheory/Function/ContinuousMapDense.lean,Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean,Mathlib/MeasureTheory/Function/Holder.lean,Mathlib/MeasureTheory/Function/L1Space/Integrable.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Defs.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Indicator.lean,Mathlib/MeasureTheory/Function/LpSeminorm/LpNorm.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Monotonicity.lean,Mathlib/MeasureTheory/Function/LpSeminorm/SMul.lean,Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Trim.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/Complete.lean,Mathlib/MeasureTheory/Function/LpSpace/ContinuousFunctions.lean,Mathlib/MeasureTheory/Function/LpSpace/Indicator.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/SetToL1.lean,Mathlib/Probability/CentralLimitTheorem.lean,Mathlib/Probability/Distributions/Gaussian/Basic.lean,Mathlib/Probability/Distributions/Gaussian/Fernique.lean,Mathlib/Probability/Distributions/Gaussian/HasGaussianLaw/Basic.lean,Mathlib/Probability/Distributions/Gaussian/Real.lean,Mathlib/Probability/IdentDistrib.lean,Mathlib/Probability/Kernel/Disintegration/CDFToKernel.lean,Mathlib/Probability/Kernel/Disintegration/Density.lean,Mathlib/Probability/Martingale/Convergence.lean,Mathlib/Probability/Moments/CovarianceBilinDual.lean,Mathlib/Probability/Moments/IntegrableExpMul.lean,Mathlib/Probability/Moments/SubGaussian.lean,Mathlib/Probability/Process/Filtration.lean,MathlibTest/congr.lean |
45 |
27 |
['felixpernegger', 'github-actions', 'mathlib-merge-conflicts', 'sgouezel'] |
nobody |
1-85911 1 day ago |
1-85912 1 day ago |
1-52732 1 day |
| 39565 |
scholzhannah author:scholzhannah |
chore: rename some OpenPartialHomeomorph declarations |
In the review of #39084, a few suggested renames relating to `OpenPartialHomeomorph` came up which I am doing in this PR.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
merge-conflict
|
58/43 |
Mathlib/Analysis/InnerProductSpace/Calculus.lean,Mathlib/Geometry/Manifold/ContMDiff/Defs.lean,Mathlib/Geometry/Manifold/ContMDiffMFDeriv.lean,Mathlib/Geometry/Manifold/Instances/Icc.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean,Mathlib/Geometry/Manifold/LocalInvariantProperties.lean,Mathlib/Geometry/Manifold/MFDeriv/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/MDifferentiable.lean,Mathlib/Geometry/Manifold/VectorBundle/Tangent.lean,Mathlib/Logic/Equiv/PartialEquiv.lean,Mathlib/Topology/OpenPartialHomeomorph/Composition.lean,Mathlib/Topology/OpenPartialHomeomorph/Constructions.lean,Mathlib/Topology/OpenPartialHomeomorph/Defs.lean |
16 |
7 |
['github-actions', 'grunweg', 'mathlib-merge-conflicts', 'scholzhannah', 'themathqueen'] |
grunweg assignee:grunweg |
1-85906 1 day ago |
1-85908 1 day ago |
3-35824 3 days |
| 39645 |
RemyDegenne author:RemyDegenne |
chore: generalize upcrossing lemmas |
TODO: move the new instance to a better place
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-measure-probability
merge-conflict
|
276/236 |
Mathlib/Probability/Martingale/Upcrossing.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
1-85902 1 day ago |
4-35720 4 days ago |
0-1 1 second |
| 39710 |
justus-springer author:justus-springer |
feat(AlgebraicGeometry/AffineSpace): affine space is smooth |
Show that affine space `𝔸(n; S)` is smooth over `S` (or relative dimension `Nat.card n`) . Also remove the `LocallyOfFinitePresentation` instance, as it can be inferred automatically from smoothness.
- [ ] depends on: #39709
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
large-import
blocked-by-other-PR
merge-conflict
|
85/18 |
Mathlib/AlgebraicGeometry/AffineSpace.lean,Mathlib/AlgebraicGeometry/Morphisms/Smooth.lean,Mathlib/RingTheory/Extension/Generators.lean,Mathlib/RingTheory/Extension/Presentation/Basic.lean,Mathlib/RingTheory/Extension/Presentation/Submersive.lean,Mathlib/RingTheory/Smooth/Basic.lean,Mathlib/RingTheory/Smooth/Quotient.lean,Mathlib/RingTheory/Smooth/StandardSmooth.lean |
8 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
1-85894 1 day ago |
3-8934 3 days ago |
0-2625 43 minutes |
| 39696 |
jsm28 author:jsm28 |
refactor(LinearAlgebra/Orientation,LinearAlgebra/AffineSpace/FiniteDimensional): instances for arbitrary orientations |
Based on suggestions by @kim-em on Zulip https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/PRs.20towards.20IMO.20geometry.202024.20P4/near/596946072 add convenience scoped instances for choosing an arbitrary orientation of a module, and for the `finrank` of the span of the vertices of a simplex.
Note: I don't understand why the latter scoped instance is only found automatically in one of the two places using it; in `Sphere/Power.lean` it's necessary to use `Affine.Simplex.fact_finrank_direction_affineSpan_eq` rather than relying on typeclass inference, but in `Angle/Sphere.lean` typeclass inference suffices.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-euclidean-geometry
label:t-algebra$ |
26/23 |
Archive/Imo/Imo2019Q2.lean,Mathlib/Geometry/Euclidean/Angle/Sphere.lean,Mathlib/Geometry/Euclidean/Sphere/Power.lean,Mathlib/LinearAlgebra/AffineSpace/FiniteDimensional.lean,Mathlib/LinearAlgebra/Orientation.lean |
5 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
1-81841 1 day ago |
1-81874 1 day ago |
3-14826 3 days |
| 39750 |
mathlib-splicebot author:mathlib-splicebot |
feat: if a sigma-algebra is independent from itself then all sets in it have measure `0` or `1` |
This PR was automatically created from PR #37259 by @EtienneC30 via a [review comment](https://github.com/leanprover-community/mathlib4/pull/37259#discussion_r3292832135) by @EtienneC30.
- [ ] depends on: #39748 |
brownian
t-measure-probability
blocked-by-other-PR
|
11/0 |
Mathlib/Probability/Independence/ZeroOne.lean |
1 |
4 |
['EtienneC30', 'github-actions', 'mathlib-dependent-issues', 'vihdzp'] |
nobody |
1-81143 1 day ago |
1-81572 1 day ago |
0-193 3 minutes |
| 37259 |
EtienneC30 author:EtienneC30 |
feat: blumenthal's zero-one law for Brownian motion |
---
- [ ] depends on: #36616
- [ ] depends on: #39728
- [ ] depends on: #39754
- [ ] depends on: #39749
- [ ] depends on: #39750
[](https://gitpod.io/from-referrer/)
|
brownian
t-measure-probability
blocked-by-other-PR
large-import
|
718/2 |
Mathlib.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Integral/Prod.lean,Mathlib/MeasureTheory/MeasurableSpace/Basic.lean,Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/MeasureTheory/MeasurableSpace/MeasurablyGenerated.lean,Mathlib/Probability/BrownianMotion/Basic.lean,Mathlib/Probability/BrownianMotion/GaussianProjectiveFamily.lean,Mathlib/Probability/Distributions/Gaussian/HasGaussianLaw/Basic.lean,Mathlib/Probability/Distributions/Gaussian/Real.lean,Mathlib/Probability/HasLaw.lean,Mathlib/Probability/Independence/Basic.lean,Mathlib/Probability/Independence/Integration.lean,Mathlib/Probability/Independence/Kernel/Indep.lean,Mathlib/Probability/Independence/Kernel/IndepFun.lean,Mathlib/Probability/Independence/ZeroOne.lean,Mathlib/Probability/Moments/Basic.lean,Mathlib/Probability/Process/Filtration.lean |
18 |
11 |
['EtienneC30', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib-splicebot'] |
nobody |
1-80863 1 day ago |
unknown |
0-0 0 seconds |
| 37766 |
chrisflav author:chrisflav |
feat(AlgebraicGeometry): restriction of quasi-coherent sheaf is quasi-coherent |
---
- [ ] depends on: #37773
- [ ] depends on: #37775
- [ ] depends on: #38181
- [ ] depends on: #39592
- [ ] depends on: #39594
- [ ] depends on: #39595
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebraic-geometry
large-import
merge-conflict
|
568/1 |
Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/CategoryTheory/Discrete/Basic.lean,Mathlib/CategoryTheory/Limits/Preorder.lean,Mathlib/CategoryTheory/Limits/Preserves/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/IsPullback/Basic.lean,Mathlib/CategoryTheory/Sites/Continuous.lean,Mathlib/CategoryTheory/Sites/CoverPreserving.lean,Mathlib/CategoryTheory/Sites/Hypercover/One.lean |
11 |
7 |
['Brian-Nugent', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
1-79406 1 day ago |
48-838 48 days ago |
0-2 2 seconds |
| 39576 |
plp127 author:plp127 |
chore(Topology): generalize `Topology.IsEmbedding.perfectlyNormalSpace` |
Generalize theorem `Topology.IsEmbedding.perfectlyNormalSpace` to inducing maps. Generalize some other theorem along the way. Rename `isGδ_induced` to `IsGδ.preimage`, to match `IsOpen.preimage` and `IsClosed.preimage`.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
29/27 |
Mathlib/Topology/Baire/LocallyCompactRegular.lean,Mathlib/Topology/GDelta/Basic.lean,Mathlib/Topology/Separation/GDelta.lean,Mathlib/Topology/Separation/PerfectlyNormal.lean,Mathlib/Topology/Separation/Regular.lean |
5 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
1-79116 1 day ago |
1-79151 1 day ago |
6-11117 6 days |
| 39127 |
MichaelStollBayreuth author:MichaelStollBayreuth |
feat(NumberTheory/Height/NumberField): add lemma on "finite part" of mulHeight |
This PR adds
```lean
lemma absNorm_mul_finprod_finitePlace_eq_one {K ι : Type*} [Field K] [NumberField K]
[Finite ι] {x : ι → 𝓞 K} (hx : x ≠ 0) :
(Ideal.span <| Set.range x).absNorm * ∏ᶠ v : FinitePlace K, ⨆ i, v (x i) = 1
```
Because we need it in the proof, we also add a new file Mathlib.Algebra.Order.Hom.Lattice that contains an API lemma that allows reducing the type over which an `iSup` is taken to a subtype.
---
- [x] depends on: #39008
[](https://gitpod.io/from-referrer/)
|
t-number-theory |
66/0 |
Mathlib.lean,Mathlib/Algebra/Order/Hom/Lattice.lean,Mathlib/NumberTheory/Height/NumberField.lean |
3 |
10 |
['MichaelStollBayreuth', 'github-actions', 'mathlib-dependent-issues', 'tb65536'] |
tb65536 assignee:tb65536 |
1-78393 1 day ago |
2-32873 2 days ago |
2-33867 2 days |
| 38582 |
dennj author:dennj |
feat(LinearAlgebra/Matrix): add Hadamard matrices |
Introduce `Matrix.IsHadamard` over a general `Ring R`, with the basic theory:
- `IsHadamard` and `IsComplexHadamard` predicates (Definitions 2.3.1 and 2.7.1
of de Launey–Flannery, *Algebraic Design Theory*).
- `IsHadamard.det_sq`: the Hadamard determinant identity `(det A)² = n^n`.
- `IsHadamard.det_ne_zero`: over an integral domain of characteristic zero.
- `IsHadamard.transpose`: `Aᵀ` is Hadamard whenever `A` is (Theorem 2.3.6),
proved over `[CommRing R] [IsDomain R] [CharZero R]` via the adjugate.
- `IsHadamard.card_eq_sq_of_const_row_sum`: a Hadamard matrix with constant
row sum `s` has order `s²` (slightly stronger than Theorem 2.3.7: the
constant-column-sum hypothesis is implied by orthogonality).
- `IsHadamard.kronecker`: the Sylvester (Kronecker product) construction.
- `IsHadamard.four_dvd_card`: order of a Hadamard matrix of order > 2 is
divisible by 4.
`Matrix.mul_eq_smul_one_symm`: if `M * N = c • 1` and `det M ≠ 0` over an
integral domain, then `N * M = c • 1`. Used here for the transpose proof, but
generally useful, analogous to how `mul_eq_one_comm` works over stably finite
rings, but covers the integral-domain case (e.g. `ℤ`, `ℤ[X]`) where matrix
inverses don't exist.
## References
Adds the de Launey–Flannery bibliography entry, cited from the new file.
Human-made PR with LLM used for proof golfing and documentation |
t-algebra
new-contributor
label:t-algebra$ |
270/0 |
Mathlib.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Commute/Defs.lean,Mathlib/Algebra/Star/Unitary.lean,Mathlib/LinearAlgebra/Matrix/HadamardMatrix.lean,docs/references.bib |
6 |
56 |
['JJYYY-JJY', 'dennj', 'eric-wieser', 'github-actions', 'themathqueen', 'wwylele'] |
nobody |
1-77927 1 day ago |
12-71590 12 days ago |
28-4225 28 days |
| 38741 |
eric-wieser author:eric-wieser |
feat: Nat.card lemmas for Sym and Sym2 |
These are just translations of the `Fintype` counterparts.
---
[](https://gitpod.io/from-referrer/)
|
t-data
merge-conflict
awaiting-author
|
109/7 |
Mathlib.lean,Mathlib/Data/Sym/Card.lean,Mathlib/Data/Sym/NatCard.lean,Mathlib/Data/Sym/Sym2.lean |
4 |
24 |
['SnirBroshi', 'YaelDillies', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts'] |
YaelDillies assignee:YaelDillies |
1-75184 1 day ago |
2-1023 2 days ago |
21-79602 21 days |
| 39582 |
plp127 author:plp127 |
chore: unsimp `Set.coe_setOf` |
See [#mathlib4 > `Set.coe_setOf` @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60Set.2Ecoe_setOf.60/near/579579409)
---
[](https://gitpod.io/from-referrer/)
|
t-data |
52/55 |
Archive/Imo/Imo1987Q1.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Inverse.lean,Mathlib/CategoryTheory/GradedObject/Monoidal.lean,Mathlib/CategoryTheory/Sites/Coherent/RegularSheaves.lean,Mathlib/CategoryTheory/Sites/IsSheafFor.lean,Mathlib/CategoryTheory/Sites/Sieves.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Finite.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Finite/Lattice.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/GroupTheory/Perm/Finite.lean,Mathlib/LinearAlgebra/RootSystem/OfBilinear.lean,Mathlib/NumberTheory/KummerDedekind.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean |
15 |
1 |
['github-actions'] |
nobody |
1-72988 1 day ago |
1-72988 1 day ago |
1-72985 1 day |
| 39600 |
plp127 author:plp127 |
chore(Topology/Compactness/CountablyCompact): generalize theorem |
Generalize theorem `Topology.IsEmbedding.isSeqCompact_iff` to `Topology.IsInducing.isSeqCompact_iff` by replacing `IsEmbedding` by `IsInducing`.
Also fix capitalization error.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
10/4 |
Mathlib/Topology/Compactness/CountablyCompact.lean |
1 |
4 |
['github-actions', 'plp127', 'themathqueen'] |
nobody |
1-71757 1 day ago |
1-71835 1 day ago |
4-48389 4 days |
| 39755 |
wwylele author:wwylele |
chore(GroupTheory): remove a defeq abuse |
---
I am not sure if this is the right change to make, so I'd like to start a discussion from this. The issue here seems to be that the simp lemma [MulAction.orbitRel.Quotient.orbit_mk](https://leanprover-community.github.io/mathlib4_docs/Mathlib/GroupTheory/GroupAction/Defs.html#MulAction.orbitRel.Quotient.orbit_mk) fired and changed the underlying type of variables in the expression, which is not defeq at instance transparency, and fails defeq check for `MulAction` ([MulAction.instElemOrbit](https://leanprover-community.github.io/mathlib4_docs/Mathlib/GroupTheory/GroupAction/Defs.html#MulAction.instElemOrbit) vs [MulAction.instElemOrbit_1](https://leanprover-community.github.io/mathlib4_docs/Mathlib/GroupTheory/GroupAction/Defs.html#MulAction.instElemOrbit_1)). The easy change here is to disable the offending simp, but it feels like a common language pitfall. Should we do either of the following instead?
- remove `MulAction.orbitRel.Quotient.orbit_mk` from default simp set
- Make the the orbit definition more transparent
[](https://gitpod.io/from-referrer/)
|
tech debt
t-group-theory
|
1/2 |
Mathlib/GroupTheory/GroupAction/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
1-70927 1 day ago |
1-83269 1 day ago |
1-83264 1 day |
| 39677 |
grunweg author:grunweg |
feat: improve doc-strings for differential geometry elaborators |
Right now, the custom elaborators in the manifold library have doc-strings which explain what the elaborator
expands to --- but don't show what the expanded concept means. It would be much better to show that also.
Verso allows doing so easily: this PR implements this as a proof of concept for the elaborator for `mvfderiv`.
This is not ready to land yet:
- the verso command defined currently works outside the module system, but not inside yet (this is because of a core bug fixed yesterday; it will be fixed in the next Lean release)
- the verso command should move to a better place (at least `Geometry/Manifold/Notation.lean`, perhaps even lower)
- Right now, the concatenated doc-string is formatted as pure text (not markdown): Lean core will implement this soon, but has not done so yet.
- this technique should be applied to all the custom elaborators
- the doc-strings of the elaborators may need to be rewritten, to start with the subject they're defining. (Once this happens, just concatenating the doc-strings produces reasonable results. This PR does this for mvfderiv only.)
Made with in-person help of David Thrane Christiansen at the MI retreat. Thanks a lot!
---
- [ ] depends on: #39729
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-core-release
t-differential-geometry
t-meta
blocked-by-other-PR
|
463/1 |
Mathlib/Geometry/Manifold/MFDeriv/NormedSpace.lean,Mathlib/Geometry/Manifold/MFDeriv/NormedSpaceVersoPoC.lean |
2 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
1-70924 1 day ago |
3-68407 3 days ago |
0-1 1 second |
| 37753 |
JovanGerb author:JovanGerb |
chore(Order/Filter/Basic): use `to_dual` for `≤ᶠ` |
Use `to_dual` on lemmas about `EventuallyLE`.
Remove some `trans` tags, as there should only be one per relation.
---
[](https://gitpod.io/from-referrer/)
|
t-order
maintainer-merge
|
19/6 |
Mathlib/Order/Filter/Basic.lean |
1 |
4 |
['JovanGerb', 'YaelDillies', 'github-actions', 'vihdzp'] |
YaelDillies assignee:YaelDillies |
1-70250 1 day ago |
48-11471 48 days ago |
48-11466 48 days |
| 39255 |
jcommelin author:jcommelin |
chore(Tactic): abstract over Stacks attribute, add Wikidata attribute |
This PR abstracts some of the functionality that sets up the Stacks attribute, and uses the new abstraction to add a Wikidata attribute.
Co-authored with Claude Code.
---
- [x] depends on: #39257
[](https://gitpod.io/from-referrer/)
|
file-removed
LLM-generated
merge-conflict
|
349/257 |
Mathlib.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/CategoryTheory/Category/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CrossRefAttribute.lean,Mathlib/Tactic/StacksAttribute.lean,Mathlib/Topology/Irreducible.lean,Mathlib/Topology/JacobsonSpace.lean,Mathlib/Topology/Separation/Basic.lean,Mathlib/Topology/Separation/Regular.lean,Mathlib/Topology/Spectral/Hom.lean,MathlibTest/CrossRefAttribute.lean,scripts/noshake.json |
14 |
3 |
['github-actions', 'grunweg', 'mathlib-dependent-issues'] |
nobody |
1-68837 1 day ago |
unknown |
0-0 0 seconds |
| 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
label:t-algebra$ |
217/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Determinant/DesnanotJacobi.lean |
2 |
13 |
['SnirBroshi', 'github-actions', 'grunweg', 'kim-em', 'slavanaprienko'] |
nobody |
1-68698 1 day ago |
13-78655 13 days ago |
15-30480 15 days |
| 36036 |
grunweg author:grunweg |
[placeholder PR uniting ongoing work on connections and geodesics] |
---
- [x] depends on: #34263
- [x] depends on: #36277
- [x] depends on: #36279
- [x] depends on: #36285
- [ ] depends on: #36299
- [x] depends on: #37537
- [x] depends on: #34257
- [x] depends on: #39226
- [x] depends on: #39451
- [x] depends on: #39485
- [x] depends on: #39554
- [ ] depends on: #39513
- [x] depends on: #39486
[](https://gitpod.io/from-referrer/)
|
WIP
t-differential-geometry
blocked-by-other-PR
|
4728/41 |
Mathlib.lean,Mathlib/Geometry/Manifold/CheatSheet.md,Mathlib/Geometry/Manifold/MFDeriv/NormedSpace.lean,Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean,Mathlib/Geometry/Manifold/Riemannian/ExistsRiemannianMetric.lean,Mathlib/Geometry/Manifold/VectorBundle/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/ContMDiffSection.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/ChristoffelSymbols.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Curvature.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Ehresmann.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Geodesics.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/IntegralCurvePrelim.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/LeviCivita.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Lift.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Metric.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Prelim.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Torsion2.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/TrivPrelim.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Trivial.lean,Mathlib/Geometry/Manifold/VectorBundle/GramSchmidtOrtho.lean,Mathlib/Geometry/Manifold/VectorBundle/Hom.lean,Mathlib/Geometry/Manifold/VectorBundle/LocalFrame.lean,Mathlib/Geometry/Manifold/VectorBundle/MDifferentiable.lean,Mathlib/Geometry/Manifold/VectorBundle/OrthonormalFrame.lean,Mathlib/Geometry/Manifold/VectorBundle/Tensoriality.lean,Mathlib/Geometry/Manifold/VectorBundle/Unused.lean,Mathlib/Geometry/Manifold/VectorField/LieBracket.lean |
28 |
9 |
['github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
1-67551 1 day ago |
83-28553 83 days ago |
0-7 7 seconds |
| 36299 |
grunweg author:grunweg |
feat: metric connections |
This file defines what it means for a connection on a Riemannian vector bundle `(V, g)` to be *compatible* with the metric `g`. Namely, the differentiated metric tensor `∇ g` (defined by `(X, σ, τ) ↦ X g(σ, τ) - g(∇_X σ, τ) - g(σ, ∇_X τ)`) should vanish on all differentiable vector fields `X` and differentiable sections `σ`, `τ`.
From the path towards the Levi-Civita connection and Riemannian geometry.
Co-authored-by: Heather Macbeth [25316162+hrmacbeth@users.noreply.github.com](mailto:25316162+hrmacbeth@users.noreply.github.com)
Co-authored-by: Patrick Massot [patrickmassot@free.fr](mailto:patrickmassot@free.fr)
---
- [x] depends on: #36279
- [x] depends on: #34263
- [x] depends on: #39485
- [x] depends on: #39554
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
awaiting-author
|
210/3 |
Mathlib.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Metric.lean,Mathlib/Geometry/Manifold/VectorBundle/MDifferentiable.lean |
3 |
24 |
['github-actions', 'grunweg', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'or4nge19', 'sgouezel'] |
nobody |
1-66798 1 day ago |
79-70724 79 days ago |
0-10 10 seconds |
| 39372 |
yuanyi-350 author:yuanyi-350 |
refactor(NumberTheory): golf `Mathlib/NumberTheory/ModularForms/EisensteinSeries/MDifferentiable` |
- rewrites `eisensteinSeriesSIF_mdifferentiable` to use `UpperHalfPlane.mdifferentiable_iff` directly and conclude from local uniform convergence of the Eisenstein series
Extracted from #38144
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
|
1/6 |
Mathlib/NumberTheory/ModularForms/EisensteinSeries/MDifferentiable.lean |
1 |
4 |
['github-actions', 'mathlib-merge-conflicts', 'yuanyi-350'] |
nobody |
1-62522 1 day ago |
1-62560 1 day ago |
10-70760 10 days |
| 34045 |
smmercuri author:smmercuri |
feat: `algebraMap K L` is uniform continuous with respect to adic topologies, when the ideal `w` of `L` lies above `v` |
- `A` is a Dedekind domain with field of fractions `K`.
- `B` is a Dedekind domain with field of fractions `L`.
- `L` is a field extension of `K`.
- `v` is a height one prime ideal of `A`.
- `w` is a height one prime ideal of `B` lying over `v`.
Then respective valuations are related via the ramification index, and `algebraMap (WithVal (v.valuation K)) (WithVal (w.valuation L))` is uniform continuous.
---
- [x] depends on: #34049
- [x] depends on: #35972
- [x] depends on: #36144
- [x] depends on: #36310
[](https://gitpod.io/from-referrer/)
|
FLT
t-algebra
t-number-theory
label:t-algebra$ |
159/12 |
Mathlib.lean,Mathlib/Algebra/Order/Hom/Units.lean,Mathlib/NumberTheory/RamificationInertia/Valuation.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/Valuation/Discrete/RankOne.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean |
6 |
10 |
['dagurtomas', 'github-actions', 'jjdishere', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'smmercuri'] |
nobody |
1-61166 1 day ago |
28-14715 28 days ago |
46-9391 46 days |
| 38200 |
Parcly-Taxel author:Parcly-Taxel |
feat: Turán numbers and their strict monotonicity |
`strictMonoOn_turanNumber` was initially proved by @Aristotle-Harmonic, then hand-polished.
Co-authored-by: Aristotle (Harmonic) |
t-combinatorics |
45/20 |
Mathlib/Combinatorics/SimpleGraph/Extremal/Turan.lean |
1 |
4 |
['Parcly-Taxel', 'github-actions', 'mathlib-merge-conflicts', 'tb65536'] |
nobody |
1-60640 1 day ago |
1-60534 1 day ago |
37-6759 37 days |
| 33143 |
wwylele author:wwylele |
feat(PowerSeries): pentagonal number theorem |
The proof is split in two files: `Mathlib/Topology/Algebra/InfiniteSum/Pentagonal.lean` for the algebraic part, and `Mathlib/RingTheory/PowerSeries/Pentagonal.lean` for the summability part. In the near future, I also plan to prove the real/complex version that branches off from the algebraic part.
---
- [x] depends on: #30436
- [x] depends on: #38179
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
label:t-algebra$ |
361/6 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/Pentagonal.lean,Mathlib/RingTheory/PowerSeries/Pentagonal.lean,Mathlib/Topology/Algebra/InfiniteSum/Pentagonal.lean,docs/1000.yaml |
5 |
59 |
['copilot-pull-request-reviewer', 'github-actions', 'jcommelin', 'mathlib-dependent-issues', 'tb65536', 'urkud', 'vihdzp', 'wwylele'] |
mattrobball assignee:mattrobball |
1-59661 1 day ago |
23-62590 23 days ago |
133-74442 133 days |
| 34805 |
DavidLedvinka author:DavidLedvinka |
feat(Tactic): generalize ofScientific NormNum extension to `DivisionSemiring` |
Co-authored-by: @hrmacbeth |
t-meta |
68/20 |
Mathlib/Tactic/NormNum/Inv.lean,Mathlib/Tactic/NormNum/OfScientific.lean,MathlibTest/norm_num.lean |
3 |
26 |
['DavidLedvinka', 'JovanGerb', 'b-mehta', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'thorimur'] |
eric-wieser assignee:eric-wieser |
1-59660 1 day ago |
64-78114 64 days ago |
85-33121 85 days |
| 35753 |
Vilin97 author:Vilin97 |
feat(Topology/Algebra/Order): regular grid helpers and piecewise linear interpolation |
Make API for piecewise linear interpolation on regular grids. I need these to for ODE time-stepping methods, like forward Euler, and later Runge–Kutta methods.
Follow-up PR: #35755 (forward Euler method convergence).
I don't know if these numerical analysis ODE-solving methods even belong in mathlib. If someone could advise me on it, I would appreciate it.
---
The initial proof was produced by [Aristotle](https://aristotle.harmonic.fun). The code was iteratively refined (factoring out lemmas, golfing, simplifying proofs) using Claude Code.
- [ ] depends on: #38091 |
t-topology
new-contributor
LLM-generated
maintainer-merge
|
201/0 |
Mathlib.lean,Mathlib/Topology/Algebra/Order/PiecewiseLinear.lean |
2 |
59 |
['Vilin97', 'YanYablonovskiy', 'adomani', 'botbaki-review', 'copilot-pull-request-reviewer', 'dagurtomas', 'eric-wieser', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-dependent-issues', 'wwylele'] |
ADedecker assignee:ADedecker |
1-59659 1 day ago |
23-71886 23 days ago |
56-34561 56 days |
| 37682 |
SabrinaJewson author:SabrinaJewson |
refactor(Order/OrdContinuous): redefine left and right order continuity to not require preserving ⊥/⊤ |
`LeftOrdContinuous` currently requires that `f ⊥ = ⊥`, but this means that many functions that are perhaps intuitively left-continuous (like `f x = x + 1` on `ℝ≥0`) are not. In particular, this change means that functions between conditionally complete lattices are `LeftOrdContinuous` iff they are monotone and topologically left continuous (see `MonotoneOn.map_csSup_of_continuousWithinAt` for the reverse direction).
If one wants the concept that existed before, one can either accept the `f ⊥ = ⊥` hypothesis separately or, if the function is between complete lattices, use the left side of a `GaloisConnection` (which is equivalent, although I think this is not yet in Mathlib).
This removes the definitional equality of the type in favour of a structure. Since most of the time users will be working with the `sSup` versions and not with `IsLUB`, I think this is justified. As a consequence, this removes the definitional equality between `LeftOrdContinuous` and `RightOrdContinuous` of the dual – the latter could be redefined to re-add this, but we do have conversion functions.
`LeftOrdContinuous.continuousWithinAt_Iic` is rewritten to accomodate these changes; the superfluous `DenselyOrdered` assumption is also removed.
[Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/LeftOrdContinuous.20requires.20f.28.E2.8A.A5.29.20.3D.20.E2.8A.A5/near/582932491)
---
- [x] depends on: #37735
- [x] depends on: #37772
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
|
52/38 |
Mathlib/Order/OrdContinuous.lean,Mathlib/Order/SemiconjSup.lean,Mathlib/Topology/Order/Basic.lean |
3 |
10 |
['SabrinaJewson', 'astrainfinita', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
Komyyy assignee:Komyyy |
1-59657 1 day ago |
45-69191 45 days ago |
47-66295 47 days |
| 39618 |
node0000 author:node0000 |
feat(CategoryTheory/Subobject): Heyting algebra structure on Subobject in elementary topoi |
This PR provides the canonical `HeytingAlgebra (Subobject X)` instance
for any category `C` satisfying the elementary-topos hypothesis bundle.
Closes a gap in `Mathlib.CategoryTheory.Subobject.Lattice`:
the `SemilatticeInf`, `SemilatticeSup`, `OrderTop`, `OrderBot`, and
`Lattice` instances on `Subobject X` were already in place, but the
Heyting-algebra structure that elementary topoi induce on the subobject
lattice was missing.
The construction follows Mac Lane and Moerdijk, *Sheaves in Geometry
and Logic*, IV.6 Proposition 2: implication is the residual defined
by an equalizer of characteristic morphisms, and the Galois connection
`R ≤ residual P Q ↔ R ⊓ P ≤ Q` is the load-bearing identity that drives
the `HeytingAlgebra` typeclass.
### What this PR adds
A single new file `Mathlib/CategoryTheory/Subobject/Heyting.lean`
containing:
* `CategoryTheory.Subobject.residual : Subobject X → Subobject X → Subobject X`
— the Heyting implication, defined as
`Subobject.mk (equalizer.ι (χ (P ⊓ Q).arrow) (χ P.arrow))`.
* `CategoryTheory.Subobject.le_residual_iff_inf_le` —
the Galois connection `R ≤ residual P Q ↔ R ⊓ P ≤ Q`.
* `CategoryTheory.Subobject.heytingAlgebra` —
the `HeytingAlgebra (Subobject X)` instance, with
`himp := residual`, `compl P := residual P ⊥`,
`le_himp_iff := le_residual_iff_inf_le`, and `himp_bot := rfl`.
Six private lemmas (`residual_E1`, `residual_E2`, `residual_E3` for the
elimination half of the Galois connection; `residual_I1`, `residual_I2`,
`residual_I3` for the introduction half) carry the proof; they are
file-local and do not enter the public API.
### Hypothesis bundle
```
[HasSubobjectClassifier C] [HasPullbacks C] [HasEqualizers C]
[HasInitial C] [HasImages C] [HasBinaryCoproducts C] [InitialMonoClass C]
```
These together are entailed by `C` being an elementary topos. Of these,
`HasSubobjectClassifier` and `HasEqualizers` are the genuinely new
requirements for the residual construction itself; the remainder enter
via the existing `SemilatticeInf`, `SemilatticeSup`, `OrderTop`, and
`OrderBot` instances on `Subobject X` that `HeytingAlgebra` extends.
The per-lemma breakdown is given in the file's module docstring.
### Connection to existing API
`Mathlib/CategoryTheory/Subobject/Lattice.lean` (Bhavik Mehta, Kim
Morrison) already exhibits the `SemilatticeInf, SemilatticeSup,
OrderTop, OrderBot, Lattice` instances on `Subobject X` under the
corresponding limit/colimit hypotheses. This PR extends that chain
to `HeytingAlgebra` using the new `HasSubobjectClassifier` typeclass
introduced in `Mathlib/CategoryTheory/Subobject/Classifier/Defs.lean`
(Charlie Conneen, Pablo Donato, Klaus Gy, 2024) and the equalizer
infrastructure in `Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean`.
Combined with the presheaf-topos classifier instance in
`Mathlib.CategoryTheory.Topos.Sheaf` (`HasSubobjectClassifier (Cᵒᵖ ⥤ Type w)`
for `EssentiallySmall.{w} C`), this gives the Heyting structure on any
presheaf-topos subobject lattice automatically.
### Use of AI
Per [Mathlib's AI-use policy](https://leanprover-community.github.io/contribute/index.html#use-of-ai),
disclosing: the initial proof skeleton and the six bridging lemmas
were drafted with the assistance of [Cursor](https://www.cursor.com/)
running [Anthropic Claude](https://www.anthropic.com/claude) as the
underlying model, during a multi-session co-working pass on a private
formalization project.
The author is the maintainer of the
[FalseWork Papers project](https://github.com/thefalsework/papers),
where this instance has been consumed by application-level theorems
(`four_position_partition` and three other position-theory results)
since Phase 3 of that project — providing a real downstream test of
the construction.
### Testing
* The instance resolves at the abstract level (an `inferInstance` smoke
test under the topos hypothesis bundle exhibits this).
* `himp_bot` discharges via `rfl` (the pseudo-complement is definitionally
`residual P ⊥`); `le_himp_iff` is the Galois connection theorem assembled
from the six bridging lemmas.
* Downstream: in the FalseWork Papers project, the instance carries four
position-theory theorems whose proofs are
`LE.le.disjoint_compl_right`-style consequences of the Heyting
structure, kernel-checked with `#print axioms` reporting only
`[propext, Classical.choice, Quot.sound]`.
* Users should depend on this instance via typeclass search rather than
parameterizing over `[HeytingAlgebra (Subobject Y)]`, which can produce
instance diamonds against the native `Subobject` order structure.
### Acknowledgments
Thanks to **Edward van de Meent** and **Fernando Chu** for confirming
the gap and discussing the construction's shape in
[a #maths Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/HeytingAlgebra.20.28Subobject.20Y.29.20for.20elementary.20topoi/with/595655972)
(2026-05).
### References
* [MM92] S. Mac Lane and I. Moerdijk, *Sheaves in Geometry and Logic*,
Springer, 1992. Chapter IV § 6, Proposition 2 (the residual
construction) and Theorem 8 (subobject lattice is a Heyting
algebra).
|
t-category-theory
new-contributor
|
247/0 |
Mathlib.lean,Mathlib/CategoryTheory/Subobject/Heyting.lean |
2 |
2 |
['github-actions'] |
robin-carlier assignee:robin-carlier |
1-59654 1 day ago |
5-9780 5 days ago |
5-9775 5 days |
| 39669 |
joelriou author:joelriou |
feat(CategoryTheory): the category of κ-directed posets |
Given a regular cardinal `κ : Cardinal.{u}`, we define the category `CardinalFilteredPoset κ` of `κ`-directed partially ordered types (with order embeddings as morphisms). In a future PR #39655, we shall show that it is a `κ`-accessible category.
In this PR, we also show that if `J : CardinalFilteredPoset κ`, the object `J.withTop` obtained by adding a top element is a `κ'`-filtered colimit of objects of cardinality `< κ'` (when `κ'` is a regular cardinal such that `κ ≤ κ'`). This shall be used in #39655 in order to characterize `κ'`-presentable objects in `CardinalFilteredPoset κ` as the objects that are of cardinality `< κ'`.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
314/3 |
Mathlib.lean,Mathlib/CategoryTheory/Presentable/CardinalDirectedPoset.lean,Mathlib/Order/Category/PartOrdEmb.lean |
3 |
11 |
['dagurtomas', 'github-actions', 'joelriou'] |
robin-carlier assignee:robin-carlier |
1-59654 1 day ago |
3-29391 3 days ago |
3-75885 3 days |
| 29699 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra/RingTheory): global dimension of regular ring |
In this PR, we proved that the global (homological dimension) of regular ring is equal to its krull dimension.
---
- [ ] depends on: #28684
- [ ] depends on: #31999
- [ ] depends on: #29534
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-algebra
large-import
label:t-algebra$ |
3101/24 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Baer.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/RingTheory/CohenMacaulay/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Maximal.lean,Mathlib/RingTheory/Depth/AuslanderBuchsbaum.lean,Mathlib/RingTheory/Depth/Basic.lean,Mathlib/RingTheory/Depth/Ischebeck.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/GlobalDimension.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Nakayama.lean,Mathlib/RingTheory/Regular/Free.lean,Mathlib/RingTheory/Regular/LinearMap.lean,Mathlib/RingTheory/RegularLocalRing/Basic.lean,Mathlib/RingTheory/RegularLocalRing/GlobalDimension.lean,docs/references.bib |
21 |
23 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-55651 1 day ago |
251-43961 251 days ago |
0-632 10 minutes |
| 29703 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra/RingTheory): Hilbert's Syzygy theorem (projective version) |
In this PR, we proved for field `k`, `MvPolynomial (Fin n) k` has global dimension `n`.
---
- [ ] depends on: #29701
- [ ] depends on: #29699
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-ring-theory
large-import
|
3259/24 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Baer.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/RingTheory/CohenMacaulay/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Maximal.lean,Mathlib/RingTheory/Depth/AuslanderBuchsbaum.lean,Mathlib/RingTheory/Depth/Basic.lean,Mathlib/RingTheory/Depth/Ischebeck.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/GlobalDimension.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Nakayama.lean,Mathlib/RingTheory/Regular/Free.lean,Mathlib/RingTheory/Regular/LinearMap.lean,Mathlib/RingTheory/RegularLocalRing/Basic.lean,Mathlib/RingTheory/RegularLocalRing/GlobalDimension.lean,Mathlib/RingTheory/RegularLocalRing/Polynomial.lean,Mathlib/RingTheory/RegularLocalRing/Syzygy.lean,docs/references.bib |
23 |
24 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-53119 1 day ago |
251-32979 251 days ago |
0-2475 41 minutes |
| 29796 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): regular of finite global dimension |
In this PR, we proved the other half of Auslander-Buchsbaum-Serre criterion, which states that a local ring is regular if it has finite global dimension, with results in #29557, we can obtain the full theorem. More APIs would be developed based on the two.
---
- [ ] depends on: #26215
- [ ] depends on: #26217
- [ ] depends on: #29558
- [ ] depends on: #28683
- [ ] depends on: #38698
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-ring-theory
large-import
|
2387/24 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Baer.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/RingTheory/Depth/AuslanderBuchsbaum.lean,Mathlib/RingTheory/Depth/Basic.lean,Mathlib/RingTheory/Depth/Ischebeck.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/GlobalDimension.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Nakayama.lean,Mathlib/RingTheory/Regular/Free.lean,Mathlib/RingTheory/Regular/LinearMap.lean,Mathlib/RingTheory/RegularLocalRing/AuslanderBuchsbaumSerre.lean,Mathlib/RingTheory/RegularLocalRing/Basic.lean,docs/references.bib |
19 |
19 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-52907 1 day ago |
248-49173 248 days ago |
0-80 1 minute |
| 29802 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra/RingTheory): Auslander–Buchsbaum–Serre criterion and its corollaries |
In this PR, we proved that:
1: The full version of Auslander–Buchsbaum–Serre criterion
2: Localization of regular local ring is regular
3: Global dimension finite implies regular (doesn't need local)
4: Regular ring only need to be verified at maximal ideals.
---
- [ ] depends on: #29534
- [ ] depends on: #29699
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-ring-theory
large-import
|
3626/24 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Baer.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/RingTheory/CohenMacaulay/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Maximal.lean,Mathlib/RingTheory/Depth/AuslanderBuchsbaum.lean,Mathlib/RingTheory/Depth/Basic.lean,Mathlib/RingTheory/Depth/Ischebeck.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/GlobalDimension.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Nakayama.lean,Mathlib/RingTheory/Regular/Free.lean,Mathlib/RingTheory/Regular/LinearMap.lean,Mathlib/RingTheory/RegularLocalRing/AuslanderBuchsbaumSerre.lean,Mathlib/RingTheory/RegularLocalRing/Basic.lean,Mathlib/RingTheory/RegularLocalRing/GlobalDimension.lean,Mathlib/RingTheory/RegularLocalRing/Localization.lean,docs/references.bib |
23 |
24 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-52893 1 day ago |
248-34604 248 days ago |
0-458 7 minutes |
| 39763 |
NoahW314 author:NoahW314 |
feat(Algebra/GroupWithZero/Divisibility): add `mul_dvd_left_iff_isUnit` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
9/0 |
Mathlib/Algebra/GroupWithZero/Divisibility.lean |
1 |
1 |
['github-actions'] |
nobody |
1-50865 1 day ago |
1-50945 1 day ago |
1-50940 1 day |
| 39613 |
sharky564 author:sharky564 |
feat(LinearAlgebra/Projection): add quotientEquivOfIsCompl_comp_mkQ and quotientEquivOfIsTopCompl_comp_mkQ |
Adds the lemmas `Submodule.quotientEquivOfIsCompl_comp_mkQ` and `quotientEquivOfIsTopCompl_comp_mkQ` - the composition of `quotientEquivOfIsCompl`/`quotientEquivOfIsTopCompl` with `mkQ` agrees with the linear projection onto `q` along `p`. Additionally the proof of `IsCompl.isTopCompl_iff_continuous_quotientEquivOfIsCompl` is simplified.
---
This lemma was flagged as missing in the API in the review of #39260 by @themathqueen. Upon review of the lemma, I found it could be further simplified. |
t-algebra
t-topology
label:t-algebra$ |
11/4 |
Mathlib/LinearAlgebra/Projection.lean,Mathlib/Topology/Algebra/Module/Complement.lean |
2 |
8 |
['ADedecker', 'github-actions', 'sharky564', 'themathqueen'] |
nobody |
1-44922 1 day ago |
1-55161 1 day ago |
4-60903 4 days |
| 39029 |
felixpernegger author:felixpernegger |
chore: remove redundant `unfold`s |
This PR removed roughly (estimated by files I went through) half of the `unfold`'s in mathlib which can be removed such that the proof still works (found by searching `unfold ` in VSCode in manually going through ~600/1100 occurences).
I originally planned to replace all, but I couldn't find any relevant discussion if this is actually a good practice, so to save potentially wasted time, I make this PR now. (similarly with the `clear` tactic)
---
[](https://gitpod.io/from-referrer/)
|
|
63/108 |
Archive/Imo/Imo1994Q1.lean,Archive/Imo/Imo1998Q2.lean,Archive/Imo/Imo2001Q5.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/Coskeletal.lean,Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean,Mathlib/Analysis/Complex/JensenFormula.lean,Mathlib/Analysis/Convex/Strict.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Orthogonality.lean,Mathlib/CategoryTheory/Functor/Flat.lean,Mathlib/CategoryTheory/Functor/FullyFaithful.lean,Mathlib/CategoryTheory/Monoidal/Closed/Functor.lean,Mathlib/Combinatorics/Enumerative/Partition/Basic.lean,Mathlib/Combinatorics/Graph/Delete.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/RegularExpressions.lean,Mathlib/Computability/TuringMachine/PostTuringMachine.lean,Mathlib/Computability/TuringMachine/StackTuringMachine.lean,Mathlib/Condensed/Light/TopCatAdjunction.lean,Mathlib/Data/Fintype/EquivFin.lean,Mathlib/Data/Fintype/List.lean,Mathlib/Data/Int/GCD.lean,Mathlib/Data/List/Intervals.lean,Mathlib/Data/Matrix/Basis.lean,Mathlib/Data/Nat/BinaryRec.lean,Mathlib/Data/Nat/ChineseRemainder.lean,Mathlib/Data/Nat/Digits/Div.lean,Mathlib/Data/Nat/Dist.lean,Mathlib/Data/Ordmap/Ordset.lean,Mathlib/Data/PNat/Prime.lean,Mathlib/Data/Real/Embedding.lean,Mathlib/Data/Seq/Defs.lean,Mathlib/Data/Stream/Init.lean,Mathlib/Data/WSeq/Basic.lean,Mathlib/Data/ZMod/Basic.lean |
44 |
4 |
['felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
1-43093 1 day ago |
1-43128 1 day ago |
17-68235 17 days |
| 37975 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): AdicCompletion of local ring is local |
In this PR, we proved that AdicCompletion of local ring wrt the maximal ideal is local ring with maximal ideal equal to the map of the original maximal ideal.
Also, removing some old junk produced by myself.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
|
173/5 |
Mathlib/RingTheory/AdicCompletion/LocalRing.lean |
1 |
15 |
['BryceT233', 'Thmoas-Guan', 'github-actions'] |
nobody |
1-41620 1 day ago |
42-28346 42 days ago |
42-40135 42 days |
| 38331 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory/AdicCompletion): AdicCompletion of Noetherian ring is Noetherian |
For `I` an ideal of `R`, if `R/I` is Noetherian and `I` is finitely generated, the the completion of `R` wrt `I` is Noetherian.
---
- [ ] depends on: #37975
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
blocked-by-other-PR
|
449/7 |
Mathlib/RingTheory/AdicCompletion/LocalRing.lean,Mathlib/RingTheory/AdicCompletion/Noetherian.lean |
2 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
1-41603 1 day ago |
34-24489 34 days ago |
0-496 8 minutes |
| 36239 |
plp127 author:plp127 |
feat(FieldTheory/KrullTopology): define uniform group structure on galois group |
Endow the galois group of a field extension `Gal(L/K)` with the structure of a uniform group. Use this to prove some properties of the galois group earlier, for example, that the galois group is compact is immediate, and in more generality than the version proved in `FieldTheory/Galois/Profinite`. Deprecate some material which used to be used to define the krull topology, but is now unused since the krull topology comes out of the uniform structure.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
295/220 |
Mathlib/FieldTheory/Galois/Infinite.lean,Mathlib/FieldTheory/Galois/Profinite.lean,Mathlib/FieldTheory/KrullTopology.lean,Mathlib/NumberTheory/Cyclotomic/CyclotomicCharacter.lean |
4 |
23 |
['acmepjz', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts', 'plp127', 'vihdzp'] |
mattrobball assignee:mattrobball |
1-40403 1 day ago |
1-77327 1 day ago |
57-28617 57 days |
| 39075 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra/CommRingCat): colimit of local ring via local hom |
In this PR, we deal with filtered colimit of local ring via local homomorphisms, proving it is
again local, with maximal ideal equal to the union of images of maximal ideals.
Co-authored-by: Wang Jingting
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
209/0 |
Mathlib.lean,Mathlib/Algebra/Category/Ring/FilteredColimitsLocal.lean |
2 |
1 |
['github-actions'] |
nobody |
1-36804 1 day ago |
1-36871 1 day ago |
17-19766 17 days |
| 39077 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): flat extension of local ring |
This PR mainly formalize the theorem [[Stacks 03C3](https://stacks.math.columbia.edu/tag/03C3)] for flat extension of local ring.
---
- [ ] depends on: #39075
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
blocked-by-other-PR
WIP
|
846/0 |
Mathlib.lean,Mathlib/Algebra/Category/Ring/FilteredColimitsLocal.lean,Mathlib/RingTheory/Flat/Extension.lean |
3 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
1-34448 1 day ago |
17-19132 17 days ago |
0-685 11 minutes |
| 39289 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): Cohen structure theorem |
In this PR, we prove the existence of coefficient ring by the following two cases:
1: for residue field with char zero, there is a section of the residue field
2: for positive char, there exists a Cohen ring
Both can be applied to the last statement to obtain Cohen structure theorem.
(In the version of [Stacks 0323](https://stacks.math.columbia.edu/tag/0323))
Co-authored-by: @BryceT233
---
- [ ] depends on: #28683
- [ ] depends on: #38331
- [ ] depends on: #39077
- [ ] depends on: #37838
- [ ] depends on: #37953
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
blocked-by-other-PR
|
2519/22 |
Mathlib.lean,Mathlib/Algebra/Category/Ring/FilteredColimitsLocal.lean,Mathlib/FieldTheory/PurelyInseparable/AdjoinPthRoots.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/FieldTheory/TranscendentalSeparable.lean,Mathlib/RingTheory/AdicCompletion/LocalRing.lean,Mathlib/RingTheory/AdicCompletion/Noetherian.lean,Mathlib/RingTheory/CohenStructureTheorem.lean,Mathlib/RingTheory/Flat/Extension.lean,Mathlib/RingTheory/Smooth/Field.lean |
10 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
1-34440 1 day ago |
12-31491 12 days ago |
0-417 6 minutes |
| 35561 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): power series over regular local ring |
In this PR, we proved that power series over regular local ring is again regular local ring.
Same for finite multivariable power series.
---
- [ ] depends on: #28682
[](https://gitpod.io/from-referrer/)
|
WIP
t-ring-theory
|
63/0 |
Mathlib.lean,Mathlib/RingTheory/RegularLocalRing/PowerSeries.lean |
2 |
5 |
['github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
1-34423 1 day ago |
94-38919 94 days ago |
0-5 5 seconds |
| 35560 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): Corollaries of Cohen Structure Theorem |
Corollaries of Cohen structure theorem, saying that complete local ring can be represented as quotient of regular local ring.
---
- [ ] depends on: #28683
- [ ] depends on: #35561
- [ ] depends on: #39289
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
large-import
|
3018/22 |
Mathlib.lean,Mathlib/Algebra/Category/Ring/FilteredColimitsLocal.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/FieldTheory/PurelyInseparable/AdjoinPthRoots.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/FieldTheory/TranscendentalSeparable.lean,Mathlib/RingTheory/AdicCompletion/LocalRing.lean,Mathlib/RingTheory/AdicCompletion/Noetherian.lean,Mathlib/RingTheory/CohenStructureTheorem.lean,Mathlib/RingTheory/Flat/Extension.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/RegularLocalRing/Basic.lean,Mathlib/RingTheory/RegularLocalRing/PowerSeries.lean,Mathlib/RingTheory/Smooth/Field.lean |
15 |
11 |
['BryceT233', 'github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
1-34356 1 day ago |
94-39142 94 days ago |
0-8 8 seconds |
| 39765 |
vlad902 author:vlad902 |
doc(RingTheory): fix local ring doc comment |
The predicate for local rings was updated to the current definition on non-commutative semirings back in mathlib3, but the outdated comment stating that local rings are commutative rings with a unique maximal ideal has not been updated since.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
4/4 |
Mathlib/RingTheory/LocalRing/Defs.lean |
1 |
1 |
['github-actions'] |
nobody |
1-34056 1 day ago |
1-34138 1 day ago |
1-34133 1 day |
| 34913 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): Definition of complete intersection local ring |
feat(RingTheory): Definition of Complete intersection ring
In this PR we give the definition of complete intersection local ring by `epsilon_1(R)+ dim(R)` equal to span rank of its maximal ideal.
We also proved for quotient of regular local ring, it is CI iff the ideal being quotient out is generated by regular sequence.
---
- [ ] depends on: #26245
- [ ] depends on: #29533
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
large-import
|
6806/46 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/Algebra/Category/Ring/FilteredColimitsLocal.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/FieldTheory/PurelyInseparable/AdjoinPthRoots.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/FieldTheory/TranscendentalSeparable.lean,Mathlib/LinearAlgebra/ExteriorPower/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Basis.lean,Mathlib/RingTheory/AdicCompletion/LocalRing.lean,Mathlib/RingTheory/AdicCompletion/Noetherian.lean,Mathlib/RingTheory/CohenMacaulay/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Catenary.lean,Mathlib/RingTheory/CohenMacaulay/Maximal.lean,Mathlib/RingTheory/CohenStructureTheorem.lean,Mathlib/RingTheory/CompleteIntersection/Basic.lean,Mathlib/RingTheory/Depth/Basic.lean,Mathlib/RingTheory/Depth/Ischebeck.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/Flat/Extension.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/KoszulComplex/Cocomplex.lean,Mathlib/RingTheory/KoszulComplex/Complex.lean,Mathlib/RingTheory/KoszulComplex/Homotopy.lean,Mathlib/RingTheory/Nakayama.lean,Mathlib/RingTheory/Regular/Free.lean,Mathlib/RingTheory/Regular/LinearMap.lean,Mathlib/RingTheory/RegularLocalRing/Basic.lean,Mathlib/RingTheory/RegularLocalRing/PowerSeries.lean,Mathlib/RingTheory/Smooth/Field.lean,docs/references.bib |
34 |
8 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
1-32236 1 day ago |
108-15290 108 days ago |
0-12 12 seconds |
| 31222 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): `Hom` commute with flat base change |
In this PR, we proved `Hom_S (M \tensor S, N \tensor S)` is base change of `Hom_R (M, N)` with respect to `LinearMap.baseChangeHom`.
Co-authored-by: Wang Jingting
---
- [x] depends on: #31218
- [x] depends on: #31219
- [x] depends on: #31696
[](https://gitpod.io/from-referrer/)
|
large-import
t-algebra
label:t-algebra$ |
49/0 |
Mathlib/Algebra/Module/FinitePresentation.lean |
1 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] |
kim-em assignee:kim-em |
1-31851 1 day ago |
24-69725 24 days ago |
24-69986 24 days |
| 39133 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra/ModuleCat): exactness of restrictScalars for general universe level |
Currently exactness of `ModuleCat.restrictScalars` is synth via being adjoint functor, however this needs the universe level to be some `max u v` where `u` is the universe level of the ring. Here we provide exactness of restrictScalars for general universe level using it preserves short exact sequence.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
46/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRingsExact.lean |
2 |
1 |
['github-actions'] |
nobody |
1-31778 1 day ago |
15-48580 15 days ago |
15-48575 15 days |
| 31768 |
Thmoas-Guan author:Thmoas-Guan |
feat(Homology): `Ext` under restrict scalars by `RingEquiv` |
In this PR, we proved that `Ext` commute with ulift functor in `ModuleCat`.
Further more, we provided compatibility with (semi-)linear equiv of general universe.
---
- [ ] depends on: #39133
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-category-theory
blocked-by-other-PR
label:t-algebra$ |
142/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRingsExact.lean,Mathlib/Algebra/Category/ModuleCat/Ext/RingEquiv.lean |
4 |
31 |
['Thmoas-Guan', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
kim-em assignee:kim-em |
1-31767 1 day ago |
15-47999 15 days ago |
21-43952 21 days |
| 31851 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra/Homology): Injective dimension in linear equiv |
In this PR, we proved that injective dimension is preserved under (semi-) linear equiv for general universe level.
---
- [ ] depends on: #31768
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
label:t-algebra$ |
336/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRingsExact.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Baer.lean,Mathlib/Algebra/Category/ModuleCat/Ext/RingEquiv.lean,Mathlib/Algebra/Category/ModuleCat/InjectiveDimension.lean |
6 |
8 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-31733 1 day ago |
186-6944 186 days ago |
0-8108 2 hours |
| 31884 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): definition of Gorenstein local ring |
In this PR, we gave basic definition of Gorenstein local ring and Gorestein ring and prove that they are stable under ring equiv.
---
- [ ] depends on: #31851
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-ring-theory
|
409/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRingsExact.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Baer.lean,Mathlib/Algebra/Category/ModuleCat/Ext/RingEquiv.lean,Mathlib/Algebra/Category/ModuleCat/InjectiveDimension.lean,Mathlib/RingTheory/Gorenstein/Defs.lean |
7 |
10 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-29822 1 day ago |
185-23882 185 days ago |
0-2574 42 minutes |
| 32035 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): localization of Gorenstein local ring |
In this PR, we proved that localization of Gorenstein local ring at prime is again Gorenstein.
---
- [ ] depends on: #31884
- [ ] depends on: #32033
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-ring-theory
|
513/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRingsExact.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Baer.lean,Mathlib/Algebra/Category/ModuleCat/Ext/RingEquiv.lean,Mathlib/Algebra/Category/ModuleCat/InjectiveDimension.lean,Mathlib/RingTheory/Gorenstein/Defs.lean,Mathlib/RingTheory/Gorenstein/Localization.lean |
8 |
12 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-29787 1 day ago |
182-34678 182 days ago |
0-862 14 minutes |
| 34435 |
huaizhangchu author:huaizhangchu |
feat(Probability): convolution of Poisson distributions |
This PR proves that the convolution of two Poisson distributions is again a Poisson distribution:
`Poisson(r₁) ∗ Poisson(r₂) = Poisson(r₁ + r₂)`
## Main results
- `poissonMeasureReal_charFun`: characteristic function of Poisson distribution is `exp(r(exp(it) - 1))`
- `poissonMeasureReal_conv_poissonMeasureReal`: convolution of Poisson distributions on ℝ
- `poissonMeasure_conv_poissonMeasure`: convolution of Poisson distributions on ℕ
- `poissonMeasure_add_poissonMeasure_of_indepFun`: sum of independent Poisson random variables
## Proof strategy
Uses characteristic functions: `φ(t) = exp(r(eⁱᵗ - 1))`, then pulls back from ℝ to ℕ.
---
- [x] depends on: #34521
- [ ] depends on: #36374 |
t-measure-probability
large-import
new-contributor
maintainer-merge
|
120/15 |
Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Probability/Distributions/Poisson/Basic.lean |
2 |
103 |
['CoolRmal', 'DavidLedvinka', 'EtienneC30', 'github-actions', 'huaizhangchu', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'pfaffelh', 'vianna04', 'wwylele', 'yuanyi-350'] |
EtienneC30 assignee:EtienneC30 |
1-28364 1 day ago |
3-48360 3 days ago |
76-42396 76 days |
| 33369 |
Thmoas-Guan author:Thmoas-Guan |
feat(Homology): `Ext` commute with flat base change |
In this PR, using the linear map `Ext(M,N) => Ext(F(M), F(N))` when `F` is exact functor, we prove that `Ext` commute with flat base change if the ring is noetherian and two modules are finitely generated, stated using `IsBaseChange`.
---
- [x] depends on: #31046
- [ ] depends on: #31222
- [x] depends on: #32316
[](https://gitpod.io/from-referrer/)
|
large-import
blocked-by-other-PR
t-topology
|
432/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Ext/BaseChange.lean,Mathlib/Algebra/Module/FinitePresentation.lean |
3 |
5 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-28115 1 day ago |
147-21246 147 days ago |
0-1554 25 minutes |
| 32098 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): injective dimension of quotSMulTop |
In this PR, we proved for finitely generated module `M` over noetherian ring `R`, if `x` in maximal ideal being both `R`-regular and `M`-regular, `injdim_R (M/xM) + 1 = injdim_{R/(x)} (M)`.
---
- [ ] depends on: #32058
- [ ] depends on: #39133
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-ring-theory
|
623/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRingsExact.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Baer.lean,Mathlib/RingTheory/Regular/InjectiveDimension.lean |
4 |
7 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-28029 1 day ago |
181-14875 181 days ago |
0-2059 34 minutes |
| 33377 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): polynomial over Gorenstein ring is Gorenstein |
In this PR, we prove that polynomial over Gorenstein ring is Gorenstein.
---
- [ ] depends on: #33369
- [ ] depends on: #31884
- [ ] depends on: #32098
[](https://gitpod.io/from-referrer/)
|
large-import
blocked-by-other-PR
t-ring-theory
|
1493/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRingsExact.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Baer.lean,Mathlib/Algebra/Category/ModuleCat/Ext/BaseChange.lean,Mathlib/Algebra/Category/ModuleCat/Ext/RingEquiv.lean,Mathlib/Algebra/Category/ModuleCat/InjectiveDimension.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/RingTheory/Gorenstein/Defs.lean,Mathlib/RingTheory/Gorenstein/Polynomial.lean,Mathlib/RingTheory/Regular/InjectiveDimension.lean |
11 |
10 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-28020 1 day ago |
147-15238 147 days ago |
0-107 1 minute |
| 38634 |
Maldooor author:Maldooor |
feat(MeasureTheory): `restrict_absolutelyContinuous_restrict` |
Adding three lemmas about absolute continuity of restrictions of measures to subsets.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
awaiting-author
|
19/0 |
Mathlib/MeasureTheory/Measure/Restrict.lean |
1 |
5 |
['EtienneC30', 'Maldooor', 'github-actions'] |
EtienneC30 assignee:EtienneC30 |
1-27711 1 day ago |
1-27711 1 day ago |
23-31730 23 days |
| 26218 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): definition of cohen macaulay |
In this PR, we added the definition of CM module, CM local ring (extending local ring), and CM ring.
We also proved Theorem 30, Chater 6, _Commutative Algebra_, Matsumura.
---
- [x] depends on: #26219
- [ ] depends on: #26217
- [ ] depends on: #26216
- [ ] depends on: #28582
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
large-import
label:t-algebra$ |
1729/24 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Basic.lean,Mathlib/RingTheory/Depth/Basic.lean,Mathlib/RingTheory/Depth/Ischebeck.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Regular/LinearMap.lean,docs/references.bib |
10 |
20 |
['Thmoas-Guan', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-27050 1 day ago |
339-20571 339 days ago |
0-52 52 seconds |
| 28599 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): polynomial over CM ring is CM |
polynomial over Cohen Macaulay ring is Cohen Macaulay
---
- [ ] depends on: #26218
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
blocked-by-other-PR
large-import
|
1902/24 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Polynomial.lean,Mathlib/RingTheory/Depth/Basic.lean,Mathlib/RingTheory/Depth/Ischebeck.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Regular/LinearMap.lean,docs/references.bib |
11 |
18 |
['Thmoas-Guan', 'erdOne', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
mariainesdff assignee:mariainesdff |
1-27024 1 day ago |
95-55054 95 days ago |
3-48641 3 days |
| 26245 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): cohen macaulay local ring is catenary |
We prove Cohen Macaulay local ring is catenary.
Following Theorem 31, Chater 6, _Commutative Algebra_, Matsumura
---
- [ ] depends on: #26218
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
large-import
label:t-algebra$ |
2118/24 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Catenary.lean,Mathlib/RingTheory/Depth/Basic.lean,Mathlib/RingTheory/Depth/Ischebeck.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Regular/LinearMap.lean,docs/references.bib |
12 |
19 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-27012 1 day ago |
338-34783 338 days ago |
0-18 18 seconds |
| 26957 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): unmixed thm of Cohen-Macaulay ring |
In this PR we proved for a (comm)ring `R`, `R` is Cohen-Macaulay ring iff the unmixed theorem holds (for every ideal `I` of height `r` generated by `r` elements, all associated primes of `R/I` have height `r` )
---
- [ ] depends on: #26245
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
large-import
label:t-algebra$ |
2297/24 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Catenary.lean,Mathlib/RingTheory/CohenMacaulay/Unmixed.lean,Mathlib/RingTheory/Depth/Basic.lean,Mathlib/RingTheory/Depth/Ischebeck.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Regular/LinearMap.lean,docs/references.bib |
13 |
17 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-27000 1 day ago |
319-28578 319 days ago |
0-229 3 minutes |
| 33379 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): Gorenstein local ring is Cohen Macaulay |
In this PR, we give the definition of Gorenstein local ring and proved it is Cohen--Macaulay.
---
- [ ] depends on: #31884
- [ ] depends on: #26218
- [ ] depends on: #32098
- [x] depends on: #31644
- [ ] depends on: #33369
[](https://gitpod.io/from-referrer/)
|
large-import
blocked-by-other-PR
t-ring-theory
|
3717/24 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRingsExact.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Baer.lean,Mathlib/Algebra/Category/ModuleCat/Ext/BaseChange.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/RingEquiv.lean,Mathlib/Algebra/Category/ModuleCat/InjectiveDimension.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/RingTheory/CohenMacaulay/Basic.lean,Mathlib/RingTheory/Depth/Basic.lean,Mathlib/RingTheory/Depth/Ischebeck.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/Gorenstein/CohenMacaulay.lean,Mathlib/RingTheory/Gorenstein/Defs.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Regular/InjectiveDimension.lean,Mathlib/RingTheory/Regular/LinearMap.lean,docs/references.bib |
20 |
14 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-26834 1 day ago |
147-14326 147 days ago |
0-264 4 minutes |
| 36527 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): Gorenstein of exists a vanishing ext |
A `n`-dimensional Noetherian local ring `R` is Gorenstein if there is an `i > n`, `Ext^i(k, R) = 0`.
---
- [ ] depends on: #33379
[](https://gitpod.io/from-referrer/)
|
large-import
blocked-by-other-PR
t-ring-theory
|
3899/24 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRingsExact.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Baer.lean,Mathlib/Algebra/Category/ModuleCat/Ext/BaseChange.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/RingEquiv.lean,Mathlib/Algebra/Category/ModuleCat/InjectiveDimension.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/RingTheory/CohenMacaulay/Basic.lean,Mathlib/RingTheory/Depth/Basic.lean,Mathlib/RingTheory/Depth/Ischebeck.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/Gorenstein/CohenMacaulay.lean,Mathlib/RingTheory/Gorenstein/Defs.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Regular/InjectiveDimension.lean,Mathlib/RingTheory/Regular/LinearMap.lean,docs/references.bib |
20 |
10 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
1-26817 1 day ago |
74-18761 74 days ago |
0-2167 36 minutes |
| 33380 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): Gorenstein local ring is Cohen--Macaulay local ring of type one |
In this PR, we formalized Theorem 18.1 of _Commutaive Ring Theory_ Matsumura.
This gives a full characterization of `Ext(k, R)` for Gorenstein local ring and implies that it is equivalent to Cohen--Macaulay local ring of type 1.
---
- [ ] depends on: #26245
- [ ] depends on: #33379
- [ ] depends on: #36527
[](https://gitpod.io/from-referrer/)
|
large-import
blocked-by-other-PR
t-ring-theory
|
4832/24 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRingsExact.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Baer.lean,Mathlib/Algebra/Category/ModuleCat/Ext/BaseChange.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/RingEquiv.lean,Mathlib/Algebra/Category/ModuleCat/InjectiveDimension.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/RingTheory/CohenMacaulay/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Catenary.lean,Mathlib/RingTheory/Depth/Basic.lean,Mathlib/RingTheory/Depth/Ischebeck.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/Gorenstein/CohenMacaulay.lean,Mathlib/RingTheory/Gorenstein/Defs.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Regular/InjectiveDimension.lean,Mathlib/RingTheory/Regular/LinearMap.lean,docs/references.bib |
22 |
14 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-26748 1 day ago |
147-14103 147 days ago |
0-126 2 minutes |
| 38903 |
lua-vr author:lua-vr |
feat(Covering/Vitali): add `exists_disjoint_subfamily_covering_enlargement_ball` |
Adds the analogous version `exists_disjoint_subfamily_covering_enlargement_ball` of the Vitali covering theorem for open balls.
For the Carleson project.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
maintainer-merge
|
37/0 |
Mathlib/MeasureTheory/Covering/Vitali.lean |
1 |
4 |
['EtienneC30', 'github-actions'] |
EtienneC30 assignee:EtienneC30 |
1-26729 1 day ago |
21-36371 21 days ago |
21-36366 21 days |
| 39680 |
grunweg author:grunweg |
feat(CI): validate PR titles more strictly |
- lint extraneous spaces (and any tabs)
- check that PR scopes are well-formed
- also extract the PR subject, and check that it does not end in a period, and starts in lower-case
- linter about strange Unicode characters (anything not allowed by the Unicode linter)
Continuation of #34518: this covers the remaining checks of #16303.
(This does not check that the subject is in imperative, present tense.)
---
[](https://gitpod.io/from-referrer/)
|
t-linter |
201/30 |
Mathlib/Tactic/Linter/ValidatePRTitle.lean,MathlibTest/ValidatePRTitle.lean |
2 |
8 |
['SnirBroshi', 'github-actions', 'grunweg'] |
JovanGerb assignee:JovanGerb |
1-25542 1 day ago |
3-56606 3 days ago |
3-56601 3 days |
| 39501 |
jvanwinden author:jvanwinden |
feat(MeasureTheory/Measure/Tight): tightness of marginals implies tightness on product space |
This PR introduces `IsTightMeasureSet.prodMk`, which says that a set of measures on a product space is tight if both sets of marginals are tight. This is useful when proving weak compactness of probability measures on product spaces (via Prokhorov).
The proof makes use of `isTightMeasureSet_iff_exists_isCompact_measure_compl_le` and then proceeds in the conventional way. I also tried to write a purely filter-theoretic proof, but did not really succeed and it was nowhere near as simple as the direct proof.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
awaiting-author
|
19/0 |
Mathlib/MeasureTheory/Measure/Tight.lean |
1 |
7 |
['EtienneC30', 'github-actions', 'jvanwinden'] |
EtienneC30 assignee:EtienneC30 |
1-25374 1 day ago |
1-25374 1 day ago |
7-2707 7 days |
| 39503 |
jvanwinden author:jvanwinden |
feat(Probability): add API for infinite product measures |
This PR introduces two lemmas which serve as API for infinite product measures:
- `ProbabilityTheory.Measure.hasLaw_infinitePi_eval`: the `i`-th coordinate on an infinite product measure has law `μ i`
- `ProbabilityTheory.Measure.map_infinitePi_infinitePi_of_inj`: when `f : ι → ι` is injective, then the pushforward of the coordinates rearranged according to `f` (i.e., the law of `fun ω i ↦ ω (f i)` is the same as the infinite product of the rearranged laws.
The second lemma bears some resemblance to `infinitePi_map_piCongrLeft`, but does not require `f` to be a bijection and probably is easier to work with in practice.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
awaiting-author
maintainer-merge
|
8/0 |
Mathlib/Probability/Independence/InfinitePi.lean |
1 |
21 |
['CoolRmal', 'DavidLedvinka', 'EtienneC30', 'github-actions', 'jvanwinden'] |
EtienneC30 assignee:EtienneC30 |
1-25217 1 day ago |
1-25232 1 day ago |
3-59141 3 days |
| 35548 |
gasparattila author:gasparattila |
fix(fun_prop): do not unfold semireducible definitions in the presence of projections |
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
74/134 |
Mathlib/Analysis/Fourier/Notation.lean,Mathlib/Analysis/LocallyConvex/SeparatingDual.lean,Mathlib/Analysis/Normed/Lp/PiLp.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Condensed/Light/TopCatAdjunction.lean,Mathlib/Condensed/TopCatAdjunction.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean,Mathlib/LinearAlgebra/Prod.lean,Mathlib/MeasureTheory/MeasurableSpace/Embedding.lean,Mathlib/Tactic/FunProp/FunctionData.lean,Mathlib/Tactic/FunProp/Mor.lean,Mathlib/Tactic/FunProp/Types.lean,Mathlib/Topology/Algebra/AffineSubspace.lean,Mathlib/Topology/Algebra/ContinuousAffineEquiv.lean,Mathlib/Topology/Algebra/Field.lean,Mathlib/Topology/Algebra/Group/Matrix.lean,Mathlib/Topology/Algebra/Module/Equiv.lean,Mathlib/Topology/Algebra/Module/Multilinear/Topology.lean,Mathlib/Topology/Algebra/Module/Spaces/WeakBilin.lean,Mathlib/Topology/Category/TopCat/Limits/Basic.lean,Mathlib/Topology/Constructions/SumProd.lean,Mathlib/Topology/Path.lean,MathlibTest/FunPropMinimal.lean |
23 |
8 |
['DavidLedvinka', 'JovanGerb', 'github-actions', 'j-loreaux', 'lecopivo', 'mathlib-merge-conflicts'] |
nobody |
1-23348 1 day ago |
unknown |
0-0 0 seconds |
| 39037 |
JovanGerb author:JovanGerb |
chore: improve some instances |
These instances were found to cause slow type class searches. This is needed to avoid timeouts in the instance diamonds linter.
---
[](https://gitpod.io/from-referrer/)
|
|
2/2 |
Mathlib/CategoryTheory/Action/Concrete.lean,Mathlib/CategoryTheory/Limits/Shapes/ConcreteCategory.lean |
2 |
6 |
['JovanGerb', 'github-actions', 'grunweg', 'leanprover-radar', 'mathlib-bors'] |
nobody |
1-23004 1 day ago |
1-23006 1 day ago |
0-31385 8 hours |
| 39539 |
yuanyi-350 author:yuanyi-350 |
feat(NumberTheory): prove Mertens' first theorem |
For any natural number $n \geq 2$, the absolute value of the difference between the sum over all primes $p \leq n$ of $\frac{\log p}{p}$ and $\log n$ is at most 2. |
WIP |
576/2 |
Mathlib.lean,Mathlib/Analysis/Complex/ExponentialBounds.lean,Mathlib/NumberTheory/Mertens.lean |
3 |
3 |
['github-actions', 'vihdzp'] |
nobody |
1-22950 1 day ago |
7-2766 7 days ago |
0-296 4 minutes |
| 39767 |
EtienneC30 author:EtienneC30 |
feat: add an alias for the forward direction of `indepFun_iff_map_prod_eq_prod_map_map` |
When assuming `hXY : IndepFun X Y P`, if one wants to rewrite `P.map (fun w => (X w, Y w)) = (P.map X).prod (P.map Y)`, one has to use [ProbabilityTheory.indepFun_iff_map_prod_eq_prod_map_map](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Probability/Independence/Basic.html#ProbabilityTheory.indepFun_iff_map_prod_eq_prod_map_map), which is an iff with side-condition so is not convenient. We thus introduce an alias for this direction.
We do the same for the `iIndepFun` version, removing the unnecessary `IsProbabilityMeasure` hypothesis there. We do the same in the `infinitePi` case too.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
120/80 |
Mathlib/Probability/HasLaw.lean,Mathlib/Probability/IdentDistrib.lean,Mathlib/Probability/IdentDistribIndep.lean,Mathlib/Probability/Independence/Basic.lean,Mathlib/Probability/Independence/InfinitePi.lean,Mathlib/Probability/Independence/Integration.lean |
6 |
1 |
['github-actions'] |
nobody |
1-22738 1 day ago |
1-22814 1 day ago |
1-22809 1 day |
| 38127 |
riccardobrasca author:riccardobrasca |
feat: add ClassGroup.extendedHom |
---
[](https://gitpod.io/from-referrer/)
|
file-removed
t-algebra
t-ring-theory
label:t-algebra$ |
162/6 |
Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/NumberTheory/ClassNumber/Finite.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean,Mathlib/RingTheory/ClassGroup/Basic.lean,Mathlib/RingTheory/ClassGroup/ExtendedHom.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/PicardGroup.lean,Mathlib/RingTheory/UniqueFactorizationDomain/ClassGroup.lean |
9 |
23 |
['faenuccio', 'github-actions', 'mathlib-merge-conflicts', 'riccardobrasca'] |
mattrobball assignee:mattrobball |
1-21785 1 day ago |
1-21820 1 day ago |
37-5929 37 days |
| 39768 |
mathlib-splicebot author:mathlib-splicebot |
feat: another version of dominated convergence for `AEMeasurable` functions |
This PR was automatically created from PR #39517 by @jvanwinden via a [review comment](https://github.com/leanprover-community/mathlib4/pull/39517#discussion_r3294379716) by @EtienneC30. |
maintainer-merge
t-measure-probability
|
14/4 |
Mathlib/MeasureTheory/Integral/Lebesgue/DominatedConvergence.lean |
1 |
3 |
['EtienneC30', 'github-actions'] |
nobody |
1-21675 1 day ago |
1-22260 1 day ago |
1-22255 1 day |
| 39757 |
gasparattila author:gasparattila |
chore(Algebra/Star): clean up `simp` lemmas about bundled `star` equivalences |
This PR adds `.symm` lemmas for these equivalences, allowing `simp` to reduce applications of their inverses to applications of `star`.
---
[](https://gitpod.io/from-referrer/)
|
|
67/19 |
Mathlib/Algebra/Star/Basic.lean,Mathlib/Algebra/Star/Module.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Topology/Algebra/Module/Star.lean |
4 |
2 |
['github-actions', 'themathqueen'] |
nobody |
1-21397 1 day ago |
1-79893 1 day ago |
1-79888 1 day |
| 39379 |
yuanyi-350 author:yuanyi-350 |
refactor(NumberTheory): golf `Mathlib/NumberTheory/SmoothNumbers` |
- simplifies the left inverse in `equivProdNatFactoredNumbers` by proving `¬ p ∣ m` once and then using `factorization_pow_self` and `factorization_eq_zero_of_not_dvd`
Extracted from #38144
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
maintainer-merge
|
11/21 |
Mathlib/NumberTheory/SmoothNumbers.lean |
1 |
7 |
['MichaelStollBayreuth', 'github-actions', 'yuanyi-350'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
1-20520 1 day ago |
1-22092 1 day ago |
10-35213 10 days |
| 38144 |
yuanyi-350 author:yuanyi-350 |
refactor(NumberTheory): Golf 100 files |
This PR is an experimental project. In this PR, we use an Agent to automatically scan and attempt to simplify proofs. We hope to eventually effectively golf 100 files and avoid reinventing the wheel in mathlib.
We have chosen `Mathlib/NumberTheory` as the testing ground.
If this experiment is very successful and accepted by the mathlib community, we would be honored to open source it.
The relevant projects includes
- [ ] #38104, which golfs `Mathlib/MeasureTheory`.
- [ ] #37968, which golfs `Mathlib/Analysis`.
This PR serves as an index. For the actual code review, please refer to the individual PRs linked below. Each of those PRs modifies only a single file to facilitate the review process.
- [ ] depends on: #38204
- [ ] depends on: #38277
- [ ] depends on: #38278
- [ ] depends on: #38279
- [ ] depends on: #38280
- [ ] depends on: #38351
- [ ] depends on: #38402
- [ ] depends on: #38403
- [ ] depends on: #38454
- [ ] depends on: #38457
- [ ] depends on: #38494
- [ ] depends on: #38495
- [ ] depends on: #38832
- [ ] depends on: #38833
- [ ] depends on: #38834
- [ ] depends on: #38835
- [ ] depends on: #38836
- [ ] depends on: #38838
- [ ] depends on: #38839
- [ ] depends on: #39372
- [ ] depends on: #39373
- [ ] depends on: #39374
- [ ] depends on: #39375
- [ ] depends on: #39376
- [ ] depends on: #39377
- [ ] depends on: #39378
- [ ] depends on: #39379
---
[](https://gitpod.io/from-referrer/) |
t-number-theory
large-import
codex
LLM-generated
blocked-by-other-PR
|
64/177 |
Mathlib/NumberTheory/ArithmeticFunction/Defs.lean,Mathlib/NumberTheory/DiophantineApproximation/Basic.lean,Mathlib/NumberTheory/Divisors.lean,Mathlib/NumberTheory/EulerProduct/Basic.lean,Mathlib/NumberTheory/FLT/Four.lean,Mathlib/NumberTheory/FLT/Polynomial.lean,Mathlib/NumberTheory/GaussSum.lean,Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean,Mathlib/NumberTheory/ModularForms/Derivative.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/MDifferentiable.lean,Mathlib/NumberTheory/ModularForms/SlashActions.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean,Mathlib/NumberTheory/PrimeCounting.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/NumberTheory/SmoothNumbers.lean |
15 |
12 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'tb65536', 'yuanyi-350'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
1-20267 1 day ago |
11-7082 11 days ago |
3-39923 3 days |
| 38104 |
yuanyi-350 author:yuanyi-350 |
refactor(MeasureTheory): golf 100 files |
This PR is an experimental project. In this PR, we use an Agent to automatically scan and attempt to simplify proofs. We hope to eventually effectively golf 100 files and avoid reinventing the wheel in mathlib.
We have chosen `Mathlib/MeasureTheory` as the testing ground.
If this experiment is very successful and accepted by the mathlib community, we would be honored to open source it.
The relevant projects includes
- [ ] #37968, which golfs `Mathlib/Analysis`.
- [ ] #38144 , which golfs `Mathlib/NumberTheory`.
**This PR serves as an index. For the actual code review, please refer to the individual PRs linked below. Each of those PRs modifies only a single file to facilitate the review process.**
- [ ] depends on: #38350
- [ ] depends on: #38353
- [ ] depends on: #38455
- [ ] depends on: #38456
- [ ] depends on: #38492
- [ ] depends on: #38636
- [ ] depends on: #38639
- [ ] depends on: #38640
- [ ] depends on: #38872
- [ ] depends on: #38873
- [ ] depends on: #38874
- [ ] depends on: #38875
- [ ] depends on: #38876
- [ ] depends on: #38877
- [ ] depends on: #38878
- [ ] depends on: #38879
- [ ] depends on: #38880
- [ ] depends on: #38881
- [ ] depends on: #38882
- [ ] depends on: #38883
- [ ] depends on: #38884
- [ ] depends on: #38885
- [ ] depends on: #38886
- [ ] depends on: #39172
- [ ] depends on: #39173
- [ ] depends on: #39174
- [ ] depends on: #39175
- [ ] depends on: #39176
- [ ] depends on: #39177
- [ ] depends on: #39178
- [ ] depends on: #39179
- [ ] depends on: #39180
---
[](https://gitpod.io/from-referrer/) |
t-measure-probability
codex
LLM-generated
blocked-by-other-PR
|
104/239 |
Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean,Mathlib/MeasureTheory/Covering/Besicovitch.lean,Mathlib/MeasureTheory/Function/AEMeasurableOrder.lean,Mathlib/MeasureTheory/Function/AEMeasurableSequence.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Real.lean,Mathlib/MeasureTheory/Function/ContinuousMapDense.lean,Mathlib/MeasureTheory/Function/LpOrder.lean,Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Integral/Asymptotics.lean,Mathlib/MeasureTheory/Integral/CircleTransform.lean,Mathlib/MeasureTheory/Measure/PreVariation.lean |
13 |
10 |
['github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'yuanyi-350'] |
kex-y assignee:kex-y |
1-20221 1 day ago |
22-18390 22 days ago |
4-44505 4 days |
| 39517 |
jvanwinden author:jvanwinden |
feat(MeasureTheory/Function): ae convergence implies convergence in distribution |
This PR introduces a theorem which concludes convergence in distribution from almost everywhere convergence.
Previously, this could be done by chaining [`tendstoInMeasure_of_tendsto_ae`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/MeasureTheory/Function/ConvergenceInMeasure.html#MeasureTheory.tendstoInMeasure_of_tendsto_ae) and [`TendstoInMeasure.tendstoInDistribution`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/MeasureTheory/Function/ConvergenceInDistribution.html#MeasureTheory.TendstoInMeasure.tendstoInDistribution).
However, this is not a good way to to it since the second lemma requires a `SeminormedAddCommGroup E` instance (which is not needed for the statement to hold). Thus, we instead give a direct short proof which relies on dominated convergence.
As a consequence, we also obtain a new proof of `TendstoInMeasure.tendstoInDistribution` which does not pass through `tendstoInDistribution_of_tendstoInMeasure_sub` and therefore does not require `SeminormedAddCommGroup` and `SecondCountableTopology` anymore. I expect this will enable significant golfing (or maybe even removal) of `tendstoInDistribution_of_tendstoInMeasure_sub` in the future.
In order to allow for ae measurability as an assumption, it was necessary to add `tendsto_lintegral_filter_of_dominated_convergence'`, which gives dominated convergence along a countable filter for `AEMeasurable` functions.
Sidenote: I believe [`TendstoInMeasure.tendstoInDistribution`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/MeasureTheory/Function/ConvergenceInDistribution.html#MeasureTheory.TendstoInMeasure.tendstoInDistribution) should be rewritten at some point to require only a metric space (or maybe only uniform space) structure. However, even if this was done, the theorem of this PR provides the value of relying only on `TopologicalSpace E`.
---
- [ ] depends on: #39768
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
awaiting-author
blocked-by-other-PR
|
47/11 |
Mathlib/MeasureTheory/Function/ConvergenceInDistribution.lean,Mathlib/MeasureTheory/Integral/Lebesgue/DominatedConvergence.lean |
2 |
20 |
['CoolRmal', 'EtienneC30', 'github-actions', 'jvanwinden', 'mathlib-dependent-issues', 'mathlib-splicebot'] |
EtienneC30 assignee:EtienneC30 |
1-20214 1 day ago |
1-21655 1 day ago |
4-72888 4 days |
| 37968 |
yuanyi-350 author:yuanyi-350 |
refactor(Analysis): golf 100 files |
This PR is an experimental project. In this PR, we use an Agent to automatically scan and attempt to simplify proofs. We hope to eventually effectively golf 100 files and avoid reinventing the wheel in mathlib.
We have chosen `Mathlib/Analysis` as the testing ground. If this experiment is very successful and accepted by the mathlib community, we would be honored to open source it.
The relevant projects includes
- [ ] #38104, which golfs `Mathlib/MeasureTheory`.
- [ ] #38144, which golfs `Mathlib/NumberTheory`.
This PR serves as an index. For the actual code review, please refer to the individual PRs linked below. Each of those PRs modifies only a single file to facilitate the review process.
- [ ] depends on: #37555
- [ ] depends on: #37731
- [ ] depends on: #37737
- [ ] depends on: #37754
- [ ] depends on: #37785
- [ ] depends on: #37788
- [ ] depends on: #37821
- [ ] depends on: #37876
- [ ] depends on: #37981
- [ ] depends on: #37987
- [ ] depends on: #37989
- [ ] depends on: #37991
- [ ] depends on: #38006
- [ ] depends on: #38010
- [ ] depends on: #38272
- [ ] depends on: #38273
- [ ] depends on: #38274
- [ ] depends on: #38352
- [ ] depends on: #38404
- [ ] depends on: #38435
- [ ] depends on: #38436
- [ ] depends on: #38437
- [ ] depends on: #38493
- [ ] depends on: #38513
- [ ] depends on: #38638
- [ ] depends on: #38646
- [ ] depends on: #39171
- [ ] depends on: #39182
- [ ] depends on: #39183
- [ ] depends on: #39184
- [ ] depends on: #39187
- [ ] depends on: #39188
---
[](https://gitpod.io/from-referrer/) |
codex
WIP
t-analysis
LLM-generated
large-import
blocked-by-other-PR
|
358/789 |
Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/CPolynomialDef.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/ConvergenceRadius.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Analytic/Within.lean,Mathlib/Analysis/AperiodicOrder/Delone/Basic.lean,Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean,Mathlib/Analysis/Asymptotics/Defs.lean,Mathlib/Analysis/Asymptotics/ExpGrowth.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Split.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unique.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/Analysis/Complex/Exponential.lean,Mathlib/Analysis/Complex/Isometry.lean,Mathlib/Analysis/Complex/OperatorNorm.lean,Mathlib/Analysis/Complex/UpperHalfPlane/MoebiusAction.lean,Mathlib/Analysis/Complex/ValueDistribution/LogCounting/Asymptotic.lean,Mathlib/Analysis/Complex/ValueDistribution/LogCounting/Basic.lean,Mathlib/Analysis/ConstantSpeed.lean,Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/Convex/BetweenList.lean,Mathlib/Analysis/Convex/Birkhoff.lean,Mathlib/Analysis/Convex/Body.lean,Mathlib/Analysis/Convex/Cone/Extension.lean,Mathlib/Analysis/Convex/Continuous.lean,Mathlib/Analysis/InnerProductSpace/LinearPMap.lean,Mathlib/Analysis/Normed/Lp/SmoothApprox.lean,Mathlib/Analysis/Normed/Lp/WithLp.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Analysis/Normed/Module/ContinuousInverse.lean,Mathlib/Analysis/Normed/Module/Convex.lean,Mathlib/Analysis/Normed/Module/HahnBanach.lean,Mathlib/Analysis/Normed/Module/MStructure.lean,Mathlib/Analysis/Normed/Module/MultipliableUniformlyOn.lean,Mathlib/Analysis/Normed/Module/RieszLemma.lean,Mathlib/Analysis/Normed/Operator/Bilinear.lean,Mathlib/Analysis/Normed/Operator/BoundedLinearMaps.lean,Mathlib/Analysis/Normed/Operator/ContinuousLinearMap.lean,Mathlib/Analysis/Normed/Operator/Extend.lean,Mathlib/Analysis/Normed/Operator/NNNorm.lean,Mathlib/Analysis/Normed/Ring/Basic.lean,Mathlib/Analysis/Normed/Ring/Lemmas.lean,Mathlib/Analysis/Normed/Unbundled/AlgebraNorm.lean,Mathlib/Analysis/Normed/Unbundled/FiniteExtension.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromBounded.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromConst.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Analysis/ODE/Transform.lean,Mathlib/Analysis/PSeries.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Complex/LogBounds.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean,Mathlib/Analysis/SpecialFunctions/Elliptic/Weierstrass.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean,Mathlib/Analysis/SpecialFunctions/Gamma/BohrMollerup.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/PoissonSummation.lean,Mathlib/Analysis/SpecialFunctions/Log/ENNRealLog.lean,Mathlib/Analysis/SpecialFunctions/Log/PosLog.lean,Mathlib/Analysis/SpecialFunctions/Log/RpowTendsto.lean,Mathlib/Analysis/SpecialFunctions/MulExpNegMulSqIntegral.lean,Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean |
70 |
26 |
['CoolRmal', 'Parcly-Taxel', 'euprunin', 'github-actions', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'themathqueen', 'yuanyi-350'] |
nobody |
1-20012 1 day ago |
42-60086 42 days ago |
0-26 26 seconds |
| 29151 |
yuanyi-350 author:yuanyi-350 |
feat: Corollary of Hahn–Banach theorem |
In this PR, I have proved [Rudin, *Functional Analysis* (Theorem 3.7)][rudin1991] which is a step in proving the Closed Range Theorem. Also, I have added tags for the corresponding theorems in Rudin to mathlib.
3.7 Theorem. Suppose B is a convex, balanced, closed set in a locally convex space $X, x_0 \in X$, but $x_0 \notin B$. Then there exists $\Lambda \in X^*$ such that $|\Lambda x| \leq 1$ for all $x \in B$, but $\Lambda x_0>1$
proof. Since $B$ is closed and convex, we can apply (b) of Theorem 3.4, with $A=\{ x_0 \}$ , to obtain $\Lambda_1 \in X^*$ such that $\Lambda_1 x_0=r e^{i \theta}$ lies outside the closure $K$ of $\Lambda_1(B)$. Since $B$ is balanced, so is $K$. Hence there exists $s, 0" --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: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
t-analysis
|
69/2 |
Mathlib/Analysis/LocallyConvex/Separation.lean,Mathlib/Analysis/RCLike/Lemmas.lean,Mathlib/Topology/Order/OrderClosed.lean |
3 |
17 |
['faenuccio', 'fpvandoorn', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'mcdoll', 'themathqueen', 'yuanyi-350'] |
faenuccio assignee:faenuccio |
1-19885 1 day ago |
246-28270 246 days ago |
20-69824 20 days |
| 29777 |
yuanyi-350 author:yuanyi-350 |
feat(Functional Analysis): closed Range Theorem |
- [ ] depends on: #29151 [Corollary of Hahn-Banach theorem]
- [ ] depends on: #29776 [refactor ContinuousLinearMap.isOpenMap by separating it into sublemmas]
---
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-other-PR
new-contributor
awaiting-author
t-analysis
|
236/25 |
Mathlib/Analysis/LocallyConvex/Separation.lean,Mathlib/Analysis/Normed/Operator/Banach.lean,Mathlib/Analysis/Normed/Operator/ClosedRange.lean,Mathlib/Analysis/RCLike/Lemmas.lean,Mathlib/Topology/Order/OrderClosed.lean |
5 |
5 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
faenuccio assignee:faenuccio |
1-19811 1 day ago |
249-10595 249 days ago |
0-634 10 minutes |
| 29776 |
yuanyi-350 author:yuanyi-350 |
chore: refactor `ContinuousLinearMap.isOpenMap` by separating it into sublemmas |
The open mapping theorem in mathlib proves A ⇒ C by first proving A ⇒ B and then B ⇒ C in one theorem. In my PR, I separated it into two theorems: A ⇒ B and B ⇒ C. And now B ⇒ C is more general, with weaker assumptions than A ⇒ C.
The [open mapping theorem](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Normed/Operator/Banach.html#ContinuousLinearMap.isOpenMap) in mathlib need `f` to be surjective.
However, this can be weakened to the condition `h : ∃ (n : ℕ) (x : _), x ∈ interior (closure (f '' ball 0 n))` . I need this stronger formulation to prove the closed range theorem c.f. *Rudin Functional Analysis Thm 4.13*
[zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/refactor.20.60ContinuousLinearMap.2EisOpenMap.60)
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
|
53/33 |
Mathlib/Analysis/Normed/Operator/Banach.lean |
1 |
17 |
['faenuccio', 'github-actions', 'kckennylau', 'leanprover-bot', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'themathqueen', 'yuanyi-350'] |
faenuccio assignee:faenuccio |
1-19771 1 day ago |
246-59263 246 days ago |
2-45741 2 days |
| 39770 |
mathlib-splicebot author:mathlib-splicebot |
feat: atoms of a countably generated measurable space |
This PR adds a definition for the atoms in a countably generated measurable space, expressed with `natGeneratingSequence`.
We also show that the atoms are measurable sets.
---
This PR was automatically created from PR #39739 by @RemyDegenne via a [review comment](https://github.com/leanprover-community/mathlib4/pull/39739#discussion_r3294476245) by @RemyDegenne. |
t-measure-probability |
121/0 |
Mathlib/MeasureTheory/MeasurableSpace/CountablyGenerated.lean |
1 |
1 |
['github-actions'] |
nobody |
1-19695 1 day ago |
1-19941 1 day ago |
1-19936 1 day |
| 38859 |
SnirBroshi author:SnirBroshi |
feat(Order/CompleteLattice/Basic): tag `iSup_of_empty'` with `@[simp]` |
The theorem says `iSup f = sSup ∅` when the domain of `f` is empty, and dually `iInf f = sInf ∅`.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
31/47 |
Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Data/ENat/Lattice.lean,Mathlib/Data/NNReal/Basic.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Real/Archimedean.lean,Mathlib/Data/Set/Finite/Lattice.lean,Mathlib/LinearAlgebra/Eigenspace/Pi.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Order.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Indexed.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Lift.lean |
14 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
1-18381 1 day ago |
1-18415 1 day ago |
21-51867 21 days |
| 37652 |
yuanyi-350 author:yuanyi-350 |
feat(ProbabilityTheory/MeasureTheorey): Add Coupling lemma |
## Summary
This PR formalizes a standard coupling bound on countable measurable spaces. More precisely, for a probability measure `μ` and measurable maps
`Y Z : Ω → S` with `S` countable, it proves the `L¹` bound
`∑' k : S, |(μ.map Y).real ({k} : Set S) - (μ.map Z).real ({k} : Set S)| ≤ 2 * μ.real {ω | Y ω ≠ Z ω}`.
## Main changes
- add `tsum_restrict_preimage_singleton_eq` and `tsum_restrict_preimage_singleton_eq'` in `MeasureTheory/Measure/Restrict.lean`;
- add `tsum_measureReal_restrict_preimage_singleton_eq`, `coupling_term_bound`, and `coupling_lemma` in `MeasureTheory/Measure/Real.lean`;
- include some local cleanup in `MeasureTheory/Measure/Real.lean`, mainly simplifying `toReal`-related arguments and notation.
## References
- Wikipedia: https://en.wikipedia.org/wiki/Coupling_(probability)
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
awaiting-author
|
108/37 |
Mathlib/MeasureTheory/Measure/Real.lean,Mathlib/MeasureTheory/Measure/Restrict.lean |
2 |
4 |
['EtienneC30', 'RemyDegenne', 'github-actions', 'mathlib-merge-conflicts'] |
kex-y assignee:kex-y |
1-17938 1 day ago |
48-32199 48 days ago |
2-15319 2 days |
| 39739 |
RemyDegenne author:RemyDegenne |
chore: generalize `IsZeroOneMeasure.exists_eq_dirac` |
Replace the `StandardBorelSpace` assumption by `CountablySeparated`, since the existing proof used only that.
Add another version of the result for `CountablyGenerated`.
---
- [ ] depends on: #39770
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
blocked-by-other-PR
|
188/50 |
Mathlib/MeasureTheory/MeasurableSpace/CountablyGenerated.lean,Mathlib/MeasureTheory/Measure/Typeclasses/ZeroOne.lean,Mathlib/Probability/Kernel/Deterministic.lean |
3 |
4 |
['RemyDegenne', 'github-actions', 'mathlib-dependent-issues', 'mathlib-splicebot'] |
nobody |
1-17881 1 day ago |
2-37011 2 days ago |
0-6941 1 hour |
| 39408 |
fgdorais author:fgdorais |
feat(Tactic/Linter/DeprecatedModule): add option `linter.deprecated.module.exclude_root` |
This PR fixes an incorrect behavior in the deprecated module linter: the linter excluded all modules with filenames ending with `Mathlib.lean` without checking that the file is the Mathlib root module rather than a random module whose name happens to end with `Mathlib` (such are more plausible in downstream projects than in Mathlib itself).
The Mathlib root module is autogenerated and imports all modules regardless of deprecation status. So it needs to be excluded from the deprecated module check. An easy way to correct the erroneous behavior would be to remove the hard-coded exclusion from the linter and add `set_option linter.deprecated.module false` at the end of `Mathlib.lean`.
However, this PR takes a broader approach, which is to add a `linter.deprecated.module.exclude_root` option. That way downstream projects with a similarly designed root module can also use this feature by setting `linter.deprecated.module.exclude_root` to `true` in their lakefile.
---
[](https://gitpod.io/from-referrer/)
|
t-linter
maintainer-merge
|
19/3 |
Mathlib/Tactic/Linter/DeprecatedModule.lean,lakefile.lean |
2 |
11 |
['JovanGerb', 'adomani', 'fgdorais', 'github-actions'] |
JovanGerb assignee:JovanGerb |
1-17563 1 day ago |
10-25753 10 days ago |
10-25748 10 days |
| 38349 |
SnirBroshi author:SnirBroshi |
chore(Combinatorics/SimpleGraph/Coloring/VertexColoring): rename to `Vertex.lean` |
After #37525 moved `Coloring.lean` to `Coloring/VertexColoring.lean`, a [Zulip](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/Coloring.20module.20names/with/583281500) poll decided to avoid duplicating the word "Coloring", so this renames `Coloring/VertexColoring.lean` to `Coloring/Vertex.lean`.
---
I planned to make this move in #33313 but it isn't moving along, so I think it's best to split the renaming.
#37546 adds module deprecation
[](https://gitpod.io/from-referrer/)
|
file-removed
t-combinatorics
|
6/6 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/Constructions.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/Vertex.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/Partition.lean,Mathlib/Combinatorics/SimpleGraph/Sum.lean |
7 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
1-17520 1 day ago |
1-17557 1 day ago |
32-77494 32 days |
| 37546 |
SnirBroshi author:SnirBroshi |
chore(Combinatorics/SimpleGraph): add module deprecations for #36819 #36854 #37525 #37544 #38349 |
---
- [x] depends on: #37544
- [ ] depends on: #38349
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
blocked-by-other-PR
|
703/625 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/Constructions.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/Vertex.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/ConcreteColorings.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/WalkCounting.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/WalkDecomp.lean,Mathlib/Combinatorics/SimpleGraph/EdgeLabeling.lean,Mathlib/Combinatorics/SimpleGraph/Partition.lean,Mathlib/Combinatorics/SimpleGraph/Sum.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Counting.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Decomp.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Subwalks.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Traversal.lean |
20 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
1-16821 1 day ago |
33-61381 33 days ago |
0-29887 8 hours |
| 37642 |
SnirBroshi author:SnirBroshi |
chore(Combinatorics/SimpleGraph): tidy various files |
---
Concept inspired by @Ruben-VandeVelde :)
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
73/62 |
Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean,Mathlib/Combinatorics/SimpleGraph/Copy.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Basic.lean,Mathlib/Combinatorics/SimpleGraph/IncMatrix.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Trails.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Subwalks.lean |
9 |
9 |
['SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
1-16574 1 day ago |
1-16609 1 day ago |
49-17263 49 days |
| 37577 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Walk): upgrade subset theorems to sublist/prefix/suffix |
Upgrades theorems about `p.support ⊆ q.support` / `p.darts ⊆ q.darts` / `p.edges ⊆ q.edges` to `List.IsInfix`/`List.IsSuffix`/`List.Sublist`, which imply the subset versions.
Also adds `cycleBypass` sublist lemmas that were missing, and golfs `length_bypass_le` and `bypass_eq_self_of_length_le` using the new sublist theorems.
Co-authored-by: Iván Renison <85908989+IvanRenison@users.noreply.github.com>
---
Except for a couple of `cycleBypass` ones, I did not add such theorems where there was no subset theorem to begin with (e.g. `(p.take n).darts <+: p.darts`), as they are usually not worth stating since they're trivial and simp proves them.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
112/81 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean |
5 |
6 |
['SnirBroshi', 'YaelDillies', 'b-mehta', 'github-actions'] |
nobody |
1-16288 1 day ago |
13-13918 13 days ago |
52-46290 52 days |
| 39267 |
MichaelStollBayreuth author:MichaelStollBayreuth |
perf: increase some instance priorities |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
merge-conflict
label:t-algebra$ |
43/19 |
Mathlib/Algebra/Polynomial/Bivariate.lean,Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/Algebra/Polynomial/Eval/Degree.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Data/Nat/Choose/Vandermonde.lean,Mathlib/FieldTheory/IsAlgClosed/Spectrum.lean,Mathlib/FieldTheory/SeparableClosure.lean,Mathlib/RingTheory/Extension/Cotangent/BaseChange.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Polynomial/IsIntegral.lean,Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean,Mathlib/Topology/Algebra/Polynomial.lean |
14 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
1-14654 1 day ago |
12-80508 12 days ago |
0-1 1 second |
| 39773 |
kbuzzard author:kbuzzard |
perf: add some fast_instance% |
This PR adds some `fast_instance%`s, which tidies up some terms.
See [#mathlib4 > fast_instance% plans](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/fast_instance.25.20plans/with/597402311) for explicit descriptions of what every change in this PR actually does to the terms in question.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
6/4 |
Mathlib/Algebra/Group/Pi/Basic.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean |
2 |
3 |
['github-actions', 'kbuzzard', 'leanprover-radar'] |
nobody |
1-14289 1 day ago |
1-15829 1 day ago |
1-15824 1 day |
| 39495 |
hawkrobe author:hawkrobe |
feat(Data/Multiset/Antidiagonal): two structural lemmas |
Adds `map_swap_antidiagonal` and `antidiagonal_add`.
---
Fills out the API parallel to `Multiset.Nat.map_swap_antidiagonal` and `Finset.map_swap_antidiagonal`. (And adds `@[congr]` to `bind_congr`.)
Used downstream for shuffle-coproduct constructions.
(#7486, I found this old [Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/antidiagonals.20having.20multiplicity.20.237595/near/238573473))
I used Claude Code to audit and polish. |
t-data
new-contributor
|
22/0 |
Mathlib/Data/Multiset/Antidiagonal.lean,Mathlib/Data/Multiset/Bind.lean |
2 |
6 |
['github-actions', 'hawkrobe', 'j-loreaux'] |
nobody |
1-11743 1 day ago |
5-18750 5 days ago |
7-86137 7 days |
| 39782 |
robin-carlier author:robin-carlier |
feat(Tactic): `nonempty` attribute |
WIP: adds a `nonempty` attribute that automatically adds a corresponding `nonempty` instance to a `def`.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
255/0 |
Mathlib/Tactic/NonemptyAttr.lean,Mathlib/Util/AddRelatedDecl.lean,MathlibTest/NonemptyAttr.lean |
3 |
1 |
['github-actions'] |
nobody |
1-6694 1 day ago |
unknown |
0-0 0 seconds |
| 39746 |
vihdzp author:vihdzp |
feat: Dieudonné measure on a well-order |
Given a well-order of uncountable cofinality, we can define a measurable space, consisting of sets which either contain or entirely omit a club set. On this space, the indicator function of stationary sets is a measure, known as the Dieudonné measure. It is a zero-one measure, which is nevertheless not a Dirac measure; it in fact has empty support.
---
- [ ] depends on: #39727
- [ ] depends on: #39747
[](https://gitpod.io/from-referrer/)
|
t-set-theory
t-measure-probability
blocked-by-other-PR
|
452/34 |
Mathlib.lean,Mathlib/MeasureTheory/Constructions/Dieudonne.lean,Mathlib/MeasureTheory/OuterMeasure/Defs.lean,Mathlib/Order/Cofinal.lean,Mathlib/Order/DirSupClosed.lean,Mathlib/Order/Interval/Set/Basic.lean,Mathlib/Order/UpperLower/Basic.lean,Mathlib/SetTheory/Cardinal/Cofinality/Club.lean,Mathlib/Topology/Order/ScottTopology.lean |
9 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
1-6474 1 day ago |
2-18656 2 days ago |
0-1258 20 minutes |
| 39759 |
plp127 author:plp127 |
chore(FieldTheory/KrullTopology): move lemmas to earlier file |
We move some lemmas unrelated to the Krull topology out of the `KrullTopology` file. They are placed in the earlier file `FieldTheory/IsGalois/Basic` instead.
---
In #23693 it is said that
> The proof of it uses some results in this file, so it can't be put into earlier files.
This is no longer true, so we want move it out of the `KrullTopology` file because the theorems have nothing to do with the Krull topology. I found that they can go in `FieldTheory/IsGalois/Basic` without modifying the proofs. They cannot go any earlier because the statement of the theorems contains `IsGalois`, which is defined in this file.
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
65/67 |
Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/KrullTopology.lean |
2 |
5 |
['acmepjz', 'github-actions', 'grunweg', 'plp127', 'vihdzp'] |
nobody |
1-6364 1 day ago |
1-75059 1 day ago |
1-75054 1 day |
| 39783 |
SnirBroshi author:SnirBroshi |
feat(Order/Interval/Finset): `Set.ncard` lemmas for `LocallyFiniteOrder` |
Followup to #39414 which untagged `Fintype.card_I??` as `@[simp]`.
Adds `Cardinal.mk`/`Set.encard`/`Set.ncard` lemmas for the 8 interval sets `Set.I??` (= 24 lemmas),
that convert them to `Finset.card` over the corresponding `Finset.I??` from a `LocallyFiniteOrder` instance.
---
`simp`? I think it's a bit strange since the `LocallyFiniteOrder` instance could have crazy definitions for the finset intervals which aren't "simpler", though the instances we currently have are simple.
[](https://gitpod.io/from-referrer/)
|
t-order |
115/0 |
Mathlib.lean,Mathlib/Order/Interval/Finset/Card.lean |
2 |
1 |
['github-actions'] |
nobody |
1-5595 1 day ago |
1-5663 1 day ago |
1-5957 1 day |
| 39727 |
vihdzp author:vihdzp |
feat: stationary sets |
We define stationary sets as sets intersecting all club sets, and prove basic theorems about them.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory
maintainer-merge
|
153/21 |
Mathlib/Order/Cofinal.lean,Mathlib/SetTheory/Cardinal/Cofinality/Club.lean |
2 |
6 |
['YaelDillies', 'github-actions'] |
nobody |
1-5142 1 day ago |
1-10098 1 day ago |
2-67449 2 days |
| 25848 |
joelriou author:joelriou |
feat/refactor: redefinition of homology + derived categories |
This PR contains a redefinition of homology, theorems about localization of categories, including triangulated categories, a construction of the derived category of an abelian category, derived functors, spectral sequences, etc. (This is made a PR only to facilitate navigation in the code of this branch.)
This formalization is outlined in the paper _Formalization of derived categories in Lean/mathlib_ https://hal.science/hal-04546712
The homology of `ShortComplex C` (diagrams of two composable morphisms whose composition is zero) is developed in `Algebra.Homology.ShortComplex`. The files in that folder have been added one by one in separate PRs, and then, the current definition of `homology` has been replaced by this new definition in a refactor PR.
Homology refactor:
* #4203
* #4204
* #4388
* #4609
* #4645
* #4787
* #4853
* #5250
* #5674
* #6008
* #6039
* #6089
* #6227
* #6230
* #6231
* #6245
* #6267
* #6279
* #6324
* #6443
* #6586
* #6994
* #7042
* #7047
* #7052
* #7192
* #7193
* #7194
* #7195
* #7197
* #7256
* #7262
* #7280
* #7623
* #7624
* #7806
* #7816
* #7817
* #7821
* #7954
* #7966
* #7993
* #7995
* #7996
* #7997
* #8058
* #8060
* #8069
* #8079
* #8081
* #8084
* #8091
* #8113
* #8114
* #8152
* #8159
* #8174
* #8200
* #8206
* #8208
* #8472
* #8468
* #8475
* #8490
* #8491
* #8507
* #8512
* #8593
* #8595
* #8706
* #8765
* #8766
* #8845
* #9022
* #12649
* #12638
Homological complexes:
* #9333
* #9335
* #9331
Localization of categories:
* #6233
* #6235
* #6236
* #6867
* #6869
* #6887
* #6882
* #8041
* #8055
* #8069
* #8516
* #8864
* #8865
* #9702
* #9692
* #10606
* #10607
* #11721
* #11728
* #11737
* #12728
Shifts on categories:
* #4429
* #6652
* #6653
* #6655
* #7268
* #7270
* #9001
* #11764
Triangulated categories:
* #6377
* #6688
* #6815
* #7053
* #7324
* #7327
* #7336
* #7626
* #7641
* #9049
* #9073
* #10527
* #11738
* #11740
* #11759
* #11786
* #11789
* #11805
* #12619
Construction of the derived category:
* #6626
* #6701
* #6720
* #6894
* #7048
* #7049
* #7050
* #7201
* #7656
* #8937
* #8966
* #8969
* #8970
* #9054
* #9447
* #8951
* #9483
* #9508
* #9509
* #9592
* #9614
* #9615
* #9032
* #9370
* #9550
* #9686
* #9660
* #11760
* #11782
* #11806
Derived functors:
* #10195
* #10270
* #10301
* #10384
* #10413
* #12168
* #12627
* #12631
* #12633
* #12785
* #12788
Refactor of Ext-groups:
* #12607
- [x] depends on: #24309
- [ ] depends on: #24275
- [x] depends on: #24191
- [ ] depends on: #23797
- [x] depends on: #22586
- [x] depends on: #22556
- [x] depends on: #22547
- [x] depends on: #22539
- [ ] depends on: #22508
- [x] depends on: #22450
- [ ] depends on: #23915
---
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #4197.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/4197* |
WIP
t-category-theory
large-import
t-topology
|
28754/249 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Free.lean,Mathlib/Algebra/Homology/Additive.lean,Mathlib/Algebra/Homology/BicomplexColumns.lean,Mathlib/Algebra/Homology/BicomplexRows.lean,Mathlib/Algebra/Homology/Bifunctor.lean,Mathlib/Algebra/Homology/BifunctorColimits.lean,Mathlib/Algebra/Homology/BifunctorCommShift.lean,Mathlib/Algebra/Homology/BifunctorHomotopy.lean,Mathlib/Algebra/Homology/BifunctorMappingCone.lean,Mathlib/Algebra/Homology/BifunctorShift.lean,Mathlib/Algebra/Homology/BifunctorSingle.lean,Mathlib/Algebra/Homology/BifunctorTriangulated.lean,Mathlib/Algebra/Homology/CategoryWithHomology.lean,Mathlib/Algebra/Homology/CochainComplexMinus.lean,Mathlib/Algebra/Homology/CochainComplexOpposite.lean,Mathlib/Algebra/Homology/ComplexShape.lean,Mathlib/Algebra/Homology/ConnectShortExact.lean,Mathlib/Algebra/Homology/DerivedCategory/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/DerivabilityStructureInjectives.lean,Mathlib/Algebra/Homology/DerivedCategory/DerivabilityStructureKInjectives.lean,Mathlib/Algebra/Homology/DerivedCategory/DerivabilityStructureProjectives.lean,Mathlib/Algebra/Homology/DerivedCategory/FullyFaithful.lean,Mathlib/Algebra/Homology/DerivedCategory/HomologySequence.lean,Mathlib/Algebra/Homology/DerivedCategory/KInjective.lean,Mathlib/Algebra/Homology/DerivedCategory/KProjective.lean,Mathlib/Algebra/Homology/DerivedCategory/Minus.lean,Mathlib/Algebra/Homology/DerivedCategory/Monoidal.lean,Mathlib/Algebra/Homology/DerivedCategory/Plus.lean,Mathlib/Algebra/Homology/DerivedCategory/RightDerivedFunctorPlus.lean,Mathlib/Algebra/Homology/DerivedCategory/SingleTriangle.lean,Mathlib/Algebra/Homology/DerivedCategory/SpectralObject.lean,Mathlib/Algebra/Homology/DerivedCategory/TStructure.lean,Mathlib/Algebra/Homology/Double.lean,Mathlib/Algebra/Homology/DoubleHomology.lean,Mathlib/Algebra/Homology/Embedding/CochainComplex.lean,Mathlib/Algebra/Homology/Embedding/CochainComplexTrunc.lean,Mathlib/Algebra/Homology/Embedding/ComplementaryTrunc.lean,Mathlib/Algebra/Homology/Embedding/ExtendMap.lean,Mathlib/Algebra/Homology/Embedding/HomEquiv.lean,Mathlib/Algebra/Homology/Embedding/StupidFiltration.lean,Mathlib/Algebra/Homology/Embedding/StupidTrunc.lean,Mathlib/Algebra/Homology/Embedding/TruncGE.lean,Mathlib/Algebra/Homology/Embedding/TruncGEHomology.lean,Mathlib/Algebra/Homology/Embedding/TruncLE.lean,Mathlib/Algebra/Homology/Embedding/TruncLEHomology.lean,Mathlib/Algebra/Homology/Factorizations/Basic.lean,Mathlib/Algebra/Homology/Factorizations/CM5a.lean,Mathlib/Algebra/Homology/HomologicalBicomplex.lean,Mathlib/Algebra/Homology/HomologicalComplex.lean,Mathlib/Algebra/Homology/HomologicalComplexFunctorEquiv.lean,Mathlib/Algebra/Homology/HomologicalComplexLimits.lean,Mathlib/Algebra/Homology/Homology.lean,Mathlib/Algebra/Homology/HomologySequence.lean,Mathlib/Algebra/Homology/HomologySequenceLemmas.lean,Mathlib/Algebra/Homology/Homotopy.lean,Mathlib/Algebra/Homology/HomotopyCategory.lean,Mathlib/Algebra/Homology/HomotopyCategory/Acyclic.lean,Mathlib/Algebra/Homology/HomotopyCategory/DegreewiseSplit.lean,Mathlib/Algebra/Homology/HomotopyCategory/Devissage.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplexShift.lean,Mathlib/Algebra/Homology/HomotopyCategory/KInjective.lean,Mathlib/Algebra/Homology/HomotopyCategory/MappingCone.lean,Mathlib/Algebra/Homology/HomotopyCategory/Minus.lean,Mathlib/Algebra/Homology/HomotopyCategory/Monoidal.lean,Mathlib/Algebra/Homology/HomotopyCategory/MonoidalTriangulated.lean,Mathlib/Algebra/Homology/HomotopyCategory/Plus.lean,Mathlib/Algebra/Homology/HomotopyCategory/PreservesQuasiIso.lean,Mathlib/Algebra/Homology/HomotopyCategory/Pretriangulated.lean,Mathlib/Algebra/Homology/HomotopyCategory/Shift.lean,Mathlib/Algebra/Homology/HomotopyCategory/ShiftSequence.lean,Mathlib/Algebra/Homology/HomotopyCategory/ShortExact.lean,Mathlib/Algebra/Homology/HomotopyCategory/SingleFunctors.lean,Mathlib/Algebra/Homology/HomotopyCofiber.lean,Mathlib/Algebra/Homology/HomotopyFiber.lean,Mathlib/Algebra/Homology/LeftResolution/Basic.lean,Mathlib/Algebra/Homology/LeftResolution/CochainComplex.lean,Mathlib/Algebra/Homology/LeftResolution/CochainComplexMinus.lean,Mathlib/Algebra/Homology/Localization.lean,Mathlib/Algebra/Homology/ModelCategory/Injective.lean,Mathlib/Algebra/Homology/ModelCategory/Projective.lean,Mathlib/Algebra/Homology/Monoidal.lean,Mathlib/Algebra/Homology/ObjectProperty.lean,Mathlib/Algebra/Homology/Precylinder.lean,Mathlib/Algebra/Homology/PreservesQuasiIso.lean,Mathlib/Algebra/Homology/QuasiIso.lean,Mathlib/Algebra/Homology/ShortComplex/Basic.lean,Mathlib/Algebra/Homology/ShortComplex/Exact.lean,Mathlib/Algebra/Homology/ShortComplex/FiveLemma.lean,Mathlib/Algebra/Homology/ShortComplex/FourLemma.lean,Mathlib/Algebra/Homology/ShortComplex/HomologicalComplex.lean,Mathlib/Algebra/Homology/ShortComplex/Images.lean,Mathlib/Algebra/Homology/ShortComplex/Preadditive.lean,Mathlib/Algebra/Homology/ShortComplex/ShortComplexFive.lean,Mathlib/Algebra/Homology/ShortComplex/ShortComplexFour.lean,Mathlib/Algebra/Homology/ShortComplex/ULift.lean,Mathlib/Algebra/Homology/Single.lean,Mathlib/Algebra/Homology/SpectralObject/Convergence.lean,Mathlib/Algebra/Homology/SpectralObject/HasSpectralSequence.lean |
275 |
11 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-3316 1 day ago |
346-1237 346 days ago |
0-2 2 seconds |
| 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 |
18 |
['bryangingechen', 'github-actions', 'mathlib-merge-conflicts', 'mirajcs', 'ocfnash', 'vihdzp', 'wwylele'] |
ocfnash assignee:ocfnash |
1-2702 1 day ago |
27-4242 27 days ago |
6-55291 6 days |
| 36501 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(RingTheory/GradedAlgebra/Homogeneous/RingQuot): graded structure on the quotient of a graded ring by a homogeneous ideal |
Define the graded structure on the quotient of a graded ring by a homogeneous ideal
Co-authored with: @mariainesdff
(Possible TODO:
- Maybe define the graded structure on the quotient of a graded module by a homogeneous submodule.
- There is also an issue of working with ring congruences rather than with ideals. )
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
504/20 |
Mathlib.lean,Mathlib/Algebra/DirectSum/Decomposition.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Basic.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/Data/DFinsupp/BigOperators.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/RingQuot.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean,Mathlib/RingTheory/Ideal/Span.lean |
10 |
133 |
['AntoineChambert-Loir', 'chrisflav', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'robin-carlier'] |
eric-wieser and robin-carlier assignee:eric-wieser assignee:robin-carlier |
1-2228 1 day ago |
1-2305 1 day ago |
48-79715 48 days |
| 37245 |
DavidLedvinka author:DavidLedvinka |
feat(MeasureTheory): add Resolvent (Stieltjes/Cauchy) Transform |
This PR adds the definition of the `resolventTransform` of a measure and some API. This is a non-standard notion that generalizes both the Stieltjes Transform and Cauchy Transform of a (real-valued) measure so that (for example) the proof that these transforms define holomorphic functions off the support of the measure can be given for both at once. Perhaps these important special cases could be made into abbrevs?
- [x] depends on: #37172
|
t-measure-probability
maintainer-merge
|
199/0 |
Mathlib.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/MeasureTheory/Measure/ResolventTransform.lean,Mathlib/MeasureTheory/Measure/Support.lean |
5 |
35 |
['DavidLedvinka', 'EtienneC30', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
EtienneC30 assignee:EtienneC30 |
1-1321 1 day ago |
1-4704 1 day ago |
35-22443 35 days |
| 39724 |
vihdzp author:vihdzp |
feat: finite sets are closed under suprema |
As are chains of length ≤ ω.
---
We don't prove `Set.Finite.dirSupClosed` via `DirectedOn.finite_le`, in order to save a few imports.
[](https://gitpod.io/from-referrer/)
|
file-removed
t-order
|
239/31 |
Mathlib.lean,Mathlib/Data/Fintype/Order.lean,Mathlib/Order/Cofinal.lean,Mathlib/Order/DirSupClosed/Basic.lean,Mathlib/Order/DirSupClosed/Finite.lean,Mathlib/Order/IsNormal.lean,Mathlib/SetTheory/Cardinal/Cofinality/Club.lean,Mathlib/SetTheory/Cardinal/Cofinality/Ordinal.lean,Mathlib/Topology/Order/ScottTopology.lean |
9 |
1 |
['github-actions'] |
nobody |
1-1068 1 day ago |
2-68636 2 days ago |
2-70663 2 days |
| 39725 |
vihdzp author:vihdzp |
feat: stationary sets in countable cofinality orders |
In an order of countable cofinality, club sets must contain all large enough elements, so stationary sets are those that don't.
---
- [ ] depends on: #39724
- [ ] depends on: #39727
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
large-import
file-removed
t-set-theory
|
266/33 |
Mathlib.lean,Mathlib/Data/Fintype/Order.lean,Mathlib/Order/Cofinal.lean,Mathlib/Order/DirSupClosed/Basic.lean,Mathlib/Order/DirSupClosed/Finite.lean,Mathlib/Order/IsNormal.lean,Mathlib/SetTheory/Cardinal/Cofinality/Basic.lean,Mathlib/SetTheory/Cardinal/Cofinality/Club.lean,Mathlib/SetTheory/Cardinal/Cofinality/Ordinal.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/Topology/Order/ScottTopology.lean |
11 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
1-888 1 day ago |
2-69127 2 days ago |
0-1089 18 minutes |
| 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`.
---
[](https://gitpod.io/from-referrer/)
Edit: remove the description on the original motivation since `WellQuasiOrdered` instead of theorems in this PR can be used for that goal.
`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 |
58/0 |
Mathlib/Order/OrderIsoNat.lean |
1 |
15 |
['Hagb', 'SnirBroshi', 'github-actions', 'leanprover-radar', 'vihdzp'] |
nobody |
1-510 1 day ago |
6-543 6 days ago |
6-35978 6 days |
| 32983 |
JovanGerb author:JovanGerb |
feat: use `LE.le` for subset relation in `Set`, `Finset`, `PSet`, `ZFSet` |
This PR uses `@[use_set_notation_for_order]` in `Set`, `Finset`, `PSet`, `ZFSet` and `Class`. So, for these types, we will write `⊆`, while the underlying constant is `LE.le`.
Some notes:
- The idea is to later extend this feature to other set notation constants, such as union/intersection.
- Dot notation on the `HasSubset.Subset` namespace now doesn't work anymore, and the names need to be put in the `LE.le` namespace instead.
- Various `simp` and `gcongr` tags needed to be removed/updated as a result of this change.
See also https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/Any.20infimum.20based.20version.20of.20.60OmegaCompletePartialOrder.60.3F/near/579333629
---
- [x] depends on: #36633
- [x] depends on: #36734
- [x] depends on: #36782
- [x] depends on: #37012
- [x] depends on: #37347
[](https://gitpod.io/from-referrer/)
|
t-data
t-meta
large-import
|
318/366 |
Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/Group/Indicator.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/GroupWithZero/Action/Pointwise/Finset.lean,Mathlib/Algebra/GroupWithZero/Action/Pointwise/Set.lean,Mathlib/Algebra/MvPolynomial/Monad.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Pow.lean,Mathlib/AlgebraicTopology/SimplicialSet/Horn.lean,Mathlib/Analysis/LocallyConvex/WeakSpace.lean,Mathlib/Analysis/Normed/Group/FunctionSeries.lean,Mathlib/Analysis/SpecialFunctions/Log/Summable.lean,Mathlib/CategoryTheory/CofilteredSystem.lean,Mathlib/CategoryTheory/Topos/Sheaf.lean,Mathlib/Combinatorics/Enumerative/Partition/GenFun.lean,Mathlib/Combinatorics/Hall/Basic.lean,Mathlib/Combinatorics/Matroid/Basic.lean,Mathlib/Combinatorics/Matroid/Constructions.lean,Mathlib/Combinatorics/Matroid/Dual.lean,Mathlib/Combinatorics/Matroid/Rank/Cardinal.lean,Mathlib/Combinatorics/SetFamily/AhlswedeZhang.lean,Mathlib/Combinatorics/SetFamily/KruskalKatona.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Ends/Defs.lean,Mathlib/Data/Finset/BooleanAlgebra.lean,Mathlib/Data/Finset/Defs.lean,Mathlib/Data/Finset/Filter.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/Finset/Lattice/Basic.lean,Mathlib/Data/Finset/Option.lean,Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Finset/SDiff.lean,Mathlib/Data/Finset/Sups.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Data/Multiset/ZeroCons.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Card.lean,Mathlib/Data/Set/Defs.lean,Mathlib/Data/Set/Disjoint.lean,Mathlib/Data/Set/Finite/Basic.lean,Mathlib/Data/Set/FiniteExhaustion.lean,Mathlib/Data/Set/Notation.lean,Mathlib/Data/Set/Semiring.lean,Mathlib/Data/Set/Sups.lean,Mathlib/Data/SetLike/Basic.lean,Mathlib/Dynamics/Ergodic/Ergodic.lean,Mathlib/Dynamics/FixedPoints/Prufer.lean,Mathlib/Geometry/Manifold/VectorBundle/FiberwiseLinear.lean,Mathlib/GroupTheory/CosetCover.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/Lean/Expr/ExtraRecognizers.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean,Mathlib/Logic/Equiv/PartialEquiv.lean,Mathlib/MeasureTheory/Covering/LiminfLimsup.lean,Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean,Mathlib/MeasureTheory/Integral/DominatedConvergence.lean,Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean,Mathlib/MeasureTheory/Measure/AEDisjoint.lean,Mathlib/MeasureTheory/Measure/Decomposition/RadonNikodym.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean,Mathlib/MeasureTheory/Measure/Prokhorov.lean,Mathlib/MeasureTheory/Measure/Regular.lean,Mathlib/MeasureTheory/Measure/Stieltjes.lean,Mathlib/MeasureTheory/Measure/Typeclasses/Finite.lean,Mathlib/MeasureTheory/Measure/Typeclasses/SFinite.lean,Mathlib/MeasureTheory/SetSemiring.lean,Mathlib/NumberTheory/WellApproximable.lean,Mathlib/Order/Birkhoff.lean,Mathlib/Order/BooleanAlgebra/Set.lean,Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/Filter/AtTopBot/Finset.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/CountableInter.lean,Mathlib/Order/Filter/Ker.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Interval/Finset/Defs.lean,Mathlib/Order/LiminfLimsup.lean,Mathlib/Order/PrimeSeparator.lean,Mathlib/Order/RelClasses.lean,Mathlib/Probability/Process/HittingTime.lean,Mathlib/RingTheory/AlgebraicIndependent/TranscendenceBasis.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Eval.lean,Mathlib/RingTheory/Spectrum/Prime/Module.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Class.lean,Mathlib/SetTheory/ZFC/Ordinal.lean,Mathlib/SetTheory/ZFC/PSet.lean,Mathlib/Tactic/SetNotationForOrder.lean,Mathlib/Topology/Algebra/InfiniteSum/Constructions.lean,Mathlib/Topology/Algebra/InfiniteSum/SummationFilter.lean,Mathlib/Topology/Algebra/Nonarchimedean/TotallyDisconnected.lean,Mathlib/Topology/Category/TopCat/Limits/Konig.lean,Mathlib/Topology/Compactness/SigmaCompact.lean,Mathlib/Topology/ExtremallyDisconnected.lean,Mathlib/Topology/Instances/CantorSet.lean,Mathlib/Topology/MetricSpace/Ultra/Basic.lean,Mathlib/Topology/Order/HullKernel.lean,Mathlib/Topology/Semicontinuity/Hemicontinuity.lean,Mathlib/Topology/Separation/Profinite.lean |
104 |
51 |
['JovanGerb', 'Vierkantor', 'b-mehta', 'eric-wieser', 'github-actions', 'j-loreaux', 'joneugster', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'plp127', 'thorimur'] |
nobody |
1-432 1 day ago |
1-208 1 day ago |
13-16053 13 days |
| 37752 |
JovanGerb author:JovanGerb |
chore(Order/CompleteLattice/Lemmas): use `to_dual` |
Use `to_dual` for lemmas about `CompleteLattice`.
---
[](https://gitpod.io/from-referrer/)
|
t-order
maintainer-merge
|
33/56 |
Mathlib/Order/CompleteLattice/Lemmas.lean,Mathlib/Tactic/Translate/ToDual.lean |
2 |
6 |
['JovanGerb', 'YaelDillies', 'github-actions', 'vihdzp'] |
nobody |
1-303 1 day ago |
1-370 1 day ago |
47-83382 47 days |
| 39691 |
Raph-DG author:Raph-DG |
feat(Topology): An open cover of a preconnected set has no isolated components |
In this PR we show that a family of open sets whose union is preconnected has the property that for any two (nonempty) sets U and V in the cover there is a sequence of sets in the cover U = U_0, U_1,..., U_n = V such that U_i \cap U_{i+1} is nonempty for all i.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
20/0 |
Mathlib/Topology/Connected/Basic.lean |
1 |
3 |
['Raph-DG', 'github-actions', 'plp127'] |
nobody |
0-86122 23 hours ago |
2-22066 2 days ago |
3-28672 3 days |
| 39747 |
vihdzp author:vihdzp |
feat: intervals `Ici`/`Ioi` are cofinal/closed under directed suprema |
---
[](https://gitpod.io/from-referrer/)
|
t-order |
67/11 |
Mathlib/Order/Cofinal.lean,Mathlib/Order/DirSupClosed.lean,Mathlib/Order/Interval/Set/Basic.lean,Mathlib/Order/UpperLower/Basic.lean,Mathlib/Topology/Order/ScottTopology.lean |
5 |
15 |
['YaelDillies', 'b-mehta', 'github-actions', 'vihdzp'] |
nobody |
0-86082 23 hours ago |
1-9765 1 day ago |
1-74130 1 day |
| 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 |
0-84226 23 hours ago |
14-76234 14 days ago |
0-7559 2 hours |
| 39614 |
sgouezel author:sgouezel |
feat: if an L^p space is complete, so is its target space unless the measure is zero |
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
maintainer-merge
|
168/1 |
Mathlib.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/CompleteOfCompleteLp.lean |
3 |
10 |
['EtienneC30', 'github-actions', 'sgouezel'] |
EtienneC30 assignee:EtienneC30 |
0-81940 22 hours ago |
0-83174 23 hours ago |
4-85081 4 days |
| 39722 |
kg583 author:kg583 |
feat(Combinatorics): Link `Nat.Partition` to `YoungDiagram` |
---
AI disclosure: Claude was used to source some proof sketches.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
large-import
|
120/4 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/Partition/Basic.lean,Mathlib/Combinatorics/Enumerative/Partition/Conjugate.lean,Mathlib/Combinatorics/Young/YoungDiagram.lean |
4 |
36 |
['NoahW314', 'github-actions', 'kg583', 'wwylele'] |
nobody |
0-79027 21 hours ago |
1-80357 1 day ago |
2-77927 2 days |
| 39616 |
sgouezel author:sgouezel |
feat: more API for the variation of vector measures |
Prompted by the extension of the API around integrals wrt vector measures in #39113
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
218/19 |
Mathlib/Data/ENNReal/Action.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/VectorMeasure/Basic.lean,Mathlib/MeasureTheory/VectorMeasure/Decomposition/JordanSub.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Basic.lean |
5 |
22 |
['EtienneC30', 'github-actions', 'sgouezel'] |
EtienneC30 assignee:EtienneC30 |
0-78225 21 hours ago |
0-78281 21 hours ago |
4-77443 4 days |
| 39775 |
Hagb author:Hagb |
feat(Order/WellFounded): `wellFounded_{lt,gt}.min` is `{Minimal,Maximal}` |
`Minimal (· ∈ s) (wellFounded_lt.min s h)` and its dual variant.
---
[](https://gitpod.io/from-referrer/)
|
t-order
easy
|
5/0 |
Mathlib/Order/WellFounded.lean |
1 |
1 |
['github-actions', 'vihdzp'] |
nobody |
0-77673 21 hours ago |
0-86268 23 hours ago |
0-86263 23 hours |
| 39732 |
vihdzp author:vihdzp |
feat: the club filter |
---
- [ ] depends on: #39727
[](https://gitpod.io/from-referrer/)
|
t-set-theory
large-import
blocked-by-other-PR
|
344/22 |
Mathlib.lean,Mathlib/Algebra/Ring/BooleanRing.lean,Mathlib/Order/Cofinal.lean,Mathlib/SetTheory/Cardinal/Cofinality/Club.lean,Mathlib/SetTheory/Cardinal/Cofinality/Filter.lean |
5 |
4 |
['github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-77147 21 hours ago |
0-86014 23 hours ago |
1-60275 1 day |
| 39787 |
Hagb author:Hagb |
feat(Order/WellQuasiOrder): `WellQuasiOrdered` if onto homomorphous from a `WellQuasiOrdered` relation |
It is used in #39788 for proof of well foundedness of `MonomialOrder` when the index type is finite.
---
[](https://gitpod.io/from-referrer/)
|
t-order
easy
|
16/0 |
Mathlib/Order/WellQuasiOrder.lean |
1 |
1 |
['github-actions'] |
nobody |
0-76889 21 hours ago |
0-76933 21 hours ago |
0-76928 21 hours |
| 39707 |
sorrachai author:sorrachai |
chore(Data/Tree/Basic): Rename Tree to BinaryTree |
Rename `Tree` to `BinaryTree`.
This frees up the name `Tree` to cover n-ary trees in future.
We only deprecate the `def`s, and move the theorems without deprecation. |
new-contributor
t-data
|
157/63 |
Mathlib/Combinatorics/Enumerative/Catalan/Tree.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/Data/Tree/Basic.lean,Mathlib/Data/Tree/Get.lean,Mathlib/Data/Tree/Traversable.lean,Mathlib/Tactic/CancelDenoms/Core.lean,docs/overview.yaml |
7 |
32 |
['eric-wieser', 'github-actions', 'sorrachai'] |
nobody |
0-76538 21 hours ago |
1-11090 1 day ago |
1-25143 1 day |
| 39720 |
vihdzp author:vihdzp |
feat: cofinality within order |
We introduce `Order.cofWithin x = Order.cof (Iio x)` for the cofinality of an element within a preorder. This generalizes `Ordinal.cof`, with the caveat that `cof o : Cardinal.{u}` for `o : Ordinal.{u}`, whereas `cofWithin o : Cardinal.{u + 1}`.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
108/18 |
Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Cofinality/Basic.lean,Mathlib/SetTheory/Cardinal/Cofinality/Ordinal.lean |
3 |
7 |
['SnirBroshi', 'YaelDillies', 'github-actions', 'vihdzp'] |
nobody |
0-75960 21 hours ago |
0-76030 21 hours ago |
2-76548 2 days |
| 39579 |
hawkrobe author:hawkrobe |
feat(RingTheory/HopfAlgebra): Hopf algebra structure on SymmetricAlgebra |
Adds Hopf algebra structure on SymmetricAlgebra.
---
- [x] depends on: #39483
- [ ] depends on: #39785
- [ ] depends on: #31898
- [ ] depends on: #39790 |
t-ring-theory
new-contributor
blocked-by-other-PR
|
38/3 |
Mathlib.lean,Mathlib/LinearAlgebra/SymmetricAlgebra/Basic.lean,Mathlib/RingTheory/Bialgebra/SymmetricAlgebra.lean,Mathlib/RingTheory/HopfAlgebra/SymmetricAlgebra.lean |
4 |
12 |
['YaelDillies', 'github-actions', 'hawkrobe', 'mathlib-dependent-issues'] |
YaelDillies assignee:YaelDillies |
0-75198 20 hours ago |
0-80166 22 hours ago |
1-18386 1 day |
| 36845 |
grunweg author:grunweg |
feat: the Levi-Civita connection on a manifold |
---
- [ ] depends on: #36299
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
blocked-by-other-PR
|
568/3 |
Mathlib.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/LeviCivita.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Metric.lean,Mathlib/Geometry/Manifold/VectorBundle/MDifferentiable.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-72974 20 hours ago |
67-29886 67 days ago |
0-512 8 minutes |
| 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
--- |
t-measure-probability
new-contributor
LLM-generated
|
179/0 |
Mathlib.lean,Mathlib/Probability/Decision/HypothesisTesting/NeymanPearson.lean |
2 |
3 |
['github-actions', 'grunweg'] |
nobody |
0-72906 20 hours ago |
0-75450 20 hours ago |
0-289 4 minutes |
| 39762 |
plp127 author:plp127 |
chore(Topology/UniformSpace): rename `uniformContinuous_iff` to `uniformContinuous_iff_le_comap` |
Rename `uniformContinuous_iff` to `uniformContinuous_iff_le_comap`, to match `continuous_iff_le_induced`, and also to have symmetry with a possible lemma `uniformContinuous_iff_map_le` which doesn't exist now but could be added in the future.
---
PS. VSCode rename thing is amazing, it tells me "this will rename 20 occurrences in 5 files" and I click ok and it just does it
[](https://gitpod.io/from-referrer/)
|
t-topology |
25/21 |
Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean,Mathlib/Dynamics/TopologicalEntropy/Semiconj.lean,Mathlib/Topology/Algebra/IsUniformGroup/Basic.lean,Mathlib/Topology/UniformSpace/Basic.lean,Mathlib/Topology/UniformSpace/DiscreteUniformity.lean,Mathlib/Topology/UniformSpace/UniformConvergenceTopology.lean |
6 |
3 |
['github-actions', 'plp127', 'themathqueen'] |
nobody |
0-70186 19 hours ago |
1-59712 1 day ago |
1-60987 1 day |
| 34171 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Hasse): Define the Eulerian path of a path graph |
---
Such statements are left for a future PR, since they add imports so we probably want to split them into a separate file:
```lean
theorem IsEulerian.ofPathGraph : ofPathGraph n |>.IsEulerian := by sorry
theorem IsHamiltonian.ofPathGraph : ofPathGraph n |>.IsHamiltonian := by sorry
```
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
awaiting-author
|
42/1 |
Mathlib/Combinatorics/SimpleGraph/Hasse.lean |
1 |
14 |
['SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp', 'vlad902'] |
YaelDillies assignee:YaelDillies |
0-65161 18 hours ago |
61-12292 61 days ago |
63-66062 63 days |
| 36099 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Sum): `edgeSet` equivalence |
---
- [ ] depends on: #34909
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
blocked-by-other-PR
|
30/0 |
Mathlib/Combinatorics/SimpleGraph/Sum.lean,Mathlib/Data/Sym/Sym2.lean |
2 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-65106 18 hours ago |
82-49156 82 days ago |
0-1891 31 minutes |
| 39637 |
mcdoll author:mcdoll |
feat(Topology/Algebra): use `Is*Apply` for `ContinuousLinearMap` |
This is the first in many PRs that use the new `Is*Apply` classes instead of structure specific `foo_apply` lemmas.
The main bulk of the PR is in Mathlib/Topology/Algebra/Module/ContinuousLinearMap/Basic.lean, everything else is just fixing errors.
For each `foo` in `zero`, `one`, `add`, `sub`, `neg`, smul` we do the following:
- add an instance `IsFooApply`
- rename `coe_foo` to `toLinearMap_foo`
- depreprecate `coe_foo`, `coe_foo'`, and `foo_apply`
We are rather conservative when it comes to the instances, in future PRs this will be used more.
---
Note to maintainers: please don't put multiple PRs regarding `Is*Apply` on the queue, they will most likely create merge conflicts.
[](https://gitpod.io/from-referrer/)
|
t-topology |
310/305 |
Archive/Sensitivity.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Homology.lean,Mathlib/Analysis/Analytic/Binomial.lean,Mathlib/Analysis/Analytic/IteratedFDeriv.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/CStarAlgebra/Multiplier.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/Darboux.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/CompMul.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/FDeriv/Norm.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Calculus/FormalMultilinearSeries.lean,Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Calculus/VectorField.lean,Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/Analysis/Complex/Harmonic/Analytic.lean,Mathlib/Analysis/Convex/Birkhoff.lean,Mathlib/Analysis/Convex/DoublyStochasticMatrix.lean,Mathlib/Analysis/Convex/Exposed.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/Fourier/FourierTransform.lean,Mathlib/Analysis/Fourier/FourierTransformDeriv.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/ConformalLinearMap.lean,Mathlib/Analysis/InnerProductSpace/Dual.lean,Mathlib/Analysis/InnerProductSpace/LinearMap.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/InnerProductSpace/Projection/Basic.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Analysis/InnerProductSpace/Rayleigh.lean,Mathlib/Analysis/InnerProductSpace/Reproducing.lean,Mathlib/Analysis/InnerProductSpace/StarOrder.lean,Mathlib/Analysis/InnerProductSpace/Symmetric.lean,Mathlib/Analysis/LocallyConvex/Separation.lean,Mathlib/Analysis/Normed/Group/SeparationQuotient.lean,Mathlib/Analysis/Normed/Module/Bases.lean,Mathlib/Analysis/Normed/Module/Multilinear/Basic.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/InjectiveSeminorm.lean,Mathlib/Analysis/Normed/Operator/Bilinear.lean,Mathlib/Analysis/Normed/Operator/Compact/Basic.lean,Mathlib/Analysis/Normed/Operator/ContinuousAlgEquiv.lean,Mathlib/Analysis/SpecialFunctions/Exponential.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Geometry/Euclidean/Volume/Measure.lean,Mathlib/Geometry/Manifold/IntegralCurve/Basic.lean,Mathlib/Geometry/Manifold/IntegralCurve/Transform.lean,Mathlib/Geometry/Manifold/VectorField/LieBracket.lean,Mathlib/LinearAlgebra/Eigenspace/ContinuousLinearMap.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,Mathlib/MeasureTheory/Function/JacobianOneDim.lean,Mathlib/MeasureTheory/Group/Prod.lean,Mathlib/MeasureTheory/Integral/Bochner/L1.lean,Mathlib/MeasureTheory/Integral/FinMeasAdditive.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Measure/Haar/DistribChar.lean,Mathlib/MeasureTheory/Measure/Haar/MulEquivHaarChar.lean,Mathlib/MeasureTheory/Measure/Typeclasses/Finite.lean,Mathlib/MeasureTheory/VectorMeasure/Decomposition/Hahn.lean,Mathlib/MeasureTheory/VectorMeasure/Decomposition/Jordan.lean,Mathlib/NumberTheory/Modular.lean,Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean,Mathlib/NumberTheory/ModularForms/JacobiTheta/TwoVariable.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/SiegelsLemma.lean,Mathlib/Probability/Distributions/Gaussian/Basic.lean,Mathlib/Probability/Distributions/Gaussian/Fernique.lean,Mathlib/Probability/Distributions/Uniform.lean,Mathlib/Topology/Algebra/Module/ContinuousLinearMap/Basic.lean,Mathlib/Topology/Algebra/Module/FiniteDimensionBilinear.lean,Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean,scripts/nolints_prime_decls.txt |
84 |
6 |
['github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'mcdoll'] |
nobody |
0-61443 17 hours ago |
0-61482 17 hours ago |
1-24077 1 day |
| 28685 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): prove the minimal-degree version of the Erdős-Stone theorem |
Proves the minimal degree-version of the Erdős-Stone theorem:
If `G` has a minimal degree of at least `(1 - 1 / r + o(1)) * card V`, then `G` contains a copy of a `completeEquipartiteGraph` in `r + 1` parts each of size `t`.
The double-counting construction from the proof is available in `namespace ErdosStone`.
---
- [x] depends on: #25843
- [x] depends on: #27597
- [x] depends on: #27599
- [x] depends on: #28443
- [x] depends on: #28445
- [x] depends on: #28446
- [x] depends on: #28447
This is the first of several pull requests towards the full Erdős-Stone(-Simonovits) theorem, hence the name of the file.
[](https://gitpod.io/from-referrer/) |
t-combinatorics
maintainer-merge
|
329/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/ErdosStoneSimonovits.lean |
2 |
19 |
['YaelDillies', 'b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'mitchell-horner', 'robin-carlier'] |
nobody |
0-61167 16 hours ago |
21-61304 21 days ago |
81-70041 81 days |
| 38324 |
BryceT233 author:BryceT233 |
chore(RingTheory/AdicCompletion): make `AdicCompletion.map` linear on linear maps |
This PR upgrades `AdicCompletion.map` to be an R-linear map on the space of linear maps `M →ₗ[R] N`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
38/12 |
Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/Functoriality.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
0-61165 16 hours ago |
31-63547 31 days ago |
34-46248 34 days |
| 39436 |
dtumad author:dtumad |
chore: Add `seqLeft` and `seqRight` unfolding to monad_norm simp set |
This PR adds `seqLeft_eq_bind` and `seqRight_eq_bind` to `monad_norm`, so that `<*` and `*>` get unfolded in the same way as `<*>` already does when using the `simp` set.
---
[](https://gitpod.io/from-referrer/)
|
t-meta
new-contributor
|
1/1 |
Mathlib/Tactic/Attr/Core.lean |
1 |
2 |
['github-actions'] |
dwrensha assignee:dwrensha |
0-60708 16 hours ago |
9-73911 9 days ago |
9-73906 9 days |
| 38534 |
AlexeyMilovanov author:AlexeyMilovanov |
refactor(Computability): bundle PFun into a structure with FunLike instance |
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)
### Core Architectural Changes
* **Structure Transition:** `PFun` is now a structure with a single field `toFun : α → Part β`. Raw lambdas are now explicitly packed using `PFun.mk` or `PFun.lift`.
* **API Alignment:** Added the `FunLike (α →. β) α (Part β)` instance and `initialize_simps_projections`. Replaced direct `funext` usage with `DFunLike.ext`. Added comprehensive `@[simp]` lemmas for the structure (`mk_apply`, `coe_mk`, `toFun_eq_coe`, `lift_apply`).
* **New Helpers:** Introduced `PFun.const` and `PFun.empty` to reduce boilerplate. Updated the `Inhabited` instance to use `PFun.empty` and added the `default_eq_empty` simp lemma.
* **Renaming:** Renamed `Nat.Partrec.some` to `Nat.Partrec.id` (as it now represents `PFun.id ℕ`), and `const_part_some` to `const_some` for consistency.
### API & Breaking Changes
* **Loss of Defeq:** `PFun` is no longer definitionally equal to a raw function. Basic lemmas (like `PFun.res_univ`) now require explicit extensionality (`ext x y; rfl`).
* **`prodLift_fst_comp_snd_comp`:** Rewrote the LHS using explicit `PFun.mk` wrappers. This resolves a `simpNF` linter failure caused by the new `comp_lift` simp lemma.
* **Return Type Changes:** Several core computability definitions (`Nat.Partrec.of_eq_tot`, `StateTransition.eval`) now strictly return or pattern-match on the new structure, breaking implicit coercions.
### Downstream Impact
The refactor heavily impacts Computability Theory and Category Theory (`Category/PartialFun.lean`). The strict structure boundary breaks definitional equality, meaning tactics like `simp` and `grind` can no longer "see through" the function automatically.
As a result, several proofs (e.g., `fix_aux`, `ppred`, `mem_eval`, and `unitIso`) grew in size, requiring explicit `ext` + `simp` breakdowns.
### Affected Files
* **Core:** `Mathlib/Data/PFun.lean`
* **Computability:** `Partrec`, `PartrecBasis`, `PartrecCode`, `RE`, `RecursiveIn`, `Ackermann`, `Halting`, `StateTransition`, `TuringDegree`, `TuringMachine/Config` *(Successfully removed the `set_option linter.flexible false` hack)*
* **Category Theory:** `Category/PartialFun.lean` *(Successfully removed the `respectTransparency false` hack)*
* **Other:** `Data/Finset/PImage.lean`, `NumberTheory/Dioph.lean`
### 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
awaiting-author
|
1126/752 |
Mathlib/CategoryTheory/Category/PartialFun.lean,Mathlib/Computability/Ackermann.lean,Mathlib/Computability/Halting.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 |
14 |
8 |
['AlexeyMilovanov', 'dagurtomas', 'github-actions', 'j-loreaux', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
0-60565 16 hours ago |
11-3364 11 days ago |
8-27743 8 days |
| 30109 |
scholzhannah author:scholzhannah |
feat: the subcomplexes of a (relative classical) CW complex form a completely distributive lattice |
In this PR we prove that the space of subcomplexes `Subcomplex C` of a (relative classical) CW complex `C` is a `CompletelyDistribLattice`.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
304/1 |
Mathlib/Topology/CWComplex/Classical/Subcomplex.lean |
1 |
26 |
['ADedecker', 'github-actions', 'j-loreaux', 'scholzhannah'] |
alreadydone assignee:alreadydone |
0-59554 16 hours ago |
31-19532 31 days ago |
38-2219 38 days |
| 33640 |
JovanGerb author:JovanGerb |
feat: tool for finding duplicate declarations |
This PR defines a tool for finding duplicate declarations automatically. This can be used to help fix this technical debt.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
201/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/DuplicateDecls.lean,MathlibTest/Tactic/DuplicateDecls.lean,MathlibTest/Tactic/DuplicateDeclsAux.lean |
5 |
1 |
['github-actions'] |
dwrensha assignee:dwrensha |
0-59553 16 hours ago |
1-20603 1 day ago |
1-20681 1 day |
| 35610 |
IvanRenison author:IvanRenison |
feat(Data/Fin): add several lemmas about subtraction of `Fin.{castLT, castAdd, castSucc, castPred}` |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
66/0 |
Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Fin/SuccPred.lean |
2 |
13 |
['IvanRenison', 'chrisflav', 'github-actions', 'robin-carlier', 'wwylele'] |
Vierkantor assignee:Vierkantor |
0-59552 16 hours ago |
23-71197 23 days ago |
89-18300 89 days |
| 37784 |
SnirBroshi author:SnirBroshi |
feat(Order/ConditionallyCompleteLattice/Basic): `ConditionallyCompleteLinearOrderBot (WithBot α)` |
---
[](https://gitpod.io/from-referrer/)
|
t-order |
29/0 |
Mathlib/Order/ConditionallyCompleteLattice/Basic.lean |
1 |
1 |
['github-actions'] |
YaelDillies assignee:YaelDillies |
0-59550 16 hours ago |
47-56831 47 days ago |
47-56826 47 days |
| 37870 |
Jun2M author:Jun2M |
feat(Combinatorics/Graph): `Simple` typeclass for `Graph` |
This PR introduces two type classes on `Graph`: `Loopless` and `Simple`.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
93/0 |
Mathlib.lean,Mathlib/Combinatorics/Graph/Simple.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
YaelDillies assignee:YaelDillies |
0-59549 16 hours ago |
24-58077 24 days ago |
44-6105 44 days |
| 38142 |
SnirBroshi author:SnirBroshi |
feat(Order/SuccPred/CompleteLinearOrder): generalize `csSup_mem_of_not_isSuccLimit` |
Given `s.Nonempty` and `BddAbove s` we can conclude `sSup s ∈ s` using either:
- `csSup_mem_of_not_isSuccPrelimit`, given `ConditionallyCompleteLinearOrder` and `¬IsSuccPrelimit (sSup s)`
- `csSup_mem_of_not_isSuccLimit`, given `ConditionallyCompleteLinearOrderBot` and `¬IsSuccLimit (sSup s)`
We generalize both to a theorem that requires `ConditionallyCompleteLinearOrder` and `¬IsSuccLimit (sSup s)`.
This creates 8 theorems that require `¬IsSuccPrelimit` but are now easily proved with the `¬IsSuccLimit` theorems, we replace `csSup_mem_of_not_isSuccPrelimit`/`exists_eq_ciSup_of_not_isSuccPrelimit` with their primed `ConditionallyCompleteLinearOrderBot` theorems, and deprecates the other 6.
Tags a random `to_dual` (in `ConditionallyCompleteLattice/Basic.lean`) to let us `to_dual`ize the new lemmas.
---
~~Should we also deprecate the 8 theorems that require `¬IsSuccPrelimit` and now use `mt`?~~
[](https://gitpod.io/from-referrer/)
|
t-order |
55/42 |
Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/SuccPred/CompleteLinearOrder.lean,Mathlib/SetTheory/Cardinal/Order.lean |
3 |
9 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
bryangingechen assignee:bryangingechen |
0-59548 16 hours ago |
23-54774 23 days ago |
38-53175 38 days |
| 38214 |
emlis42 author:emlis42 |
feat(Algebra/ContinuedFractions): add Euler's continued fraction |
This PR formalizes Euler’s continued fractions by providing `Euler` which construct one by giving head term and coefficients with some basic property.
We also introduce a transformation `GenContFract.toEuler` that maps a generalized continued fraction `g : GenContFract K` to an equivalent Euler-form continued fraction. |
new-contributor
t-algebra
label:t-algebra$ |
262/0 |
Mathlib.lean,Mathlib/Algebra/ContinuedFractions/Euler.lean |
2 |
15 |
['github-actions', 'mathlib-bors', 'wwylele'] |
alreadydone assignee:alreadydone |
0-59547 16 hours ago |
32-1282 32 days ago |
32-5029 32 days |
| 39256 |
Sfgangloff author:Sfgangloff |
feat(SymbolicDynamics): add monotonicity lemma for LanguageOn |
In Symbolic dynamics.
Proof that the language of a set of configurations is monotone with respect to inclusion of configuration sets:
X ⊆ Y → LanguageOn X U ⊆ LanguageOn Y U
The proof is a direct unfolding of definitions: a pattern in the language of X comes from restricting some configuration x ∈ X, and inclusion X ⊆ Y allows the same witness to be used for Y.
Related to issue #39252 |
t-dynamics
new-contributor
|
9/1 |
Mathlib/Dynamics/SymbolicDynamics/Basic.lean |
1 |
3 |
['github-actions'] |
ADedecker assignee:ADedecker |
0-59546 16 hours ago |
13-12396 13 days ago |
13-12391 13 days |
| 39799 |
NoahW314 author:NoahW314 |
chore(RingTheory/Ideal/Operations): deprecate duplicate theorem `Ideal.span_mul_span'` |
`Ideal.span_mul_span'` is identical to `Ideal.span_mul_span`.
---
[](https://gitpod.io/from-referrer/)
At one point, `Ideal.span_mul_span` and `Ideal.span_mul_span'` were distinct, but `Ideal.span_mul_span` was changed in #22151 to be identical to `Ideal.span_mul_span'`. |
t-ring-theory |
6/7 |
Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean,Mathlib/RingTheory/Ideal/Norm/RelNorm.lean,Mathlib/RingTheory/Ideal/Operations.lean,scripts/nolints_prime_decls.txt |
4 |
1 |
['github-actions'] |
nobody |
0-58669 16 hours ago |
0-58938 16 hours ago |
0-58933 16 hours |
| 39063 |
khwilson author:khwilson |
feat(Topology/Algebra/Module/LocallyConvex): a very nice basis of locally convex spaces |
In proving facts about locally convex spaces, you often work with a basis of the neighborhoods of 0 that are open, symmetric, convex, antitone, and have the property that `V (n + 1) + V (n + 1) ⊆ V n` and `closure (V (n + 1)) ⊆ V n`.
These lemmas construct such a basis.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
137/30 |
Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Topology/Algebra/Group/Pointwise.lean,Mathlib/Topology/Algebra/Module/LocallyConvex.lean |
3 |
10 |
['github-actions', 'j-loreaux', 'khwilson'] |
j-loreaux assignee:j-loreaux |
0-58247 16 hours ago |
0-57117 15 hours ago |
11-52752 11 days |
| 39792 |
vihdzp author:vihdzp |
chore: deprecate `Ordinal.IsAcc` and `Ordinal.IsClosedBelow` |
These predicates were introduced in #16710 as preliminaries for a development of club sets. Those have [since been defined](https://leanprover-community.github.io/mathlib4_docs/Mathlib/SetTheory/Cardinal/Cofinality/Club.html#IsClub) without them, so we deprecate them, and generalize the results on them to the setting of successor orders.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
64/37 |
Mathlib/SetTheory/Ordinal/Topology.lean,Mathlib/Topology/Order/SuccPred.lean |
2 |
2 |
['github-actions', 'mathlib-bors'] |
nobody |
0-54849 15 hours ago |
0-54912 15 hours ago |
0-75066 20 hours |
| 39802 |
vihdzp author:vihdzp |
feat: more theorems on `toBoolRing` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
23/0 |
Mathlib/Algebra/Ring/BooleanRing.lean |
1 |
1 |
['github-actions'] |
nobody |
0-54206 15 hours ago |
0-54288 15 hours ago |
0-54283 15 hours |
| 39634 |
SnirBroshi author:SnirBroshi |
feat(LinearAlgebra/Matrix/Nondegenerate): more API and generalize to non-domains |
- Syntactically generalize the bilinear form identities to non-square matrices
- Prove iff and transpose theorems for `SeparatingLeft`/`SeparatingRight`/`Nondegenerate`
- Prove `M *ᵥ v = 0 → v = 0` and `v ᵥ* M = 0 → v = 0` given `Nondegenerate`
(extracted from the existing `eq_zero_of_*_eq_zero`)
- Generalize `M.det ≠ 0 → M.Nondegenerate` to `M.det ∈ R⁰ → M.Nondegenerate` (over any `CommRing`)
- Add `M *ᵥ v = 0 → v = 0` and `v ᵥ* M = 0 → v = 0` theorems given `M.det ∈ R⁰`
- Allow `NonUnitalNonAssocSemiring`s in the `def`s
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
130/44 |
Mathlib/Data/Matrix/Mul.lean,Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean,Mathlib/LinearAlgebra/Matrix/ToLinearEquiv.lean |
3 |
9 |
['SnirBroshi', 'github-actions', 'themathqueen'] |
nobody |
0-53901 14 hours ago |
0-53752 14 hours ago |
4-65964 4 days |
| 39410 |
RaggedR author:RaggedR |
feat(RingTheory/HopfAlgebra): Hopf algebra structure on polynomials (𝔾ₐ) |
This is the beginning of a formalization of the first half of my masters thesis (https://arxiv.org/abs/0907.3950).
In particular we look at the ring of polynomials in a single variable with the usual multiplication and coproduct given by: Δ(X) = X ⊗ 1 + 1 ⊗ X. The counit is evaluation at zero, and the antipode is S(x) = -x.
The mathematics itself comes from my masters thesis (and is well known). This is a first step towards an implementation of the umbral calculus of Gian-Carlo Rota and then its generalization to Symmetric Functions (which I believe is original).
---
[](https://gitpod.io/from-referrer/)
---
LLM tools were used to assist with Lean formalization. The mathematical content is the author's own work. |
t-ring-theory
new-contributor
LLM-generated
awaiting-author
|
256/9 |
Mathlib.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/RingTheory/HopfAlgebra/Polynomial.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/IncludeLeftSubRight.lean |
5 |
20 |
['RaggedR', 'github-actions', 'mathlib-bors', 'themathqueen', 'wwylele'] |
nobody |
0-53278 14 hours ago |
3-83143 3 days ago |
6-19410 6 days |
| 38126 |
JovanGerb author:JovanGerb |
feat: overlapping instances linter |
This PR implements the overlapping instances linter, with better performance than the previous attempt.
The overlapping instances linter warns on data-carrying overlaps between instances in the local context of a declaration, as well as on redundant instances of `Prop` classes (i.e. those which can be synthesized from another instance in the context).
An annoyance is the need for `withSetBoolOptionIn`. This is a private declaration in the `unusedInstancesInType` linter, with a link to leanprover/lean4#13133, which has been merged. When that commit lands in mathlib, we should move to `withSetOptionIn`.
See #35095 and #33677 for previous iterations of this linter.
See #14731 for an old attempt at a weaker form of this linter.
Co-authored-by: @thorimur
---
- [x] depends on: #38151
- [x] depends on: #38150
- [ ] depends on: #39796
[](https://gitpod.io/from-referrer/)
|
t-linter
maintainer-merge
blocked-by-other-PR
|
785/53 |
Mathlib.lean,Mathlib/Algebra/Category/Ring/FilteredColimits.lean,Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/Homology/HomotopyFiber.lean,Mathlib/Algebra/Module/DedekindDomain.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Algebra/Order/Invertible.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Star/StarRingHom.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/Convex/StdSimplex.lean,Mathlib/Analysis/Fourier/FiniteAbelian/Orthogonality.lean,Mathlib/Analysis/Normed/Field/Krasner.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/ConjSqrt.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/CategoryTheory/Localization/Predicate.lean,Mathlib/CategoryTheory/Monoidal/Closed/Cartesian.lean,Mathlib/CategoryTheory/MorphismProperty/OverAdjunction.lean,Mathlib/CategoryTheory/Triangulated/LocalizingSubcategory.lean,Mathlib/Control/Applicative.lean,Mathlib/Control/Functor.lean,Mathlib/FieldTheory/Normal/Defs.lean,Mathlib/GroupTheory/OreLocalization/Basic.lean,Mathlib/Init.lean,Mathlib/Lean/Elab/InfoTree.lean,Mathlib/LinearAlgebra/BilinearForm/Orthogonal.lean,Mathlib/LinearAlgebra/Eigenspace/Matrix.lean,Mathlib/LinearAlgebra/RootSystem/Finite/G2.lean,Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Lemmas.lean,Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean,Mathlib/Logic/Basic.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL1.lean,Mathlib/MeasureTheory/Measure/Haar/Unique.lean,Mathlib/NumberTheory/ClassNumber/Finite.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Embeddings.lean,Mathlib/NumberTheory/RamificationInertia/Galois.lean,Mathlib/RingTheory/ChainOfDivisors.lean,Mathlib/RingTheory/ClassGroup.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/DedekindDomain/Dvr.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/DedekindDomain/Instances.lean,Mathlib/RingTheory/DedekindDomain/IntegralClosure.lean,Mathlib/RingTheory/DedekindDomain/LinearDisjoint.lean,Mathlib/RingTheory/DiscreteValuationRing/TFAE.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/HahnSeries/Lex.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean,Mathlib/RingTheory/Ideal/Norm/RelNorm.lean,Mathlib/RingTheory/LocalRing/ResidueField/Instances.lean,Mathlib/RingTheory/NormalClosure.lean,Mathlib/RingTheory/Valuation/RankOne.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,Mathlib/Tactic/Linter/OverlappingInstances.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/Linter/TextBased/UnicodeLinter.lean,Mathlib/Tactic/Linter/UnusedInstancesInType.lean,Mathlib/Tactic/NormNum/Ineq.lean,Mathlib/Topology/Algebra/MulAction.lean,Mathlib/Topology/Algebra/Nonarchimedean/Completion.lean,Mathlib/Topology/Connected/PathConnected.lean,MathlibTest/OverlappingInstances.lean,MathlibTest/Subsingleton.lean,MathlibTest/Variable.lean,MathlibTest/WhitespaceLinter.lean,MathlibTest/congr.lean,MathlibTest/norm_num.lean |
70 |
110 |
['JovanGerb', 'github-actions', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'thorimur'] |
thorimur assignee:thorimur |
0-51091 14 hours ago |
0-51092 14 hours ago |
21-86171 21 days |
| 39774 |
Hagb author:Hagb |
feat(Order/WellFounded): `WellFounded` on subtype iff the relation restricted on the subtype is `WellFounded` |
Equivalence between `WellFounded` on a subtype and `WellFounded` on the underlying type with the relation restricted on the subtype.
---
(It was a lemma for #39781, which has been closed since there would be a better proof.)
[](https://gitpod.io/from-referrer/)
|
t-order |
13/0 |
Mathlib/Order/WellFounded.lean |
1 |
3 |
['Hagb', 'SnirBroshi', 'github-actions'] |
nobody |
0-45160 12 hours ago |
1-432 1 day ago |
1-427 1 day |
| 39779 |
Hagb author:Hagb |
feat(Order/WellFoundedSet): a set is finite if both a linear order and its opposite order are well founded on it |
It is a corollary of #39545 on `WellFoundedOn`.
---
It was a lemmas for #39781, which has been closed since there would be a better proof.
- [ ] depends on: #39545
- [ ] depends on: #39774
[](https://gitpod.io/from-referrer/)
|
t-order
blocked-by-other-PR
|
78/0 |
Mathlib/Order/OrderIsoNat.lean,Mathlib/Order/WellFounded.lean,Mathlib/Order/WellFoundedSet.lean |
3 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
0-45077 12 hours ago |
unknown |
0-0 0 seconds |
| 39788 |
Hagb author:Hagb |
feat(Data/Finsupp/MonomialOrder): monomial order is well-founded if the index type is finite |
Given `m : MonomialOrder σ` and `Finite σ`, `m.syn` is well-founded under the definition in #39214 (which removes the requirement of well-foundedness from `MonomialOrder`).
---
- [ ] depends on: #39787
- [ ] depends on: #39214
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR |
42/13 |
Mathlib/Data/Finsupp/MonomialOrder.lean,Mathlib/Data/Finsupp/MonomialOrder/DegLex.lean,Mathlib/Order/WellQuasiOrder.lean,Mathlib/RingTheory/MvPolynomial/Groebner.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder/DegLex.lean |
5 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
0-43872 12 hours ago |
0-75232 20 hours ago |
0-1704 28 minutes |
| 39214 |
Hagb author:Hagb |
refactor(Data/Finsupp/MonomialOrder): remove `.wf` (well foundedness) field from `MonomialOrder` |
Many properties still hold without the well-foundedness.
Although Gröbner basis theory requires the monomial order to be well founded for the termination of the division algorithm (formalized in `MonomialOrder.div`), many properties that don't relay on the division or remainder still hold without the well-foundedness.
Even the division algorithm can terminate in some cases where the monomial order isn't well founded. For example, if the divisors set is finite, then the algorithm can terminate w.r.t. `MonomialOrder.lex (σ := Nat)` even though it isn't well founded. Such cases cannot be directly stated if the formalization of monomial order requires well-foundedness.
Deletions:
- MonomialOrder.wf
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
21/13 |
Mathlib/Data/Finsupp/MonomialOrder.lean,Mathlib/Data/Finsupp/MonomialOrder/DegLex.lean,Mathlib/RingTheory/MvPolynomial/Groebner.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder/DegLex.lean |
4 |
5 |
['Hagb', 'github-actions', 'vihdzp'] |
nobody |
0-43747 12 hours ago |
14-1880 14 days ago |
14-1875 14 days |
| 39797 |
vihdzp author:vihdzp |
feat: `rangeSplitting f` is strictly monotone when `f` is monotone |
---
[](https://gitpod.io/from-referrer/)
|
t-order
t-data
easy
|
5/0 |
Mathlib/Data/Set/Image.lean |
1 |
1 |
['Hagb', 'github-actions'] |
nobody |
0-42683 11 hours ago |
0-59391 16 hours ago |
0-59386 16 hours |
| 39307 |
FordUniver author:FordUniver |
feat(Combinatorics/SimpleGraph/Copy): introduce `UnlabeledCopy` carrier subtype |
Adds `abbrev UnlabeledCopy A B := {B' : B.Subgraph // Nonempty (A ≃g B'.coe)}` and uses it to replace the previous inline filter-set body of `copyCount G H`. Drops the now unused legacy Finset-image bridge `copyCount_eq_card_image_copyToSubgraph`. Adds `uniqueUnlabeledCopyBot` instance so `copyCount_bot` is a one-liner via `Fintype.card_unique`.
---
**Step 1/5 of the `Copy` / `InducedCopy` refactor-feat stack.**
This PR isolates the `UnlabeledCopy` type introduction and the count's type-form redefinition from the larger rename/convention work in the rest of the stack. Note that resolving the current clash in naming (`Copy` and `UnlabeledCopy` vs `labelledCopyCount` and `copyCount`) is part of #38745.
|
t-combinatorics |
32/30 |
Mathlib/Combinatorics/SimpleGraph/Copy.lean |
1 |
7 |
['FordUniver', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts', 'mitchell-horner'] |
nobody |
0-39254 10 hours ago |
0-39290 10 hours ago |
10-48424 10 days |
| 38745 |
FordUniver author:FordUniver |
refactor(Combinatorics/SimpleGraph/Copy): rename copy counts, align variable names, clean up docstring |
Renames `labelledCopyCount` to `copyCount` and reassigns the previous `copyCount` to `unlabeledCopyCount`. Unifies graph-variable letters to the standard `G`uest / `H`ost convention. Restructures and cleans up the module docstring.
---
**Step 2/5 of the `Copy` / `InducedCopy` refactor-feat stack.**
Originally motivated by [a adiscussion](https://github.com/leanprover-community/mathlib4/pull/38631#discussion_r3163732684) in #38631 by @SnirBroshi that the British spelling of `labelled` is deprecated; see also discussion on Zulip ([#general > SimpleGraph.Copy is labeled but copyCount is not](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/SimpleGraph.2ECopy.20is.20labeled.20but.20copyCount.20is.20not)). The addition of the new `Sub` type was separated into #39307 as a requirement to keep the diff somewhat readable.
On top of the Zulip discussion I also unified the argument naming to always follow the `G`uest / `H`ost convention. This highlighted a discrepancy where we write `Copy G H` but `copyCount H G`. I left this untouched since small-first-big-later seems to be the type and big-first-small-later the ops norm in mathlib. I am happy to align them if someone has a strong opinion either way.
I also adjusted a ton of docstrings since the rename was already touching them, so it seemed sensible to use this opportunity for cleanup. Open to suggestions for what should be done differently.
I also considered replacing `Bot`/`Top` with `EmptyGraph`/`CompleteGraph` in args and statement names (@SnirBroshi that was the now-closed #39303 ) because I thought that was established with #23838 but it seems [controversial](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/completeGraph.20vs.20.E2.8A.A4), so I have reverted it.
| notion | before | after |
|---|---|---|
| labelled copy / injective hom / monomorphism | `Copy A B` | `Copy G H` |
| count of labelled copies | `G.labelledCopyCount H` | `H.copyCount G` |
| count of unlabelled copies | `G.copyCount H` | `H.unlabeledCopyCount G` |
| killing operation | `G.killCopies H` | `H.killCopies G` |
| graph variables | mixed `A B C` / `α β γ` and `G H I` / `V W X` | uniform `G H I` / `V W X` (+ `G'`/`H'` on `V'`/`W'`) |
- [ ] depends on: #39307
Diff for the changes *just* in this PR over its predecessor: [link](https://github.com/FordUniver/mathlib4/compare/feat/copy-sub-abbrev...chore/copy-spelling) |
t-combinatorics
new-contributor
blocked-by-other-PR
|
234/241 |
Mathlib/Combinatorics/SimpleGraph/Copy.lean |
1 |
22 |
['FordUniver', 'SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mitchell-horner'] |
nobody |
0-38881 10 hours ago |
12-11176 12 days ago |
11-52734 11 days |
| 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`.
---
**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
|
245/247 |
Mathlib/Combinatorics/SimpleGraph/Copy.lean |
1 |
5 |
['github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-38880 10 hours ago |
12-28679 12 days ago |
0-76500 21 hours |
| 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.
---
**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
|
272/259 |
Mathlib/Combinatorics/SimpleGraph/Copy.lean |
1 |
8 |
['FordUniver', 'SnirBroshi', 'github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-38877 10 hours ago |
21-15936 21 days ago |
0-2006 33 minutes |
| 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`.
---
**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
|
635/344 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Copy.lean,Mathlib/Combinatorics/SimpleGraph/InducedCopy.lean,Mathlib/Combinatorics/SimpleGraph/LineGraph.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
5 |
42 |
['FordUniver', 'SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'plp127'] |
nobody |
0-38871 10 hours ago |
24-40238 24 days ago |
2-46521 2 days |
| 39288 |
FordUniver author:FordUniver |
feat(Combinatorics/SimpleGraph/Subgraph): add `Embedding.ofIsInduced` and `IsInduced.map` |
Three additions to the `SimpleGraph.Subgraph` API for induced subgraphs. `Embedding.ofIsInduced` is the canonical embedding of an induced subgraph into its ambient graph, paired with `toHom_ofIsInduced` and `ofIsInduced_apply` lemmas. This is the embedding counterpart of `Subgraph.hom`, which only produces a homomorphism because non-induced subgraphs do not reflect adjacency. `Subgraph.IsInduced.map` then records that the image of an induced subgraph under a graph embedding is induced, strengthened to `IsInduced.map_iff` for the iso case.
---
**Orthogonal pre-requisite of the `Copy` / `InducedCopy` refactor-feat stack.**
Extracted as a prerequisite from #38631 that is otherwise independent of the wider `Copy` / `InducedCopy` refactor-feat stack. |
t-combinatorics |
27/4 |
Mathlib/Combinatorics/SimpleGraph/Copy.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
2 |
16 |
['FordUniver', 'SnirBroshi', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
0-38864 10 hours ago |
0-38906 10 hours ago |
11-74817 11 days |
| 39571 |
FordUniver author:FordUniver |
feat(Combinatorics/SimpleGraph): canonical projection and representative between labeled and unlabeled copies |
Introduces canonical projection and noncomputable representative functions between labeled and unlabeled copies (and their embedding analogues) in `SimpleGraph`, in the spirit of `Quot.mk` / `Quot.out`. The pair gives a name to a construction that previously appeared as inlined anonymous-constructor and destructuring patterns; two pre-existing proofs in `Copy.lean` and `InducedCopy.lean` are tightened by routing through the new functions instead.
---
Split out from a downstream PR introducing `SimpleGraph.Aut` and the orbit-stabiliser identities for copies and embeddings, where the projection and representative primitives recur in fiber decompositions and product equivalences. Sits on top of the `Copy` / `InducedCopy` [stack](https://github.com/leanprover-community/mathlib4/pull/38631) and inherits the "large-import" tag from it.
- [ ] depends on: #38631
Diff for the changes *just* in this PR over its predecessor: [link](https://github.com/FordUniver/mathlib4/compare/feat/ind-copy-count...feat/copy-toUnlabeled-out) |
t-combinatorics
large-import
blocked-by-other-PR
|
644/326 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Copy.lean,Mathlib/Combinatorics/SimpleGraph/InducedCopy.lean,Mathlib/Combinatorics/SimpleGraph/LineGraph.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
5 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-38862 10 hours ago |
6-22472 6 days ago |
0-589 9 minutes |
| 39573 |
FordUniver author:FordUniver |
feat(Combinatorics/SimpleGraph/Automorphism): `Aut`, `autCount`, and orbit-stabiliser for copies and embeddings |
Introduces the type `Aut G := G ≃g G` of graph automorphisms and the corresponding count `autCount G`, then uses the orbit-stabiliser principle on both `Copy G H` and `Embedding G H` to prove `H.copyCount G = H.unlabeledCopyCount G * G.autCount` and `H.embeddingCount G = H.unlabeledEmbeddingCount G * G.autCount`. In both, the labeled copies decompose as a disjoint union of fibers indexed by the corresponding unlabelled copies, with each fiber a torsor under `Aut G`. The fiber-action machinery and the sigma decompositions are the substantive content; the two multiplicative identities are the corollaries.
---
The main achievement is to allow the user to freely convert between `{copy,embedding}Count` and `unlabeled{copy,embedding}Count` through `autCount`. Sits on top of the `Copy` / `InducedCopy` refactor-feat stack (final step #38631), plus a small prerequisite (#39571) extracting the standalone `Quot.mk` / `Quot.out`-style toolage between labeled and unlabeled copies.
- [ ] depends on: #39571
Diff for the changes *just* in this PR over its predecessor: [link](https://github.com/FordUniver/mathlib4/compare/feat/copy-toUnlabeled-out...feat/simplegraph-aut) |
t-combinatorics
large-import
blocked-by-other-PR
|
936/326 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Automorphism.lean,Mathlib/Combinatorics/SimpleGraph/Copy.lean,Mathlib/Combinatorics/SimpleGraph/InducedCopy.lean,Mathlib/Combinatorics/SimpleGraph/LineGraph.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
6 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-38858 10 hours ago |
6-20850 6 days ago |
0-1039 17 minutes |
| 39206 |
FordUniver author:FordUniver |
feat(Analysis/Calculus/AddTorsor/AffineMap): smoothness of AffineMap.lineMap |
Add `AffineMap.lineMap_contDiff_uncurry` (joint smoothness in all three arguments), `AffineMap.lineMap_contDiff` (smoothness in the parameter with fixed endpoints), and the composition family `ContDiff.lineMap`, `ContDiffOn.lineMap`, `ContDiffAt.lineMap`, `ContDiffWithinAt.lineMap`, mirroring the corresponding `Continuous` family in `Mathlib.Topology.Algebra.Affine`. The uncurried and `ContDiffWithinAt` forms are tagged `@[fun_prop]` so the rest are automatically derivable. Closes the TODO at `Mathlib.MeasureTheory.Integral.CurveIntegral.Poincare:333` where the proof now reduces to `fun_prop`.
---
Came up while formalizing the descent lemma for Lipschitz-smooth functions, where `Path.segment a b` being smooth on the unit interval is needed to apply FTC along the segment (#39524); `AffineMap.lineMap_contDiff` is the lemma directly used there. Two things I was genuinely not quite sure about:
1. Should the **three convenience variants** `ContDiffAt.lineMap`, `ContDiffOn.lineMap`, and `ContDiff.lineMap` be included? They are not strictly necessary but they exist for users wanting to write `h₁.lineMap h₂ hg` in dot notation by hand, and they mirror the convention of the `Continuous.lineMap` family.
2. Is `Mathlib.Analysis.Calculus.AddTorsor.AffineMap` the **right home**, and is adding `public import Mathlib.Analysis.Calculus.AddTorsor.AffineMap` to `Poincare.lean` to close the TODO reasonable? The placement mirrors the `Continuous.lineMap` family in `Mathlib.Topology.Algebra.Affine`, but hiding a `@[fun_prop]` in a file at the bottom of the hierarchy and needing to import it feels a bit off. |
t-analysis |
57/6 |
Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean,Mathlib/MeasureTheory/Integral/CurveIntegral/Poincare.lean |
2 |
6 |
['EtienneC30', 'FordUniver', 'github-actions'] |
EtienneC30 assignee:EtienneC30 |
0-37441 10 hours ago |
0-38012 10 hours ago |
1-37029 1 day |
| 39524 |
FordUniver author:FordUniver |
feat(MeasureTheory/Integral/CurveIntegral): integrability and FTC along a line segment |
Specialises curve integration to the line segment between two points: smoothness of the segment as a `C¹` curve, sufficient conditions for a continuous one-form to be integrable along a segment, and a fundamental-theorem-of-calculus identity for the segment integral of a Fréchet derivative. Adds a new `Segment` section to `AffineMap.lean` that includes some previously existing results.
---
Used by a [planned descent-lemma PR for Lipschitz-smooth functions](https://github.com/FordUniver/mathlib4/blob/5ebc6dae88deb11410d21c0a2628f53c092bb536/Mathlib/Analysis/Calculus/LipschitzSmooth/FDeriv.lean#L133), which needs an FTC along an affine line to integrate a directional derivative over a segment. Three points to highlight:
1. I thought about renaming `curveIntegrable_segment` to `curveIntegrable_segment_iff` for consistency with the file's other `_iff`-suffixed biconditionals, but the new `_const` takes a different name slot, so the rename would be an unnecessary public API break.
2. `Path.segment_contDiffOn` is really a fact about `Path.segment` rather than about curve integration, so it would more naturally live in `Convex/PathConnected.lean`. Unfortunately that target is blocked by a build cycle (`Calculus.AddTorsor.AffineMap` already transitively imports `Convex.PathConnected` via `Convex.Topology`/`Convex.StdSimplex`), so it sits with its consumer here.
3. The new `Continuous{,On}.curveIntegrable_segment` lemmas are the obvious `@[fun_prop]` candidates, but `CurveIntegrable` isn't a registered `fun_prop` concept yet; that registration is a small design call (identity/constant/composition choices, plus tagging the file's pre-existing producers) worth its own focused review and is deferred to a follow-up. `Path.segment_contDiffOn` carries the tag since `ContDiffOn` is already registered.
- [ ] depends on: #39206
Diff for the changes *just* in this PR over its predecessor: [link](https://github.com/FordUniver/mathlib4/compare/feat/lineMap-contDiff...feat/curveIntegral-segment-FTC) |
t-measure-probability
blocked-by-other-PR
|
108/19 |
Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean,Mathlib/MeasureTheory/Integral/CurveIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/CurveIntegral/Poincare.lean |
3 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
0-37204 10 hours ago |
7-30578 7 days ago |
0-2904 48 minutes |
| 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) where
/-- The type of bags in the tree. -/
W : Type
/-- The set of vertices in each bag. -/
𝓧 : W → Finset V
/-- The graph adjacency relation of bags. -/
T : SimpleGraph W
/-- T must be a tree. -/
isTree : IsTree T
/-- All vertices in G must appear in some bag. -/
vertexCover : ∀ v : V, ∃ w : W, v ∈ 𝓧 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 ∈ 𝓧 w ∧ v ∈ 𝓧 w
/-- For any vertex v in G, the set of bags that contain v is preconnected. -/
connectedBags : ∀ v : V, (T.induce ({w | v ∈ 𝓧 w})).Preconnected
```
AI Usage: Some proofs are written with the help of Claude Code, and everything has been manually reviewed.
---
- [ ] depends on: #38027
[](https://gitpod.io/from-referrer/)
|
new-contributor
blocked-by-other-PR
t-combinatorics
LLM-generated
|
467/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Star.lean,Mathlib/Combinatorics/SimpleGraph/TreeDecomp.lean |
3 |
6 |
['8e7', 'github-actions', 'mathlib-dependent-issues'] |
nobody |
0-35299 9 hours ago |
34-19373 34 days ago |
0-356 5 minutes |
| 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.
---
- [ ] depends on: #37939
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR |
252/120 |
Mathlib.lean,Mathlib/Data/Prod/Lex.lean,Mathlib/Order/Completion.lean,Mathlib/Topology/Order/Completion.lean,Mathlib/Topology/Sion.lean |
5 |
9 |
['AntoineChambert-Loir', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
0-35129 9 hours ago |
37-68167 37 days ago |
0-39 39 seconds |
| 39731 |
chrisflav author:chrisflav |
feat(CategoryTheory): local epimorphisms wrt. an object property |
Let `P` be an object property on a category `C`. We say that `f : X ⟶ Y` is a local epimorphism wrt. `P` if `f` cancels on the left for morphisms with codomain in `P`.
The motivating example is `C` the category of presheafs on some category with Grothendieck topology `J` and `P` the
property of being a sheaf for `J`. Then being a local epimorphism wrt. `P` is being an epimorphism after sheafification.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
large-import
|
134/0 |
Mathlib.lean,Mathlib/CategoryTheory/EssentialImage.lean,Mathlib/CategoryTheory/MorphismProperty/LocalEpi.lean |
3 |
3 |
['chrisflav', 'github-actions', 'joelriou'] |
robin-carlier assignee:robin-carlier |
0-33451 9 hours ago |
0-33451 9 hours ago |
2-58759 2 days |
| 39808 |
chenson2018 author:chenson2018 |
chore(Data): refactor proofs where `grind?` fails |
These are sources of technical debt as now reported in the [weekly linting report](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Weekly.20linting.20log/with/544658968). The idea is that a successful `grind` proof can fail to report the theorems it used via `grind?`, which means that if these proofs break across toolchains that it becomes significantly harder to repair.
Most of these are fixed by squeezing the call to `grind` and unsetting `linter.tacticAnalysis.verifyGrindOnly` so they no longer appear in the weekly report. Unfortunately, this can't be on by default for performance reasons, but I highly encourage using this linter when adding any `grind` proofs.
---
[](https://gitpod.io/from-referrer/)
|
t-data
tech debt
|
69/41 |
Mathlib/Data/Bool/Basic.lean,Mathlib/Data/Bool/Set.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/Data/Fin/Tuple/NatAntidiagonal.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Finset/Range.lean,Mathlib/Data/Finset/SMulAntidiagonal.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Chain.lean,Mathlib/Data/List/Count.lean,Mathlib/Data/List/Cycle.lean,Mathlib/Data/List/Induction.lean,Mathlib/Data/List/ReduceOption.lean,Mathlib/Data/List/Sigma.lean,Mathlib/Data/List/Sort.lean,Mathlib/Data/List/TakeDrop.lean,Mathlib/Data/List/Triplewise.lean,Mathlib/Data/Option/Basic.lean,Mathlib/Data/Set/Card.lean,Mathlib/Data/Set/Disjoint.lean,Mathlib/Data/Set/Function.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Data/Sum/Order.lean |
24 |
1 |
['github-actions'] |
nobody |
0-33088 9 hours ago |
0-46508 12 hours ago |
0-46503 12 hours |
| 38908 |
CBirkbeck author:CBirkbeck |
feat(NumberTheory/ModularForms): API lemmas for level-1 graded ring |
Adds API lemmas extracted from #38813 to keep that PR reviewable: `DirectSum.of_eq_of_eq`, `DirectSum.of_eq_sub_add_smul`, `ModularForm.cast_apply`, `ModularForm.mul_ne_zero`, `ModularForm.sub_smul_isCuspForm`. |
LLM-generated
merge-conflict
|
41/0 |
Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/NumberTheory/ModularForms/Basic.lean,Mathlib/NumberTheory/ModularForms/CuspFormSubmodule.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean |
5 |
3 |
['CBirkbeck', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
0-32797 9 hours ago |
unknown |
0-0 0 seconds |
| 39623 |
justus-springer author:justus-springer |
feat(Algebra/MvPolynomial/Basic): `coeff_C_of_ne_zero` and `coeff_add_single_C` |
These lemmas are multivariate analogs to `Polynomial.coeff_C_of_ne_zero`, `Polynomial.coeff_C_succ` and `PowerSeries.coeff_C_of_ne_zero` and `PowerSeries.coeff_succ_C`. They are useful for defining partial derivatives for multivariate power series, see PR #39626.
- [x] depends on: #39632
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
16/0 |
Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Basic.lean |
2 |
7 |
['Hagb', 'github-actions', 'justus-springer', 'mathlib-dependent-issues', 'wwylele'] |
nobody |
0-32560 9 hours ago |
0-34224 9 hours ago |
4-84518 4 days |
| 39806 |
Hagb author:Hagb |
chore(Order/WellFoundedSet): simplify `Set.wellFoundedOn_{iff,range}` |
Simplify their proofs with other existing theorems.
Following the suggestion by @SnirBroshi in the review of #39774.
---
- [ ] depends on: #39774
[](https://gitpod.io/from-referrer/)
|
t-order
blocked-by-other-PR
easy
|
17/20 |
Mathlib/Order/WellFounded.lean,Mathlib/Order/WellFoundedSet.lean |
2 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
0-30128 8 hours ago |
0-45818 12 hours ago |
0-2497 41 minutes |
| 39701 |
thothrde author:thothrde |
feat(Condensed/Solid): prove profiniteSolidification is iso at finite types (partial) |
Proves partial results toward the open TODO in `Mathlib/Condensed/Solid.lean`:
> TODO (hard): prove that `((profiniteSolid ℤ).obj S).IsSolid` for `S : Profinite`.
## New lemmas
### `CondensedMod.profiniteSolidCounit_isIso`
The counit `(profiniteSolidCounit R).app T` is an isomorphism for every `T : FintypeCat`.
**Proof:** `IsPointwiseRightKanExtension.isIso_hom` (using that `FintypeCat.toProfinite` is fully faithful) gives `IsIso (profiniteSolidCounit R)` as a natural transformation, and then `inferInstance` extracts the component-wise isomorphism.
### `CondensedMod.profiniteSolidification_comp_counit`
The solidification composed with the counit equals the identity at `FintypeCat` objects:
```
(profiniteSolidification R).app (FintypeCat.toProfinite.obj T) ≫ (profiniteSolidCounit R).app T = 𝟙 _
```
**Proof:** Direct from `liftOfIsRightKanExtension_fac_app`, since `profiniteSolidification` is defined as a `liftOfIsRightKanExtension`.
### `CondensedMod.profiniteSolidification_isIso_at_fintype`
The solidification map is an isomorphism at every `FintypeCat.toProfinite.obj T`.
**Proof:** Since solidification ≫ counit = id and counit is an isomorphism, `isIso_of_comp_hom_eq_id` gives that solidification = inv(counit), hence is also an isomorphism.
### `CondensedMod.profiniteSolid_isSolid_at_fintype`
**Partial result:** `((profiniteSolid R).obj S).IsSolid` holds when the test object is `FintypeCat.toProfinite.obj T`.
**Proof:** `profiniteSolidification_isIso_at_fintype` makes the solidification map an isomorphism in `CondensedMod R`; functoriality of `yoneda` then gives the isomorphism on hom-sets.
### `CondensedMod.profiniteSolid_obj_isSolid` (with `sorry`)
States the full result. The remaining step requires showing that:
1. Every `X : Profinite` is a cofiltered limit of finite discrete quotients (`X.asLimit` from `Mathlib.Topology.Category.Profinite.AsLimit`, now imported).
2. The solid module condition is preserved under such limits.
Point (2) follows from the adjunction `solidification ⊣ inclusionOfSolidModules`, which implies the inclusion preserves limits (being a right adjoint). **This adjunction has not yet been formalized in Mathlib**, and constitutes the remaining hard step.
## Open question
The `sorry` in `profiniteSolid_obj_isSolid` can be removed once the following is formalized:
```lean
lemma isSolid_of_isLimit {J : Type*} [SmallCategory J] {F : J ⥤ CondensedMod R}
(c : Cone F) (hc : IsLimit c) (h : ∀ j, (F.obj j).IsSolid) : c.pt.IsSolid
```
This requires the adjunction between the solidification functor and the inclusion of solid modules into condensed modules.
## Changes
- Added `import Mathlib.Topology.Category.Profinite.AsLimit` (needed for `X.asLimit`)
- Added 4 new lemmas + 1 theorem (with sorry) to `Mathlib/Condensed/Solid.lean`
- Replaced the old TODO comments with structured documentation
## Notes
This PR is a work in progress. The four new lemmas are fully proved (no sorry). The main theorem `profiniteSolid_obj_isSolid` contains one sorry with a detailed proof sketch in its docstring.
The leanprover-community CI will show one sorry warning, which is intentional and documented.
|
t-condensed
new-contributor
|
652/8 |
MathProject/P0_SolLeftCancel_Axiom.lean,MathProject/P1_Solid.lean,MathProject/P2_finFree_Solid.lean,MathProject/P4_Solid_Progress.lean,MathProject/PR_README.md,Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Condensed/Solid.lean |
7 |
2 |
['github-actions'] |
nobody |
0-29981 8 hours ago |
unknown |
0-0 0 seconds |
| 39810 |
RemyDegenne author:RemyDegenne |
feat(Probability/Decision): Bayes estimators |
This PR adds the concept of a Bayes estimator for an estimation problem: an estimator that attains the Bayes risk.
We can get such estimators by taking an argmin of an integral involving a posterior kernel, when a measurable version of that argmin exists.
Co-authored-by: Lorenzo Luccioli @LorenzoLuccioli
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
170/0 |
Mathlib.lean,Mathlib/Probability/Decision/BayesEstimator.lean |
2 |
1 |
['github-actions'] |
nobody |
0-28969 8 hours ago |
0-33655 9 hours ago |
0-33650 9 hours |
| 39812 |
RemyDegenne author:RemyDegenne |
feat(Probability/Decision): risk in countable spaces |
This PR adds lemmas to write the average and Bayes risk with sums instead of integrals in countable spaces.
Co-authored-by: Lorenzo Luccioli @LorenzoLuccioli
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
93/0 |
Mathlib.lean,Mathlib/Probability/Decision/Risk/Countable.lean |
2 |
1 |
['github-actions'] |
nobody |
0-28960 8 hours ago |
0-29249 8 hours ago |
0-29244 8 hours |
| 35287 |
arnoudvanderleer author:arnoudvanderleer |
feat(AlgebraicTopology/SimplicialSet): define isomorphisms in simplicial sets, and the coherent isomorphism simplicial set |
show that any edge in a simplicial set, that is the image of the forward edge of the coherent isomorphism under a simplicial set morphism, is an isomorphism.
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
new-contributor
infinity-cosmos
|
362/3 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialSet/CoherentIso.lean,Mathlib/AlgebraicTopology/SimplicialSet/CompStruct.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveCodiscrete.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/CategoryTheory/CodiscreteCategory.lean |
6 |
124 |
['arnoudvanderleer', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib-merge-conflicts', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
0-28925 8 hours ago |
0-28925 8 hours ago |
31-29852 31 days |
| 30230 |
CoolRmal author:CoolRmal |
feat(MeasureTheory): the integral of a vector-valued function against a vector measure is additive |
Add some basic lemmas about the integral of a vector measure. This PR specifically focuses on the additivity of the integral.
Created with the help of Codex.
---
- [x] depends on: #28499
- [x] depends on: #39103
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
delegated
|
371/25 |
Mathlib/MeasureTheory/Integral/FinMeasAdditive.lean,Mathlib/MeasureTheory/Integral/SetToL1.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/VectorMeasure/Basic.lean,Mathlib/MeasureTheory/VectorMeasure/Integral.lean |
5 |
38 |
['CoolRmal', 'EtienneC30', 'github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'sgouezel', 'yoh-tanimoto'] |
EtienneC30 assignee:EtienneC30 |
0-27349 7 hours ago |
0-28456 7 hours ago |
7-68249 7 days |
| 39780 |
riccardobrasca author:riccardobrasca |
chore: test fast_instance% everywhere |
---
[](https://gitpod.io/from-referrer/)
|
WIP |
1112/509 |
Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/Algebra/RestrictScalars.lean,Mathlib/Algebra/Category/CoalgCat/Monoidal.lean,Mathlib/Algebra/Category/Grp/Preadditive.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Symmetric.lean,Mathlib/Algebra/Category/ModuleCat/Semi.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/Group/TypeTags/Finite.lean,Mathlib/Algebra/Group/ULift.lean,Mathlib/Algebra/GroupWithZero/ULift.lean,Mathlib/Algebra/Homology/Additive.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Linear.lean,Mathlib/Algebra/Homology/DerivedCategory/HomologySequence.lean,Mathlib/Algebra/Homology/HomotopyCategory/ShiftSequence.lean,Mathlib/Algebra/Homology/Monoidal.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Lie/Derivation/Basic.lean,Mathlib/Algebra/Lie/Free.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Order/Group/Action/Flag.lean,Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Algebra/Order/Monoid/Units.lean,Mathlib/Algebra/Order/UpperLower.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/Algebra/Star/Unitary.lean,Mathlib/Algebra/Symmetrized.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean,Mathlib/AlgebraicTopology/SimplicialComplex/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplicesSubcomplex.lean,Mathlib/AlgebraicTopology/SimplicialSet/Simplices.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Filter.lean,Mathlib/Analysis/CStarAlgebra/Module/Synonym.lean,Mathlib/Analysis/Complex/UpperHalfPlane/MoebiusAction.lean,Mathlib/Analysis/Convex/Body.lean,Mathlib/Analysis/Normed/Algebra/Unitization.lean,Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean,Mathlib/Analysis/Normed/Field/UnitBall.lean,Mathlib/Analysis/Normed/Group/Constructions.lean,Mathlib/Analysis/Normed/Group/Hom.lean,Mathlib/Analysis/Normed/Group/SemiNormedGrp.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Analysis/Normed/Lp/PiLp.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/CategoryTheory/ConnectedComponents.lean,Mathlib/CategoryTheory/FinCategory/AsType.lean,Mathlib/CategoryTheory/FinCategory/Basic.lean,Mathlib/CategoryTheory/Galois/Topology.lean,Mathlib/CategoryTheory/Limits/Indization/Category.lean,Mathlib/CategoryTheory/Monoidal/CommGrp_.lean,Mathlib/CategoryTheory/Monoidal/CommMon_.lean,Mathlib/CategoryTheory/Monoidal/Limits/Basic.lean,Mathlib/CategoryTheory/Monoidal/Subcategory.lean,Mathlib/CategoryTheory/Monoidal/Widesubcategory.lean,Mathlib/CategoryTheory/ObjectProperty/Shift.lean,Mathlib/CategoryTheory/Shift/Quotient.lean,Mathlib/CategoryTheory/Sites/Precoverage.lean,Mathlib/CategoryTheory/Subfunctor/Basic.lean,Mathlib/Combinatorics/Enumerative/Composition.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/Combinatorics/Enumerative/IncidenceAlgebra.lean,Mathlib/Combinatorics/SimpleGraph/Dart.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Finsubgraph.lean,Mathlib/Combinatorics/SimpleGraph/Prod.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/Young/YoungDiagram.lean,Mathlib/Computability/TuringMachine/Tape.lean,Mathlib/Control/ULiftable.lean,Mathlib/Data/DFinsupp/Defs.lean,Mathlib/Data/DFinsupp/FiniteInfinite.lean,Mathlib/Data/DFinsupp/Module.lean,Mathlib/Data/DList/Instances.lean,Mathlib/Data/FinEnum.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/Finsupp/Fintype.lean,Mathlib/Data/Finsupp/Pointwise.lean,Mathlib/Data/Fintype/Basic.lean,Mathlib/Data/Fintype/Pi.lean,Mathlib/Data/Fintype/Sigma.lean,Mathlib/Data/Fintype/Units.lean,Mathlib/Data/Multiset/Fintype.lean,Mathlib/Data/PFun.lean,Mathlib/Data/Sym/Basic.lean,Mathlib/Data/UInt.lean,Mathlib/Data/ULift.lean,Mathlib/FieldTheory/Fixed.lean |
239 |
20 |
['github-actions', 'kbuzzard', 'leanprover-radar', 'riccardobrasca'] |
nobody |
0-25185 6 hours ago |
1-7522 1 day ago |
0-79 1 minute |
| 39630 |
urkud author:urkud |
feat(Sheaves/EtaleSpace): new file |
Written for the Cauchy integral theorem project at ICERM.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
delegated
|
164/0 |
Mathlib.lean,Mathlib/Topology/Sheaves/EtaleSpace.lean |
2 |
7 |
['github-actions', 'mathlib-bors', 'ocfnash'] |
nobody |
0-25057 6 hours ago |
0-25057 6 hours ago |
3-67011 3 days |
| 39083 |
CBirkbeck author:CBirkbeck |
feat(Mathlib): preparations for finite-index Sturm bound |
Stand-alone helpers extracted from #39000 (finite-index Sturm bound). First of a 5-PR split.
## Main additions
- `Mathlib/Analysis/Analytic/Order.lean`: `analyticOrderAt_prod`, `analyticOrderAt_comp_pow_zero`.
- `Mathlib/Analysis/Complex/Periodic.lean`: `Periodic.qParam_sub`.
- `Mathlib/NumberTheory/ModularForms/QExpansion.lean`: `qExpansion_order_eq_analyticOrderAt_cuspFunction`, `qExpansion_order_le_qExpansion_nat_mul_order`.
- `Mathlib/NumberTheory/ModularForms/NormTrace.lean`: `quotientFunc_mdiff`, `quotientFunc_isBoundedAtImInfty`.
This PR was done with the help of Claude Code. |
LLM-generated
merge-conflict
|
233/21 |
Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Complex/Periodic.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/FinTwo.lean,Mathlib/NumberTheory/ModularForms/CuspFormSubmodule.lean,Mathlib/NumberTheory/ModularForms/LevelOne/DimensionFormula.lean,Mathlib/NumberTheory/ModularForms/NormTrace.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean |
9 |
4 |
['github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
0-24799 6 hours ago |
17-12158 17 days ago |
0-1178 19 minutes |
| 39087 |
CBirkbeck author:CBirkbeck |
feat(NumberTheory/ModularForms): integer cusp width and T-power slash action |
Adds the integer cusp width invariant and the `T^j` slash-action computation. Used in the finite-index Sturm bound (#39000).
## Main additions
- `Subgroup.integerCuspWidth 𝒢`: the smallest positive integer in `𝒢.strictPeriods`.
- Helpers: `integerCuspWidth_pos`, `integerCuspWidth_mem_strictPeriods`, `T_zpow_integerCuspWidth_mem`, `quotient_T_pow_injective_integerCuspWidth`, `integerCuspWidth_eq_nat_mul_strictWidthInfty`.
- `slash_T_zpow_apply_general`: `(g ∣[k] T^j) τ = g (j +ᵥ τ)`.
This PR was done with the help of Claude Code. |
LLM-generated
merge-conflict
|
409/21 |
Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Complex/Periodic.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/FinTwo.lean,Mathlib/NumberTheory/ModularForms/CuspFormSubmodule.lean,Mathlib/NumberTheory/ModularForms/Cusps.lean,Mathlib/NumberTheory/ModularForms/Identities.lean,Mathlib/NumberTheory/ModularForms/LevelOne/DimensionFormula.lean,Mathlib/NumberTheory/ModularForms/NormTrace.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean |
11 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
0-24692 6 hours ago |
unknown |
0-0 0 seconds |
| 39771 |
kim-em author:kim-em |
feat(GroupTheory/PCore): define the `p`-core of a group |
Adds `Subgroup.pCore p G`, the largest normal `p`-subgroup of `G` (classically `O_p(G)`), defined as the supremum of all normal `p`-subgroups. Even without finiteness or primality hypotheses, this is itself a normal `p`-group (the family of normal `p`-subgroups is directed under `≤`, so every element of the supremum lies in some specific summand).
API covers the universal-property characterisations (`le_pCore`, `normal_le_pCore`, `mem_pCore_iff`, `pCore_eq_bot_iff`, `pCore_eq_top_iff`, `pCore_zero`, `pCore_one`), the Sylow alignment `pCore p G = ⨅ P : Sylow p G, (P : Subgroup G)`, and behaviour under group homomorphisms (`map_pCore_le_pCore`, `comap_pCore_eq_pCore` and friends, `MulEquiv.map_pCore`).
Also adds `Subgroup.normal_iSup_normal` in `Mathlib/Algebra/Group/Subgroup/Pointwise.lean` — the supremum of a family of normal subgroups is normal — as the sibling of the existing `normal_iInf_normal`. Marked `@[to_additive]`.
Used downstream in [leanprover/lean-eval#311](https://github.com/leanprover/lean-eval/pull/311) to state the Baer-Suzuki theorem as a [lean-eval](https://lean-lang.org/eval) problem.
🤖 Prepared with Claude Code |
t-group-theory |
219/0 |
Mathlib.lean,Mathlib/Algebra/Group/Subgroup/Pointwise.lean,Mathlib/GroupTheory/PCore.lean |
3 |
4 |
['Whysoserioushah', 'github-actions', 'kim-em'] |
nobody |
0-24667 6 hours ago |
0-24513 6 hours ago |
0-27275 7 hours |
| 39801 |
astrainfinita author:astrainfinita |
refactor: unbundle algebra from normed groups and normed rings |
---
[](https://gitpod.io/from-referrer/)
|
|
4809/4723 |
Archive/Hairer.lean,Archive/Imo/Imo2001Q5.lean,Archive/Imo/Imo2019Q2.lean,Archive/Wiedijk100Theorems/HeronsFormula.lean,Mathlib/Algebra/Algebra/RestrictScalars.lean,Mathlib/Algebra/Module/Pi.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Algebra/Module/ZLattice/Summable.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/CPolynomial.lean,Mathlib/Analysis/Analytic/CPolynomialDef.lean,Mathlib/Analysis/Analytic/ChangeOrigin.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/ConvergenceRadius.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/Analytic/IteratedFDeriv.lean,Mathlib/Analysis/Analytic/Linear.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Analytic/Polynomial.lean,Mathlib/Analysis/Analytic/RadiusLiminf.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Analytic/WithLp.lean,Mathlib/Analysis/Analytic/Within.lean,Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean,Mathlib/Analysis/Asymptotics/Completion.lean,Mathlib/Analysis/Asymptotics/Defs.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/Asymptotics/Theta.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/BoxIntegral/Integrability.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Measure.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/CStarAlgebra/Classes.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Continuity.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Integral.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean,Mathlib/Analysis/CStarAlgebra/ContinuousLinearMap.lean,Mathlib/Analysis/CStarAlgebra/Exponential.lean,Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean,Mathlib/Analysis/CStarAlgebra/GelfandNaimarkSegal.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean,Mathlib/Analysis/CStarAlgebra/Module/Defs.lean,Mathlib/Analysis/CStarAlgebra/Multiplier.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/CStarAlgebra/Unitary/Maps.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/CStarAlgebra/lpSpace.lean,Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean,Mathlib/Analysis/Calculus/AddTorsor/Coord.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/BumpFunction/Convolution.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean,Mathlib/Analysis/Calculus/BumpFunction/Normed.lean,Mathlib/Analysis/Calculus/BumpFunction/SmoothApprox.lean,Mathlib/Analysis/Calculus/Conformal/InnerProduct.lean,Mathlib/Analysis/Calculus/Conformal/NormedSpace.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/CPolynomial.lean,Mathlib/Analysis/Calculus/ContDiff/Comp.lean,Mathlib/Analysis/Calculus/ContDiff/Convolution.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/Deriv.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Calculus/ContDiff/FiniteDimension.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Analysis/Calculus/ContDiff/RestrictScalars.lean,Mathlib/Analysis/Calculus/ContDiff/WithLp.lean,Mathlib/Analysis/Calculus/ContDiffHolder/Pointwise.lean,Mathlib/Analysis/Calculus/DSlope.lean,Mathlib/Analysis/Calculus/Deriv/Abs.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/AffineMap.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Comp.lean,Mathlib/Analysis/Calculus/Deriv/CompMul.lean,Mathlib/Analysis/Calculus/Deriv/Inverse.lean,Mathlib/Analysis/Calculus/Deriv/Linear.lean,Mathlib/Analysis/Calculus/Deriv/MeanValue.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Calculus/Deriv/Pow.lean,Mathlib/Analysis/Calculus/Deriv/Prod.lean,Mathlib/Analysis/Calculus/Deriv/Shift.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean |
818 |
7 |
['astrainfinita', 'github-actions', 'leanprover-radar'] |
nobody |
0-24460 6 hours ago |
unknown |
0-0 0 seconds |
| 36167 |
WenrongZou author:WenrongZou |
feat(RingTheory/FormalGroup): construction of additive inverse of formal group |
construction of additive inverse
---
- [x] depends on: #35912
- [ ] depends on: #38052
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
blocked-by-other-PR
|
516/15 |
Mathlib.lean,Mathlib/RingTheory/FormalGroup/AddInv.lean,Mathlib/RingTheory/FormalGroup/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Substitution.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/Evaluation.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean,Mathlib/RingTheory/PowerSeries/Trunc.lean |
8 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-24093 6 hours ago |
40-32182 40 days ago |
4-15504 4 days |
| 35316 |
mkaratarakis author:mkaratarakis |
feat: lemmas for the analytic part of the proof of the Gelfond–Schneider theorem (Part 4/5) |
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
large-import
|
63/1 |
Mathlib/Analysis/Analytic/Order.lean |
1 |
33 |
['MichaelStollBayreuth', 'SnirBroshi', 'github-actions', 'kebekus', 'mathlib-dependent-issues', 'mkaratarakis'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
0-23785 6 hours ago |
3-8201 3 days ago |
37-75618 37 days |
| 37685 |
vihdzp author:vihdzp |
feat: Fodor's lemma |
We define stationary sets and prove Fodor's lemma, following the proof at Wikipedia.
---
- [x] depends on: #37677
- [ ] depends on: #38362
- [ ] depends on: #39725
I'm surprised that this has a [Wikipedia article](https://en.wikipedia.org/wiki/Fodor%27s_lemma) but isn't listed in 1000.yaml. Is it just because the name has "lemma" instead of "theorem"?
[](https://gitpod.io/from-referrer/)
|
t-set-theory
t-order
blocked-by-other-PR
file-removed
large-import
|
459/45 |
Mathlib.lean,Mathlib/Data/Fintype/Order.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/Order/Cofinal.lean,Mathlib/Order/DirSupClosed/Basic.lean,Mathlib/Order/DirSupClosed/Finite.lean,Mathlib/Order/IsNormal.lean,Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Cardinal/Cofinality/Basic.lean,Mathlib/SetTheory/Cardinal/Cofinality/Club.lean,Mathlib/SetTheory/Cardinal/Cofinality/Enum.lean,Mathlib/SetTheory/Cardinal/Cofinality/Ordinal.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/Topology/Order/ScottTopology.lean |
14 |
8 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'staroperator', 'vihdzp'] |
nobody |
0-23581 6 hours ago |
49-49410 49 days ago |
0-1337 22 minutes |
| 39258 |
CBirkbeck author:CBirkbeck |
feat(NumberTheory/ModularForms): E₄, E₆ surjectively map onto level-1 graded ring |
Defines the evaluation homomorphism `evalE₄E₆ : ℂ[X₀, X₁] →ₐ[ℂ] ⨁ k, ModularForm 𝒮ℒ k` (`X₀ ↦ E₄`, `X₁ ↦ E₆`) and proves it is surjective: every level-1 modular form is a polynomial in `E₄` and `E₆`. First half of #38813.
## Main results
- `ModularForm.evalE₄E₆`.
- `ModularForm.evalE₄E₆_surjective`.
- [ ] depends on: #38908
This PR was done with the help of Claude Code. |
blocked-by-other-PR
merge-conflict
|
321/0 |
Mathlib.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/NumberTheory/ModularForms/Basic.lean,Mathlib/NumberTheory/ModularForms/CuspFormSubmodule.lean,Mathlib/NumberTheory/ModularForms/GradedRing.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean,Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean |
8 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
0-23485 6 hours ago |
unknown |
0-0 0 seconds |
| 38813 |
CBirkbeck author:CBirkbeck |
feat(NumberTheory/ModularForms): E₄ and E₆ generate the graded ring of level-1 modular forms freely |
`E₄` and `E₆` are algebraically independent and generate the graded ring `⨁ k, ModularForm 𝒮ℒ k` of level-1 modular forms freely as a `ℂ`-algebra. Combines surjectivity from #39258 with the injectivity argument added here.
## Main results
- `ModularForm.evalE₄E₆_injective`: `E₄` and `E₆` are algebraically independent.
- `ModularForm.modularFormsEquivMvPolynomial`: `ℂ[X₀, X₁] ≃ₐ[ℂ] ⨁ k, ModularForm 𝒮ℒ k`.
- `ModularForm.E₄E₆_generate`.
- [ ] depends on: #39258
- [ ] depends on: #38909
This PR was done with the help of Claude Code. |
t-number-theory
blocked-by-other-PR
LLM-generated
merge-conflict
|
814/0 |
Mathlib.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/NumberTheory/ModularForms/Basic.lean,Mathlib/NumberTheory/ModularForms/CuspFormSubmodule.lean,Mathlib/NumberTheory/ModularForms/GradedRing.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean,Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean |
8 |
9 |
['CBirkbeck', 'github-actions', 'mathlib-dependent-issues'] |
nobody |
0-23375 6 hours ago |
unknown |
0-0 0 seconds |
| 26212 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): the Rees theorem for depth |
In this PR we proved the Rees theorem for depth.
Co-authored-by: Hu Yongle
---
- [x] depends on: #37355
- [x] depends on: #38613
- [ ] depends on: #38466
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
|
287/24 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Regular/LinearMap.lean,docs/references.bib |
7 |
61 |
['Thmoas-Guan', 'alreadydone', 'chrisflav', 'dagurtomas', 'erdOne', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
chrisflav assignee:chrisflav |
0-23162 6 hours ago |
0-23165 6 hours ago |
95-17376 95 days |
| 39769 |
chenson2018 author:chenson2018 |
chore(Topology): refactor proofs where `grind?` fails |
These are sources of technical debt as now reported in the [weekly linting report](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Weekly.20linting.20log/with/544658968). The idea is that a successful `grind` proof can fail to report the theorems it used via `grind?`, which means that if these proofs break across toolchains that it becomes significantly harder to repair.
Most of these are fixed by squeezing the call to `grind` and unsetting `linter.tacticAnalysis.verifyGrindOnly` so they no longer appear in the weekly report. Unfortunately, this can't be on by default for performance reasons, but I highly encourage using this linter when adding any `grind` proofs.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
tech debt
|
35/17 |
Mathlib/Topology/Compactness/CountablyCompact.lean,Mathlib/Topology/EMetricSpace/BoundedVariation.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean,Mathlib/Topology/Order/Basic.lean,Mathlib/Topology/Order/IsLUB.lean,Mathlib/Topology/Order/WithTop.lean,Mathlib/Topology/Path.lean,Mathlib/Topology/Sets/VietorisTopology.lean,Mathlib/Topology/Sheaves/Flasque.lean |
9 |
1 |
['github-actions'] |
nobody |
0-23015 6 hours ago |
1-21766 1 day ago |
1-21761 1 day |
| 39796 |
thorimur author:thorimur |
feat: `maybeEmojis` in unicode linter |
This PR creates the `maybeEmojis` array in the unicode linter, which contains characters that may optionally be followed by the unicode emoji selector. (Note: we do not enforce the use of any selector.)
We include `'⚠'` in it to allow `⚠️`. We don't want to ban the text version (`⚠`), as this is used in lake output and so may conceivably be mentioned in a comment.
We plan to use `⚠️` in #38126.
---
[](https://gitpod.io/from-referrer/)
|
t-linter |
10/2 |
Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/Linter/TextBased/UnicodeLinter.lean |
2 |
7 |
['adomasbaliuka', 'github-actions', 'grunweg', 'thorimur'] |
nobody |
0-22726 6 hours ago |
0-22689 6 hours ago |
0-63082 17 hours |
| 37429 |
RemyDegenne author:RemyDegenne |
feat: API for stoppedValue and StoppedProcess |
Co-authored-by: Thomas Zhu
Co-authored-by: Alessio Rondelli
---
[](https://gitpod.io/from-referrer/)
|
brownian
t-measure-probability
|
57/5 |
Mathlib/Probability/Process/Stopping.lean |
1 |
3 |
['EtienneC30', 'github-actions'] |
nobody |
0-20992 5 hours ago |
0-21045 5 hours ago |
0-28003 7 hours |
| 29965 |
RemyDegenne author:RemyDegenne |
feat(probability): define subtraction of kernels |
This PR defines subtraction of kernels and uses it to prove `MeasurableSet {a | κ a = η a}` for two finite kernels `κ, η`.
From the LeanBandits project.
---
- [x] depends on: #35018
[](https://gitpod.io/from-referrer/)
|
WIP
t-measure-probability
large-import
|
165/2 |
Mathlib.lean,Mathlib/MeasureTheory/Measure/SubFinite.lean,Mathlib/Probability/Kernel/Defs.lean,Mathlib/Probability/Kernel/RadonNikodym.lean,Mathlib/Probability/Kernel/Sub.lean |
5 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] |
nobody |
0-20383 5 hours ago |
242-32578 242 days ago |
0-1 1 second |
| 39683 |
joneugster author:joneugster |
chore: move test files and capitalise file names (part 4) |
Capitalise test file names and folder names.
Moving certain files to a better location. There will be a follow-up PR organising the test files in to folders. Because of the amount of test files, it seems easier to do the renaming first and then deal with reorganising them.
---
[](https://gitpod.io/from-referrer/)
|
file-removed |
0/0 |
MathlibTest/Algebra/Polynomial.lean,MathlibTest/Data/DFinsupp/DFinsuppMultiLinear.lean,MathlibTest/Data/DFinsupp/Notation.lean,MathlibTest/Data/Fin/VecNotation.lean,MathlibTest/Data/FunLike.lean,MathlibTest/Data/Real.lean,MathlibTest/Data/ZMod.lean,MathlibTest/DeriveCountable.lean,MathlibTest/DeriveCountableModule.lean,MathlibTest/DeriveEncodable.lean,MathlibTest/EvalElab.lean,MathlibTest/FastInstance.lean,MathlibTest/FinsetBuilder.lean,MathlibTest/FinsetRepr.lean,MathlibTest/FinsuppNotation.lean,MathlibTest/FormatTable.lean,MathlibTest/ImportAll.lean,MathlibTest/InstanceDiamonds.lean,MathlibTest/InstanceDiamonds/Algebra/Algebra/Rat.lean,MathlibTest/InstanceDiamonds/Analysis/Normed/Field/WithAbs.lean,MathlibTest/InstanceDiamonds/Data/Complex/Module.lean,MathlibTest/InstanceDiamonds/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,MathlibTest/InstanceDiamonds/FieldTheory/SplittingField/Construction.lean,MathlibTest/InstanceDiamonds/Normed.lean,MathlibTest/Instances/CommRingIntegralClosure.lean,MathlibTest/Instances/LawfulOfScientific.lean,MathlibTest/Instances/RingFiniteness.lean,MathlibTest/JacobiSymbol.lean,MathlibTest/NormCast.lean,MathlibTest/RegisterTryTactic.lean,MathlibTest/RightActions.lean,MathlibTest/SetLike.lean,MathlibTest/SimpConfluence.lean,MathlibTest/SlimCheck.lean,MathlibTest/SlowInstances.lean,MathlibTest/SlowSimp.lean,MathlibTest/Tactic/AesopCat.lean,MathlibTest/Tactic/ENatToNat.lean,MathlibTest/Tactic/FailIfNoProgress.lean,MathlibTest/Tactic/Grind/AC.lean,MathlibTest/Tactic/Grind/CC.lean,MathlibTest/Tactic/Grind/Field.lean,MathlibTest/Tactic/Grind/FieldInstance.lean,MathlibTest/Tactic/Grind/Grobner.lean,MathlibTest/Tactic/Grind/Linarith.lean,MathlibTest/Tactic/Grind/Lint.lean,MathlibTest/Tactic/Grind/NatCastInstance.lean,MathlibTest/Tactic/Grind/OrderedRing.lean,MathlibTest/Tactic/Grind/PairwiseDisjoint.lean,MathlibTest/Tactic/Grind/Panic.lean,MathlibTest/Tactic/Grind/Ring.lean,MathlibTest/Tactic/Grind/Set.lean,MathlibTest/Tactic/Grind/Trig.lean,MathlibTest/Tactic/RwQuestionMark.lean,MathlibTest/TacticTimeout.lean,MathlibTest/Util/CompileInductive.lean,MathlibTest/Util/CountHeartbeats.lean,MathlibTest/Util/Notation3.lean,MathlibTest/Widget/CalcQuestionMark.lean,MathlibTest/Widget/CommDiag.lean,MathlibTest/Widget/Conv.lean |
61 |
18 |
['github-actions', 'grunweg', 'joneugster'] |
nobody |
0-20259 5 hours ago |
0-20259 5 hours ago |
3-47717 3 days |
| 39817 |
chrisflav author:chrisflav |
chore(CategoryTheory/Limits): fix name of `HasColimit.isoOfEquivalence_hom_π` and `reassoc` |
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
15/9 |
Mathlib/CategoryTheory/Limits/Fubini.lean,Mathlib/CategoryTheory/Limits/HasLimits.lean,Mathlib/CategoryTheory/Limits/Shapes/Products.lean,Mathlib/Geometry/RingedSpace/OpenImmersion.lean |
4 |
1 |
['github-actions'] |
nobody |
0-20141 5 hours ago |
0-20211 5 hours ago |
0-21290 5 hours |
| 39819 |
mathlib-splicebot author:mathlib-splicebot |
feat: variants of lemmas in CondJensen with a.e. inequalities for the trimmed measure |
This PR was automatically created from PR #35349 by @RemyDegenne via a [review comment](https://github.com/leanprover-community/mathlib4/pull/35349#discussion_r3298163528) by @RemyDegenne. |
t-measure-probability |
34/0 |
Mathlib/MeasureTheory/Function/ConditionalExpectation/CondJensen.lean |
1 |
1 |
['github-actions'] |
nobody |
0-19281 5 hours ago |
0-19409 5 hours ago |
0-19404 5 hours |
| 38669 |
dannyply author:dannyply |
feat(Topology/Algebra/PontryaginDual): prove compact monoids have discrete duals |
Proves that the Pontryagin dual of a compact monoid is discrete. As a consequence, it also adds the corresponding finite-type instances for compact discrete monoids.
This upstreams a result first added downstream in [`YaelDillies/APAP`](https://github.com/YaelDillies/APAP), where this fact was needed to close a `sorry`. The proof separates the trivial character from all the others using the right half of the circle and adds a few reusable `Circle` helper lemmas near the existing related API.
The original APAP proof was AI-assisted and then reviewed/rewritten during downstream review. For this PR, I used Codex to help adapt the APAP proof to mathlib and to refactor the supporting lemmas.
---
[](https://gitpod.io/from-referrer/) |
t-topology
new-contributor
|
130/16 |
Mathlib/Analysis/SpecialFunctions/Complex/Circle.lean,Mathlib/Topology/Algebra/PontryaginDual.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean |
3 |
30 |
['dannyply', 'github-actions', 'j-loreaux', 'tb65536'] |
j-loreaux assignee:j-loreaux |
0-19280 5 hours ago |
0-19280 5 hours ago |
1-7954 1 day |
| 39820 |
samuelchassot author:samuelchassot |
Add proof of the existence of an Eulerian walk if all vertices have even degree or if exactly vertices have odd degree |
As per the TODO open in `Trails.lean`.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
671/3 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Eulerian.lean,Mathlib/Combinatorics/SimpleGraph/Trails.lean |
3 |
8 |
['SnirBroshi', 'copilot-pull-request-reviewer', 'github-actions'] |
nobody |
0-18122 5 hours ago |
0-19353 5 hours ago |
0-19348 5 hours |
| 35317 |
mkaratarakis author:mkaratarakis |
feat: lemmas for the analytic part of the proof of the Gelfond–Schneider theorem (Part 5/5) |
If a function `R : ℂ → ℂ` factors as `R z = (z - z₀) ^ r * R₁ z`, where `R₁` is analytic everywhere, then for any `k ≤ r`, there exists an everywhere analytic function `R₂ : ℂ → ℂ` such that the `k`-th iterated derivative of `R` is given by `deriv^[k] R z = (z - z₀) ^ (r - k) * (r! / (r - k)! * R₁ z + (z - z₀) * R₂ z)`.
This lemma is necessary for the proof of the Gelfond-Schneider theorem in subsequent PRs.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
t-analysis
|
38/0 |
Mathlib/Analysis/Complex/CauchyIntegral.lean |
1 |
35 |
['MichaelStollBayreuth', 'github-actions', 'loefflerd', 'mkaratarakis'] |
loefflerd assignee:loefflerd |
0-18104 5 hours ago |
3-11677 3 days ago |
29-15657 29 days |
| 39086 |
CBirkbeck author:CBirkbeck |
feat(NumberTheory/ModularForms): Galois product machinery |
Adds the `galoisProd N f τ = ∏ j < N, f (j/N +ᵥ τ)` construction with analytic / order properties in `NormTrace.lean`. Used in the finite-index Sturm bound (#39000).
## Main results
- `galoisProd_periodic_one`, `galoisProd_mdiff`, `galoisProd_isBoundedAtImInfty`.
- `cuspFunction_one_galoisProd_pow_eq`: pulled back through `qParam`, `galoisProd` is `(cuspFunction f)^N`.
- `qExpansion_one_galoisProd_order_eq_qExpansion_self_order`.
- [ ] depends on: #39083
This PR was done with the help of Claude Code. |
blocked-by-other-PR
LLM-generated
merge-conflict
|
414/21 |
Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Complex/Periodic.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/NumberTheory/ModularForms/CuspFormSubmodule.lean,Mathlib/NumberTheory/ModularForms/LevelOne/DimensionFormula.lean,Mathlib/NumberTheory/ModularForms/NormTrace.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean |
7 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-18010 5 hours ago |
unknown |
0-0 0 seconds |
| 39088 |
CBirkbeck author:CBirkbeck |
feat(NumberTheory/ModularForms): norm map decomposition for Sturm bound |
Decomposes the modular norm map `ModularForm.norm 𝒮ℒ f` as `galoisProd N f` times a rest factor analytic at the cusp, and shows the resulting q-expansion order at width 1 is at least the order of `f` at its natural cusp width. Used in the finite-index Sturm bound (#39000).
## Main additions
- `prod_quotientFunc_filter_image_one_vadd`: regrouping of the norm-map product.
- `analyticAt_cuspFunction_one_norm_rest`: the rest factor is analytic at `0`.
- [ ] depends on: #39086
- [ ] depends on: #39087
This PR was done with the help of Claude Code. |
blocked-by-other-PR
LLM-generated
merge-conflict
|
815/21 |
Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Complex/Periodic.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/FinTwo.lean,Mathlib/NumberTheory/ModularForms/CuspFormSubmodule.lean,Mathlib/NumberTheory/ModularForms/Cusps.lean,Mathlib/NumberTheory/ModularForms/Identities.lean,Mathlib/NumberTheory/ModularForms/LevelOne/DimensionFormula.lean,Mathlib/NumberTheory/ModularForms/NormTrace.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean |
11 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-17821 4 hours ago |
unknown |
0-0 0 seconds |
| 39000 |
CBirkbeck author:CBirkbeck |
feat(NumberTheory/ModularForms): Sturm bound for finite-index subgroups |
Sturm bound for arithmetic subgroups commensurable with `SL(2, ℤ)`: a modular form whose q-expansion at the cusp `∞` has order strictly greater than `k · [𝒮ℒ : 𝒢] / 12` is identically zero. Lifted from the level-one case (#38993) via the modular norm map.
Final piece of a 5-PR split.
## Main results
- `ModularForm.sturm_bound_finiteIndex`: order-based Sturm bound for arithmetic subgroups.
- `ModularForm.sturm_bound_finiteIndex_SL2Z`: specialisation to finite-index subgroups of `SL(2, ℤ)`.
- A `Module.Finite ℂ (ModularForm 𝒢 k)` instance.
- [ ] depends on: #38993
- [ ] depends on: #39083
- [ ] depends on: #39086
- [ ] depends on: #39087
- [ ] depends on: #39088
This PR was done with the help of Claude Code. |
t-number-theory
blocked-by-other-PR
LLM-generated
merge-conflict
|
952/21 |
Mathlib.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Complex/Periodic.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/FinTwo.lean,Mathlib/NumberTheory/ModularForms/CuspFormSubmodule.lean,Mathlib/NumberTheory/ModularForms/Cusps.lean,Mathlib/NumberTheory/ModularForms/Identities.lean,Mathlib/NumberTheory/ModularForms/LevelOne/DimensionFormula.lean,Mathlib/NumberTheory/ModularForms/NormTrace.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean,Mathlib/NumberTheory/ModularForms/SturmBound.lean |
13 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-17809 4 hours ago |
unknown |
0-0 0 seconds |
| 39785 |
hawkrobe author:hawkrobe |
refactor(RingTheory/HopfAlgebra): generalize ofAlgHom |
In general the antipode of a Hopf algebra is an anti-endomorphism. When `A` is commutative this collapses to `A →ₐ[R] A` (via `MulOpposite.opLinearEquiv`). See [Grinberg–Reiner](https://arxiv.org/pdf/1409.8356), Prop 1.4.10 and a [comment](https://github.com/leanprover-community/mathlib4/pull/31898#issuecomment-3566663278) on #31898. I moved it to `HopfAlgebra/Basic.lean` to align with Bialgebra.
---
|
t-ring-theory
new-contributor
maintainer-merge
|
43/20 |
Mathlib/RingTheory/HopfAlgebra/Basic.lean,Mathlib/RingTheory/HopfAlgebra/TensorProduct.lean |
2 |
8 |
['YaelDillies', 'faenuccio', 'github-actions', 'hawkrobe'] |
nobody |
0-16859 4 hours ago |
0-18971 5 hours ago |
0-67760 18 hours |
| 39790 |
hawkrobe author:hawkrobe |
feat(RingTheory): Add quotient constructions |
---
Adds the quotient constructions suggested [here](https://github.com/leanprover-community/mathlib4/pull/39579#issuecomment-4529401418).
|
t-ring-theory
new-contributor
awaiting-CI
|
304/0 |
Mathlib.lean,Mathlib/RingTheory/Bialgebra/Quotient.lean,Mathlib/RingTheory/Coalgebra/Quotient.lean,Mathlib/RingTheory/HopfAlgebra/Quotient.lean |
4 |
3 |
['github-actions', 'hawkrobe'] |
nobody |
0-15908 4 hours ago |
0-37740 10 hours ago |
0-2276 37 minutes |
| 32583 |
MJ141592 author:MJ141592 |
refactor(SimpleGraph): change bridges not to require the edge to be present |
Remove the requirement for edges to exist in definition of isBridge, and then change the related lemmas to adjust for this, by renaming, fixing the statements and fixing the proofs, including in Acyclic.
Closes #31690.
---
- [x] depends on: #36802
- [x] depends on: #36804 |
t-combinatorics
new-contributor
|
95/93 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean,Mathlib/Combinatorics/SimpleGraph/DeleteEdges.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean |
5 |
48 |
['MJ141592', 'Rida-Hamadani', 'SnirBroshi', 'YaelDillies', 'b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
0-15821 4 hours ago |
0-15854 4 hours ago |
49-58427 49 days |
| 39809 |
zcyemi author:zcyemi |
feat(LinearAlgebra/AffineSpace/Menelaus): add Menelaus' theorem |
Add Menelaus' theorem for both `AffineSpace` and `NormedAddTorsor`.
The `AffineSpace` version includes both the forward and converse directions, while the `NormedAddTorsor` version currently includes the forward direction.
For the converse direction in the `NormedAddTorsor` setting, I am still considering the most convenient formalization for future use. One possible approach is to use `sbtw` / `¬ sbtw` to distinguish the different positional cases for points on the edges of a triangle, but this seems too complicated under permutations of the triangle vertices.
|
|
218/0 |
Mathlib.lean,Mathlib/Analysis/Normed/Affine/Menelaus.lean,Mathlib/LinearAlgebra/AffineSpace/Menelaus.lean,docs/1000.yaml |
4 |
1 |
['github-actions'] |
nobody |
0-15564 4 hours ago |
0-38033 10 hours ago |
0-38705 10 hours |
| 39155 |
mathlib-nolints author:mathlib-nolints |
chore: lake shake --add-public --keep-implied --keep-prefix --fix |
I am happy to shake some imports for you!
**398 files changed** · +441 imports added · -368 imports removed
---
[workflow run for this PR](https://github.com/leanprover-community/mathlib4/actions/runs/26372005521)
[explain.txt](https://github.com/leanprover-community/mathlib4/actions/runs/26372005521/artifacts/7188182767) |
large-import |
441/368 |
Mathlib/Algebra/Algebra/Unitization.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/Category/MonCat/Colimits.lean,Mathlib/Algebra/Category/MonCat/FilteredColimits.lean,Mathlib/Algebra/Category/Ring/Topology.lean,Mathlib/Algebra/Free.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Group/Submonoid/Saturation.lean,Mathlib/Algebra/Group/Submonoid/Support.lean,Mathlib/Algebra/Group/Units/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Map.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/MapBijective.lean,Mathlib/Algebra/Homology/HomologicalComplexAbelian.lean,Mathlib/Algebra/Homology/ModelCategory/Injective.lean,Mathlib/Algebra/Homology/ModelCategory/Lifting.lean,Mathlib/Algebra/Lie/CartanCriterion.lean,Mathlib/Algebra/LinearRecurrence.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/Algebra/Module/Submodule/Invariant.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MvPolynomial/Cardinal.lean,Mathlib/Algebra/MvPolynomial/Division.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Funext.lean,Mathlib/Algebra/MvPolynomial/Nilpotent.lean,Mathlib/Algebra/NonAssoc/PreLie/Basic.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/Archimedean/Submonoid.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Order/Field/Pointwise.lean,Mathlib/Algebra/Order/Group/Indicator.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Ring/Archimedean.lean,Mathlib/Algebra/Order/Ring/Cast.lean,Mathlib/Algebra/Order/SuccPred.lean,Mathlib/Algebra/Polynomial/Eval/Coeff.lean,Mathlib/Algebra/Regular/Defs.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/AlgebraicGeometry/Morphisms/Finite.lean,Mathlib/AlgebraicGeometry/Morphisms/FlatRank.lean,Mathlib/AlgebraicGeometry/Morphisms/SchemeTheoreticallyDominant.lean,Mathlib/AlgebraicGeometry/Morphisms/UniversallyClosed.lean,Mathlib/AlgebraicGeometry/Morphisms/WeaklyEtale.lean,Mathlib/AlgebraicGeometry/Noetherian.lean,Mathlib/AlgebraicGeometry/RationalMap.lean,Mathlib/AlgebraicGeometry/Sites/AffineEtale.lean,Mathlib/AlgebraicTopology/SimplicialCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplicialComplex/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/Boundary.lean,Mathlib/AlgebraicTopology/SimplicialSet/Monoidal.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplicesSubcomplex.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/CStarAlgebra/Projection.lean,Mathlib/Analysis/Calculus/DerivativeTest.lean,Mathlib/Analysis/Calculus/FDeriv/Affine.lean,Mathlib/Analysis/Calculus/FDeriv/OfCompLeft.lean,Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Calculus/InverseFunctionTheorem/FDeriv.lean,Mathlib/Analysis/Calculus/LogDeriv.lean,Mathlib/Analysis/Complex/CanonicalDecomposition.lean,Mathlib/Analysis/Complex/Harmonic/Liouville.lean,Mathlib/Analysis/Complex/Harmonic/Poisson.lean,Mathlib/Analysis/Complex/JensenFormula.lean,Mathlib/Analysis/Complex/RiemannMapping.lean,Mathlib/Analysis/Complex/Schwarz.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Manifold.lean,Mathlib/Analysis/ConstantSpeed.lean,Mathlib/Analysis/Convex/Approximation.lean,Mathlib/Analysis/Convex/FunctionTopology.lean,Mathlib/Analysis/Convex/MetricSpace.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/InnerProductSpace/Positive.lean,Mathlib/Analysis/LocallyConvex/Polar.lean,Mathlib/Analysis/Normed/Module/Bases.lean,Mathlib/Analysis/Normed/Module/Complemented.lean,Mathlib/Analysis/Normed/Module/DoubleDual.lean,Mathlib/Analysis/Normed/Module/Dual.lean,Mathlib/Analysis/ODE/DiscreteGronwall.lean,Mathlib/Analysis/RCLike/ContinuousMap.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/RingInverseOrder.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/PoissonSummation.lean,Mathlib/Analysis/SpecialFunctions/Integrals/LogTrigonometric.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/ChebyshevGauss.lean,Mathlib/Analysis/SpecificLimits/RCLike.lean,Mathlib/CategoryTheory/Abelian/Preradical/Colon.lean,Mathlib/CategoryTheory/CopyDiscardCategory/Widesubcategory.lean,Mathlib/CategoryTheory/Functor/ReflectsIso/Jointly.lean,Mathlib/CategoryTheory/Limits/Constructions/WidePullbackOfTerminal.lean |
398 |
28 |
['JovanGerb', 'MichaelStollBayreuth', 'bryangingechen', 'github-actions', 'kbuzzard', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
0-15551 4 hours ago |
0-74120 20 hours ago |
5-74717 5 days |
| 39822 |
grunweg author:grunweg |
chore: rename delaborators to match naming convention |
Change from delab_foo to delabFoo (as these are Type-valued, not Prop-valued, so should be lowerCamelCase by naming rule 4).
This should not need deprecations, as presumably these delaborators are never called directly. Found by the linter added in #34519.
---
[](https://gitpod.io/from-referrer/)
|
tech debt
easy
|
2/4 |
Mathlib/Data/Set/Notation.lean,Mathlib/Util/Delaborators.lean,scripts/nolints.json |
3 |
1 |
['github-actions'] |
nobody |
0-15431 4 hours ago |
0-15509 4 hours ago |
0-15504 4 hours |
| 39818 |
Ljon4ik4 author:Ljon4ik4 |
feat: Transferring Lie Algebra structures along Equivalences |
This pr adds the functionality to transfer Lie brackets along equivalences (additive, linear and plain ones).
I followed the scheme of the existing `TransferInstance.lean` file.
For one of the proofs, I also needed `linearEquiv_apply `, which seemed missing so I added it.
AI use disclaimer: I used claude to search for lemmas/ understand error messages / proofreading and feedback, but wrote the whole code myself.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
124/0 |
Mathlib.lean,Mathlib/Algebra/Lie/TransferInstance.lean,Mathlib/Algebra/Module/TransferInstance.lean |
3 |
2 |
['github-actions'] |
nobody |
0-15275 4 hours ago |
0-15350 4 hours ago |
0-17590 4 hours |
| 39676 |
joneugster author:joneugster |
chore: move test files and recapitalise filennames |
Continuation of #39674. Renames all test files to use UpperCamelCase. Moves a few files to a folder according to the location of the tested file.
---
While fixing capitalisation on all filenames, this PR makes no effort to sort all test files into according folders. This will be happening in follow-ups.
- [x] depends on: #39681
- [ ] depends on: #39682
- [ ] depends on: #39683
[](https://gitpod.io/from-referrer/)
|
file-removed
blocked-by-other-PR
merge-conflict
|
22/22 |
MathlibTest/AesopCat.lean,MathlibTest/Algebra/Algebra/Rat.lean,MathlibTest/Algebra/Polynomial.lean,MathlibTest/Algebra/Quaternion.lean,MathlibTest/Data/DFinsupp/DFinsuppMultiLinear.lean,MathlibTest/Data/DFinsupp/Notation.lean,MathlibTest/Data/Fin/VecNotation.lean,MathlibTest/Data/FunLike.lean,MathlibTest/Data/Real.lean,MathlibTest/Data/ZMod.lean,MathlibTest/DeriveCountable.lean,MathlibTest/DeriveCountableModule.lean,MathlibTest/DeriveEncodable.lean,MathlibTest/ENatToNat.lean,MathlibTest/EvalElab.lean,MathlibTest/FailIfNoProgress.lean,MathlibTest/FastInstance.lean,MathlibTest/FinsetBuilder.lean,MathlibTest/FinsetRepr.lean,MathlibTest/FinsuppNotation.lean,MathlibTest/FormatTable.lean,MathlibTest/ImportAll.lean,MathlibTest/InstanceDiamonds.lean,MathlibTest/InstanceDiamonds/Analysis/Normed/Field/WithAbs.lean,MathlibTest/InstanceDiamonds/Data/Complex/Module.lean,MathlibTest/InstanceDiamonds/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,MathlibTest/InstanceDiamonds/FieldTheory/SplittingField/Construction.lean,MathlibTest/InstanceDiamonds/Normed.lean,MathlibTest/JacobiSymbol.lean,MathlibTest/Lean/Tactic/Grind/AC.lean,MathlibTest/Lean/Tactic/Grind/CC.lean,MathlibTest/Lean/Tactic/Grind/Field.lean,MathlibTest/Lean/Tactic/Grind/FieldInstance.lean,MathlibTest/Lean/Tactic/Grind/Grobner.lean,MathlibTest/Lean/Tactic/Grind/Linarith.lean,MathlibTest/Lean/Tactic/Grind/Lint.lean,MathlibTest/Lean/Tactic/Grind/NatCastInstance.lean,MathlibTest/Lean/Tactic/Grind/OrderedRing.lean,MathlibTest/Lean/Tactic/Grind/PairwiseDisjoint.lean,MathlibTest/Lean/Tactic/Grind/Panic.lean,MathlibTest/Lean/Tactic/Grind/Ring.lean,MathlibTest/Lean/Tactic/Grind/Set.lean,MathlibTest/Lean/Tactic/Grind/Trig.lean,MathlibTest/Lean/Tactic/Rewrites.lean,MathlibTest/Linter/DeprecatedModule/DeprecatedModule.lean,MathlibTest/Linter/DeprecatedModule/DeprecatedModuleAllTest.lean,MathlibTest/Linter/DeprecatedModule/DeprecatedModuleMetaTest.lean,MathlibTest/Linter/DeprecatedModule/DeprecatedModuleNew.lean,MathlibTest/Linter/DeprecatedModule/DeprecatedModulePublicMetaTest.lean,MathlibTest/Linter/DeprecatedModule/DeprecatedModulePublicTest.lean,MathlibTest/Linter/DeprecatedModule/DeprecatedModuleTest.lean,MathlibTest/Linter/DeprecatedSyntaxLinter.lean,MathlibTest/Linter/DocPrime.lean,MathlibTest/Linter/DocString.lean,MathlibTest/Linter/EmptyLine.lean,MathlibTest/Linter/FlexibleLinter.lean,MathlibTest/Linter/ForbiddenModuleNames.lean,MathlibTest/Linter/HaveLetLinter.lean,MathlibTest/Linter/ImportHeavyFlexibleLinter.lean,MathlibTest/Linter/Lint.lean,MathlibTest/Linter/ModuleCasing.lean,MathlibTest/Linter/OldObtain.lean,MathlibTest/Linter/PrivateModuleLinter/HasOnlyPrivate.lean,MathlibTest/Linter/PrivateModuleLinter/HasPublic.lean,MathlibTest/Linter/PrivateModuleLinter/ImportOnly.lean,MathlibTest/Linter/PrivateModuleLinter/Initialize.lean,MathlibTest/Linter/PrivateModuleLinter/NonModule.lean,MathlibTest/Linter/PrivateModuleLinter/Notation3.lean,MathlibTest/Linter/PrivateModuleLinter/ReservedName1.lean,MathlibTest/Linter/PrivateModuleLinter/ReservedName2.lean,MathlibTest/Linter/Style/LintStyle.lean,MathlibTest/Linter/Style/LongFile.lean,MathlibTest/Linter/UnusedTactic/AesopUnusedTactic.lean,MathlibTest/Linter/UnusedTactic/UnusedTactic.lean,MathlibTest/Linter/ValidatePRTitle.lean,MathlibTest/Linter/VersoHeader.lean,MathlibTest/Linter/Whitespace.lean,MathlibTest/NormCast.lean,MathlibTest/RegisterTryTactic.lean,MathlibTest/RightActions.lean,MathlibTest/SetLike.lean,MathlibTest/SimpConfluence.lean,MathlibTest/SlimCheck.lean,MathlibTest/SlowInstances.lean,MathlibTest/SlowSimp.lean,MathlibTest/Tactic/ApplyCongr.lean,MathlibTest/Tactic/ApplyFun.lean,MathlibTest/Tactic/ApplyRules.lean,MathlibTest/Tactic/ApplyWith.lean,MathlibTest/Tactic/Bound/Attribute.lean,MathlibTest/Tactic/Bound/Bound.lean,MathlibTest/Tactic/ByContra.lean,MathlibTest/Tactic/CancelDenoms.lean,MathlibTest/Tactic/Cases.lean,MathlibTest/Tactic/CasesM.lean,MathlibTest/Tactic/Change.lean,MathlibTest/Tactic/Check.lean,MathlibTest/Tactic/Choose/Choose.lean,MathlibTest/Tactic/Choose/Reduction.lean,MathlibTest/Tactic/Clean.lean |
192 |
4 |
['github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-15095 4 hours ago |
3-51269 3 days ago |
0-13262 3 hours |
| 39823 |
grunweg author:grunweg |
fix: check the right 'Parser' namespace in the defsWithUnderscore linter |
The linter used to check for 'Mathlib.Parser', when it should have checked for 'Parser' (as generated by e.g. the register_simp_attr command). Correct this oversight and add a test. This fixes a number of false positive errors.
Follow-up to #34519.
---
[](https://gitpod.io/from-referrer/)
|
t-linter
easy
|
4/42 |
Mathlib/Tactic/Linter/Style.lean,MathlibTest/Linter/TextBased.lean,scripts/nolints.json |
3 |
1 |
['github-actions'] |
nobody |
0-14834 4 hours ago |
0-15000 4 hours ago |
0-14995 4 hours |
| 35349 |
RemyDegenne author:RemyDegenne |
feat: data processing inequality for the Kullback-Leibler divergence |
---
- [x] depends on: #34841
- [x] depends on: #35089
- [x] depends on: #27953
- [ ] depends on: #39819
[](https://gitpod.io/from-referrer/)
|
WIP
t-measure-probability
blocked-by-other-PR
|
241/24 |
Mathlib.lean,Mathlib/InformationTheory/KullbackLeibler/DataProcessing.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondJensen.lean,Mathlib/MeasureTheory/Measure/Decomposition/IntegralRNDeriv.lean |
4 |
8 |
['RemyDegenne', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib-splicebot'] |
nobody |
0-14827 4 hours ago |
99-13467 99 days ago |
0-1 1 second |
| 37413 |
Paul-Lez author:Paul-Lez |
feat(Combinatorics/Enumerative/Composition): add lemma about products of embeddings |
Co-authored-by: Xavier Genereux [xaviergenereux@hotmail.com](mailto:xaviergenereux@hotmail.com)
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
5/0 |
Mathlib/Combinatorics/Enumerative/Composition.lean |
1 |
5 |
['YaelDillies', 'github-actions', 'robin-carlier'] |
nobody |
0-14810 4 hours ago |
12-6542 12 days ago |
22-35485 22 days |
| 37984 |
loefflerd author:loefflerd |
feat: abstract theory of measures |
General foundations of non-archimedean measure theory (intended for applications to Iwasawa algebras)
---
- [x] depends on: #38701 |
t-topology |
306/0 |
Mathlib.lean,Mathlib/NumberTheory/Padics/Measure/Basic.lean,Mathlib/NumberTheory/Padics/Measure/Topology.lean |
3 |
11 |
['github-actions', 'j-loreaux', 'loefflerd', 'mathlib-dependent-issues'] |
PatrickMassot assignee:PatrickMassot |
0-14408 4 hours ago |
0-14408 4 hours ago |
15-15222 15 days |
| 37381 |
martinwintermath author:martinwintermath |
chore(LinearAlgebra/SesquilinearForm): deprecate `IsOrtho` and associated lemmas |
Next steps in cleaning up bilinearity and orthogonality:
- deprecate `IsOrtho` and accompanying trivial lemmas (this also allows to shorten the proofs in `orthogonalBilin`).
- deprecate `ortho_smul_right` and `ortho_smul_left` since now provable from simp.
- remove uses of deprecated definitions.
- replace `IsOrtho` in undergrad.yaml by `iIsOrtho`.
See discussion at [#mathlib4 > Reorganizing bilinearity and orthogonality?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Reorganizing.20bilinearity.20and.20orthogonality.3F/with/582426197)
Due to too agressive simplification I had to remove simp from
- `QuadraticMap.associated_apply`
- `QuadraticMap.isOrtho_polarBilin`
---
- [x] depends on: #37389
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
112/97 |
Mathlib/Algebra/Lie/InvariantForm.lean,Mathlib/Algebra/Lie/TraceForm.lean,Mathlib/Algebra/Lie/Weights/Killing.lean,Mathlib/LinearAlgebra/BilinearForm/Orthogonal.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/QuadraticForm/IsometryEquiv.lean,Mathlib/LinearAlgebra/QuadraticForm/Radical.lean,Mathlib/LinearAlgebra/QuadraticForm/TensorProduct.lean,Mathlib/LinearAlgebra/QuadraticForm/TensorProduct/Isometries.lean,Mathlib/LinearAlgebra/RootSystem/Finite/Nondegenerate.lean,Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean,docs/undergrad.yaml |
12 |
10 |
['github-actions', 'martinwintermath', 'mathlib-dependent-issues', 'mcdoll', 'vihdzp'] |
nobody |
0-14389 3 hours ago |
6-30318 6 days ago |
6-84671 6 days |
| 39113 |
sgouezel author:sgouezel |
feat: integration by parts for stieltjes vector measures |
---
- [ ] depends on: #39614
- [x] depends on: #39615
- [ ] depends on: #39616
- [x] depends on: #39652
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
blocked-by-other-PR
|
1673/106 |
Mathlib.lean,Mathlib/Analysis/Normed/Group/InfiniteSum.lean,Mathlib/Analysis/Normed/Operator/Basic.lean,Mathlib/Data/ENNReal/Action.lean,Mathlib/MeasureTheory/Function/AEEqFun.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Basic.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL1.lean,Mathlib/MeasureTheory/Function/L1Space/HasFiniteIntegral.lean,Mathlib/MeasureTheory/Function/L1Space/Integrable.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/CompleteOfCompleteLp.lean,Mathlib/MeasureTheory/Integral/SetToL1.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/PreVariation.lean,Mathlib/MeasureTheory/VectorMeasure/Basic.lean,Mathlib/MeasureTheory/VectorMeasure/Integral.lean,Mathlib/MeasureTheory/VectorMeasure/SetIntegral.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Basic.lean,Mathlib/MeasureTheory/VectorMeasure/WithDensity.lean,Mathlib/MeasureTheory/VectorMeasure/WithDensityVec.lean,Mathlib/Probability/Martingale/Basic.lean,Mathlib/Probability/Martingale/Centering.lean |
22 |
3 |
['github-actions', 'mathlib-bors', 'mathlib-dependent-issues'] |
nobody |
0-14133 3 hours ago |
16-29462 16 days ago |
0-8 8 seconds |
| 39736 |
NoahW314 author:NoahW314 |
feat(RingTheory/MvPolynomial/MonomialOrder): add `leadingTerm` lemmas |
Add lemmas for `leadingTerm` to match those for `leadingCoeff`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
87/0 |
Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean |
1 |
5 |
['Hagb', 'NoahW314', 'github-actions'] |
nobody |
0-13307 3 hours ago |
2-53881 2 days ago |
2-53876 2 days |
| 38714 |
YaelDillies author:YaelDillies |
refactor(Algebra): make `MonoidAlgebra` into a one-field structure |
---
- [x] depends on: #26732
- [x] depends on: #28407
- [x] depends on: #28460
- [x] depends on: #28511
- [x] depends on: #29207
- [x] depends on: #30877
- [x] depends on: #31143
- [x] depends on: #31144
- [x] depends on: #32253
- [x] depends on: #32254
- [x] depends on: #32398
- [x] depends on: #32501
- [x] depends on: #32508
- [x] depends on: #32562
- [x] depends on: #32588
- [x] depends on: #32591
- [x] depends on: #32592
- [x] depends on: #32604
- [x] depends on: #32965
- [x] depends on: #33093
- [x] depends on: #33094
- [x] depends on: #33099
- [x] depends on: #33137
- [x] depends on: #33139
- [x] depends on: #33141
- [x] depends on: #33452
- [x] depends on: #33453
- [x] depends on: #33482
- [x] depends on: #33492
- [x] depends on: #36675
- [x] depends on: #36678
- [x] depends on: #36768
- [x] depends on: #36848
- [x] depends on: #36851
- [x] depends on: #37210
- [x] depends on: #37750
- [x] depends on: #37755
Port of #25273 to my fork
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-CI
large-import
label:t-algebra$ |
1910/1892 |
Mathlib/Algebra/FreeAlgebra/Cardinality.lean,Mathlib/Algebra/Lie/Loop.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Cardinal.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/MonoidAlgebra/Division.lean,Mathlib/Algebra/MonoidAlgebra/Grading.lean,Mathlib/Algebra/MonoidAlgebra/Ideal.lean,Mathlib/Algebra/MonoidAlgebra/Lift.lean,Mathlib/Algebra/MonoidAlgebra/MapDomain.lean,Mathlib/Algebra/MonoidAlgebra/Module.lean,Mathlib/Algebra/MonoidAlgebra/NoZeroDivisors.lean,Mathlib/Algebra/MonoidAlgebra/Opposite.lean,Mathlib/Algebra/MonoidAlgebra/PointwiseSMul.lean,Mathlib/Algebra/MonoidAlgebra/Support.lean,Mathlib/Algebra/MonoidAlgebra/ToDirectSum.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/Cardinal.lean,Mathlib/Algebra/MvPolynomial/CommRing.lean,Mathlib/Algebra/MvPolynomial/Degrees.lean,Mathlib/Algebra/MvPolynomial/Derivation.lean,Mathlib/Algebra/MvPolynomial/Division.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Eval.lean,Mathlib/Algebra/MvPolynomial/Funext.lean,Mathlib/Algebra/MvPolynomial/Monad.lean,Mathlib/Algebra/MvPolynomial/PDeriv.lean,Mathlib/Algebra/MvPolynomial/Rename.lean,Mathlib/Algebra/MvPolynomial/Supported.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Basis.lean,Mathlib/Algebra/Polynomial/Cardinal.lean,Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/Algebra/Polynomial/Degree/Defs.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/Eval/Coeff.lean,Mathlib/Algebra/Polynomial/HasseDeriv.lean,Mathlib/Algebra/Polynomial/Homogenize.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/Algebra/Polynomial/Module/Basic.lean,Mathlib/Algebra/Polynomial/OfFn.lean,Mathlib/Algebra/Polynomial/Reverse.lean,Mathlib/Algebra/Polynomial/UnitTrinomial.lean,Mathlib/Algebra/Ring/Subring/IntPolynomial.lean,Mathlib/Analysis/Fourier/BoundedContinuousFunctionChar.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/FieldTheory/Finite/Polynomial.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/LinearAlgebra/Finsupp/VectorSpace.lean,Mathlib/LinearAlgebra/FreeAlgebra.lean,Mathlib/LinearAlgebra/SymmetricAlgebra/Basis.lean,Mathlib/MeasureTheory/Measure/CharacteristicFunction/Basic.lean,Mathlib/MeasureTheory/Measure/LevyConvergence.lean,Mathlib/NumberTheory/BernoulliPolynomials.lean,Mathlib/NumberTheory/Height/MvPolynomial.lean,Mathlib/RepresentationTheory/Action.lean,Mathlib/RepresentationTheory/Basic.lean,Mathlib/RepresentationTheory/Coinduced.lean,Mathlib/RepresentationTheory/Equiv.lean,Mathlib/RepresentationTheory/Invariants.lean,Mathlib/RepresentationTheory/Rep/Basic.lean,Mathlib/RepresentationTheory/Rep/Iso.lean,Mathlib/RingTheory/Coalgebra/MonoidAlgebra.lean,Mathlib/RingTheory/Derivation/MapCoeffs.lean,Mathlib/RingTheory/Extension/Cotangent/Basis.lean,Mathlib/RingTheory/Extension/Generators.lean,Mathlib/RingTheory/Extension/Presentation/Basic.lean,Mathlib/RingTheory/Filtration.lean,Mathlib/RingTheory/FinitePresentation.lean,Mathlib/RingTheory/FiniteType.lean,Mathlib/RingTheory/Finiteness/Finsupp.lean,Mathlib/RingTheory/HopfAlgebra/MonoidAlgebra.lean,Mathlib/RingTheory/IsAdjoinRoot.lean,Mathlib/RingTheory/Kaehler/JacobiZariski.lean,Mathlib/RingTheory/MvPolynomial/Basic.lean,Mathlib/RingTheory/MvPolynomial/EulerIdentity.lean,Mathlib/RingTheory/MvPolynomial/FreeCommRing.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean,Mathlib/RingTheory/MvPolynomial/Ideal.lean,Mathlib/RingTheory/MvPolynomial/IrreducibleQuadratic.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/Defs.lean,Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean,Mathlib/RingTheory/MvPowerSeries/Trunc.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/Polynomial/IsIntegral.lean,Mathlib/RingTheory/Polynomial/Opposites.lean,Mathlib/RingTheory/PowerBasis.lean,Mathlib/RingTheory/Spectrum/Prime/Polynomial.lean,Mathlib/RingTheory/TensorProduct/MonoidAlgebra.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean,Mathlib/RingTheory/WittVector/StructurePolynomial.lean |
92 |
25 |
['Vierkantor', 'Whysoserioushah', 'YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'riccardobrasca'] |
nobody |
0-13046 3 hours ago |
26-13060 26 days ago |
0-788 13 minutes |
| 39692 |
YaelDillies author:YaelDillies |
chore(Algebra/Order/BigOperators): follow the `₀` naming convention |
We have long agreed that `MonoidWithZero` lemmas corresponding to `Monoid` lemmas should be suffixed with `₀`, while currently it is the `Monoid` lemmas that are primed.
Also deprecate two primed lemmas that only differed from the unprimed versions in a minor way.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-order
label:t-algebra$ |
283/219 |
Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/Group/Submonoid/Pointwise.lean,Mathlib/Algebra/Order/BigOperators/Group/Finset.lean,Mathlib/Algebra/Order/BigOperators/Group/List.lean,Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/Finset.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/Complex/Exponential.lean,Mathlib/Analysis/Complex/JensenFormula.lean,Mathlib/Analysis/InnerProductSpace/Orientation.lean,Mathlib/Analysis/InnerProductSpace/Subspace.lean,Mathlib/Analysis/Normed/Ring/Basic.lean,Mathlib/Analysis/Normed/Ring/InfiniteProd.lean,Mathlib/Analysis/ODE/DiscreteGronwall.lean,Mathlib/Analysis/Polynomial/MahlerMeasure.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Extremal.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/MeasureTheory/Constructions/Pi.lean,Mathlib/MeasureTheory/Measure/HasOuterApproxClosedProd.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean,Mathlib/NumberTheory/Bertrand.lean,Mathlib/NumberTheory/Height/Basic.lean,Mathlib/NumberTheory/Height/MvPolynomial.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Basic.lean,Mathlib/NumberTheory/Primorial.lean,Mathlib/NumberTheory/SelbergSieve.lean,Mathlib/NumberTheory/SiegelsLemma.lean,Mathlib/NumberTheory/SmoothNumbers.lean,Mathlib/Probability/ProductMeasure.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Eval.lean,Mathlib/Topology/Algebra/InfiniteSum/ENNReal.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean |
35 |
4 |
['github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
0-12848 3 hours ago |
0-12883 3 hours ago |
1-41968 1 day |
| 39814 |
riccardobrasca author:riccardobrasca |
chore: test fast_instance% everywhere |
---
[](https://gitpod.io/from-referrer/)
|
WIP |
587/416 |
Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/Algebra/RestrictScalars.lean,Mathlib/Algebra/Category/CoalgCat/Monoidal.lean,Mathlib/Algebra/Category/Grp/Preadditive.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Semi.lean,Mathlib/Algebra/Group/TypeTags/Finite.lean,Mathlib/Algebra/Group/ULift.lean,Mathlib/Algebra/GroupWithZero/ULift.lean,Mathlib/Algebra/Homology/Additive.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Linear.lean,Mathlib/Algebra/Homology/DerivedCategory/HomologySequence.lean,Mathlib/Algebra/Homology/HomotopyCategory/ShiftSequence.lean,Mathlib/Algebra/Homology/Monoidal.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Lie/Derivation/Basic.lean,Mathlib/Algebra/Lie/Free.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Algebra/Order/Group/Action/Flag.lean,Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Algebra/Order/Monoid/Units.lean,Mathlib/Algebra/Order/UpperLower.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/Algebra/Star/Unitary.lean,Mathlib/Algebra/Symmetrized.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean,Mathlib/AlgebraicTopology/SimplicialComplex/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplicesSubcomplex.lean,Mathlib/AlgebraicTopology/SimplicialSet/Simplices.lean,Mathlib/Analysis/CStarAlgebra/Module/Synonym.lean,Mathlib/Analysis/Convex/Body.lean,Mathlib/Analysis/Normed/Algebra/Unitization.lean,Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean,Mathlib/Analysis/Normed/Field/UnitBall.lean,Mathlib/Analysis/Normed/Group/Constructions.lean,Mathlib/Analysis/Normed/Group/Hom.lean,Mathlib/Analysis/Normed/Group/SemiNormedGrp.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/CategoryTheory/ConnectedComponents.lean,Mathlib/CategoryTheory/FinCategory/AsType.lean,Mathlib/CategoryTheory/FinCategory/Basic.lean,Mathlib/CategoryTheory/Galois/Topology.lean,Mathlib/CategoryTheory/Limits/Indization/Category.lean,Mathlib/CategoryTheory/Monoidal/CommGrp_.lean,Mathlib/CategoryTheory/Monoidal/CommMon_.lean,Mathlib/CategoryTheory/Monoidal/Limits/Basic.lean,Mathlib/CategoryTheory/Monoidal/Subcategory.lean,Mathlib/CategoryTheory/Monoidal/Widesubcategory.lean,Mathlib/CategoryTheory/ObjectProperty/Shift.lean,Mathlib/CategoryTheory/Shift/Quotient.lean,Mathlib/CategoryTheory/Sites/Precoverage.lean,Mathlib/CategoryTheory/Subfunctor/Basic.lean,Mathlib/Combinatorics/Enumerative/Composition.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/Combinatorics/Enumerative/IncidenceAlgebra.lean,Mathlib/Combinatorics/SimpleGraph/Dart.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Finsubgraph.lean,Mathlib/Combinatorics/SimpleGraph/Prod.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/Young/YoungDiagram.lean,Mathlib/Computability/TuringMachine/Tape.lean,Mathlib/Control/ULiftable.lean,Mathlib/Data/DFinsupp/Defs.lean,Mathlib/Data/DFinsupp/FiniteInfinite.lean,Mathlib/Data/DFinsupp/Module.lean,Mathlib/Data/DList/Instances.lean,Mathlib/Data/FinEnum.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/Finsupp/Fintype.lean,Mathlib/Data/Finsupp/Pointwise.lean,Mathlib/Data/Fintype/Basic.lean,Mathlib/Data/Fintype/Pi.lean,Mathlib/Data/Fintype/Sigma.lean,Mathlib/Data/Fintype/Units.lean,Mathlib/Data/Multiset/Fintype.lean,Mathlib/Data/PFun.lean,Mathlib/Data/Sym/Basic.lean,Mathlib/Data/ULift.lean,Mathlib/FieldTheory/Fixed.lean,Mathlib/FieldTheory/Galois/GaloisClosure.lean,Mathlib/FieldTheory/PerfectClosure.lean,Mathlib/FieldTheory/PolynomialGaloisGroup.lean,Mathlib/Geometry/Diffeology/Basic.lean,Mathlib/Geometry/Euclidean/Incenter.lean,Mathlib/Geometry/Manifold/Algebra/SmoothFunctions.lean,Mathlib/Geometry/Manifold/StructureGroupoid.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/FiniteIndexNormalSubgroup.lean,Mathlib/GroupTheory/GroupAction/ConjAct.lean,Mathlib/GroupTheory/GroupAction/DomAct/ActionHom.lean,Mathlib/GroupTheory/GroupAction/DomAct/Basic.lean,Mathlib/GroupTheory/GroupAction/OfQuotient.lean |
203 |
4 |
['github-actions', 'leanprover-radar', 'riccardobrasca'] |
nobody |
0-12819 3 hours ago |
0-23642 6 hours ago |
0-38 38 seconds |
| 39703 |
YaelDillies author:YaelDillies |
chore: create a `Basic` top folder |
Move a select few folders from `Logic` to a new `Basic` folder.
The goal is to finally move the material misplaced in the `Data` and `Logic` folder and to clarify the various expectations of each folder. Ultimately:
* the `Basic` folder will be about basic predicates on types and basic mathematical types not fitting in any other folder;
* the `Data` folder will be about data structures, instead of the current mix of data structures and basic mathematical types not fitting in any other folder;
* the `Logic` folder will be about advanced logic results not fitting in either `ModelTheory` or `SetTheory`, instead of the current mix of basic predicates on types and advanced logic results.
Many more files (~1000) could be moved, so I will do it in several PRs. Not all files should move to `Basic`. Some files should go to `Algebra.Order` instead (eg `Data.Nat.Lattice`) and some should be straight out deprecated (eg `Data.Analysis`).
---
This PR stems from discussions at the MI retreat 2026.
[](https://gitpod.io/from-referrer/)
|
file-removed
t-data
|
147/95 |
Counterexamples/Girard.lean,Mathlib.lean,Mathlib/Algebra/CharZero/Defs.lean,Mathlib/Algebra/Group/Irreducible/Defs.lean,Mathlib/Algebra/Group/Nat/Units.lean,Mathlib/Algebra/Group/Pi/Basic.lean,Mathlib/Algebra/Group/Units/Basic.lean,Mathlib/Algebra/Group/WithOne/Defs.lean,Mathlib/Algebra/GroupWithZero/Basic.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/Module/Presentation/Free.lean,Mathlib/Algebra/Module/Projective.lean,Mathlib/Algebra/NeZero.lean,Mathlib/Basic/Denumerable.lean,Mathlib/Basic/ExistsUnique.lean,Mathlib/Basic/IsEmpty.lean,Mathlib/Basic/IsEmpty/Basic.lean,Mathlib/Basic/IsEmpty/Defs.lean,Mathlib/Basic/Logic/Basic.lean,Mathlib/Basic/Logic/Lemmas.lean,Mathlib/Basic/Nonempty.lean,Mathlib/Basic/Nontrivial/Basic.lean,Mathlib/Basic/Nontrivial/Defs.lean,Mathlib/Basic/README.md,Mathlib/Basic/Unique.lean,Mathlib/Basic/UnivLE.lean,Mathlib/CategoryTheory/EssentiallySmall.lean,Mathlib/CategoryTheory/Limits/Types/Colimits.lean,Mathlib/CategoryTheory/Limits/Types/Limits.lean,Mathlib/CategoryTheory/UnivLE.lean,Mathlib/Combinatorics/Quiver/Path.lean,Mathlib/Computability/Primrec/Basic.lean,Mathlib/Data/Bool/Basic.lean,Mathlib/Data/FunLike/Basic.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/GetD.lean,Mathlib/Data/Nat/Basic.lean,Mathlib/Data/Nat/MaxPowDiv.lean,Mathlib/Data/Option/Basic.lean,Mathlib/Data/Quot.lean,Mathlib/Data/README.md,Mathlib/Data/Rat/Denumerable.lean,Mathlib/Data/TwoPointing.lean,Mathlib/Lean/Meta/CongrTheorems.lean,Mathlib/LinearAlgebra/Matrix/Defs.lean,Mathlib/Logic/Equiv/Defs.lean,Mathlib/Logic/Equiv/List.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/Logic/README.md,Mathlib/Order/OrderIsoNat.lean,Mathlib/Order/RelClasses.lean,Mathlib/Order/WithBot.lean,Mathlib/RingTheory/Coprime/Basic.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/UnivLE.lean,Mathlib/SetTheory/ZFC/Rank.lean,Mathlib/Tactic/CancelDenoms/Core.lean,Mathlib/Tactic/CongrExclamation.lean,Mathlib/Tactic/ITauto.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,Mathlib/Tactic/Nontriviality/Core.lean,Mathlib/Tactic/Push.lean,Mathlib/Tactic/Subsingleton.lean,Mathlib/Tactic/Tauto.lean,Mathlib/Testing/Plausible/Testable.lean,Mathlib/Topology/Order/UpperLowerSetTopology.lean,MathlibTest/Linter/PrivateModule/ImportOnly.lean,scripts/autolabel.lean,scripts/noshake.json |
69 |
7 |
['YaelDillies', 'github-actions', 'grunweg', 'joneugster', 'mathlib-merge-conflicts', 'themathqueen'] |
joneugster assignee:joneugster |
0-12459 3 hours ago |
0-12464 3 hours ago |
0-32896 9 hours |
| 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
---
- [x] depends on #37738
- [x] depends on #37740
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
awaiting-author
|
353/39 |
Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/Convex/Body.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/LinearAlgebra/Basis/Fin.lean,Mathlib/LinearAlgebra/FiniteDimensional/Lemmas.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/MeasureTheory/Group/GeometryOfNumbers.lean |
8 |
40 |
['Vierkantor', 'YaelDillies', 'github-actions', 'joneugster', 'khwilson', 'mathlib-merge-conflicts'] |
YaelDillies assignee:YaelDillies |
0-12204 3 hours ago |
0-12204 3 hours ago |
36-58533 36 days |
| 36487 |
samueloettl author:samueloettl |
feat(Dynamics): Ergodicity characterization |
---
- [ ] depends on: #35402
- [x] depends on: #35451
This is a work in progress for a characterization of ergodicity via a Birkhoff Average.
Coarse Feedback is very encouraged.
[](https://gitpod.io/from-referrer/)
|
WIP
new-contributor
large-import
blocked-by-other-PR
|
421/1 |
Mathlib/Dynamics/Ergodic/Function.lean,Mathlib/Dynamics/Ergodic/OnAverageIndependent.lean,Mathlib/Topology/MetricSpace/Pseudo/Basic.lean |
3 |
5 |
['github-actions', 'lua-vr', 'mathlib-dependent-issues', 'samueloettl'] |
nobody |
0-12173 3 hours ago |
75-7579 75 days ago |
0-163 2 minutes |
| 38245 |
RemyDegenne author:RemyDegenne |
feat: CountableSupClosed |
Define the property for a set of being closed by countable supremum (resp. infimum).
The new file is adapted from the `SupClosed` file, which describes sets closed by binary supremum.
Also use `to_dual` on `SupClosed`.
`CountableInfClosed` will be used in measure theory, for developments related to compact systems used for Kolmogorov's extension theorem and Choquet's capacitability theorem.
---
[](https://gitpod.io/from-referrer/)
|
t-order
brownian
|
381/66 |
Mathlib.lean,Mathlib/Order/CountableSupClosed.lean,Mathlib/Order/SupClosed.lean |
3 |
14 |
['RemyDegenne', 'b-mehta', 'github-actions', 'vihdzp'] |
nobody |
0-12111 3 hours ago |
0-12063 3 hours ago |
36-24499 36 days |
| 39829 |
or4nge19 author:or4nge19 |
feat(LinearAlgebra): basis flag lemmas and genEigenspace map |
Part 1/3 of #39139.
Introduces basis flag lemmas and intertwining `genEigenspace` map, using directly available constructors, ie introducing none (so improving on #39139)
Co-authored-by: [kuotsanhsu](https://github.com/kuotsanhsu) [learningstud@gmail.com](mailto:learningstud@gmail.com)
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
label:t-algebra$ |
76/2 |
Mathlib/LinearAlgebra/Basis/Flag.lean,Mathlib/LinearAlgebra/Eigenspace/Basic.lean |
2 |
1 |
['github-actions'] |
nobody |
0-11114 3 hours ago |
0-11172 3 hours ago |
0-11194 3 hours |
| 39831 |
wwylele author:wwylele |
feat(Topology): a preconnected set is discrete iff is subsingleton |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
9/0 |
Mathlib/Topology/Connected/TotallyDisconnected.lean |
1 |
1 |
['github-actions'] |
nobody |
0-10944 3 hours ago |
0-11026 3 hours ago |
0-11021 3 hours |
| 39815 |
sharky564 author:sharky564 |
feat(Analysis/Normed/Module/Complemented): add `IsCompl.isTopCompl_of_isClosed` and `isTopCompl_iff_isCompl_isClosed_isClosed` |
Adds two theorems:
- `IsCompl.isTopCompl_of_isClosed`: In a Banach space, two closed submodules that are algebraic complements are topological
- `isTopCompl_iff_isCompl_isClosed_isClosed`: `p` and `q` are topological complements if and only if `p` and `q` are algebraic complements and `p` and `q` are both closed.
---
This PR addresses the final point of #38416, and finally close it. However, this is no longer much of a refactor as it is more just adding these theorems in. |
t-analysis |
14/1 |
Mathlib/Analysis/Normed/Module/Complemented.lean |
1 |
3 |
['github-actions', 'themathqueen'] |
nobody |
0-10748 2 hours ago |
0-23650 6 hours ago |
0-23645 6 hours |
| 39816 |
WenrongZou author:WenrongZou |
chore(MvPolynomial): rename a lemma using prime |
This PR renames a lemma by adding a prime. Many other lemmas in (mv)polynomial theory also use a prime in their names for the same reason — their primed versions should be rewritten in the `xxx_eq_ite` form.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
easy
|
11/8 |
Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/RingTheory/MvPolynomial/IrreducibleQuadratic.lean,Mathlib/RingTheory/Smooth/IntegralClosure.lean,Mathlib/RingTheory/Spectrum/Prime/Polynomial.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean,scripts/nolints_prime_decls.txt |
6 |
4 |
['NoahW314', 'WenrongZou', 'github-actions'] |
nobody |
0-10703 2 hours ago |
0-23285 6 hours ago |
0-23280 6 hours |
| 37179 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph): add lemmas about left and right elements of `SimpleGraph.sum` |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
merge-conflict
|
18/0 |
Mathlib/Combinatorics/SimpleGraph/Sum.lean |
1 |
5 |
['WilliamCoram', 'b-mehta', 'github-actions', 'mathlib-merge-conflicts'] |
b-mehta assignee:b-mehta |
0-9930 2 hours ago |
0-79846 22 hours ago |
59-82614 59 days |
| 27579 |
RemyDegenne author:RemyDegenne |
feat: risk of an estimator, DeGroot statistical information, total variation distance |
This is an overview PR and will be cut into several pieces. It contains definitions and properties of:
- the risk and Bayes risk of an estimator, in general and then specialized to binary hypothesis testing
- the DeGroot statistical information between two measures, as well as a generalization for a kernel on more than two outcomes
- the total variation distance between measures, defined as a special case of the DeGroot statistical information
Co-authored-by: Lorenzo Luccioli @LorenzoLuccioli
From the TestingLowerBounds project
---
- [x] depends on: #27583
- [x] depends on: #27584
- [x] depends on: #27585
- [x] depends on: #27586
- [x] depends on: #27587
- [x] depends on: #27591
- [x] depends on: #28081
- [x] depends on: #28082
- [x] depends on: #28117
- [x] depends on: #28341
- [x] depends on: #29137
- [x] depends on: #29143
- [ ] depends on: #39810
- [ ] depends on: #39812
[](https://gitpod.io/from-referrer/)
|
WIP
large-import
t-measure-probability
blocked-by-other-PR
|
1562/1 |
Mathlib.lean,Mathlib/InformationTheory/TotalVariation/Basic.lean,Mathlib/Probability/Decision/AuxLemmas.lean,Mathlib/Probability/Decision/BayesEstimator.lean,Mathlib/Probability/Decision/Binary.lean,Mathlib/Probability/Decision/BoolMeasure.lean,Mathlib/Probability/Decision/DeGrootInfo.lean,Mathlib/Probability/Decision/Risk/Basic.lean,Mathlib/Probability/Decision/Risk/Countable.lean,Mathlib/Probability/Decision/RiskIncrease.lean |
10 |
7 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
0-9865 2 hours ago |
301-33667 301 days ago |
0-1 1 second |
| 39798 |
vihdzp author:vihdzp |
chore: use `notation3` for `Ordinal.typeLT` |
This creates a delaborator, which avoids goals from looking like `(type fun x1 x2 ↦ x1 < x2) < (type fun x1 x2 ↦ x1 < x2)`.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory
easy
awaiting-author
|
1/1 |
Mathlib/SetTheory/Ordinal/Basic.lean |
1 |
2 |
['YaelDillies', 'github-actions', 'vihdzp'] |
YaelDillies assignee:YaelDillies |
0-8222 2 hours ago |
0-41444 11 hours ago |
0-17799 4 hours |
| 39789 |
vihdzp author:vihdzp |
feat: a cofinal set has a cofinal subset of order type `(cof α).ord` |
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
38/20 |
Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Cardinal/Cofinality/Basic.lean,Mathlib/SetTheory/Cardinal/Cofinality/Ordinal.lean,Mathlib/SetTheory/Ordinal/Basic.lean |
4 |
2 |
['YaelDillies', 'github-actions'] |
nobody |
0-7999 2 hours ago |
0-8066 2 hours ago |
0-76837 21 hours |
| 39821 |
grunweg author:grunweg |
chore: rename manifold delaborators to match the naming convention |
Change from delab_foo to delabFoo (as these are Type-valued, not Prop-valued, so should be lowerCamelCase by naming rule 4).
And ensure to namespace all delaborators under manifold.
This should not need deprecations, as presumably these delaborators are never called directly.
---
[](https://gitpod.io/from-referrer/)
|
tech debt
t-differential-geometry
easy
t-meta
delegated
|
12/12 |
Mathlib/Geometry/Manifold/MFDeriv/NormedSpace.lean,Mathlib/Geometry/Manifold/Notation.lean,scripts/nolints.json |
3 |
4 |
['b-mehta', 'github-actions', 'grunweg', 'mathlib-bors'] |
nobody |
0-7857 2 hours ago |
0-7857 2 hours ago |
0-7775 2 hours |
| 39136 |
vihdzp author:vihdzp |
feat: more results on `Order.enum` |
Most importantly, we prove that the enumerator function of a (cofinal) set is normal iff the set is closed (under non-empty suprema).
---
- [x] depends on: #38362
- [x] depends on: #39137
[](https://gitpod.io/from-referrer/)
|
t-set-theory
t-order
|
74/4 |
Mathlib/Order/Cofinal.lean,Mathlib/SetTheory/Cardinal/Cofinality/Enum.lean |
2 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-7399 2 hours ago |
0-7472 2 hours ago |
0-7957 2 hours |
| 39803 |
vihdzp author:vihdzp |
feat: order type is monotone |
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory
easy
delegated
|
11/0 |
Mathlib/SetTheory/Ordinal/Basic.lean |
1 |
2 |
['b-mehta', 'github-actions', 'mathlib-bors'] |
nobody |
0-7362 2 hours ago |
0-7362 2 hours ago |
0-46807 13 hours |
| 39690 |
b-mehta author:b-mehta |
feat(Analysis/Complex/Exponential): add new bounds on exponential |
We add new upper bounds on Real.exp in terms of 2x/(2+x), and use these to move some bounds on log higher in mathlib.
We also add a lemma for the common bound (1+1/n)^n <= e, though this is a special-case of `one_sub_div_pow_le_exp_neg` (immediately before), but is added for convenience and discoverability, as this is a "well-known" bound.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
35/11 |
Mathlib/Analysis/Complex/Exponential.lean,Mathlib/Analysis/Complex/ExponentialBounds.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/Deriv.lean |
4 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
0-6977 1 hour ago |
1-78001 1 day ago |
3-20588 3 days |
| 39836 |
Timeroot author:Timeroot |
chore(CategoryTheory/Limits/Lattice): Fintype.elems -> Finset.univ |
Fintype.elems is not preferred, Finset.univ is the preferred usage. (These are the only two usages of Fintype.elems anywhere in Mathlib.)
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
t-data
easy
|
2/2 |
Mathlib/CategoryTheory/Limits/Lattice.lean |
1 |
1 |
['github-actions'] |
nobody |
0-6901 1 hour ago |
0-6982 1 hour ago |
0-6977 1 hour |
| 39832 |
kbuzzard author:kbuzzard |
perf: make Module.compHom a fast_instance |
I have no real idea what will happen here.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
label:t-algebra$ |
1/1 |
Mathlib/Algebra/Module/RingHom.lean |
1 |
5 |
['github-actions', 'kbuzzard', 'leanprover-radar'] |
nobody |
0-6883 1 hour ago |
0-10952 3 hours ago |
0-2 2 seconds |
| 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)
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
blocked-by-other-PR
label:t-algebra$ |
399/77 |
Mathlib/LinearAlgebra/Basis/Flag.lean,Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/LinearAlgebra/Eigenspace/Triangularizable.lean |
3 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
0-6760 1 hour ago |
0-6761 1 hour ago |
0-1607 26 minutes |
| 39786 |
Whysoserioushah author:Whysoserioushah |
feat(Projectivization/Colinear): Define colinearity for points in projective spaces |
---
- [ ] depends on: #39778
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
146/1 |
Mathlib.lean,Mathlib/LinearAlgebra/Projectivization/Colinear.lean,Mathlib/LinearAlgebra/Projectivization/Independence.lean,Mathlib/LinearAlgebra/Projectivization/Subspace.lean |
4 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
0-6748 1 hour ago |
0-6750 1 hour ago |
0-8367 2 hours |
| 39139 |
or4nge19 author:or4nge19 |
feat(LinearAlgebra): Schur triangulation |
Adds Schur triangulation API for algebraically closed `RCLike`, proved by triangularizing an endomorphism, aiming at a more mathlib idiomatic approach than the original one in #20730 as it now (better) specializes the existing triangularization API and generalizes supporting lemmas in more natural places. A prerequisite for porting `Matrix.det_exp` proof from physlib.
It also proves half of existing TODO in Eigenspace.Triangularizable. It may need a split into 2 PRs and coordination with #37006 .
See [this](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Contribute.20Schur.20decomposition/with/532385359) and [this](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/.28Matrix.20and.20NormedSpace.2Eexp.29.20.7C.20det.20.28exp.20A.29.20.3D.20exp.20.28trace.20A.29/with/581264603) zulip discussions.
Co-authored-by: [kuotsanhsu](https://github.com/kuotsanhsu)
---
[](https://gitpod.io/from-referrer/)
|
large-import
awaiting-author
|
687/75 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Analysis/InnerProductSpace/Triangularizable.lean,Mathlib/LinearAlgebra/Basis/Fin.lean,Mathlib/LinearAlgebra/Basis/Flag.lean,Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/LinearAlgebra/Eigenspace/Triangularizable.lean,Mathlib/LinearAlgebra/Matrix/Block.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Basic.lean,Mathlib/LinearAlgebra/Matrix/SchurTriangulation.lean |
10 |
5 |
['dagurtomas', 'github-actions', 'or4nge19', 'wwylele'] |
nobody |
0-6524 1 hour ago |
11-2390 11 days ago |
4-23931 4 days |
| 39830 |
kbuzzard author:kbuzzard |
perf: make FiniteAdeleRing implicit_reducible |
We have a ton of API for `RestrictedProduct` and I want to use it all on `FiniteAdeleRing`. We either duplicate all of it, or we make `FiniteAdeleRing` an abbrev, or we do something like tagging it `@[implicit_reducible]`. This PR makes it an `abbrev`.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-ring-theory
|
1/1 |
Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean |
1 |
10 |
['b-mehta', 'github-actions', 'kbuzzard', 'leanprover-radar'] |
nobody |
0-6163 1 hour ago |
0-10888 3 hours ago |
0-214 3 minutes |
| 39391 |
emlis42 author:emlis42 |
feat(MeasureTheory/Integral): add integral_congr_uIoo |
This PR adds some congruence lemmas for interval integrals under `NoAtoms μ` and golfs some lemmas.
| Lemma | Heartbeats | Proof Elaboration Time |
---- | ---- | ----
`LocallyIntegrable.ae_hasDerivAt_integral` | 7684 → 5235 (−2449, 31%) | 603ms → 445ms (−157ms, 26%)
`MonotoneOn.exists_tendsto_deriv_liminf_lintegral_enorm_le` | 31019 → 8388 (−22631, 73%) | 2475ms → 631ms (−1843ms, 74%)
`MonotoneOn.intervalIntegral_deriv_mem_uIcc` | 22680 → 5983 (−16697, 73%) | 1713ms → 537ms (−1175ms, 68%)
`AbsolutelyContinuousOnInterval.integral_deriv_mul_eq_sub` | 1475 → 845 (−630, 42%) | 92ms → 41ms (−50ms, 55%)
`fourierCoeff_liftIco_eq` | 1040 → 703 (−337, 32%) | 55ms → 41ms (−13ms, 24%)
`taylor_integral_remainder_aux` | 26585 → 18827 (−7758, 29%) | 2095ms → 1575ms (−520ms, 24%)
Profiled on top of commit `9e407aa1ef1be515a1bd0e1c1fc081d5b855f25e` using `set_option trace.profiler true in` and
```
set_option Elab.async false in
#count_heartbeats in
```
|
t-measure-probability
new-contributor
|
52/35 |
Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/Fourier/AddCircle.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/AbsolutelyContinuousFun.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/DerivIntegrable.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/LebesgueDifferentiationThm.lean |
6 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
0-5954 1 hour ago |
0-8770 2 hours ago |
9-1188 9 days |
| 39745 |
joneugster author:joneugster |
feat: install gh inside the devcontainer |
* Install `gh` automatically in the dev container, try to login on startup.
* Mount local `.gitconfig` in the container. This allows access to the globally configured git user name and such.
The motivation behind this PR is to provide a simple way of sandboxing PRs during review. In particular, keeping the .olean files, which originate from an untrusted fork, contained. During review, `gh pr checkout` is defacto a required tool.
Other tools like [bubble](https://github.com/kim-em/bubble#bubble) aim to address the same use case. However, vscode devcontainer are more mature and the setup is done with few lines of code, easy to understand.
---
### LLM usage
The line
```text
source=${localEnv:HOME}/.gitconfig,target=/home/vscode/.gitconfig,type=bind,consistency=cached
```
has been suggested by querying an LLM. It looks like this is what literature online seems to be using:
* https://github.com/microsoft/vscode/issues/265651
* https://marcandreuf.com/blog/2024-07-12-gitdevcont/
[](https://gitpod.io/from-referrer/)
|
CI |
14/1 |
.devcontainer/devcontainer.json,.gitignore |
2 |
1 |
['github-actions'] |
bryangingechen assignee:bryangingechen |
0-5638 1 hour ago |
0-5875 1 hour ago |
2-21720 2 days |
| 39839 |
b-mehta author:b-mehta |
feat(Data/Finset/Union): add attach_biUnion and attach_biUnion' |
Two simple lemmas relating `Finset.attach` and `Finset.biUnion`.
---
[](https://gitpod.io/from-referrer/)
|
t-data
easy
|
11/0 |
Mathlib/Data/Finset/Union.lean |
1 |
1 |
['github-actions'] |
nobody |
0-5485 1 hour ago |
0-5565 1 hour ago |
0-5560 1 hour |
| 39811 |
TheGoedeDoel author:TheGoedeDoel |
feat: add presheaf of submonoids |
This is useful for defining presheaves of localised modules.
Given a presheaf of monoids, we define a family of objects that
are submonoids and satisfy the property that the image
of each submonoid along the restriction maps is included in the
corresponding submonoid. We add an api for turning a presheaf '
of submonoids into a presheaf of monoids. There is an instance that
gives a complete lattice structure on presheaves of submonoids. We also
add the notion of range and comap presheaves. Lastly, we close the
file with the definition of a sheaf of submonoids and an api for
obtaining a sheaf of monoids.
https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Subfunctors.20with.20algebraic.20structure/with/587726088
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
new-contributor
|
185/0 |
Mathlib.lean,Mathlib/CategoryTheory/Subfunctor/SubmonoidFunctor.lean,mathlib4 |
3 |
40 |
['TheGoedeDoel', 'chrisflav', 'github-actions', 'quantumsnow'] |
chrisflav assignee:chrisflav |
0-5406 1 hour ago |
0-5487 1 hour ago |
0-6636 1 hour |
| 39842 |
b-mehta author:b-mehta |
feat(Data/Finset/SDiff): add disjoint_injOn_union_left and superset_injOn_sdiff |
Two lemmas describing injectivity properties of finset operations.
---
[](https://gitpod.io/from-referrer/)
|
t-data
easy
|
12/0 |
Mathlib/Data/Finset/SDiff.lean |
1 |
1 |
['github-actions'] |
nobody |
0-5134 1 hour ago |
0-5213 1 hour ago |
0-5208 1 hour |
| 37838 |
Thmoas-Guan author:Thmoas-Guan |
feat(FieldTheory): basic theories about transcendental separable extension |
The formalization of [Stacks 030W] via [Stacks 030U].
---
- [ ] depends on: #37934
- [x] depends on: #39138
- [ ] depends on: #39740
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
label:t-algebra$ |
626/15 |
Mathlib.lean,Mathlib/FieldTheory/PurelyInseparable/AdjoinPthRoots.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/FieldTheory/TranscendentalSeparable.lean |
4 |
4 |
['github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-5093 1 hour ago |
44-10739 44 days ago |
0-1271 21 minutes |
| 39141 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory/GeometricallyReduced): geometrically reduced is reduced for base change to arbitrary field |
In this PR, we proved that geometrically reduced algebra is reduced after base change to arbitrary field.
---
- [ ] depends on: #37838
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
blocked-by-other-PR
|
728/15 |
Mathlib.lean,Mathlib/FieldTheory/PurelyInseparable/AdjoinPthRoots.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/FieldTheory/TranscendentalSeparable.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-5079 1 hour ago |
15-11600 15 days ago |
0-986 16 minutes |
| 39556 |
b-mehta author:b-mehta |
feat(Data/Finset): add InjOn variants of image_{subset,eq}_image_iff |
These are useful for set family combinatorics
---
[](https://gitpod.io/from-referrer/)
|
easy
t-data
ready-to-merge
|
18/0 |
Mathlib/Data/Finset/Image.lean,Mathlib/Data/Finset/Powerset.lean |
2 |
3 |
['github-actions', 'mathlib-bors', 'mathlib-merge-conflicts', 'ocfnash'] |
nobody |
0-5075 1 hour ago |
6-16858 6 days ago |
0-50919 14 hours |
| 33864 |
Timeroot author:Timeroot |
feat(Computability/Primrec): Proving several Nat arithmetic functions are primrec |
Prove that gcd, lcm, coprimality, divisiblity, primality, factorial, descending factorial, powers, and various logarithms are all primitive recursive.
Co-authored-by: Aristotle Harmonic <[aristotle-harmonic@harmonic.fun](mailto:aristotle-harmonic@harmonic.fun)>
|
large-import
t-computability
|
195/4 |
Mathlib.lean,Mathlib/Computability/Primrec.lean,Mathlib/Computability/Primrec/List.lean,Mathlib/Computability/Primrec/Nat.lean,Mathlib/Data/Nat/Log.lean |
5 |
7 |
['eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
0-5058 1 hour ago |
0-3079 51 minutes ago |
47-23348 47 days |
| 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 |
0-4851 1 hour ago |
183-62444 183 days ago |
0-34649 9 hours |
| 39560 |
b-mehta author:b-mehta |
feat(Order/Filter/AtTopBot/Finset): relate atTop on Finset with Finset.card |
---
[](https://gitpod.io/from-referrer/)
|
t-order
delegated
auto-merge-after-CI
|
53/0 |
Mathlib/Order/Filter/AtTopBot/Finset.lean |
1 |
13 |
['SnirBroshi', 'b-mehta', 'github-actions', 'j-loreaux', 'mathlib-auto-merge', 'mathlib-bors'] |
nobody |
0-4419 1 hour ago |
5-69129 5 days ago |
0-80958 22 hours |
| 31018 |
joelriou author:joelriou |
feat(CategoryTheory): sharply smaller regular cardinals |
WIP
---
- [ ] depends on: #39669
- [ ] depends on: #39655
- [x] depends on: #30727
- [x] depends on: #31767
- [x] depends on: #29519
- [x] depends on: #29543
- [x] depends on: #29565
- [x] depends on: #29854
- [x] depends on: #30459
- [x] depends on: #30605
- [x] depends on: #31426
- [x] depends on: #31421
- [x] depends on: #30633
- [x] depends on: #30634
- [x] depends on: #30693
- [x] depends on: #30696
- [x] depends on: #30781
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
blocked-by-other-PR
|
870/7 |
Mathlib.lean,Mathlib/CategoryTheory/Presentable/Basic.lean,Mathlib/CategoryTheory/Presentable/CardinalDirectedPoset.lean,Mathlib/CategoryTheory/Presentable/SharplyLT.lean,Mathlib/Order/Category/PartOrdEmb.lean |
5 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
0-4279 1 hour ago |
209-4714 209 days ago |
0-1 1 second |
| 34909 |
SnirBroshi author:SnirBroshi |
feat(Data/Sym/Sym2): `fromRel` equivalence with `Sigma` over a `Quotient` |
Add a non-dependent recursor on members of a `fromRel` set, and the following `Equiv`s:
- The `fromRel` set of a symmetric relation `r` is equivalent to summing that set restricted to fibers of `f`.
- For a relation homomorphism `r →r r'` where `r` is symmetric, the `fromRel` set of `r` is equivalent to summing that set restricted to equivalence classes of `r'` using a `Subtype`.
---
I find this recursor pretty useful when dealing with `fromRel`, the idea came from a suggestion by @kmill [on Zulip](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Eq.2Erec.20with.20a.20constant.20does.20nothing.3A.20h.20.E2.96.B8.20c.20.3D.20c/near/565176948) for another `Sym2` conundrum.
[](https://gitpod.io/from-referrer/)
|
t-data
maintainer-merge
|
55/3 |
Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Data/Sym/Sym2.lean |
2 |
19 |
['SnirBroshi', 'bryangingechen', 'chrisflav', 'eric-wieser', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
eric-wieser assignee:eric-wieser |
0-4167 1 hour ago |
0-4167 1 hour ago |
82-39165 82 days |
| 37002 |
fbarroero author:fbarroero |
WIP |
WIP
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
WIP
|
109/0 |
Mathlib/RingTheory/Localization/Integral.lean |
1 |
2 |
['github-actions'] |
nobody |
0-4087 1 hour ago |
63-76869 63 days ago |
0-881 14 minutes |
| 39740 |
Thmoas-Guan author:Thmoas-Guan |
feat(FieldTheory): the field of adjoining all `p`th roots |
In this PR, we define the field extension of adjoining all `p`th roots to a field of characteristic `p`.
The definition is via defining it as the field itself with algebra map equal to frobenious. Thanks to @erdOne for this idea.
Co-authored by:@dleijnse
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
64/0 |
Mathlib.lean,Mathlib/FieldTheory/PurelyInseparable/AdjoinPthRoots.lean |
2 |
45 |
['Thmoas-Guan', 'chrisflav', 'erdOne', 'github-actions', 'plp127', 'vihdzp'] |
chrisflav assignee:chrisflav |
0-3966 1 hour ago |
0-5174 1 hour ago |
2-30836 2 days |
| 39827 |
kbuzzard author:kbuzzard |
perf: test radar |
Add comment to leaf file to see the behaviour reported by radar.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebraic-geometry
|
1/1 |
Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Point.lean |
1 |
5 |
['github-actions', 'kbuzzard', 'leanprover-radar'] |
nobody |
0-3957 1 hour ago |
0-11931 3 hours ago |
0-7 7 seconds |
| 39837 |
or4nge19 author:or4nge19 |
feat(LinearAlgebra): unitary block-triangular Schur triangulation |
Part 3/3 of (and improves on) #39139.
- `InnerProductSpace.Triangularizable`: Gram–Schmidt preserves `Basis.flag`; orthonormal
triangularizing basis; block-upper-triangular matrix in an orthonormal `finrank`-indexed basis.
- `Matrix.SchurTriangulation`: `exists_unitaryGroup_blockTriangular`
- [ ] depends on: #39834 [Part 2/3 of https://github.com/leanprover-community/mathlib4/pull/39139. ]
- [ ] depends on: #39829 [Part 1/3 of https://github.com/leanprover-community/mathlib4/pull/39139. ]
Co-authored-by: [kuotsanhsu](https://github.com/kuotsanhsu) [learningstud@gmail.com](mailto:learningstud@gmail.com)
---
[](https://gitpod.io/from-referrer/)
|
large-import
blocked-by-other-PR
|
577/76 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Triangularizable.lean,Mathlib/LinearAlgebra/Basis/Flag.lean,Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/LinearAlgebra/Eigenspace/Triangularizable.lean,Mathlib/LinearAlgebra/Matrix/SchurTriangulation.lean |
6 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
0-3858 1 hour ago |
0-3859 1 hour ago |
0-2882 48 minutes |
| 39475 |
ADedecker author:ADedecker |
feat: define LinearMap.QuasiInverse |
If the name "QuasiInverse" is considered too vague, I am open to suggestions.
This was written by @PatrickMassot and @CoolRmal at the May 2026 ICERM workshop as part of the project on Fredholm operators.
---
- [ ] depends on: #39468
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
465/8 |
Mathlib.lean,Mathlib/Algebra/Module/LinearMap/FiniteRange.lean,Mathlib/Algebra/Module/Submodule/Ker.lean,Mathlib/Algebra/Module/Submodule/Map.lean,Mathlib/Algebra/Module/Submodule/Range.lean,Mathlib/RingTheory/Noetherian/Basic.lean |
6 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
0-3791 1 hour ago |
0-3793 1 hour ago |
0-4906 1 hour |
| 39833 |
wwylele author:wwylele |
feat(Analysis/Meromorphic): const_smul lemma |
This allows more general scalar type than the existing `smul` ones
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
14/0 |
Mathlib/Analysis/Meromorphic/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
0-3702 1 hour ago |
0-10136 2 hours ago |
0-10131 2 hours |
| 39843 |
wwylele author:wwylele |
feat(Analysis/Meromorphic): non-zero meromorphic function has multiplicative inverse |
This is the core lemma to say that the equivalent classes of meromorphic functions have will-defined inverse
AI usage disclosure: Aristotle was used to draft the initial proof, and it was manually restructured.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
30/0 |
Mathlib/Analysis/Meromorphic/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
0-3659 1 hour ago |
0-3743 1 hour ago |
0-3738 1 hour |
| 39838 |
lua-vr author:lua-vr |
chore(Analysis/Normed/Group): deprecate duplicate `ofReal_norm_eq_enorm` |
`ofReal_norm` was kept for symmetry with `toReal_enorm`, but was given a direct proof.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
34/35 |
Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Group/Real.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL1.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Real.lean,Mathlib/MeasureTheory/Function/L1Space/HasFiniteIntegral.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Indicator.lean,Mathlib/MeasureTheory/Function/LpSpace/Complete.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Integral/Bochner/SumMeasure.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Norm.lean,Mathlib/MeasureTheory/Integral/Prod.lean,Mathlib/MeasureTheory/Integral/SetToL1.lean,Mathlib/Probability/Distributions/Fernique.lean,Mathlib/Probability/Kernel/Composition/IntegralCompProd.lean,Mathlib/Probability/Kernel/Disintegration/CondCDF.lean,Mathlib/Probability/Moments/Tilted.lean,scripts/nolints_prime_decls.txt |
19 |
1 |
['github-actions'] |
nobody |
0-3580 59 minutes ago |
0-3580 59 minutes ago |
0-3575 59 minutes |
| 35733 |
mkaratarakis author:mkaratarakis |
feat: Algebraic setup and matrix coefficients for Gelfond-Schneider theorem |
This PR introduces the foundational algebraic setup and coefficient bounds required for the proof of the Gelfond-Schneider Theorem (Hilbert's Seventh Problem), which establishes that for algebraic numbers $\alpha \neq 0, 1$ and irrational algebraic $\beta$, the number $\alpha^\beta$ is transcendental.
Following the contradiction argument presented in Loo-Keng Hua's "Introduction to Number Theory" (Chapter 17.9, 490 -493) Gelfond's Proof), this file constructs the common number field $K$ and sets up the scaled algebraic integers for the auxiliary linear system. This system will later be solved via Siegel's lemma (Lemma 8.2, 490, Hua).
This PR is essentially the first half of page 490 in the book.
The proof proceeds by assuming $\gamma = \alpha^\beta$ is algebraic, meaning $\alpha$, $\beta$, and $\gamma$ all lie in an algebraic field $K$ of degree $h$.
1. Bundles the common number field $K$, the complex embeddings, and the algebraic preimages $\alpha', \beta', \gamma'$, alongside the core hypotheses of the theorem.
2. Defines the field degree $h = [K : \mathbb{Q}]$, and bounds $m = 2h + 2$ and $n = q^2 / (2m)$ to control the dimensions of the linear system.
3. Defines $c_1$, a natural number chosen so that $c_1 \alpha$, $c_1 \beta$, and $c_1 \gamma$ are algebraic integers in $K$. We prove numerous bounding and integrality lemmas (`isIntegral_c₁α`, `isInt_β_bound`, etc.).
4. Formalizes the core algebraic coefficients $(a+b\beta)^k \alpha^{al} \gamma^{bl}$ which appear in the evaluation of the derivatives of the auxiliary function $R(x)$.
5. By scaling the system by $c_1^{n-1+2mq}$, we successfully restrict the entries of our linear system matrix `A` entirely to the ring of integers $\mathcal{O}_K$, preparing it for the application of Siegel's lemma.
6. House Bounds (`c₂`) : Establishes the foundational base integer $c_2$ to bound the absolute values of the conjugates (houses) of our coefficients.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
awaiting-author
|
724/48 |
Mathlib.lean,Mathlib/NumberTheory/NumberField/House.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlg.lean,Mathlib/RingTheory/Algebraic/NatDenominator.lean,Mathlib/RingTheory/IntegralClosure/Algebra/Basic.lean |
5 |
26 |
['MichaelStollBayreuth', 'github-actions', 'mathlib-merge-conflicts', 'mkaratarakis', 'tb65536'] |
tb65536 assignee:tb65536 |
0-3349 55 minutes ago |
0-21118 5 hours ago |
47-24448 47 days |
| 38488 |
b-mehta author:b-mehta |
feat(Data/Finset/Card): iterating a function's image on a finite set stabilises |
...and does so in a bounded number of steps (which is why this is Finset-specific).
In a later PR, I'll add this for endofunctions on a fintype, as well as add a Set.Finite version.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
35/0 |
Mathlib/Data/Finset/Card.lean,Mathlib/Data/Finset/Image.lean |
2 |
17 |
['SnirBroshi', 'b-mehta', 'github-actions'] |
joneugster assignee:joneugster |
0-3254 54 minutes ago |
0-3338 55 minutes ago |
30-65126 30 days |
| 39845 |
chrisflav author:chrisflav |
chore(CategoryTheory/Functor): more API for dense functors |
Given a dense functor `F : C ⥤ D`, we provide an isomorphism `F.leftKanExtension F ≅ 𝟭 D`. We also provide the instance that `yoneda` is dense.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
43/0 |
Mathlib/CategoryTheory/Functor/KanExtension/Dense.lean,Mathlib/CategoryTheory/Functor/KanExtension/DenseAt.lean |
2 |
1 |
['github-actions'] |
nobody |
0-2941 49 minutes ago |
0-3019 50 minutes ago |
0-3014 50 minutes |
| 39061 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Walk/Paths): a trail which isn't a path has a cycle subwalk |
- `p.IsPath ↔ ∀ (v : V) (w : G.Walk v v), w.IsSubwalk p → w.Nil`
- `p.IsTrail → (p.IsPath ↔ ∀ (v : V) (w : G.Walk v v), w.IsSubwalk p → ¬w.IsCycle)`
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
delegated
|
36/4 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean |
3 |
10 |
['Rida-Hamadani', 'SnirBroshi', 'b-mehta', 'github-actions', 'mathlib-bors'] |
nobody |
0-2872 47 minutes ago |
0-7801 2 hours ago |
15-18379 15 days |
| 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`.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory
awaiting-CI
|
316/151 |
Mathlib/Algebra/FreeAlgebra/Cardinality.lean,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/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 |
2 |
['acmepjz', 'github-actions'] |
nobody |
0-2819 46 minutes ago |
0-47644 13 hours ago |
0-242 4 minutes |
| 37939 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(Order/Completion): embed a linear order into a dense and complete linear order |
The aim of the PR is to prove the following theorem that will be used as an input to [Sion.DMCompletion.exists_isSaddlePointOn](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Sion.html#Sion.DMCompletion.exists_isSaddlePointOn) :
*If `β` is any linear order, then there exists a complete and dense linear order `γ` together with a continuous embedding `ι : β ↪o γ` (for the order topologies on `β` and `γ`).*
Meanwhile, the PR also records various instances about dense orders and lemmas regarding the Dedekind MacNeille completion and lexicographic orders.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
211/4 |
Mathlib.lean,Mathlib/Data/Prod/Lex.lean,Mathlib/Order/Completion.lean,Mathlib/Topology/Order/Completion.lean,Mathlib/Topology/Sion.lean |
5 |
65 |
['ADedecker', 'AntoineChambert-Loir', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
vihdzp assignee:vihdzp |
0-2684 44 minutes ago |
0-10198 2 hours ago |
35-21030 35 days |
| 39274 |
ADedecker author:ADedecker |
WIP: Fredholm operators |
---
- [ ] depends on: #39468
- [ ] depends on: #39475
- [ ] depends on: #39100
- [ ] depends on: #39525
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
merge-conflict
|
1555/1 |
Mathlib.lean,Mathlib/Analysis/Normed/Operator/Perturbation/StrictByFinite.lean,Mathlib/Topology/Algebra/Module/FredholmOperators.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-2536 42 minutes ago |
unknown |
0-0 0 seconds |
| 39825 |
adomani author:adomani |
ci(decls-diff): scaffold a post-build, Lean-aware PR-summary refresh |
## Reference
Adds the scaffolding for a `workflow_run`-triggered job that refreshes the
existing `### PR summary` comment's `#### Declarations diff` section with a
Lean-aware diff, replacing the regex-based pre-build content once the Build
completes successfully.
Net additions (six files; ~1040 lines):
| File | Purpose |
| --- | --- |
| `.github/workflows/build_template.yml` (modified, +25 / −5) | Adds a dump step after `lake exe graph` that emits `decls.txt` + `imports.json` from the just-loaded env; bundles them into the existing `import-graph` artifact with a 90/7-day retention split (master / non-master). |
| `.github/workflows/decls-diff.yml` (new) | Post-build workflow (`workflow_run` + `workflow_dispatch`). Downloads the PR-build's artifact and the merge-base's master artifact; computes the Lean-aware diff; PATCHes the PR-summary comment. |
| `.github/actions/decls-diff/action.yml` (new) | Composite action consuming the two `decls.txt` files; emits a Markdown override snippet + raw `+/-NAME` diff. No env loading. |
| `.github/actions/decls-diff/updateDeclsDiffSection.py` (new) | Python comment patcher (\`MODE=success\` surgically replaces the section; \`MODE=warning\` appends a "merge master and retry" \`\` block on cache-missing). Idempotent. |
| `scripts/dumpReasonableDecls.lean` (new) | Single Lean script: dumps a sorted list of "reasonable" declarations (matches the filter Lean's auto-completion and most Mathlib linters use) and a JSON of transitive-import counts (using \`Lean.Environment.importGraph\` + \`NameMap.transitiveClosure\` from the \`importGraph\` package). Both outputs in one \`withImportModules\` env load. |
| `scripts/declsDiff.sh` (new) | Thin driver that takes two pre-computed `decls.txt` files and emits the Markdown override snippet. Used by the composite action above. |
## Explanation
The existing pre-build `PR_summary.yml` workflow uses a regex pass over `git
diff` (`scripts/declarations_diff.sh`) and a Python directory-walker
(`scripts/count-trans-deps.py` in mathlib-ci) to produce the
`#### Declarations diff` and `#### Import changes for modified files`
sections of the PR summary comment. Both have known accuracy gaps:
- **Declarations diff (regex):** can't see `to_additive`/`to_dual`/`to_op`
autogenerated declarations (their names don't appear in `git diff`), and
miscounts anything renamed across files. The Lean-aware version reads
`env.constants` from the compiled environment, so it captures every
declaration that actually exists in the env.
- **Transitive-imports counter (regex):** the current `^(public )?import\s+(?P[.*)`
pattern captures everything after `import ` as the module name, including
trailing `-- shake: keep` annotations and similar comments. Any file with
such a comment has its transitive count silently truncated. Empirically,
this affects ~all 8086 Mathlib modules — median undercount is +92,
worst case +1204 transitive imports vs. the Lean-aware value.
The post-build workflow consumes artifacts that Build *already* produces (this
PR just extends the `import-graph` artifact to also include the two new
files), so the only added cost on Build is one extra `lake env lean --run`
invocation — ~3-5 min on hot page cache. The post-build workflow itself does
no env loading: two artifact downloads + a file-level diff + a comment PATCH,
~30 seconds end to end.
## How to test
This PR targets a `ci-dev/*` branch. To trigger:
1. Navigate to .
2. Run workflow on \`ci-dev/lean-aware-decls-diff\`.
3. Watch the Build job; verify the new \"dump declarations and transitive-import counts for PR summary\" step succeeds and adds \`decls.txt\` / \`imports.json\` to the \`import-graph\` artifact.
4. Once Build is green, manually trigger the \`Declarations diff (post-build)\` workflow via its own \`workflow_dispatch\` button, passing the \`run_id\` of the just-completed Build. The workflow_run trigger doesn't auto-fire from a non-default branch's workflow file, so the dispatch button is the testing escape hatch — once this lands on master, the workflow_run side starts firing automatically.
5. The expected result on a real PR is a PATCH to the \`### PR summary\` comment that swaps the regex-based \`#### Declarations diff\` section for the Lean-aware version (stamped with \`> ✅ **Lean-aware diff** …\`).
The first few CI-dev runs will exercise just the Build-side extension. Once the artifact shape is confirmed, the post-build workflow can be exercised by pointing its \`workflow_dispatch\` at a recent Build run.
## Follow-ups (not in this PR)
- **mathlib-ci PR**: extract the inline body-builder from `PR_summary.yml`
into `scripts/pr_summary/build_summary_body.sh` and add four override
env vars (`DECLS_DIFF_OVERRIDE_FILE`, `DECLS_DIFF_TRAILER_FILE`,
`BASE_JSON`, `HEAD_JSON`). Behaviour-preserving on its own. Once it
lands, this workflow can stop using the surgical patcher and instead
call `build_summary_body.sh` to regenerate the *full* PR summary body —
which makes the `#### Import changes for modified files` section
Lean-aware too (it just consumes the `imports.json` files).
- **Comment-format alignment**: keep the existing
`* N added declarations` bullet wording and conditional
`]` wrapping (already matched here).
- **Optional optimisation**: instead of recomputing prep inputs in
`decls-diff.yml`, have `PR_summary.yml` upload them as a sibling
artifact and have this workflow consume it. Saves ~30 s. |
CI |
1195/5 |
.github/actions/decls-diff/action.yml,.github/actions/decls-diff/updateDeclsDiffSection.py,.github/workflows/build_template.yml,.github/workflows/ci_dev.yml,.github/workflows/decls-diff.yml,scripts/README.md,scripts/declsDiff.sh,scripts/dumpReasonableDecls.lean |
8 |
1 |
['github-actions'] |
nobody |
0-2515 41 minutes ago |
unknown |
0-0 0 seconds |
| 36888 |
CoolRmal author:CoolRmal |
feat: generalize some lemmas by using conditional Jensen |
This PR includes two possible ways of generalizing `integral_abs_condExp_le`:
1. Replace absolute values with norms.
2. Consider absolute values defined on a lattice with a solid norm.
We also prove that if a function is in Lp then its conditional expectation is also in Lp. In order to prove these results, some of the lemmas about essSup are generalized to conditionally complete lattices.
Created with the help of Codex.
---
- [x] depends on: #36877
- [x] depends on: #39104
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
250/140 |
Mathlib/MeasureTheory/Function/ConditionalExpectation/Basic.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondJensen.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Real.lean,Mathlib/MeasureTheory/Measure/Trim.lean,Mathlib/Probability/CondVar.lean,Mathlib/Probability/Martingale/BorelCantelli.lean,Mathlib/Probability/Martingale/Centering.lean |
7 |
30 |
['CoolRmal', 'EtienneC30', 'RemyDegenne', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
EtienneC30 assignee:EtienneC30 |
0-1903 31 minutes ago |
0-58662 16 hours ago |
6-83234 6 days |
| 39835 |
chrisflav author:chrisflav |
feat(CategoryTheory): universal property of `Ind C` |
This contribution was created as part of the "Formalization of Anabelian Geometry" conference in Tokyo, July 2025.
Co-authored by: Dagur Asgeirsson
---
- [ ] depends on: #39845
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
large-import
blocked-by-other-PR
|
370/0 |
Mathlib.lean,Mathlib/CategoryTheory/EssentialImage.lean,Mathlib/CategoryTheory/Functor/KanExtension/Adjunction.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Functor/KanExtension/Dense.lean,Mathlib/CategoryTheory/Functor/KanExtension/DenseAt.lean,Mathlib/CategoryTheory/Functor/KanExtension/Pointwise.lean,Mathlib/CategoryTheory/Limits/Indization/Category.lean,Mathlib/CategoryTheory/Limits/Indization/UniversalProperty.lean,Mathlib/CategoryTheory/Limits/Preserves/Filtered.lean |
10 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
0-1617 26 minutes ago |
0-8012 2 hours ago |
0-1 1 second |
| 39826 |
wwylele author:wwylele |
feat(Analysis): field of meromorphic functions |
AI usage disclosure: used Aristotle to verify the correctness of a few lemma, but the proof have been rewritten
---
- [ ] depends on: #39828
- [ ] depends on: #39831
- [ ] depends on: #39833
- [ ] depends on: #39843
[](https://gitpod.io/from-referrer/)
|
t-topology
blocked-by-other-PR
|
368/0 |
Mathlib.lean,Mathlib/Analysis/Meromorphic/Basic.lean,Mathlib/Analysis/Meromorphic/Field.lean,Mathlib/Topology/Connected/TotallyDisconnected.lean,Mathlib/Topology/DiscreteSubset.lean |
5 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
0-1615 26 minutes ago |
unknown |
0-0 0 seconds |
| 39813 |
kim-em author:kim-em |
feat(GroupTheory/Fitting): prove Fitting's theorem |
This PR adds Fitting's theorem: the join of two normal nilpotent subgroups of a group is nilpotent. The main result is `Subgroup.isNilpotent_sup_of_normal`, in the new file `Mathlib/GroupTheory/Fitting.lean`.
The proof uses the new subgroup-valued `Subgroup.lowerCentralSeries` (introduced in #39844): the iterated commutator of a subgroup `S` with itself, computed in the ambient group `G`, is `S.lowerCentralSeries n`. The argument bounds `(H ⊔ K).lowerCentralSeries n` by a diagonal `⨆ i ≤ n, H.lowerCentralSeries i ⊓ K.lowerCentralSeries (n - i)`, which vanishes once `n` exceeds `c + d` (the sum of nilpotency classes). The bound produced is `max c d + (c + d)` rather than the sharp `c + d` from the three-subgroups lemma; Fitting's theorem as commonly stated only asserts existence of nilpotency.
Diff against #39844:
- [ ] depends on: #39844
🤖 Prepared with Aristotle, Claude Code, and Codex |
t-group-theory
blocked-by-other-PR
|
408/130 |
Mathlib.lean,Mathlib/GroupTheory/Commutator/Basic.lean,Mathlib/GroupTheory/Fitting.lean,Mathlib/GroupTheory/Nilpotent.lean,docs/references.bib |
5 |
8 |
['SnirBroshi', 'github-actions', 'kim-em', 'mathlib-bors', 'mathlib-dependent-issues'] |
nobody |
0-1612 26 minutes ago |
0-24400 6 hours ago |
0-3732 1 hour |
| 39706 |
justus-springer author:justus-springer |
chore(RingTheory/Smooth/Basic): fix namespace of `mvPolynomial` instance |
This instance should be in the `FormallySmooth` namespace (it currently is just `Algebra.mvPolynomial`).
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
easy
delegated
awaiting-CI
|
5/3 |
Mathlib/RingTheory/Smooth/Basic.lean,Mathlib/RingTheory/Smooth/Quotient.lean |
2 |
4 |
['github-actions', 'justus-springer', 'mathlib-bors', 'ocfnash'] |
nobody |
0-1346 22 minutes ago |
0-10955 3 hours ago |
3-1467 3 days |
| 39841 |
hawkrobe author:hawkrobe |
feat(RingTheory/HopfAlgebra): primitive-generated construction |
Adds `HopfAlgebra.ofPrimitives` which builds a Hopf algebra structure on a bialgebra generated by primitive elements, given a candidate anti-algebra hom that sends each generator to its negation.
---
This is meant to be a proof of concept for this construction that can be split if needed!
* [ ] depends on #39785 |
t-ring-theory
new-contributor
|
293/22 |
Mathlib.lean,Mathlib/RingTheory/Bialgebra/Primitive.lean,Mathlib/RingTheory/HopfAlgebra/Basic.lean,Mathlib/RingTheory/HopfAlgebra/Primitive.lean,Mathlib/RingTheory/HopfAlgebra/TensorProduct.lean |
5 |
2 |
['github-actions'] |
nobody |
0-1175 19 minutes ago |
0-1079 17 minutes ago |
0-2905 48 minutes |
| 39602 |
b-mehta author:b-mehta |
chore(Mathlib/Tactic): stop norm_num importing the Bochner integral |
Motivation: importing `Mathlib.Tactic.NormNum` shouldn't require us to build the Bochner integral and fundamental theorem of algebra.
---
[](https://gitpod.io/from-referrer/)
|
tech debt |
45/23 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Complex/CircleAddChar.lean,Mathlib/NumberTheory/LegendreSymbol/AddCharacter.lean,Mathlib/NumberTheory/LegendreSymbol/Cyclotomic.lean |
4 |
16 |
['MichaelStollBayreuth', 'adomani', 'b-mehta', 'github-actions', 'grunweg', 'leanprover-radar'] |
grunweg assignee:grunweg |
0-1086 18 minutes ago |
0-2031 33 minutes ago |
1-45485 1 day |
| 39793 |
grunweg author:grunweg |
feat: check for larger overlap windows in the dupNamespace linter |
---
- [ ] depends on: #39794
[](https://gitpod.io/from-referrer/)
|
t-linter
awaiting-CI
|
123/10 |
Mathlib/Tactic/Linter/Lint.lean,MathlibTest/Lint.lean |
2 |
12 |
['SnirBroshi', 'github-actions', 'grunweg', 'kim-em', 'mathlib-dependent-issues'] |
nobody |
0-709 11 minutes ago |
0-73811 20 hours ago |
0-1 1 second |
| 39533 |
b-mehta author:b-mehta |
feat(Data/Finset/Image): add image_comp and image_comp_image |
The statement `image_comp` is worth adding because it matches the Set version, and also is more useful for rewriting in the forward direction.
---
[](https://gitpod.io/from-referrer/)
|
t-data
awaiting-author
|
13/0 |
Mathlib/Data/Finset/Image.lean,Mathlib/Data/Set/Image.lean |
2 |
3 |
['github-actions', 'j-loreaux', 'themathqueen'] |
nobody |
0-424 7 minutes ago |
5-85611 5 days ago |
1-6137 1 day |
| 39844 |
kim-em author:kim-em |
feat(GroupTheory): subgroup-valued lower central series |
This PR replaces `Subgroup.lowerCentralSeries (G : Type*)` with the more general `Subgroup.lowerCentralSeries (S : Subgroup G)`, the iterated commutator `⁅⁅⋯⁅S, S⁆, S⁆⋯, S⁆` of `S` with itself viewed in the ambient group `G`. The classical lower central series of `G` becomes the case `S = ⊤`; most of the existing API (`_zero`, `_succ`, `_antitone`, `_le_self`, `_mono`, `map_*`, the prod and pi versions) generalizes to arbitrary subgroups, and the proofs of `Subgroup.isNilpotent` and `Subgroup.nilpotencyClass_le` shed the `.map S.subtype` plumbing.
Motivation: requested on [#mathlib4 > Subgroup.lowerCentralSeries](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Subgroup.2ElowerCentralSeries/near/597532296); needed to clean up the Fitting's theorem PR (#39813).
🤖 Prepared with Claude Code |
t-group-theory
awaiting-author
|
207/130 |
Mathlib/GroupTheory/Nilpotent.lean |
1 |
9 |
['github-actions', 'tb65536'] |
nobody |
0-157 2 minutes ago |
0-1134 18 minutes ago |
0-2190 36 minutes |
| 39840 |
b-mehta author:b-mehta |
feat(Data/Finset/Card): add card_{pair,triple}_eq_iff |
Two simple lemmas which characterise when explicit finsets have maximal size.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
11/1 |
Mathlib/Data/Finset/Card.lean |
1 |
1 |
['github-actions'] |
nobody |
0-31 31 seconds ago |
0-4854 1 hour ago |
0-636 10 minutes |