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: May 30, 2026 at 23:07 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
269-83538
8 months ago
278-34692
278 days ago
0-20585
5 hours
34875 banrovegrie
author:banrovegrie
feat(LinearAlgebra/Matrix): add Sherman-Morrison formula Mathlib has the matrix determinant lemma (`det_add_replicateCol_mul_replicateRow` in SchurComplement.lean) but lacked the corresponding inverse formula. This PR fills that gap. - Add `Matrix.inv_add_vecMulVec`: Sherman-Morrison formula for `(A + uv^T)^{-1}` - Add `Matrix.inv_sub_vecMulVec`: subtraction variant - Add `Matrix.isUnit_det_add_vecMulVec`: invertibility under the formula's hypotheses ## Test plan - [x] `lake build` passes - [x] Lines within 100 char limit - [x] All declarations have docstrings **Any specific AI usage?**: Used Copilot for review purposes. t-algebra new-contributor awaiting-author
label:t-algebra$
135/0 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/ShermanMorrison.lean 2 14 ['Xxxjdjdid', 'banrovegrie', 'chrisflav', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'wwylele'] chrisflav
assignee:chrisflav
90-24127
2 months ago
45-21216
45 days ago
69-6728
69 days
30451 kckennylau
author:kckennylau
feat(HomogeneousIdeal): generalize to homogeneous submodule Continuation of #30437 with permission from @jjaassoonn, which is a continuation of #9820 . The definitions, constructions and theorems in `HomogeneousIdeal.lean` are generalized to homogeneous submodules. Let `R` be a graded ring and `M` be a graded `R`-module. Say an `R`-submodule `N` of `M` is homogeneous if for every `x` in `N`, each projection of `x` to `M_i` is in `N`. None of this file's results depends on the grading on `R`, but we include the grading on `R` for technical reasons. We define the "homogeneous core" of a not necessarily homogeneous submodule N to be the biggest homogeneous submodule contained within N, and the "homogeneous hull" to be the smallest homogeneous submodule that contains N. All definitions/constructions/theorems are then copied for ideals/homogeneous ideals. The motivation of this generalization is graded quotient module. (#18716) --- [![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
80-29646
2 months ago
80-29646
80 days ago
22-61538
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
78-61355
2 months ago
78-61355
78 days ago
27-54087
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
32-84743
1 month ago
58-22843
58 days ago
0-1300
21 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
25-34836
25 days ago
32-27091
32 days ago
39-18222
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
21-18558
21 days ago
21-18623
21 days ago
0-37992
10 hours
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'] alreadydone
assignee:alreadydone
19-78372
19 days ago
32-31121
32 days ago
32-31113
32 days
32828 Hagb
author:Hagb
feat(Algebra/Order/Group/Defs): add `IsOrderedAddMonoid.toIsOrderedCancelAddMonoid'` It is similar to `IsOrderedAddMonoid.toIsOrderedCancelAddMonoid`, while with different hypotheses. The conclusion `IsOrderedCancelMonoid α` on `IsOrderedAddMonoid.toIsOrderedCancelAddMonoid` still holds when the hypothesis `CommGroup α` is weakened to `CancelCommMonoid α` while `PartialOrder α` is strengthened to `LinearOrder α`. --- [`IsOrderedAddMonoid.toIsOrderedCancelAddMonoid`](https://leanprover-community.github.io/mathlib4_docs/find/?pattern=IsOrderedAddMonoid.toIsOrderedCancelAddMonoid#doc) and `IsOrderedAddMonoid.toIsOrderedCancelAddMonoid'`: https://github.com/leanprover-community/mathlib4/blob/97f78b1a4311fed1844b94f1c069219a48a098e1/Mathlib/Algebra/Order/Group/Defs.lean#L52-L62 [![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
13-76600
13 days ago
128-26623
128 days ago
40-42357
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
5-36601
5 days ago
5-37832
5 days ago
5-37824
5 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
3-31341
3 days ago
4-30110
4 days ago
0-111
1 minute
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
1-78062
1 day ago
29-30743
29 days ago
43-18894
43 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
1-78055
1 day ago
16-73347
16 days ago
16-73339
16 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
1-23757
1 day ago
1-24601
1 day ago
1-24593
1 day
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 2 ['github-actions'] nobody
1-20211
1 day ago
1-20436
1 day ago
1-20428
1 day
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
0-78290
21 hours ago
0-78291
21 hours ago
15-23632
15 days

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
668-53608
1 year ago
901-85438
901 days ago
0-1
1 second
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
668-53608
1 year ago
unknown
0-0
0 seconds
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
668-53607
1 year ago
unknown
0-0
0 seconds
6931 urkud
author:urkud
refactor(Analysis/Normed*): use `RingHomIsometric` for `*.norm_cast` --- I don't understand why linter fails. [![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
668-53607
1 year ago
unknown
0-0
0 seconds
7903 urkud
author:urkud
feat: define `UnboundedSpace` --- The new instances generate some timeouts, and I don't understand why. [![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
661-41584
1 year ago
unknown
0-0
0 seconds
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
654-46684
1 year ago
unknown
0-0
0 seconds
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
653-43360
1 year ago
875-42787
875 days ago
1-62292
1 day
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
499-51384
1 year ago
unknown
0-0
0 seconds
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
485-8805
1 year ago
514-21084
514 days ago
101-63310
101 days
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
392-55283
1 year ago
945-50278
945 days ago
0-1
1 second
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
380-36660
1 year ago
626-29478
626 days ago
21-25493
21 days
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
357-78579
11 months ago
741-19832
741 days ago
9-22045
9 days
7300 ah1112
author:ah1112
feat: synthetic geometry This is adding synthetic geometry using Avigad's axioms and formalizing Euclid Book I, through the Pythagorean theorem. --- [![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
281-76421
9 months ago
982-28906
982 days ago
0-84
1 minute
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
211-45750
6 months ago
346-36552
346 days ago
0-74
1 minute
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
192-56453
6 months ago
1052-36114
1052 days ago
0-1
1 second
5919 MithicSpirit
author:MithicSpirit
feat: implement orthogonality for AffineSubspace Define `AffineSubspace.orthogonal` and `AffineSubspace.IsOrtho`, as well as develop an API emulating that of `Submodule.orthogonal` and `Submodule.IsOrtho`, respectively. Additionally, provide some relevant lemmas exclusive to affine subspaces, which are mostly to do with the relationship between orthogonality and `AffineSubspace.Parallel`. Closes #5539 --- Still WIP as I need to add more docstrings as well as notations for the new definitions. [![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
192-56452
6 months ago
875-81347
875 days ago
0-433
7 minutes
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
192-56188
6 months ago
642-48274
642 days ago
0-16
16 seconds
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
192-55064
6 months ago
214-44529
214 days ago
87-76183
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
192-53840
6 months ago
257-31541
257 days ago
0-125
2 minutes
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
192-27765
6 months ago
1004-82878
1004 days ago
0-434
7 minutes
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
192-27629
6 months ago
667-47911
667 days ago
123-25636
123 days
12087 JADekker
author:JADekker
feat: complete API for K-Lindelöf spaces --- - [ ] depends on: #11800 (which is now awaiting a design decision) [![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
192-27622
6 months ago
667-47786
667 days ago
99-11243
99 days
12394 JADekker
author:JADekker
feat: define pre-tight and tight measures Define tight measures (by first defining separable and pre-tight measures). Define some api for all three concepts Prove Ulam's tightness theorem and a strengthened version of this. --- [![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
192-27602
6 months ago
754-35653
754 days ago
2-24297
2 days
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
192-27558
6 months ago
687-13565
687 days ago
0-201
3 minutes
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
186-41074
6 months ago
186-41115
186 days ago
0-8
8 seconds
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
155-15091
5 months ago
unknown
0-0
0 seconds
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
146-3779
4 months ago
481-1474
481 days ago
1-35979
1 day
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
145-11194
4 months ago
592-58431
592 days ago
9-73631
9 days
24010 grunweg
author:grunweg
feat(Counterexamples): a non-negative function, not a.e. zero, with vanishing lowe… …r Lebesgue integral. Came up in #23707, let's document this while we're at it. --- - [ ] depends on: #20722 [![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
142-35824
4 months ago
412-10869
412 days ago
0-22
22 seconds
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
140-87
4 months ago
266-28466
266 days ago
82-4874
82 days
26339 mans0954
author:mans0954
feat(Analysis/Normed/Module/WeakDual): Banach Dieudonné Lemma This PR continues the work from #16316. Original PR: https://github.com/leanprover-community/mathlib4/pull/16316 merge-conflict WIP t-analysis large-import please-adopt 377/3 Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/Polar.lean,Mathlib/Analysis/Normed/Module/WeakDual.lean,Mathlib/Topology/UniformSpace/Cauchy.lean 4 5 ['github-actions', 'mans0954', 'mathlib4-merge-conflict-bot'] nobody
140-48
4 months ago
340-56497
340 days ago
0-1087
18 minutes
26340 mans0954
author:mans0954
feat(Algebra/Module/NestAlgebra): Nest algebras This PR continues the work from #18705. Original PR: https://github.com/leanprover-community/mathlib4/pull/18705 merge-conflict t-algebra please-adopt
label:t-algebra$
184/0 Mathlib.lean,Mathlib/Algebra/Module/NestAlgebra.lean,Mathlib/Order/Nest.lean,Mathlib/Order/Preorder/Chain.lean,docs/references.bib 5 3 ['github-actions', 'mans0954', 'mathlib4-merge-conflict-bot'] nobody
140-32
4 months ago
335-11938
335 days ago
5-45567
5 days
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
139-86201
4 months ago
340-57099
340 days ago
0-259
4 minutes
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
139-80997
4 months ago
335-12591
335 days ago
5-43696
5 days
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
139-80974
4 months ago
192-55072
192 days ago
148-922
148 days
26349 mans0954
author:mans0954
feat(Analysis/SpecialFunctions/Trigonometric/Basic): sin and cos of multiples of π / 3 This PR continues the work from #25009. Original PR: https://github.com/leanprover-community/mathlib4/pull/25009 help-wanted t-analysis please-adopt 159/0 Mathlib/Algebra/Order/Monoid/NatCast.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Data/Nat/Cast/Defs.lean,MathlibTest/trigonometry.lean 4 3 ['github-actions', 'mans0954', 'themathqueen'] nobody
139-80930
4 months ago
335-12875
335 days ago
5-42837
5 days
26348 mans0954
author:mans0954
feat(Analysis/LocallyConvex/Prime): the prime map This PR continues the work from #24385. Original PR: https://github.com/leanprover-community/mathlib4/pull/24385 merge-conflict WIP t-analysis please-adopt 125/0 Mathlib.lean,Mathlib/Analysis/LocallyConvex/Prime.lean 2 3 ['github-actions', 'mans0954', 'mathlib4-merge-conflict-bot'] nobody
139-80921
4 months ago
335-12826
335 days ago
5-43062
5 days
26983 mans0954
author:mans0954
feat(Order/LatticeElements): distributive, standard and neutral elements of a lattice Defines distributive, standard and neutral elements of a lattice and gives equivalent conditions. --- - [x] depends on: #26836 [![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
139-80888
4 months ago
237-18745
237 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
139-80855
4 months ago
192-53809
192 days ago
41-47807
41 days
29387 mans0954
author:mans0954
feat(Analysis/LocallyConvex/WeakSpace): toWeakSpace_closedAbsConvexHull_eq The closed absolutely convex hull taken in the weak topology coincides with the closed absolutely convex hull taken in the original topology. --- - [ ] depends on: #29378 [![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
139-80836
4 months ago
266-16298
266 days ago
0-2474
41 minutes
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
139-80676
4 months ago
227-70577
227 days ago
0-14664
4 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
138-67902
4 months ago
743-37327
743 days ago
1-73101
1 day
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
134-30853
4 months ago
314-7993
314 days ago
88-84229
88 days
21476 grunweg
author:grunweg
feat(lint-style): enable running on downstream projects Enable lint-style to run on downstream projects, by making the following modifications: - allow passing an explicit list of libraries to lint: if nothing is passed, it lints `Mathlib`, `Archive` and `Counterexamples` (as before); otherwise, it lints precisely the passed modules - only check init imports, undocumented scripts and the errors from `lint-style.py` when linting Mathlib - make the style exceptions file configurable and optional: using the `nolints-file` flag, the exceptions file can be configured. If the flag is omitted, we try to find a file at `scripts/nolints-style.txt` --- and otherwise proceed with no style exceptions. This means mathlib can continue unchanged, and downstream projects can either add an explicit exceptions file, or proceed without any exceptions. After this PR, one should be able to run lint-style on a downstream project by `lake exe lint-style ProjectName`. Prompted by [this zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/lint-style.20for.20downstream.20libraries). --- - [x] depends on: #24570 - [x] depends on: #24953 (I did not test the last part.) [![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
127-50588
4 months ago
379-24921
379 days ago
43-17409
43 days
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
122-81447
4 months ago
unknown
0-0
0 seconds
23042 joneugster
author:joneugster
feat(CategoryTheory/Enriched/Limits): add HasConicalLimitsOfSize.shrink --- Note: I've marked this "WIP" because I'm not yet sure when this will be needed and I'd probably put the PR on the queue once I've created some follow-up needing it. [![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
104-71397
3 months ago
438-47897
438 days ago
0-1
1 second
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
104-71397
3 months ago
435-50888
435 days ago
0-67788
18 hours
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
104-71396
3 months ago
436-31998
436 days ago
0-370
6 minutes
35339 grunweg
author:grunweg
feat: "confusing variables" linter Continuation of #15400. This linter flags variable commands which both update an existing binder annotation and declare new variables: these can yield confusing or misleading error messages (see https://github.com/leanprover/lean4/issues/2789). Instead, these should be split in several variable statements. ------------ Help fixing these errors is welcome! Currently, the linter only catches some cases, when the updated binder is from a previous scope. To make it catch all cases, the linter could insert a section before the variable command and use that scope instead. See [zulip](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Get.20scope.20*before*.20some.20syntax.20is.20evaluated) [discussions](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Determining.20variable.20binders.20from.20syntax). --- [![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
104-41767
3 months ago
104-41835
104 days ago
0-12
12 seconds
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
104-11566
3 months ago
104-40202
104 days ago
0-118
1 minute
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
99-40775
3 months ago
100-9375
100 days ago
0-2
2 seconds
8102 miguelmarco
author:miguelmarco
feat(Tactic): add `unify_denoms` and `collect_signs` tactics This PR adds four new tactics: - `unify_denoms` tries to put expressions with several divisions in a form with only one division. In the case of fields, it works similarly to `field_simp`, but if the hypothesis about denominators being nonzero are not present, it assumes them, and leaves them as new goals to prove. In that sense, it is an "unsafe" tactic (but can be useful nevertheless, for example when you can't find which exact hypothesis is missing). It also works with expressions of naturals and Euclidean domains, assuming the corresponding hypothesis about the denominators dividing the numerators. - `unify_denoms!` extends `unify_denoms` to work with (in)equalities, assuming also that the denominators, once in normal form, are positive. - `collect_signs` works similarly with expressions using sums and substractions: it tries to put them in a form of one sum minus other sum. In the case of working with naturals, it assumes that we never substract a bigger number from a smaller one. Both are implemented essentially as a macro that combines several rewriting rules. Some new lemmas with the corresponding rules are added. --- please-adopt new-contributor merge-conflict modifies-tactic-syntax good first issue t-meta 407/0 Mathlib.lean,Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CollectSigns.lean,Mathlib/Tactic/UnifyDenoms.lean,MathlibTest/unify_denoms.lean,scripts/noshake.json 7 55 ['Paul-Lez', 'YaelDillies', 'github-actions', 'joneugster', 'kbuzzard', 'mathlib4-merge-conflict-bot', 'miguelmarco'] nobody
92-33308
3 months ago
381-15780
381 days ago
17-14109
17 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
86-25578
2 months ago
71-25651
71 days ago
17-64811
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
85-49505
2 months ago
120-29848
120 days ago
2-59629
2 days
22366 kim-em
author:kim-em
feat: `check_equalities` tactic for diagnosing defeq problems The `check_equalities` tactic, which checks the typing of equalities in the goal, reporting discrepancies between the implicit type argument of the equality, and the inferred types of the left and right hand sides, at "instances and reducible" transparency. Reports from this tactic do not necessarily indicate a problem, although typically `simp` should reduce rather than increase the reported discrepancies. `check_equalities` may be useful in diagnosing uses of `erw`. t-meta please-adopt WIP 123/4 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Basic.lean,Mathlib/Tactic/CategoryTheory/CheckCompositions.lean,Mathlib/Tactic/CheckEqualities.lean,Mathlib/Tactic/Common.lean,MathlibTest/check_equalities.lean 7 21 ['adomani', 'b-mehta', 'eric-wieser', 'fpvandoorn', 'github-actions', 'grunweg', 'kim-em', 'mathlib-bors', 'mathlib4-merge-conflict-bot'] adamtopaz
assignee:adamtopaz
81-79655
2 months ago
68-41112
68 days ago
32-12136
32 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
79-48775
2 months ago
859-20263
859 days ago
12-48883
12 days
29856 mans0954
author:mans0954
feat(Analysis/Normed/Ring/Basic): Add NonUnitalNonAssocSeminormedRing and NonUnitalNonAssocNormedRing Adds the classes `NonUnitalNonAssocSeminormedRing` and `NonUnitalNonAssocNormedRing` and relaxes the `NonUnitalSeminormedRing` section to `NonUnitalNonAssocSeminormedRing`. Examples of non-unital non-associative normed rings include non-untial JB-algebras and non-unital JB*-algebras. --- [![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
78-71060
2 months ago
193-3847
193 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
78-61355
2 months ago
78-61355
78 days ago
27-54087
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
53-51750
1 month ago
53-52088
53 days ago
0-1
1 second
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
15-36119
15 days ago
439-27628
439 days ago
3-8649
3 days
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
13-24580
13 days ago
276-49559
276 days ago
0-2565
42 minutes
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
8-49148
8 days ago
101-51029
101 days ago
13-82065
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
4-69321
4 days ago
104-38302
104 days ago
0-13
13 seconds

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
10721 urkud
author:urkud
feat(Order/FunLike): define `PointwiseLE` - introduce a mixin class `DFunLike.PointwiseLE`, use it to define `DFunLike.instPartialOrder`; - add a generic `DFunLike.orderEmbeddingCoe` - add `DFunLike.PointwiseLE` instances here and there. With this refactor and #13022, I'm going to generalize lemmas like `MeasureTheory.ae_mono` to `OuterMeasureClass`. --- - [x] depends on: #12983 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-order t-logic 123/50 Mathlib.lean,Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/FunLike/Basic.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean,Mathlib/GroupTheory/Congruence.lean,Mathlib/Order/FunLike.lean,Mathlib/Order/Heyting/Hom.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/Hom/Bounded.lean,Mathlib/Order/Hom/CompleteLattice.lean,Mathlib/Topology/Order/Hom/Basic.lean 13 48 ['YaelDillies', 'dupuisf', 'leanprover-community-mathlib4-bot', 'urkud'] nobody
668-53609
1 year ago
718-32011
718 days ago
64-12984
64 days
8788 FMLJohn
author:FMLJohn
feat(Algebra/Module/GradeZeroModule): if `A` is a graded semiring and `M` is a graded `A`-module, then each grade of `M` is a module over the 0-th grade of `A`. --- - [ ] depends on: #8187 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebra
label:t-algebra$
237/4 Mathlib.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/Module/GradeZeroModule.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/Noetherian.lean 6 4 ['FMLJohn', 'github-actions', 'leanprover-community-mathlib4-bot'] nobody
668-53608
1 year ago
908-43504
908 days ago
1-57831
1 day
6777 adomani
author:adomani
chore(Co*variantClass): replace eta-expanded (· * ·), (· + ·), (· ≤ ·), (· < ·) Replace `CovariantClass X X (· * ·) (· ≤ ·)` with -> `CovariantClass X X HMul.hMul LE.le` and similarly for `HAdd`, `LT`, `Contravariant`. This PR is inspired by [Issue #6646](https://github.com/leanprover-community/mathlib4/issues/6646) and, more specifically, [this comment](https://github.com/leanprover-community/mathlib4/issues/6646#issuecomment-1692792066). Note that https://github.com/leanprover/lean4/pull/2267 would make this unnecessary --- ```bash # First sed command: # the first captured pattern is `Co*variantClass ` # the second captured pattern is `` # the third captured pattern is `+` or `*` # the fourth captured pattern is `<` or `≤` # a match for `Co*variantClass ·) (· ·)` becomes # `Co*variantClass replaceop replaceop` # Second sed command: similar to the first, but looks for `(Function.swap (· ·))` sed -i ' s=\(Co[ntra]*variantClass \(..*\) \2 \)(· *\([+*]\) *·) (· *\([<≤]\) *·)=\1replaceop\3 replaceop\4=g s=\(Co[ntra]*variantClass \(..*\) \2 \)(\([Functio\.swap ]*\)(· *\([+*]\) *·)) (· *\([<≤]\) *·)=\1(\3replaceop\4) replaceop\5=g s=replaceop+=HAdd.hAdd=g s=replaceop\*=HMul.hMul=g s=replaceop<=LT.lt=g s=replaceop≤=LE.le=g s=\(Co[ntra]*variantClass N N\) (· \* ·) r=\1 HMul.hMul r=g s=\(Co[ntra]*variantClass N N (swap μ)\) (· ≤ ·)=\1 LE.le=g s=\(Co[ntra]*variantClass N N\) (swap (· \* ·)) r=\1 (swap HMul.hMul) r=g s=\(CovariantClass (Filter α) (Filter α)\) (· / ·) (· ≤ ·)=\1 HDiv.hDiv LE.le=g s=\(CovariantClass (Filter α) (Filter α)\) (swap (· / ·)) (· ≤ ·)=\1 (swap HDiv.hDiv) LE.le=g s=\(Co[ntra]*variantClass .* (fun x y .> . \* .)\) (· ≤ ·)=\1 LE.le=g s=\(Co[ntra]*variantClass .* (fun x y .> . \* .)\) (· < ·)=\1 LT.lt=g s=\(Co[ntra]*variantClass [^}]*\) (· ≤ ·)=\1 LE.le=g s=\(CovariantClass .* (Filter β)\) (· • ·) LE.le=\1 HSMul.hSMul LE.le=g ' $(git ls-files '*.lean') ``` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 703/678 Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean,Mathlib/Algebra/BigOperators/Basic.lean,Mathlib/Algebra/Bounds.lean,Mathlib/Algebra/CovariantAndContravariant.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/Group/UniqueProds.lean,Mathlib/Algebra/GroupPower/Order.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/Order/Archimedean.lean,Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Group/DenselyOrdered.lean,Mathlib/Algebra/Order/Group/MinMax.lean,Mathlib/Algebra/Order/Group/OrderIso.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Interval.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/Algebra/Order/LatticeGroup.lean,Mathlib/Algebra/Order/Module.lean,Mathlib/Algebra/Order/Monoid/Basic.lean,Mathlib/Algebra/Order/Monoid/Cancel/Defs.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/Lemmas.lean,Mathlib/Algebra/Order/Monoid/MinMax.lean,Mathlib/Algebra/Order/Monoid/NatCast.lean,Mathlib/Algebra/Order/Monoid/OrderDual.lean,Mathlib/Algebra/Order/Monoid/Prod.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean,Mathlib/Algebra/Order/Monoid/WithZero/Basic.lean,Mathlib/Algebra/Order/Monoid/WithZero/Defs.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Pointwise.lean,Mathlib/Algebra/Order/Positive/Ring.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/Lemmas.lean,Mathlib/Algebra/Order/Sub/Basic.lean,Mathlib/Algebra/Order/Sub/Canonical.lean,Mathlib/Algebra/Order/Sub/Defs.lean,Mathlib/Algebra/Order/WithZero.lean,Mathlib/Algebra/Parity.lean,Mathlib/Algebra/Star/Order.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/Normed/Order/Lattice.lean,Mathlib/Data/DFinsupp/Lex.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/Finset/Fold.lean,Mathlib/Data/Finsupp/Lex.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/List/BigOperators/Basic.lean,Mathlib/Data/List/BigOperators/Lemmas.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/Nat/Cast/Order.lean,Mathlib/Data/PNat/Basic.lean,Mathlib/Data/Real/ENNReal.lean,Mathlib/Data/Real/NNReal.lean,Mathlib/Data/Set/Semiring.lean,Mathlib/Data/Sign.lean,Mathlib/MeasureTheory/Function/LpOrder.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/VectorMeasure.lean,Mathlib/Order/ConditionallyCompleteLattice/Group.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Probability/Martingale/Basic.lean,Mathlib/Probability/Process/Stopping.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Game/Basic.lean,Mathlib/SetTheory/Game/PGame.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/NaturalOps.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/Positivity/Basic.lean,Mathlib/Topology/ContinuousFunction/Algebra.lean,lean-toolchain,test/Recall.lean,test/propose.lean 81 37 ['adomani', 'alreadydone', 'digama0', 'eric-wieser', 'ericrbg', 'jcommelin', 'leanprover-bot', 'sgouezel', 'vihdzp'] nobody
668-53607
1 year ago
943-19104
943 days ago
35-63136
35 days
7875 astrainfinita
author:astrainfinita
chore: make `SMulCommClass A A B` and `SMulCommClass A B B` higher priority --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict slow-typeclass-synthesis t-algebra
label:t-algebra$
54/48 Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Subgroup/Actions.lean,Mathlib/Algebra/Lie/NonUnitalNonAssocAlgebra.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/Ring/CentroidHom.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/Analysis/Complex/UnitDisc/Basic.lean,Mathlib/Analysis/NormedSpace/lpSpace.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/GroupTheory/GroupAction/Prod.lean,Mathlib/GroupTheory/GroupAction/Ring.lean,Mathlib/GroupTheory/GroupAction/SubMulAction.lean,Mathlib/GroupTheory/MonoidLocalization.lean,Mathlib/GroupTheory/Submonoid/Center.lean,Mathlib/LinearAlgebra/PiTensorProduct.lean,Mathlib/RingTheory/Ideal/Quotient.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/Topology/ContinuousFunction/ContinuousMapZero.lean,Mathlib/Topology/ContinuousFunction/StoneWeierstrass.lean,Mathlib/Topology/ContinuousFunction/ZeroAtInfty.lean 27 15 ['Parcly-Taxel', 'astrainfinita', 'jcommelin', 'leanprover-bot'] nobody
668-53607
1 year ago
722-70115
722 days ago
1-47913
1 day
6491 eric-wieser
author:eric-wieser
chore(Mathlib/Algebra/Hom/GroupAction): add `SMulHomClass.comp_smul` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebra
label:t-algebra$
24/10 Mathlib/Algebra/Hom/GroupAction.lean 1 0 [] nobody
668-53606
1 year ago
940-39606
940 days ago
83-76369
83 days
10629 madvorak
author:madvorak
feat: List.cons_sublist_append_iff_right --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-data 11/0 Mathlib/Data/List/Basic.lean 1 1 ['eric-wieser'] nobody
654-47151
1 year ago
780-55988
780 days ago
53-73442
53 days
13791 digama0
author:digama0
refactor: Primrec and Partrec General cleanup of the `Primrec` and `Partrec` files, to better adjust to lean 4 things. The main user-visible change is that `Primrec₂` is no longer a `def` but an `abbrev`, because it was causing inference issues in lean 4. I also removed all the nonterminal `simp`s in `PartrecCode.lean`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-computability tech debt 585/778 Mathlib/Computability/Ackermann.lean,Mathlib/Computability/Halting.lean,Mathlib/Computability/Partrec.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/Primrec.lean 5 2 ['github-actions', 'grunweg'] nobody
650-9996
1 year ago
713-85982
713 days ago
1-84718
1 day
11964 adamtopaz
author:adamtopaz
feat: The functor of points of a scheme We construct the functor of points functor, and prove that it's full and faithful. --- - [x] depends on: #11947 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebraic-geometry t-category-theory 210/0 Mathlib.lean,Mathlib/AlgebraicGeometry/FunctorOfPoints.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean 3 4 ['github-actions', 'grunweg'] nobody
650-9855
1 year ago
778-26796
778 days ago
0-1223
20 minutes
12418 rosborn
author:rosborn
style: replace preimage_val with ↓∩ notation --- This is a rough draft of what the new `↓∩` notation would look like within mathlib. I believe this is an improvement in clarity and would like to have `↓∩` as a standard notation (along with `''`, `⁻¹'`, `↑`, etc...). As `↓∩` is specialized for `Set`s, I have only changed `preimage_val` when the left-hand side of `↓∩` is a `Set`. The introduction of the `↓∩` notation to Data.Set.Image is temporary as it isn't possible to import Data.Set.Subset directly. If we want `↓∩` unscoped, where would be the best place to define it? An option is Data.Set.Defs, but the notation cannot be defined without additional imports as the file does not import `notation3`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 56/61 Mathlib/Analysis/InnerProductSpace/Projection.lean,Mathlib/Data/Set/Function.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Set/Subset.lean,Mathlib/MeasureTheory/Constructions/Polish.lean,Mathlib/MeasureTheory/MeasurableSpace/Basic.lean,Mathlib/MeasureTheory/Measure/Restrict.lean,Mathlib/Order/UpperLower/Basic.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/Clopen.lean,Mathlib/Topology/Connected/Basic.lean,Mathlib/Topology/Connected/PathConnected.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/ContinuousOn.lean,Mathlib/Topology/LocalAtTarget.lean,Mathlib/Topology/LocallyConstant/Basic.lean,Mathlib/Topology/Separation.lean,Mathlib/Topology/Sober.lean 18 3 ['grunweg', 'rosborn'] nobody
650-9754
1 year ago
736-19738
736 days ago
29-50022
29 days
12751 Command-Master
author:Command-Master
feat: add lemmas for Nat/Bits, Nat/Bitwise and Nat/Size Remove `@[simp]` from `Nat.bit_false` and `Nat.bit_true`, as `bit0` and `bit1` are deprecated, and add some lemmas to `Bits`, `Bitwise` and `Size`. --- [![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
649-30908
1 year ago
684-37130
684 days ago
56-40668
56 days
10350 Shamrock-Frost
author:Shamrock-Frost
feat(Data/Setoid): add the operations of taking the equivalence class of an element and of saturating a set wrt an equivalence relation I'm open to suggestions about changing the name "saturate", someone on zulip rightly pointed out this is a very overloaded term in math. That said, I think it's unlikely to cause confusion and that there's only one reasonable interpretation in the context of setoids. --- - [x] depends on: #10347 - [x] depends on: #10348 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-data 169/3 Mathlib/Data/Setoid/Basic.lean,Mathlib/Data/Setoid/Partition.lean,Mathlib/Order/Closure.lean 3 1 ['leanprover-community-mathlib4-bot'] nobody
647-33182
1 year ago
766-24810
766 days ago
19-74546
19 days
17127 FR-vdash-bot
author:FR-vdash-bot
chore: remove global `Quotient.mk` `⟦·⟧` notation --- Merge this PR when we are ready to migrate to `QuotLike` API (#16421). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-data 137/2 Counterexamples/Pseudoelement.lean,Mathlib/Algebra/Associated/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Order/CauSeq/Completion.lean,Mathlib/Algebra/Quandle.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Product.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnected.lean,Mathlib/CategoryTheory/Abelian/Pseudoelements.lean,Mathlib/CategoryTheory/Limits/Shapes/SingleObj.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean,Mathlib/CategoryTheory/Skeletal.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Fintype/List.lean,Mathlib/Data/Fintype/Quotient.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/QPF/Multivariate/Constructions/Fix.lean,Mathlib/Data/QPF/Univariate/Basic.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Real/Basic.lean,Mathlib/Data/Set/Finite.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/LinearAlgebra/Dual.lean,Mathlib/LinearAlgebra/Ray.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/ModelTheory/DirectLimit.lean,Mathlib/ModelTheory/Fraisse.lean,Mathlib/ModelTheory/Quotients.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean,Mathlib/NumberTheory/NumberField/Embeddings.lean,Mathlib/NumberTheory/NumberField/Units/DirichletTheorem.lean,Mathlib/NumberTheory/Padics/PadicIntegers.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Order/RelIso/Basic.lean,Mathlib/RepresentationTheory/Action/Concrete.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Ordinal.lean,Mathlib/SetTheory/Game/Basic.lean,Mathlib/SetTheory/Game/Birthday.lean,Mathlib/SetTheory/Game/Impartial.lean,Mathlib/SetTheory/Game/Ordinal.lean,Mathlib/SetTheory/Game/State.lean,Mathlib/SetTheory/Lists.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Surreal/Basic.lean,Mathlib/SetTheory/Surreal/Dyadic.lean,Mathlib/SetTheory/Surreal/Multiplication.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Rank.lean,Mathlib/Topology/Connected/PathConnected.lean,Mathlib/Topology/Homotopy/HomotopyGroup.lean,Mathlib/Topology/Homotopy/Path.lean,Mathlib/Topology/Homotopy/Product.lean,Mathlib/Topology/MetricSpace/GromovHausdorff.lean,Mathlib/Topology/UniformSpace/Separation.lean,test/interactiveUnfold.lean 68 1 ['github-actions'] nobody
607-68247
1 year ago
607-68247
607 days ago
4-72805
4 days
13156 erdOne
author:erdOne
refactor(Algebra/Module/LocalizedModule): Redefine `LocalizedModule` in terms of `OreLocalization`. --- - [x] depends on: #13151 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebra
label:t-algebra$
519/628 Mathlib.lean,Mathlib/Algebra/Module/LocalizedModule.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/OreLocalization/Basic.lean,Mathlib/RingTheory/OreLocalization/Module.lean,Mathlib/RingTheory/OreLocalization/Ring.lean 8 4 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mattrobball'] nobody
593-34129
1 year ago
593-34129
593 days ago
51-84473
51 days
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
570-63713
1 year ago
570-63713
570 days ago
7-45599
7 days
19212 Julian
author:Julian
feat(LinearAlgebra): add a variable_alias for VectorSpace Taken directly from the variable_alias docs. Zulip: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/why.20.5Bvariable_alias.5D.20attribute.20is.20not.20used.20in.20Mathlib.3F --- This is the first actual variable alias added to mathlib. I haven't reviewed variable_alias fully, but it seems like there's at least 3 ways they could be distributed in Mathlib: * alongside whatever subfolder they "belong to" (which is what I've tentatively done here) * In a file called `Aliases` somewhere near the thing they alias (which seems less discoverable to me) * In a single file, a la `Mathlib.TrainingWheels` (with some less playful name) which is meant to define a bunch of more "friendly" aliases all in one place. I kind of like the idea of the third thing as a future module but perhaps it can be synthesized if/when there are more aliases? For now as I say I've done the first one, but please let me know if someone prefers something else. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebra
label:t-algebra$
25/0 Mathlib.lean,Mathlib/LinearAlgebra/VectorSpace.lean,scripts/noshake.json 3 10 ['Julian', 'PieterCuijpers', 'github-actions', 'urkud'] nobody
550-40468
1 year ago
550-40468
550 days ago
7-68089
7 days
19337 zeramorphic
author:zeramorphic
feat(Data/Finsupp): generalise `Finsupp` to any "zero" value Remove the explicit dependence of `Finsupp` on `[Zero M]`, instead defining `Finsupp'` (better name pending) to be functions that are equal to a fixed value `z : M` cofinitely often. This PR is intended to do the initial work of replacing the definition of `Finsupp` with an instantiation of the more general definition, without adding any appropriate API. If accepted, the API development will follow in later PRs. Issues to consider: - Naming of `Finsupp'.` - Where should `Finsupp'` lemmas go? Do they need their own file/folder under `Data/`? Relevant Zulip threads: - https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Finsupp.20generalisations - https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Finsupp-like.20partial.20function Comments are welcome. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-data 203/83 Archive/Wiedijk100Theorems/Partition.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/Rename.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/Data/Finsupp/BigOperators.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/Defs.lean,Mathlib/RingTheory/PowerBasis.lean,scripts/nolints_prime_decls.txt 13 5 ['github-actions', 'vihdzp', 'zeramorphic'] nobody
548-16545
1 year ago
548-16545
548 days ago
4-60621
4 days
18756 astrainfinita
author:astrainfinita
refactor: deprecate `DistribMulActionSemiHomClass` `MulSemiringActionSemiHomClass` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebra
label:t-algebra$
50/28 Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/GroupTheory/GroupAction/Hom.lean 3 4 ['astrainfinita', 'github-actions', 'leanprover-bot'] nobody
536-68614
1 year ago
536-68614
536 days ago
31-53021
31 days
16120 awainverse
author:awainverse
feat(ModelTheory/Algebra/Ring/Basic): Ring homomorphisms are a `StrongHomClass` for the language of rings Adds an `IsAlgebraic` instance to the language of rings Adds a `StrongHomClass` instance to the type of ring homomorphisms between rings with `CompatibleRing` structures --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebra RFC t-logic
label:t-algebra$
34/13 Mathlib/ModelTheory/Algebra/Ring/Basic.lean 1 10 ['ChrisHughes24', 'YaelDillies', 'awainverse', 'github-actions', 'jcommelin'] nobody
508-84788
1 year ago
508-84788
508 days ago
135-29017
135 days
20527 trivial1711
author:trivial1711
refactor(Topology/UniformSpace/Completion): more descriptive names for `α → Completion α` - We rename the various maps `α → Completion α` in order to make their names more consistent. - Let `α` be a uniform space. We rename the uniformly continuous function `α → Completion α` from `UniformSpace.Completion.coe'` to `UniformSpace.Completion.coe`. - Let `α` be a uniform additive group. We rename the additive group homomorphism `α →+ Completion α` from `UniformSpace.Completion.toCompl` to `UniformSpace.Completion.coeAddHom`. - Let `α` be a uniform ring. The ring homomorphism `α →+* Completion α` is called `UniformSpace.Completion.coeRingHom`; its name is unchanged. - Let `α` be a normed space over a field `𝕜`. We rename the linear isometry `α →ₗᵢ[𝕜] Completion α` from `UniformSpace.Completion.toComplₗᵢ` to `UniformSpace.Completion.coeₗᵢ`. - Let `α` be a normed space over a field `𝕜`. We rename the continuous linear map `α →L[𝕜] Completion α` from `UniformSpace.Completion.toComplL` to `UniformSpace.Completion.coeL`. - Let `α` be a normed additive group. We rename the norm preserving homomorphism `NormedAddGroupHom α (Completion α)` from `NormedAddCommGroup.toCompl` to `UniformSpace.Completion.coeNormedAddGroupHom`. - We analogously rename some other theorems. - We add some trivial theorems (all of which are proved by `rfl`) that state that the functions considered above are equal. We give all of them the `simp` and `norm_cast` attributes. - We add a new theorem `UniformSpace.Completion.coeAddHom_eq_coe` that states that `UniformSpace.Completion.coeAddHom` and `UniformSpace.Completion.coe` are equal as functions. - We similarly add a new theorem `UniformSpace.Completion.coeRingHom_eq_coe`. - We rename the theorem `UniformSpace.Completion.coe_toComplₗᵢ` to `UniformSpace.Completion.coeₗᵢ_eq_coe`. - We rename the theorem `UniformSpace.Completion.coe_toComplL` to `UniformSpace.Completion.coeL_eq_coe`. - We similarly add a new theorem `UniformSpace.Completion.coeNormedAddGroupHom_eq_coe`. - We change all occurrences of the string `((↑) : α → Completion α)` to `(coe : α → Completion α)` or just `coe`. - We put the statements of some theorems into simp normal form by using the plain function `coe` rather than the homomorphisms that carry more structure. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-topology 130/92 Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Complex/AbsMax.lean,Mathlib/Analysis/Complex/Liouville.lean,Mathlib/Analysis/InnerProductSpace/Completion.lean,Mathlib/Analysis/Normed/Group/HomCompletion.lean,Mathlib/Analysis/Normed/Module/Completion.lean,Mathlib/Analysis/SpecialFunctions/NonIntegrable.lean,Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean,Mathlib/Topology/Algebra/GroupCompletion.lean,Mathlib/Topology/Algebra/InfiniteSum/GroupCompletion.lean,Mathlib/Topology/Algebra/InfiniteSum/Nonarchimedean.lean,Mathlib/Topology/Algebra/Nonarchimedean/Completion.lean,Mathlib/Topology/Algebra/UniformRing.lean,Mathlib/Topology/Category/UniformSpace.lean,Mathlib/Topology/MetricSpace/Completion.lean,Mathlib/Topology/UniformSpace/Completion.lean 17 4 ['eric-wieser', 'github-actions', 'trivial1711'] nobody
502-29420
1 year ago
502-29420
502 days ago
6-66637
6 days
18474 FR-vdash-bot
author:FR-vdash-bot
perf: lower the priority of `*WithOne.to*` instances --- From #7873. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict slow-typeclass-synthesis t-algebra t-data
label:t-algebra$
9/2 Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Data/Int/Cast/Defs.lean,Mathlib/Data/Nat/Cast/Defs.lean 3 7 ['astrainfinita', 'eric-wieser', 'github-actions', 'leanprover-bot'] nobody
500-16450
1 year ago
500-16450
500 days ago
76-66907
76 days
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
487-40707
1 year ago
487-40707
487 days ago
27-43617
27 days
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
451-26728
1 year ago
451-26728
451 days ago
16-76141
16 days
18470 FR-vdash-bot
author:FR-vdash-bot
perf: lower the priority of `Normed*.to*` instances --- From #7873. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict slow-typeclass-synthesis t-algebra t-analysis
label:t-algebra$
28/0 Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean 2 9 ['astrainfinita', 'github-actions', 'jcommelin', 'leanprover-bot'] nobody
446-84555
1 year ago
446-84555
446 days ago
129-16341
129 days
8767 eric-wieser
author:eric-wieser
refactor(Cache): tidy lake-manifest parsing in Cache This now respects local copies of Mathlib dependencies (though in practice these invalidate the *online* cache because to point to local copies of Mathlib, the hash for `lakefile.lean` and `lake-manifest.json` is first invalidated). --- - [x] depends on: #11492 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-meta 49/49 Cache/Hashing.lean,Cache/IO.lean,lake-manifest.json 3 8 ['digama0', 'eric-wieser', 'github-actions', 'leanprover-community-mathlib4-bot'] nobody
443-84287
1 year ago
625-50237
625 days ago
119-35643
119 days
22660 Ruben-VandeVelde
author:Ruben-VandeVelde
chore: follow naming convention around Group.IsNilpotent --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebra
label:t-algebra$
133/67 Mathlib/GroupTheory/Frattini.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/SpecificGroups/ZGroup.lean 3 1 ['github-actions'] nobody
439-48983
1 year ago
439-48983
439 days ago
10-48025
10 days
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
416-35130
1 year ago
416-35131
416 days ago
58-6026
58 days
21525 sinhp
author:sinhp
feat(CategoryTheory): Locally Cartesian Closed Categories (Prelim) This PR defines the basic preliminaries for defining locally cartesian closed categories (LCCCs). In particular, using the calculus of mates we define certain natural isomorphisms involving `Over.star` and `Over.pullback` which will be crucial in defining the right adjoint to the pullback functor in the development of LCCCs. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-category-theory large-import 338/24 Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/Comma/Over/Pullback.lean,Mathlib/CategoryTheory/Galois/Examples.lean 3 13 ['b-mehta', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'sinhp'] nobody
416-35128
1 year ago
416-35130
416 days ago
36-69400
36 days
16314 FR-vdash-bot
author:FR-vdash-bot
chore(Data/Quot): deprecate `ind*'` APIs --- - [x] depends on: #16264 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-data 247/287 Counterexamples/CliffordAlgebraNotInjective.lean,Mathlib/Algebra/Colimit/Module.lean,Mathlib/Algebra/Lie/Quotient.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/CategoryTheory/ConnectedComponents.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Subobject/FactorThru.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/Computability/Reduce.lean,Mathlib/Computability/Tape.lean,Mathlib/Data/List/Cycle.lean,Mathlib/Data/Multiset/MapFold.lean,Mathlib/Data/Multiset/ZeroCons.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/Data/Setoid/Partition.lean,Mathlib/FieldTheory/Fixed.lean,Mathlib/GroupTheory/Complement.lean,Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Congruence/Hom.lean,Mathlib/GroupTheory/Coset/Basic.lean,Mathlib/GroupTheory/Coset/Defs.lean,Mathlib/GroupTheory/FreeAbelianGroup.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/PGroup.lean,Mathlib/GroupTheory/Perm/Cycle/Concrete.lean,Mathlib/GroupTheory/PresentedGroup.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/GroupTheory/SchurZassenhaus.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/LinearAlgebra/Alternating/DomCoprod.lean,Mathlib/LinearAlgebra/Projectivization/Basic.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/LinearAlgebra/Quotient/Defs.lean,Mathlib/MeasureTheory/Function/AEEqFun.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/Order/Antisymmetrization.lean,Mathlib/Order/Category/PartOrd.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/RepresentationTheory/GroupCohomology/Hilbert90.lean,Mathlib/RingTheory/AdicCompletion/Algebra.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/Functoriality.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Congruence/Basic.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Defs.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Valuation/Quotient.lean,Mathlib/Topology/Algebra/Group/TopologicalAbelianization.lean,Mathlib/Topology/Algebra/InfiniteSum/Module.lean,Mathlib/Topology/Separation/Basic.lean 65 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
410-60094
1 year ago
410-60096
410 days ago
55-52030
55 days
15483 FR-vdash-bot
author:FR-vdash-bot
chore(GroupTheory/Coset): reduce defeq abuse --- - [x] depends on: #15482 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebra
label:t-algebra$
114/60 Mathlib/GroupTheory/Commensurable.lean,Mathlib/GroupTheory/Coset.lean,Mathlib/GroupTheory/QuotientGroup.lean,Mathlib/LinearAlgebra/Alternating/DomCoprod.lean,Mathlib/MeasureTheory/Measure/Haar/Quotient.lean,Mathlib/Topology/Algebra/Group/Compact.lean 6 14 ['astrainfinita', 'eric-wieser', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mattrobball', 'mergify', 'urkud'] nobody
410-4987
1 year ago
658-43317
658 days ago
4-79214
4 days
16594 FR-vdash-bot
author:FR-vdash-bot
perf: reorder `extends` and remove some instances in algebra hierarchy --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict slow-typeclass-synthesis t-algebra
label:t-algebra$
240/92 Mathlib.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Associated/Basic.lean,Mathlib/Algebra/BigOperators/Ring/List.lean,Mathlib/Algebra/Field/Defs.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/GroupWithZero/Prod.lean,Mathlib/Algebra/Homology/Embedding/Basic.lean,Mathlib/Algebra/Order/AddGroupWithTop.lean,Mathlib/Algebra/Order/Field/Canonical/Defs.lean,Mathlib/Algebra/Order/Field/Defs.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/Algebra/Ring/InjSurj.lean,Mathlib/Algebra/Ring/Rat.lean,Mathlib/Algebra/Ring/SumsOfSquares.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/InnerProductSpace/Symmetric.lean,Mathlib/CategoryTheory/Preadditive/FunctorCategory.lean,Mathlib/Data/Finset/NoncommProd.lean,Mathlib/Data/Int/Cast/Defs.lean,Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,Mathlib/FieldTheory/SplittingField/Construction.lean,Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/GroupTheory/Torsion.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/Order/Interval/Finset/Box.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/Coalgebra/Hom.lean,Mathlib/RingTheory/Ideal/Quotient.lean,Mathlib/RingTheory/Perfection.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean,Mathlib/Util/NoInstances.lean,scripts/noshake.json 50 8 ['astrainfinita', 'github-actions', 'grunweg', 'leanprover-bot'] nobody
410-4763
1 year ago
614-44310
614 days ago
14-58900
14 days
23859 urkud
author:urkud
feat(Topology/../Order/Field): generalize to `Semifield` .. from a linear ordered field to a linear ordered semifield--- - [ ] depends on: #23857 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-topology 245/219 Mathlib/Algebra/Order/Group/Pointwise/Interval.lean,Mathlib/Analysis/BoxIntegral/Box/SubboxInduction.lean,Mathlib/Topology/Algebra/Order/Field.lean,Mathlib/Topology/Order/Basic.lean 4 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
403-48004
1 year ago
416-58645
416 days ago
0-265
4 minutes
23810 b-reinke
author:b-reinke
chore(Order/Interval): generalize succ/pred lemmas to partial orders Many lemmas in `Mathlib/Order/Interval/Set/SuccPred.lean`and `Mathlib/Order/Interval/Finset/SuccPred.lean` also work for partial orders. They are generalized in this PR by introducing different sections for `PartialOrder` and `LinearOrder` assumptions in the respective files. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-order 231/89 Mathlib/Order/Interval/Finset/SuccPred.lean,Mathlib/Order/Interval/Set/SuccPred.lean 2 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
401-24779
1 year ago
401-24781
401 days ago
16-29623
16 days
24285 madvorak
author:madvorak
chore(Algebra/*-{Category,Homology}): remove unnecessary universe variables Discussions: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Call.20for.20help.3A.20technical.2F.20organisational.20debt/with/513620128 https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Algebra.20and.20.60Type*.60/with/513558902 https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Task.2026.3A.20Replace.20Type.20u.20by.20Type*.20wherever.20possible/with/513592993 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebra
label:t-algebra$
542/916 Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Field.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/Algebra/Subalgebra/Tower.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Central/Basic.lean,Mathlib/Algebra/Central/Defs.lean,Mathlib/Algebra/Central/TensorProduct.lean,Mathlib/Algebra/CharP/Pi.lean,Mathlib/Algebra/CharP/Quotient.lean,Mathlib/Algebra/CharP/Subring.lean,Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Finsupp.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/Field/Basic.lean,Mathlib/Algebra/Field/Defs.lean,Mathlib/Algebra/Field/IsField.lean,Mathlib/Algebra/Field/MinimalAxioms.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/Field/Subfield/Defs.lean,Mathlib/Algebra/FreeNonUnitalNonAssocAlgebra.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Equiv/Finite.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Hom/End.lean,Mathlib/Algebra/Group/Hom/Instances.lean,Mathlib/Algebra/Group/Invertible/Basic.lean,Mathlib/Algebra/Group/Invertible/Defs.lean,Mathlib/Algebra/Group/Pi/Basic.lean,Mathlib/Algebra/Group/Pi/Lemmas.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean,Mathlib/Algebra/Group/TypeTags/Finite.lean,Mathlib/Algebra/Group/TypeTags/Hom.lean,Mathlib/Algebra/Group/Units/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/Algebra/Group/WithOne/Basic.lean,Mathlib/Algebra/Group/WithOne/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/Pi.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/GroupWithZero/Invertible.lean,Mathlib/Algebra/GroupWithZero/NeZero.lean,Mathlib/Algebra/Lie/Abelian.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Lie/CartanMatrix.lean,Mathlib/Algebra/Lie/CartanSubalgebra.lean,Mathlib/Algebra/Lie/Character.lean,Mathlib/Algebra/Lie/Classical.lean,Mathlib/Algebra/Lie/DirectSum.lean,Mathlib/Algebra/Lie/Free.lean,Mathlib/Algebra/Lie/Ideal.lean,Mathlib/Algebra/Lie/IdealOperations.lean,Mathlib/Algebra/Lie/Matrix.lean,Mathlib/Algebra/Lie/Nilpotent.lean,Mathlib/Algebra/Lie/NonUnitalNonAssocAlgebra.lean,Mathlib/Algebra/Lie/OfAssociative.lean,Mathlib/Algebra/Lie/Quotient.lean,Mathlib/Algebra/Lie/SkewAdjoint.lean,Mathlib/Algebra/Lie/Solvable.lean,Mathlib/Algebra/Lie/Subalgebra.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Lie/TensorProduct.lean,Mathlib/Algebra/Lie/UniversalEnveloping.lean,Mathlib/Algebra/Module/Basic.lean,Mathlib/Algebra/Module/CharacterModule.lean,Mathlib/Algebra/Module/DedekindDomain.lean,Mathlib/Algebra/Module/Defs.lean,Mathlib/Algebra/Module/End.lean,Mathlib/Algebra/Module/Equiv/Opposite.lean,Mathlib/Algebra/Module/Lattice.lean,Mathlib/Algebra/Module/LinearMap/Basic.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/Algebra/Module/MinimalAxioms.lean,Mathlib/Algebra/Module/NatInt.lean,Mathlib/Algebra/Module/Opposite.lean,Mathlib/Algebra/Module/Pi.lean,Mathlib/Algebra/Module/Presentation/Differentials.lean,Mathlib/Algebra/Module/Presentation/Tensor.lean,Mathlib/Algebra/Module/Rat.lean,Mathlib/Algebra/Module/RingHom.lean,Mathlib/Algebra/Module/Submodule/Basic.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MonoidAlgebra/Support.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/CommRing.lean,Mathlib/Algebra/MvPolynomial/Degrees.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean 182 22 ['erdOne', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'madvorak', 'mattrobball'] nobody
401-13476
1 year ago
401-13477
401 days ago
2-11655
2 days
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
368-20226
1 year ago
368-20228
368 days ago
35-30364
35 days
16020 adomani
author:adomani
feat: compare PR `olean`s size with `master` Adds two CI steps: * `print the sizes of the oleans` that prints the sizes of all the folders containing `Mathlib` `.olean`s; * `compare oleans` that compares the sizes of the previous step with the corresponding sizes on `master`. In the test runs, the two steps have taken at most 3 seconds combined (the first is virtually instantaneous, the second one depends on `curl` to find a job id and on `gh` to retrieve the logs of a previous CI run -- everything else appears to be negligible). This hopefully helps finding out if some PR is bloating up the `.olean`s. See [this Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Error.3A.20No.20space.20left.20on.20device/near/463792355) for a PR of mine that prompted this check. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict CI 120/0 .github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,scripts/olean_comparison.sh 5 50 ['Vtec234', 'YaelDillies', 'adomani', 'bryangingechen', 'github-actions', 'grunweg', 'kim-em', 'leanprover-community-bot-assistant', 'mattrobball'] nobody
358-70233
11 months ago
556-31255
556 days ago
87-65841
87 days
25340 dupuisf
author:dupuisf
chore(Analysis/Convex): move files pertaining to convex/concave functions to their own folder This PR creates a new folder under `Analysis/Convex` called `Analysis/Convex/Function`, which includes files that are mostly or entirely about convex/concave functions (as opposed to convex sets). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-convex-geometry 4264/4155 Mathlib.lean,Mathlib/Analysis/Convex/Continuous.lean,Mathlib/Analysis/Convex/Deriv.lean,Mathlib/Analysis/Convex/Exposed.lean,Mathlib/Analysis/Convex/Extrema.lean,Mathlib/Analysis/Convex/Function.lean,Mathlib/Analysis/Convex/Function/Basic.lean,Mathlib/Analysis/Convex/Function/Continuous.lean,Mathlib/Analysis/Convex/Function/Deriv.lean,Mathlib/Analysis/Convex/Function/Extrema.lean,Mathlib/Analysis/Convex/Function/Integral.lean,Mathlib/Analysis/Convex/Function/Jensen.lean,Mathlib/Analysis/Convex/Function/Mul.lean,Mathlib/Analysis/Convex/Function/Piecewise.lean,Mathlib/Analysis/Convex/Function/Quasiconvex.lean,Mathlib/Analysis/Convex/Function/Slope.lean,Mathlib/Analysis/Convex/Function/Strong.lean,Mathlib/Analysis/Convex/Integral.lean,Mathlib/Analysis/Convex/Jensen.lean,Mathlib/Analysis/Convex/Mul.lean,Mathlib/Analysis/Convex/Piecewise.lean,Mathlib/Analysis/Convex/Quasiconvex.lean,Mathlib/Analysis/Convex/Slope.lean,Mathlib/Analysis/Convex/SpecificFunctions/Basic.lean,Mathlib/Analysis/Convex/SpecificFunctions/Deriv.lean,Mathlib/Analysis/Convex/Strong.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/Normed/Module/Convex.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/Log/NegMulLog.lean,Mathlib/Analysis/SpecialFunctions/Pochhammer.lean,Mathlib/MeasureTheory/Measure/Decomposition/IntegralRNDeriv.lean,Mathlib/NumberTheory/Harmonic/GammaDeriv.lean 34 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
357-43053
11 months ago
357-43055
357 days ago
6-38644
6 days
18441 ADedecker
author:ADedecker
refactor(AdicTopology): use new API for algebraic filter bases, and factor some code --- - [x] depends on: #18437 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-topology t-algebra
label:t-algebra$
847/159 Mathlib.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/FilterBasisNew.lean,Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/BasesNew.lean 6 3 ['ADedecker', 'github-actions', 'mathlib4-dependent-issues-bot'] nobody
345-34794
11 months ago
577-32693
577 days ago
0-679
11 minutes
18439 ADedecker
author:ADedecker
refactor: use new algebraic filter bases API in `FiniteAdeleRing` --- - [x] depends on: #18437 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-topology t-algebra
label:t-algebra$
699/21 Mathlib.lean,Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/FilterBasisNew.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/BasesNew.lean 6 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
345-34792
11 months ago
577-34336
577 days ago
0-619
10 minutes
18438 ADedecker
author:ADedecker
refactor: adapt `KrullTopology` to the new algebraic filter bases API --- - [x] depends on: #18437 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-topology t-algebra
label:t-algebra$
771/168 Mathlib.lean,Mathlib/FieldTheory/KrullTopology.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/FilterBasisNew.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/BasesNew.lean 6 5 ['ADedecker', 'AntoineChambert-Loir', 'github-actions', 'mathlib4-dependent-issues-bot'] nobody
345-34791
11 months ago
577-34978
577 days ago
0-638
10 minutes
13964 pechersky
author:pechersky
feat(Data/DigitExpansion): begin defining variant of reals without rationals Based on a de Bruijn 1976 paper. This file is just the basic definition of a digit expansion. Will be followed up with further constructions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-data 518/0 Mathlib.lean,Mathlib/Data/DigitExpansion/Defs.lean,docs/references.bib 3 11 ['eric-wieser', 'github-actions', 'kim-em', 'pechersky'] dupuisf
assignee:dupuisf
342-17082
11 months ago
580-43298
580 days ago
129-57999
129 days
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
329-68142
10 months ago
329-68142
329 days ago
37-56728
37 days
25071 erdOne
author:erdOne
feat(EllipticCurve): basic API for singular cubics --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebraic-geometry 320/0 Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Singular/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/VariableChange.lean 3 35 ['Multramate', 'acmepjz', 'erdOne', 'github-actions', 'leanprover-community-bot-assistant'] nobody
329-67896
10 months ago
329-67897
329 days ago
45-4165
45 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
329-67584
10 months ago
329-67584
329 days ago
18-21880
18 days
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
326-48962
10 months ago
326-48962
326 days ago
20-8582
20 days
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
299-46224
9 months ago
329-67893
329 days ago
38-26044
38 days
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
298-48245
9 months ago
551-41838
551 days ago
20-16585
20 days
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
297-83577
9 months ago
297-83577
297 days ago
46-52210
46 days
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
292-29680
9 months ago
292-29681
292 days ago
17-52359
17 days
27987 kckennylau
author:kckennylau
feat(RingTheory/Valuation): define ball, closed ball, and sphere --- The pullback PR of #26827 and #27451. [![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
292-29309
9 months ago
292-29310
292 days ago
6-6455
6 days
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
290-43933
9 months ago
290-43934
290 days ago
32-70098
32 days
25401 digama0
author:digama0
feat(Util): SuppressSorry option See also leanprover/lean4#8611 and [#lean4 > Silent sorry @ 💬](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/Silent.20sorry/near/503537964). This is a stop-gap solution while leanprover/lean4#8611 is underway, but it works about as well as any other built in option. Hooking declaration elaborators turns out to be a very powerful technique. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-meta 342/0 Mathlib.lean,Mathlib/Util/CommandElabHook.lean,Mathlib/Util/SuppressSorry.lean,MathlibTest/suppressSorry.lean 4 15 ['digama0', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] alexjbest
assignee:alexjbest
289-85129
9 months ago
289-85129
289 days ago
71-27957
71 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
284-2209
9 months ago
284-2210
284 days ago
0-62065
17 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
282-31335
9 months ago
282-31336
282 days ago
2-47136
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
280-64371
9 months ago
303-40293
303 days ago
7-54661
7 days
28042 kckennylau
author:kckennylau
feat(Topology/ValuativeRel): a topological basis indexed by pairs of elements --- The pullback PR of #27314 and #27163. [![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
280-64325
9 months ago
290-29369
290 days ago
7-4998
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
280-26203
9 months ago
303-40294
303 days ago
7-62439
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
275-69537
9 months ago
275-69538
275 days ago
12-78143
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
264-29483
8 months ago
264-29484
264 days ago
0-1812
30 minutes
27150 robin-carlier
author:robin-carlier
feat(CategoryTheory/Monoidal/DayConvolution): constructors for braided and symmetric structure on day convolutions monoidal categories Following the pattern in #27119, we give API to construct `BraidedCategory` and `SymmetricCategory` structures on a monoidal category equipped with a `LawfulDayConvolutionMonoidalCategoryStruct`. To achieve this, we introduce an other type class `LawfulDayConvolutionBraidedCategoryStruct` that bundles an associator isomorphism that behaves like the one constructed for functors in #27067. We provide a noncomputable constructor for this typeclass that takes as input fullness of the "realization" functor to a category of functors, and we show that the typeclasses are sufficient to define the desired structures. --- - [x] depends on: #27067 - [x] depends on: #26820 [![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
264-24522
8 months ago
319-54217
319 days ago
0-1002
16 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
263-38373
8 months ago
320-59685
320 days ago
0-1
1 second
28623 gilesgshaw
author:gilesgshaw
feat(Logic/Basic): minor additions and simplification of proofs Add new theorems and simplify proofs. Specifically, we add the family of related theorems `apply_dite_iff_exists`, `apply_dite_iff_forall`, `apply_ite_iff_and` and `apply_ite_iff_or`. For each other 'family' of theorems in the file that is analogous to the above, we do the following - Simplify proofs where possible, e.g. by appealing to the new theorems - Complete the family, if any of the corresponding four are missing - Rename to ensure consistency with the above pattern --- merge-conflict t-logic new-contributor 83/55 Archive/Examples/IfNormalization/Result.lean,Archive/Examples/IfNormalization/WithoutAesop.lean,Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Notation/Indicator.lean,Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/Logic/Basic.lean,Mathlib/MeasureTheory/Measure/WithDensity.lean,Mathlib/SetTheory/Ordinal/Notation.lean 9 12 ['eric-wieser', 'gilesgshaw', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127'] awainverse
assignee:awainverse
263-32234
8 months ago
263-32235
263 days ago
10-61840
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
257-44478
8 months ago
257-44479
257 days ago
87-79752
87 days
29330 plp127
author:plp127
chore: define `Fin.cycleIcc` with conditions Redefine `Fin.cycleIcc` using conditionals instead of composing existing `Fin` operations together. Its worst-case runtime drops from O(n) to O(1). As a bonus, the definition no longer needs explaining. --- [![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
248-56075
8 months ago
248-56076
248 days ago
20-3817
20 days
21950 erdOne
author:erdOne
feat(NumberTheory/Padics): the completion of `ℚ` at a finite place is `ℚ_[p]` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-number-theory 253/1 Mathlib.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/NumberTheory/Padics/HeightOneSpectrum.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean,Mathlib/Topology/Algebra/WithZeroMulInt.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean 7 33 ['Ruben-VandeVelde', 'erdOne', 'faenuccio', 'github-actions', 'leanprover-community-bot-assistant', 'pechersky', 'smmercuri', 'xroblot'] nobody
246-31185
8 months ago
327-31122
327 days ago
73-10873
73 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
243-21267
8 months ago
243-21268
243 days ago
0-4464
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
242-40669
8 months ago
337-47953
337 days ago
0-1708
28 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
241-43894
7 months ago
333-53066
333 days ago
0-625
10 minutes
23621 astrainfinita
author:astrainfinita
chore: deprecate `LinearOrderedComm{Monoid, Group}WithZero` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #20676 merge-conflict t-algebra t-order
label:t-algebra$
261/205 Archive/Imo/Imo1998Q2.lean,Counterexamples/LinearOrderWithPosMulPosEqZero.lean,Mathlib/Algebra/Order/Field/Canonical.lean,Mathlib/Algebra/Order/Field/Rat.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Nonneg/Field.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/Combinatorics/Additive/PluenneckeRuzsa.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Basic.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/NNRat/Lemmas.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Rat/Cast/Order.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Defs.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/NumberTheory/EllipticDivisibilitySequence.lean,Mathlib/NumberTheory/FunctionField.lean,Mathlib/NumberTheory/Ostrowski.lean,Mathlib/RingTheory/Valuation/Archimedean.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/ExtendToLocalization.lean,Mathlib/RingTheory/Valuation/Integers.lean,Mathlib/RingTheory/Valuation/Integral.lean,Mathlib/RingTheory/Valuation/Minpoly.lean,Mathlib/RingTheory/Valuation/Quotient.lean,Mathlib/RingTheory/Valuation/RankOne.lean,Mathlib/RingTheory/Valuation/ValExtension.lean,Mathlib/RingTheory/Valuation/ValuationRing.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/Topology/Algebra/Valued/LocallyCompact.lean,Mathlib/Topology/Algebra/Valued/NormedValued.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean,Mathlib/Topology/Algebra/Valued/ValuedField.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean,Mathlib/Topology/UnitInterval.lean,MathlibTest/instance_diamonds.lean,scripts/noshake.json 44 24 ['YaelDillies', 'astrainfinita', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] kbuzzard
assignee:kbuzzard
238-25609
7 months ago
408-84382
408 days ago
5-42380
5 days
27990 kckennylau
author:kckennylau
feat(Counterexamples): a nontrivial valuation with discrete topology This file constructs a valuation on `K[X]` satisfying `IsValuativeTopology K[X] ∧ Nonempty (valuation K[X]).RankOne ∧ IsNontrivial K[X] ∧ DiscreteTopology K[X]`, and proves that `IsValuativeTopology F ∧ IsNontrivial F ∧ DiscreteTopology F` is not possible if `F` is a field. --- [![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
230-27740
7 months ago
230-27741
230 days ago
67-79609
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
207-4338
6 months ago
207-4339
207 days ago
80-71575
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
199-32942
6 months ago
199-32942
199 days ago
122-64394
122 days
22662 plp127
author:plp127
feat: Localization.Away.lift (computably) This PR adds `Localization.Away.lift'` and `Localization.Away.lift`, computable alternatives to `Localization.awayLift`. --- - [x] depends on: #24791 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebra
label:t-algebra$
74/0 Mathlib/RingTheory/Localization/Away/Basic.lean 1 18 ['eric-wieser', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127', 'vihdzp'] kim-em
assignee:kim-em
192-55601
6 months ago
192-55602
192 days ago
257-28368
257 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
192-55429
6 months ago
192-55430
192 days ago
177-43034
177 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
192-54907
6 months ago
192-54908
192 days ago
133-23955
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
192-54602
6 months ago
192-54603
192 days ago
99-64548
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
192-54449
6 months ago
192-54450
192 days ago
55-54919
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
192-54411
6 months ago
192-54412
192 days ago
69-23034
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
192-53815
6 months ago
192-53816
192 days ago
54-82760
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
192-48836
6 months ago
192-48837
192 days ago
11-61697
11 days
6993 jjaassoonn
author:jjaassoonn
feat: lemmas about `AddMonoidAlgebra.{divOf, modOf}` --- - [x] depends on: #7582 - [x] depends on: #8975 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebra
label:t-algebra$
147/3 Mathlib/Algebra/MonoidAlgebra/Division.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/MvPolynomial/Basic.lean,Mathlib/Data/MvPolynomial/CommRing.lean,Mathlib/Data/MvPolynomial/Division.lean 5 42 ['YaelDillies', 'alreadydone', 'digama0', 'eric-wieser', 'github-actions', 'jjaassoonn', 'leanprover-community-mathlib4-bot'] nobody
192-27760
6 months ago
862-32513
862 days ago
103-330
103 days
9339 FMLJohn
author:FMLJohn
feat(RingTheory/GradedAlgebra/HomogeneousIdeal): given a finitely generated homogeneous ideal of a graded semiring, construct a finite spanning set for the ideal which only contains homogeneous elements --- - [ ] depends on: #8187 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-ring-theory 402/4 Mathlib.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/Module/GradeZeroModule.lean,Mathlib/RingTheory/Finiteness.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousIdeal.lean,Mathlib/RingTheory/GradedAlgebra/Noetherian.lean 8 11 ['FMLJohn', 'github-actions', 'jjaassoonn', 'leanprover-community-mathlib4-bot'] nobody
192-27713
6 months ago
876-32691
876 days ago
6-63597
6 days
10349 Shamrock-Frost
author:Shamrock-Frost
refactor(CategoryTheory/MorphismProperty): some clean-ups We make explicit some of the galois connections/closure operators in the existing MorphismProperty file, rewrite some proofs to take advantage of these structures, and change map/inverseImage by (1) swapping their argument order, for consistency with Set.range and Set.preimage and (2) making "map" perform the strict, evil map while "essMap" (previously called map) forms the closure of the image under isomorphisms. Finally we add `IsMultiplicative` instances for isos/epis/monos, with an eye towards constructing the wide subcategory on these classes of maps. --- - [x] depends on: #10347 - [x] depends on: #10348 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-category-theory 474/318 Mathlib/CategoryTheory/Localization/Composition.lean,Mathlib/CategoryTheory/Localization/LocalizerMorphism.lean,Mathlib/CategoryTheory/MorphismProperty.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/Order/Closure.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/Hom/CompleteLattice.lean,Mathlib/Order/RelIso/Basic.lean 8 1 ['leanprover-community-mathlib4-bot'] nobody
192-27671
6 months ago
842-82815
842 days ago
0-418
6 minutes
26890 robin-carlier
author:robin-carlier
feat(CategoryTheory/Monoidal/DayConvolution): more API for `DayFunctor` We provide some lemmas that helps characterizing the monoidal structure on `DayFunctor`, they are special cases of the lemmas for `LawfulDayConvolutionMonoidalCategoryStruct`. --- - [x] depends on: #26824 [![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
192-27063
6 months ago
326-52072
326 days ago
0-517
8 minutes
24016 plp127
author:plp127
feat: fine uniformity Adds the fine uniformity, and proves some properties. --- - [ ] depends on: #24096 for showing the induced topology is equal on completely regular spaces [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-topology 283/0 Mathlib.lean,Mathlib/Topology/UniformSpace/FineUniformity.lean,Mathlib/Topology/UniformSpace/Uniformizable.lean 3 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
186-73830
6 months ago
408-82580
408 days ago
2-85308
2 days
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
166-214
5 months ago
187-36163
187 days ago
63-23787
63 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
143-33153
4 months ago
51-10309
51 days ago
5-35275
5 days
33126 CoolRmal
author:CoolRmal
feat: function composition preserves boundedness This PR adds the following theorem: if the range of a function `g` is bounded above, then `g ∘ f` is bounded above for all functions `f`. --- [![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
134-31066
4 months ago
134-31067
134 days ago
27-6197
27 days
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
132-42635
4 months ago
234-47539
234 days ago
25-78230
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
128-21859
4 months ago
201-73304
201 days ago
74-59834
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
110-48288
3 months ago
329-71529
329 days ago
52-59768
52 days
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
107-16308
3 months ago
107-16309
107 days ago
5-66655
5 days
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
104-79319
3 months ago
163-66708
163 days ago
0-14835
4 hours
33281 michelsol
author:michelsol
feat(Analysis/SpecialFunctions/Integrals): integral of 1/sqrt(1-x^2) and its integrability. Add the integral of the derivative of arcsin and its integrability. --- - [ ] depends on: #33280 [![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
104-48113
3 months ago
156-15938
156 days ago
0-2872
47 minutes
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
104-24030
3 months ago
104-24030
104 days ago
0-3761
1 hour
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
103-18212
3 months ago
145-10597
145 days ago
21-3598
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
101-84558
3 months ago
101-84559
101 days ago
5-9216
5 days
25981 Multramate
author:Multramate
feat(GroupTheory/GroupAction/Basic): define homomorphisms of fixed subgroups induced by homomorphisms of groups This PR continues the work from #10126. Original PR: https://github.com/leanprover-community/mathlib4/pull/10126 t-group-theory large-import merge-conflict 218/144 Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Ring/Action/Submonoid.lean,Mathlib/GroupTheory/FiniteAbelian/Duality.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/Maps.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/GroupTheory/PGroup.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/GroupTheory/Transfer.lean,Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean,Mathlib/NumberTheory/NumberField/CMField.lean,Mathlib/NumberTheory/NumberField/Ideal/Basic.lean,Mathlib/RingTheory/Localization/Defs.lean 16 8 ['copilot-pull-request-reviewer', 'github-actions', 'mathlib-merge-conflicts'] nobody
101-84557
3 months ago
101-84557
101 days ago
4-78395
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
101-62191
3 months ago
101-62192
101 days ago
34-21636
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
101-42061
3 months ago
101-42062
101 days ago
17-1225
17 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
96-58959
3 months ago
96-58959
96 days ago
30-23357
30 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
93-68521
3 months ago
62-65177
62 days ago
59-66521
59 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
92-9293
3 months ago
92-9293
92 days ago
44-16098
44 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
89-39874
2 months ago
289-25284
289 days ago
10-67838
10 days
14712 astrainfinita
author:astrainfinita
perf: change instance priority and order about `OfNat` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict slow-typeclass-synthesis t-algebra
label:t-algebra$
49/20 Mathlib/Algebra/Group/Nat.lean,Mathlib/Algebra/Group/ZeroOne.lean,Mathlib/Algebra/Homology/Embedding/Basic.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Data/BitVec.lean,Mathlib/Data/Nat/Cast/Defs.lean,Mathlib/Data/Rat/Defs.lean,Mathlib/Data/UInt.lean,Mathlib/NumberTheory/ArithmeticFunction.lean 9 26 ['MichaelStollBayreuth', 'astrainfinita', 'eric-wieser', 'fpvandoorn', 'github-actions', 'j-loreaux', 'leanprover-bot', 'mathlib-bors'] nobody
85-38979
2 months ago
660-17149
660 days ago
20-15089
20 days
17627 hrmacbeth
author:hrmacbeth
feat: universal properties of vector bundle constructions Characterizations for the smoothness of maps into the total spaces of (1) the direct sum of two vector bundles; (2) the pullback of a vector bundle. This gap in the library was exposed by #17358. --- - [x] depends on: #22804 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-differential-geometry 311/9 Mathlib/Data/Bundle.lean,Mathlib/Geometry/Manifold/VectorBundle/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/Pullback.lean,Mathlib/Topology/FiberBundle/Constructions.lean 4 26 ['PatrickMassot', 'fpvandoorn', 'github-actions', 'grunweg', 'hrmacbeth', 'j-loreaux', 'leanprover-community-bot-assistant', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'sgouezel'] grunweg
assignee:grunweg
85-38967
2 months ago
345-38706
345 days ago
91-68302
91 days
36165 Parcly-Taxel
author:Parcly-Taxel
chore: deprecate `Nat.strongRec(On)'` In favour of Batteries's `Nat.strongRec` for definitions and `Nat.strong_induction_on` for proofs. t-data merge-conflict 34/66 Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Data/Int/GCD.lean,Mathlib/Data/Nat/Factorization/Induction.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Data/Set/Finite/Basic.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/Topology/EMetricSpace/Paracompact.lean 8 6 ['JovanGerb', 'MichaelStollBayreuth', 'Parcly-Taxel', 'Vierkantor', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] Vierkantor
assignee:Vierkantor
83-37573
2 months ago
71-22633
71 days ago
15-53464
15 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
80-28923
2 months ago
75-52216
75 days ago
26-69911
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
80-12440
2 months ago
22-8804
22 days ago
53-21240
53 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
77-23670
2 months ago
192-54745
192 days ago
114-37921
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
41-58913
1 month ago
41-58914
41 days ago
14-59669
14 days
37593 IlPreteRosso
author:IlPreteRosso
refactor(Data.Finset.*Antidiagonal): rename set-based defs to `set*Antidiagonal` Renames set-based `Finset.mulAntidiagonal` → `setMulAntidiagonal` (and SMul/VAdd variants) to free the `mulAntidiagonal` name for the planned `HasMulAntidiagonal` typeclass. Deprecation aliases added. Supersedes #34551 t-ring-theory new-contributor merge-conflict 178/96 Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Data/Finset/MulAntidiagonal.lean,Mathlib/Data/Finset/SMulAntidiagonal.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/HahnSeries/Summable.lean 6 3 ['github-actions', 'mathlib-merge-conflicts'] nobody
41-58912
1 month ago
41-58913
41 days ago
15-61521
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
39-38196
1 month ago
39-39268
39 days ago
0-5306
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
39-2090
1 month ago
39-2091
39 days ago
2-48556
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
37-1794
1 month ago
37-1795
37 days ago
22-59925
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
33-15422
1 month ago
33-15423
33 days ago
19-76858
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
31-4885
1 month ago
31-4886
31 days ago
43-5868
43 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
30-82675
1 month ago
30-82676
30 days ago
22-62470
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
30-82658
1 month ago
30-82659
30 days ago
7-41851
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
29-65883
29 days ago
29-65883
29 days ago
22-11204
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
19-4488
19 days ago
19-4489
19 days ago
46-71615
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
16-82174
16 days ago
16-82174
16 days ago
13-66876
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
14-63064
14 days ago
18-76636
18 days ago
0-12
12 seconds
39287 xgenereux
author:xgenereux
feat(Localization/AtPrime/Basic): upgrade `equivQuotMaximalIdeal` to an AlgEquiv The definition [IsLocalization.AtPrime.equivQuotMaximalIdealPow](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Localization/AtPrime/Basic.html#IsLocalization.AtPrime.equivQuotMaximalIdealPow) was added in #36783. The case with `n = 1` is still important and interesting. I have upgraded it to an AlgEquiv using `equivQuotMaximalIdealPow`. This did break a few small things, because we need to bridge back to a `RingEquiv` in some places. I took the liberty to add some missing `apply` lemmas to ease fixing these proofs. Disclaimer: I used Claude to suggest the first shot and refined it from there. María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)> --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict 45/68 Mathlib/RingTheory/Localization/AtPrime/Basic.lean,Mathlib/RingTheory/Localization/AtPrime/Extension.lean,Mathlib/RingTheory/Trace/Quotient.lean 3 2 ['github-actions', 'mathlib-merge-conflicts', 'wwylele'] nobody
12-84287
12 days ago
12-84288
12 days ago
4-53165
4 days
39329 lecopivo
author:lecopivo
feat(fun_prop): eager application of transition theorems for fun_prop For properties like Integrable we want to apply transition theorems(like Continuous -> Integrable) eagerly --- This is a change necessary in preparation for making `fun_prop` work for integrability. --> [![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
12-23482
12 days ago
14-37430
14 days ago
1-47071
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
12-12155
12 days ago
12-12156
12 days ago
44-66371
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
9-82118
9 days ago
9-82119
9 days ago
29-38312
29 days
39102 yuanyi-350
author:yuanyi-350
chore: reduce imports in 50 files --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict 70/81 Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/BoxIntegral/Box/SubboxInduction.lean,Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Distribution/DerivNotation.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Deriv.lean,Mathlib/Analysis/Distribution/Sobolev.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/Barrelled.lean,Mathlib/Analysis/LocallyConvex/ContinuousOfBounded.lean,Mathlib/Analysis/LocallyConvex/Montel.lean,Mathlib/Analysis/LocallyConvex/PointwiseConvergence.lean,Mathlib/Analysis/LocallyConvex/SeparatingDual.lean,Mathlib/Analysis/LocallyConvex/WeakDual.lean,Mathlib/Analysis/LocallyConvex/WeakOperatorTopology.lean,Mathlib/Analysis/LocallyConvex/WeakSpace.lean,Mathlib/Analysis/Meromorphic/Divisor.lean,Mathlib/Analysis/Normed/Affine/AddTorsor.lean,Mathlib/Analysis/Normed/Affine/AddTorsorBases.lean,Mathlib/Analysis/Normed/Affine/Convex.lean,Mathlib/Analysis/Normed/Algebra/Basic.lean,Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/Normed/Algebra/MatrixExponential.lean,Mathlib/Analysis/Normed/Algebra/QuaternionExponential.lean,Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean,Mathlib/Analysis/Normed/Field/Dense.lean,Mathlib/Analysis/Normed/Field/Instances.lean,Mathlib/Analysis/Normed/Field/Ultra.lean,Mathlib/Analysis/Normed/Group/AddCircle.lean,Mathlib/Analysis/Normed/Group/Bounded.lean,Mathlib/Analysis/Normed/Group/ControlledClosure.lean,Mathlib/Analysis/Normed/Group/FunctionSeries.lean,Mathlib/Analysis/Normed/Group/Indicator.lean,Mathlib/Analysis/Normed/Group/NullSubmodule.lean,Mathlib/Analysis/Normed/Group/Tannery.lean,Mathlib/Analysis/Normed/Group/Ultra.lean,Mathlib/Analysis/Normed/Lp/WithLp.lean,Mathlib/Analysis/Normed/MulAction.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Analysis/ODE/Transform.lean,Mathlib/Analysis/Oscillation.lean,Mathlib/Analysis/PSeriesComplex.lean,Mathlib/Analysis/SpecificLimits/Fibonacci.lean,Mathlib/Analysis/SpecificLimits/FloorPow.lean,Mathlib/Analysis/Subadditive.lean,Mathlib/Analysis/SumIntegralComparisons.lean 48 13 ['JovanGerb', 'YaelDillies', 'bryangingechen', 'github-actions', 'j-loreaux', 'leanprover-radar', 'mathlib-merge-conflicts', 'yuanyi-350'] j-loreaux
assignee:j-loreaux
9-82111
9 days ago
9-82112
9 days ago
11-63042
11 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
9-78055
9 days ago
9-82103
9 days ago
3-40182
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
7-21092
7 days ago
7-21093
7 days ago
67-395
67 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
7-19766
7 days ago
7-19766
7 days ago
39-73389
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
7-19374
7 days ago
7-19375
7 days ago
20-13865
20 days
39311 felixpernegger
author:felixpernegger
refactor: redefine `eLpNorm` at `p = 0` For Zulip discussion see https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/eLpNorm.20junk.20value/with/576356442. In partuclar this change is suggestion 2 in [#mathlib4 > eLpNorm junk value @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/eLpNorm.20junk.20value/near/576340531) This redefined [MeasureTheory.eLpNorm](https://leanprover-community.github.io/mathlib4_docs/Mathlib/MeasureTheory/Function/LpSeminorm/Defs.html#MeasureTheory.eLpNorm) at `p = 0`. Previously it was always `0` but now it is the measure of the support of the function (technical detail: In order to avoid having to add additional arguments to `eLpNorm`, we define it as the measure of the support of the norm of the function, but this is almost always the same) The motivation for this comes from the counting measure, in particular this then unifies with https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Normed/Lp/lpSpace.html#Mem%E2%84%93p. In any case, it is "closer" to the actual mathematical definition Unfortunately, since `eLpNorm` is widely used, the diff is very large and a lot of theorems break (i.e. now require `p != 0`). Oftentimes `p != 0` is still not required (sometimes with nontrivial arguments), I tried to avoid adding extra hypothesis whenever I could but I almost certainly missed some. There now may also be places where we dont need `p != 0` as a hypothesis anymore (i.e. for `[Memℓp](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Normed/Lp/lpSpace.html#Mem%E2%84%93p)`), but this is not included in this PR. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 915/576 Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Fourier.lean,Mathlib/Analysis/Distribution/TemperateGrowth.lean,Mathlib/Analysis/Distribution/TemperedDistribution.lean,Mathlib/Analysis/Distribution/TestFunction.lean,Mathlib/Analysis/Fourier/LpSpace.lean,Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean,Mathlib/Analysis/Normed/Lp/SmoothApprox.lean,Mathlib/Data/ENNReal/Holder.lean,Mathlib/MeasureTheory/Function/ContinuousMapDense.lean,Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean,Mathlib/MeasureTheory/Function/Holder.lean,Mathlib/MeasureTheory/Function/L1Space/Integrable.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Defs.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Indicator.lean,Mathlib/MeasureTheory/Function/LpSeminorm/LpNorm.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Monotonicity.lean,Mathlib/MeasureTheory/Function/LpSeminorm/SMul.lean,Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Trim.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/Complete.lean,Mathlib/MeasureTheory/Function/LpSpace/ContinuousFunctions.lean,Mathlib/MeasureTheory/Function/LpSpace/Indicator.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/SetToL1.lean,Mathlib/Probability/CentralLimitTheorem.lean,Mathlib/Probability/Distributions/Gaussian/Basic.lean,Mathlib/Probability/Distributions/Gaussian/Fernique.lean,Mathlib/Probability/Distributions/Gaussian/HasGaussianLaw/Basic.lean,Mathlib/Probability/Distributions/Gaussian/Real.lean,Mathlib/Probability/IdentDistrib.lean,Mathlib/Probability/Kernel/Disintegration/CDFToKernel.lean,Mathlib/Probability/Kernel/Disintegration/Density.lean,Mathlib/Probability/Martingale/Convergence.lean,Mathlib/Probability/Moments/CovarianceBilinDual.lean,Mathlib/Probability/Moments/IntegrableExpMul.lean,Mathlib/Probability/Moments/SubGaussian.lean,Mathlib/Probability/Process/Filtration.lean,MathlibTest/congr.lean 45 27 ['felixpernegger', 'github-actions', 'mathlib-merge-conflicts', 'sgouezel'] nobody
7-17990
7 days ago
7-17991
7 days ago
1-52732
1 day
16074 Rida-Hamadani
author:Rida-Hamadani
feat: combinatorial maps and planar graphs We define combinatorial maps, then we define planar graph using combinatorial maps. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-combinatorics 243/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Planar.lean,Mathlib/Data/CombinatorialMap.lean 3 30 ['MrBrain295', 'Parcly-Taxel', 'Rida-Hamadani', 'github-actions', 'lambda-fairy', 'leanprover-community-bot-assistant'] kmill
assignee:kmill
4-72625
4 days ago
329-69058
329 days ago
72-50365
72 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
4-69184
4 days ago
4-69185
4 days ago
43-39219
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
3-82300
3 days ago
3-82301
3 days ago
20-56482
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
3-38362
3 days ago
53-73867
53 days ago
0-1922
32 minutes
38622 mariainesdff
author:mariainesdff
feat(RingTheory/PowerSeries/ExponentialModule): add exponential module Let `R` be a commutative ring. The exponential module of `R` is the set of all power series `f : R⟦X⟧` that are of exponential type : `f (X + Y) = f X * f Y` where `X` and `Y` are two indeterminates. It is an abelian group under multiplication, and an `R`-module under rescaling. Co-authored by: @AntoineChambert-Loir --- - [ ] depends on: #38615 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict 425/0 Mathlib.lean,Mathlib/Algebra/BigOperators/Finsupp/Fin.lean,Mathlib/Data/Nat/Choose/Sum.lean,Mathlib/RingTheory/PowerSeries/ExponentialModule.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean 5 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] alreadydone
assignee:alreadydone
2-75724
2 days ago
2-75725
2 days ago
28-45867
28 days
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
2-70586
2 days ago
2-70587
2 days ago
1-38699
1 day
35136 joelriou
author:joelriou
feat(AlgebraicGeometry): points of the small étale site The main definition in this PR is `Scheme.pointSmallEtale`. Given a morphism `Spec (.of Ω) ⟶ S` where `Ω` is a separably closed field, we define the corresponding point of the small étale site of `S`. We show that these points form a conservative family. (This PR also removes the definition `Scheme.geometricFiber` which was not correct.) Co-authored-by: Christian Merten --- - [x] depends on: #35141 - [x] depends on: #35175 - [x] depends on: #35240 - [x] depends on: #34976 - [x] depends on: #33958 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry large-import merge-conflict 301/6 Mathlib.lean,Mathlib/AlgebraicGeometry/Fiber.lean,Mathlib/AlgebraicGeometry/Morphisms/Etale.lean,Mathlib/AlgebraicGeometry/Sites/Etale.lean,Mathlib/AlgebraicGeometry/Sites/EtalePoint.lean,Mathlib/CategoryTheory/Elements.lean,Mathlib/CategoryTheory/EssentialImage.lean,Mathlib/CategoryTheory/Limits/FinallySmall.lean,Mathlib/CategoryTheory/Limits/MorphismProperty.lean,Mathlib/CategoryTheory/MorphismProperty/Comma.lean,Mathlib/CategoryTheory/ObjectProperty/Small.lean 11 5 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
0-82622
22 hours ago
0-82623
22 hours ago
9-10949
9 days
35569 goliath-klein
author:goliath-klein
refactor(PiTensorProduct/{InjectiveNorm, ProjectiveNorm}): deprecate `injectiveSeminorm` This PR: * Deprecates `PiTensorProduct.injectiveSeminorm` and supporting lemmas. * Moves the theory of `liftEquiv` from InjectiveSeminorm.lean to ProjectiveSeminorm.lean. No changes are introduced beyond adding deprecation notices, adapting docstrings, and moving material between files. The PR leaves InjectiveSeminorm.lean almost empty. A new implementation of `injectiveSeminorm`, one which reflects the common mathematical definition, is to be done. This is the third in a series of three PRs with the goal to [deprecate `PiTensorProuduct.injectiveSeminorm`](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/injectiveSeminorm/with/568798633). --- - [ ] depends on: #35567 - [ ] depends on: #35568 Deprecations: - injectiveSeminorm - dualSeminorms_bounded - injectiveSeminorm_apply - norm_eval_le_injectiveSeminorm - injectiveSeminorm_le_projectiveSeminorm - injectiveSeminorm_tprod_le Preliminary work toward a reimplementation is at #33969. I've added Davood and myself to the "Authors" field, as we have now significantly refactored this module. Co-authored-by: Davood H. T. Tehrani [![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
0-82618
22 hours ago
0-82619
22 hours ago
59-23938
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
0-82489
22 hours ago
0-82490
22 hours ago
13-62459
13 days
36239 plp127
author:plp127
feat(FieldTheory/KrullTopology): define uniform group structure on galois group Endow the galois group of a field extension `Gal(L/K)` with the structure of a uniform group. Use this to prove some properties of the galois group earlier, for example, that the galois group is compact is immediate, and in more generality than the version proved in `FieldTheory/Galois/Profinite`. Deprecate some material which used to be used to define the krull topology, but is now unused since the krull topology comes out of the uniform structure. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
295/220 Mathlib/FieldTheory/Galois/Infinite.lean,Mathlib/FieldTheory/Galois/Profinite.lean,Mathlib/FieldTheory/KrullTopology.lean,Mathlib/NumberTheory/Cyclotomic/CyclotomicCharacter.lean 4 24 ['acmepjz', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts', 'plp127', 'vihdzp'] mattrobball
assignee:mattrobball
0-82488
22 hours ago
0-82488
22 hours ago
61-51013
61 days
37501 xgenereux
author:xgenereux
feat(DedekindDomain/AdicValuation): `intValuation` on uniformizers is `exp (-1)` This PR add the lemma `intValuation_val_uniformizer_eq` which is an application of #37497. Note that I've had to reorganize the files a little bit: 1. I wanted to import `Valuation.Discrete.Basic` in `AdicValuation` but this was not possible since there was a dependency in the other direction (`Valuation.Discrete.Basic` depended on `AdicValuation`). I don't think this makes sense - we want to have access to basic definitions on general valuation in an application file like `AdicValuation`. ~~The reorganization consist of moving the `IsDiscreteValuationRing` of `Valuation.Discrete.Basic` to `AdicValuation`.~~ The reorganization consist of moving the `IsDiscreteValuationRing` section to a new file. 2. I moved some lemmas out of `Mathlib.RingTheory.Valuation.Discrete.RankOne` to the parent file `Mathlib.RingTheory.Valuation.Discrete.Basic.`. These lemmas do not need the richer imports from `RankOne` and are needed in my application. Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)> --- - [x] depends on: #37497 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict 203/167 Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean,Mathlib/NumberTheory/NumberField/Completion/FinitePlace.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/OrderOfVanishing/Noetherian.lean,Mathlib/RingTheory/Valuation/Discrete/Basic.lean,Mathlib/RingTheory/Valuation/Discrete/IsDiscreteValuationRing.lean,Mathlib/RingTheory/Valuation/Discrete/RankOne.lean 8 7 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'riccardobrasca'] riccardobrasca
assignee:riccardobrasca
0-82237
22 hours ago
0-82238
22 hours ago
49-51888
49 days
37682 SabrinaJewson
author:SabrinaJewson
refactor(Order/OrdContinuous): redefine left and right order continuity to not require preserving ⊥/⊤ `LeftOrdContinuous` currently requires that `f ⊥ = ⊥`, but this means that many functions that are perhaps intuitively left-continuous (like `f x = x + 1` on `ℝ≥0`) are not. In particular, this change means that functions between conditionally complete lattices are `LeftOrdContinuous` iff they are monotone and topologically left continuous (see `MonotoneOn.map_csSup_of_continuousWithinAt` for the reverse direction). If one wants the concept that existed before, one can either accept the `f ⊥ = ⊥` hypothesis separately or, if the function is between complete lattices, use the left side of a `GaloisConnection` (which is equivalent, although I think this is not yet in Mathlib). This removes the definitional equality of the type in favour of a structure. Since most of the time users will be working with the `sSup` versions and not with `IsLUB`, I think this is justified. As a consequence, this removes the definitional equality between `LeftOrdContinuous` and `RightOrdContinuous` of the dual – the latter could be redefined to re-add this, but we do have conversion functions. `LeftOrdContinuous.continuousWithinAt_Iic` is rewritten to accomodate these changes; the superfluous `DenselyOrdered` assumption is also removed. [Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/LeftOrdContinuous.20requires.20f.28.E2.8A.A5.29.20.3D.20.E2.8A.A5/near/582932491) --- - [x] depends on: #37735 - [x] depends on: #37772 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order merge-conflict 52/38 Mathlib/Order/OrdContinuous.lean,Mathlib/Order/SemiconjSup.lean,Mathlib/Topology/Order/Basic.lean 3 11 ['SabrinaJewson', 'astrainfinita', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] Komyyy
assignee:Komyyy
0-82235
22 hours ago
0-82236
22 hours ago
52-2543
52 days
38127 riccardobrasca
author:riccardobrasca
feat: add ClassGroup.extendedHom --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed t-algebra t-ring-theory merge-conflict
label:t-algebra$
198/6 Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/NumberTheory/ClassNumber/Finite.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean,Mathlib/RingTheory/ClassGroup/Basic.lean,Mathlib/RingTheory/ClassGroup/ExtendedHom.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/PicardGroup.lean,Mathlib/RingTheory/UniqueFactorizationDomain/ClassGroup.lean 9 31 ['faenuccio', 'github-actions', 'mathlib-merge-conflicts', 'riccardobrasca'] mattrobball
assignee:mattrobball
0-82106
22 hours ago
0-82106
22 hours ago
39-65429
39 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
0-78690
21 hours ago
0-78690
21 hours ago
36-80727
36 days
38431 joelriou
author:joelriou
refactor(Topology): redefine Delta-generated spaces Delta-generated spaces are made particular cases of `X`-generated spaces, where `X` is a family of topological spaces. --- - [x] depends on: #38080 - [x] depends on: #37799 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology large-import merge-conflict 144/211 Mathlib/Topology/Category/DeltaGenerated.lean,Mathlib/Topology/Compactness/DeltaGeneratedSpace.lean,Mathlib/Topology/Convenient/Category.lean,Mathlib/Topology/Convenient/GeneratedBy.lean 4 4 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] PatrickMassot
assignee:PatrickMassot
0-78687
21 hours ago
0-78688
21 hours ago
23-29045
23 days
39029 felixpernegger
author:felixpernegger
chore: remove redundant `unfold`s This PR removed roughly (estimated by files I went through) half of the `unfold`'s in mathlib which can be removed such that the proof still works (found by searching `unfold ` in VSCode in manually going through ~600/1100 occurences). I originally planned to replace all, but I couldn't find any relevant discussion if this is actually a good practice, so to save potentially wasted time, I make this PR now. (similarly with the `clear` tactic) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 63/108 Archive/Imo/Imo1994Q1.lean,Archive/Imo/Imo1998Q2.lean,Archive/Imo/Imo2001Q5.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/Coskeletal.lean,Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean,Mathlib/Analysis/Complex/JensenFormula.lean,Mathlib/Analysis/Convex/Strict.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Orthogonality.lean,Mathlib/CategoryTheory/Functor/Flat.lean,Mathlib/CategoryTheory/Functor/FullyFaithful.lean,Mathlib/CategoryTheory/Monoidal/Closed/Functor.lean,Mathlib/Combinatorics/Enumerative/Partition/Basic.lean,Mathlib/Combinatorics/Graph/Delete.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/RegularExpressions.lean,Mathlib/Computability/TuringMachine/PostTuringMachine.lean,Mathlib/Computability/TuringMachine/StackTuringMachine.lean,Mathlib/Condensed/Light/TopCatAdjunction.lean,Mathlib/Data/Fintype/EquivFin.lean,Mathlib/Data/Fintype/List.lean,Mathlib/Data/Int/GCD.lean,Mathlib/Data/List/Intervals.lean,Mathlib/Data/Matrix/Basis.lean,Mathlib/Data/Nat/BinaryRec.lean,Mathlib/Data/Nat/ChineseRemainder.lean,Mathlib/Data/Nat/Digits/Div.lean,Mathlib/Data/Nat/Dist.lean,Mathlib/Data/Ordmap/Ordset.lean,Mathlib/Data/PNat/Prime.lean,Mathlib/Data/Real/Embedding.lean,Mathlib/Data/Seq/Defs.lean,Mathlib/Data/Stream/Init.lean,Mathlib/Data/WSeq/Basic.lean,Mathlib/Data/ZMod/Basic.lean 44 5 ['felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] nobody
0-78427
21 hours ago
0-78428
21 hours ago
22-8291
22 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
0-78290
21 hours ago
0-78291
21 hours ago
15-23632
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
0-78159
21 hours ago
0-78160
21 hours ago
13-7752
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
0-78156
21 hours ago
0-78156
21 hours ago
12-82083
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
0-78152
21 hours ago
0-78153
21 hours ago
6-13316
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
0-74628
20 hours ago
0-74629
20 hours ago
5-46079
5 days
39857 plp127
author:plp127
chore(Order/CompleteLattice/Basic): `Sort*` polymorphism Generalize some theorems from `Type*` to `Sort*`. Also make type-variables explicitly either `Type*` or `Sort*`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order merge-conflict 15/31 Mathlib/Order/CompleteLattice/Basic.lean 1 4 ['SnirBroshi', 'b-mehta', 'github-actions', 'mathlib-merge-conflicts'] nobody
0-74500
20 hours ago
0-74500
20 hours ago
4-715
4 days
39928 Vierkantor
author:Vierkantor
feat(Tactic): `convert` discharges side goals reducibly This PR implements the main behaviour change from #39039: `convert` now discharges side goals at reducible transparency. `convert!`, which we previously switched all calls inside Mathlib to, keeps the old behaviour of working at default transparency. (Everything discussed in this PR holds analogously for the other tactics in the family: `convert_to` and `ac_change`). The main trick in this PR is in allowing `convert!` to have different configuration options than `convert`, but still allow the user to override those options too. So `convert! (postTransparency := .instances)` will have transparency set to `.instances`, not `.default`. We achieve this by having two new structures that copy `Congr!.Config` but set different default values, and choosing between the corresponding elaborators for those configs based on the presence of an `!`. I got this trick from Jovan's #38071 which also changes settings in `Convert.Config`. This PR should be mostly compatible with #38071 and I'd like to get both this one and #38071 in before wrapping up #39039 by replacing unnecessary calls to `convert!` with `convert`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict 165/47 Mathlib/Algebra/Lie/Weights/Chain.lean,Mathlib/Algebra/Lie/Weights/Killing.lean,Mathlib/AlgebraicGeometry/Morphisms/UniversallyOpen.lean,Mathlib/AlgebraicGeometry/Normalization.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/AlgebraicGeometry/PointsPi.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/PUnit.lean,Mathlib/AlgebraicTopology/SimplicialSet/Nerve.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unique.lean,Mathlib/Analysis/Calculus/Deriv/Inverse.lean,Mathlib/Analysis/Fourier/FourierTransformDeriv.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/CategoryTheory/Galois/Decomposition.lean,Mathlib/Combinatorics/SimpleGraph/Trails.lean,Mathlib/FieldTheory/IntermediateField/ExtendRight.lean,Mathlib/NumberTheory/DiophantineApproximation/Basic.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Order/Filter/AtTopBot/Finite.lean,Mathlib/RepresentationTheory/Action.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/Localization/Algebra.lean,Mathlib/RingTheory/Polynomial/GaussNorm.lean,Mathlib/RingTheory/PowerSeries/PiTopology.lean,Mathlib/RingTheory/Valuation/ExtendToLocalization.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/Tactic/CongrExclamation.lean,Mathlib/Tactic/Convert.lean,Mathlib/Topology/Category/TopCat/Limits/Products.lean,MathlibTest/Tactic/Convert/Basic.lean,MathlibTest/Tactic/Convert/Bugfix7945.lean,MathlibTest/ValuedCSP.lean 33 2 ['github-actions', 'mathlib-merge-conflicts'] dwrensha
assignee:dwrensha
0-74498
20 hours ago
0-74498
20 hours ago
1-39934
1 day
39966 chrisflav
author:chrisflav
chore(Algebra/Exact): relate surjectivity / injectivity and exactness This came up while reviewing #39520, but ended up unnecessary. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
8/0 Mathlib/Algebra/Exact.lean 1 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
0-74495
20 hours ago
0-74496
20 hours ago
1-54778
1 day
40004 jcommelin
author:jcommelin
doc: add wikidata attributes This PR adds a batch of wikidata attributes to concepts from overview.yaml. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 45/21 Mathlib/Algebra/ContinuedFractions/Basic.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Group/Irreducible/Defs.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/Algebra/Ring/Hom/Defs.lean,Mathlib/Algebra/Ring/Subring/Defs.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/CategoryTheory/Category/Basic.lean,Mathlib/CategoryTheory/Comma/Basic.lean,Mathlib/CategoryTheory/Functor/Basic.lean,Mathlib/CategoryTheory/Iso.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/NatTrans.lean,Mathlib/CategoryTheory/Sites/Grothendieck.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Data/Real/Basic.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/Perm/Subgroup.lean,Mathlib/GroupTheory/Schreier.lean,Mathlib/GroupTheory/SpecificGroups/Alternating.lean,Mathlib/GroupTheory/Subgroup/Simple.lean,Mathlib/LinearAlgebra/Span/Defs.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/RingTheory/FractionalIdeal/Basic.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/Ideal/Prime.lean,Mathlib/RingTheory/Ideal/Quotient/Defs.lean,Mathlib/RingTheory/LocalRing/Defs.lean,Mathlib/RingTheory/Noetherian/Defs.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Defs.lean 38 53 ['SnirBroshi', 'github-actions', 'jcommelin', 'mathlib-merge-conflicts'] nobody
0-74371
20 hours ago
0-74372
20 hours ago
0-67351
18 hours
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
0-28117
7 hours ago
4-69170
4 days ago
11-19868
11 days
40032 ADedecker
author:ADedecker
feat: define MonoidHom.piMap --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
58/34 Mathlib/Algebra/Group/Pi/Lemmas.lean 1 3 ['github-actions', 'mathlib-merge-conflicts', 'themathqueen'] nobody
0-15532
4 hours ago
0-15533
4 hours ago
0-72716
20 hours
40044 ADedecker
author:ADedecker
chore: rename Pi.algHom to AlgHom.pi --- - [ ] depens on: #40039 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
113/78 Mathlib/Algebra/Algebra/Pi.lean,Mathlib/Algebra/Category/Ring/Adjunctions.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/Category/Ring/Under/Limits.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Eval/Coeff.lean,Mathlib/Algebra/Ring/Pi.lean,Mathlib/AlgebraicGeometry/Morphisms/Flat.lean,Mathlib/AlgebraicGeometry/PointsPi.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/ConvexBody.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Pure.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Idempotents.lean,Mathlib/RingTheory/Localization/Pi.lean,Mathlib/RingTheory/RingHom/QuasiFinite.lean,Mathlib/RingTheory/Smooth/Pi.lean,Mathlib/RingTheory/Spectrum/Maximal/Localization.lean 19 4 ['ADedecker', 'github-actions', 'mathlib-merge-conflicts'] nobody
0-15531
4 hours ago
0-15532
4 hours ago
0-21304
5 hours
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
0-1412
23 minutes ago
334-31533
334 days ago
0-5139
1 hour
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
0-614
10 minutes ago
0-615
10 minutes ago
23-5862
23 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
653-45999
1 year ago
684-6581
684 days ago
6-38745
6 days
12751 Command-Master
author:Command-Master
feat: add lemmas for Nat/Bits, Nat/Bitwise and Nat/Size Remove `@[simp]` from `Nat.bit_false` and `Nat.bit_true`, as `bit0` and `bit1` are deprecated, and add some lemmas to `Bits`, `Bitwise` and `Size`. --- [![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
649-30908
1 year ago
684-37130
684 days ago
56-40668
56 days
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
636-42798
1 year ago
687-50320
687 days ago
0-6775
1 hour
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
636-5743
1 year ago
667-51402
667 days ago
7-3203
7 days
14242 js2357
author:js2357
feat: Prove equivalence of `isDedekindDomain` and `isDedekindDomainDvr` Prove that `isDedekindDomainDvr` is equivalent to both `isDedekindDomain` and `isDedekindDomainInv`. Specifically, prove `isDedekindDomainDvr A → isDedekindDomainInv A`, because `isDedekindDomain A → isDedekindDomainDvr A` and `IsDedekindDomain A ↔ IsDedekindDomainInv A` are already in Mathlib. - [x] depends on: #14099 - [x] depends on: #14216 - [ ] depends on: #14237 --- [![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
613-16802
1 year ago
701-5749
701 days ago
0-273
4 minutes
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
605-12780
1 year ago
620-40854
620 days ago
0-1299
21 minutes
16888 metinersin
author:metinersin
feat(ModelTheory/Complexity): Define conjunctive and disjunctive normal forms Define `FirstOrder.Language.BoundedFormula.IsDNF` and `FirstOrder.Language.BoundedFormula.IsCNF`. --- - [ ] depends on: #16887 [![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
605-12780
1 year ago
620-40855
620 days ago
0-1045
17 minutes
16889 metinersin
author:metinersin
feat(ModelTheory/Complexity): Normal forms Defines `FirstOrder.Language.BoundedFormula.toDNF` and `FirstOrder.Language.BoundedFormula.toCNF` - given a quantifier-free formula, these construct a semantically equivalent formula in disjunctive normal form and conjunctive normal form, respectively. --- - [ ] depends on: #16888 [![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
605-12779
1 year ago
620-36605
620 days ago
0-613
10 minutes
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
595-59330
1 year ago
unknown
0-0
0 seconds
12750 Command-Master
author:Command-Master
feat: define Gray code --- Define binary reflected gray code, both as a permutation of `Nat` and as a permutation of `BitVec n`, and prove some theorems about them. Additionally, remove `@[simp]` from `Nat.bit_false` and `Nat.bit_true`, as `bit0` and `bit1` are deprecated, and add some lemmas to `Bits`, `Bitwise` and `Size`. - [ ] depends on: #12751 [![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
587-35437
1 year ago
736-17535
736 days ago
16-49744
16 days
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
570-63713
1 year ago
570-63713
570 days ago
7-45599
7 days
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
568-19834
1 year ago
604-9146
604 days ago
0-19926
5 hours
13248 hcWang942
author:hcWang942
feat: basic concepts of auction theory ## Description Formalise some core concepts and results in auction theory: this includes definitions for first-price and second-price auctions, as well as several fundamental results and helping lemmas. This is the very first PR of the project formalizing core concepts and results in auction theory. Our group is working on more contributions on the formalization of game theory prefix. Co-authored-by: Ma Jiajun ## Reference Roughgarden, Tim. ***Twenty Lectures on Algorithmic Game Theory***. Cambridge University Press, 2020. [Link](https://www.cambridge.org/core/books/twenty-lectures-on-algorithmic-game-theory/A9D9427C8F43E7DAEF8C702755B6D72B) --- - [x] Will depend on #14163 once that PR is merged. The Fintype lemmas introduced by this PR have been added in that PR and will be removed from here once that PR gets merged ## Current plan for formalization of Game Theory The current plan for the formalizing of Game Theory include: #### 1. Auction Theory. 🎉 _(200+ lines, this PR)_ - Essential definitions of Sealed-bid auction, First-price auction and Second-price auction. - First-price auction has no dominant strategy. - Second-price auction has dominant strategy. (Second-price auction is DSIC) #### 2. Mechanism design & Myerson's Lemma. 🎉 (400+ lines, pending for modification to Mathlib Standard) - Mechanism design An allocation rule is implementable if there exists - Dominant Strategy Incentive Compatible (DSIC) payment rule - An allocation rule is monotone if for every bidder’s gain is nondecreasing w.r.t. her/his bid - Myerson's Lemma Implementable ⇔ Monotone In the above case, the DSIC payment rule is unique. #### 3. von Neumann‘s Minimax Theorem. 🎉 (800+ lines, pending for modification to Mathlib Standard) - Equilibrium in zero sum game - Formalization strategy: via Loomis’s theorem. #### 4. Nash Equilibrium. 🎉 (pending for modification to Mathlib Standard) #### 5. Brouwer fixed-point theorem. (Work in Progress) #### 6. More Mechanism design. (Planning) merge-conflict awaiting-author new-contributor t-logic 204/0 Mathlib.lean,Mathlib/GameTheory/Auction/Basic.lean,docs/references.bib 3 148 ['Shreyas4991', 'YaelDillies', 'eric-wieser', 'faenuccio', 'github-actions', 'grunweg', 'hcWang942', 'tb65536', 'urkud', 'vihdzp'] hcWang942
assignee:hcWang942
563-58666
1 year ago
577-44854
577 days ago
109-82807
109 days
19125 yhtq
author:yhtq
feat: add theorems to transfer `IsGalois` between pairs of fraction rings feat: add theorems to transfer `IsGalois` between pairs of fraction rings. - [x] depends on: #18404 - [x] depends on: #19124 --- [![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
533-81083
1 year ago
560-42465
560 days ago
0-1980
33 minutes
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
500-16695
1 year ago
593-8265
593 days ago
0-4704
1 hour
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
499-35781
1 year ago
620-46942
620 days ago
9-13962
9 days
15720 znssong
author:znssong
feat(SimpleGraph): The Bondy-Chvátal theorem The proof of the Bondy-Chvátal theorem, with Dirac's theorem and Ore's theorem as its corollary. - [x] depends on: #15536 - [ ] depends on: #15711 - [ ] depends on: #15578 merge-conflict blocked-by-other-PR t-combinatorics new-contributor 903/3 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/BondyChvatal.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Path.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean,Mathlib/Dynamics/FixedPoints/Basic.lean,Mathlib/Dynamics/FixedPoints/Increasing.lean 8 3 ['github-actions', 'grunweg'] nobody
499-35781
1 year ago
656-53135
656 days ago
0-1791
29 minutes
18629 tomaz1502
author:tomaz1502
feat(Computability.Timed): Formalization of runtime complexity of List.merge This PR adds the formalization of the runtime complexity of the merge function, defined in `Data/List/Sort`. Requires: https://github.com/leanprover-community/mathlib4/pull/15450 References: - Previous PR on mathlib3: https://github.com/leanprover-community/mathlib3/pull/14494/ - First discussion on Zulip: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/BSc.20Final.20Project/near/220647062 - Second disussion on Zulip: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Formalization.20of.20Runtime.20Complexity.20of.20Sorting.20Algorithms/near/284184450 --- [![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
499-1700
1 year ago
539-1313
539 days ago
33-11262
33 days
18461 hannahfechtner
author:hannahfechtner
feat: left and right common multiples mixins add mixins for left and right common multiples. These carry the data of what factors are used to create the common multiples --- [![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
495-49280
1 year ago
495-49280
495 days ago
69-35596
69 days
19291 PieterCuijpers
author:PieterCuijpers
feat(Algebra/Order/Hom): add quantale homomorphism Definition of quantale homomorphisms as functions that are both semigroup homomorphisms and complete lattice homomorphisms. --- - [x] depends on: #19810 - [x] depends on: #19811 [![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
494-23359
1 year ago
499-77160
499 days ago
29-51482
29 days
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
487-40707
1 year ago
487-40707
487 days ago
27-43617
27 days
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
474-84417
1 year ago
481-48934
481 days ago
39-21495
39 days
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
470-32116
1 year ago
477-43738
477 days ago
37-29014
37 days
21501 sksgurdldi
author:sksgurdldi
feat(List): add sum_zipWith_eq_finset_sum ### **Description:** This PR adds the lemma `List.sum_zipWith_eq_finset_sum` to `Mathlib.Algebra.BigOperators.Group.Finset.Basic`. #### **Statement:** The sum of the `zipWith` operation on two lists equals the sum of applying the operation to corresponding elements of the two lists, indexed over the minimum of their lengths. #### **Formal Statement:** ```lean lemma sum_zipWith_eq_finset_sum [Inhabited α] [Inhabited β] [AddCommMonoid γ] {op : α → β → γ} (l : List α) (m : List β) : (List.zipWith op l m).sum = ∑ x ∈ (Finset.range (Nat.min l.length m.length)), op (l[x]!) (m[x]!) ``` #### **Remarks:** - This lemma provides a useful equivalence between `List.zipWith` and summation over a `Finset.range` indexed by `Nat.min l.length m.length`. - It can be helpful in algebraic manipulations involving list-based summations. #### **Dependencies:** No additional dependencies. --- [![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
465-887
1 year ago
465-887
465 days ago
13-33168
13 days
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
451-26728
1 year ago
451-26728
451 days ago
16-76141
16 days
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
443-22554
1 year ago
626-25783
626 days ago
29-48368
29 days
21018 markimunro
author:markimunro
feat(Data/Matrix): add file with key definitions and theorems about elementary row operations Prove that each elementary row operation is equivalent to a multiplication by an elementary matrix, has another row operation which inverts it, and that each elementary matrix has a left inverse. This is a very large PR and I understand it will take time. This is my first one and will likely have issues but I will be ready to answer questions/fix them as soon as possible. Co-authored-by: Christopher Lynch --- [![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
424-57953
1 year ago
450-509
450 days ago
23-22681
23 days
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
419-52942
1 year ago
613-30313
613 days ago
51-85104
51 days
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
416-38862
1 year ago
unknown
0-0
0 seconds
21488 imbrem
author:imbrem
feat(CategoryTheory/Monoidal): premonoidal categories Add support for premonoidal categories --- Still want to add support for: - Premonoidal braided/symmetric categories - The monoidal coherence theorem, which I've already ported in my `discretion` library - The `coherence` tactic, which should work fine for premonoidal categories too but wanted to get this in front of reviewers ASAP to make sure my general approach was alright [![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
416-35130
1 year ago
416-35131
416 days ago
58-6026
58 days
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
415-37858
1 year ago
490-30618
490 days ago
5-5648
5 days
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
408-9056
1 year ago
491-20303
491 days ago
8-42257
8 days
20730 kuotsanhsu
author:kuotsanhsu
feat(LinearAlgebra/Matrix/SchurTriangulation): prove Schur decomposition/triangulation `Matrix.schur_triangulation` shows that a matrix over an algebraically closed field is unitarily similar to an upper triangular matrix --- [![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
408-5188
1 year ago
487-82561
487 days ago
13-56244
13 days
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
392-56027
1 year ago
unknown
0-0
0 seconds
15654 TpmKranz
author:TpmKranz
feat(Computability): language-preserving maps between NFA and RE Map REs to NFAs via Thompson's construction and NFAs to REs using GNFAs Last chunk of #12648 --- - [ ] depends on: #15651 - [ ] depends on: #15649 [![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
390-2306
1 year ago
659-25491
659 days ago
0-179
2 minutes
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
384-47885
1 year ago
384-47885
384 days ago
27-52316
27 days
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
368-20226
1 year ago
368-20228
368 days ago
35-30364
35 days
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
357-78579
11 months ago
741-19832
741 days ago
9-22045
9 days
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
350-71132
11 months ago
489-22713
489 days ago
27-61498
27 days
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
329-67893
10 months ago
362-43010
362 days ago
6-47693
6 days
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
303-40033
9 months ago
840-32959
840 days ago
7-63253
7 days
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
299-46224
9 months ago
329-67893
329 days ago
38-26044
38 days
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
298-48245
9 months ago
551-41838
551 days ago
20-16585
20 days
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
293-51786
9 months ago
494-26601
494 days ago
9-59130
9 days
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
287-41470
9 months ago
501-33440
501 days ago
0-47663
13 hours
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
284-63282
9 months ago
287-48811
287 days ago
0-35689
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
282-13390
9 months ago
504-70349
504 days ago
43-22586
43 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
280-64371
9 months ago
303-40293
303 days ago
7-54661
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
280-26203
9 months ago
303-40294
303 days ago
7-62439
7 days
27479 iu-isgood
author:iu-isgood
feat: Abel's Binomial Theorem We have formalized Abel's Binomial Theorem as part of an REU project. There are a few remaining sorrys, but we will finish them soon. I will edit this PR message later according to community rules. --- [![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
280-25964
9 months ago
309-23661
309 days ago
0-237
3 minutes
26462 PSchwahn
author:PSchwahn
feat(LinearAlgebra/Projection): add results about inverse of `Submodule.prodEquivOfIsCompl` Add two theorems `Submodule.prodEquivOfIsCompl_symm_apply` and `Submodule.prodEquivOfIsCompl_symm_add`, which are API for `Submodule.prodEquivOfIsCompl`. We believe these theorems are useful; for example, we have used their statements in a [classification formalization project](https://github.com/LieLean/LowDimSolvClassification). Co-authored by: - [Viviana del Barco](https://github.com/vdelbarc) - [Gustavo Infanti](https://github.com/GuQOliveira) - [Exequiel Rivas](https://github.com/erivas) --- I am not sure whether the `prodEquivOfIsCompl_symm_apply` theorem should be tagged with `@[simp]`; this might lead to confluence issues. Opinions are welcome! [![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
263-83732
8 months ago
264-28435
264 days ago
73-43082
73 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
263-32234
8 months ago
263-32235
263 days ago
10-61840
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
261-27956
8 months ago
352-35794
352 days ago
0-11893
3 hours
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
248-31434
8 months ago
260-37816
260 days ago
0-976
16 minutes
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
243-46478
8 months ago
344-55878
344 days ago
0-47665
13 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
238-12224
7 months ago
238-12224
238 days ago
46-25852
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
232-21529
7 months ago
622-49078
622 days ago
1-21124
1 day
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
222-31779
7 months ago
222-31779
222 days ago
8-8414
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
220-81711
7 months ago
220-81711
220 days ago
148-3286
148 days
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
219-18743
7 months ago
219-18814
219 days ago
0-80
1 minute
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
214-51182
7 months ago
230-25858
230 days ago
47-58311
47 days
30299 franv314
author:franv314
feat(Topology/Instances): Cantor set Prove that the Cantor set has empty interior and the cardinality of the continuum as discussed on [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/A.20few.20results.20about.20the.20Cantor.20set/with/543560670) Moves: - Mathlib.Topology.Instances.CantorSet -> Mathlib.Topology.Instances.CantorSet.Basic --- [![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
214-42912
7 months ago
235-25541
235 days ago
0-2409
40 minutes
30303 franv314
author:franv314
chore(Topology/Instances): add deprecated module Add deprecated module to moved Cantor set file. --- - [ ] depends on: #30299 [![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
214-42910
7 months ago
235-23410
235 days ago
0-340
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
208-42433
6 months ago
208-42433
208 days ago
41-53449
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
207-61963
6 months ago
207-61963
207 days ago
31-69826
31 days
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
205-22231
6 months ago
323-39225
323 days ago
2-71043
2 days
30150 imbrem
author:imbrem
feat(CategoryTheory/Monoidal): to_additive for MonoidalCategory Add `AddMonoidalCategory`, the additive version of `MonoidalCategory`. To get this to work, I needed to _remove_ the `to_additive` attributes in `Discrete.lean`, since existing code relies on the `AddMonoid M → MonoidalCategory M` instance. For now, we simply implement the additive variants by hand instead. --- As discussed in #28718; I added an `AddMonoidalCategory` struct and tagged `MonoidalCategory` with `to_additive`, along with the lemmas in `Category.lean`. I think this is the right approach, since under this framework the "correct" additive version of `Discrete.lean` would be mapping an `AddMonoid` to an `AddMonoidalCategory`. Next steps would be to: - Make `monoidal_coherence` and `coherence` support `AddMonoidalCategory` - Add `CocartesianMonoidalCategory` extending `AddMonoidalCategory` [![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
198-71622
6 months ago
238-50288
238 days ago
1-160
1 day
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
194-2354
6 months ago
613-29742
613 days ago
45-84611
45 days
15649 TpmKranz
author:TpmKranz
feat(Computability): introduce Generalised NFA as bridge to Regular Expression Lays the groundwork for a proof of equivalence of NFA and RE, w.r.t. described language. Actual connection to NFA comes later, after the groundwork for the opposite direction has been laid. Second chunk of #12648 --- - [x] depends on: #15647 [Data.FinEnum.Option unchanged since then] [![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
193-18595
6 months ago
538-68525
538 days ago
23-54870
23 days
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
192-56452
6 months ago
875-81347
875 days ago
0-433
7 minutes
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
192-56188
6 months ago
642-48274
642 days ago
0-16
16 seconds
14237 js2357
author:js2357
feat: Define the localization of a fractional ideal at a prime ideal Define the localization of a fractional ideal at a prime ideal, and prove some basic properties. --- This PR is part 3 out of 4 of a proof of `isDedekindDomain_iff_isDedekindDomainDvr`. Part 4 is available here: #14242 - [x] depends on: #14099 Part 1 - [x] depends on: #14216 Part 2 [![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
192-56186
6 months ago
641-30009
641 days ago
6-3525
6 days
15224 AnthonyBordg
author:AnthonyBordg
feat(CategoryTheory/Sites): covering families and their associated Grothendieck topology Define covering families on a category and their associated Grothendieck topology by using the API for `Coverage`. Give an explicit characterization of the covering sieves of the said topology. --- [![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
192-56057
6 months ago
668-22288
668 days ago
1-48443
1 day
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
192-55903
6 months ago
unknown
0-0
0 seconds
18630 tomaz1502
author:tomaz1502
feat(Computability.Timed): Formalization of runtime complexity of List.mergeSort This PR adds the formalization of the runtime complexity of the merge sort algorithm, defined in `Data/List/Sort`. Requires: https://github.com/leanprover-community/mathlib4/pull/15451 References: - Previous PR on mathlib3: https://github.com/leanprover-community/mathlib3/pull/14494/ - First discussion on Zulip: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/BSc.20Final.20Project/near/220647062 - Second disussion on Zulip: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Formalization.20of.20Runtime.20Complexity.20of.20Sorting.20Algorithms/near/284184450 --- [![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
192-55901
6 months ago
571-21304
571 days ago
0-77273
21 hours
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
192-55763
6 months ago
390-2292
390 days ago
75-77754
75 days
21903 yhtq
author:yhtq
feat: add from/toList between `FreeSemigroup` and `List` with relative theorems Add from/toList between `FreeSemigroup` and `List` with relative theorems, as well as an incidental definition of lexicographic order on `FreeSemigroup`. --- [![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
192-55623
6 months ago
419-39578
419 days ago
50-9294
50 days
22159 shetzl
author:shetzl
feat: add definition of pushdown automata Add the definition of pushdown automata and their two acceptance conditions: acceptance based on empty stack and acceptance based on final state. Co-authored-by: Tobias Leichtfried --- [![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
192-55617
6 months ago
439-49630
439 days ago
20-81245
20 days
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
192-55608
6 months ago
459-3210
459 days ago
0-1528
25 minutes
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
192-55595
6 months ago
420-70712
420 days ago
23-16830
23 days
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
192-55442
6 months ago
278-54023
278 days ago
123-18878
123 days
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
192-55293
6 months ago
334-78856
334 days ago
17-63153
17 days
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
192-55104
6 months ago
329-50059
329 days ago
15-66224
15 days
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
192-55081
6 months ago
289-17071
289 days ago
44-77029
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
192-54933
6 months ago
308-12291
308 days ago
25-5233
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
192-54928
6 months ago
222-21547
222 days ago
62-6838
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
192-54891
6 months ago
280-25200
280 days ago
39-17587
39 days
27753 YunkaiZhang233
author:YunkaiZhang233
feat(CategoryTheory): implemented proofs for factorisation categories being equivalent to iterated comma categories in two ways --- Completed one of the tasks in TODOs, shown and implemented the details for (X/C)/f ≌ Factorisation f ≌ f/(C/Y). This is migrated from my previous PR #22390 [![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
192-54736
6 months ago
303-25899
303 days ago
0-3448
57 minutes
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
192-54734
6 months ago
302-561
302 days ago
0-5718
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
192-54602
6 months ago
192-54603
192 days ago
99-64548
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
192-54588
6 months ago
287-8416
287 days ago
0-591
9 minutes
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
192-54449
6 months ago
192-54450
192 days ago
55-54919
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
192-53815
6 months ago
192-53816
192 days ago
54-82760
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
192-50647
6 months ago
636-43761
636 days ago
48-65595
48 days
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
192-28522
6 months ago
192-28522
192 days ago
6-8213
6 days
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
192-27663
6 months ago
821-81508
821 days ago
1-20227
1 day
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
192-27510
6 months ago
555-34389
555 days ago
15-38478
15 days
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
192-27447
6 months ago
528-44696
528 days ago
0-34081
9 hours
21269 658060
author:658060
feat(CategoryTheory/Topos): basic definitions and results in topos theory This code contains basic definitions and results in topos theory, including the definition of a subobject classifier, power objects, and topoi. It is proved that every topos has exponential objects, i.e. "internal homs". The mathematical content follows chapter IV sections 1-2 of Mac Lane and Moerdijk's text "Sheaves in Geometry and Logic". --- - [x] depends on: #21281 [![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
192-27420
6 months ago
485-6234
485 days ago
0-13879
3 hours
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
192-27303
6 months ago
404-26238
404 days ago
8-27136
8 days
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
192-26986
6 months ago
223-50580
223 days ago
74-56654
74 days
28215 5hv5hvnk
author:5hv5hvnk
feat: strong and Weak connectivity for Digraphs strong and weak connectivity in Digraphs --- Should resolve a part of issue #26771 Main additions in the PR: 1. Walks in Digraphs (Walk.lean) - Basic walk structure with start and end vertices - Support for walk operations: append, reverse, length - Support functions: getVert, copy, support 2. Walk Decompositions (WalkDecomp.lean) - takeUntil and dropUntil functions to split walks - rotate operation for loop walks - Theorems relating to walk decomposition properties 3. Subgraphs (subgraph.lean) - Subgraph structure for digraphs - Induced and spanning subgraph predicates - Lattice structure (sup, inf, top, bot) - Coercion to standalone digraphs 4. Paths (Paths.lean) - Trail, Path, Circuit, Cycle definitions - Path structure with no repeating vertices - Theorems relating different path types - Basic connectivity definitions (reachable, weakly/strongly connected) 5. Connectivity (Connected.lean) - Reachability relations and properties - Strong and weak connectivity definitions - Connected component types: - StronglyConnectedComponent - WeaklyConnectedComponent - ConnectedComponent - Component properties and equivalence relations --> [![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
192-26965
6 months ago
280-24547
280 days ago
12-41939
12 days
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
192-26854
6 months ago
259-28109
259 days ago
1-50449
1 day
28718 imbrem
author:imbrem
feat: class for chosen finite coproducts Added basic `ChosenFiniteCoproducts` class, and started porting some of the lemmas about `ChosenFiniteProducts` suitably translated --- This, combined with #20182 modified to use chosen finite coproducts and premonoidal categories (#21488), should be enough for me to formalize strong Elgot categories, and hence a lot of categorical iteration theory for my PhD thesis. Re-done from #21603 to deal with changes in #24399 and #24390 Eventually, if we really want to harmonize approaches, we could introduce an `AddMonoidalCategory` struct and do the analogous to #24399 and #24390 for additive monoidal structure, but that seems like a massive overcomplication for now. It would allow formalizing fun things like rig categories, though. - [ ] depends on: #30150 blocked-by-other-PR t-category-theory new-contributor merge-conflict awaiting-author 290/0 Mathlib.lean,Mathlib/CategoryTheory/ChosenFiniteCoproducts.lean 2 9 ['YaelDillies', 'github-actions', 'imbrem', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] nobody
192-26766
6 months ago
282-63320
282 days ago
0-24930
6 hours
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
192-13162
6 months ago
192-13162
192 days ago
138-3922
138 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
189-35311
6 months ago
192-53470
192 days ago
31-61152
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
183-55733
6 months ago
183-55733
183 days ago
0-82278
22 hours
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
183-6874
6 months ago
unknown
0-0
0 seconds
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
176-14472
5 months ago
184-58015
184 days ago
39-43570
39 days
31113 515801431
author:515801431
feat(Mathlib/Combinatorics/Enumerative/Polya.lean): Add additional theorem in `Polya.lean` --- - [ ] depends on: #30525 --- [![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
176-14348
5 months ago
185-36774
185 days ago
16-78251
16 days
24441 MrSumato
author:MrSumato
feat(Data/List): add Lyndon-Schutzenberger theorem on list commutativity Add Lyndon-Schutzenberger theorem on list commutativity. Included definition for List.repeatSelf that returns list repeated n times. --- This is my first mathlib PR, so any comments are highly appreciated. [![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
176-9950
5 months ago
358-36294
358 days ago
29-59355
29 days
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
173-35183
5 months ago
173-35183
173 days ago
18-38983
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
167-27289
5 months ago
167-27289
167 days ago
21-31799
21 days
32938 0xTerencePrime
author:0xTerencePrime
feat(Order/LocallyFinite): prove DenselyOrdered and LocallyFiniteOrder are incompatible ## Summary This PR proves that a nontrivial densely ordered linear order cannot be locally finite. ## Main results * `not_locallyFiniteOrder`: A densely ordered locally finite linear order must be subsingleton. * `not_locallyFiniteOrder_of_nontrivial`: The main theorem - incompatibility of the two properties. Note: This implementation imports `Mathlib.Order.Interval.Set.Infinite` to reuse the existing `Set.Icc_infinite` theorem, ensuring standard library consistency. ## Mathematical content The key insight is that in a densely ordered type, we can always find a new element between any two distinct elements. This means any nontrivial interval contains infinitely many elements. However, `LocallyFiniteOrder` requires intervals to be finite. This contradiction implies that such a type cannot exist (unless it is trivial). ## Motivation This resolves a TODO mentioned in #7987 (Data/Finset/LocallyFinite entry). ## Verification - [x] `lake build Mathlib.Order.LocallyFinite.Basic` passes - [x] `lake exe runLinter Mathlib.Order.LocallyFinite.Basic` passes t-order new-contributor awaiting-author 28/0 Mathlib/Order/Interval/Finset/Basic.lean 1 10 ['0xTerencePrime', 'CoolRmal', 'github-actions', 'jcommelin', 'plp127'] nobody
162-50691
5 months ago
162-50731
162 days ago
3-22290
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
161-85460
5 months ago
161-85460
161 days ago
7-31364
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
161-31257
5 months ago
220-82225
220 days ago
59-36769
59 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
158-63922
5 months ago
158-69207
158 days ago
0-132
2 minutes
33219 Blackfeather007
author:Blackfeather007
feat(Algebra): Define associated graded algebra Define the associated graded algebra of a filtered algebra, constructed from a special case of associated graded ring. --- - [ ] depends on: #33218 migrated from #26859 t-ring-theory new-contributor blocked-by-other-PR 563/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
158-63814
5 months ago
158-68981
158 days ago
0-133
2 minutes
33220 Blackfeather007
author:Blackfeather007
feat(Algebra): Define associated graded module Define the associated graded module to a filtered module. --- - [ ] depends on: #33218 migrated from #26860 t-ring-theory new-contributor blocked-by-other-PR 669/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
158-63730
5 months ago
158-68793
158 days ago
0-137
2 minutes
33227 Blackfeather007
author:Blackfeather007
feat(Algebra): exact of associated graded exact We proved that a chain complex is exact if its associated graded complex is exact. Co-authored-by: Huanyu Zheng @Yu-Misaka [suzuka@misaka-yu.com](mailto:suzuka@misaka-yu.com) Co-authored-by: Yi Yuan @yuanyi-350 [kysyy1@126.com](mailto:kysyy1@126.com) Co-authored-by: Weichen Jiao @AlbertJ-314 [albertjiao314@gmail.com](mailto:albertjiao314@gmail.com) --- - [ ] depends on: #33226 migrated from #26869 t-ring-theory new-contributor blocked-by-other-PR 728/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/Exactness.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean 4 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
158-61402
5 months ago
158-61403
158 days ago
0-1208
20 minutes
33226 Blackfeather007
author:Blackfeather007
feat(Algebra): associated graded exact of exact and strict In this file, we define the concept of exhaustive filtrations. We also prove a AssociatedGradedRingHom sequence is exact iff each GradedPieceHom is exact. And when a sequence is strict exact, the corresponding AssociatedGradedRingHom sequence is also exact. Co-authored-by: Huanyu Zheng @Yu-Misaka [suzuka@misaka-yu.com](mailto:suzuka@misaka-yu.com) Co-authored-by: Yi Yuan @yuanyi-350 [kysyy1@126.com](mailto:kysyy1@126.com) Co-authored-by: Weichen Jiao @AlbertJ-314 [albertjiao314@gmail.com](mailto:albertjiao314@gmail.com) --- - [ ] depends on: #33222 migrated from #26868 t-ring-theory new-contributor blocked-by-other-PR 529/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/Exactness.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean 4 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
158-61400
5 months ago
158-61401
158 days ago
0-1307
21 minutes
33225 Blackfeather007
author:Blackfeather007
feat(Algebra): filtered module hom In this PR we defined the filtered semi-linear map for filtered module and the associated graded module hom. --- - [ ] depends on: #33220 - [ ] depends on: #33223 migrated from #26867 t-ring-theory new-contributor blocked-by-other-PR 1205/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
158-61399
5 months ago
158-61400
158 days ago
0-1805
30 minutes
33224 Blackfeather007
author:Blackfeather007
feat(Algebra): define filtered alghom In this PR, we define the filtered algebra homomorphisms on algebras and prove some basic properties of them. --- - [ ] depends on: #33219 - [ ] depends on: #33223 migrated from #26863 t-ring-theory new-contributor blocked-by-other-PR 1055/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
158-61397
5 months ago
158-61398
158 days ago
0-2046
34 minutes
33223 Blackfeather007
author:Blackfeather007
feat(Algebra): define filtered ring homomorphism In this PR, we define the filtered ring morphisms on rings and prove some basic properties of them. Co-authored-by: Huanyu Zheng @Yu-Misaka [suzuka@misaka-yu.com](mailto:suzuka@misaka-yu.com) Co-authored-by: Yi Yuan @yuanyi-350 [kysyy1@126.com](mailto:kysyy1@126.com) Co-authored-by: Weichen Jiao @AlbertJ-314 [albertjiao314@gmail.com](mailto:albertjiao314@gmail.com) --- - [ ] depends on: #33218 - [ ] depends on: #33222 migrated from #26862 t-ring-theory new-contributor blocked-by-other-PR 824/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
158-61394
5 months ago
158-61397
158 days ago
0-2257
37 minutes
33222 Blackfeather007
author:Blackfeather007
feat(Algebra): define filtered add group hom In this file we define filtered hom and the corresponding associated graded hom for abelian groups. Co-authored-by: Huanyu Zheng @Yu-Misaka [suzuka@misaka-yu.com](mailto:suzuka@misaka-yu.com) Co-authored-by: Yi Yuan @yuanyi-350 [kysyy1@126.com](mailto:kysyy1@126.com) Co-authored-by: Weichen Jiao @AlbertJ-314 [albertjiao314@gmail.com](mailto:albertjiao314@gmail.com) --- - [ ] depends on: #33217 migrated from #26861 new-contributor t-ring-theory blocked-by-other-PR 368/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
158-61393
5 months ago
158-61394
158 days ago
0-2249
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
155-3479
5 months ago
178-6936
178 days ago
3-47959
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
154-20131
5 months ago
154-20131
154 days ago
10-12739
10 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
154-13081
5 months ago
154-13081
154 days ago
5-81520
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
148-41272
4 months ago
148-41272
148 days ago
12-60805
12 days
33502 MrQubo
author:MrQubo
fix(Tactic/ProxyType): Pass params explicitly in proxy_equiv% implementation Fix [#mathlib4 > `deriving Fintype` with Prop](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60deriving.20Fintype.60.20with.20Prop/with/566118621) --- [![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
147-8196
4 months ago
147-8197
147 days ago
0-60133
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
145-11194
4 months ago
592-58431
592 days ago
9-73631
9 days
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
142-78549
4 months ago
67-53276
67 days ago
6-69934
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
142-29694
4 months ago
unknown
0-0
0 seconds
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
142-21500
4 months ago
142-21500
142 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
141-31184
4 months ago
141-31185
141 days ago
98-58846
98 days
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
138-14268
4 months ago
138-82126
138 days ago
22-14560
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
136-65253
4 months ago
136-65325
136 days ago
136-65317
136 days
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
134-32599
4 months ago
134-41121
134 days ago
93-10043
93 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
132-42679
4 months ago
269-74463
269 days ago
0-396
6 minutes
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
131-28545
4 months ago
138-8075
138 days ago
16-33128
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
130-22064
4 months ago
138-35888
138 days ago
10-38484
10 days
31092 FlAmmmmING
author:FlAmmmmING
feat(Algebra/Group/ForwardDiff.lean): Add theorem `sum_shift_eq_fwdDiff_iter`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor delegated
label:t-algebra$
17/1 Mathlib/Algebra/Group/ForwardDiff.lean 1 20 ['BeibeiX0', 'FlAmmmmING', 'Ruben-VandeVelde', 'dagurtomas', 'github-actions', 'jcommelin', 'mathlib-bors', 'mathlib4-merge-conflict-bot'] nobody
128-29564
4 months ago
128-29564
128 days ago
54-22055
54 days
34141 gululu996-ui
author:gululu996-ui
feat(Combinatorics/SimpleGraph/Acyclic): finite trees have at least two degree-one vertices Add a lemma showing that a finite tree with at least two vertices has at least two vertices of degree 1. - Introduce a helper lemma `SimpleGraph.Connected.one_le_degree` for connected graphs on a nontrivial finite type. - Prove the leaf-count lower bound via the degree-sum identity and a counting argument. --- awaiting-author new-contributor t-combinatorics 72/2 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean 1 9 ['IvanRenison', 'SnirBroshi', 'github-actions', 'vlad902'] nobody
128-25822
4 months ago
130-7258
130 days ago
1-23617
1 day
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
123-18347
4 months ago
unknown
0-0
0 seconds
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
122-7920
4 months ago
183-24885
183 days ago
8-14942
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
121-31441
4 months ago
121-31441
121 days ago
42-21618
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
120-53848
4 months ago
129-37863
129 days ago
2-6389
2 days
34487 martinwintermath
author:martinwintermath
feat(LinearAlgebra/SesquilinearForm): add instances for SeparatingLeft, SeparatingRight and Nondegenerate Add typeclass instances for `Fact B.SeparatingLeft`, `Fact B.SeparatingRight`, `Fact B.Nondegenerate`: * inferring `Fact B.flip.SeparatingLeft` from `Fact B.SeparatingRight` and vice versa * inferring `Fact B.SeparatingLeft` and `Fact B.SeparatingRight` from `Fact B.Nondegenerate` * inferring `Fact B.SeparatingLeft` and `Fact B.Nondegenerate` for `.id` and `Dual.eval` * inferring `Fact B.Nondegenerate` from `B.IsPerfPair` I also updated `PointedCone.dual_univ` to demonstrate the usefulness of these additions. Note that I needed to add an import to `Cone/Dual.lean` which somehow imports cardinals. So I needed to remove cardinals from `assert_not_exists`. --- [![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
120-40502
4 months ago
61-26839
61 days ago
13-75766
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
119-79542
3 months ago
71-16671
71 days ago
61-8543
61 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
119-5253
3 months ago
173-5691
173 days ago
0-2004
33 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
118-44084
3 months ago
236-81053
236 days ago
0-1234
20 minutes
30258 imbrem
author:imbrem
feat(CategoryTheory/Monoidal): to_additive for proofs using `monoidal` Building on #30150, this allows us to use `@[to_additive]` on proofs containing `monoidal`, by tagging the lemmas `monoidal` outputs with `@[to_additive]` as appropriate. Testing on my branch [`additive-monoidal-coherence`](https://github.com/imbrem/mathlib4/tree/additive-monoidal-coherence) shows that this works. It is still future work to have either the `monoidal` tactic or a new `add_monoidal` tactic work for `AddMonoidalCategory` instances directly. --- - [ ] depends on: #30150 [![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
118-44077
3 months ago
237-306
237 days ago
0-241
4 minutes
32742 LTolDe
author:LTolDe
feat(MeasureTheory/Constructions/Polish/Basic): add class SuslinSpace add new class `SuslinSpace` for a topological space that is an analytic set in itself This will be useful to prove the **Effros Theorem**, see [zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Effros.20Theorem/with/558712441). --- [![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
118-43851
3 months ago
144-27983
144 days ago
25-76907
25 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
118-34559
3 months ago
212-6698
212 days ago
0-6852
1 hour
33431 gululu996-ui
author:gululu996-ui
feat(Combinatorics/SimpleGraph/Bipartite): characterize bipartite simple graphs by even cycles Add the classical characterization of bipartite simple graphs: a simple graph is bipartite if and only if every cycle has even length. Previously, mathlib has the definition of `IsBipartite` for `SimpleGraph` and various lemmas about bipartite graphs, but it does not provide this equivalence in a single theorem, so users have to reprove or reassemble it from existing results. Prove the forward direction by showing a 2-coloring alternates along any walk, so every cycle must have even length. Prove the converse by showing that if an odd cycle exists then no bipartition is possible, hence if all cycles are even the graph admits a bipartition. new-contributor t-combinatorics awaiting-author merge-conflict 186/1 Mathlib/Combinatorics/SimpleGraph/Bipartite.lean 1 6 ['NickAdfor', 'github-actions', 'jcommelin', 'mathlib-merge-conflicts'] kmill
assignee:kmill
118-34291
3 months ago
120-35188
120 days ago
26-3983
26 days
34007 martinwintermath
author:martinwintermath
feat(Algebra/Module/Submodule/Dual): dual operator for submodules Add new file `Dual.lean` that defines the dual operator for submodules. The main definition is * `Submodule.dual`: given a bilinear pairing `p` between two modules `M₁` and `M₂` and a submodule `S` in `M₁`, `Submodule.dual p S` is the submodule in `M₂` consisting of all points `y` such that `0 = p x y` for all `x ∈ S`. For reasons of generality, `p` is actually a general sesqui-bilinear map, that is, of the form `p : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M`. This implementation of the `dual` operator for submodules is written to parallel the implementation of `PointedCone.dual`. Include some additional results: * theorems that represent the dual as the kernel of a linear map * theorems for the relation between dual and the `dualAnnihilator` and `dualCoannihilator` of a submodule. --- [![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
118-30328
3 months ago
120-12787
120 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
116-12812
3 months ago
unknown
0-0
0 seconds
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
115-71988
3 months ago
116-22441
116 days ago
14-69133
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
115-49701
3 months ago
145-33564
145 days ago
0-412
6 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
114-8726
3 months ago
114-8726
114 days ago
3-20994
3 days
34394 Citronhat
author:Citronhat
feat(Algebra/Order/Ring): add constructors for linear ordered rings Add constructors for ordered rings from `mul_nonneg` / `mul_pos` that derive `ZeroLEOneClass` from a linear order. new-contributor t-algebra awaiting-author
label:t-algebra$
31/14 Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/RingTheory/HahnSeries/Lex.lean 2 6 ['Citronhat', 'Vierkantor', 'github-actions', 'leanprover-radar'] Vierkantor
assignee:Vierkantor
113-42063
3 months ago
113-42063
113 days ago
12-25418
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
111-78302
3 months ago
111-78302
111 days ago
35-16105
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
111-62017
3 months ago
35-12067
35 days ago
11-36072
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
109-26776
3 months ago
142-49644
142 days ago
120-67067
120 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
109-7765
3 months ago
329-50032
329 days ago
15-65390
15 days
34722 GrigorenkoPV
author:GrigorenkoPV
feat(Data/Finset/RangeDistance): bound distance between elements of `Finset.range` --- Rebase of https://github.com/leanprover-community/mathlib4/pull/26347 [![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
108-79454
3 months ago
65-16816
65 days ago
52-18954
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
108-10126
3 months ago
136-25230
136 days ago
0-23
23 seconds
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
107-38659
3 months ago
152-31206
152 days ago
5-47944
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
107-3349
3 months ago
111-79069
111 days ago
5-38408
5 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
106-73659
3 months ago
163-56315
163 days ago
0-136
2 minutes
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
106-37426
3 months ago
106-84655
106 days ago
7-49555
7 days
33050 mkaratarakis
author:mkaratarakis
feat: lemmas for the analytic part of the proof of the Gelfond–Schneider theorem Lemmas missing for the formalisation of the proof of the Gelfond–Schneider theorem --- [![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
105-19806
3 months ago
115-39063
115 days ago
6-26337
6 days
34814 GrigorenkoPV
author:GrigorenkoPV
feat(Tactic/ClearUnneeded): add `clear_unneeded` tactic --- The simplest version suggested in https://github.com/leanprover-community/mathlib4/issues/25319 [![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
105-6870
3 months ago
113-30243
113 days ago
2-23785
2 days
34876 GrigorenkoPV
author:GrigorenkoPV
feat(Tactic/AssumptionQuestion): add `assumption?` tactic --- As requested in #10361 TODO: maybe add some tests? [![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
105-5445
3 months ago
113-28433
113 days ago
0-83167
23 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
104-79426
3 months ago
154-7422
154 days ago
4-58698
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
104-78490
3 months ago
418-24756
418 days ago
0-38
38 seconds
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
104-48113
3 months ago
156-15938
156 days ago
0-2872
47 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
103-18212
3 months ago
145-10597
145 days ago
21-3598
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
102-28043
3 months ago
102-28143
102 days ago
39-6778
39 days
30667 FrederickPu
author:FrederickPu
feat(‎Mathlib/Algebra/Group/Subgroup/Pointwise): subgroup mul Title: feat: pointwise products for subgroups Description: showed the point-wise product of disjoint subgroups is equivalent to their Cartesian product. Based on https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/useful.20group.20theory.20lemmas/with/546738566. --- [![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
102-26552
3 months ago
102-31186
102 days ago
1-21290
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
102-22309
3 months ago
102-22515
102 days ago
39-9555
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
101-78583
3 months ago
101-78583
101 days ago
3-30421
3 days
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
101-62327
3 months ago
152-40600
152 days ago
4-4467
4 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
101-42061
3 months ago
101-42062
101 days ago
17-1225
17 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
99-39847
3 months ago
99-39847
99 days ago
13-72199
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
96-58959
3 months ago
96-58959
96 days ago
30-23357
30 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
96-4256
3 months ago
172-5126
172 days ago
2-77113
2 days
33257 NickAdfor
author:NickAdfor
feat(Combinatorics/SimpleGraph/Bipartite): Odd Cycle Theorem (A Solution to TODO) Prove bipartite iff all cycles are even This PR formalizes the classical graph theory theorem: a graph is bipartite if and only if all its cycles have even length. Co-authored-by: Nick Adfor Co-authored-by: Yue Sun Co-authored-by: Aristotle AI --- ## Main results - `SimpleGraph.bipartite_iff_all_cycles_even` : the main equivalence theorem ## Key supporting lemmas - `SimpleGraph.even_length_iff_same_color` : parity lemma for 2-colorings - `SimpleGraph.even_length_iff_even_bypass_length` : bypass length parity - `SimpleGraph.even_cycle_length_of_path` : cycle construction lemma - `SimpleGraph.bypass_eq_nil_of_closed` : closed path properties ## Proof outline 1. For bipartite graphs: use the 2-coloring to show that in a 2-coloring, a walk has even length iff its endpoints have the same color. 2. For cycles (start = end), this forces even length. 3. For the converse: if all cycles are even, construct a 2-coloring using the `two_colorable_iff_forall_loop_even` characterization. 4. Show this coloring is valid using bypass operations and path properties. ## Technical notes - Uses `SimpleGraph.Walk` for path/cycle representation - Handles both `IsPath` and `IsCycle` predicates - Uses bypass operations (`takeUntil`, `dropUntil`, `bypass`) to analyze walks - Requires `DecidableEq V` for some lemmas - Uses classical logic for case analysis ## Reviewer notes - The proof uses induction on walks and case analysis on colorings - Some lemmas (like `even_length_iff_same_color`) could be extracted to more general locations - All theorems are in the `SimpleGraph` namespace - The `bipartite_iff_all_cycles_even` theorem provides the complete characterization t-combinatorics new-contributor awaiting-author LLM-generated merge-conflict 164/8 Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/ConcreteColorings.lean 2 80 ['IvanRenison', 'NickAdfor', 'Rida-Hamadani', 'SnirBroshi', 'YaelDillies', 'euprunin', 'github-actions', 'kmill', 'mathlib-merge-conflicts', 'mitchell-horner', 'vihdzp', 'vlad902'] YaelDillies
assignee:YaelDillies
95-79630
3 months ago
67-51918
67 days ago
52-32521
52 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
95-16354
3 months ago
95-16354
95 days ago
8-29654
8 days
33247 sun123zxy
author:sun123zxy
feat(Mathlib/RingTheory/Ideal/Cotangent): dimension of cotangent spaces It is shown that the span rank of the maximal ideal of a local ring equals the dimension of the cotangent space if the maximal ideal is finitely generated. To avoid unnecessary imports, the original `Mathlib/RingTheory/Nakayama` is now moved to `Mathlib/RingTheory/Nakayama/Basic`. --- - [ ] depends on: #33359 - [ ] depends on: #33361 - [ ] depends on: #35651 [![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
95-592
3 months ago
154-7740
154 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
95-215
3 months ago
113-27900
113 days ago
1-62439
1 day
35735 mkaratarakis
author:mkaratarakis
feat(NumberTheory): analytical properties and lower bounds for Gelfond-Schneider auxiliary function This PR is the third component in the formalization of the Gelfond-Schneider Theorem (Hilbert's Seventh Problem). It connects the algebraically constructed auxiliary function `R(x)` to its analytical properties, establishing the exact order of vanishing and the fundamental lower bound on the norm of its non-zero derivative evaluation. Following the argument in Loo-Keng Hua's *Introduction to Number Theory* (Chapter 17.9, equations (4) and (5)), we define the minimal non-vanishing derivative order $r$ and scale the evaluation to an algebraic integer to compute its norm. 1. (`iteratedkDeriv_R_eq_zero` & `order_geq_n`): We verify that the coefficient vector $\eta$ (chosen via Siegel's lemma in the previous PR) forces the first $n$ derivatives of the auxiliary function $R(x)$ to vanish at the points $x \in \{1, 2, \dots, m\}$. Consequently, the analytical order of $R(x)$ at these points is at least $n$. 2. We extract $r$, the exact minimal order of vanishing of $R(x)$ among all points $1 \le l \le m$, and prove that $n \le r$. 3. We define the non-zero algebraic number $\rho = (\log \alpha)^{-r} R^{(r)}(l_0)$. 4. We prove the crucial textbook step that scaling $\rho$ by $c_1^{r+2mq}$ (formalized here as `cρ`) results in an algebraic integer in $\mathcal{O}_K$. 5. Because $c_1^{r+2mq} \rho$ is a non-zero algebraic integer, the absolute value of its norm is at least $1$. We use this to formally prove the strict lower bound on the absolute norm of the unscaled $\rho$: $|N(\rho)| > c_1^{-h(r+2mq)} > c_5^{-r}$. --- - [ ] depends on: #35734 [optional extra text] [![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
94-74073
3 months ago
95-10129
95 days ago
0-362
6 minutes
35755 Vilin97
author:Vilin97
feat(Analysis/ODE): forward Euler method convergence WIP Prove the convergence of the Forward Euler Method. This is the first theorem in most textbooks on numerical analysis for ODEs. --- The initial proof was produced by [Aristotle](https://aristotle.harmonic.fun). The code was then iteratively refined (factoring out lemmas, golfing, simplifying proofs) using Claude Code (Claude Opus 4.6). * [ ] depends on: #35753 new-contributor WIP LLM-generated merge-conflict 297/0 Mathlib.lean,Mathlib/Analysis/ODE/EulerMethod.lean,Mathlib/Topology/Algebra/Order/PiecewiseLinear.lean 4 7 ['Vilin97', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts'] nobody
94-51062
3 months ago
94-53273
94 days ago
0-674
11 minutes
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
93-48997
3 months ago
439-26936
439 days ago
48-67492
48 days
22361 rudynicolop
author:rudynicolop
feat(Computability/NFA): nfa closure properties Add the closure properties union, intersection and reversal for NFA. --- [![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
93-48981
3 months ago
390-30875
390 days ago
39-60525
39 days
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
93-28852
3 months ago
121-12261
121 days ago
59-63565
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
93-421
3 months ago
unknown
0-0
0 seconds
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
92-69010
3 months ago
357-11909
357 days ago
34-10092
34 days
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
92-66536
3 months ago
108-34700
108 days ago
0-1613
26 minutes
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
92-33308
3 months ago
381-15780
381 days ago
17-14109
17 days
35603 2500223210-max
author:2500223210-max
feat(GroupTheory/Frattini): add more theorems Add some contents about frattini subgroup into Mathlib GroupTheory Frattini.lean,including * (convenient lemma)A subgroup contained in all maximal subgroup is contained in the FRattini subgroup * A subgroup (say H) has a proper complement (meaning for some proper subgroup K, K and H generate the whole group)if and only if it is not contained in the Frattini subgroup. * A group is cyclic iff its Frattini factor(the quotient group wrt Frattini subgroup) is cyclic. * The Frattini factor of a finite p-group is elementary abelian(that is,an abelian group G with Gᵖ={1}) * A finite p-group has trivial Frattini subgroup iff the group is elementary abelian. * Burnside theorem of Frattini factor of finite p-group. --- new-contributor t-group-theory large-import awaiting-author 764/1 Mathlib/GroupTheory/Frattini.lean 1 3 ['github-actions', 'tb65536'] nobody
92-30989
3 months ago
92-30989
92 days ago
5-73876
5 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
92-9293
3 months ago
92-9293
92 days ago
44-16098
44 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
92-5364
3 months ago
64-41587
64 days ago
27-59600
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
90-85969
3 months ago
104-19015
104 days ago
0-100
1 minute
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
90-36499
2 months ago
95-10714
95 days ago
0-306
5 minutes
34875 banrovegrie
author:banrovegrie
feat(LinearAlgebra/Matrix): add Sherman-Morrison formula Mathlib has the matrix determinant lemma (`det_add_replicateCol_mul_replicateRow` in SchurComplement.lean) but lacked the corresponding inverse formula. This PR fills that gap. - Add `Matrix.inv_add_vecMulVec`: Sherman-Morrison formula for `(A + uv^T)^{-1}` - Add `Matrix.inv_sub_vecMulVec`: subtraction variant - Add `Matrix.isUnit_det_add_vecMulVec`: invertibility under the formula's hypotheses ## Test plan - [x] `lake build` passes - [x] Lines within 100 char limit - [x] All declarations have docstrings **Any specific AI usage?**: Used Copilot for review purposes. t-algebra new-contributor awaiting-author
label:t-algebra$
135/0 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/ShermanMorrison.lean 2 14 ['Xxxjdjdid', 'banrovegrie', 'chrisflav', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'wwylele'] chrisflav
assignee:chrisflav
90-24127
2 months ago
45-21216
45 days ago
69-6728
69 days
26013 tsuki8
author:tsuki8
feat(Data/Finset/Card,Data/Set/Finite/Basic): TODO needs a better title add `card_bijOn` and `finset_subset_preimage_of_finite_image` Add `card_bijOn`: proves that for a bijection between finsets, their cardinalities are equal Add `finset_subset_preimage_of_finite_image`: constructs a finset subset preserving image cardinality Co-authored-by: Junyu Guo --- [![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
89-70704
2 months ago
333-50437
333 days ago
13-85893
13 days
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
89-48030
2 months ago
66-27370
66 days ago
27-18698
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
89-43634
2 months ago
102-31639
102 days ago
0-5488
1 hour
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
89-38958
2 months ago
217-54130
217 days ago
35-45800
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
88-56172
2 months ago
263-52522
263 days ago
27-52841
27 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
87-40402
2 months ago
40-254
40 days ago
82-19320
82 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
86-26432
2 months ago
88-6627
88 days ago
15-5284
15 days
35193 Brian-Nugent
author:Brian-Nugent
feat(Topology/Closeds): implement category of closed sets in topological spaces I copied over the nice API for working with `TopologicalSpace.Opens` as a category over for `TopologicalSpace.Closeds`. The only thing that did not immediately transfer was `Topology.IsInducing.functorObj` so I omitted it. Based on work of @kim-em --- [![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
86-25578
2 months ago
71-25651
71 days ago
17-64811
17 days
35332 yisiox
author:yisiox
feat(Computability): regular expressions match a regular language This PR adds a proof that the language matched by a regular expression is a regular language. This is achieved by the following constructions and proofs of their correctness - A DFA `epsilon` which accepts the empty language - A DFA `char (a : α)` which accepts the language containing only a single symbol - An Epsilon-NFA `concat (M₁ : εNFA α σ₁) (M₂ : εNFA α σ₂)` which accepts the concatenation of the languages of two Epsilon-NFAs - An Epsilon-NFA `kstar (M : εNFA α σ)` which accepts the Kleene star of a language of an Epsilon-NFA The following theorems on closure are added - `IsRegular.zero` - `IsRegular.one` - `IsRegular.top` - `IsRegular.singleton` - `IsRegular.mul` - `IsRegular.kstar` which demonstrates - `IsRegular.matches` --- [![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
86-15539
2 months ago
unknown
0-0
0 seconds
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
85-84509
2 months ago
32-26772
32 days ago
53-33900
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
85-38998
2 months ago
678-5022
678 days ago
4-83177
4 days
33592 nielstron
author:nielstron
feat(Computability/ContextFreeGrammar): mapping between two types of nonterminal symbols This PR picks up https://github.com/leanprover-community/mathlib4/pull/15895 and resolves the failing lemma by redefining Good symbols. --- I checked that https://github.com/leanprover-community/mathlib4/pull/13514 builds correctly when based on this build. PR for that is #33599 This is my first contribution please let me know of any changes I should outline. [![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
85-27966
2 months ago
134-56493
134 days ago
10-68503
10 days
35144 daniel-carranza
author:daniel-carranza
feat(CategoryTheory/Enriched): tensor product of enriched categories For a braided monoidal category `V`, defines the tensor product of `V`-categories `C` and `D`, and shows that the type of `V`-functors out of the tensor product `C \times D` is equivalent to the type of "enriched bifunctors" `EnrichedBifunctor V C D`. --- This work originates from infinity-cosmos project, where it is used to formalize the notion of cotensors in an enriched category. There are some additional coherence lemmas in a braided monoidal category which have been added. Currently, line 209 violates the style guideline that terminal simp calls should not be squeezed. When I tried to replace this with a single `simp`, I get an error message: `maximum recursion depth has been reached`. Any suggestions (either with this or anything else) are greatly appreciated - thank you! [![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
85-23673
2 months ago
108-12768
108 days ago
0-145
2 minutes
34236 homeowmorphism
author:homeowmorphism
feat(GroupTheory/FinitelyPresentedGroup): add finitely presented groups Formulation of finitely presented groups feat(GroupTheory/FinitelyPresentedGroup): add finitely presented groups We define the notion of `IsFinitelyPresented` with equivalent datatype notions, what it means for a subgroup to be finitely generated in the normal closure, and some instances of finitely presented groups. This started as an ItaLean2025 project. The related Zulip thread is here: https://leanprover.zulipchat.com/#narrow/channel/541885-ItaLean-2025/topic/Projects.3A.20Finitely.20Presented.20Groups/with/567565752. Use of AI: * Aristotle was used for giving a preliminary proof of some statements as this is my first contribution and I wanted to understand how to prove things; they have since been changed. * GPT-5.2 was used to generate some of the proof sub-statements for efficiency once the mathematical blueprints of the proofs have been worked out. * GPT-5.3 was used to rapidly refactor the code. Human review by PR author in-progress, but got to a point where it would be good to get external input. * GPT-5.4 was used to refactor the variables. Human PR author then rewrote the whole thing. --- - [x] depends on: #34580 - [x] depends on: #34624 - [x] depends on: #35033 - [x] depends on: #35029 [![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
85-21959
2 months ago
72-4852
72 days ago
0-4650
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
85-15066
2 months ago
291-81612
291 days ago
25-83942
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
84-83446
2 months ago
96-11695
96 days ago
47-76876
47 days
34005 MSpill
author:MSpill
feat: inverse function theorem for manifolds (concrete version) Proves the inverse function theorem for manifolds: given manifolds $M, N$ and a $C^n$ map $f : M \to N$ whose differential is a linear isomorphism at $p \in M$, then $f$ is a local diffeomorphism at $p$, provided that both $p$ and its image are interior points. The proof proceeds in 4 main steps: 1. Define composition of partial diffeomorphisms 2. Show that the extended chart at an interior point can be restricted to an open set on which it is a partial diffeomorphism, viewing the model vector space as a manifold modelled on itself trivially 3. Use the inverse function theorem (applied to $f$ written in coordinates) to obtain a partial diffeomorphism between model vector spaces 4. Compose with chart diffeomorphisms to obtain a partial diffeomorphism between the manifolds. ------ [![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
84-83201
2 months ago
135-22314
135 days ago
0-1082
18 minutes
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
84-71921
2 months ago
99-53961
99 days ago
5-13145
5 days
36313 SproutSeeds
author:SproutSeeds
feat(Inversion): cobounded tendsto near center Part of #5939 Add `tendsto_inversion_nhdsNE_center_cobounded` in `Mathlib/Geometry/Euclidean/Inversion/Basic.lean`, proving `Tendsto (inversion c R) (𝓝[≠] c) (Bornology.cobounded P)` for `R ≠ 0`. Tools used: Codex 5.3 extra high --- Happy to adjust naming, placement, or proof style based on maintainer preference. t-euclidean-geometry new-contributor LLM-generated awaiting-author 42/0 Mathlib/Geometry/Euclidean/Inversion/Basic.lean 1 11 ['SproutSeeds', 'euprunin', 'github-actions', 'jsm28', 'kbuzzard', 'ocfnash'] jsm28
assignee:jsm28
84-46636
2 months ago
67-43575
67 days ago
6-36700
6 days
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
84-22847
2 months ago
unknown
0-0
0 seconds
36326 Arnav-panjla
author:Arnav-panjla
Feat/gaussian schwartz map feat(Analysis/SpecialFunctions/Gaussian): define the Gaussian as a Schwartz function in 1D Define the Gaussian function `x ↦ exp (-x^2)` as a `SchwartzMap` in the one-dimensional case. The proof establishes the Schwartz decay conditions by showing that polynomially weighted expressions of the form `(1 + x^2)^m * exp (-x^2)` are bounded. This allows the Gaussian to be packaged using the `SchwartzMap` API. During the implementation a few adjustments were required to match the current Mathlib API. In particular: * replace the non-existent `IsBigO.mul_right` with `IsBigO.of_bound` applied to the full product `(1 + x^2)^m * exp (-x^2)` * fix `mem_cocompact` usage by replacing `(hh_tendsto.eventually ...).mem_cocompact` with `mem_cocompact.mp (hh_tendsto ...)` * adjust the `hb_bound` step using `gcongr` with exact bounds so that both goals close * remove the unused declaration `hf_nonpos` * register the required import in `Mathlib.lean` This implements the one-dimensional case mentioned in the issue. The generalization to Gaussians associated with arbitrary positive-definite bilinear forms can be added in a follow-up PR. Closes #33072 t-analysis new-contributor 235/0 Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/SchwartzMap.lean 2 4 ['CoolRmal', 'github-actions'] nobody
84-16174
2 months ago
84-19585
84 days ago
84-19577
84 days
33668 Citronhat
author:Citronhat
feat(PMF): add lintegral formulas for PMF This PR introduces two lemmas describing the `lintegral` of a function with respect to the measure induced by a probability mass function: - `PMF.lintegral_eq_tsum` - `PMF.lintegral_eq_sum` These are the `ℝ≥0∞` analogues of the existing Bochner `integral` formulas `integral_eq_tsum` and `integral_eq_sum`. They could be useful for reasoning about expectations and integrability. In addition, the proof of `integral_eq_sum` is simplified by deriving it directly from `integral_eq_tsum` using `tsum_fintype`. t-measure-probability new-contributor awaiting-author merge-conflict 14/5 Mathlib/Probability/ProbabilityMassFunction/Integrals.lean 1 3 ['DavidLedvinka', 'github-actions', 'mathlib-merge-conflicts'] nobody
82-9976
2 months ago
88-44719
88 days ago
55-73479
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
81-72983
2 months ago
82-67253
82 days ago
0-2
2 seconds
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
81-1804
2 months ago
81-1804
81 days ago
27-45743
27 days
31670 edwin1729
author:edwin1729
feat(Topology/Order): Scott Topology is Sober over Algebraic DCPO --- [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.3E.20Algebraic.20complete.20partial.20order.20and.20domain.20theory/with/536359313) here (2/2) PR to prove result in Stone Duality. Here we prove that Scott Topologies over Algebraic DCPOs are sober. - [ ] depends on: #31662 [![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
80-86086
2 months ago
unknown
0-0
0 seconds
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
80-71322
2 months ago
71-23242
71 days ago
9-58085
9 days
35684 spitters
author:spitters
feat(CategoryTheory/MarkovCategory): Kleisli PMF is a Markov category Add `Mathlib/CategoryTheory/MarkovCategory/KleisliPMF.lean` showing that `KleisliCat PMF` is a `MarkovCategory`. Uses `Prod` as tensor and `PUnit` as unit; reuses Mathlib's existing `KleisliCat`, `LawfulMonad PMF`, and `MarkovCategory` infrastructure. Builds the full instance stack: MonoidalCategory → BraidedCategory → SymmetricCategory → CopyDiscardCategory → MarkovCategory --- [![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
80-61202
2 months ago
93-7047
93 days ago
2-36419
2 days
35738 GrigorenkoPV
author:GrigorenkoPV
perf: remove some `aesop`s and `grind`s --- Needs benchmarking. After that I can split it into several smaller portions, if needed. [![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
80-61201
2 months ago
94-42881
94 days ago
0-45583
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
79-84484
2 months ago
79-84574
79 days ago
79-84566
79 days
14603 awueth
author:awueth
feat: degree is invariant under graph isomorphism --- Mathlib has the definition `SimpleGraph.Iso.mapNeighborSet` which is an equivalence between neighbor sets induced by an isomorphism. Would it be beneficial to add the same equivalence for `neighborFinset`? [![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
79-65882
2 months ago
656-26321
656 days ago
31-44440
31 days
33599 nielstron
author:nielstron
feat(Computability/ContextFreeGrammar): closure under union --- This PR picks up https://github.com/leanprover-community/mathlib4/pull/13514 and resolves the outstanding errors. - [ ] depends on: #33592 [![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
79-49319
2 months ago
134-58178
134 days ago
10-65787
10 days
9605 davikrehalt
author:davikrehalt
feat(Data/Finset & List): Add Lemmas for Sorting and Filtering This PR includes several useful lemmas to the Data/Finset and Data/List modules in Lean's mathlib: 1. `toFinset_filter` (List): Shows that filtering commutes with toFinset. 2. `toFinset_is_singleton_implies_replicate` (List): Shows a list with a singleton toFinset is a List.replicate. 3. `filter_sort_commute` (Finset): Sorting and filtering can be interchanged in Finsets. 4. `Sorted.filter` (List): A sorted list stays sorted after filtering. 5. `Sorted.append_largest` (List): Appending the largest element keeps a list sorted. 6. `sort_monotone_map` (Finset): Relates sorting of a Finset after mapping to sorting of a list. 7. `sort_insert_largest` (Finset): Sorting a Finset with an inserted largest element. 8. `sort_range` (Finset): Sorting a range in a Finset equals the corresponding range list. 9. ~~`filter_eval_true` (List): Filtering a list with a predicate always true keeps the list unchanged.~~ 10. ~~`filter_eval_false` (List): Filtering with an always-false predicate gives an empty list.~~ 11. ~~`pairwise_concat` (List): Iff condition for Pairwise relation in concatenated lists (similar to pairwise_join).~~ 12. `list_map_toFinset` (Finset): toFinset commutes with map under injection --- - [x] depends on: #15952 This is my first PR to mathlib, so I'm not too familiar with etiquette's and more specifically there are two proofs in the PR which uses aesop, and I am not sure if it's frowned upon. I kept the aesop in there for now as I couldn't construct very short proofs otherwise. The sort_range function proof was suggested in https://leanprover.zulipchat.com/#narrow/stream/113489-new-members/topic/Computing.20Finset.20sort.20of.20Finset.20range/near/410346731 by Ruben Van de Velde. Thanks for your time for improving this PR. please-adopt t-data new-contributor merge-conflict awaiting-author 71/0 Mathlib/Data/Finset/Basic.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/Finset/Sort.lean,Mathlib/Data/List/Sort.lean 4 30 ['YaelDillies', 'davikrehalt', 'eric-wieser', 'github-actions', 'jcommelin', 'urkud', 'vihdzp'] nobody
79-48775
2 months ago
859-20263
859 days ago
12-48883
12 days
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
79-29018
2 months ago
26-84821
26 days ago
24-65258
24 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
78-57596
2 months ago
75-28171
75 days ago
3-29502
3 days
35662 FrankieeW
author:FrankieeW
feat(NumberTheory/Zsqrtd): add Archimedean instance via le_arch This PR follows a suggestion made in #35606 , #35481 - add `Zsqrtd.le_arch_smul` in `Mathlib/NumberTheory/Zsqrtd/Basic.lean` - use it to provide `instance : Archimedean (ℤ√d)` in the `Nonsquare` section - refactor the proof using symmetry to reduce duplication while keeping checks clean --- [![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
78-57332
2 months ago
81-35448
81 days ago
15-50475
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
78-19559
2 months ago
79-12091
79 days ago
8-31258
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
77-79626
2 months ago
75-29621
75 days ago
7-9258
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
77-36670
2 months ago
75-18369
75 days ago
16-12398
16 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
77-23725
2 months ago
386-47021
386 days ago
72-2714
72 days
31610 rudynicolop
author:rudynicolop
feat(Computability/NFA): Kleene star closure for Regular Languages via NFA This PR constructs a Kleene star closure for non-epsilon NFAs, and proves that regular languages are closed under Kleene star. The NFA construction is `NFA.kstar`. The main theorems are: - `NFA.accepts_kstar`: demonstrates that `M.kstar` accepts the Kleene star closure of the language of `M`. - `IsRegular.kstar`: demonstrates that regular languages are closed under Kleene star. There is an onging zulip discussion about regular languages in Mathlib: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Regular.20languages.3A.20the.20review.20queue/with/553759136 This discussion is also tracked at #24205. Furthermore, the construction and proofs in this PR are heavily inspired by @TpmKranz from his #15651. #15651 supersedes this PR, so if it is accepted then this PR is not needed. --- - [x] depends on: #31038 [![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
77-23624
2 months ago
136-16006
136 days ago
43-77831
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
74-70295
2 months ago
74-68895
74 days ago
0-3928
1 hour
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
70-34025
2 months ago
70-34025
70 days ago
2-67942
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
66-52900
2 months ago
75-52254
75 days ago
0-322
5 minutes
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
59-18484
1 month ago
unknown
0-0
0 seconds
37585 cascone26
author:cascone26
feat: formal statements of Robin's and Lagarias' inequalities equivalent to RH ## Summary This PR adds `Mathlib/NumberTheory/LSeries/RobinInequality.lean`, which contains formal Lean 4 statements of two classical equivalences of the Riemann Hypothesis: **Robin's theorem (1984):** RH ↔ σ₁(n) < e^γ · n · ln(ln(n)) for all n > 5040 **Lagarias' theorem (2002):** RH ↔ σ₁(n) ≤ H_n + exp(H_n) · ln(H_n) for all n ≥ 1 ### New declarations - `robinBound (n : ℕ) : ℝ` — the Robin bound e^γ · n · ln(ln(n)) - `lagariasBound (n : ℕ) : ℝ` — the Lagarias bound H_n + exp(H_n) · ln(H_n) - `robin_iff_RH : RiemannHypothesis ↔ ∀ n > 5040, σ₁(n) < robinBound n` - `lagarias_iff_RH : RiemannHypothesis ↔ ∀ n ≥ 1, σ₁(n) ≤ lagariasBound n` ### Status The **statements** are complete and use existing Mathlib primitives: - `ArithmeticFunction.sigma` for σ₁ - `Real.eulerMascheroniConstant` for γ - `harmonic` for H_n (with ℚ → ℝ coercion) - `RiemannHypothesis` from `Mathlib.NumberTheory.LSeries.RiemannZeta` The **proofs** are currently `sorry`. The Robin direction (RH → inequality) requires analytic number theory following Robin's original 1984 paper. The converse uses Gronwall's theorem on superior highly composite numbers. Both are substantial Mathlib projects in their own right. This PR establishes the formal statements as a foundation for future proof work. These equivalences are not currently formalized anywhere in Mathlib. ### References - G. Robin, *Grandes valeurs de la fonction somme des diviseurs et hypothèse de Riemann*, J. Math. Pures Appl. **63** (1984), 187–213. - J. Lagarias, *An elementary problem equivalent to the Riemann hypothesis*, Amer. Math. Monthly **109** (2002), 534–543. ### Note on `sorry` I'm aware Mathlib does not merge `sorry`-laden PRs in general. I'm submitting this as a draft to: 1. Get feedback on whether the statement formulation is idiomatic 2. Establish that these statements don't already exist in Mathlib under a different name 3. Invite collaboration on completing the proofs t-number-theory new-contributor 98/0 Mathlib/NumberTheory/LSeries/RobinInequality.lean 1 2 ['github-actions'] nobody
57-63649
1 month ago
unknown
0-0
0 seconds
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
57-42996
1 month ago
57-42996
57 days ago
13-10710
13 days
36813 AlexeyMilovanov
author:AlexeyMilovanov
feat(Computability.Encoding): add self-delimiting unary and pair encodings Adds `unaryPrefix` (a self-delimiting $1^n 0$ code) and `prefixPair` to `Mathlib.Computability.Encoding`. **Key changes:** * **`unaryPrefix`**: A prefix-free unary encoding for $\mathbb{N}$, distinct from the existing `unaryEncodeNat`. * **`unaryPrefix_append_inj`**: A basic cancellation lemma that allows unique extraction of a unary prefix from a concatenated list. * **`prefixPair`**: A self-delimiting pairing function for boolean lists, defined as $\text{unaryPrefix } |x| \frown x \frown y$. * **`prefixPair_inj`**: A concise proof of pair injectivity leveraging the new prefix lemmas. t-computability new-contributor awaiting-author 56/1 Mathlib/Computability/Encoding.lean 1 2 ['Komyyy', 'github-actions'] Komyyy
assignee:Komyyy
56-70417
1 month ago
56-70417
56 days ago
16-42277
16 days
37644 matthunz
author:matthunz
feat(Order/Causal): add `Causal` ordering for stream functions Adds `Causal` ordering for stream functions and related theorems: ```lean def Causal (f : Stream' α → Stream' β) : Prop := ∀ (x y : Stream' α) (t : ℕ), (∀ s, s ≤ t → x s = y s) → f x t = f y t ``` A stream function is causal if the output at time `t` depends only on inputs up to time `t`. Causal stream functions are commonly used in signal processing, reactive systems, and semantics of stateful computations, where outputs cannot depend on future inputs. ## Future work - Mealy machines: define Mealy machines as causal stream functions with state, and relate them to standard automata-theoretic constructions. - Feedback and delay operators: formalize feedback loops and delayed composition, enabling modeling of stateful and recursive stream definitions. --- [![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
56-9480
1 month ago
unknown
0-0
0 seconds
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
53-51170
1 month ago
53-51170
53 days ago
0-68801
19 hours
37489 michael-novak-math
author:michael-novak-math
feat: add the fundamental theorem of plane curves We add to the PlaneCurves file created in PR #36731 a classical result in the subject of differential geometry of plane curves: the fundamental theorem of plane curves. --------- - [ ] depends on: #36731 new-contributor t-differential-geometry t-analysis blocked-by-other-PR 651/0 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean,Mathlib/Geometry/PlaneCurves.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,docs/references.bib 5 5 ['github-actions', 'mathlib-dependent-issues', 'michael-novak-math'] nobody
53-41750
1 month ago
59-26606
59 days ago
0-13581
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
52-30361
1 month ago
64-21124
64 days ago
0-432
7 minutes
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
50-8874
1 month ago
51-21733
51 days ago
1-79421
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
48-31733
1 month ago
48-31731
48 days ago
0-75
1 minute
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
45-15995
1 month ago
45-15971
45 days ago
0-6926
1 hour
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
45-6041
1 month ago
unknown
0-0
0 seconds
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
44-40760
1 month ago
44-42119
44 days ago
0-69
1 minute
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
44-2103
1 month ago
45-35544
45 days ago
0-4092
1 hour
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
43-46563
1 month ago
43-46563
43 days ago
0-34567
9 hours
38140 sidbedi
author:sidbedi
chore(Data/Analysis/Filter): golf CFilter.ofEquiv_val to rfl --- cases F is unnecessary, the result holds definitionally. [![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
43-46519
1 month ago
43-46519
43 days ago
0-34488
9 hours
36731 michael-novak-math
author:michael-novak-math
feat: Frénet moving frame and Frénet equation for plane curves We define the curvature function, normal vector function and the Frénet moving frame for plane curve. We also prove the Frénet equations for plane curves. A separate PR (#37489) will prove the fundamental theorem of plane curves. new-contributor t-differential-geometry t-analysis awaiting-author 321/0 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean,Mathlib/Geometry/PlaneCurves.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,docs/references.bib 5 114 ['Ruben-VandeVelde', 'github-actions', 'grunweg', 'michael-novak-math', 'scholzhannah'] nobody
43-40500
1 month ago
56-18123
56 days ago
12-40134
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
43-21127
1 month ago
54-76419
54 days ago
0-1447
24 minutes
37684 SabrinaJewson
author:SabrinaJewson
feat(Topology/Order): provide lemmas linking topological continuity to order continuity All the hard work is already done, but this just fills in a couple convenient missing pieces. --- - [ ] depends on: #37682 [![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
43-21116
1 month ago
54-76420
54 days ago
0-1299
21 minutes
37376 NoneMore
author:NoneMore
feat(Topology/CantorBendixson): add iterated derived sets and perfect kernel Define the transfinite iteration of the relative derived-set operator via `gfpApprox` and introduce the perfect kernel of a set. --- AI disclosure: Most declarations, comments, and documentation in this PR were generated with Codex. Some proofs were structurally simplified using the `/golf` command from Lean 4 Skills. I reviewed the resulting code and documentation and can vouch for all submitted content. - [ ] depends on: #37374 - [x] depends on: #37375 [![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
43-21085
1 month ago
61-28817
61 days ago
0-832
13 minutes
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
42-28885
1 month ago
unknown
0-0
0 seconds
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
41-58912
1 month ago
41-58913
41 days ago
15-61521
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
40-71968
1 month ago
unknown
0-0
0 seconds
38053 ntapiam
author:ntapiam
feat(Analysis/Controls): add Control functions Add Control functions ---- This PR adds Control functions in the sense of rough paths theory (see e.g. [Friz-Victoir, Section 1.2.1](https://page.math.tu-berlin.de/~friz/master4_May6th.pdf)). They are related to p-variation norms which are the goal of #38055. I've shown most results in the above reference though those relating to 1-variation are still a work in progress. I had to add a few statements about convex functions in order to work over NNReal instead or Real, but I am not sure this is the best way to do it. The reason is that I've defined controls as taking values in NNReal (as they should). In particular there is ```lean4 theorem nnreal_of_real {f : ℝ≥0 → ℝ≥0} (hf : ConvexOn ℝ (Set.Ici 0) fun x : ℝ => (f x.toNNReal : ℝ)) : ConvexOn ℝ≥0 ⊤ f ``` which I didn't know where to put. It probably holds in more generality but I didn't check. I have also included two versions of Controls, one global and one restricted to a set. I tried to follow Mathlib conventions as best as I could but perhaps that could be improved as well. [![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
40-41016
1 month ago
46-6199
46 days ago
0-52
52 seconds
37279 imalinowskip
author:imalinowskip
feat(Probability): multivariate CLT (and Cramèr-Wold) --- - [x] depends on: #36208 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability awaiting-author large-import 500/1 Mathlib.lean,Mathlib/Probability/CentralLimitTheorem.lean,Mathlib/Probability/CramerWold.lean 3 10 ['EtienneC30', 'github-actions', 'imalinowskip', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] RemyDegenne
assignee:RemyDegenne
38-10560
1 month ago
51-35646
51 days ago
5-65208
5 days
38399 openendings
author:openendings
feat: OrderHom.instOrderSupSet for LawfulSup Currently we have `instance [CompleteLattice β] : SupSet (α →o β)`. We replace this with a mere `LawfulSup` assumption such as #38328, . TODO: - [ ] construct an `OrderSupSet` instance instead of `SupSet` --- WIP - [ ] depends on: #38328 [or other `LawfulSup`] (based on master in case something else needs this) [![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
37-60868
1 month ago
37-63712
37 days ago
0-106
1 minute
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
37-26918
1 month ago
unknown
0-0
0 seconds
36853 matthunz
author:matthunz
feat(CategoryTheory/Monoidal/Braded/Traced): add `TracedCategory` class Adds a `TracedCategory` class following [A. Joyal and R. Street and D. R. Verity, *Traced monoidal categories*](https://www.cambridge.org/core/journals/mathematical-proceedings-of-the-cambridge-philosophical-society/article/abs/traced-monoidal-categories/2BE85628D269D9FABAB41B6364E117C8#article): ```lean /-- A traced symmetric monoidal category. -/ class TracedCategory (C : Type u) [Category.{v} C] [MonoidalCategory.{v} C] [SymmetricCategory.{v} C] where /-- The trace operator. -/ trace : ∀ {A B : C} (W : C), (A ⊗ W ⟶ B ⊗ W) → (A ⟶ B) /-- Left tightening: sliding a morphism past the trace on the left. -/ trace_naturality_left : ∀ {A A' B : C} (W : C) (f : A' ⟶ A) (g : A ⊗ W ⟶ B ⊗ W), trace W (f ▷ W ≫ g) = f ≫ trace W g := by cat_disch /-- Right tightening: sliding a morphism past the trace on the right. -/ trace_naturality_right : ∀ {A B B' : C} (W : C) (f : A ⊗ W ⟶ B ⊗ W) (g : B ⟶ B'), trace W (f ≫ g ▷ W) = trace W f ≫ g := by cat_disch /-- Sliding: an endomorphism on the feedback wire slides past the trace. -/ trace_dinaturality : ∀ {A B W : C} (f : A ⊗ W ⟶ B ⊗ W) (h : W ⟶ W), trace W (f ≫ B ◁ h) = trace W (A ◁ h ≫ f) := by cat_disch /-- Superposing: trace commutes with left tensoring by a bystander object. -/ trace_superposing : ∀ {A B : C} (C' W : C) (f : A ⊗ W ⟶ B ⊗ W), C' ◁ trace W f = trace W ((α_ C' A W).hom ≫ C' ◁ f ≫ (α_ C' B W).inv) := by cat_disch /-- Vanishing I: trace over the tensor unit is the morphism itself (up to unitors). -/ trace_vanishing_one : ∀ {A B : C} (f : A ⊗ 𝟙_ C ⟶ B ⊗ 𝟙_ C), trace (𝟙_ C) f = (ρ_ A).inv ≫ f ≫ (ρ_ B).hom := by cat_disch /-- Vanishing II: trace over a tensor product equals iterated trace. -/ trace_vanishing_two : ∀ {A B X Y : C} (f : A ⊗ (X ⊗ Y) ⟶ B ⊗ (X ⊗ Y)), trace (X ⊗ Y) f = trace X (trace Y ((α_ A X Y).hom ≫ f ≫ (α_ B X Y).inv)) := by cat_disch /-- Yanking: the trace of the braiding is the identity. -/ trace_yanking : ∀ (W : C), trace W (β_ W W).hom = 𝟙 W := by cat_disch ``` ## Motivation `TracedCategory` can be used for denoting things like electric circuits, which require a traced symmetric monoidal category for the wire graph network. ## Future work - `instance [CompactClosedCategory C] : TracedCategory C` - possible notation such as `Tr_[W] f` --- [![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
36-21017
1 month ago
72-10580
72 days ago
0-25956
7 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
35-43280
1 month ago
39-10824
39 days ago
39-11202
39 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
34-7715
1 month ago
34-7726
34 days ago
0-26133
7 hours
36850 whocares-abt
author:whocares-abt
feat(Combinatorics/SimpleGraph/Acyclic): deleting leaves from a tree gives a tree Added theorem stating Deleting a leaf from a tree produces a tree. t-combinatorics new-contributor awaiting-author 5/0 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean 1 9 ['YaelDillies', 'github-actions', 'vlad902'] YaelDillies
assignee:YaelDillies
33-52295
1 month ago
33-52405
33 days ago
38-73648
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
33-15422
1 month ago
33-15423
33 days ago
19-76858
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
32-84744
1 month ago
60-22822
60 days ago
0-463
7 minutes
37556 edwin1729
author:edwin1729
feat(Topology/Order): Locale.localePointOfSpacePoint if we have a Scott Topology from an Algebraic DCPO (3/4) in a series of PRs proving that "Scott Topologies over Algebraic DCPOs are Sober" We prove here that the unit of the adjunction from `TopCat` to `Locale` defined in `Topology/Order/Category/FrameAdjunction.lean` is a surjective mapping, under the following condition: The underlying TopologicalSpace must be a Scott Topology generated with an underlying Algebraic DCPO structure. - [ ] depends on: #37445 --- [![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
32-84743
1 month ago
58-22843
58 days ago
0-1300
21 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
32-57989
1 month ago
unknown
0-0
0 seconds
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
32-1136
1 month ago
37-77656
37 days ago
38-52474
38 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
31-62507
1 month ago
37-24970
37 days ago
14-69757
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
30-63602
1 month ago
unknown
0-0
0 seconds
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
29-65883
29 days ago
29-65883
29 days ago
22-11204
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
29-11728
29 days ago
unknown
0-0
0 seconds
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
28-17616
28 days ago
39-80118
39 days ago
39-80636
39 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
26-67101
26 days ago
27-37329
27 days ago
27-37321
27 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
26-58335
26 days ago
26-68485
26 days ago
26-68477
26 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
26-55360
26 days ago
26-80856
26 days ago
3-62762
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
25-53691
25 days ago
25-53691
25 days ago
17-43852
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
25-51026
25 days ago
25-51113
25 days ago
25-51105
25 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
25-34836
25 days ago
32-27091
32 days ago
39-18222
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
25-6168
25 days ago
unknown
0-0
0 seconds
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
25-2806
25 days ago
51-30954
51 days ago
8-72313
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
24-84595
24 days ago
unknown
0-0
0 seconds
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
24-37387
24 days ago
25-38319
25 days ago
0-105
1 minute
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
23-65041
23 days ago
40-12115
40 days ago
40-12107
40 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
23-46767
23 days ago
23-49956
23 days ago
23-49948
23 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
23-35984
23 days ago
unknown
0-0
0 seconds
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
22-50158
22 days ago
23-7729
23 days ago
0-115
1 minute
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
22-39502
22 days ago
31-58043
31 days ago
3-33232
3 days
37190 cjrl
author:cjrl
feat(Combinatorics): Set-Valued Pigeonhole Principle This PR contributes two theorems to combinatorics: - `exists_lt_card_cover_of_card_biUnion_lt_card` is a set-valued version of the pigeonhole principle. - `sum_card_eq_sum_card_cover_biUnion` is a set theoretic corollary of a double counting result proved for bipartite graphs (`Finset.sum_card_bipartiteAbove_eq_sum_card_bipartiteBelow`). This was needed to prove the above pigeonhole principle. The motivation for these results is our Latin Square PR #36698. These results were proved in less general terms in that PR, but are independent of Latin Square considerations and so we have generalized and moved them into more relevant files. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 38/0 Mathlib/Combinatorics/Enumerative/DoubleCounting.lean,Mathlib/Combinatorics/Pigeonhole.lean 2 16 ['IvanRenison', 'cjrl', 'ghseeli', 'github-actions', 'j-loreaux', 'vlad902'] b-mehta
assignee:b-mehta
21-78793
21 days ago
48-12889
48 days ago
63-70080
63 days
38309 ntapiam
author:ntapiam
feat(Algebra/NonAssoc): dendriform algebras Define dendriform semirings and algebras --- This PR introduces dendriform structures such as dendriform semirings and algebras, and proves basic facts linking them to their pre-Lie counterparts. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
270/0 Mathlib.lean,Mathlib/Algebra/NonAssoc/Dendriform/Defs.lean,docs/references.bib 3 5 ['dagurtomas', 'github-actions', 'ntapiam'] ocfnash
assignee:ocfnash
21-78783
21 days ago
22-44561
22 days ago
37-49850
37 days
38373 Nicola9Falciola
author:Nicola9Falciola
feat (Algebra/FreeAbelianGroup /Finsupp) : The support of non zero element in a freeabeliangroup is non empty Add the lemma that for a nonzero a : FreeAbelianGroup X the support of it is non empty. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
3/0 Mathlib/Algebra/FreeAbelianGroup/Finsupp.lean 1 7 ['Nicola9Falciola', 'SnirBroshi', 'github-actions'] ocfnash
assignee:ocfnash
21-78775
21 days ago
37-34518
37 days ago
38-22951
38 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
21-18558
21 days ago
21-18623
21 days ago
0-37992
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
20-7682
20 days ago
20-7682
20 days ago
0-3921
1 hour
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
19-33640
19 days ago
19-44601
19 days ago
0-344
5 minutes
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
19-28392
19 days ago
99-9643
99 days ago
16-66871
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
19-13047
19 days ago
19-20876
19 days ago
0-389
6 minutes
32608 PrParadoxy
author:PrParadoxy
feat(LinearAlgebra/PiTensorProduct): API for PiTensorProducts indexed by sets This PR addresses a TODO item in LinearAlgebra/PiTensorProduct.lean: * API for the various ways ι can be split into subsets; connect this with the binary tensor product -- specifically by describing tensors of type ⨂ (i : S), M i, for S : Set ι. Our primary motivation is to formalise the notion of "restricted tensor products". This will be the content of a follow-up PR. Beyond that, the Set API is natural in contexts where the index type has an independent interpretation. An example is quantum physics, where ι ranges over distinguishable degrees of freedom, and where its is common practice to annotate objects by the set of indices they are defined on. --- Stub file with preliminary definition of the restricted tensor product as a direct limit of tensors indexed by finite subsets of an index type: https://github.com/PrParadoxy/mathlib4/blob/restricted-stub/Mathlib/LinearAlgebra/PiTensorProduct/Restricted.lean --- - [x] depends on: #32598 [![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
19-10226
19 days ago
159-20948
159 days ago
10-66980
10 days
37625 slavanaprienko
author:slavanaprienko
feat(LinearAlgebra/Matrix/Charpoly): general coefficient formula as sum of principal minors This PR adds a general formula for the coefficients of `det(1 + X • M)` as sums of principal minors, generalizing the existing `coeff_det_one_add_X_smul_one` (k=1, trace) and `det_eq_sign_charpoly_coeff` (k=n, determinant). It also derives the corresponding formula for the coefficients of the characteristic polynomial via `charpolyRev`. New results: - `det_piecewise_one_eq_submatrix_det`: relates piecewise-with-identity to principal submatrix determinants - `coeff_det_one_add_X_smul_eq_sum_minors`: the k-th coefficient of `det(1 + X • M)` equals the sum of k×k principal minors - `charpoly_coeff_eq_sum_minors`: coefficients of the characteristic polynomial as signed sums of principal minors --- t-algebra new-contributor ready-to-merge
label:t-algebra$
105/1 Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean 1 28 ['eric-wieser', 'github-actions', 'kim-em', 'mathlib-bors', 'slavanaprienko', 'wwylele'] nobody
19-8485
19 days ago
19-65060
19 days ago
37-17965
37 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
19-2231
19 days ago
50-14334
50 days ago
13-62238
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
18-78748
18 days ago
19-74669
19 days ago
19-74661
19 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
18-60101
18 days ago
unknown
0-0
0 seconds
39239 alainchmt
author:alainchmt
feat(FieldTheory/Finite): irreducible polynomial divides X^q^n - X iff degree divides n --- Add the theorem saying that, for an irreducible polynomial `f` over a finite field `K`, the degree of `f` divides `n` if and only if `f` divides `X ^ (Nat.card K) ^ n - X`. Include auxiliary lemmas. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
34/0 Mathlib/FieldTheory/Finite/Extension.lean,Mathlib/FieldTheory/Minpoly/Field.lean 2 2 ['github-actions'] nobody
18-47921
18 days ago
18-48010
18 days ago
18-48002
18 days
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
18-39524
18 days ago
19-49167
19 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
18-39522
18 days ago
19-49252
19 days ago
0-2608
43 minutes
38887 Rosario-Leonardi-CT
author:Rosario-Leonardi-CT
feat(Analysis/Fourier/ZMod): add dft_star_comp Adds `ZMod.dft_star_comp`, expressing that `𝓕 (star ∘ Φ) k = star (𝓕 Φ (-k))`, the discrete analogue of the Fourier transform's interaction with complex conjugation, complementing the existing `dft_comp_neg`. --- AI disclosure: lemma statement and proof drafted with assistance from Claude Code; verified by the Lean compiler with no `sorry` and standard axioms only (`propext`, `Classical.choice`, `Quot.sound`). t-analysis new-contributor awaiting-author 9/0 Mathlib/Analysis/Fourier/ZMod.lean 1 8 ['Rosario-Leonardi-CT', 'github-actions', 'wwylele'] j-loreaux
assignee:j-loreaux
18-24520
18 days ago
22-18338
22 days ago
5-6447
5 days
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
17-28011
17 days ago
17-6180
17 days ago
8-31594
8 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
17-25363
17 days ago
17-25442
17 days ago
17-25924
17 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
17-16973
17 days ago
17-17009
17 days ago
40-14738
40 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
17-15874
17 days ago
25-17310
25 days ago
64-31147
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
16-83234
16 days ago
23-47812
23 days ago
49-27660
49 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
16-80844
16 days ago
57-17064
57 days ago
16-40743
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
16-77786
16 days ago
16-80478
16 days ago
16-80470
16 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
16-33039
16 days ago
unknown
0-0
0 seconds
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
16-24368
16 days ago
57-30178
57 days ago
52-59724
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
16-16325
16 days ago
18-55682
18 days ago
35-12445
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
15-74315
15 days ago
16-10389
16 days ago
16-10381
16 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
15-57592
15 days ago
16-5122
16 days ago
0-355
5 minutes
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
15-36119
15 days ago
439-27628
439 days ago
3-8649
3 days
39270 m13683320924-hue
author:m13683320924-hue
feat: prove strict group homs are stable under Prod.map This PR proves that strict group homomorphisms are stable under product maps. It adds an auxiliary lemma showing that the range restriction of a strict group homomorphism is an open quotient map, and uses it to prove that `MonoidHom.prodMap` preserves `Topology.IsStrictMap`. Towards #38421. t-topology new-contributor 44/0 Mathlib/Topology/Algebra/Group/Basic.lean 1 7 ['eric-wieser', 'github-actions', 'm13683320924-hue'] nobody
15-20472
15 days ago
18-9886
18 days ago
0-1401
23 minutes
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
14-74828
14 days ago
unknown
0-0
0 seconds
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
14-58038
14 days ago
14-58110
14 days ago
14-59742
14 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
13-75018
13 days ago
13-75018
13 days ago
51-45866
51 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
12-65853
12 days ago
12-65853
12 days ago
46-77067
46 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
12-54041
12 days ago
12-54041
12 days ago
56-74567
56 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
12-45617
12 days ago
59-26254
59 days ago
2-57577
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
12-38061
12 days ago
12-38061
12 days ago
59-48094
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
12-25844
12 days ago
12-25846
12 days ago
6-79087
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
12-25283
12 days ago
12-39442
12 days ago
130-57925
130 days
39269 godofecht
author:godofecht
feat(Algebra/Spectrum): add the second resolvent identity Adds `spectrum.resolvent_sub_resolvent`: For `a b : A` in an `R`-algebra and `r` in the resolvent set of both, `resolvent a r - resolvent b r = resolvent a r * (a - b) * resolvent b r`. Companion to `spectrum.resolvent_eq`. t-algebra new-contributor
label:t-algebra$
15/0 Mathlib/Algebra/Algebra/Spectrum/Basic.lean 1 3 ['github-actions', 'wwylele'] nobody
12-23835
12 days ago
18-12000
18 days ago
18-11992
18 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
12-16382
12 days ago
12-18423
12 days ago
16-28794
16 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
12-12155
12 days ago
12-12156
12 days ago
44-66371
44 days
35017 robo7179
author:robo7179
feat(Combinatorics/SimpleGraph/Acyclic): every nontrivial tree has at least two leaves Add two theorems to prove that every non trivial tree has at least two leaves (one in Finite the other in Acyclic). --- - [ ] depends on: #37399 - [ ] depends on: #37400 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor awaiting-author blocked-by-other-PR 24/0 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean 2 44 ['IvanRenison', 'SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'robo7179'] YaelDillies
assignee:YaelDillies
11-84245
11 days ago
74-23187
74 days ago
35-3753
35 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
11-79645
11 days ago
57-49030
57 days ago
115-32489
115 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
11-78405
11 days ago
72-32072
72 days ago
9-69432
9 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
11-39565
11 days ago
11-45450
11 days ago
0-121
2 minutes
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
11-30917
11 days ago
11-46968
11 days ago
11-47574
11 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
11-29201
11 days ago
11-44791
11 days ago
0-2171
36 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
11-22876
11 days ago
20-28050
20 days ago
52-28338
52 days
38869 TJHeeringa
author:TJHeeringa
feat(Analysis/InnerProductSpace): Add instance for quotient of InnerProductSpace --- Couldn't find the inner product space instance for a quotient of an inner product space. After confirming at [#Is there code for X? > Quotient of inner product space is inner product space](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Quotient.20of.20inner.20product.20space.20is.20inner.20product.20space/with/592464432), I made this PR. Defines an innerProductSpace instance on the quotient based on the isometry with the orthogonal complement, which is a closed subspace of the full space and thus has an innerProductSpace instance. AI usage: Didn't understand how to properly apply `quotient_norm_mk_eq K.toAddSubgroup x`. Claude suggested using convert. Otherwise no AI used, aside from acting as secondary Loogle. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor delegated 59/0 Mathlib/Analysis/InnerProductSpace/ProdL2.lean 1 39 ['TJHeeringa', 'github-actions', 'j-loreaux', 'mathlib-bors', 'themathqueen', 'wwylele'] j-loreaux
assignee:j-loreaux
11-22598
11 days ago
11-22598
11 days ago
14-47986
14 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
11-22003
11 days ago
102-28445
102 days ago
39-35999
39 days
38584 TJHeeringa
author:TJHeeringa
feat(Analysis/InnerProductSpace/Reproducing): Add outerKernel, mem_iff --- Adds the `outerKernel` definition and the theorem `mem_iff`. These are needed for proving statements involving embeddings of RKHS. I can split `mem_of_posSemidef` and `mem_iff` off into a different pull request if that is preferred. The theorems `mem_of_posSemidef` and `posSemidef_of_mem` are the two directions of `mem_iff`. `posSemidef_of_mem` is slightly stronger than the converse direction of `mem_iff` in the sense that it also specifies the constant `c` in the statement. The specified `c` is in fact the smallest possible `c` for which the statement holds. The statement `mem_of_posSemidef` proves `∃ (g : H), (g : X → V) = f`. We could instead write `f ∈ (coeCLM 𝕜 (H:=H)).range`. Making this change would require the addition of the line `simp only [LinearMap.mem_range, coe_coe, coeCLM_apply]` in the beginning of the proof. The full beginning is then ``` lemma mem_of_posSemidef (f : X → V) {c : ℝ} (hc : ((c : 𝕜) ^ 2 • kernel H - outerKernel 𝕜 f).PosSemidef) : f ∈ (coeCLM 𝕜 (H:=H)).range := by simp only [LinearMap.mem_range, coe_coe, coeCLM_apply] let Laux : ... ``` Making a `MemRKHS` like MemLp and MemSobolev and then writing `MemRKHS H f` is also an option. Happy to change it to whatever is preferred. The proof of `mem_of_posSemidef` is based on the idea that any function f in the RKHS satisfies `=\sum_{n} ` for `x_n\in X` and `v_n\in V` by the reproducing property. We define the operator L(\sum_n K(\cdot,x_n)v_n) = \sum_{n} . This is bounded by the condition based on the kernels, and thus extends to a bounded linear operator on the RKHS. Its Riesz' representer agrees pointwise with f. AI: When asking how to avoid Classical.choose in constructing the operator L, Claude suggested the approach of going through the quotient. I made the proof using Claude as supplementary Loogle. Afterwards, I asked it to help shorted the proofs. Some suggestions for `mem_of_posSemidef` were applied. The other suggestions were not helping or not correct. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor awaiting-author 122/1 Mathlib/Analysis/InnerProductSpace/Reproducing.lean 1 12 ['TJHeeringa', 'github-actions', 'j-loreaux', 'themathqueen'] j-loreaux
assignee:j-loreaux
11-18639
11 days ago
11-18639
11 days ago
22-2608
22 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
10-78110
10 days ago
34-164
34 days ago
44-33169
44 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
10-78106
10 days ago
47-11187
47 days ago
47-11942
47 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
10-78097
10 days ago
16-18762
16 days ago
16-18754
16 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
10-78096
10 days ago
16-9897
16 days ago
16-10709
16 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
10-78094
10 days ago
15-55756
15 days ago
15-56812
15 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
10-74561
10 days ago
unknown
0-0
0 seconds
38369 quantumsnow
author:quantumsnow
feat(AlgebraicTopology): Eilenberg Steenrod axioms This introduces the Eilenberg-Steenrod axioms for a homology theory. --- - [x] depends on: #36621 - [ ] depends on: #39236 [![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
10-43897
10 days ago
18-50193
18 days ago
3-44318
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
10-41199
10 days ago
10-41199
10 days ago
10-41191
10 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
10-37693
10 days ago
17-5769
17 days ago
17-5761
17 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
10-32464
10 days ago
19-2039
19 days ago
19-2031
19 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
10-31734
10 days ago
10-44287
10 days ago
10-45909
10 days
39236 quantumsnow
author:quantumsnow
feat(AlgebraicTopology): `HomologyPretheory` for Eilenberg-Steenrod homology This splits out a part of #38369 into a separate PR. It includes a structure `TopPair.HomologyPretheory` containing the data for an Eilenberg-Steenrod homology theory and the first Eilenberg-Steenrod axiom as a typeclass `EilenbergSteenrod.IsHomotopyInvariant`. --- [![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
10-25259
10 days ago
10-25259
10 days ago
2-50409
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
9-79643
9 days ago
41-32794
41 days ago
86-39769
86 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
9-78055
9 days ago
14-13085
14 days ago
14-13077
14 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
9-31499
9 days ago
9-31500
9 days ago
42-10925
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
9-30976
9 days ago
9-30976
9 days ago
10-9493
10 days
39586 thomaskwaring
author:thomaskwaring
feat: GraphLike typeclass A proposal for a typeclass representing `GraphLike` objects. This is axiomatised in terms of a relations `IsSource` and `IsTarget` between edges and vertices, as well as `IsLink` to represent walks of length one. [![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
9-28845
9 days ago
unknown
0-0
0 seconds
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
9-23630
9 days ago
21-5863
21 days ago
37-52904
37 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
8-79642
8 days ago
76-63863
76 days ago
76-63855
76 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
8-62474
8 days ago
8-75944
8 days ago
0-14741
4 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
8-53735
8 days ago
unknown
0-0
0 seconds
39687 TentativeConvert
author:TentativeConvert
feat(Algebra/Group/Submonoid): type class to indicate that supremum in a SubmonoidClass agrees with supremum of submonoids Add a type class `SubmonoidClass.IsConcreteSSup` to indicate that the canonical map `.ofClass` from a class `S` of submonoids of `M` to `Submonoid M` preserves suprema. --- This PR implements the minimal type class assumption needed to make „pushfoward of gradings along maps of indexing sets“ – see draft PR #39356 – work in some `SetLike` generality. Given `{S M : Type*} [SetLike S M] [Monoid M] [SubmonoidClass S M]`, we have canonical maps ``` S → Submonoid M → Set M ``` The first is `Submonoid.ofClass`, the second and the composition are `coe` maps coming from the `SetLike` structures. Depending on `S`, these maps may or may not satisfy various properties with respect the lattice structures on `Submonoid M` and `Set M`. Mathlib so far includes the type class `[IsConcreteLE S M]`, which asserts that the composition `S → Set M` is order-preserving and order-reflecting. The type class defined here asserts that the first map, `S → Submonoid M`, preserves suprema. In examples such as `S = Subgroup M`, `S = Submodule R M`, much more is true – in these cases, `S` is a complete sublattice of `Submonoid M`. But there are also examples where only the weaker property defined here holds, e.g. `S = OpenSubgroup M` for a topological group `M`. Note on `outParam`: I did *not* write `(M : outParam Type*)` in the assumptions of `SubmonoidClass.IsConcreteSSup` in accordance with the [DocString of `Setlike`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/SetLike/Basic.html#SetLike). However, we do have `(B : outParam Type*)` in the definition of `IsConcreteLE`, so perhaps I'm misinterpreting the DocString. [![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
8-48036
8 days ago
8-48105
8 days ago
8-48697
8 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
8-31059
8 days ago
11-6341
11 days ago
0-7869
2 hours
37718 SabrinaJewson
author:SabrinaJewson
feat(Order): add conversions from `Std` order typeclasses to Mathlib ones `{Preorder, PartialOrder, LinearOrder}.ofStd` exist to facilitate convenient translation from `Std` order typeclasses to Mathlib ones. The design is modelled closely after [`Init.Data.Order.PackageFactories`](https://leanprover-community.github.io/mathlib4_docs/Init/Data/Order/PackageFactories.html) (`Std.PreorderPackage` is equivalent-ish to Mathlib’s `Preorder`, and same for partial and linear orders). The `OfStdArgs` types allow conveniently bundling a whole bunch of default arguments together in a way that allows one default argument set to `extends` another. --- [![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
8-8353
8 days ago
9-149
9 days ago
53-80883
53 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
8-1368
8 days ago
8-32928
8 days ago
8-34975
8 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
7-79645
7 days ago
94-19100
94 days ago
96-53378
96 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
7-78471
7 days ago
31-32594
31 days ago
97-31399
97 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
7-54160
7 days ago
11-31779
11 days ago
11-74026
11 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
7-53990
7 days ago
unknown
0-0
0 seconds
39734 allenhaozhu
author:allenhaozhu
feat(Analysis/CStarAlgebra/CStarMatrix): operator-monotone rpow/log/sqrt specializations Adds three discoverability lemmas for operator-monotonicity on `CStarMatrix n n A`, specializing the existing C\*-algebra-level results from `CFC.monotone_rpow` / `CFC.log_monotoneOn` / `CFC.monotone_sqrt`: ``` CStarMatrix.monotone_rpow {p : ℝ} (hp : p ∈ Set.Icc 0 1) : Monotone (fun M : CStarMatrix n n A => M ^ p) CStarMatrix.log_monotoneOn : MonotoneOn (CFC.log : CStarMatrix n n A → CStarMatrix n n A) {M | IsStrictlyPositive M} CStarMatrix.monotone_sqrt : Monotone (CFC.sqrt : CStarMatrix n n A → CStarMatrix n n A) ``` In the course of implementing these specializations, three shortcut instances are also registered to bypass a typeclass-diamond issue. `CStarMatrix n n A` derives `CStarAlgebra` from the underlying `CStarAlgebra A`, but the typeclass search for `ContinuousFunctionalCalculus ℝ (CStarMatrix n n A) IsSelfAdjoint` does not find the path through the `Matrix` diamond automatically. Explicit shortcut instances enable ergonomic use of `CFC.rpow`, `CFC.log`, etc.: ``` instance instContinuousFunctionalCalculusRealIsSelfAdjoint instance instNonUnitalContinuousFunctionalCalculusRealIsSelfAdjoint instance instNonnegSpectrumClassReal ``` **Reviewer note:** I am NOT attached to this PR — if reviewers prefer that downstream users call `CFC.monotone_rpow` directly and accept the typeclass-search cost, please close. The PR is offered as a convenience on the assumption that matrix-shaped users may search the matrix namespace first and benefit from the diamond shortcut. The shortcut instances may also belong in a separate PR if reviewers prefer. Extracted from LTFP-Lean (mechanical formalization of Bach's *Learning Theory from First Principles*), where matrix-side ergonomics matter for downstream proofs. --- ## AI-assistance disclosure Per the Mathlib [AI-use policy](https://leanprover-community.github.io/contribute/index.html#use-of-ai): - **Tool.** Claude Code (Anthropic) with the Claude Opus 4.7 model. - **Use.** I specified the three target specialization lemmas. The assistant placed them in the right file, discovered the typeclass-diamond issue while implementing (adding 3 shortcut instances to resolve it), drafted the proofs, and verified the build under `lake build Mathlib.Analysis.CStarAlgebra.CStarMatrix.OperatorMonotone`. I reviewed the final code. - **Vouching.** I have read the declarations and can defend the proofs without further AI assistance. I welcome reviewer feedback on: - whether the three specialization lemmas justify their own file or should be merged into `CStarMatrix.lean` - whether the typeclass-diamond shortcut instances belong in this PR or a separate one - whether the convenience-layer is justified at all vs. having downstream users call `CFC.*` directly t-analysis new-contributor LLM-generated 101/0 Mathlib.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix/OperatorMonotone.lean 2 2 ['github-actions'] nobody
7-53960
7 days ago
unknown
0-0
0 seconds
39733 allenhaozhu
author:allenhaozhu
feat(LinearAlgebra/Matrix): nonsingular inverse commutes with any monoid hom of matrix rings Adds `Matrix.map_nonsing_inv`: for any `MonoidHomClass` morphism `f : Matrix n n R →* Matrix n n S` between matrix rings over commutative rings, and any `A : Matrix n n R` with `IsUnit A.det`, ``` (f A)⁻¹ = f A⁻¹ ``` The proof is short: `Matrix.inv_eq_right_inv` plus the fact that `f` preserves `*` and `1`: ```lean theorem map_nonsing_inv (f : F) {A : Matrix n n R} (hA : IsUnit A.det) : (f A)⁻¹ = f A⁻¹ := by apply Matrix.inv_eq_right_inv rw [← map_mul, Matrix.mul_nonsing_inv A hA, map_one] ``` Since `RingHom`, `RingEquiv`, `AlgHom`, `AlgEquiv`, and `StarAlgEquiv` between matrix rings all provide `MonoidHomClass` instances, the lemma applies uniformly to all of them — in particular to `Unitary.conjStarAlgAut`-style conjugations by a unitary matrix, which is the original motivating use case. This came up in a downstream project (mechanical formalization of Bach's *Learning Theory from First Principles*), where it underpins a spectral-identity proof: `(U * X * star U)⁻¹ = U * X⁻¹ * star U` for unitary `U` and invertible `X`. Rather than special-case the unitary-conjugation version, I generalized to any `MonoidHomClass` since the proof works mechanically. ### Why not just `map_inv`? The generic `map_inv` discharges `⁻¹` through a `MonoidHom` between groups, but `Matrix n n R` is not a group under multiplication — `⁻¹` here is `Matrix.nonsing_inv` (adjugate / det), which is only a two-sided inverse on the submonoid of nonsingular matrices. So `map_inv` doesn't apply directly; we need the `IsUnit A.det` hypothesis and a custom proof routed through `Matrix.inv_eq_right_inv`. ### Tests - `lake build Mathlib.LinearAlgebra.Matrix.NonsingularInverse` — green - `lake build Mathlib.Analysis.Matrix.Spectrum Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs` — green (downstream smoke check, no regressions) - Verified usability against both `RingEquiv` and `StarAlgEquiv` instances via local smoke tests ### Notes on AI assistance Per the Mathlib [AI-use policy](https://leanprover-community.github.io/contribute/index.html#use-of-ai): - **Tool.** Claude Code (Anthropic), Claude Opus 4.7 model. - **Use.** I specified the target statement (originally `ℝ`-specific to a unitary conjugation) and the scope of generalization. The assistant drafted the more general `MonoidHomClass` version, chose the file home, verified the proof builds under `lake build`, and tested downstream files for regressions. I reviewed the proof, naming, and file placement. - **Vouching.** I have read the declaration and can defend the proof without further AI assistance. Happy to take reviewer feedback on naming (`map_nonsing_inv` vs alternatives), namespace placement, or whether the typeclass bound should be relaxed further (e.g. to `MulHomClass` if we can avoid `map_one` — though `map_mul` + `mul_nonsing_inv = 1` + applying `f` to `1` seems to genuinely require `OneHomClass` too). t-algebra new-contributor LLM-generated
label:t-algebra$
17/0 Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean 1 2 ['github-actions'] nobody
7-53943
7 days ago
unknown
0-0
0 seconds
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
7-43557
7 days ago
8-726
8 days ago
0-21857
6 hours
39698 RaggedR
author:RaggedR
feat(Archive): Meinhold family — five Sabidussi coset graphs of G₂(2) Five coset graphs of the exceptional Chevalley group G₂(2), each arising as Sab(G₂(2), K, D) for intermediate subgroups C₃ ≤ K ≤ G₂(2). The Clayworth graph (4032 vertices, cubic, genus 505) is the base case K = C₃. Meinhold-72 has 72 vertices, is 7-regular with girth 4, via K = PSL(3,2). Meinhold-504 has 504 vertices, is 24-regular with girth 4, via S₄. Meinhold-576 has 576 vertices, is 7-regular with girth 6, via C₇:C₃. Meinhold-1344 has 1344 vertices, is 9-regular with girth 6, via C₃×C₃. Meinhold-2016 has 2016 vertices, is 6-regular with girth 8, via C₆. Each graph has a Sabidussi isomorphism proving arc-transitivity, is connected, and has a shortest cycle witness establishing the girth. ![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
7-43556
7 days ago
8-2977
8 days ago
0-33004
9 hours
39695 RaggedR
author:RaggedR
feat(Archive): Zhou-3 arc-transitivity and Lorimer quotient to Zhou-6 The Zhou-3 graph (Foster census F182A, 182 vertices, cubic) has an imprimitive block system of 91 blocks of size 2. This PR proves the block system is invariant under the full PSL(2,13) action via closure induction on the generators, with a pigeonhole argument for the inverse case. The setwise stabilizer of the block containing vertex 0 is D₁₂ (dihedral of order 12), which contains the point stabilizer S₃ at index 2. With the block structure established, Lorimer's quotient theorem (from #39551) is instantiated for the first time on a concrete graph: the quotient of Sab(PSL(2,13), S₃, D) by D₁₂ is isomorphic to Sab(PSL(2,13), D₁₂, D₁₂·D·D₁₂). The two hypotheses — H ≤ K and D ∩ K = ∅ — are verified, the first using the closure block invariance theorem and the second by observing that any element of K maps vertex 0 into {0, 137}, but neither is a neighbor of 0. Arc-transitivity of Zhou-3 is proved via Lorimer's forward theorem: the connection set is a single double coset S₃·a·S₃ where a is an explicit involution (a word of length 9 in the generators) that swaps vertex 0 with its neighbor 3. ![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
7-43555
7 days ago
8-31216
8 days ago
0-2819
46 minutes
39654 RaggedR
author:RaggedR
feat(Archive): CellularSurface instances (genus 1, 2, 3, 505) This PR provides concrete CellularSurface instances for the four CSS surface codes: Heawood (genus 1), Bolza (genus 2), Klein quartic (genus 3), and Clayworth (genus 505). Each surface embeds a cubic arc-transitive graph arising from a Sabidussi coset construction, and the chain complex d1, d2 satisfies the boundary condition d1 · d2 = 0 that gives the CSS orthogonality. Together with #39653, which proves that k = 2g for any surface tiling, these instances yield formally verified CSS codes with parameters [[21, 2]], [[24, 4]], [[84, 6]], and [[6048, 1010]] respectively. The Heawood and Bolza surfaces are small enough that all axioms are verified by decide. Both include bridge theorems proving the CellularSurface graph matches the corresponding voltage graph on K₂ from VoltageGraphs.lean. The Klein quartic embeds the Klein graph (56 vertices) from the triangle group Δ(2,3,7) acting on PSL(2,7), with a Sabidussi proof. The Clayworth surface is the interesting case: 4032 vertices, 6048 edges, 1008 dodecagonal faces, genus 505. Rather than storing tens of thousands of array entries, the construction works algebraically from the regular representation of G₂(2) on 12096 darts, using a general TriangleGroupSurface module that derives a CellularSurface from any finite quotient of Δ(2,3,r). The key identity is that T = RS implies the far endpoint of each dart has the same vertex as its R-successor, because S preserves vertex cosets. There are five sorrys. Four are dual graph regularity theorems (Heawood 6-regular, Bolza 8-regular, Klein 7-regular, Clayworth 12-regular), all of which should be closable by native_decide. The fifth is the Clayworth Sabidussi isomorphism, where the individual native_decide checks all pass but the kernel struggles to assemble the SabidussiWitness structure for 4032 vertices. These are left for a follow-up. ![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
7-43554
7 days ago
8-22350
8 days ago
0-57608
16 hours
39653 RaggedR
author:RaggedR
feat(Combinatorics): cellular surfaces, CSS quantum codes, and k = 2g This formalises CSS quantum error-correcting codes from surface tilings, following Breuckmann & Terhal (arXiv:1506.04029). CellularSurface encodes the combinatorial data of a 2-cell embedding of a graph on a closed surface: vertices, edges with endpoints, and faces whose boundaries are closed directed trails. The boundary operators ∂₁ (vertex-edge incidence) and ∂₂ (edge-face boundary) are matrices over F₂. The theorem `d1_mul_d2_eq_zero` proves ∂₁ ∘ ∂₂ = 0 (the chain complex condition) from the closed walk axiom: each vertex in a face boundary is visited an even number of times, so the sum vanishes in characteristic 2. The theorem `d1_rank_eq` proves rank(∂₁) = V − 1 for connected graphs — the kernel of ∂₁ᵀ is span{1} because elements of the kernel assign equal values to adjacent vertices, and connectivity propagates this to all vertices. The theorem `d2_rank_eq` proves rank(∂₂) = F − 1 for connected dual graphs with the two-sides condition (each edge borders exactly 2 faces). The main result `css_k_eq_2g` gives the number of logical qubits k = 2g. This is pure arithmetic: k = E − rank(∂₁) − rank(∂₂) = E − (V−1) − (F−1) = E − V − F + 2 = 2g by Euler's formula. No `native_decide` — all proofs are structural. --- LLM tools were used to assist with Lean formalization. The mathematical content is the author's own work. t-combinatorics new-contributor LLM-generated 1236/0 Mathlib.lean,Mathlib/Combinatorics/CellularSurface.lean,Mathlib/Combinatorics/SimpleGraph/Action.lean,Mathlib/Combinatorics/SimpleGraph/CosetGraph.lean,Mathlib/Combinatorics/SimpleGraph/QuotientGraph.lean,Mathlib/Combinatorics/SimpleGraph/Representation.lean,Mathlib/Combinatorics/SimpleGraph/Symmetric.lean 7 7 ['RaggedR', 'github-actions', 'mathlib-bors'] nobody
7-43552
7 days ago
7-43554
7 days ago
1-75937
1 day
39651 RaggedR
author:RaggedR
feat(Archive): voltage graphs on K₂, Heawood and Möbius-Kantor graphs This defines `voltageGraphK2`, a cubic covering construction on K₂ with cyclic voltage group `ZMod m`. Vertices are `Fin 2 × ZMod m`, with edges `(0, g) ~ (1, g + vⱼ)` for three voltages. Two instances are provided. The Heawood graph (F014A) is `voltageGraphK2 7 0 4 6`, the Levi graph of the Fano plane PG(2,2): 14 vertices, cubic, girth 6, equal to Sab(G₄₂, C₃) where G₄₂ = Z₇ ⋊ Z₆. The Möbius-Kantor graph (F016A) is `voltageGraphK2 8 0 1 3`, the generalised Petersen graph GP(8,3): 16 vertices, cubic, girth 6, equal to Sab(GL(2,3), C₃). Both quotient to K₂ under the fibre projection `Prod.fst`, recovering the base graph. ![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
7-43551
7 days ago
7-43553
7 days ago
1-50237
1 day
39650 RaggedR
author:RaggedR
feat(Archive): dodecahedron, Petersen graph, 3-cube, and antipodal quotients This defines the dodecahedron graph (Fin 20, 3-regular, 30 edges), the Petersen graph (Fin 10, as the antipodal quotient of the dodecahedron), and the 3-cube Q₃ (Fin 8, 3-regular, 12 edges) with its antipodal quotient proved equal to K₄. The Petersen graph is defined as `dodecahedronGraph.quotientGraph dodecAntipodalMap`, using the quotient graph infrastructure from #39551. The antipodal involution on the dodecahedron identifies each vertex with the vertex at distance 5 (diametrically opposite). The 3-cube's antipodal involution (bitwise complement) quotients to K₄ = ⊤. ![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
7-43550
7 days ago
7-43552
7 days ago
1-81310
1 day
39649 RaggedR
author:RaggedR
feat(Archive): Langer graph, Tutte 12-cage, and structural equality via G₂(2) This adds three constructions from the theory of generalized polygons over finite fields to Archive/, and proves they give the same graph using the Sabidussi representation theorem from #39548 and #39550. The Langer graph (63 vertices, 6-regular) is the collinearity graph of the split Cayley hexagon GH(2,2). It has three independent definitions: algebraically via the Zorn product on Q(6,2) (`langerSimpleGraph`), geometrically as the distance-2 graph of the Tutte 12-cage restricted to points (`tutte12Distance2Graph`), and group-theoretically as the coset graph Sab(G₂(2), H₁₉₂, D) where H₁₉₂ is the point stabiliser of order 192 (`langerCosetGraph`). The main result `langer_iso_tutte12_distance2` proves the algebraic and geometric definitions are isomorphic by composing two Sabidussi isos through a common coset graph. Both graphs are G₂(2)-invariant and arc-transitive, so `sabidussiIso` maps each to Sab(G₂(2), Stab(0), D). Since they have the same 6 neighbors at vertex 0, their connection sets are equal (`dist2_connectionSet_eq`), so both map to the same coset graph. The proof is `langerSabidussiIso.trans dist2SabidussiIso.symm`. ![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
7-43549
7 days ago
7-43550
7 days ago
1-57766
1 day
39636 RaggedR
author:RaggedR
feat(RingTheory/HopfAlgebra): ascending Pochhammer is of binomial type This adds two concrete examples to the delta operator framework from #39465, illustrating the change of basis between the two classical families of binomial-type sequences beyond the monomials. The first file proves that the ascending Pochhammer (rising factorial) sequence is of binomial type. The backward difference operator ∇f(x) = f(x) − f(x−1) is defined, shown to be a delta operator, and the ascending Pochhammer sequence is verified as its basic sequence via a telescoping argument. The final theorem `ascPochhammer_isBinomialType` is a one-line application of Rota's classification from #39465, complementing the existing `descPochhammer_isBasicSequence_forwardDiff` for falling factorials and the forward difference. The second file computes the Jabotinsky matrix entries of the geometric delta series y/(1−y), giving the unnormalized Lah numbers C(n−1, k−1) as the change-of-basis coefficients between rising and falling factorials. The proof factors the power (y/(1−y))ᵏ = Xᵏ · (1−X)⁻ᵏ and applies Mathlib's existing `mk_one_pow_eq_mk_choose_add` for the negative binomial series. --- - [ ] depends on: #39465 --- LLM tools were used to assist with Lean formalization. The mathematical content is the author's own work. t-ring-theory new-contributor blocked-by-other-PR LLM-generated 1596/0 Mathlib.lean,Mathlib/RingTheory/HopfAlgebra/AscPochhammer.lean,Mathlib/RingTheory/HopfAlgebra/BinomialType.lean,Mathlib/RingTheory/HopfAlgebra/DeltaOperator.lean,Mathlib/RingTheory/HopfAlgebra/Lah.lean,Mathlib/RingTheory/HopfAlgebra/Polynomial.lean 6 9 ['RaggedR', 'github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'themathqueen'] nobody
7-43547
7 days ago
9-74713
9 days ago
0-211
3 minutes
39551 RaggedR
author:RaggedR
feat(Combinatorics/SimpleGraph): Lorimer's theorem and quotient graphs This completes the algebraic theory of symmetric graphs by proving Lorimer's theorem (both directions) and the Lorimer quotient theorem, building on the Sabidussi representation theorem from #39550. Lorimer's theorem characterizes symmetric (arc-transitive) graphs in terms of coset graphs. The forward direction shows that Sab(G, H, HaH) is arc-transitive whenever a is an involution not in H. The proof establishes local transitivity at the identity coset by exploiting the double coset decomposition of neighbors, then transports it to all vertices by conjugation. The reverse direction shows that every arc-transitive graph's connection set is a single double coset GᵥaGᵥ, where a is the element swapping an arc (v, w). This a satisfies a ∉ Gᵥ and a² ∈ Gᵥ. The quotient theorem shows that the quotient of Sab(G, H, D) by an overgroup K ≥ H (with D ∩ K = ∅) is isomorphic to Sab(G, K, KDK) where KDK is the expanded connection set. The isomorphism is witnessed by Equiv.refl — the quotient graph and the coset graph with expanded connection set are the same graph up to the identity map on G ⧸ K. Together with #39530, #39548, and #39550, this gives a complete formalization of Chapters 1–2 of arXiv:1306.4798. Depends on #39550. --- LLM tools were used to assist with Lean formalization. The mathematical content is the author's own work. t-combinatorics new-contributor LLM-generated 755/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Action.lean,Mathlib/Combinatorics/SimpleGraph/CosetGraph.lean,Mathlib/Combinatorics/SimpleGraph/QuotientGraph.lean,Mathlib/Combinatorics/SimpleGraph/Representation.lean,Mathlib/Combinatorics/SimpleGraph/Symmetric.lean 6 5 ['RaggedR', 'github-actions', 'mathlib-bors'] nobody
7-43546
7 days ago
7-43548
7 days ago
4-51374
4 days
39550 RaggedR
author:RaggedR
feat(Combinatorics/SimpleGraph): Sabidussi representation theorem This proves Sabidussi's representation theorem: if a group G acts transitively on the vertices of a graph Γ while preserving adjacency, then Γ is isomorphic to the coset graph `Sab(G, Gᵥ, D)` where `Gᵥ` is the stabilizer of a basepoint and `D = {g ∈ G : Γ.Adj v (g • v)}` is the connection set. For arc-transitive (symmetric) graphs, the connection set D is a single double coset HaH, giving the classical Sabidussi coset graph Sab(G, H, HaH). For merely vertex-transitive graphs, D may be a union of several double cosets. The connection set D is shown to satisfy the IsConnectionSet axioms for the stabilizer subgroup: it is stable under left and right multiplication by stabilizer elements (since the stabilizer fixes v and the action preserves adjacency), closed under inversion (since the graph is undirected), and disjoint from the stabilizer (since the graph has no loops). The orbit-stabilizer equivalence V ≃ G ⧸ Gᵥ is then shown to preserve adjacency in both directions, completing the isomorphism. The definitions and proofs are from my honours thesis (*Symmetric Graphs and their Quotients*, arXiv:1306.4798). Depends on #39548. --- LLM tools were used to assist with Lean formalization. The mathematical content is the author's own work. t-combinatorics new-contributor LLM-generated 423/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Action.lean,Mathlib/Combinatorics/SimpleGraph/CosetGraph.lean,Mathlib/Combinatorics/SimpleGraph/Representation.lean 4 5 ['RaggedR', 'github-actions', 'mathlib-bors'] nobody
7-43545
7 days ago
7-43547
7 days ago
4-52121
4 days
39548 RaggedR
author:RaggedR
feat(Combinatorics/SimpleGraph): coset graphs (Sabidussi construction) This adds coset graphs (Sabidussi's construction) to Mathlib, building on the graph action infrastructure from #39530. Given a group `G`, a subgroup `H`, and a connection set `D` (a union of `(H,H)`-double cosets, closed under inversion, disjoint from `H`), the coset graph `Sab(G, H, D)` is the simple graph on `G ⧸ H` where `xH` is adjacent to `yH` whenever `x⁻¹y ∈ D`. The well-definedness proof — that adjacency is independent of coset representatives — uses the double coset stability of `D`. This is the core algebraic content of the construction. The file then shows that left multiplication by `G` preserves adjacency (`graphAction` instance) and that coset graphs are vertex-transitive. When `H ≤ K`, the natural projection `G ⧸ H → G ⧸ K` is a graph homomorphism for coset graphs sharing the same connection set `D`. The proof of `proj_adj` is trivial — adjacency is `x⁻¹y ∈ D` in both graphs, independent of the subgroup. This is the Sabidussi analogue of quotient by a block system: the orbits of `K` on `G ⧸ H` form blocks of size `[K : H]`, and the quotient graph is `Sab(G, K, D)`. For example, the Zhou graph (F182A, Sab(PSL(2,13), S₃), 182 vertices, cubic) projects to the Zhou-6 graph (Sab(PSL(2,13), D₁₂), 91 vertices, 6-regular) via S₃ ≤ D₁₂, and the dodecahedron (Sab(A₅, C₃)) projects to the Petersen graph (Sab(A₅, D₆)) via C₃ ≤ D₆. Sabidussi's construction generalizes Cayley graphs (which are the special case `H = ⊥`). Together with the representation theorem (a future PR), it gives a complete classification: every vertex-transitive graph is isomorphic to a coset graph. The definitions and proofs are from my honours thesis (*Symmetric Graphs and their Quotients*, arXiv:1306.4798). Depends on #39530. --- LLM tools were used to assist with Lean formalization. The mathematical content is the author's own work. t-combinatorics new-contributor LLM-generated 304/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Action.lean,Mathlib/Combinatorics/SimpleGraph/CosetGraph.lean 3 5 ['RaggedR', 'github-actions', 'mathlib-bors'] nobody
7-43544
7 days ago
7-43545
7 days ago
4-52985
4 days
39498 RaggedR
author:RaggedR
feat(RingTheory/HopfAlgebra): umbral operators via generating functions ## Umbral operators via generating functions This PR completes the formalization of the finite operator calculus on `R[X]` over a ℚ-algebra. The entire umbral calculus — every theorem, every lemma, zero sorry's — is now machine-checked, from the coalgebra axioms (PR #39410) through Rota's classification (PR #39465) to the umbral operator and its duality theory. Given a delta operator `Q` on `R[X]`, the **delta series** `f(y) = Σ (Q(X^k)).eval 0 / k! · y^k` is a formal power series with zero constant term and unit linear coefficient. Its compositional inverse `g` (obtained via Mathlib's `substInvOfIsUnit`) encodes the **basic sequence**: the polynomial `p_n` has coefficients `(p_n).coeff k = descFact(n, n-k) · [y^n](g^k)`. The **umbral operator** `U_Q` is the linear extension of `X^n ↦ p_n`. The key result is the **lowering property** `Q(p_{n+1}) = (n+1) • p_n`. The proof uses the natural duality of the finite operator calculus — the derivative pairing `⟨h, p⟩ = Σ_k coeff_k(h) · k! · p.coeff k` between `R⟦X⟧` and `R[X]`. Under this pairing, Q's adjoint is multiplication by f (proved via the convolution formula for power series coefficients), orthogonality gives `⟨f^k, p_n⟩ = n! · δ_{kn}` (from the Jabotinsky matrix identity), and non-degeneracy closes it (upper-triangular with unit diagonal, by descending induction). Three lines of mathematics, backed by a clean chain of lemmas. Once lowering is established, `umbralPoly_isBasicSequence` follows immediately, and `IsBasicSequence.isBinomialType` (from #39465) gives the coalgebra endomorphism property — completing the circle back to the Hopf algebra structure. References: Langer, *Macdonald Polynomials and Symmetric Functions* (arXiv:0907.3950), §1.2.2; Roman, *The Umbral Calculus*, Academic Press 1984, Ch. 2. Depends on #39410, #39465. --- LLM tools were used to assist with Lean formalization. The mathematical content is the author's own work. t-ring-theory new-contributor LLM-generated 2141/0 Mathlib.lean,Mathlib/RingTheory/HopfAlgebra/BinomialType.lean,Mathlib/RingTheory/HopfAlgebra/DeltaOperator.lean,Mathlib/RingTheory/HopfAlgebra/Polynomial.lean,Mathlib/RingTheory/HopfAlgebra/UmbralOperator.lean 5 6 ['RaggedR', 'github-actions', 'mathlib-bors'] nobody
7-43541
7 days ago
7-43543
7 days ago
1-5628
1 day
39465 RaggedR
author:RaggedR
feat(RingTheory/HopfAlgebra): delta operators and Rota's classification This formalizes the fundamental theorem of the umbral calculus: that the basic sequence of any delta operator is a sequence of binomial type. A delta operator on R[X] is a shift-equivariant linear operator which is essentially a formal power series in the variable d/dx. Rota's classification theorem states that the images of monomials x^n under delta operators are sequences of binomial type. This PR defines `IsBinomialType`, `IsShiftEquivariant`, `IsDeltaOperator`, `forwardDiff`, and `IsBasicSequence`. It proves that monomials and falling factorials are of binomial type, that the derivative and forward difference are delta operators, and that basic sequences are of binomial type (Rota's classification). The mathematical content is from the first half of my masters thesis (arXiv:0907.3950). See also Rota, Kahaner, and Odlyzko, *Finite Operator Calculus* (JMAA 42, 1973) and Roman, *The Umbral Calculus* (Academic Press, 1984). Depends on #39410. --- LLM tools were used to assist with Lean formalization. The mathematical content is the author's own work. t-ring-theory new-contributor LLM-generated 1386/0 Mathlib.lean,Mathlib/RingTheory/HopfAlgebra/BinomialType.lean,Mathlib/RingTheory/HopfAlgebra/DeltaOperator.lean,Mathlib/RingTheory/HopfAlgebra/Polynomial.lean 4 8 ['RaggedR', 'github-actions', 'mathlib-bors', 'wwylele'] nobody
7-43540
7 days ago
7-43542
7 days ago
0-78931
21 hours
39530 RaggedR
author:RaggedR
feat(Combinatorics/SimpleGraph): group actions on simple graphs This adds the first connection between Mathlib's MulAction and SimpleGraph libraries. The GraphAction class asserts that a group action on the vertex type preserves the adjacency relation, and builds on it to define vertex-transitivity and arc-transitivity for graphs. The GraphAction typeclass gives adj_smul_iff (the biconditional for group actions) and toIso (each group element induces a graph automorphism). The IsVertexTransitive class combines GraphAction with IsPretransitive, and IsArcTransitive requires transitivity on ordered adjacent pairs (arcs). The main theorem is the standard characterization: a graph is arc-transitive if and only if it is vertex-transitive and locally transitive (the stabilizer of each vertex acts transitively on its neighbors). The forward direction is proved directly by composing a vertex-transporting element with a neighbor-transporting stabilizer element. The reverse direction shows that an arc-transitive graph with no isolated vertices is vertex-transitive. These definitions are the algebraic graph theory prerequisites for formalizing coset graphs (Sabidussi's construction) and the characterization of symmetric graphs via double cosets and involutions (Lorimer's theorem). --- LLM tools were used to assist with Lean formalization. The mathematical content is the author's own work. t-combinatorics new-contributor LLM-generated 130/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Action.lean 2 7 ['RaggedR', 'b-mehta', 'github-actions', 'mathlib-bors'] nobody
7-43528
7 days ago
7-43528
7 days ago
12-11970
12 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
7-41137
7 days ago
186-38365
186 days ago
6-25774
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
7-35728
7 days ago
7-37473
7 days ago
23-7234
23 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
7-21220
7 days ago
86-5753
86 days ago
4-30999
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
7-20268
7 days ago
19-22028
19 days ago
19-22020
19 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
7-19768
7 days ago
47-83335
47 days ago
0-3854
1 hour
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
7-19630
7 days ago
30-2306
30 days ago
7-85443
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
7-777
7 days ago
19-10734
19 days ago
20-48956
20 days

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
26911 JovanGerb
author:JovanGerb
chore: fix naming of `mono` and `monotone` The naming convention says: "We use `_mono` for `a ≤ b → f a ≤ f b` and `_anti` for `a ≤ b → f b ≤ f a`, so we also use `_monotone` for `Monotone f`, `_antitone` for `Antitone f`, `_strictMono` for `StrictMono f`, `_strictAnti` for `StrictAnti f`, etc..." This PR swaps `mono`/`anti` and `monotone`/`antitone` where required so that `monotone` refers to `Monotone`, while `mono` refers to a lemma that might be tagged with `@[gcongr]` This PR does not address - `monotone_right`/`mono_right` vs `right_monotone`/`right_mono` - `monotone_arcsin` vs `arcsin_monotone` edit: TODO: `ideal_mono` and friends --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) delegated merge-conflict 238/171 Archive/Imo/Imo1962Q1.lean,Archive/Wiedijk100Theorems/AbelRuffini.lean,Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Order/AddGroupWithTop.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Group/Basic.lean,Mathlib/Algebra/Order/Group/Finset.lean,Mathlib/Algebra/Order/Group/PosPart.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Pow.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Algebra/Polynomial/Degree/CardPowDegree.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Convex/Deriv.lean,Mathlib/Analysis/Normed/Order/UpperLower.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromConst.lean,Mathlib/Analysis/PSeries.lean,Mathlib/Analysis/Real/Pi/Bounds.lean,Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/Analysis/SpecificLimits/FloorPow.lean,Mathlib/Combinatorics/SetFamily/Kleitman.lean,Mathlib/Combinatorics/SimpleGraph/Girth.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean,Mathlib/Data/ENNReal/Inv.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/Data/ENat/Pow.lean,Mathlib/Data/Nat/Choose/Factorization.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean,Mathlib/LinearAlgebra/AffineSpace/AffineMap.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Basic.lean,Mathlib/MeasureTheory/Constructions/Polish/Basic.lean,Mathlib/MeasureTheory/MeasurableSpace/MeasurablyGenerated.lean,Mathlib/MeasureTheory/OuterMeasure/Operations.lean,Mathlib/NumberTheory/Bertrand.lean,Mathlib/NumberTheory/FermatPsp.lean,Mathlib/NumberTheory/Height/Basic.lean,Mathlib/NumberTheory/ModularForms/Bounds.lean,Mathlib/NumberTheory/Padics/Hensel.lean,Mathlib/NumberTheory/Padics/WithVal.lean,Mathlib/Order/Concept.lean,Mathlib/Order/Filter/AtTopBot/Archimedean.lean,Mathlib/Order/Filter/AtTopBot/Defs.lean,Mathlib/Order/Fin/Basic.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Heyting/Boundary.lean,Mathlib/Order/Heyting/Regular.lean,Mathlib/Order/Hom/Set.lean,Mathlib/Order/Interval/Set/Fin.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Order/UpperLower/Closure.lean,Mathlib/Probability/StrongLaw.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/FractionalIdeal/Basic.lean,Mathlib/RingTheory/WittVector/Basic.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean,Mathlib/Topology/MetricSpace/Antilipschitz.lean 59 11 ['JovanGerb', 'bryangingechen', 'github-actions', 'leanprover-community-bot-assistant', 'linesthatinterlace', 'mathlib-bors', 'mathlib-merge-conflicts'] bryangingechen
assignee:bryangingechen
322-76769
10 months ago
323-31368
323 days ago
2-55296
2 days
25737 robin-carlier
author:robin-carlier
feat(AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms): Normal forms for `P_δ`s We prove that admissible lists indeed provide a normal form for morphisms of satisfying `P_δ`. To this end, we introduce `standardδ`, a construction that takes a list and turn it into a composition of `δ i`s in `SimplexCategoryGenRel`. We then prove that, thanks to the first simplicial identity, composition on the left corresponds to simplicial insertion in the list. This gives existence of a normal form for every morphism satisfying `P_δ`. For unicity, we introduce an auxiliary function `simplicialEvalδ : (List ℕ) → ℕ → ℕ` and show that for admissible lists, it lifts to `ℕ` the `orderHom` attached to `toSimplexCategory.map standardδ`, and that we can recover elements of the list only by looking at values of this function. Part of a series of PR formalising that `SimplexCategoryGenRel` is equivalent to `SimplexCategory`. --- - [x] depends on: #25736 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #21746.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/21746* t-algebraic-topology delegated t-category-theory 182/2 Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms.lean 1 6 ['github-actions', 'joelriou', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
221-32567
7 months ago
222-24283
222 days ago
0-22513
6 hours
27180 ADedecker
author:ADedecker
feat: quotient of a monoid with zero by a multiplicative congruence --- My motivation is getting a more conceptual construction of [ValuativeRel.ValueGroupWithZero](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Valuation/ValuativeRel.html#ValuativeRel.ValueGroupWithZero), but I think this is of independent interest. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebra delegated
label:t-algebra$
141/26 Mathlib.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Congruence/GroupWithZero.lean 5 32 ['ADedecker', 'eric-wieser', 'github-actions', 'mathlib-bors', 'mathlib4-merge-conflict-bot', 'ocfnash'] ocfnash
assignee:ocfnash
211-34486
6 months ago
290-50021
290 days ago
28-12053
28 days
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
197-44488
6 months ago
351-30768
351 days ago
1-19951
1 day
25500 eric-wieser
author:eric-wieser
feat: delaborators for metadata Being able to see these is very important when debugging tactic failures. Probably these could be upstreamed, but I don't think that's a reason not to merge them here first. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import merge-conflict awaiting-author delegated t-meta 75/3 Mathlib/Util/Delaborators.lean,Mathlib/Util/PPOptions.lean,MathlibTest/delaborators.lean 3 19 ['JovanGerb', 'Rob23oba', 'eric-wieser', 'github-actions', 'kmill', 'mathlib-bors', 'mathlib4-merge-conflict-bot', 'plp127'] nobody
147-78202
4 months ago
275-22315
275 days ago
83-68773
83 days
31092 FlAmmmmING
author:FlAmmmmING
feat(Algebra/Group/ForwardDiff.lean): Add theorem `sum_shift_eq_fwdDiff_iter`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor delegated
label:t-algebra$
17/1 Mathlib/Algebra/Group/ForwardDiff.lean 1 20 ['BeibeiX0', 'FlAmmmmING', 'Ruben-VandeVelde', 'dagurtomas', 'github-actions', 'jcommelin', 'mathlib-bors', 'mathlib4-merge-conflict-bot'] nobody
128-29564
4 months ago
128-29564
128 days ago
54-22055
54 days
27702 amellendijk
author:amellendijk
feat(NumberTheory/SelbergSieve): define Lambda-squared sieves and prove important properties This PR continues the work from #22052. Original PR: https://github.com/leanprover-community/mathlib4/pull/22052 - [x] depends on: #27820 t-number-theory delegated merge-conflict 186/7 Mathlib/NumberTheory/SelbergSieve.lean 1 44 ['FLDutchmann', 'MichaelStollBayreuth', 'bryangingechen', 'github-actions', 'jcommelin', 'mathlib-bors', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
108-59595
3 months ago
170-55640
170 days ago
15-82750
15 days
24965 erdOne
author:erdOne
refactor: Make `IsLocalHom` take unbundled map Under the current definition, `IsLocalHom f` and `IsLocalHom f.toMonoidHom` are not defeq, which causes quite some annoyances. We also have a consensus to not use `*HomClass` in definitions. As a result, we change `IsLocalHom` to take an unbundled function instead of a funlike. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra delegated merge-conflict
label:t-algebra$
18/9 Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/Geometry/RingedSpace/LocallyRingedSpace.lean,Mathlib/Geometry/RingedSpace/OpenImmersion.lean,Mathlib/RingTheory/LocalRing/ResidueField/Basic.lean 5 15 ['adomani', 'alreadydone', 'erdOne', 'eric-wieser', 'github-actions', 'jcommelin', 'leanprover-community-bot-assistant', 'mathlib-bors', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'vihdzp'] mattrobball
assignee:mattrobball
101-84686
3 months ago
193-50455
193 days ago
24-84527
24 days
34932 erdOne
author:erdOne
feat(AlgebraicGeometry): formally etale morphisms --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry merge-conflict delegated 163/12 Mathlib.lean,Mathlib/AlgebraicGeometry/Morphisms/Etale.lean,Mathlib/AlgebraicGeometry/Morphisms/FormallyEtale.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/RingTheory/RingHom/Etale.lean 5 17 ['chrisflav', 'erdOne', 'github-actions', 'joneugster', 'mathlib-bors', 'mathlib-merge-conflicts', 'ocfnash'] nobody
92-78122
3 months ago
95-211
95 days ago
11-40391
11 days
31135 kckennylau
author:kckennylau
feat(RingTheory): is localization iff is localization on saturation In this PR we show that `A` is a localization of `R` on the submonoid `S` iff it is so on the saturation of `S`. Crucially, the saturation of `S` is precisely the elements that become a unit in `A`. --- - [x] depends on: #31132 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory delegated 53/0 Mathlib.lean,Mathlib/RingTheory/Localization/Saturation.lean 2 15 ['alreadydone', 'chrisflav', 'github-actions', 'kckennylau', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'riccardobrasca'] chrisflav
assignee:chrisflav
80-79647
2 months ago
53-46782
53 days ago
32-67213
32 days
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
80-57341
2 months ago
98-55277
98 days ago
0-35325
9 hours
31607 grunweg
author:grunweg
chore: rename `continuous{,On,At,Within}_const` to `ContinuousFoo.const` Zulip discussion: [#mathlib4 > Naming convention @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Naming.20convention/near/447491526) --- - [x] depends on: #34441 - [x] depends on: #34688 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) delegated merge-conflict awaiting-CI 352/364 Archive/Hairer.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/BoxIntegral/UnitPartition.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Continuity.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unital.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean,Mathlib/Analysis/Calculus/DSlope.lean,Mathlib/Analysis/Calculus/Deriv/MeanValue.lean,Mathlib/Analysis/Calculus/DiffContOnCl.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Calculus/MeanValue.lean,Mathlib/Analysis/Calculus/Rademacher.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/Complex/AbelLimit.lean,Mathlib/Analysis/Complex/AbsMax.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/Analysis/Complex/HalfPlane.lean,Mathlib/Analysis/Complex/LocallyUniformLimit.lean,Mathlib/Analysis/Complex/PhragmenLindelof.lean,Mathlib/Analysis/Complex/RemovableSingularity.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Measure.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Metric.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Topology.lean,Mathlib/Analysis/Convex/Cone/InnerDual.lean,Mathlib/Analysis/Convex/Exposed.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Convex/PartitionOfUnity.lean,Mathlib/Analysis/Convex/Side.lean,Mathlib/Analysis/Convex/StdSimplex.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/InnerProductSpace/Continuous.lean,Mathlib/Analysis/InnerProductSpace/Harmonic/HarmonicContOnCl.lean,Mathlib/Analysis/InnerProductSpace/LinearPMap.lean,Mathlib/Analysis/InnerProductSpace/MeanErgodic.lean,Mathlib/Analysis/InnerProductSpace/OfNorm.lean,Mathlib/Analysis/LocallyConvex/Separation.lean,Mathlib/Analysis/Meromorphic/Order.lean,Mathlib/Analysis/Meromorphic/TrailingCoefficient.lean,Mathlib/Analysis/Normed/Affine/AddTorsor.lean,Mathlib/Analysis/Normed/Group/Continuity.lean,Mathlib/Analysis/Normed/Group/Lemmas.lean,Mathlib/Analysis/Normed/Module/Ball/Homeomorph.lean,Mathlib/Analysis/Normed/Module/Connected.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/Normed/Module/Multilinear/Basic.lean,Mathlib/Analysis/Normed/Operator/Completeness.lean,Mathlib/Analysis/ODE/Gronwall.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Isometric.lean,Mathlib/Analysis/SpecialFunctions/Elliptic/Weierstrass.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Deligne.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/PoissonSummation.lean,Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/Analysis/SpecialFunctions/MulExpNegMulSq.lean,Mathlib/Analysis/SpecialFunctions/PolarCoord.lean,Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Inverse.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean,Mathlib/Condensed/Light/TopCatAdjunction.lean,Mathlib/Condensed/TopCatAdjunction.lean,Mathlib/Dynamics/OmegaLimit.lean,Mathlib/Geometry/Euclidean/Angle/Oriented/Basic.lean,Mathlib/Geometry/Manifold/Bordism.lean,Mathlib/Geometry/Manifold/Complex.lean,Mathlib/Geometry/Manifold/Instances/Icc.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/SmoothApprox.lean,Mathlib/MeasureTheory/Function/SpecialFunctions/Basic.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Integral/CircleIntegral.lean,Mathlib/MeasureTheory/Integral/CircleTransform.lean,Mathlib/MeasureTheory/Integral/DominatedConvergence.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean,Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean,Mathlib/MeasureTheory/Measure/Stieltjes.lean,Mathlib/NumberTheory/Cyclotomic/CyclotomicCharacter.lean,Mathlib/NumberTheory/Harmonic/ZetaAsymp.lean,Mathlib/NumberTheory/LSeries/AbstractFuncEq.lean,Mathlib/NumberTheory/LSeries/Deriv.lean,Mathlib/NumberTheory/LSeries/Dirichlet.lean,Mathlib/NumberTheory/LSeries/DirichletContinuation.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaOdd.lean,Mathlib/NumberTheory/LSeries/PrimesInAP.lean 180 15 ['github-actions', 'j-loreaux', 'mathlib-bors', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
78-8998
2 months ago
198-1853
198 days ago
0-1
1 second
37232 mathlib-splicebot
author:mathlib-splicebot
chore(Algebra/Order): bound on `|n / m|ₘ` and `|n - m|` This PR was automatically created from PR #34722 by @GrigorenkoPV via a [review comment](https://github.com/leanprover-community/mathlib4/pull/34722#discussion_r2996870566) by @Vierkantor. t-algebra delegated
label:t-algebra$
5/0 Mathlib/Algebra/Order/Group/Unbundled/Abs.lean 1 6 ['Vierkantor', 'bryangingechen', 'github-actions', 'mathlib-bors'] nobody
65-3927
2 months ago
65-16360
65 days ago
0-588
9 minutes
37889 LLaurance
author:LLaurance
chore(Algebra): shorten proof by using tactic mode instead of calc mode --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra delegated
label:t-algebra$
4/13 Mathlib/Algebra/Star/Center.lean 1 16 ['JovanGerb', 'LLaurance', 'faenuccio', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-bors', 'themathqueen'] nobody
41-20430
1 month ago
49-25012
49 days ago
1-5229
1 day
38732 eric-wieser
author:eric-wieser
fix: revert and fix #38703 #38703 removed the canary intended to detect a broken lemma, without fixing the lemma. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra delegated
label:t-algebra$
4/11 Mathlib/Algebra/Group/Action/Units.lean 1 5 ['github-actions', 'kbuzzard', 'mathlib-bors'] nobody
30-44680
1 month ago
30-44680
30 days ago
0-57214
15 hours
38189 artie2000
author:artie2000
feat: simplify proof of `IsAdjoinRootMonic.mkOfAdjoinEqTop'` * Simplify the proof of `IsAdjoinRootMonic.mkOfAdjoinEqTop'` by factoring out a lemma `OrzechProperty.bijective_of_surjective_of_finrank_le` and making use of the existing lemma `finrank_le_iff_exists_linearMap`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory delegated 22/21 Mathlib/LinearAlgebra/Dimension/Free.lean,Mathlib/RingTheory/IsAdjoinRoot.lean 2 9 ['Vierkantor', 'artie2000', 'github-actions', 'mathlib-bors', 'riccardobrasca'] riccardobrasca
assignee:riccardobrasca
11-46761
11 days ago
18-45690
18 days ago
24-41408
24 days
38869 TJHeeringa
author:TJHeeringa
feat(Analysis/InnerProductSpace): Add instance for quotient of InnerProductSpace --- Couldn't find the inner product space instance for a quotient of an inner product space. After confirming at [#Is there code for X? > Quotient of inner product space is inner product space](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Quotient.20of.20inner.20product.20space.20is.20inner.20product.20space/with/592464432), I made this PR. Defines an innerProductSpace instance on the quotient based on the isometry with the orthogonal complement, which is a closed subspace of the full space and thus has an innerProductSpace instance. AI usage: Didn't understand how to properly apply `quotient_norm_mk_eq K.toAddSubgroup x`. Claude suggested using convert. Otherwise no AI used, aside from acting as secondary Loogle. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor delegated 59/0 Mathlib/Analysis/InnerProductSpace/ProdL2.lean 1 39 ['TJHeeringa', 'github-actions', 'j-loreaux', 'mathlib-bors', 'themathqueen', 'wwylele'] j-loreaux
assignee:j-loreaux
11-22598
11 days ago
11-22598
11 days ago
14-47986
14 days
39383 fpvandoorn
author:fpvandoorn
fix: use notation3 more * `notation3` is better at generating delaborators in the presence of implicit arguments, other notation and some other complications. * I explicitly tested that each change was not correctly pretty-printed before, but now is. * Add spaces around the global notation `^+` (that maybe shouldn't be global at all?) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) delegated 21/21 Mathlib/Algebra/Ring/Action/Submonoid.lean,Mathlib/Analysis/RCLike/Inner.lean,Mathlib/Data/Sum/Order.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Integral/Marginal.lean,Mathlib/MeasureTheory/OuterMeasure/AE.lean,Mathlib/Order/InitialSeg.lean,Mathlib/Topology/Algebra/Module/Multilinear/Basic.lean,Mathlib/Topology/Algebra/Module/Spaces/UniformConvergenceCLM.lean 10 4 ['github-actions', 'j-loreaux', 'mathlib-bors'] nobody
11-12673
11 days ago
11-12673
11 days ago
5-8227
5 days
29855 eric-wieser
author:eric-wieser
chore(Data/Finset/Sort): lemmas about `0 : Fin _` and `Fin.last _` We already had these for `⟨0, ⋯⟩` and `⟨k - 1, ⋯⟩`. Moves: - `Finset.orderEmbOfFin_zero` -> `Finset.orderEmbOfFin_mk_zero` - `Finset.orderEmbOfFin_last` -> `Finset.orderEmbOfFin_mk_last` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data t-order delegated easy merge-conflict 17/7 Mathlib/Combinatorics/Enumerative/Composition.lean,Mathlib/Data/Finset/Sort.lean 2 5 ['eric-wieser', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts', 'ocfnash'] nobody
7-41261
7 days ago
247-44987
247 days ago
3-79002
3 days
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
7-19504
7 days ago
31-39480
31 days ago
0-2637
43 minutes
38619 mariainesdff
author:mariainesdff
feat(Algebra/SkewPolynomial/Basic): add API We add API for SkewPolynomial, including monomial, coeff, C and X. Co-authored by: @xgenereux. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra delegated
label:t-algebra$
319/26 Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/Algebra/SkewPolynomial/Basic.lean 2 64 ['faenuccio', 'github-actions', 'mariainesdff', 'mathlib-bors'] faenuccio
assignee:faenuccio
4-58584
4 days ago
10-14787
10 days ago
17-46601
17 days
38968 eric-wieser
author:eric-wieser
fix: improve defeqs of comp actions The (deliberately) non-reducible `SMul.comp.smul` definition caused us to end with these failing unification examples at instance reducibility: ```lean example : (Module.compHom ℕ (RingHom.id ℕ)).toSMul = SMul.comp ℕ (RingHom.id ℕ) := by with_reducible_and_instances rfl example : (Module.compHom ℕ (RingHom.id ℕ)).toMulAction = MulAction.compHom ℕ (MonoidHom.id ℕ) := by with_reducible_and_instances rfl ``` There are two issues this fixes: * the `compHom` constructors are inconsistent on whether they use `SMul.comp.smul` or reimplement its contents * we need `SMul.comp.smul` to be instance-reducible, so that when invoked with the identity function it is instance-defeq to the original action. As a bonus, allowing these to unify means we can have a single `SMul.comp_smul_def` lemma that works for all of the `compHom` definitions. We could also consider changing `compHom` to take a `HomClass` in order to remove the casts entirely, which would remove the need to add these `SMul.comp` terms. This PR leaves that for possible future work, noting that in the past we have moved away from writing `def`s taking `HomClass`es. Co-authored-by: Junye Ji --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) Refined from #38777 t-algebra delegated
label:t-algebra$
46/26 Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/Hom.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/End.lean,Mathlib/Algebra/Module/RingHom.lean,Mathlib/Analysis/Complex/UpperHalfPlane/MoebiusAction.lean,Mathlib/Analysis/Complex/UpperHalfPlane/ProperAction.lean,Mathlib/Topology/Algebra/Group/OpenMapping.lean 9 8 ['JJYYY-JJY', 'Vierkantor', 'eric-wieser', 'github-actions', 'leanprover-radar', 'mathlib-bors'] nobody
4-6160
4 days ago
15-39614
15 days ago
8-53809
8 days
39842 b-mehta
author:b-mehta
feat(Data/Finset/SDiff): add disjoint_injOn_union_left and superset_injOn_sdiff Two lemmas describing injectivity properties of finset operations. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data easy delegated 8/0 Mathlib/Data/Finset/SDiff.lean 1 4 ['b-mehta', 'github-actions', 'mathlib-bors', 'riccardobrasca'] nobody
2-82095
2 days ago
4-21070
4 days ago
1-2622
1 day
39475 ADedecker
author:ADedecker
feat: define LinearMap.QuasiInverse If the name "QuasiInverse" is considered too vague, I am open to suggestions. This was written by @PatrickMassot and @CoolRmal at the May 2026 ICERM workshop as part of the project on Fredholm operators. --- - [x] depends on: #39468 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra delegated
label:t-algebra$
158/1 Mathlib/Algebra/Module/LinearMap/FiniteRange.lean 1 4 ['ADedecker', 'github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'ocfnash'] nobody
1-45751
1 day ago
1-47111
1 day ago
3-62679
3 days
25473 adomani
author:adomani
feat(CI): check that Mathlib files have lean or md extension Twice recently there have been files with an "intended" `.lean` extension in `Mathlib/`: * #24942, ending in `;lean`; * #25457, ending in `.Lean`. `mk_all` does not add these files to `Mathlib.lean`, since they do not end in `.lean` and this later causes problems. This CI step checks that all files in `Mathlib/` end with `.lean` or `.md`. See #25474 for a test where the new step [correctly fails](https://github.com/leanprover-community/mathlib4/actions/runs/15464097783/job/43532018379?pr=25474). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI delegated 10/0 .github/workflows/lint_and_suggest_pr.yml 1 10 ['adomani', 'bryangingechen', 'github-actions', 'grunweg', 'mathlib-bors'] nobody
1-39465
1 day ago
359-37684
359 days ago
0-10728
2 hours
36635 Vierkantor
author:Vierkantor
chore(*): turn comments before declarations into docstrings This PR goes through the whole of Mathlib and replaces `/- comments -/` with `/-- docstrings -/` or `/-! module docs -/` whenever they appear before a declaration. A lot of these appear to be simple typos, where a docstring was actually intended. Where a comment was originally intended, I would argue it is still a good idea include the comments in the generated documentation, or at least it does not hurt anyone. These instances were found by a linter, in an upcoming PR: #36636. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt delegated 214/221 Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Subgroup/MulOppositeLemmas.lean,Mathlib/Algebra/Group/Submonoid/Basic.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/Subsemigroup/Basic.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/Order/Group/Unbundled/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Defs.lean,Mathlib/Algebra/Order/Ring/Star.lean,Mathlib/Algebra/Order/Sub/Defs.lean,Mathlib/Algebra/Polynomial/CoeffList.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/AlgebraicGeometry/Morphisms/WeaklyEtale.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean,Mathlib/Analysis/CStarAlgebra/Module/Synonym.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Complex/UpperHalfPlane/MoebiusAction.lean,Mathlib/Analysis/Convex/Function.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Fourier.lean,Mathlib/Analysis/Distribution/TemperedDistribution.lean,Mathlib/Analysis/Fourier/Convolution.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/Orthogonal.lean,Mathlib/Analysis/InnerProductSpace/TensorProduct.lean,Mathlib/Analysis/LConvolution.lean,Mathlib/Analysis/LocallyConvex/WeakDual.lean,Mathlib/Analysis/Meromorphic/Basic.lean,Mathlib/Analysis/Normed/Algebra/GelfandMazur.lean,Mathlib/Analysis/Normed/Algebra/Unitization.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/Normed/Module/MStructure.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/SpecialFunctions/Complex/Circle.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean,Mathlib/CategoryTheory/Action/Concrete.lean,Mathlib/CategoryTheory/Equivalence.lean,Mathlib/CategoryTheory/FintypeCat.lean,Mathlib/CategoryTheory/Limits/Cones.lean,Mathlib/CategoryTheory/Limits/FintypeCat.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryBiproducts.lean,Mathlib/CategoryTheory/Limits/Shapes/Biproducts.lean,Mathlib/CategoryTheory/Monoidal/Closed/Ideal.lean,Mathlib/CategoryTheory/Products/Basic.lean,Mathlib/Combinatorics/Hindman.lean,Mathlib/Combinatorics/SimpleGraph/Hall.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Counting.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Data/Finset/Sym.lean,Mathlib/Data/Fintype/Sets.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Set/Pointwise/Support.lean,Mathlib/Data/Set/Semiring.lean,Mathlib/Data/Sign/Defs.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/Geometry/Euclidean/Volume/Measure.lean,Mathlib/GroupTheory/Coset/Defs.lean,Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean,Mathlib/GroupTheory/GroupAction/SubMulAction.lean,Mathlib/GroupTheory/OreLocalization/Basic.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/GroupTheory/SpecificGroups/Alternating/MaximalSubgroups.lean,Mathlib/LinearAlgebra/CliffordAlgebra/SpinGroup.lean,Mathlib/LinearAlgebra/Complex/Module.lean,Mathlib/LinearAlgebra/DFinsupp.lean,Mathlib/LinearAlgebra/Isomorphisms.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/PiTensorProduct.lean,Mathlib/Logic/Basic.lean,Mathlib/Logic/UnivLE.lean,Mathlib/MeasureTheory/Function/ConditionalLExpectation.lean,Mathlib/MeasureTheory/Function/JacobianOneDim.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean,Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/MeasureTheory/Measure/Haar/NormedSpace.lean,Mathlib/MeasureTheory/Measure/ProbabilityMeasure.lean,Mathlib/NumberTheory/Chebyshev.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Basic.lean,Mathlib/Order/BourbakiWitt.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/Heyting/Boundary.lean,Mathlib/Order/LiminfLimsup.lean,Mathlib/RingTheory/AdicCompletion/AsTensorProduct.lean,Mathlib/RingTheory/AdicCompletion/Exactness.lean,Mathlib/RingTheory/DiscreteValuationRing/Basic.lean,Mathlib/RingTheory/DividedPowers/Basic.lean,Mathlib/RingTheory/IntegralClosure/IsIntegral/Basic.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/MvPowerSeries/Evaluation.lean,Mathlib/RingTheory/NoetherNormalization.lean,Mathlib/RingTheory/PicardGroup.lean,Mathlib/RingTheory/Valuation/Minpoly.lean,Mathlib/RingTheory/WittVector/Defs.lean,Mathlib/RingTheory/ZMod/UnitsCyclic.lean,Mathlib/Tactic/TFAE.lean 118 97 ['JovanGerb', 'Vierkantor', 'github-actions', 'grunweg', 'mathlib-bors', 'mathlib-merge-conflicts'] nobody
1-27267
1 day ago
1-27267
1 day ago
2-31887
2 days