Helping out: short tasks

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

This dashboard was last updated on: June 02, 2026 at 14:55 UTC

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

Number Author Title Description Labels +/- Modified files (first 100) 📝 💬 All users who commented or reviewed Assignee(s) Updated Last status change total time in review
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
272-54042
8 months ago
281-5196
281 days ago
0-19244
5 hours
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) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory awaiting-author merge-conflict 581/185 Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Decomposition.lean,Mathlib/Algebra/DirectSum/Finsupp.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Basic.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Submodule.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean 10 23 ['github-actions', 'mariainesdff', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] mariainesdff
assignee:mariainesdff
83-150
2 months ago
83-150
82 days ago
22-61022
22 days
33466 Shreyas4991
author:Shreyas4991
refactor(Combinatorics/Digraph): add vertex sets --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
81-31859
2 months ago
81-31859
81 days ago
27-54021
27 days
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology new-contributor blocked-by-other-PR merge-conflict 393/1 Mathlib.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib 4 5 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
35-55247
1 month ago
60-79747
60 days ago
0-562
9 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor awaiting-author
label:t-algebra$
81/1 Mathlib/Algebra/Order/Quantale.lean 1 5 ['NoahW314', 'PieterCuijpers', 'chrisflav', 'github-actions'] mariainesdff
assignee:mariainesdff
28-5340
28 days ago
34-83995
34 days ago
39-15412
39 days
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
23-75462
23 days ago
23-75527
23 days ago
0-37210
10 hours
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
16-47104
16 days ago
130-83527
130 days ago
40-36049
40 days
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
8-7105
8 days ago
8-7498
8 days ago
8-7248
8 days
39877 kim-em
author:kim-em
feat(ci): cross-reference tag review via post-build dump + workflow_run shim This PR adds the cross-reference tag review pipeline on the mathlib4 side. Three new steps in `post_steps` of [build_template.yml](.github/workflows/build_template.yml) run `scripts/dump_crossref_tags.lean`, upload its TSV unconditionally as a plain `crossref-tags-baseline` artifact (30-day retention), and on PR builds also emit a privileged `crossref-tags-bridge` via [`privilege-escalation-bridge`](https://github.com/leanprover-community/privilege-escalation-bridge). A new [crossref_review.yml](.github/workflows/crossref_review.yml) workflow_run listener consumes the bridge, caches and pre-builds `crossref-render` from a pinned [external-tags](https://github.com/leanprover-community/external-tags) ref, and invokes the orchestrator in [mathlib-ci #44](https://github.com/leanprover-community/mathlib-ci/pull/44). Trust model: the privileged job runs only code from `mathlib-ci@` (which in turn only runs `external-tags@`). The TSV is parsed as untrusted data; user-controllable fields are escaped before going into the bot comment. - [ ] depends on: #39876 🤖 Prepared with [Claude Code](https://claude.com/claude-code) CI blocked-by-other-PR 265/0 .github/workflows/build_template.yml,.github/workflows/crossref_review.yml,scripts/README.md,scripts/dump_crossref_tags.lean 4 2 ['github-actions', 'mathlib-dependent-issues'] nobody
6-1845
6 days ago
unknown
unknown
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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'] mattrobball
assignee:mattrobball
4-48566
4 days ago
32-1247
32 days ago
45-75554
45 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'] sgouezel
assignee:sgouezel
4-48559
4 days ago
19-43125
19 days ago
19-42875
19 days
40020 kbuzzard
author:kbuzzard
wip --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
38/27 Mathlib/Algebra/Group/Pi/Basic.lean 1 4 ['github-actions', 'kbuzzard', 'leanprover-radar'] nobody
3-80661
3 days ago
3-78415
3 days ago
3-78165
3 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 merge-conflict 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 7 ['eric-wieser', 'github-actions', 'grunweg', 'marcelolynch', 'mathlib-merge-conflicts', 'urkud'] nobody
3-48794
3 days ago
3-48795
3 days ago
15-20152
15 days
34875 banrovegrie
author:banrovegrie
feat(LinearAlgebra/Matrix): add Sherman-Morrison formula Mathlib has the matrix determinant lemma (`det_add_replicateCol_mul_replicateRow` in SchurComplement.lean) but lacked the corresponding inverse formula. This PR fills that gap. - Add `Matrix.inv_add_vecMulVec`: Sherman-Morrison formula for `(A + uv^T)^{-1}` - Add `Matrix.inv_sub_vecMulVec`: subtraction variant - Add `Matrix.isUnit_det_add_vecMulVec`: invertibility under the formula's hypotheses ## Test plan - [x] `lake build` passes - [x] Lines within 100 char limit - [x] All declarations have docstrings **Any specific AI usage?**: Used Copilot for review purposes. t-algebra new-contributor awaiting-author
label:t-algebra$
135/0 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/ShermanMorrison.lean 2 15 ['Xxxjdjdid', 'banrovegrie', 'chrisflav', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'wwylele'] chrisflav
assignee:chrisflav
1-77043
1 day ago
47-78120
47 days ago
69-2479
69 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta new-contributor WIP 42055/19934 .github/actions/get-mathlib-ci/action.yml,.github/workflows/build_template.yml,.github/workflows/lake_cache_shadow.yml,.github/workflows/nolints.yml,.github/workflows/pr_check_downstream.yml,Archive/Examples/Eisenstein.lean,Archive/Examples/IfNormalization/Result.lean,Archive/Examples/IfNormalization/WithoutAesop.lean,Archive/Imo/Imo1959Q2.lean,Archive/Imo/Imo1960Q2.lean,Archive/Imo/Imo1977Q6.lean,Archive/Imo/Imo1982Q3.lean,Archive/Imo/Imo1987Q1.lean,Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo1994Q1.lean,Archive/Imo/Imo1998Q2.lean,Archive/Imo/Imo2001Q5.lean,Archive/Imo/Imo2002Q3.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/Imo2013Q5.lean,Archive/Imo/Imo2015Q6.lean,Archive/Imo/Imo2019Q2.lean,Archive/Imo/Imo2024Q1.lean,Archive/Imo/Imo2024Q2.lean,Archive/Imo/Imo2024Q3.lean,Archive/Imo/Imo2024Q5.lean,Archive/Imo/Imo2024Q6.lean,Archive/Kuratowski.lean,Archive/MinimalSheffer.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/CubingACube.lean,Cache/IO.lean,Counterexamples/CliffordAlgebraNotInjective.lean,Counterexamples/DimensionPolynomial.lean,Counterexamples/EulerSumOfPowers.lean,Counterexamples/InvertibleModuleNotIdeal.lean,Counterexamples/MapFloor.lean,Counterexamples/NowhereDifferentiable.lean,Counterexamples/Phillips.lean,Counterexamples/Pseudoelement.lean,Counterexamples/SorgenfreyLine.lean,Counterexamples/TopologistsSineCurve.lean,Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean,Mathlib.lean,Mathlib/Algebra/AffineMonoid/Embedding.lean,Mathlib/Algebra/AffineMonoid/Irreducible.lean,Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/Algebra/Epi.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Pi.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.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/Algebra/Subalgebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Rank.lean,Mathlib/Algebra/Algebra/Subalgebra/Unitization.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Algebra/Unitization.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finprod.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/Piecewise.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/BigOperators/Module.lean,Mathlib/Algebra/BigOperators/Pi.lean,Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Algebra/Category/AlgCat/Basic.lean,Mathlib/Algebra/Category/AlgCat/FilteredColimits.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/EpiMono.lean,Mathlib/Algebra/Category/Grp/Kernels.lean,Mathlib/Algebra/Category/Grp/LargeColimits.lean,Mathlib/Algebra/Category/Grp/LeftExactFunctor.lean,Mathlib/Algebra/Category/Grp/Yoneda.lean 4358 4 ['AlexBrodbelt', 'github-actions', 'mathlib-merge-conflicts'] nobody
0-60926
16 hours ago
unknown
unknown
40025 artie2000
author:artie2000
chore(Data/SetLike/Basic): generalise instance * Generalise the standard `IsConcreteLE` instance from `PartialOrder.ofSetLike` to `LE.ofSetLike` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 8/4 Mathlib/Data/SetLike/Basic.lean 1 4 ['github-actions', 'leanprover-radar', 'vihdzp'] nobody
0-55452
15 hours ago
3-74176
3 days ago
3-73926
3 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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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'] nobody
0-50149
13 hours ago
35-401
35 days ago
35-151
35 days
40152 BryceT233
author:BryceT233
feat(Algebra/Ring/Subring): units in `RingHom.eqLocus` This PR is a split of #37008. @riccardobrasca --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra large-import delegated
label:t-algebra$
14/0 Mathlib/Algebra/Ring/Subring/Units.lean 1 5 ['BryceT233', 'github-actions', 'mathlib-bors', 'riccardobrasca'] nobody
0-2311
38 minutes ago
unknown
unknown

PRs looking for help

Number Author Title Description Labels +/- Modified files (first 100) 📝 💬 All users who commented or reviewed Assignee(s) Updated Last status change total time in review
8961 eric-wieser
author:eric-wieser
refactor: use the coinduced topology on ULift --- - [x] depends on: #8958 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
671-24112
1 year ago
unknown
unknown
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
671-24112
1 year ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
671-24111
1 year ago
unknown
unknown
6931 urkud
author:urkud
refactor(Analysis/Normed*): use `RingHomIsometric` for `*.norm_cast` --- I don't understand why linter fails. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
671-24111
1 year ago
unknown
unknown
7903 urkud
author:urkud
feat: define `UnboundedSpace` --- The new instances generate some timeouts, and I don't understand why. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
664-12088
1 year ago
unknown
unknown
9973 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: polynomials formed by lists From https://github.com/leanprover-community/mathlib/pull/15476 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) please-adopt merge-conflict t-data 311/0 Mathlib.lean,Mathlib/Data/Polynomial/OfList.lean 2 0 [] nobody
657-17188
1 year ago
unknown
unknown
9444 erdOne
author:erdOne
feat: Various instances regarding `𝓞 K`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
656-13864
1 year ago
unknown
unknown
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
502-21888
1 year ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
487-65709
1 year ago
unknown
unknown
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
395-25787
1 year ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
383-7164
1 year ago
unknown
unknown
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
360-49083
11 months ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
284-46925
9 months ago
unknown
unknown
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
214-16254
7 months ago
unknown
unknown
5863 eric-wieser
author:eric-wieser
feat: add elaborators for concrete matrices --- - [x] depends on: #5866 - [ ] depends on: #5897 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
195-26957
6 months ago
unknown
unknown
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
195-26956
6 months ago
unknown
unknown
13442 dignissimus
author:dignissimus
feat: mabel tactic for multiplicative abelian groups Mabel tactic for multiplicative abelian groups (#10361) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
195-26692
6 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) please-adopt merge-conflict t-logic 618/0 Mathlib.lean,Mathlib/ModelTheory/FunctionalFormula.lean 2 13 ['ChrisHughes24', 'github-actions', 'jcommelin', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'staroperator'] nobody
195-25568
6 months ago
217-15033
217 days ago
87-75972
87 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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
195-24344
6 months ago
unknown
unknown
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) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) WIP help-wanted CI 114/0 .github/workflows/mk_windows_bundle.yml,scripts/windowsBundle.bat 2 0 [] nobody
194-84669
6 months ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
194-84533
6 months ago
unknown
unknown
12087 JADekker
author:JADekker
feat: complete API for K-Lindelöf spaces --- - [ ] depends on: #11800 (which is now awaiting a design decision) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
194-84526
6 months ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
194-84506
6 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
194-84462
6 months ago
unknown
unknown
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! --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
189-11578
6 months ago
unknown
unknown
5934 eric-wieser
author:eric-wieser
feat: port Data.Rat.MetaDefs --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
157-71995
5 months ago
unknown
unknown
21344 kbuzzard
author:kbuzzard
chore: attempt to avoid diamond in OreLocalization --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
148-60683
4 months ago
unknown
unknown
17176 arulandu
author:arulandu
feat: integrals and integrability with .re Lemmas for swapping order of .re and integration/integrability. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
147-68098
4 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
145-6328
4 months ago
unknown
unknown
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
142-56991
4 months ago
268-85370
268 days ago
81-70379
81 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
142-56952
4 months ago
unknown
unknown
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
142-56936
4 months ago
unknown
unknown
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
142-56705
4 months ago
unknown
unknown
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
142-51501
4 months ago
unknown
unknown
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
142-51478
4 months ago
195-25576
195 days ago
142-44021
142 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
142-51434
4 months ago
unknown
unknown
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
142-51425
4 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
142-51392
4 months ago
239-75649
239 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict please-adopt 208/0 Mathlib.lean,Mathlib/RingTheory/Polynomial/Resultant/Quadratic.lean 2 4 ['JovanGerb', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] JovanGerb
assignee:JovanGerb
142-51359
4 months ago
195-24313
195 days ago
41-47019
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict blocked-by-other-PR t-analysis please-adopt 133/68 Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/AbsConvexOpen.lean,Mathlib/Analysis/LocallyConvex/BalancedCoreHull.lean,Mathlib/Analysis/LocallyConvex/Basic.lean,Mathlib/Analysis/Normed/Module/Dual.lean 6 5 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
142-51340
4 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-analysis please-adopt 133/68 Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/AbsConvexOpen.lean,Mathlib/Analysis/LocallyConvex/BalancedCoreHull.lean,Mathlib/Analysis/LocallyConvex/Basic.lean,Mathlib/Analysis/Normed/Module/Dual.lean 6 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
142-51180
4 months ago
230-41081
230 days ago
0-14240
3 hours
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
141-38406
4 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
137-1357
4 months ago
unknown
unknown
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.) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
130-21092
4 months ago
unknown
unknown
8608 eric-wieser
author:eric-wieser
feat: multiplicativize `AddTorsor` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
125-51951
4 months ago
unknown
unknown
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
107-41901
3 months ago
unknown
unknown
23142 joneugster
author:joneugster
feat(CategoryTheory/Enriched/Limits): add API for HasConicalLimit --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
107-41901
3 months ago
unknown
unknown
23145 joneugster
author:joneugster
feat(CategoryTheory/Enriched/Limits): add IsConicalLimits --- - [ ] depends on: #23142 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
107-41900
3 months ago
unknown
unknown
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). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) please-adopt merge-conflict awaiting-CI t-linter 220/9 Cache/Requests.lean,Mathlib/FieldTheory/AbelRuffini.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean,Mathlib/Tactic/Linter/Lint.lean,Mathlib/Tactic/Linter/Style.lean,MathlibTest/LintStyle.lean 8 0 [] nobody
107-12271
3 months ago
unknown
unknown
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? [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) please-adopt t-linter merge-conflict 54/3 Mathlib/Tactic/Linter/Style.lean,MathlibTest/LintStyle.lean 2 3 ['github-actions', 'mathlib-merge-conflicts'] nobody
106-68470
3 months ago
unknown
unknown
35545 joelriou
author:joelriou
feat(Algebra/Category/ModuleCat): the internal hom for presheaves of modules --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
102-11279
3 months ago
unknown
unknown
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
95-3812
3 months ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
88-82482
2 months ago
73-82555
73 days ago
17-62518
17 days
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
88-20009
2 months ago
unknown
unknown
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
84-50159
2 months ago
71-11616
71 days ago
16-84211
16 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
82-19279
2 months ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
81-41564
2 months ago
195-60751
195 days ago
57-16399
57 days
33466 Shreyas4991
author:Shreyas4991
refactor(Combinatorics/Digraph): add vertex sets --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
81-31859
2 months ago
81-31859
81 days ago
27-54021
27 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
56-22254
1 month ago
unknown
unknown
22925 ggranberry
author:ggranberry
feat(Mathlib/PlaceHolder/ToeplitzHausdorff): Toeplitz-Hausdorff --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
18-6623
18 days ago
unknown
unknown
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
15-81484
15 days ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
11-19652
11 days ago
104-21533
104 days ago
13-63250
13 days
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) please-adopt t-linter RFC merge-conflict 4/0 MathlibTest/DeprecatedSyntaxLinter.lean,MathlibTest/Monotonicity.lean 2 3 ['github-actions', 'grunweg', 'mathlib-merge-conflicts'] nobody
7-39825
7 days ago
unknown
unknown

PRs with just a merge conflict

Number Author Title Description Labels +/- Modified files (first 100) 📝 💬 All users who commented or reviewed Assignee(s) Updated Last status change total time in review
24823 eric-wieser
author:eric-wieser
refactor: add `hom` lemmas for the `MonoidalCategory` structure on `ModuleCat` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
332-38646
10 months ago
332-38646
332 days ago
25-46777
25 days
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
332-38088
10 months ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-topology 18/0 Mathlib/Topology/StoneCech.lean 1 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
329-19466
10 months ago
unknown
unknown
26200 adomani
author:adomani
fix: add label when landrun fails Adds the `permission-denied` label on PRs that get blocked by landrun. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict CI 68/8 .github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml 4 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
300-54081
9 months ago
unknown
unknown
27451 kckennylau
author:kckennylau
feat(RingTheory/Valuation): define ball, closed ball, and sphere *From the 2025 Local Class Field Theory Workshop.* --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
295-184
9 months ago
unknown
unknown
27987 kckennylau
author:kckennylau
feat(RingTheory/Valuation): define ball, closed ball, and sphere --- The pullback PR of #26827 and #27451. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-ring-theory large-import 73/0 Mathlib/RingTheory/Valuation/Basic.lean 1 4 ['JovanGerb', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] nobody
294-86213
9 months ago
unknown
unknown
27003 eric-wieser
author:eric-wieser
chore: use `Simp.ResultQ` more often Also uses `~q` in place of manual `isDefEq` matching. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
293-14437
9 months ago
293-14438
293 days ago
29-71942
29 days
28622 alreadydone
author:alreadydone
chore(Mathlib): replace `=>` by `↦` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 51792/51792 Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/AddTorsor/Defs.lean,Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Hom/Rat.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Opposite.lean,Mathlib/Algebra/Algebra/Prod.lean,Mathlib/Algebra/Algebra/Rat.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/Algebra/Spectrum/Pi.lean,Mathlib/Algebra/Algebra/Spectrum/Quasispectrum.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Centralizer.lean,Mathlib/Algebra/Algebra/Subalgebra/Directed.lean,Mathlib/Algebra/Algebra/Subalgebra/IsSimpleOrder.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/Algebra/Subalgebra/Matrix.lean,Mathlib/Algebra/Algebra/Subalgebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/Algebra/Subalgebra/Prod.lean,Mathlib/Algebra/Algebra/Subalgebra/Unitization.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Algebra/TransferInstance.lean,Mathlib/Algebra/Algebra/Unitization.lean,Mathlib/Algebra/Algebra/ZMod.lean,Mathlib/Algebra/AlgebraicCard.lean,Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/BigOperators/Expect.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/BigOperators/Finsupp/Fin.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/BigOperators/Group/Finset/Piecewise.lean,Mathlib/Algebra/BigOperators/Group/Finset/Sigma.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/BigOperators/Group/List/Defs.lean,Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Defs.lean,Mathlib/Algebra/BigOperators/GroupWithZero/Finset.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/BigOperators/Option.lean,Mathlib/Algebra/BigOperators/Pi.lean,Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Algebra/BigOperators/Ring/Multiset.lean,Mathlib/Algebra/Category/AlgCat/Basic.lean,Mathlib/Algebra/Category/AlgCat/Limits.lean,Mathlib/Algebra/Category/AlgCat/Monoidal.lean,Mathlib/Algebra/Category/BialgCat/Basic.lean,Mathlib/Algebra/Category/BoolRing.lean,Mathlib/Algebra/Category/CoalgCat/Basic.lean,Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean,Mathlib/Algebra/Category/FGModuleCat/Limits.lean,Mathlib/Algebra/Category/Grp/AB.lean,Mathlib/Algebra/Category/Grp/Adjunctions.lean,Mathlib/Algebra/Category/Grp/Basic.lean,Mathlib/Algebra/Category/Grp/Biproducts.lean,Mathlib/Algebra/Category/Grp/CartesianMonoidal.lean,Mathlib/Algebra/Category/Grp/Colimits.lean,Mathlib/Algebra/Category/Grp/EpiMono.lean,Mathlib/Algebra/Category/Grp/FilteredColimits.lean,Mathlib/Algebra/Category/Grp/Images.lean,Mathlib/Algebra/Category/Grp/Kernels.lean,Mathlib/Algebra/Category/Grp/LargeColimits.lean,Mathlib/Algebra/Category/Grp/LeftExactFunctor.lean,Mathlib/Algebra/Category/Grp/Limits.lean,Mathlib/Algebra/Category/Grp/Preadditive.lean,Mathlib/Algebra/Category/Grp/ZModuleEquivalence.lean,Mathlib/Algebra/Category/Grp/Zero.lean,Mathlib/Algebra/Category/GrpWithZero.lean,Mathlib/Algebra/Category/HopfAlgCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Biproducts.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/EpiMono.lean,Mathlib/Algebra/Category/ModuleCat/FilteredColimits.lean,Mathlib/Algebra/Category/ModuleCat/Images.lean,Mathlib/Algebra/Category/ModuleCat/Injective.lean,Mathlib/Algebra/Category/ModuleCat/Kernels.lean,Mathlib/Algebra/Category/ModuleCat/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Closed.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Symmetric.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Abelian.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pushforward.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafify.lean,Mathlib/Algebra/Category/ModuleCat/Products.lean 3838 4 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
286-59113
9 months ago
286-59114
286 days ago
0-61040
16 hours
28626 alreadydone
author:alreadydone
chore(Archive, Counterexamples): replace => by ↦ --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 288/288 Archive/Arithcc.lean,Archive/Examples/IfNormalization/Result.lean,Archive/Examples/IfNormalization/WithoutAesop.lean,Archive/Examples/PropEncodable.lean,Archive/Imo/Imo1959Q1.lean,Archive/Imo/Imo1960Q1.lean,Archive/Imo/Imo1962Q4.lean,Archive/Imo/Imo1972Q5.lean,Archive/Imo/Imo1977Q6.lean,Archive/Imo/Imo1981Q3.lean,Archive/Imo/Imo1987Q1.lean,Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo1994Q1.lean,Archive/Imo/Imo1998Q2.lean,Archive/Imo/Imo2001Q2.lean,Archive/Imo/Imo2006Q3.lean,Archive/Imo/Imo2006Q5.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2008Q4.lean,Archive/Imo/Imo2011Q3.lean,Archive/Imo/Imo2013Q1.lean,Archive/Imo/Imo2019Q1.lean,Archive/Imo/Imo2024Q5.lean,Archive/MiuLanguage/Basic.lean,Archive/MiuLanguage/DecisionSuf.lean,Archive/OxfordInvariants/Summer2021/Week3P1.lean,Archive/Sensitivity.lean,Archive/Wiedijk100Theorems/AbelRuffini.lean,Archive/Wiedijk100Theorems/AreaOfACircle.lean,Archive/Wiedijk100Theorems/AscendingDescendingSequences.lean,Archive/Wiedijk100Theorems/BallotProblem.lean,Archive/Wiedijk100Theorems/BirthdayProblem.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Archive/Wiedijk100Theorems/Konigsberg.lean,Archive/Wiedijk100Theorems/Partition.lean,Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Archive/ZagierTwoSquares.lean,Counterexamples/AharoniKorman.lean,Counterexamples/CanonicallyOrderedCommSemiringTwoMul.lean,Counterexamples/CharPZeroNeCharZero.lean,Counterexamples/CliffordAlgebraNotInjective.lean,Counterexamples/DirectSumIsInternal.lean,Counterexamples/GameMultiplication.lean,Counterexamples/Girard.lean,Counterexamples/HomogeneousPrimeNotPrime.lean,Counterexamples/MapFloor.lean,Counterexamples/MonicNonRegular.lean,Counterexamples/Phillips.lean,Counterexamples/Pseudoelement.lean,Counterexamples/QuadraticForm.lean,Counterexamples/SorgenfreyLine.lean,Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean 54 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
285-1839
9 months ago
285-1840
285 days ago
2-46961
2 days
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) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict new-contributor 195/195 Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/DirectSum/Idempotents.lean,Mathlib/Algebra/Lie/Derivation/Basic.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Fourier/FourierTransformDeriv.lean,Mathlib/Analysis/InnerProductSpace/Dual.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/Normed/Unbundled/InvariantExtension.lean,Mathlib/Analysis/SpecialFunctions/Complex/CircleAddChar.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/Matrix/ConjTranspose.lean,Mathlib/Data/Matrix/Hadamard.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/Data/Matrix/RowCol.lean,Mathlib/Data/Matrix/Vec.lean,Mathlib/FieldTheory/PurelyInseparable/PerfectClosure.lean,Mathlib/Geometry/Manifold/GroupLieAlgebra.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/LinearAlgebra/CrossProduct.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/DotProduct.lean,Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean,Mathlib/LinearAlgebra/Matrix/Orthogonal.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/SchurComplement.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean,Mathlib/LinearAlgebra/Projectivization/Constructions.lean,Mathlib/NumberTheory/NumberField/ProductFormula.lean,Mathlib/NumberTheory/SiegelsLemma.lean,Mathlib/RingTheory/DividedPowers/SubDPIdeal.lean,Mathlib/SetTheory/Ordinal/Veblen.lean,Mathlib/Topology/Algebra/Module/Equiv.lean,Mathlib/Topology/Homeomorph/Lemmas.lean,Mathlib/Topology/Instances/Matrix.lean,scripts/bench_summary.lean 49 5 ['eric-wieser', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant'] nobody
283-34875
9 months ago
306-10797
306 days ago
7-54020
7 days
28042 kckennylau
author:kckennylau
feat(Topology/ValuativeRel): a topological basis indexed by pairs of elements --- The pullback PR of #27314 and #27163. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-ring-theory 140/23 Mathlib/RingTheory/Valuation/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean 2 3 ['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] nobody
283-34829
9 months ago
292-86273
292 days ago
7-4943
7 days
27399 MoritzBeroRoos
author:MoritzBeroRoos
chore: replace every usage of ⬝ᵥ (with old \cdot) by ·ᵥ (with \centerdot) Discussion at [zulip](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/.5Ccdot.20!.3D.20.5Ccenterdot). Currently the abbreviations `\cdot` and `\centerdot` resolve to different, with the naked eye nearly undistinguishable symbols (despite the c in cdot surely standing for `center`..): - `\cdot` gives ⬝ [U+2B1D](https://www.compart.com/en/unicode/U+2B1D) "Black Very Small Square" - `\centerdot` gives · [U+00B7](https://www.compart.com/en/unicode/U+00B7) "Middle Dot" Mathlib mostly uses the `\centerdot` variant, except for the dotProduct notation and some probably unsuspecting people wanting \centerdot but getting \cdot in their comments and 6 uses of a notation using the raw `\cdot` without any subscript at `Mathlib\Topology\Homotopy\Product.lean`. This PR replaces the dot product `⬝ᵥ` with its `\centerdot` counterpart `·ᵥ`. The related PR [here](https://github.com/leanprover/vscode-lean4/pull/639) can then overwrite the `\cdot` abbreviation, to produce the same symbol as the `centerdot` abbreviation does. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict new-contributor 133/133 Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/Matrix/ConjTranspose.lean,Mathlib/Data/Matrix/Hadamard.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/Data/Matrix/RowCol.lean,Mathlib/Data/Matrix/Vec.lean,Mathlib/LinearAlgebra/CrossProduct.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/DotProduct.lean,Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean,Mathlib/LinearAlgebra/Matrix/Orthogonal.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/SchurComplement.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean,Mathlib/LinearAlgebra/Projectivization/Constructions.lean,Mathlib/Topology/Instances/Matrix.lean 25 6 ['MoritzBeroRoos', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] nobody
282-83107
9 months ago
306-10798
306 days ago
7-54958
7 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] ``` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-meta 267/8 Mathlib.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/LinearAlgebra/UnitaryGroup.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simproc/Matrix.lean,MathlibTest/Simproc/Matrix.lean,MathlibTest/matrix.lean,scripts/noshake.json 8 32 ['eric-wieser', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'plp127'] eric-wieser
assignee:eric-wieser
278-40041
9 months ago
278-40042
278 days ago
12-73277
12 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-category-theory 307/18 Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean 2 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
266-86387
8 months ago
266-86388
266 days ago
0-219
3 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-category-theory 826/9 Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Braided.lean 2 5 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
266-81426
8 months ago
322-24721
322 days ago
0-407
6 minutes
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-category-theory 900/9 Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Closed.lean 2 6 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
266-8877
8 months ago
unknown
unknown
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
266-2738
8 months ago
266-2739
266 days ago
10-52803
10 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
260-14982
8 months ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-group-theory 61/68 Mathlib/GroupTheory/Perm/Fin.lean 1 10 ['JovanGerb', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'tb65536'] nobody
251-26579
8 months ago
251-26580
251 days ago
19-76959
19 days
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-category-theory 786/1 Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Square.lean 3 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
245-78171
8 months ago
245-78172
245 days ago
0-4044
1 hour
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebraic-topology t-category-theory 571/111 Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Mon_.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Monoidal.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean 6 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
245-11173
8 months ago
340-18457
340 days ago
0-1614
26 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-category-theory large-import 205/0 Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean 1 5 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
244-14398
8 months ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-ring-theory 172/0 Counterexamples.lean,Counterexamples/DiscreteTopologyWithNontrivialValuation.lean 2 14 ['github-actions', 'grunweg', 'kckennylau', 'mathlib4-merge-conflict-bot', 'pechersky'] nobody
232-84644
7 months ago
232-84645
232 days ago
67-78029
67 days
28132 dupuisf
author:dupuisf
feat: preliminary `grind` tags for `IsUnit` This PR adds preliminary `grind` tags for the `IsUnit` predicate. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebra
label:t-algebra$
61/17 Mathlib/Algebra/Group/Action/Units.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Ring/Units.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean 6 3 ['github-actions', 'mathlib4-merge-conflict-bot'] kim-em
assignee:kim-em
209-61242
6 months ago
209-61243
209 days ago
80-71574
80 days
26827 pechersky
author:pechersky
feat(Analysis/Normed/ValuativeRel): helper instance for NormedField --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #26713 - [x] depends on: #26826 merge-conflict t-algebra t-number-theory t-analysis
label:t-algebra$
211/27 Mathlib.lean,Mathlib/Analysis/Normed/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean 3 34 ['ADedecker', 'adamtopaz', 'erdOne', 'github-actions', 'kbuzzard', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] kbuzzard
assignee:kbuzzard
202-3446
6 months ago
202-3446
202 days ago
121-84082
121 days
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
195-25933
6 months ago
195-25934
195 days ago
162-11470
162 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`) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-data 144/5 Mathlib/Data/PFunctor/Univariate/Basic.lean 1 20 ['alexkeizer', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'quangvdao'] eric-wieser
assignee:eric-wieser
195-25411
6 months ago
195-25412
195 days ago
133-23633
133 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
195-25106
6 months ago
195-25107
195 days ago
99-49043
99 days
28871 JaafarTanoukhi
author:JaafarTanoukhi
feat(Combinatorics/Digraph): Tournaments Define orientations and tournaments. Related to #26771. Co-authored-by: Rida Hamadani --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-combinatorics new-contributor 62/0 Mathlib.lean,Mathlib/Combinatorics/Digraph/Orientation.lean,Mathlib/Combinatorics/Digraph/Tournament.lean 3 6 ['JaafarTanoukhi', 'Rida-Hamadani', 'SnirBroshi', 'github-actions', 'mathlib4-merge-conflict-bot'] kmill
assignee:kmill
195-24953
6 months ago
195-24954
195 days ago
55-54848
55 days
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-data 35/0 Mathlib/Data/Multiset/Fintype.lean 1 9 ['Ruben-VandeVelde', 'github-actions', 'llllvvuu', 'mathlib4-merge-conflict-bot', 'vihdzp', 'wwylele'] pechersky
assignee:pechersky
195-24915
6 months ago
195-24916
195 days ago
69-17408
69 days
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) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-combinatorics new-contributor 476/0 Mathlib.lean,Mathlib/Combinatorics/Digraph/Maps.lean 2 2 ['github-actions', 'mathlib4-merge-conflict-bot'] awainverse
assignee:awainverse
195-24319
6 months ago
195-24320
195 days ago
54-82658
54 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 -/ ``` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-meta 720/0 Mathlib.lean,Mathlib/Util/Inspect.lean,MathlibTest/Inspect.lean 3 3 ['github-actions', 'mathlib4-merge-conflict-bot', 'plp127'] kim-em
assignee:kim-em
195-19340
6 months ago
195-19341
195 days ago
11-61557
11 days
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-category-theory 1372/19 Mathlib.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean 4 5 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
194-83967
6 months ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) I found this being not-simp frustrating when talking about submodules over a valuation subring. merge-conflict t-algebra
label:t-algebra$
67/66 Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/Group/Subgroup/Actions.lean,Mathlib/Algebra/Group/Submonoid/MulAction.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/Algebra/Module/LocalizedModule/Exact.lean,Mathlib/Algebra/Module/LocalizedModule/IsLocalization.lean,Mathlib/Algebra/Module/LocalizedModule/Submodule.lean,Mathlib/Algebra/Ring/Periodic.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean,Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfFixingSubgroup.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfStabilizer.lean,Mathlib/LinearAlgebra/RootSystem/Irreducible.lean,Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean,Mathlib/RingTheory/Etale/Kaehler.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/LocalProperties/Projective.lean,Mathlib/RingTheory/Localization/InvSubmonoid.lean,Mathlib/RingTheory/OreLocalization/Basic.lean 25 26 ['artie2000', 'eric-wieser', 'github-actions', 'j-loreaux', 'kckennylau', 'leanprover-bot', 'leanprover-radar', 'linesthatinterlace', 'mathlib4-merge-conflict-bot', 'pechersky'] joelriou
assignee:joelriou
168-57118
5 months ago
190-6667
190 days ago
60-55888
60 days
33434 astrainfinita
author:astrainfinita
chore: redefine `Finsupp.indicator` using `Finsupp.onFinset` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict 6/17 Mathlib/Data/Finsupp/Indicator.lean 1 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
146-3657
4 months ago
53-67213
53 days ago
1-10517
1 day
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
137-1570
4 months ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-group-theory 259/14 Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/GroupTheory/Finiteness.lean 2 4 ['github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'uniwuni'] dupuisf
assignee:dupuisf
135-13139
4 months ago
237-18043
237 days ago
25-72977
25 days
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
130-78763
4 months ago
204-43808
204 days ago
74-59732
74 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
113-18792
3 months ago
unknown
unknown
34931 eric-wieser
author:eric-wieser
perf: make TensorProduct.lift irreducible with a unification hint --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
109-73212
3 months ago
unknown
unknown
33020 FormulaRabbit81
author:FormulaRabbit81
chore(Topology): Deprecate file --- - [x] depends on: #30851 deprecation [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology large-import merge-conflict 82/49 Mathlib/Topology/Compactness/HilbertCubeEmbedding.lean,Mathlib/Topology/MetricSpace/HausdorffAlexandroff.lean,Mathlib/Topology/MetricSpace/PiNat.lean 3 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
107-49823
3 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor merge-conflict t-analysis 59/0 Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean 3 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] nobody
107-18617
3 months ago
unknown
unknown
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
106-80934
3 months ago
106-80934
106 days ago
0-2180
36 minutes
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
105-75116
3 months ago
147-67501
147 days ago
21-1998
21 days
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
104-55062
3 months ago
104-55063
104 days ago
5-9162
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
104-55061
3 months ago
104-55061
104 days ago
4-78343
4 days
33795 alreadydone
author:alreadydone
feat(Topology/Sheaves): LocalPredicate prerequisite for étalé spaces --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict 418/143 Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean,Mathlib/Geometry/Manifold/Sheaf/Smooth.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Topology/Sheaves/LocalPredicate.lean,Mathlib/Topology/Sheaves/Sheafify.lean,Mathlib/Topology/Sheaves/Stalks.lean 6 12 ['adamtopaz', 'alreadydone', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts'] adamtopaz
assignee:adamtopaz
104-32695
3 months ago
104-32696
104 days ago
34-15820
34 days
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
104-12565
3 months ago
104-12566
104 days ago
15-44183
15 days
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor merge-conflict
label:t-algebra$
353/145 Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Topology/Algebra/Order/Floor.lean 3 8 ['github-actions', 'joelriou', 'mathlib-merge-conflicts', 'ster-oc'] joelriou
assignee:joelriou
99-29463
3 months ago
99-29463
99 days ago
6-29290
6 days
31595 astrainfinita
author:astrainfinita
chore: redefine `Ideal.IsPrime` Redefine `Ideal.IsPrime` to make it correct for non-commutative cases --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
96-39025
3 months ago
65-35681
65 days ago
52-67033
52 days
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order merge-conflict 223/100 Mathlib/Order/CompletePartialOrder.lean,Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean 2 21 ['PhoenixIra', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] PhoenixIra and vihdzp
assignee:PhoenixIra assignee:vihdzp
94-66197
3 months ago
94-66197
94 days ago
38-9880
38 days
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #26939 - [x] depends on: #26940 - [x] depends on: #26941 merge-conflict t-ring-theory t-order 299/3 Mathlib.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean,Mathlib/Algebra/Order/GroupWithZero/WithZero.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean,Mathlib/RingTheory/Valuation/ValueGroupIso.lean 6 10 ['faenuccio', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'pechersky'] faenuccio
assignee:faenuccio
92-10378
3 months ago
291-82188
291 days ago
10-67265
10 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
82-85827
2 months ago
78-22720
78 days ago
26-44794
26 days
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
82-69344
2 months ago
24-65708
24 days ago
38-64242
38 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-order 121/8 Mathlib.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/LawfulSupInf.lean 3 26 ['PierreQuinton', 'YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'vihdzp'] nobody
79-80574
2 months ago
195-25249
195 days ago
114-37869
114 days
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
44-29417
1 month ago
44-29418
44 days ago
14-57413
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
44-29416
1 month ago
44-29417
44 days ago
15-58995
15 days
37444 vihdzp
author:vihdzp
feat: typeclass for zero-dimensional spaces --- - [ ] depends on: #37317 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
42-8700
1 month ago
42-9772
42 days ago
0-5190
1 hour
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order merge-conflict 95/110 Mathlib/Order/SuccPred/Limit.lean 1 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
41-58994
1 month ago
41-58995
41 days ago
2-43850
2 days
37461 grunweg
author:grunweg
chore: golf using the field tactic --- In the spirit of #31314. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
39-58698
1 month ago
39-58699
39 days ago
22-57584
22 days
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) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-logic merge-conflict 6/1 Mathlib/Logic/Function/Basic.lean 1 8 ['github-actions', 'kbuzzard', 'leanprover-radar', 'mathlib-merge-conflicts', 'weisbrja'] nobody
35-72326
1 month ago
35-72327
35 days ago
19-66334
19 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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 7/33 Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Data/Int/Interval.lean,Mathlib/GroupTheory/Perm/Support.lean 4 8 ['artie2000', 'chenson2018', 'github-actions', 'mathlib-merge-conflicts'] nobody
33-61789
1 month ago
33-61790
33 days ago
42-86188
42 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
33-53179
1 month ago
33-53180
33 days ago
22-34679
22 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
73/53 Mathlib/Algebra/Lie/TraceForm.lean,Mathlib/FieldTheory/AxGrothendieck.lean,Mathlib/FieldTheory/Differential/Liouville.lean,Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,Mathlib/ModelTheory/Algebra/Field/IsAlgClosed.lean,Mathlib/RingTheory/Discriminant.lean,Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean,Mathlib/RingTheory/Norm/Transitivity.lean,Mathlib/RingTheory/Trace/Basic.lean 9 26 ['eric-wieser', 'github-actions', 'jcommelin', 'kbuzzard', 'leanprover-radar', 'mathlib-merge-conflicts', 'plp127', 'riccardobrasca'] nobody
33-53162
1 month ago
33-53163
33 days ago
7-34485
7 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order merge-conflict 337/10 Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/TypeTags.lean,Mathlib/Order/WithBot.lean 6 5 ['Komyyy', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] Komyyy
assignee:Komyyy
32-36387
1 month ago
32-36387
32 days ago
22-4315
22 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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
21-61392
21 days ago
21-61393
21 days ago
46-64967
46 days
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 302/321 Archive/Imo/Imo1981Q3.lean,Archive/Imo/Imo2011Q3.lean,Archive/Imo/Imo2013Q5.lean,Archive/Imo/Imo2019Q4.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Counterexamples/NowhereDifferentiable.lean,Counterexamples/TopologistsSineCurve.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean,Mathlib/Algebra/CharP/Defs.lean,Mathlib/Algebra/Group/Fin/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Finite.lean,Mathlib/Algebra/Lie/Nilpotent.lean,Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Algebra/Order/Antidiag/Nat.lean,Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Algebra/Order/Interval/Set/Instances.lean,Mathlib/Algebra/Order/Module/HahnEmbedding.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Algebra/Order/Round.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Algebra/Polynomial/DenomsClearable.lean,Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/QuadraticDiscriminant.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Proper.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Asymptotics/ExpGrowth.lean,Mathlib/Analysis/Asymptotics/LinearGrowth.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Tagged.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/DerivativeTest.lean,Mathlib/Analysis/Calculus/FDeriv/Extend.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Defs.lean,Mathlib/Analysis/Calculus/LHopital.lean,Mathlib/Analysis/Complex/Exponential.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/Complex/OpenMapping.lean,Mathlib/Analysis/Complex/Poisson.lean,Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/Convex/Between.lean,Mathlib/Analysis/Convex/Caratheodory.lean,Mathlib/Analysis/Convex/Combination.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Convex/Radon.lean,Mathlib/Analysis/Convex/SpecificFunctions/Deriv.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/InnerProductSpace/Subspace.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/MellinInversion.lean,Mathlib/Analysis/MellinTransform.lean,Mathlib/Analysis/Normed/Field/Approximation.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/Normed/Operator/ContinuousAlgEquiv.lean,Mathlib/Analysis/Normed/Ring/Units.lean,Mathlib/Analysis/Normed/Unbundled/IsPowMulFaithful.lean,Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Analysis/Oscillation.lean,Mathlib/Analysis/Real/Hyperreal.lean,Mathlib/Analysis/Real/Pi/Bounds.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/PolarCoord.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/Int/Interval.lean,Mathlib/Data/Int/ModEq.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Nat/Log.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Real/ConjExponents.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean 114 7 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
19-52678
19 days ago
19-52678
19 days ago
13-56900
13 days
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict 305/1 Mathlib/Geometry/Manifold/Notation.lean,Mathlib/Tactic/FunProp/Core.lean,MathlibTest/DifferentialGeometry/FunPropM.lean,MathlibTest/fun_prop_dev.lean 4 4 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
17-33568
17 days ago
unknown
unknown
39329 lecopivo
author:lecopivo
feat(fun_prop): eager application of transition theorems for fun_prop For properties like Integrable we want to apply transition theorems(like Continuous -> Integrable) eagerly --- This is a change necessary in preparation for making `fun_prop` work for integrability. --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict 93/30 Mathlib/Tactic/FunProp/Attr.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/Decl.lean,MathlibTest/FunPropMinimal.lean 4 14 ['b-mehta', 'github-actions', 'lecopivo', 'mathlib-merge-conflicts'] JovanGerb
assignee:JovanGerb
14-80386
14 days ago
17-7934
17 days ago
1-34273
1 day
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
14-69059
14 days ago
14-69060
14 days ago
44-53174
44 days
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
12-52622
12 days ago
12-52623
12 days ago
29-38022
29 days
39509 mcdoll
author:mcdoll
chore(Topology): add `push/pull_end` tags for CLMs Simpsets were introduced in #38359, see also #39508 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict 2/0 Mathlib/Topology/Algebra/Module/LinearMap.lean 1 2 ['github-actions', 'mathlib-merge-conflicts'] j-loreaux
assignee:j-loreaux
12-48559
12 days ago
12-52607
12 days ago
3-38611
3 days
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 22/24 Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/Expand.lean,Mathlib/Analysis/Real/Cardinality.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Combinatorics/Matroid/Rank/ENat.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/Finsupp/Multiset.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Multiset/Filter.lean,Mathlib/Data/Nat/Choose/Basic.lean,Mathlib/Data/Real/Sign.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/NumberTheory/LSeries/Nonvanishing.lean,Mathlib/NumberTheory/ZetaValues.lean,Mathlib/RingTheory/Algebraic/Basic.lean,Mathlib/RingTheory/AlgebraicIndependent/Basic.lean,Mathlib/SetTheory/Ordinal/FixedPoint.lean 19 3 ['artie2000', 'euprunin', 'github-actions', 'mathlib-merge-conflicts'] nobody
9-77996
9 days ago
9-77997
9 days ago
66-82463
66 days
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
9-76670
9 days ago
9-76670
9 days ago
39-67977
39 days
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
9-76278
9 days ago
9-76279
9 days ago
20-13133
20 days
37956 artie2000
author:artie2000
feat(Algebra/Polynomial): lemmas about polynomial degree * Add various small lemmas about polynomial degree --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
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 8 ['artie2000', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] kim-em
assignee:kim-em
7-39688
7 days ago
7-39689
7 days ago
43-34984
43 days
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 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 5 ['b-mehta', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] nobody
6-52804
6 days ago
6-52805
6 days ago
20-55633
20 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 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
6-8866
6 days ago
unknown
unknown
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 - [x] depends on: #39682 - [ ] depends on: #39683 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed 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 5 ['github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
5-41090
5 days ago
5-41091
5 days ago
1-36847
1 day
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor merge-conflict 222/233 Mathlib/Analysis/Normed/Module/PiTensorProduct/InjectiveSeminorm.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/ProjectiveSeminorm.lean 2 7 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
3-53122
3 days ago
3-53123
3 days ago
59-21262
59 days
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 738/310 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 11 ['JovanGerb', 'github-actions', 'grunweg', 'kim-em', 'mathlib-merge-conflicts'] dwrensha
assignee:dwrensha
3-52993
3 days ago
3-52994
3 days ago
13-54332
13 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic merge-conflict 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 2 ['github-actions', 'mathlib-merge-conflicts'] fpvandoorn
assignee:fpvandoorn
3-49194
3 days ago
3-49194
3 days ago
36-78490
36 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 merge-conflict 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 7 ['eric-wieser', 'github-actions', 'grunweg', 'marcelolynch', 'mathlib-merge-conflicts', 'urkud'] nobody
3-48794
3 days ago
3-48795
3 days ago
15-20152
15 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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 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 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
3-48663
3 days ago
3-48664
3 days ago
13-6519
13 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). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict 5/2 Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean 1 2 ['github-actions', 'mathlib-merge-conflicts'] j-loreaux
assignee:j-loreaux
3-48660
3 days ago
3-48660
3 days ago
12-81129
12 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) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict 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 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
3-48656
3 days ago
3-48657
3 days ago
6-13314
6 days
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
6/4 Mathlib/Algebra/Group/Pi/Basic.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean 2 4 ['github-actions', 'kbuzzard', 'leanprover-radar', 'mathlib-merge-conflicts'] nobody
3-45132
3 days ago
3-45133
3 days ago
5-43152
5 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 merge-conflict 11/8 Mathlib/Tactic/Linter/PrivateModule.lean,MathlibTest/PrivateModuleLinter/hasOnlyPrivate.lean,MathlibTest/PrivateModuleLinter/notation3.lean,MathlibTest/PrivateModuleLinter/reservedName2.lean 4 4 ['JovanGerb', 'github-actions', 'grunweg', 'marcelolynch', 'mathlib-merge-conflicts'] JovanGerb
assignee:JovanGerb
2-85021
2 days ago
7-39674
7 days ago
11-15983
11 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 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-dependent-issues', 'mathlib-merge-conflicts', 'michaellee94', 'winstonyin'] nobody
2-58316
2 days ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry merge-conflict 138/61 Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/Order/Filter/Prod.lean 3 13 ['github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'ocfnash', 'winstonyin'] ocfnash
assignee:ocfnash
2-57518
2 days ago
2-57519
2 days ago
23-1300
23 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics merge-conflict 156/0 Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean 2 6 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
0-69943
19 hours ago
unknown
unknown
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 7 ['JovanGerb', 'MichaelStollBayreuth', 'Parcly-Taxel', 'Vierkantor', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] Vierkantor
assignee:Vierkantor
0-1417
23 minutes ago
73-79537
73 days ago
15-50927
15 days

Stale new contributor PRs

Number Author Title Description Labels +/- Modified files (first 100) 📝 💬 All users who commented or reviewed Assignee(s) Updated Last status change total time in review
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)` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
656-16503
1 year ago
unknown
unknown
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
652-1412
1 year ago
unknown
unknown
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
639-13302
1 year ago
unknown
unknown
15121 Eloitor
author:Eloitor
feat: iff theorems for IsSplitEpi and IsSplitMono in opposite category --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
638-62647
1 year ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
615-73706
1 year ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict blocked-by-other-PR new-contributor t-logic 300/7 Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Syntax.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
607-69684
1 year ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict blocked-by-other-PR new-contributor t-logic 415/7 Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Syntax.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
607-69684
1 year ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict blocked-by-other-PR new-contributor t-logic 525/7 Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Syntax.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
607-69683
1 year ago
unknown
unknown
14619 Command-Master
author:Command-Master
chore: Merge `Trunc` to `Squash` Remove `Trunc` and use `Squash` instead --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
598-29834
1 year ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
590-5941
1 year ago
unknown
unknown
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]`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
573-34217
1 year ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
570-76738
1 year ago
unknown
unknown
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
566-29170
1 year ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
536-51587
1 year ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
502-73599
1 year ago
unknown
unknown
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
502-6285
1 year ago
unknown
unknown
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
502-6285
1 year ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
501-58604
1 year ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
498-19784
1 year ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
496-80263
1 year ago
unknown
unknown
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`) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
490-11211
1 year ago
unknown
unknown
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
477-54921
1 year ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
473-2620
1 year ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
467-57791
1 year ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
453-83632
1 year ago
unknown
unknown
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`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
445-79458
1 year ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
427-28457
1 year ago
unknown
unknown
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
422-23446
1 year ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
419-9366
1 year ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
419-5634
1 year ago
unknown
unknown
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
418-8362
1 year ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
410-65960
1 year ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
410-62092
1 year ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
395-26531
1 year ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
392-59210
1 year ago
unknown
unknown
24008 meithecatte
author:meithecatte
chore(EpsilonNFA): replace manual lemmas with @[simps] --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability awaiting-author new-contributor 2/24 Mathlib/Computability/EpsilonNFA.lean 1 2 ['YaelDillies', 'github-actions', 'urkud'] nobody
387-18389
1 year ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
370-77130
1 year ago
unknown
unknown
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
360-49083
11 months ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
353-41636
11 months ago
unknown
unknown
25218 kckennylau
author:kckennylau
feat(AlgebraicGeometry): Tate normal form of elliptic curves --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
332-38397
10 months ago
unknown
unknown
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` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
306-10537
10 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
302-16728
9 months ago
unknown
unknown
18646 jxjwan
author:jxjwan
feat(RingTheory): isotypic components --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
301-18749
9 months ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory new-contributor large-import merge-conflict awaiting-author 29/0 Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean 1 3 ['b-mehta', 'github-actions', 'mathlib4-merge-conflict-bot'] b-mehta
assignee:b-mehta
296-22290
9 months ago
unknown
unknown
20722 ctchou
author:ctchou
feat(Counterexamples): the Vitali set is non-measurable --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
290-11974
9 months ago
unknown
unknown
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
287-33786
9 months ago
290-19315
290 days ago
0-32456
9 hours
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
284-70294
9 months ago
unknown
unknown
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) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict new-contributor 195/195 Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/DirectSum/Idempotents.lean,Mathlib/Algebra/Lie/Derivation/Basic.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Fourier/FourierTransformDeriv.lean,Mathlib/Analysis/InnerProductSpace/Dual.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/Normed/Unbundled/InvariantExtension.lean,Mathlib/Analysis/SpecialFunctions/Complex/CircleAddChar.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/Matrix/ConjTranspose.lean,Mathlib/Data/Matrix/Hadamard.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/Data/Matrix/RowCol.lean,Mathlib/Data/Matrix/Vec.lean,Mathlib/FieldTheory/PurelyInseparable/PerfectClosure.lean,Mathlib/Geometry/Manifold/GroupLieAlgebra.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/LinearAlgebra/CrossProduct.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/DotProduct.lean,Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean,Mathlib/LinearAlgebra/Matrix/Orthogonal.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/SchurComplement.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean,Mathlib/LinearAlgebra/Projectivization/Constructions.lean,Mathlib/NumberTheory/NumberField/ProductFormula.lean,Mathlib/NumberTheory/SiegelsLemma.lean,Mathlib/RingTheory/DividedPowers/SubDPIdeal.lean,Mathlib/SetTheory/Ordinal/Veblen.lean,Mathlib/Topology/Algebra/Module/Equiv.lean,Mathlib/Topology/Homeomorph/Lemmas.lean,Mathlib/Topology/Instances/Matrix.lean,scripts/bench_summary.lean 49 5 ['eric-wieser', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant'] nobody
283-34875
9 months ago
306-10797
306 days ago
7-54020
7 days
27399 MoritzBeroRoos
author:MoritzBeroRoos
chore: replace every usage of ⬝ᵥ (with old \cdot) by ·ᵥ (with \centerdot) Discussion at [zulip](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/.5Ccdot.20!.3D.20.5Ccenterdot). Currently the abbreviations `\cdot` and `\centerdot` resolve to different, with the naked eye nearly undistinguishable symbols (despite the c in cdot surely standing for `center`..): - `\cdot` gives ⬝ [U+2B1D](https://www.compart.com/en/unicode/U+2B1D) "Black Very Small Square" - `\centerdot` gives · [U+00B7](https://www.compart.com/en/unicode/U+00B7) "Middle Dot" Mathlib mostly uses the `\centerdot` variant, except for the dotProduct notation and some probably unsuspecting people wanting \centerdot but getting \cdot in their comments and 6 uses of a notation using the raw `\cdot` without any subscript at `Mathlib\Topology\Homotopy\Product.lean`. This PR replaces the dot product `⬝ᵥ` with its `\centerdot` counterpart `·ᵥ`. The related PR [here](https://github.com/leanprover/vscode-lean4/pull/639) can then overwrite the `\cdot` abbreviation, to produce the same symbol as the `centerdot` abbreviation does. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict new-contributor 133/133 Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/Matrix/ConjTranspose.lean,Mathlib/Data/Matrix/Hadamard.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/Data/Matrix/RowCol.lean,Mathlib/Data/Matrix/Vec.lean,Mathlib/LinearAlgebra/CrossProduct.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/DotProduct.lean,Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean,Mathlib/LinearAlgebra/Matrix/Orthogonal.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/SchurComplement.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean,Mathlib/LinearAlgebra/Projectivization/Constructions.lean,Mathlib/Topology/Instances/Matrix.lean 25 6 ['MoritzBeroRoos', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] nobody
282-83107
9 months ago
306-10798
306 days ago
7-54958
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-author t-data new-contributor 326/0 Mathlib/Data/Nat/Choose/AbelBinomial.lean 1 28 ['ElifUskuplu', 'FrankieNC', 'github-actions', 'iu-isgood'] nobody
282-82868
9 months ago
unknown
unknown
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! [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
266-54236
8 months ago
266-85339
266 days ago
71-82192
71 days
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
266-2738
8 months ago
266-2739
266 days ago
10-52803
10 days
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
263-84860
8 months ago
unknown
unknown
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
251-1938
8 months ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict awaiting-author t-category-theory new-contributor 17/0 Mathlib/CategoryTheory/Limits/Shapes/Products.lean 1 6 ['chrisflav', 'github-actions', 'leanprover-community-bot-assistant', 'ppls-nd-prs', 'robin-carlier'] nobody
246-16982
8 months ago
347-26382
347 days ago
0-46446
12 hours
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) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
240-69128
7 months ago
240-69128
240 days ago
46-25040
46 days
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
234-78433
7 months ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-author t-group-theory new-contributor 6/0 Mathlib/GroupTheory/GroupAction/CardCommute.lean 1 17 ['github-actions', 'kckennylau', 'plp127', 'tb65536'] tb65536
assignee:tb65536
225-2283
7 months ago
225-2283
225 days ago
8-6812
8 days
25225 xcloudyunx
author:xcloudyunx
feat(Combinatorics/SimpleGraph): Eulerian walk in connected graph contains all vertices --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
223-52215
7 months ago
unknown
unknown
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`). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 449/3 Mathlib/Data/Finmap.lean,Mathlib/Data/List/AList.lean,Mathlib/Data/List/Permutation.lean,Mathlib/Data/List/Sigma.lean 4 1 ['github-actions'] nobody
221-75647
7 months ago
unknown
unknown
28676 sun123zxy
author:sun123zxy
feat(NumberTheory/ArithmeticFunction): wrap `Nat.totient` as an `ArithmeticFunction` This wraps the Euler's totient function `Nat.totient` into a new `ArithmeticFunction` `ϕ`, with some basic identities such as `ϕ * ζ = id` and `μ * id = ϕ.` --- We use the notation `ϕ` to distinguish from `Nat.totient`'s notation `φ`, however this might be controversial. Suggestions are welcome! [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory new-contributor large-import merge-conflict awaiting-author 45/5 Mathlib/NumberTheory/ArithmeticFunction.lean 1 19 ['MichaelStollBayreuth', 'SnirBroshi', 'b-mehta', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'riccardobrasca', 'sun123zxy'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
217-21686
7 months ago
232-82762
232 days ago
47-17222
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
217-13416
7 months ago
237-82445
237 days ago
0-553
9 minutes
30303 franv314
author:franv314
chore(Topology/Instances): add deprecated module Add deprecated module to moved Cantor set file. --- - [ ] depends on: #30299 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
217-13414
7 months ago
237-80314
237 days ago
0-308
5 minutes
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`. --- --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
211-12937
6 months ago
211-12937
211 days ago
41-53435
41 days
30158 nicolaviolette
author:nicolaviolette
feat: combinatorics simplegraph basic --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-author t-combinatorics new-contributor 9/4 Mathlib/Combinatorics/SimpleGraph/Basic.lean 1 3 ['b-mehta', 'github-actions'] b-mehta
assignee:b-mehta
210-32467
6 months ago
unknown
unknown
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
207-79135
6 months ago
unknown
unknown
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` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory large-import new-contributor merge-conflict awaiting-zulip t-meta 444/125 Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/Tactic/ToAdditive/GuessName.lean 3 22 ['JovanGerb', 'YaelDillies', 'github-actions', 'imbrem', 'mathlib4-merge-conflict-bot'] nobody
201-42126
6 months ago
241-20792
241 days ago
0-29227
8 hours
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
196-59258
6 months ago
unknown
unknown
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] [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
195-75499
6 months ago
unknown
unknown
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
195-26956
6 months ago
unknown
unknown
13442 dignissimus
author:dignissimus
feat: mabel tactic for multiplicative abelian groups Mabel tactic for multiplicative abelian groups (#10361) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
195-26692
6 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
195-26690
6 months ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict awaiting-author t-category-theory new-contributor 112/0 Mathlib.lean,Mathlib/CategoryTheory/Sites/CoveringFamilies.lean 2 21 ['AnthonyBordg', 'adamtopaz', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib4-merge-conflict-bot'] nobody
195-26561
6 months ago
unknown
unknown
17587 kmill
author:kmill
feat: Sym2-as-Finset theory --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
195-26407
6 months ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
195-26405
6 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
195-26267
6 months ago
unknown
unknown
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
195-26127
6 months ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
195-26121
6 months ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict awaiting-author t-category-theory new-contributor 312/0 Mathlib.lean,Mathlib/CategoryTheory/Topos/Power.lean 2 3 ['github-actions', 'joelriou', 'mathlib4-merge-conflict-bot'] b-mehta
assignee:b-mehta
195-26112
6 months ago
unknown
unknown
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
195-26099
6 months ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
195-25946
6 months ago
unknown
unknown
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
195-25797
6 months ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
195-25608
6 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
195-25585
6 months ago
291-73975
291 days ago
44-76629
44 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
195-25437
6 months ago
310-69195
310 days ago
25-5171
25 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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict awaiting-author t-category-theory new-contributor 401/66 Mathlib.lean,Mathlib/CategoryTheory/Closed/PowerObjects.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/CommSq.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Equalizer.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Topos/Classifier.lean 9 17 ['fweth', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] joelriou
assignee:joelriou
195-25432
6 months ago
224-78451
224 days ago
62-6664
62 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict awaiting-author t-combinatorics new-contributor 1266/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/IndependenceNumber.lean 2 10 ['Pjotr5', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] nobody
195-25395
6 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict awaiting-author t-category-theory new-contributor 70/1 Mathlib/CategoryTheory/Category/Factorisation.lean 1 13 ['YunkaiZhang233', 'b-mehta', 'github-actions', 'mathlib4-merge-conflict-bot', 'robin-carlier'] nobody
195-25240
6 months ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict awaiting-author t-differential-geometry new-contributor 80/0 Mathlib.lean,Mathlib/Geometry/Manifold/ZeroDim.lean 2 14 ['fyqing', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'tb65536'] grunweg
assignee:grunweg
195-25238
6 months ago
304-57465
304 days ago
0-5228
1 hour
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
195-25106
6 months ago
195-25107
195 days ago
99-49043
99 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
195-25092
6 months ago
unknown
unknown
28871 JaafarTanoukhi
author:JaafarTanoukhi
feat(Combinatorics/Digraph): Tournaments Define orientations and tournaments. Related to #26771. Co-authored-by: Rida Hamadani --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-combinatorics new-contributor 62/0 Mathlib.lean,Mathlib/Combinatorics/Digraph/Orientation.lean,Mathlib/Combinatorics/Digraph/Tournament.lean 3 6 ['JaafarTanoukhi', 'Rida-Hamadani', 'SnirBroshi', 'github-actions', 'mathlib4-merge-conflict-bot'] kmill
assignee:kmill
195-24953
6 months ago
195-24954
195 days ago
55-54848
55 days
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) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-combinatorics new-contributor 476/0 Mathlib.lean,Mathlib/Combinatorics/Digraph/Maps.lean 2 2 ['github-actions', 'mathlib4-merge-conflict-bot'] awainverse
assignee:awainverse
195-24319
6 months ago
195-24320
195 days ago
54-82658
54 days
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
195-21151
6 months ago
unknown
unknown
31590 SuccessMoses
author:SuccessMoses
chore: tag `commutatorElement_def` with `simp` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-author t-algebra new-contributor merge-conflict
label:t-algebra$
1/0 Mathlib/Algebra/Group/Commutator.lean 1 3 ['github-actions', 'grunweg', 'mathlib-merge-conflicts'] nobody
194-85426
6 months ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
194-84567
6 months ago
unknown
unknown
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) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
194-84414
6 months ago
unknown
unknown
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.  --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
194-84351
6 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
194-84324
6 months ago
unknown
unknown
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$. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict awaiting-author t-category-theory new-contributor 33/0 Mathlib/CategoryTheory/Limits/Types/Colimits.lean 1 5 ['github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'robertmaxton42'] nobody
194-84207
6 months ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-author t-data new-contributor 22/0 Mathlib/Data/Rat/Lemmas.lean 1 33 ['github-actions', 'kim-em', 'mathlib-bors', 'pechersky', 'sinianluoye', 'themathqueen'] pechersky
assignee:pechersky
194-83890
6 months ago
226-21084
226 days ago
74-28583
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 --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
194-83869
6 months ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-ring-theory new-contributor 910/3 Mathlib.lean,Mathlib/RingTheory/LocalRing/EmbeddingDimension.lean,Mathlib/RingTheory/LocalRing/LocalRingDimension.lean,Mathlib/RingTheory/LocalRing/RegularLocalRings.lean,Mathlib/RingTheory/LocalRing/RingHom/Basic.lean,lake-manifest.json 6 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
194-83758
6 months ago
unknown
unknown
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
194-83670
6 months ago
unknown
unknown
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
194-70066
6 months ago
194-70066
194 days ago
135-36074
135 days
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
192-5815
6 months ago
195-23974
195 days ago
31-46100
31 days
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$. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor awaiting-author 14/0 Mathlib/Analysis/Convolution.lean 1 3 ['github-actions', 'urkud'] nobody
186-26237
6 months ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) WIP t-analysis new-contributor 331/0 Mathlib/Analysis/Normed/Operator/SingularValues.lean 1 2 ['github-actions', 'nielsvoss'] nobody
185-63778
6 months ago
unknown
unknown
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
178-71376
5 months ago
187-28519
187 days ago
39-43496
39 days
31113 515801431
author:515801431
feat(Mathlib/Combinatorics/Enumerative/Polya.lean): Add additional theorem in `Polya.lean` --- - [ ] depends on: #30525 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor blocked-by-other-PR merge-conflict 302/0 Mathlib.lean,Mathlib/Combinatorics/Enumerative/Polya.lean 2 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] b-mehta
assignee:b-mehta
178-71252
5 months ago
188-7278
188 days ago
16-76595
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
178-66854
5 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-dynamics new-contributor awaiting-author 114/6 Mathlib/Dynamics/Transitive.lean 1 6 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sgouezel'] sgouezel
assignee:sgouezel
176-5687
5 months ago
176-5687
176 days ago
18-34774
18 days
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability new-contributor awaiting-author 21/0 Mathlib/Probability/Moments/Basic.lean 1 5 ['DavidLedvinka', 'github-actions'] RemyDegenne
assignee:RemyDegenne
169-84193
5 months ago
unknown
unknown
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
165-21195
5 months ago
165-21235
165 days ago
3-6032
3 days
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
164-55964
5 months ago
164-55964
164 days ago
7-30937
7 days
27817 zhuyizheng
author:zhuyizheng
feat: add IMO2025P1 Add a solution to IMO2025P1, the original problem statement from https://github.com/jsm28/IMOLean --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) IMO awaiting-author new-contributor merge-conflict 1310/0 Archive.lean,Archive/Imo/Imo2025Q1.lean 2 9 ['github-actions', 'kim-em', 'mathlib4-merge-conflict-bot', 'zhuyizheng'] dwrensha
assignee:dwrensha
164-1761
5 months ago
223-52729
223 days ago
54-72325
54 days
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
161-34426
5 months ago
unknown
unknown
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
161-34318
5 months ago
unknown
unknown
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
161-34234
5 months ago
unknown
unknown
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
161-31906
5 months ago
161-31907
161 days ago
0-206
3 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
161-31904
5 months ago
161-31905
161 days ago
0-1284
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
161-31903
5 months ago
unknown
unknown
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
161-31901
5 months ago
161-31902
161 days ago
0-978
16 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
161-31898
5 months ago
161-31901
161 days ago
0-1162
19 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
161-31897
5 months ago
161-31898
161 days ago
0-2236
37 minutes
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
157-60383
5 months ago
180-63840
180 days ago
3-47878
3 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor awaiting-author
label:t-algebra$
131/0 Mathlib.lean,Mathlib/FieldTheory/PurelyInseparable/AdjoinPthRoots.lean 2 13 ['artie2000', 'chrisflav', 'dleijnse', 'erdOne', 'github-actions', 'leanprover-radar'] erdOne
assignee:erdOne
156-77035
5 months ago
156-77035
156 days ago
9-18892
9 days
33163 Aaron1011
author:Aaron1011
feat: prove subgroup of (M -> Z) is finitely generated --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
156-69985
5 months ago
156-69985
156 days ago
5-80574
5 days
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
151-11776
5 months ago
unknown
unknown
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) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
149-65100
4 months ago
149-65101
149 days ago
0-59938
16 hours
17176 arulandu
author:arulandu
feat: integrals and integrability with .re Lemmas for swapping order of .re and integration/integrability. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
147-68098
4 months ago
unknown
unknown
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
145-49053
4 months ago
145-49054
145 days ago
6-69574
6 days
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
145-198
4 months ago
unknown
unknown
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). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-author new-contributor t-order 16/1 Mathlib/Order/Interval/Basic.lean 1 5 ['Vierkantor', 'eric-wieser', 'github-actions', 'kingiler'] Vierkantor
assignee:Vierkantor
144-78404
4 months ago
144-78404
144 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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology new-contributor merge-conflict awaiting-author 83/1 Mathlib/Topology/Baire/NonMeagre.lean,Mathlib/Topology/GDelta/Basic.lean 2 6 ['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] nobody
144-1688
4 months ago
unknown
unknown
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
140-71172
4 months ago
141-52630
141 days ago
22-14105
22 days
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
139-35757
4 months ago
unknown
unknown
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
137-3103
4 months ago
137-11625
137 days ago
91-73926
91 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] --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict blocked-by-other-PR new-contributor t-category-theory 140/4 Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/CategoryTheory/Category/Grpd.lean,Mathlib/CategoryTheory/Core.lean,Mathlib/CategoryTheory/Groupoid/Grpd/Colimit.lean,Mathlib/CategoryTheory/Groupoid/Grpd/Core.lean 6 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
135-13183
4 months ago
unknown
unknown
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). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-author new-contributor t-topology 117/0 Mathlib.lean,Mathlib/Topology/Algebra/MulActionConst.lean 2 8 ['LTolDe', 'github-actions', 'urkud'] nobody
133-85449
4 months ago
140-64979
140 days ago
16-32906
16 days
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
132-78968
4 months ago
141-6392
141 days ago
9-59589
9 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
130-82726
4 months ago
132-64162
132 days ago
0-53345
14 hours
29953 slashbade
author:slashbade
feat: add reap for experiment --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
125-75251
4 months ago
unknown
unknown
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). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
124-64824
4 months ago
185-81789
185 days ago
8-12391
8 days
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) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
124-1945
4 months ago
124-1945
124 days ago
42-20793
42 days
34130 FlAmmmmING
author:FlAmmmmING
feat(Combinatorics/SimpleGraph/Acyclic): Add new theorem `isTree_iff_uniqueShortest_path` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
123-24352
4 months ago
132-8367
132 days ago
0-21348
5 hours
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
123-11006
4 months ago
64-72355
64 days ago
13-72716
13 days
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
122-50046
4 months ago
75-50665
75 days ago
60-17070
60 days
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor blocked-by-other-PR merge-conflict t-algebra
label:t-algebra$
683/0 Mathlib.lean,Mathlib/Data/Sigma/Basic.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Nested.lean,Mathlib/LinearAlgebra/PiTensorProduct/Set.lean 5 5 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
121-62157
4 months ago
175-62595
175 days ago
0-614
10 minutes
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict blocked-by-other-PR large-import new-contributor t-category-theory 839/125 Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Cocartesian/Basic.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/Tactic/ToAdditive/GuessName.lean 5 4 ['github-actions', 'imbrem', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
121-14588
4 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict blocked-by-other-PR large-import new-contributor t-category-theory 524/140 Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/MonoidalComp.lean,Mathlib/Tactic/ToAdditive/GuessName.lean 6 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
121-14581
4 months ago
unknown
unknown
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). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor awaiting-zulip t-measure-probability awaiting-author 4/0 Mathlib/MeasureTheory/Constructions/Polish/Basic.lean 1 10 ['ADedecker', 'LTolDe', 'dagurtomas', 'dupuisf', 'github-actions', 'jcommelin'] PatrickMassot
assignee:PatrickMassot
121-14355
4 months ago
146-84887
146 days ago
11-7478
11 days
31102 JOSHCLUNE
author:JOSHCLUNE
feat: require LeanHammer Experimenting with adding LeanHammer as a mathlib dependency --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict new-contributor t-meta 61/4 Mathlib/Tactic/Common.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,MathlibTest/Hammer.lean,lake-manifest.json,lakefile.lean 5 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
121-5063
4 months ago
unknown
unknown
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
121-4795
4 months ago
123-5692
123 days ago
26-992
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor awaiting-author
label:t-algebra$
236/0 Mathlib.lean,Mathlib/Algebra/Module/Submodule/Dual.lean 2 7 ['github-actions', 'joelriou', 'martinwintermath', 'mathlib-bors'] joelriou
assignee:joelriou
121-832
4 months ago
122-69691
122 days ago
14-81283
14 days
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
118-69716
3 months ago
unknown
unknown
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
118-42492
3 months ago
118-79345
118 days ago
14-65488
14 days
33601 nielstron
author:nielstron
feat(Computability/ContextFreeGrammar): Concatenation of CFGs is CFG --- - [ ] depends on: #33599 - [ ] depends on: #33592 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability new-contributor blocked-by-other-PR 941/0 Mathlib/Computability/ContextFreeGrammar.lean 1 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
118-20205
3 months ago
148-4068
148 days ago
0-315
5 minutes
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
116-65630
3 months ago
unknown
unknown
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
116-12567
3 months ago
116-12567
116 days ago
12-16957
12 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor awaiting-author 51/1 Mathlib/RingTheory/Polynomial/Chebyshev.lean 1 8 ['YuvalFilmus', 'erdOne', 'github-actions', 'metakunt', 'michelsol'] chrisflav
assignee:chrisflav
114-48806
3 months ago
114-48806
114 days ago
35-14906
35 days
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` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
114-32521
3 months ago
37-68971
37 days ago
11-30747
11 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
111-83680
3 months ago
145-20148
145 days ago
18-14180
18 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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
111-64669
3 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
111-49958
3 months ago
67-73720
67 days ago
52-17049
52 days
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
110-67030
3 months ago
unknown
unknown
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
110-9163
3 months ago
155-1710
155 days ago
5-46468
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
109-60253
3 months ago
114-49573
114 days ago
4-36005
4 days
33032 ksenono
author:ksenono
feat(Combinatorics/SimpleGraph): Konig’s theorem on bipartite graphs --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor blocked-by-other-PR merge-conflict 832/251 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/Konig/Auxillary.lean,Mathlib/Combinatorics/SimpleGraph/Konig/Konig.lean,Mathlib/Combinatorics/SimpleGraph/Konig/KonigFin.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/VertexCover.lean,Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Basic.lean 12 9 ['SnirBroshi', 'github-actions', 'ksenono', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vlad902'] nobody
109-44163
3 months ago
unknown
unknown
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
109-7930
3 months ago
109-55159
109 days ago
1-73119
1 day
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
107-76710
3 months ago
118-9567
118 days ago
6-26143
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
107-63774
3 months ago
116-747
116 days ago
2-13297
2 days
34876 GrigorenkoPV
author:GrigorenkoPV
feat(Tactic/AssumptionQuestion): add `assumption?` tactic --- As requested in #10361 TODO: maybe add some tests? [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
107-62349
3 months ago
115-85337
115 days ago
0-79222
22 hours
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
107-49930
3 months ago
156-64326
156 days ago
4-56728
4 days
23791 SEU-Prime
author:SEU-Prime
Create AmiceTrans.lean --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
107-48994
3 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor merge-conflict t-analysis 59/0 Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean 3 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] nobody
107-18617
3 months ago
unknown
unknown
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
105-75116
3 months ago
147-67501
147 days ago
21-1998
21 days
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
104-84947
3 months ago
104-85047
104 days ago
34-1568
34 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
28/0 Mathlib/Algebra/Group/Subgroup/Pointwise.lean 1 23 ['FrederickPu', 'eric-wieser', 'github-actions', 'plp127', 'tb65536'] nobody
104-83456
3 months ago
105-1690
105 days ago
1-16352
1 day
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability new-contributor awaiting-author 37/0 Mathlib/MeasureTheory/Constructions/Polish/Basic.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Topology/GDelta/Basic.lean 3 8 ['MichaelStollBayreuth', 'erdOne', 'github-actions', 'j-loreaux'] kex-y
assignee:kex-y
104-79213
3 months ago
104-79419
104 days ago
39-9506
39 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
104-49087
3 months ago
unknown
unknown
33276 NicolaBernini
author:NicolaBernini
feat: Rename List.reverse_perm to List.reverse_perm_self and List.reverse_perm' to List.reverse_perm_iff --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor awaiting-author t-data merge-conflict 17/15 Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Data/Finset/Dedup.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Defs.lean,Mathlib/Data/List/Perm/Lattice.lean,Mathlib/Data/List/Permutation.lean,Mathlib/Data/Multiset/Defs.lean,Mathlib/NumberTheory/Divisors.lean 8 5 ['Ruben-VandeVelde', 'github-actions', 'mathlib-merge-conflicts'] kim-em
assignee:kim-em
104-32831
3 months ago
155-11104
155 days ago
2-58880
2 days
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
104-12565
3 months ago
104-12566
104 days ago
15-44183
15 days
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
102-10351
3 months ago
102-10351
102 days ago
13-72176
13 days
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor merge-conflict
label:t-algebra$
353/145 Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Topology/Algebra/Order/Floor.lean 3 8 ['github-actions', 'joelriou', 'mathlib-merge-conflicts', 'ster-oc'] joelriou
assignee:joelriou
99-29463
3 months ago
99-29463
99 days ago
6-29290
6 days
31766 SuccessMoses
author:SuccessMoses
feat(Topology/EMetricSpace): continuity of arc length fixes half of #31751 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology awaiting-author merge-conflict 396/0 Mathlib.lean,Mathlib/Topology/EMetricSpace/ArcLength.lean,Mathlib/Topology/EMetricSpace/BoundedVariation.lean 3 40 ['SnirBroshi', 'SuccessMoses', 'alreadydone', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-merge-conflicts'] nobody
98-61160
3 months ago
174-62030
174 days ago
2-76934
2 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! --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor awaiting-author merge-conflict 186/41 Mathlib/Analysis/Normed/Group/Uniform.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/RCLike/Basic.lean 3 15 ['github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'ster-oc'] j-loreaux
assignee:j-loreaux
97-73258
3 months ago
97-73258
97 days ago
8-26131
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
97-57496
3 months ago
156-64644
156 days ago
3-72713
3 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
97-57119
3 months ago
115-84804
115 days ago
1-61543
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] [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory new-contributor blocked-by-other-PR 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
97-44577
3 months ago
unknown
unknown
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
97-21566
3 months ago
unknown
unknown
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
96-19501
3 months ago
unknown
unknown
22361 rudynicolop
author:rudynicolop
feat(Computability/NFA): nfa closure properties Add the closure properties union, intersection and reversal for NFA. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
96-19485
3 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability new-contributor awaiting-author 104/7 Mathlib/Computability/NFA.lean 1 67 ['YaelDillies', 'ctchou', 'eric-wieser', 'github-actions', 'lambda-fairy', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'rudynicolop'] nobody
95-85756
3 months ago
123-69165
123 days ago
59-49979
59 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
95-57325
3 months ago
unknown
unknown
23929 meithecatte
author:meithecatte
feat(Computability/NFA): improve bound on pumping lemma --- - [x] depends on: #25321 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
95-39514
3 months ago
359-68813
359 days ago
0-37135
10 hours
35128 DAE123456
author:DAE123456
feat : Define anti_pascal --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor awaiting-author
label:t-algebra$
81/0 Archive.lean,Archive/Imo/Imo2018Q3.lean 2 5 ['DAE123456', 'github-actions', 'grunweg', 'vihdzp'] nobody
95-37040
3 months ago
unknown
unknown
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
95-3812
3 months ago
unknown
unknown
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
95-1493
3 months ago
unknown
unknown
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order merge-conflict 223/100 Mathlib/Order/CompletePartialOrder.lean,Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean 2 21 ['PhoenixIra', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] PhoenixIra and vihdzp
assignee:PhoenixIra assignee:vihdzp
94-66197
3 months ago
94-66197
94 days ago
38-9880
38 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
94-62268
3 months ago
67-12091
67 days ago
27-59249
27 days
35376 michaellee94
author:michaellee94
feat(Geometry/Manifold): orientable manifolds --- - [x] depends on: #33189 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
93-56473
3 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
93-7003
3 months ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-author t-data new-contributor 15/0 Mathlib/Data/Finset/Card.lean,Mathlib/Data/Set/Finite/Basic.lean 2 6 ['Ruben-VandeVelde', 'github-actions', 'mathlib-merge-conflicts'] nobody
92-41208
3 months ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory new-contributor awaiting-author 10/0 Mathlib/NumberTheory/Divisors.lean 1 6 ['adrianmartir', 'alexjbest', 'github-actions', 'tb65536'] tb65536
assignee:tb65536
92-18534
3 months ago
68-84274
68 days ago
27-12527
27 days
35442 dhyan-aranha
author:dhyan-aranha
feat: Affine line with doubled origin counter example --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
92-14138
3 months ago
105-2143
105 days ago
0-3308
55 minutes
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
92-9462
3 months ago
220-24634
220 days ago
35-25302
35 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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
91-26676
2 months ago
266-23026
266 days ago
22-77793
22 days
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
90-10906
2 months ago
43-61431
43 days ago
81-81641
81 days
34940 michaellee94
author:michaellee94
feat: the graph of a continuous function on a $C^n$ manifold is a $C^n$ manifold --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry new-contributor awaiting-author merge-conflict 536/0 Mathlib.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Geometry/Manifold/Instances/Graph.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Topology/Constructions/Graph.lean 5 80 ['botbaki-review', 'github-actions', 'grunweg', 'mathlib-merge-conflicts', 'michaellee94', 'ocfnash'] ocfnash
assignee:ocfnash
88-83336
2 months ago
90-63531
90 days ago
15-1928
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
88-82482
2 months ago
73-82555
73 days ago
17-62518
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` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability new-contributor 475/0 Mathlib/Computability/DFA.lean,Mathlib/Computability/EpsilonNFA.lean 2 2 ['github-actions'] nobody
88-72443
2 months ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor awaiting-author 151/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Contraction.lean,Mathlib/Combinatorics/SimpleGraph/Minor.lean 3 8 ['YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'robin-carlier', 'vbeffara'] b-mehta
assignee:b-mehta
88-55013
2 months ago
34-83676
34 days ago
53-31808
53 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
88-9502
2 months ago
unknown
unknown
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-author t-computability new-contributor 160/0 Mathlib/Computability/ContextFreeGrammar.lean 1 34 ['YaelDillies', 'github-actions', 'madvorak', 'nielstron'] nobody
87-84870
2 months ago
unknown
unknown
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! [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-category-theory infinity-cosmos awaiting-author 333/0 Mathlib.lean,Mathlib/CategoryTheory/Enriched/TensorProductCategory.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean 3 12 ['daniel-carranza', 'emilyriehl', 'github-actions', 'joelriou', 'robin-carlier'] nobody
87-80577
2 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
87-78863
2 months ago
74-61861
74 days ago
0-4449
1 hour
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
87-71970
2 months ago
294-52116
294 days ago
25-82514
25 days
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
87-53950
2 months ago
98-68599
98 days ago
47-75960
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. ------ [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
87-53705
2 months ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
87-42425
2 months ago
102-24465
102 days ago
5-9355
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
87-17140
2 months ago
unknown
unknown
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
86-79751
2 months ago
unknown
unknown
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
86-73078
2 months ago
unknown
unknown
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
84-66880
2 months ago
91-15223
91 days ago
55-71727
55 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
84-43487
2 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
83-58708
2 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology blocked-by-other-PR new-contributor merge-conflict 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
83-56590
2 months ago
unknown
unknown
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
83-41826
2 months ago
73-80146
73 days ago
9-55375
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory new-contributor awaiting-author merge-conflict 323/1 Mathlib.lean,Mathlib/CategoryTheory/MarkovCategory/KleisliPMF.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean 3 6 ['dagurtomas', 'github-actions', 'mathlib-merge-conflicts', 'spitters'] nobody
83-31706
2 months ago
95-63951
95 days ago
2-35223
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
83-31705
2 months ago
97-13385
97 days ago
0-45482
12 hours
36503 Mrigna01
author:Mrigna01
Add false theorem test file --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor 135/0 Mathlib/FalseBench/FalseTheorems.lean 1 3 ['github-actions'] nobody
82-54988
2 months ago
unknown
unknown
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`? [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
82-36386
2 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR t-computability new-contributor 498/0 Mathlib/Computability/ContextFreeGrammar.lean 1 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
82-19823
2 months ago
137-28682
137 days ago
10-62063
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
82-19279
2 months ago
unknown
unknown
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
81-85922
2 months ago
29-55762
29 days ago
6-75243
6 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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
81-28100
2 months ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory new-contributor awaiting-author merge-conflict LLM-generated 46/4 Mathlib/NumberTheory/PellMatiyasevic.lean,Mathlib/NumberTheory/Zsqrtd/Basic.lean 2 13 ['FrankieeW', 'MichaelStollBayreuth', 'euprunin', 'github-actions', 'mathlib-merge-conflicts', 'tb65536'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
81-27836
2 months ago
84-5952
84 days ago
15-49717
15 days
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
80-76463
2 months ago
81-68995
81 days ago
8-11652
8 days
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
80-50130
2 months ago
78-125
77 days ago
7-8533
7 days
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
80-7174
2 months ago
77-75273
77 days ago
10-2592
10 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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
79-80629
2 months ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
79-80528
2 months ago
138-72910
138 days ago
43-76977
43 days
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
77-40799
2 months ago
unknown
unknown
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
73-4529
2 months ago
73-4529
73 days ago
2-66204
2 days
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
69-23404
2 months ago
unknown
unknown
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
61-75388
2 months ago
unknown
unknown
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
60-34153
1 month ago
unknown
unknown
36937 Yaohua-Leo
author:Yaohua-Leo
feat(Algebra/Jordan): add first linearization lemmas for IsCommJordan [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) AI assistance disclosure: I used AI assistance for CI/debugging and module-structure fixes in this PR. The mathematical content and main lemmas were written by me, with help from @pelicanhere. This PR adds a new file `Mathlib/Algebra/Jordan/Linearization.lean` containing linearization lemmas for the commutative Jordan identity. Main declarations: * `IsCommJordan.four_nsmul_associator_mul_add` * `IsCommJordan.associator_mul_add` These lemmas formalize a first linearization of the commutative Jordan identity using `associator`, following McCrimmon, Proposition 1.8.5. --- I put these lemmas in a separate file because I expect follow-up linearization lemmas to belong naturally in the same place. I am also happy to rename declarations or move the file if reviewers would prefer. t-algebra new-contributor 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
60-13500
1 month ago
60-13500
60 days ago
13-5927
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
59-40921
1 month ago
59-40921
59 days ago
16-41519
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
58-66384
1 month ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory new-contributor awaiting-author 15/17 Mathlib/GroupTheory/Complement.lean 1 4 ['github-actions', 'tb65536'] tb65536
assignee:tb65536
56-21674
1 month ago
56-21674
56 days ago
0-66893
18 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
56-12254
1 month ago
61-83510
61 days ago
0-11137
3 hours
37281 AltSoKoly
author:AltSoKoly
Update EdgeConnectivity.lean --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
55-865
1 month ago
unknown
unknown
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
52-65778
1 month ago
53-78637
53 days ago
1-77226
1 day
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). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 5/0 Mathlib/Data/ENNReal/Inv.lean 1 2 ['github-actions'] nobody
51-2237
1 month ago
unknown
unknown
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
47-72899
1 month ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory new-contributor 620/0 Mathlib.lean,Mathlib/NumberTheory/NewtonPolygon.lean 2 3 ['github-actions', 'jcommelin'] nobody
47-62945
1 month ago
unknown
unknown
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
47-11264
1 month ago
unknown
unknown
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
46-59007
1 month ago
48-6051
48 days ago
0-2330
38 minutes
38139 sidbedi
author:sidbedi
chore(Algebra/MvPolynomial/Variables): golf MvPolynomial.vars_0 to rfl --- The classical qualifier and explicit rewrite chain are unnecessary — the result holds definitionally. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra awaiting-author
label:t-algebra$
1/2 Mathlib/Algebra/MvPolynomial/Variables.lean 1 3 ['github-actions', 'grunweg'] nobody
46-17067
1 month ago
46-17067
46 days ago
0-32811
9 hours
38140 sidbedi
author:sidbedi
chore(Data/Analysis/Filter): golf CFilter.ofEquiv_val to rfl --- cases F is unnecessary, the result holds definitionally. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor awaiting-author 1/2 Mathlib/Data/Analysis/Filter.lean 1 3 ['github-actions', 'grunweg'] nobody
46-17023
1 month ago
46-17023
46 days ago
0-33717
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
46-11004
1 month ago
58-75027
58 days ago
12-731
12 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor blocked-by-other-PR merge-conflict t-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
45-78031
1 month ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor blocked-by-other-PR merge-conflict t-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
45-78020
1 month ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
45-77989
1 month ago
unknown
unknown
38154 ybenmeur
author:ybenmeur
add subsingleton case to ExpChar --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
44-85789
1 month ago
unknown
unknown
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
44-29416
1 month ago
44-29417
44 days ago
15-58995
15 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry blocked-by-other-PR new-contributor 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
43-42472
1 month ago
unknown
unknown
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
43-11520
1 month ago
unknown
unknown
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) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
40-31372
1 month ago
unknown
unknown
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
39-83822
1 month ago
unknown
unknown
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` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory new-contributor awaiting-author merge-conflict 237/0 Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Braided/Traced.lean,Mathlib/CategoryTheory/Monoidal/Rigid/Traced.lean,docs/references.bib 4 5 ['dagurtomas', 'github-actions', 'mathlib-merge-conflicts', 'matthunz'] nobody
38-77921
1 month ago
74-67484
74 days ago
0-24596
6 hours
38344 robo7179
author:robo7179
feat(SimpleGraph/Coloring/VertexColoring): Matching is 2 colorable --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 51/0 Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean 1 5 ['SnirBroshi', 'github-actions', 'vlad902'] nobody
38-13784
1 month ago
41-67006
41 days ago
41-66756
41 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 . --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
36-64619
1 month ago
36-64630
36 days ago
0-24433
6 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
36-22799
1 month ago
36-22909
36 days ago
38-71219
38 days
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) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-logic merge-conflict 6/1 Mathlib/Logic/Function/Basic.lean 1 8 ['github-actions', 'kbuzzard', 'leanprover-radar', 'mathlib-merge-conflicts', 'weisbrja'] nobody
35-72326
1 month ago
35-72327
35 days ago
19-66334
19 days
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology blocked-by-other-PR new-contributor merge-conflict 296/1 Mathlib.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib 4 4 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
35-55248
1 month ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology new-contributor blocked-by-other-PR merge-conflict 393/1 Mathlib.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib 4 5 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
35-55247
1 month ago
60-79747
60 days ago
0-562
9 minutes
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry blocked-by-other-PR new-contributor 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
35-28493
1 month ago
unknown
unknown
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
34-58040
1 month ago
40-44746
40 days ago
41-15964
41 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
34-33011
1 month ago
39-81874
39 days ago
14-68997
14 days
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
33-34106
1 month ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order merge-conflict 337/10 Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/TypeTags.lean,Mathlib/Order/WithBot.lean 6 5 ['Komyyy', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] Komyyy
assignee:Komyyy
32-36387
1 month ago
32-36387
32 days ago
22-4315
22 days
38056 Deicyde
author:Deicyde
feat: topological vector bundle homomorphisms This PR implements topological vector bundle morphisms. - [ ] depends on: #38023 - [ ] depends on: #37946 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
31-68632
1 month ago
unknown
unknown
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
30-74520
30 days ago
30-73823
30 days ago
42-43117
42 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
29-37605
29 days ago
29-43551
29 days ago
30-4843
30 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 133/0 Mathlib.lean,Mathlib/Combinatorics/SetFamily/Sperner1D.lean 2 3 ['github-actions', 'grunweg'] nobody
29-28839
29 days ago
29-38259
29 days ago
29-38009
29 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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
29-25864
29 days ago
29-51360
29 days ago
3-59736
3 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor awaiting-author
label:t-algebra$
9/0 Mathlib/Algebra/Module/FinitePresentation.lean 1 17 ['chrisflav', 'github-actions', 'maddycrim', 'themathqueen', 'vlad902'] nobody
28-24195
28 days ago
28-24195
28 days ago
17-35026
17 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor 9/19 Mathlib/Order/PrimeSeparator.lean 1 2 ['github-actions'] nobody
28-21530
28 days ago
28-20870
28 days ago
28-20620
28 days
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor awaiting-author
label:t-algebra$
81/1 Mathlib/Algebra/Order/Quantale.lean 1 5 ['NoahW314', 'PieterCuijpers', 'chrisflav', 'github-actions'] mariainesdff
assignee:mariainesdff
28-5340
28 days ago
34-83995
34 days ago
39-15412
39 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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
27-63072
27 days ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
27-59710
27 days ago
54-1458
54 days ago
8-70344
8 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
27-55099
27 days ago
unknown
unknown
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
27-7891
27 days ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
26-35545
26 days ago
42-68311
42 days ago
42-68061
42 days
39023 TBUGTB
author:TBUGTB
feat(Algebra/Order): API lemmas on floor and abs Co-authored-by: Etienne Marion @EtienneC30 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
26-17271
26 days ago
26-17986
26 days ago
26-17736
26 days
38374 idontgetoutmuch
author:idontgetoutmuch
Principal Bundles, Connection 1-forms and the Frame Bundle --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
26-6488
26 days ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra awaiting-author
label:t-algebra$
106/0 Mathlib.lean,Mathlib/Algebra/Group/SemigroupPow.lean 2 7 ['ScottCarnahan', 'github-actions', 'wwylele'] nobody
25-20662
25 days ago
unknown
unknown
38476 agusakov
author:agusakov
refactor(Combinatorics/Digraph): add vertex sets --- Adopting #33466 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor awaiting-author 381/50 Mathlib/Combinatorics/Digraph/Basic.lean,Mathlib/Combinatorics/Digraph/Orientation.lean 2 16 ['Shreyas4991', 'YaelDillies', 'agusakov', 'github-actions'] nobody
25-10006
25 days ago
34-28547
34 days ago
3-31839
3 days
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
23-75462
23 days ago
23-75527
23 days ago
0-37210
10 hours
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
22-64586
22 days ago
22-64586
22 days ago
0-3025
50 minutes
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 259/0 Mathlib.lean,Mathlib/Analysis/Asymptotics/Subpolynomial.lean 2 3 ['github-actions'] nobody
22-4144
22 days ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order please-merge-master awaiting-author 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
21-85296
21 days ago
101-66547
101 days ago
16-56783
16 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor LLM-generated 60/22 Mathlib/Combinatorics/SimpleGraph/Clique.lean 1 3 ['SnirBroshi', 'github-actions'] nobody
21-69951
21 days ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
21-67130
21 days ago
161-77852
161 days ago
10-64694
10 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
21-59135
21 days ago
52-71238
52 days ago
13-57688
13 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
21-49252
21 days ago
22-44420
22 days ago
22-44170
22 days
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
21-30605
21 days ago
unknown
unknown
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
21-10028
21 days ago
22-19671
22 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
21-10026
21 days ago
22-19756
22 days ago
0-2608
43 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
19-84915
19 days ago
19-85000
19 days ago
7-61810
7 days
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
19-82267
19 days ago
19-81671
19 days ago
19-81421
19 days
38114 javgomzar
author:javgomzar
feat(FinitelyPresentedGroup): add finite groups instance Add IsFinitelyPresented instance for finite groups. Co-authored-by: Hang Lu Su , Thomas Browning --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
19-73877
19 days ago
19-72001
19 days ago
42-65930
42 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
19-72778
19 days ago
27-74214
27 days ago
64-15169
64 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
19-53738
19 days ago
26-18316
26 days ago
51-82853
51 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
19-51348
19 days ago
59-73968
59 days ago
16-20262
16 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
19-48290
19 days ago
19-47261
19 days ago
19-48557
19 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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor help-wanted 71/6 Mathlib/Analysis/InnerProductSpace/Reproducing.lean 1 3 ['TJHeeringa', 'github-actions'] nobody
19-3543
19 days ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
18-81272
18 days ago
64-21815
64 days ago
52-43778
52 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` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
18-73229
18 days ago
21-26186
21 days ago
35-7103
35 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
18-44819
18 days ago
18-66592
18 days ago
18-66342
18 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
18-28096
18 days ago
unknown
unknown
22925 ggranberry
author:ggranberry
feat(Mathlib/PlaceHolder/ToeplitzHausdorff): Toeplitz-Hausdorff --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
18-6623
18 days ago
unknown
unknown
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
17-77376
17 days ago
unknown
unknown
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
17-45332
17 days ago
unknown
unknown
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
17-28542
17 days ago
17-27959
17 days ago
17-27709
17 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
16-45522
16 days ago
16-45522
16 days ago
54-5231
54 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
15-36357
15 days ago
15-36357
15 days ago
49-46055
49 days
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
15-24545
15 days ago
15-24545
15 days ago
59-39431
59 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
15-16121
15 days ago
61-83158
61 days ago
2-56148
2 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
15-8565
15 days ago
15-8565
15 days ago
59-40608
59 days
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
14-82748
14 days ago
14-82750
14 days ago
6-77531
6 days
32555 ksenono
author:ksenono
feat(Combinatorics/SimpleGraph/Matching): maximum and maximal matchings for Konig's theorem --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
14-82187
14 days ago
15-9946
15 days ago
130-25196
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
14-80739
14 days ago
14-79489
14 days ago
20-63944
20 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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
14-73286
14 days ago
14-74002
14 days ago
18-80778
18 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
14-69059
14 days ago
14-69060
14 days ago
44-53174
44 days
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
14-50149
14 days ago
23-18813
23 days ago
117-84033
117 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
14-48909
14 days ago
75-2698
75 days ago
8-58058
8 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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR t-data new-contributor 75/0 Mathlib.lean,Mathlib/Data/Finite/Option.lean,Mathlib/Data/Finite/Subtype.lean,Mathlib/Data/Finite/Units.lean 4 3 ['github-actions', 'mathlib-dependent-issues'] nobody
14-10069
14 days ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
14-1421
14 days ago
14-843
14 days ago
14-15302
14 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] --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
13-86105
13 days ago
14-15295
14 days ago
0-1230
20 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` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
13-79780
13 days ago
19-77874
19 days ago
51-73256
51 days
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
13-78907
13 days ago
104-85349
104 days ago
39-33087
39 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
13-48614
13 days ago
20-79874
20 days ago
47-727
47 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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
13-48610
13 days ago
17-8746
17 days ago
49-62203
49 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
13-48601
13 days ago
18-74965
18 days ago
18-74715
18 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
13-48600
13 days ago
18-66045
18 days ago
18-65795
18 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
13-48598
13 days ago
18-7077
18 days ago
18-6827
18 days
34703 martinwintermath
author:martinwintermath
Generalizing orthogonalBilin --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
13-45065
13 days ago
unknown
unknown
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
13-14401
13 days ago
21-20697
21 days ago
3-41971
3 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
13-11703
13 days ago
13-11703
13 days ago
13-11453
13 days
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` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
13-8197
13 days ago
19-61927
19 days ago
19-61677
19 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
13-2968
13 days ago
13-46328
13 days ago
21-55749
21 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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
66/1 Mathlib/Algebra/DirectSum/Basic.lean 1 3 ['github-actions'] nobody
13-2238
13 days ago
13-12971
13 days ago
13-12721
13 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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
12-82163
12 days ago
12-82163
12 days ago
2-47026
2 days
33714 idontgetoutmuch
author:idontgetoutmuch
feat(Mathlib/Geometry/Manifold): Riemannian metrics exist II Supersedes https://github.com/leanprover-community/mathlib4/pull/33519 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
12-50147
12 days ago
44-2639
44 days ago
89-9372
89 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
12-48559
12 days ago
16-68104
16 days ago
16-67854
16 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)`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
12-2003
12 days ago
12-2004
12 days ago
42-8018
42 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
12-1480
12 days ago
12-1480
12 days ago
9-74648
9 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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
11-85749
11 days ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
11-80534
11 days ago
22-19428
22 days ago
40-14872
40 days
36667 NoneMore
author:NoneMore
feat(ModelTheory): add `exClosure` definition for first-order formulas Prepare for moving realizations between elementarily equivalent structures. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-logic 37/0 Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Syntax.lean 2 2 ['github-actions'] nobody
11-50146
11 days ago
47-21683
47 days ago
79-31928
79 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
11-32978
11 days ago
11-46448
11 days ago
0-13565
3 hours
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
11-24239
11 days ago
unknown
unknown
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
11-18540
11 days ago
11-17904
11 days ago
11-17654
11 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
11-1563
11 days ago
13-63245
13 days ago
0-7106
1 hour
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
10-65257
10 days ago
10-75361
10 days ago
56-47963
56 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
10-58272
10 days ago
11-2717
11 days ago
11-2467
11 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
10-50149
10 days ago
96-68664
96 days ago
99-17409
99 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
10-48975
10 days ago
29-2208
29 days ago
99-82756
99 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
10-24664
10 days ago
10-24012
10 days ago
14-42206
14 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
10-24494
10 days ago
unknown
unknown
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
10-24464
10 days ago
unknown
unknown
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
10-24447
10 days ago
unknown
unknown
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
10-14061
10 days ago
unknown
unknown
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. ![Meinhold-72](https://raw.githubusercontent.com/RaggedR/symmetric-graphs/main/lean/named_graphs/meinhold-72.jpeg) 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
10-14060
10 days ago
unknown
unknown
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. ![Zhou-3 graph](https://raw.githubusercontent.com/RaggedR/symmetric-graphs/main/lean/named_graphs/zhou3-F182A.jpg) ![Zhou-6 graph](https://raw.githubusercontent.com/RaggedR/symmetric-graphs/main/lean/named_graphs/zhou6-91v.jpg) 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
10-14059
10 days ago
unknown
unknown
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. ![Klein graph](https://raw.githubusercontent.com/RaggedR/symmetric-graphs/main/lean/named_graphs/klein-F056A.jpg) ![Zhou-3 graph](https://raw.githubusercontent.com/RaggedR/symmetric-graphs/main/lean/named_graphs/zhou3-F182A.jpg) ![Zhou-6 graph](https://raw.githubusercontent.com/RaggedR/symmetric-graphs/main/lean/named_graphs/zhou6-91v.jpg) 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
10-14058
10 days ago
11-48025
11 days ago
0-39438
10 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
10-14056
10 days ago
10-14058
10 days ago
1-3116
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. ![Heawood graph](https://raw.githubusercontent.com/RaggedR/symmetric-graphs/main/lean/named_graphs/heawood-F014A.jpg) ![Möbius-Kantor graph](https://raw.githubusercontent.com/RaggedR/symmetric-graphs/main/lean/named_graphs/mobius-kantor-F016A.jpg) 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
10-14055
10 days ago
10-14057
10 days ago
1-47361
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₄ = ⊤. ![Dodecahedron → Petersen quotient](https://raw.githubusercontent.com/RaggedR/symmetric-graphs/main/lean/named_graphs/dodecahedron-quotient-petersen.jpeg) ![Cube → K₄ quotient](https://raw.githubusercontent.com/RaggedR/symmetric-graphs/main/lean/named_graphs/cube-quotient-k4.jpeg) 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
10-14054
10 days ago
10-14056
10 days ago
1-76973
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`. ![Langer graph](https://raw.githubusercontent.com/RaggedR/symmetric-graphs/main/lean/named_graphs/langer-63v.jpg) ![Tutte 12-cage](https://raw.githubusercontent.com/RaggedR/symmetric-graphs/main/lean/named_graphs/tutte-12cage.jpg) 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
10-14053
10 days ago
10-14054
10 days ago
1-51597
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
10-14051
10 days ago
unknown
unknown
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
10-14050
10 days ago
10-14052
10 days ago
4-49821
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
10-14049
10 days ago
10-14051
10 days ago
4-50975
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
10-14048
10 days ago
10-14049
10 days ago
3-76269
3 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
10-14045
10 days ago
10-14047
10 days ago
1-2385
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
10-14044
10 days ago
10-14046
10 days ago
0-78204
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
10-14032
10 days ago
10-14032
10 days ago
14-67671
14 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
10-11641
10 days ago
189-9769
189 days ago
6-21252
6 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
10-6232
10 days ago
10-5650
10 days ago
13-80182
13 days
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-group-theory large-import awaiting-author LLM-generated merge-conflict 29/1 Mathlib/GroupTheory/PresentedGroup.lean 1 16 ['copilot-pull-request-reviewer', 'euprunin', 'github-actions', 'homeowmorphism', 'mathlib-bors', 'mathlib-merge-conflicts', 'plp127', 'tb65536'] tb65536
assignee:tb65536
9-78124
9 days ago
88-62657
88 days ago
4-29717
4 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
9-77172
9 days ago
9-76518
9 days ago
21-77317
21 days
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor blocked-by-other-PR merge-conflict
label:t-algebra$
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
9-76672
9 days ago
50-53839
50 days ago
0-363
6 minutes
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`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
9-76534
9 days ago
32-59210
32 days ago
7-82717
7 days
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
9-57681
9 days ago
9-57105
9 days ago
23-15493
23 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
9-48642
9 days ago
31-60225
31 days ago
64-13935
64 days
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 List.Vector.* - ... Deletions: - Nat.bit1_add_bit1 - ... Any other comments you want to keep out of the PR commit should go below the `---`, and placed outside this HTML comment, or else they 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] --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
9-8868
9 days ago
254-17253
254 days ago
2-2914
2 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] --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
9-8794
9 days ago
256-85978
256 days ago
0-590
9 minutes
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
8-73209
8 days ago
22-65217
22 days ago
0-6851
1 hour
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
8-61889
8 days ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta new-contributor 1/1 Mathlib/Tactic/Attr/Core.lean 1 2 ['github-actions'] dwrensha
assignee:dwrensha
8-49691
8 days ago
8-46188
8 days ago
17-55888
17 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
8-48530
8 days ago
39-76665
39 days ago
39-78759
39 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
8-48529
8 days ago
20-85922
20 days ago
20-85697
20 days
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
8-24282
8 days ago
unknown
unknown
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
8-18964
8 days ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
8-8263
8 days ago
8-8263
8 days ago
8-81558
8 days
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
8-7105
8 days ago
8-7498
8 days ago
8-7248
8 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
7-65667
7 days ago
191-51427
191 days ago
0-30128
8 hours
39849 hawkrobe
author:hawkrobe
feat(RingTheory): Every connected graded bialgebra is a Hopf algebra --- see [#PR reviews > #31898 implement HopfAlgebra for TensorAlgebra @ 💬](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2331898.20implement.20HopfAlgebra.20for.20TensorAlgebra/near/597455260). - [ ] depends on: #39785 - [ ] depends on: #39841 I used Claude Code to plan and audit. t-ring-theory new-contributor blocked-by-other-PR 732/23 Mathlib.lean,Mathlib/RingTheory/Bialgebra/Graded.lean,Mathlib/RingTheory/Bialgebra/Primitive.lean,Mathlib/RingTheory/Coalgebra/Graded.lean,Mathlib/RingTheory/HopfAlgebra/Basic.lean,Mathlib/RingTheory/HopfAlgebra/Graded.lean,Mathlib/RingTheory/HopfAlgebra/Primitive.lean,Mathlib/RingTheory/HopfAlgebra/TensorProduct.lean 8 3 ['github-actions', 'mathlib-dependent-issues'] nobody
7-58046
7 days ago
unknown
unknown
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-52650
7 days ago
7-52082
7 days ago
15-52781
15 days
39722 kg583
author:kg583
feat(Combinatorics): Link `Nat.Partition` to `YoungDiagram` --- AI disclosure: Claude was used to source some proof sketches. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
7-42131
7 days ago
8-67394
8 days ago
10-57258
10 days
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 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 29 ['TTony2019', 'github-actions', 'imathwy', 'j-loreaux', 'themathqueen'] j-loreaux
assignee:j-loreaux
7-23557
7 days ago
7-23557
7 days ago
24-11084
24 days
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory new-contributor awaiting-author 1002/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,scripts/open_gelfond_schneider_prs.sh 6 26 ['MichaelStollBayreuth', 'github-actions', 'mathlib-merge-conflicts', 'mkaratarakis', 'tb65536'] tb65536
assignee:tb65536
7-2156
7 days ago
8-10101
8 days ago
47-15598
47 days
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 6 ['alok', 'github-actions', 'mathlib-merge-conflicts', 'plp127'] nobody
7-303
7 days ago
unknown
unknown

Stale delegated PRs

Number Author Title Description Labels +/- Modified files (first 100) 📝 💬 All users who commented or reviewed Assignee(s) Updated Last status change total time in review
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) delegated t-data 5/0 Mathlib/Data/Int/ModEq.lean 1 3 ['fpvandoorn', 'github-actions', 'mathlib-bors'] nobody
200-14992
6 months ago
unknown
unknown
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
83-27845
2 months ago
unknown
unknown
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
9-76408
9 days ago
unknown
unknown
37642 SnirBroshi
author:SnirBroshi
chore(Combinatorics/SimpleGraph): tidy various files --- Concept inspired by @Ruben-VandeVelde :) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics delegated 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 15 ['SnirBroshi', 'YaelDillies', 'b-mehta', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] nobody
1-48487
1 day ago
1-68940
1 day ago
55-19199
55 days