Mathlib triage dashboard

Welcome to the PR triage page! This page is perfect if you intend to look for pull request which seem to have stalled.
Feedback on designing this page or further information to include is very welcome.

This dashboard was last updated on: August 21, 2025 at 01:25 UTC

Quick links: PR statistics | Not yet landed PRs | Review status | Stale unassigned PRs | Stale assigned PRs | Likely-spurious CI failures | Tech debt PRs | PRs blocked on a zulip discussion | PRs with just a merge conflict | Stale new contributor PRs | PRs not into master | PRs with an 'approved' review | All open PRs | Other lists of PRs

Overall statistics

Found 1979 open PRs overall. Among these PRs

Approved, not yet landed PRs

At the moment,

Review status

There are currently 503 PRs awaiting review. Among these,

On the other hand, 77 PRs are unassigned and have not seen a status change in a week, and 167 PRs are assigned, without recent review activity.

Stale unassigned PRs on the review queue

Number Author Title Description Labels +/- Modified files (first 100) 📝 💬 All users who commented or reviewed Assignee(s) Approval(s) Updated Last status change total time in review
24050 Paul-Lez
author:Paul-Lez
feat(Data/Finsupp/Pointwise): generalise pointwise scalar multiplication of finsupps As pointed out by @eric-wieser, this creates an instance diamond with `SMul (α → β) (α →₀ (α → β))` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 7/4 Mathlib/Data/Finsupp/Pointwise.lean 1 6 ['Paul-Lez', 'eric-wieser', 'github-actions'] nobody none
86-29659
2 months ago
128-17957
4 months ago
128-18005
128 days
26284 plp127
author:plp127
feat: faster implementation of `Nat.primeFactorsList` + `@[csimp]` lemma Add a function `Nat.primeFactorsListFast` that `#eval`s faster, and a `@[csimp]` lemma `Nat.primeFactorsList_eq_primeFactorsListFast` that shows `Nat.primeFactorsList = Nat.primeFactorsListFast`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 95/0 Mathlib/Data/Nat/Factors.lean 1 1 ['github-actions'] nobody none
58-74988
1 month ago
58-75011
1 month ago
59-2526
59 days
26710 metakunt
author:metakunt
feat (Data/Nat/Digits/Lemmas): Add digits_getD Adds digits_getD, an explicit computation of the i-th digits of n in base b representation. t-data new-contributor 64/0 Mathlib/Data/Nat/Digits/Lemmas.lean 1 1 ['github-actions'] nobody none
48-4682
1 month ago
48-4813
1 month ago
48-4865
48 days
26021 vasnesterov
author:vasnesterov
feat(Data/Real): representation of reals from `[0, 1]` in positional system * Introduce `ofDigits {b : ℕ} (digits : ℕ → Fin b) : ℝ`, representing a real number of the form `0.d₀d₁d₂...` (where `dᵢ = digits i`) as an infinite sum. * Prove that this sum converges to a number in the interval `[0, 1]`. * Prove `ofDigits_close_of_common_prefix`: if the first `n` digits of two numbers are equal, then their difference is bounded by `b⁻ⁿ`. * Introduce `Real.digits`, which converts a real number into its sequence of digits. * Prove that `ofDigits (toDigits x b) = x`. [Zulip thread](https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there-code-for-X.3F/topic/Base.20n.20expansion.20of.20real.20numbers.3F/near/502937293) --- - [x] depends on: #26004 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 238/0 Mathlib.lean,Mathlib/Data/Real/OfDigits.lean,scripts/noshake.json 3 11 ['alreadydone', 'eric-wieser', 'github-actions', 'mathlib4-dependent-issues-bot', 'vasnesterov', 'wwylele'] nobody none
46-63599
1 month ago
49-78367
1 month ago
49-78925
49 days
26838 vlad902
author:vlad902
feat: add lemmas about `List.scanr` This PR continues the work from #25188. Original PR: https://github.com/leanprover-community/mathlib4/pull/25188 t-data 84/19 Mathlib/Data/List/Scan.lean 1 12 ['github-actions', 'vihdzp', 'vlad902'] nobody none
39-62464
1 month ago
44-64973
1 month ago
44-65027
44 days
27242 hugh-fox
author:hugh-fox
feat: add Gauss-like formula for sums of digit sums Adds `sum_digit_sum_base_pow_eq` to show a Gauss-like formula across sums of digit sums. This relies on an additional two simp lemmas, named `digits_sum_eq_self`, `digits_sum_base_mul_cancel`. Lastly, includes a specialization (which is a good bit simpler than the general formula) to base 10 named `sum_digit_sum_ten_pow_eq`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-data new-contributor 113/0 Mathlib/Data/Nat/Digits/Lemmas.lean 1 5 ['github-actions', 'hugh-fox', 'kckennylau'] nobody none
32-17978
1 month ago
33-81756
1 month ago
33-81802
33 days
27500 Komyyy
author:Komyyy
feat: the Riemann zeta function is meromorphic Also proves that the Hurwitz zeta function is meromorphic. This PR is split from #27499 to leave a good git diff history. --- The `large-import` change occurs only in the new module, so it poses no problem. - [x] depends on: #27499 This PR continues the work from #25597. Original PR: https://github.com/leanprover-community/mathlib4/pull/25597 large-import t-analysis 51/3 Mathlib.lean,Mathlib/Analysis/Meromorphic/Complex.lean,Mathlib/Analysis/Meromorphic/Gamma.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody none
24-78922
24 days ago
24-79738
24 days ago
24-80354
24 days
27548 euprunin
author:euprunin
chore(Control/Functor/Multivariate): remove use of `erw` in `f` (`private def f`) t-data 1/1 Mathlib/Control/Functor/Multivariate.lean 1 1 ['github-actions'] nobody none
24-36548
24 days ago
24-36554
24 days ago
24-36606
24 days
27566 wwylele
author:wwylele
feat(Data/Real): Archimedean.embedReal is a ring hom when M is an ordered ring Also shows that this ends up the same as `LinearOrderedField.inducedOrderRingHom` for fields --- This is a spin-off from #27268 ~~because I got bored~~ . This is not in a high priority as I don't need it for anything yet, but the last lemma shows that `embedReal` is a generalization of `LinearOrderedField.inducedOrderRingHom` (which is only stated for field, and I didn't find when I was making the group embedding). Perhaps we should refactor `Mathlib/Algebra/Order/CompleteField.lean` with the definition here. Indeed, if we replace every `ℝ` with `(R : Type*)[ConditionallyCompleteLinearOrderedField R]` in `Data/Real/Embedding.lean`, the proof still works. What do you think? [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-data 220/3 Mathlib/Data/Real/Embedding.lean 1 1 ['github-actions'] nobody none
24-16519
24 days ago
24-16526
24 days ago
24-16579
24 days
27682 FernandoChu
author:FernandoChu
Chore: Added `vecAppend_empty` lemma Added the `vecAppend_empty`. t-data new-contributor 5/0 Mathlib/Data/Fin/VecNotation.lean 1 1 ['github-actions'] nobody none
21-41186
21 days ago
21-41186
21 days ago
21-41397
21 days
27697 BoltonBailey
author:BoltonBailey
chore(Data/Fintype): use `univ` instead of `Fintype.elems` A short PR to keep the API consistent with its surroundings. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 2/2 Mathlib/Data/Fintype/Defs.lean 1 1 ['github-actions', 'vihdzp'] nobody 1
21-16779
21 days ago
21-20658
21 days ago
21-20704
21 days
27738 ChrisHughes24
author:ChrisHughes24
feat(Rat): Decidable instance for IsSquare --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 3/0 Mathlib/Data/Rat/Lemmas.lean 1 1 ['github-actions'] nobody none
20-57394
20 days ago
20-57398
20 days ago
20-57446
20 days
27742 ChrisHughes24
author:ChrisHughes24
feat(Nat/nth): inequalities about Nat.nth --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 58/0 Mathlib/Data/Nat/Nth.lean 1 1 ['github-actions'] nobody none
20-51842
20 days ago
20-51850
20 days ago
20-51896
20 days
27820 FLDutchmann
author:FLDutchmann
chore(NumberTheory/SelbergSieve): turn `BoundingSieve` into a struct Based on a discussion [on zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/BoundingSieve.20is.20a.20class.3F.3F). I wound up removing the custom notation as well, since not everybody was fond of it and I had some trouble getting it to work properly with structure inheritance and the corresponding coersions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis t-number-theory 51/84 Mathlib/NumberTheory/SelbergSieve.lean 1 1 ['github-actions'] nobody none
19-44655
19 days ago
19-44678
19 days ago
19-44714
19 days
27864 BoltonBailey
author:BoltonBailey
feat(Data/{Finset,Multiset}/Sort): give sort functions ≤ default argument Changes the `Finset.sort` and `Multiset.sort` functions to take `≤` as the default relation argument. Then removes this argument where possible through the rest of the library. This involves switching the order of arguments, but I think this is fine, as this function is mostly called by dot notation anyway, and I think it is more typical for the first argument of such functions to have the type that matches the namespace. Thanks to @eric-wieser for suggesting this approach --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 121/97 Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Data/Finset/Sort.lean,Mathlib/Data/Multiset/Sort.lean,Mathlib/Data/Nat/Nth.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/Logic/Equiv/Finset.lean,Mathlib/Logic/Equiv/Multiset.lean,Mathlib/NumberTheory/ADEInequality.lean 9 4 ['BoltonBailey', 'eric-wieser', 'github-actions'] nobody none
18-36160
18 days ago
18-36160
18 days ago
19-3300
19 days
25920 BoltonBailey
author:BoltonBailey
feat(Data/Finsupp/Basic): `Finsupp.optionElim'` Similar to how Finsupp.cons constructs a map Fin (n + 1) →₀ M from a map Fin n →₀ M, we define Finsupp.optionElim' to construct a map Option α →₀ M from a map α →₀ M, given an additional value for none. We base this on the new optionEquiv definition. As a function, it behaves as Option.elim', hence the name. We prove a variety of API lemmas, based on those for Finsupp.cons, to bring the definitions more in line with the contents of Data/Finsupp/Fin. We also refactor to a new file to help avoid a too-long file and make this more analogous to Finsupp.cons Original PR: https://github.com/leanprover-community/mathlib4/pull/13861 - [x] depends on: #26309 migrated-from-branch t-data 124/25 Mathlib/Algebra/Category/MonCat/Adjunctions.lean,Mathlib/Data/Finsupp/Option.lean 2 14 ['BoltonBailey', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody none
18-34104
18 days ago
32-80850
1 month ago
55-1433
55 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/) t-data 144/5 Mathlib/Data/PFunctor/Univariate/Basic.lean 1 19 ['alexkeizer', 'eric-wieser', 'github-actions', 'quangvdao'] nobody 1
17-3997
17 days ago
43-2506
1 month ago
43-2551
43 days
27933 grunweg
author:grunweg
chore(OrdNode): format code example in code blocks Wrap them in code blocks (and unindent them; that indentation is not needed any more). This also avoids warnings from the linter in #27898. ------- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 459/212 Mathlib/Data/Ordmap/Ordnode.lean 1 3 ['eric-wieser', 'github-actions', 'grunweg'] nobody none
16-52020
16 days ago
16-60536
16 days ago
16-60583
16 days
27926 euprunin
author:euprunin
chore(Geometry/RingedSpace): remove one porting note and one `erw` ---
Show trace profiling of colimitPresheafObjIsoComponentwiseLimit_inv_ι_app ### Trace profiling of `colimitPresheafObjIsoComponentwiseLimit_inv_ι_app` before PR 27926 ``` info: Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.lean:318:0: [Elab.command] [1.040188] @[simp] theorem colimitPresheafObjIsoComponentwiseLimit_inv_ι_app (F : J ⥤ PresheafedSpace.{_, _, v} C) (U : Opens (Limits.colimit F).carrier) (j : J) : (colimitPresheafObjIsoComponentwiseLimit F U).inv ≫ (colimit.ι F j).c.app (op U) = limit.π _ (op j) := by delta colimitPresheafObjIsoComponentwiseLimit rw [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)] dsimp rw [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc] erw [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] -- Porting note: `convert` doesn't work due to meta variable, so change to a `suffices` block set f := _ change _ ≫ f = _ suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id] erw [← (F.obj j).presheaf.map_id] change (F.obj j).presheaf.map _ ≫ _ = _ simp [Elab.definition.header] [0.097144] AlgebraicGeometry.PresheafedSpace.colimitPresheafObjIsoComponentwiseLimit_inv_ι_app [Elab.step] [0.025268] expected type: Type v, term Opens (Limits.colimit F).carrier [Elab.step] [0.020151] expected type: Type ?u.174516, term (Limits.colimit F).carrier [Elab.step] [0.019933] expected type: , term (Limits.colimit F) [Elab.step] [0.019920] expected type: , term Limits.colimit F [Meta.synthInstance] [0.018758] ✅️ HasColimit F [Elab.step] [0.070061] expected type: Prop, term (colimitPresheafObjIsoComponentwiseLimit F U).inv ≫ (colimit.ι F j).c.app (op U) = limit.π _ (op j) [Elab.step] [0.070046] expected type: Prop, term binrel% Eq✝ ((colimitPresheafObjIsoComponentwiseLimit F U).inv ≫ (colimit.ι F j).c.app (op U)) (limit.π _ (op j)) [Meta.synthInstance] [0.058249] ✅️ HasLimit (componentwiseDiagram F U) [Elab.attribute] [0.937317] applying [simp] info: Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.lean:318:0: [Elab.async] [0.937262] elaborating proof of AlgebraicGeometry.PresheafedSpace.colimitPresheafObjIsoComponentwiseLimit_inv_ι_app [Elab.definition.value] [0.927035] AlgebraicGeometry.PresheafedSpace.colimitPresheafObjIsoComponentwiseLimit_inv_ι_app [Elab.step] [0.922546] delta colimitPresheafObjIsoComponentwiseLimit rw [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)] dsimp rw [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc] erw [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] -- Porting note: `convert` doesn't work due to meta variable, so change to a `suffices` block set f := _ change _ ≫ f = _ suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id] erw [← (F.obj j).presheaf.map_id] change (F.obj j).presheaf.map _ ≫ _ = _ simp [Elab.step] [0.922530] delta colimitPresheafObjIsoComponentwiseLimit rw [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)] dsimp rw [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc] erw [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] -- Porting note: `convert` doesn't work due to meta variable, so change to a `suffices` block set f := _ change _ ≫ f = _ suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id] erw [← (F.obj j).presheaf.map_id] change (F.obj j).presheaf.map _ ≫ _ = _ simp [Elab.step] [0.146177] rw [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)] [Elab.step] [0.146159] (rewrite [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)]; with_annotate_state"]" (try (with_reducible rfl))) [Elab.step] [0.146150] rewrite [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.146140] rewrite [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.144815] rewrite [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)] [Meta.check] [0.016973] ✅️ fun _a ↦ (((Limits.lim.mapIso (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯)).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).inv) ≫ _a) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.014416] ✅️ fun _a ↦ (((Limits.lim.mapIso (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯)).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).inv) ≫ _a.app (op U)) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.010654] ✅️ fun _a ↦ (((Limits.lim.mapIso (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯)).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).inv) ≫ _a) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.023805] ✅️ fun _a ↦ (((Limits.lim.mapIso (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯)).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).inv) ≫ _a ≫ (Limits.colimit F).presheaf.map (eqToHom ⋯)) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Elab.step] [0.046171] dsimp [Elab.step] [0.362200] rw [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc] [Elab.step] [0.361801] (rewrite [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc]; with_annotate_state"]" (try (with_reducible rfl))) [Elab.step] [0.361793] rewrite [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.361787] rewrite [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.361130] rewrite [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc] [Meta.check] [0.046061] ✅️ fun _a ↦ ((limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv) ≫ ((colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ _a) ≫ (Limits.colimit F).presheaf.map (eqToHom ⋯)) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Meta.isDefEq] [0.014339] ✅️ autoParam (∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f) _auto✝ =?= ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Meta.isDefEq] [0.014330] ✅️ ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f =?= ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Meta.isDefEq] [0.014288] ✅️ ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f =?= ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Meta.isDefEq] [0.013035] ✅️ ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom =?= ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom [Meta.isDefEq] [0.013017] ✅️ inst✝³.toCategoryStruct.3 (((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f) (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom =?= inst✝³.toCategoryStruct.3 (((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f) (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom [Meta.check] [0.027427] ✅️ fun _a ↦ ((limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv) ≫ _a ≫ (Limits.colimit F).presheaf.map (eqToHom ⋯)) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.019082] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ _a = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.023213] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ _a = limit.π (componentwiseDiagram F U) (op j) [Meta.isDefEq] [0.014000] ✅️ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ (colimit.ι F j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (Hom.c ?β).app ?U ≫ (Hom.c ?α).app (op ((Opens.map (Hom.base ?β)).obj (unop ?U))) ≫ ?h [Meta.isDefEq] [0.011423] ✅️ (colimit.ι F j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (Hom.c ?α).app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.base).obj (unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))))) ≫ ?h [Meta.check] [0.019734] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ _a = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.041226] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ _a ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) = limit.π (componentwiseDiagram F U) (op j) [Meta.isDefEq] [0.013545] ✅️ (({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ (F.obj j).presheaf.map (eqToHom ⋯)) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (?f ≫ ?g) ≫ ?h [Meta.check] [0.022526] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ _a = limit.π (componentwiseDiagram F U) (op j) [Meta.isDefEq] [0.010494] ✅️ autoParam (∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f) _auto✝ =?= ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Meta.isDefEq] [0.010484] ✅️ ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f =?= ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Meta.isDefEq] [0.010433] ✅️ ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f =?= ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Elab.step] [0.153503] erw [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] [Elab.step] [0.149349] rw (transparency✝ := .default✝) [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] [Elab.step] [0.149342] (rewrite (transparency✝ := .default✝) [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc]; with_annotate_state"]" (try (with_reducible rfl))) [Elab.step] [0.149338] rewrite (transparency✝ := .default✝) [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.149333] rewrite (transparency✝ := .default✝) [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.148668] rewrite (transparency✝ := .default✝) [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] [Meta.isDefEq] [0.018626] ✅️ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ (F.obj j).presheaf.map (eqToHom ⋯) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (limitObjIsoLimitCompEvaluation ?F ?k).inv ≫ (limit.π ?F ?j).app ?k ≫ ?h [Meta.isDefEq.delta] [0.018438] ✅️ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ (F.obj j).presheaf.map (eqToHom ⋯) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (limitObjIsoLimitCompEvaluation ?F ?k).inv ≫ (limit.π ?F ?j).app ?k ≫ ?h [Meta.isDefEq] [0.015684] ✅️ ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ (F.obj j).presheaf.map (eqToHom ⋯) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (limit.π (pushforwardDiagramToColimit F).leftOp ?j).app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ ?h [Meta.isDefEq.delta] [0.015635] ✅️ ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ (F.obj j).presheaf.map (eqToHom ⋯) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (limit.π (pushforwardDiagramToColimit F).leftOp ?j).app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ ?h [Meta.isDefEq] [0.012504] ✅️ ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= (limit.π (pushforwardDiagramToColimit F).leftOp ?j).app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) [Meta.isDefEq.delta] [0.012467] ✅️ ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= (limit.π (pushforwardDiagramToColimit F).leftOp ?j).app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) [Meta.check] [0.032205] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ _a = limit.π (componentwiseDiagram F U) (op j) [Meta.isDefEq] [0.011807] ✅️ autoParam (∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f) _auto✝ =?= ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Meta.isDefEq] [0.011776] ✅️ ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f =?= ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Meta.isDefEq] [0.011697] ✅️ ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f =?= ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Meta.isDefEq] [0.010926] ✅️ ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom =?= ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom [Meta.isDefEq] [0.010889] ✅️ inst✝³.toCategoryStruct.3 (((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f) (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom =?= inst✝³.toCategoryStruct.3 (((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f) (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom [Meta.synthInstance] [0.032731] ✅️ HasLimit (componentwiseDiagram F U) [Meta.synthInstance] [0.037409] ✅️ HasLimit ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Elab.step] [0.014221] suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id] [Elab.step] [0.012150] refine_lift suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id]; ?_ [Elab.step] [0.012144] focus (refine no_implicit_lambda% (suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id]; ?_); rotate_right) [Elab.step] [0.012137] (refine no_implicit_lambda% (suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id]; ?_); rotate_right) [Elab.step] [0.012133] (refine no_implicit_lambda% (suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id]; ?_); rotate_right) [Elab.step] [0.012129] (refine no_implicit_lambda% (suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id]; ?_); rotate_right) [Elab.step] [0.012125] refine no_implicit_lambda% (suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id]; ?_); rotate_right [Elab.step] [0.012121] refine no_implicit_lambda% (suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id]; ?_); rotate_right [Elab.step] [0.012108] refine no_implicit_lambda% (suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id]; ?_) [Elab.step] [0.013093] change (F.obj j).presheaf.map _ ≫ _ = _ [Elab.step] [0.168494] simp [Meta.isDefEq] [0.021985] ❌️ eqToHom ?p =?= eqToHom ⋯ [Meta.isDefEq] [0.021872] ❌️ ?p =?= colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.021293] ❌️ eqToHom ?p =?= eqToHom ⋯ [Meta.isDefEq] [0.021164] ❌️ ?p =?= colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.010555] ✅️ (toPrefunctor ?F).map (eqToHom ?p) =?= (F.obj j).presheaf.map (eqToHom ⋯) [Meta.isDefEq.delta] [0.010532] ✅️ (toPrefunctor ?F).map (eqToHom ?p) =?= (F.obj j).presheaf.map (eqToHom ⋯) [Meta.isDefEq] [0.010242] ✅️ eqToHom ?p =?= eqToHom ⋯ [Meta.isDefEq] [0.010214] ✅️ ?p =?= colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq.assign] [0.010212] ✅️ ?p := colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq.assign.checkTypes] [0.010174] ✅️ (?p : op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = op ((Opens.map (colimit.ι F j).base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)))) := (colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) : (Opens.map ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.010170] ✅️ op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = op ((Opens.map (colimit.ι F j).base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) =?= (Opens.map ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) info: Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.lean:319:8: [Elab.async] [0.072478] Lean.addDecl [Kernel] [0.072444] typechecking declarations [AlgebraicGeometry.PresheafedSpace.colimitPresheafObjIsoComponentwiseLimit_inv_ι_app] ``` ### Trace profiling of `colimitPresheafObjIsoComponentwiseLimit_inv_ι_app` after PR 27926 ```diff diff --git a/Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.lean b/Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.lean index 5771499b70..cbf879186d 100644 --- a/Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.lean +++ b/Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.lean @@ -316,2 +316,3 @@ def colimitPresheafObjIsoComponentwiseLimit (F : J ⥤ PresheafedSpace.{_, _, v} +set_option trace.profiler true in @[simp] @@ -329,8 +330,2 @@ theorem colimitPresheafObjIsoComponentwiseLimit_inv_ι_app (F : J ⥤ Presheafed erw [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] - -- Porting note: `convert` doesn't work due to meta variable, so change to a `suffices` block - set f := _ - change _ ≫ f = _ - suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id] - erw [← (F.obj j).presheaf.map_id] - change (F.obj j).presheaf.map _ ≫ _ = _ simp ``` ``` info: Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.lean:318:0: [Elab.command] [1.024539] @[simp] theorem colimitPresheafObjIsoComponentwiseLimit_inv_ι_app (F : J ⥤ PresheafedSpace.{_, _, v} C) (U : Opens (Limits.colimit F).carrier) (j : J) : (colimitPresheafObjIsoComponentwiseLimit F U).inv ≫ (colimit.ι F j).c.app (op U) = limit.π _ (op j) := by delta colimitPresheafObjIsoComponentwiseLimit rw [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)] dsimp rw [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc] erw [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] simp [Elab.definition.header] [0.078196] AlgebraicGeometry.PresheafedSpace.colimitPresheafObjIsoComponentwiseLimit_inv_ι_app [Elab.step] [0.012578] expected type: Type v, term Opens (Limits.colimit F).carrier [Elab.step] [0.064806] expected type: Prop, term (colimitPresheafObjIsoComponentwiseLimit F U).inv ≫ (colimit.ι F j).c.app (op U) = limit.π _ (op j) [Elab.step] [0.064794] expected type: Prop, term binrel% Eq✝ ((colimitPresheafObjIsoComponentwiseLimit F U).inv ≫ (colimit.ι F j).c.app (op U)) (limit.π _ (op j)) [Meta.synthInstance] [0.046124] ✅️ HasLimit (componentwiseDiagram F U) [Elab.attribute] [0.941447] applying [simp] info: Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.lean:318:0: [Elab.async] [0.941493] elaborating proof of AlgebraicGeometry.PresheafedSpace.colimitPresheafObjIsoComponentwiseLimit_inv_ι_app [Elab.definition.value] [0.933934] AlgebraicGeometry.PresheafedSpace.colimitPresheafObjIsoComponentwiseLimit_inv_ι_app [Elab.step] [0.922601] delta colimitPresheafObjIsoComponentwiseLimit rw [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)] dsimp rw [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc] erw [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] simp [Elab.step] [0.922582] delta colimitPresheafObjIsoComponentwiseLimit rw [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)] dsimp rw [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc] erw [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] simp [Elab.step] [0.135785] rw [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)] [Elab.step] [0.135770] (rewrite [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)]; with_annotate_state"]" (try (with_reducible rfl))) [Elab.step] [0.135762] rewrite [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.135756] rewrite [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.135146] rewrite [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)] [Meta.check] [0.011988] ✅️ fun _a ↦ (((Limits.lim.mapIso (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯)).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).inv) ≫ _a) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.013908] ✅️ fun _a ↦ (((Limits.lim.mapIso (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯)).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).inv) ≫ _a.app (op U)) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.010543] ✅️ fun _a ↦ (((Limits.lim.mapIso (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯)).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).inv) ≫ _a) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.020840] ✅️ fun _a ↦ (((Limits.lim.mapIso (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯)).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).inv) ≫ _a ≫ (Limits.colimit F).presheaf.map (eqToHom ⋯)) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Elab.step] [0.043416] dsimp [Elab.step] [0.347288] rw [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc] [Elab.step] [0.347048] (rewrite [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc]; with_annotate_state"]" (try (with_reducible rfl))) [Elab.step] [0.347040] rewrite [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.347035] rewrite [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.346402] rewrite [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc] [Meta.check] [0.032750] ✅️ fun _a ↦ ((limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv) ≫ ((colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ _a) ≫ (Limits.colimit F).presheaf.map (eqToHom ⋯)) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.028063] ✅️ fun _a ↦ ((limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv) ≫ _a ≫ (Limits.colimit F).presheaf.map (eqToHom ⋯)) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.019057] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ _a = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.022883] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ _a = limit.π (componentwiseDiagram F U) (op j) [Meta.isDefEq] [0.013327] ✅️ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ (colimit.ι F j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (Hom.c ?β).app ?U ≫ (Hom.c ?α).app (op ((Opens.map (Hom.base ?β)).obj (unop ?U))) ≫ ?h [Meta.isDefEq] [0.011046] ✅️ (colimit.ι F j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (Hom.c ?α).app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.base).obj (unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))))) ≫ ?h [Meta.check] [0.019487] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ _a = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.042766] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ _a ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) = limit.π (componentwiseDiagram F U) (op j) [Meta.isDefEq] [0.013346] ✅️ (({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ (F.obj j).presheaf.map (eqToHom ⋯)) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (?f ≫ ?g) ≫ ?h [Meta.check] [0.019948] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ _a = limit.π (componentwiseDiagram F U) (op j) [Elab.step] [0.157932] erw [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] [Elab.step] [0.154595] rw (transparency✝ := .default✝) [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] [Elab.step] [0.154588] (rewrite (transparency✝ := .default✝) [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc]; with_annotate_state"]" (try (with_reducible rfl))) [Elab.step] [0.154584] rewrite (transparency✝ := .default✝) [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.154579] rewrite (transparency✝ := .default✝) [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.153927] rewrite (transparency✝ := .default✝) [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] [Meta.isDefEq] [0.012088] ✅️ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ (F.obj j).presheaf.map (eqToHom ⋯) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (limitObjIsoLimitCompEvaluation ?F ?k).inv ≫ (limit.π ?F ?j).app ?k ≫ ?h [Meta.isDefEq.delta] [0.012000] ✅️ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ (F.obj j).presheaf.map (eqToHom ⋯) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (limitObjIsoLimitCompEvaluation ?F ?k).inv ≫ (limit.π ?F ?j).app ?k ≫ ?h [Meta.check] [0.023999] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ _a = limit.π (componentwiseDiagram F U) (op j) [Meta.synthInstance] [0.043793] ✅️ HasLimit (componentwiseDiagram F U) [Meta.synthInstance] [0.050911] ✅️ HasLimit ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Elab.step] [0.237283] simp [Meta.isDefEq] [0.020018] ✅️ (NatIso.ofComponents ?app ?naturality).inv.app ?X =?= (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv.app (op j) [Meta.isDefEq.delta] [0.019991] ✅️ (NatIso.ofComponents ?app ?naturality).inv.app ?X =?= (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv.app (op j) [Meta.isDefEq] [0.019797] ✅️ (NatIso.ofComponents ?app ?naturality).inv =?= (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv [Meta.isDefEq.delta] [0.019779] ✅️ (NatIso.ofComponents ?app ?naturality).inv =?= (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv [Meta.isDefEq] [0.019743] ✅️ NatIso.ofComponents ?app ?naturality =?= NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯ [Meta.isDefEq] [0.017808] ✅️ ?naturality =?= @colimitPresheafObjIsoComponentwiseLimit._proof_5 J inst✝⁴ C inst✝³ inst✝² inst✝¹ inst✝ F (hasColimitOfHasColimitsOfShape F) U [Meta.isDefEq.assign] [0.017806] ✅️ ?naturality := @colimitPresheafObjIsoComponentwiseLimit._proof_5 J inst✝⁴ C inst✝³ inst✝² inst✝¹ inst✝ F (hasColimitOfHasColimitsOfShape F) U [Meta.isDefEq.assign.checkTypes] [0.017713] ✅️ (?naturality : autoParam (∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f) _auto✝) := (@colimitPresheafObjIsoComponentwiseLimit._proof_5 J inst✝⁴ C inst✝³ inst✝² inst✝¹ inst✝ F (hasColimitOfHasColimitsOfShape F) U : ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f) [Meta.isDefEq] [0.017709] ✅️ autoParam (∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f) _auto✝ =?= ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Meta.isDefEq] [0.017679] ✅️ ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f =?= ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Meta.isDefEq] [0.017646] ✅️ ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f =?= ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Meta.isDefEq] [0.016839] ✅️ ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom =?= ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom [Meta.isDefEq] [0.016824] ✅️ inst✝³.toCategoryStruct.3 (((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f) (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom =?= inst✝³.toCategoryStruct.3 (((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f) (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom [Meta.isDefEq] [0.014645] ✅️ ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f =?= ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f [Meta.isDefEq] [0.014628] ✅️ ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).toPrefunctor.2 f =?= ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).toPrefunctor.2 f [Meta.isDefEq] [0.014549] ✅️ ((evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map ((pushforwardDiagramToColimit F).leftOp.map f) =?= ((evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map ((pushforwardDiagramToColimit F).leftOp.map f) [Meta.isDefEq] [0.014534] ✅️ ((evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).toPrefunctor.2 ((pushforwardDiagramToColimit F).leftOp.map f) =?= ((evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).toPrefunctor.2 ((pushforwardDiagramToColimit F).leftOp.map f) [Meta.isDefEq] [0.014406] ✅️ ((pushforwardDiagramToColimit F).leftOp.map f).app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= ((pushforwardDiagramToColimit F).leftOp.map f).app ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U)) [Meta.isDefEq] [0.014386] ✅️ ((pushforwardDiagramToColimit F).leftOp.map f).1 (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= ((pushforwardDiagramToColimit F).leftOp.map f).1 ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U)) [Meta.isDefEq] [0.010919] ✅️ ((pushforward C (colimit.ι (F ⋙ forget C) (unop X))).map (F.map f.unop).c).app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ ((Pushforward.comp ((F ⋙ forget C).map f.unop) (colimit.ι (F ⋙ forget C) (unop X)) (F.obj (unop Y)).presheaf).inv ≫ (pushforwardEq ⋯ (F.obj (unop Y)).presheaf).hom).app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= ((pushforward C (colimit.ι (F ⋙ forget C) (unop X))).map (F.map f.unop).c).app ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U)) ≫ ((Pushforward.comp ((F ⋙ forget C).map f.unop) (colimit.ι (F ⋙ forget C) (unop X)) (F.obj (unop Y)).presheaf).inv ≫ (pushforwardEq ⋯ (F.obj (unop Y)).presheaf).hom).app ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U)) [Meta.isDefEq] [0.010872] ✅️ inst✝³.toCategoryStruct.3 (((pushforward C (colimit.ι (F ⋙ forget C) (unop X))).map (F.map f.unop).c).app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) (((Pushforward.comp ((F ⋙ forget C).map f.unop) (colimit.ι (F ⋙ forget C) (unop X)) (F.obj (unop Y)).presheaf).inv ≫ (pushforwardEq ⋯ (F.obj (unop Y)).presheaf).hom).app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) =?= inst✝³.toCategoryStruct.3 (((pushforward C (colimit.ι (F ⋙ forget C) (unop X))).map (F.map f.unop).c).app ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))) (((Pushforward.comp ((F ⋙ forget C).map f.unop) (colimit.ι (F ⋙ forget C) (unop X)) (F.obj (unop Y)).presheaf).inv ≫ (pushforwardEq ⋯ (F.obj (unop Y)).presheaf).hom).app ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))) [Meta.isDefEq] [0.036880] ❌️ eqToHom ?p =?= eqToHom ⋯ [Meta.isDefEq] [0.036754] ❌️ ?p =?= colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq.assign] [0.014492] ❌️ ?p := colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq.assign.checkTypes] [0.014435] ❌️ (?p : op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) := (colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) : (Opens.map ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.014433] ❌️ op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= (Opens.map ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) [Meta.isDefEq] [0.013670] ❌️ op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) [Meta.isDefEq] [0.013662] ❌️ op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.toPrefunctor.1 (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) [Meta.isDefEq] [0.013635] ❌️ op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= op ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).obj (unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)))) [Meta.isDefEq] [0.013607] ❌️ (Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U) =?= (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).obj (unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.013597] ❌️ (Opens.map (colimit.ι (F ⋙ forget C) j)).toPrefunctor.1 ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U) =?= (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).toPrefunctor.1 (unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.013549] ❌️ { carrier := ⇑(ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)) ⁻¹' ↑((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U), is_open' := ⋯ } =?= { carrier := ⇑(ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base) ⁻¹' ↑(unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))), is_open' := ⋯ } [Meta.isDefEq] [0.013528] ❌️ ⇑(ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)) ⁻¹' ↑((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U) =?= ⇑(ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base) ⁻¹' ↑(unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq.delta] [0.010260] ❌️ ⇑(ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)) ⁻¹' ↑((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U) =?= ⇑(ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base) ⁻¹' ↑(unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.010255] ❌️ ⇑(ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)) =?= ⇑(ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base) [Meta.isDefEq] [0.010244] ❌️ ((fun X Y ↦ ContinuousMap.instFunLike) (↑(F.obj j)) (Limits.colimit (F ⋙ forget C))).1 (ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)) =?= ((fun X Y ↦ ContinuousMap.instFunLike) ↑(F.obj j) ↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt).1 (ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base) [Meta.isDefEq] [0.010227] ❌️ (ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)).toFun =?= (ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).toFun [Meta.isDefEq] [0.010215] ❌️ (ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)).1 =?= (ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).1 [Meta.isDefEq.assign] [0.017826] ❌️ ?p := colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq.assign.checkTypes] [0.017754] ❌️ (?p : op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) := (colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) : fun {β} ↦ (Opens.map β.base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.017751] ❌️ op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= fun {β} ↦ (Opens.map β.base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) [Meta.isDefEq] [0.017746] ❌️ op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= (Opens.map ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) [Meta.isDefEq] [0.017009] ❌️ op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) [Meta.isDefEq] [0.017001] ❌️ op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.toPrefunctor.1 (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) [Meta.isDefEq] [0.016976] ❌️ op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= op ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).obj (unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)))) [Meta.isDefEq] [0.016946] ❌️ (Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U) =?= (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).obj (unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.016936] ❌️ (Opens.map (colimit.ι (F ⋙ forget C) j)).toPrefunctor.1 ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U) =?= (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).toPrefunctor.1 (unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.016889] ❌️ { carrier := ⇑(ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)) ⁻¹' ↑((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U), is_open' := ⋯ } =?= { carrier := ⇑(ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base) ⁻¹' ↑(unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))), is_open' := ⋯ } [Meta.isDefEq] [0.016868] ❌️ ⇑(ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)) ⁻¹' ↑((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U) =?= ⇑(ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base) ⁻¹' ↑(unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq.delta] [0.013665] ❌️ ⇑(ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)) ⁻¹' ↑((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U) =?= ⇑(ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base) ⁻¹' ↑(unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.013661] ❌️ ⇑(ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)) =?= ⇑(ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base) [Meta.isDefEq] [0.013651] ❌️ ((fun X Y ↦ ContinuousMap.instFunLike) (↑(F.obj j)) (Limits.colimit (F ⋙ forget C))).1 (ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)) =?= ((fun X Y ↦ ContinuousMap.instFunLike) ↑(F.obj j) ↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt).1 (ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base) [Meta.isDefEq] [0.013633] ❌️ (ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)).toFun =?= (ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).toFun [Meta.isDefEq] [0.013622] ❌️ (ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)).1 =?= (ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).1 [Meta.isDefEq] [0.021315] ❌️ eqToHom ?p =?= eqToHom ⋯ [Meta.isDefEq] [0.021164] ❌️ ?p =?= colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.010396] ✅️ (toPrefunctor ?F).map (eqToHom ?p) =?= (F.obj j).presheaf.map (eqToHom ⋯) [Meta.isDefEq.delta] [0.010372] ✅️ (toPrefunctor ?F).map (eqToHom ?p) =?= (F.obj j).presheaf.map (eqToHom ⋯) [Meta.isDefEq] [0.010074] ✅️ eqToHom ?p =?= eqToHom ⋯ [Meta.isDefEq] [0.010047] ✅️ ?p =?= colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq.assign] [0.010045] ✅️ ?p := colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq.assign.checkTypes] [0.010004] ✅️ (?p : op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = op ((Opens.map (colimit.ι F j).base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)))) := (colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) : (Opens.map ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.010000] ✅️ op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = op ((Opens.map (colimit.ι F j).base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) =?= (Opens.map ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) info: Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.lean:319:8: [Elab.async] [0.056169] Lean.addDecl [Kernel] [0.056142] typechecking declarations [AlgebraicGeometry.PresheafedSpace.colimitPresheafObjIsoComponentwiseLimit_inv_ι_app] ```
t-algebraic-geometry 0/6 Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.lean 1 2 ['euprunin', 'github-actions'] nobody none
16-48676
16 days ago
16-69590
16 days ago
16-69636
16 days
27944 grunweg
author:grunweg
feat: lint module names with a period This would have caught the mis-placed file in #27796. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter 16/0 Mathlib/Tactic/Linter/TextBased.lean,scripts/lint-style.lean 2 2 ['github-actions', 'grunweg'] nobody none
16-26819
16 days ago
16-26889
16 days ago
16-26873
16 days
26644 kckennylau
author:kckennylau
feat(SetTheory/ZFC): Define the language of sets and state the ZFC axioms --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 381/0 Mathlib.lean,Mathlib/SetTheory/ZFC/Axioms.lean,docs/references.bib 3 46 ['github-actions', 'kckennylau', 'leanprover-community-bot-assistant', 'staroperator', 'vihdzp'] nobody none
15-52554
15 days ago
15-52574
15 days ago
36-81913
36 days
27995 kckennylau
author:kckennylau
feat(RingTheory/Valuation): alternate constructors for Valuation --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 69/0 Mathlib/FieldTheory/RatFunc/Degree.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/RingTheory/Valuation/Basic.lean 3 18 ['YaelDillies', 'github-actions', 'kckennylau', 'pechersky'] nobody none
15-17148
15 days ago
15-23312
15 days ago
15-23295
15 days
27392 Paul-Lez
author:Paul-Lez
feat(Tactic/SimpUtils): add simproc finding commands This PR adds some commands to allow users to find simprocs/dsimprocs/simp theorems that match on a given pattern. Thanks to Robin Arnez for telling me about `simprocDeclExt` :) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 690/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/SimpUtils.lean,MathlibTest/SimpUtils.lean 4 8 ['Paul-Lez', 'eric-wieser', 'github-actions'] nobody none
15-15379
15 days ago
15-15474
15 days ago
17-16144
17 days
28025 kim-em
author:kim-em
feat: grind annotations in Logic/Equiv/Defs t-logic 153/80 Mathlib/Logic/Equiv/Array.lean,Mathlib/Logic/Equiv/Defs.lean,Mathlib/Logic/Equiv/Embedding.lean,Mathlib/Logic/Equiv/Finset.lean,Mathlib/Logic/Equiv/Fintype.lean,Mathlib/Logic/Equiv/Option.lean,Mathlib/Logic/Equiv/Prod.lean 7 6 ['github-actions', 'kim-em', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] nobody none
14-57883
14 days ago
14-69656
14 days ago
14-75021
14 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/) t-data new-contributor 28/0 Mathlib/Data/Rat/Lemmas.lean 1 14 ['github-actions', 'sinianluoye', 'themathqueen'] nobody none
13-28014
13 days ago
15-1017
15 days ago
15-29071
15 days
28111 euprunin
author:euprunin
chore: remove tactic `simp_lex` and use `simp` instead Motivation: `simp_lex` is just shorthand for `refine toLex.surjective.forall₃.2 ?_; rintro (a | a) (b | b) (c | c) <;> simp`, so plain `simp` seems preferable. t-data 4/10 Mathlib/Data/Sum/Interval.lean 1 5 ['eric-wieser', 'euprunin', 'github-actions'] nobody none
12-39087
12 days ago
12-39170
12 days ago
12-46801
12 days
28140 YaelDillies
author:YaelDillies
feat: a `PointedCone`-valued version of `Submodule.span` This is merely to guide typing. From Toric --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry toric 10/1 Mathlib/Geometry/Convex/Cone/Pointed.lean 1 1 ['github-actions'] nobody none
11-65185
11 days ago
11-65185
11 days ago
11-65333
11 days
28115 bwangpj
author:bwangpj
feat(AlgebraicGeometry/EllipticCurve): reduction of elliptic curves Define the reduction of elliptic curves over the fraction field of a DVR, following Silverman. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebraic-geometry 230/1 Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean,Mathlib/RingTheory/Valuation/Discrete/Basic.lean 3 14 ['Multramate', 'bwangpj', 'github-actions', 'kbuzzard'] nobody none
10-74384
10 days ago
12-65030
12 days ago
12-65075
12 days
28164 bryangingechen
author:bryangingechen
fix(Cache): add put* commands to leanTarArgs Without this, running `lake exe cache put` fails if `leantar` is not already installed. --- What label should this get? `CI` and `t-meta` don't seem right. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) easy 2/2 Cache/Main.lean 1 1 ['github-actions'] nobody none
10-51124
10 days ago
11-14150
11 days ago
11-14134
11 days
28195 gasparattila
author:gasparattila
feat: separating a convex compact set and its neighborhood with a polytope --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis 26/1 Mathlib/Analysis/Normed/Affine/Convex.lean 1 2 ['FrankieNC', 'github-actions'] nobody none
10-13299
10 days ago
10-17356
10 days ago
10-17410
10 days
28119 JasperMS
author:JasperMS
feat(Data/Set/Pairwise): prove pairwise results for Chains, move `Set.pairwise_iUnion₂` Initiate a new file `Data/Set/Pairwise/Chain.lean` which makes some `Pairwise` results available to the `IsChain` predicate. In the process, move `Set.pairwise_iUnion₂` to group it with similar results. Perform some variable harmonization. Part of Carleson, original result by Edward van de Meent. Moves: - Set.pairwise_iUnion₂: from Data.Set.Lattice to Data.Set.Pairwise.Lattice --- This PR was discussed and advice was given in [#mathlib4 > Novice questions on style and structure](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Novice.20questions.20on.20style.20and.20structure/with/533462814). Many thanks to those who helped me out! Mathlib PRs are still new to me, so please point out where I can improve! [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) carleson t-data new-contributor 56/12 Mathlib.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/Data/Set/Pairwise/Chain.lean,Mathlib/Data/Set/Pairwise/Lattice.lean 4 11 ['JasperMS', 'Ruben-VandeVelde', 'edegeltje', 'github-actions'] nobody none
9-72336
9 days ago
12-40632
12 days ago
12-41075
12 days
28077 ShreckYe
author:ShreckYe
feat(Data/Finset/Card): add some more Pigeonhole Principle theorems `exists_ne_map_eq_of_card_image_lt` and `not_injOn_of_card_image_lt` `exists_ne_map_eq_of_card_image_lt` is a special case of `exists_ne_map_eq_of_card_lt_of_maps_to` where `t` is `s.image f`, and `not_injOn_of_card_image_lt` is its variant using `Set.InjOn`. I ran into some cases where such theorems would save me some time. t-data new-contributor 10/0 Mathlib/Data/Finset/Card.lean 1 4 ['ShreckYe', 'github-actions', 'themathqueen'] nobody none
9-42125
9 days ago
13-53907
13 days ago
13-53955
13 days
28045 ShreckYe
author:ShreckYe
feat(Data/Finset/Image): add `subset_univ_image_iff` This is a special case of `subset_image_iff`, which corresponds to `Set.subset_range_iff_exists_image_eq` for `Set`. t-data new-contributor 13/0 Mathlib/Data/Finset/Image.lean 1 2 ['github-actions', 'themathqueen'] nobody none
9-42020
9 days ago
14-38812
14 days ago
14-38874
14 days
28139 YaelDillies
author:YaelDillies
refactor: make the cone explicit in `ConvexCone.toPointedCone` Otherwise it is impossible to know which cone we are talking about from the infoview as proofs are elided. From Toric --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry toric maintainer-merge 3/3 Mathlib/Analysis/Convex/Cone/Closure.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean 2 2 ['Ruben-VandeVelde', 'github-actions'] nobody 1
9-17613
9 days ago
9-17613
9 days ago
11-65907
11 days
28226 ShreckYe
author:ShreckYe
feat(Data/Finset): `Multiset.eq_of_le_of_card_eq` and `Finset.eq_of_subet_of_card_eq` As the conditions `s ⊆ t` for `Finset` and `s ≤ t` for `Multiset` both imply `card s ≤ card t`, the conditions `card t ≤ card s` in both `Finset.eq_of_subset_of_card_le` and `Multiset.eq_of_le_of_card_le` can be specialized to `card s = card t`, and due to this I'd argue `card s = card t` might be more common than `card t ≤ card s` in some cases. A similar theorem `Sublist.eq_of_length` for `Sublist` is already available in Lean. Adding these two theorems can aid proof search in such cases. t-data new-contributor easy 6/0 Mathlib/Data/Finset/Card.lean,Mathlib/Data/Multiset/Defs.lean 2 3 ['Ruben-VandeVelde', 'ShreckYe', 'github-actions'] nobody none
8-62550
8 days ago
9-56242
9 days ago
9-56295
9 days
28241 alreadydone
author:alreadydone
chore(Data): `SetLike Finset` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 54/62 Counterexamples/AharoniKorman.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Combinatorics/Additive/RuzsaCovering.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/WalkCounting.lean,Mathlib/Data/DFinsupp/Defs.lean,Mathlib/Data/Finset/Defs.lean,Mathlib/Data/Finset/Insert.lean,Mathlib/Data/Finset/Union.lean,Mathlib/FieldTheory/Perfect.lean,Mathlib/GroupTheory/Perm/Centralizer.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/LinearAlgebra/Finsupp/LinearCombination.lean,Mathlib/LinearAlgebra/Finsupp/Supported.lean,Mathlib/LinearAlgebra/LinearIndependent/Basic.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/Order/CountableDenseLinearOrder.lean,Mathlib/Probability/Independence/Kernel.lean,Mathlib/RingTheory/Ideal/Quotient/Index.lean,Mathlib/RingTheory/IntegralClosure/IsIntegral/Basic.lean,Mathlib/RingTheory/Spectrum/Prime/Polynomial.lean,Mathlib/Topology/Separation/Basic.lean 25 1 ['github-actions'] nobody none
8-52994
8 days ago
8-52994
8 days ago
8-52978
8 days
28242 robin-carlier
author:robin-carlier
feat(CategoryTheory/Bicategory): EqToHom for bicategories We generalize the `eqToHom` construction from `Category` to `CategoryStruct`, allowing its usage in bicategorical contexts. We introduce a file `CategoryTheory/Bicategory/EqToHom` that records some of the properties of `eqToHom`s 1-morphisms and 2-morphisms, such as the transitivity up to isomorphism of `eqToHom` 1-morphisms, and congruence lemmas for unitors, associators and whiskering with respects to `eqToHom` 2-morphisms. This generalization and these congruence lemmas will be used to define icons between lax functors, and work with categories of strictly unitary lax/pseudo-functors (e.g for pseudocomposable arrows and lax-composable arrows in bicategories, which are part of the definitions of nerve constructions in bicategories). --- A follow-up PR will move some existing `eqToHom`-related lemmas from `CategoryTheory/Bicategory/Strict` to this new file. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 150/4 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/EqToHom.lean,Mathlib/CategoryTheory/EqToHom.lean 3 1 ['github-actions'] nobody none
8-49436
8 days ago
8-49443
8 days ago
9-39328
9 days
27634 agjftucker
author:agjftucker
fix(Analysis/Calculus/Implicit): consistently rename {`map`, `fun`, `function`} to `fun` There are several clear naming issues in the file Implicit.lean, such as ``` theorem prod_map_implicitFunction : ∀ᶠ p : F × G in 𝓝 (φ.prodFun φ.pt), φ.prodFun (φ.implicitFunction p.1 p.2) = p := ``` where `prod_map` and `prodFun` both refer to the same thing. In this PR I have done my best to resolve these as consistently as possible by renaming everything `map`, also everything `function`, to `fun`. This has the added benefit of making some long names a little shorter. In passing I rewrapped some comments and replaced `haveI` with `have` where it had been used like `haveI` in Lean 3. Moves: - ImplicitFunctionData -> ImplicitFunData - ImplicitFunctionData.implicitFunction -> ImplicitFunData.implicitFun - ImplicitFunctionData.prod_map_implicitFunction -> ImplicitFunData.prodFun_implicitFun - ImplicitFunctionData.left_map_implicitFunction -> ImplicitFunData.leftFun_implicitFun - ImplicitFunctionData.right_map_implicitFunction -> ImplicitFunData.rightFun_implicitFun - ImplicitFunctionData.implicitFunction_apply_image -> ImplicitFunData.implicitFun_apply_image - ImplicitFunctionData.implicitFunction_hasStrictFDerivAt -> ImplicitFunData.hasStrictFDerivAt_implicitFun - HasStrictFDerivAt.implicitFunctionDataOfComplemented -> HasStrictFDerivAt.implicitFunDataOfComplemented - HasStrictFDerivAt.implicitFunctionOfComplemented -> HasStrictFDerivAt.implicitFunOfComplemented - HasStrictFDerivAt.map_implicitFunctionOfComplemented_eq -> HasStrictFDerivAt.map_implicitFunOfComplemented_eq - HasStrictFDerivAt.eq_implicitFunctionOfComplemented -> HasStrictFDerivAt.eq_implicitFunOfComplemented - HasStrictFDerivAt.implicitFunctionOfComplemented_apply_image -> HasStrictFDerivAt.implicitFunOfComplemented_apply_image - HasStrictFDerivAt.to_implicitFunctionOfComplemented -> HasStrictFDerivAt.to_implicitFunOfComplemented - HasStrictFDerivAt.implicitFunction -> HasStrictFDerivAt.implicitFun - HasStrictFDerivAt.tendsto_implicitFunction -> HasStrictFDerivAt.tendsto_implicitFun - _root_.Filter.Tendsto.implicitFunction -> _root_.Filter.Tendsto.implicitFun - HasStrictFDerivAt.map_implicitFunction_eq -> HasStrictFDerivAt.map_implicitFun_eq - HasStrictFDerivAt.implicitFunction_apply_image -> HasStrictFDerivAt.implicitFun_apply_image - HasStrictFDerivAt.eq_implicitFunction -> HasStrictFDerivAt.eq_implicitFun - HasStrictFDerivAt.to_implicitFunction -> HasStrictFDerivAt.to_implicitFun --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 165/121 Mathlib/Analysis/Calculus/Implicit.lean,docs/1000.yaml,docs/overview.yaml,docs/undergrad.yaml 4 1 ['github-actions'] nobody none
8-31858
8 days ago
8-31859
8 days ago
22-48445
22 days
26192 kckennylau
author:kckennylau
feat(LinearAlgebra): symmetric tensor power This file defines the symmetric tensor power of a module over a ring. The finite powers will form a grading of the symmetric algebra. The n-th symmetric R-tensor power of M will also correspond to global sections of a line bundle on Proj(M) of degree n. It also has a universal property where maps out of it correspond to symmetric multilinear forms. --- Zulip: [#mathlib4 > Proposal: Symmetric Tensor Power](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Proposal.3A.20Symmetric.20Tensor.20Power/with/524795235) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
137/0 Mathlib.lean,Mathlib/LinearAlgebra/TensorPower/Symmetric.lean 2 12 ['AntoineChambert-Loir', 'erdOne', 'eric-wieser', 'github-actions', 'kckennylau', 'mattrobball'] nobody none
8-30864
8 days ago
9-64137
9 days ago
59-12912
59 days
28321 kim-em
author:kim-em
chore: make OmegaCompletePartialOrder a mixin I've noted typeclass searches often getting distracted looking for a `OmegaCompletePartialOrder` when they just want an `LE` or a `Preorder`. Let's benchmark to see it if has a nontrivial effect. Not certain if this is desirable if the performance change is neutral (or even negative). 68/43 Mathlib/Control/LawfulFix.lean,Mathlib/Data/Nat/Nth.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean,Mathlib/Order/Category/OmegaCompletePartialOrder.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Topology/OmegaCompletePartialOrder.lean 6 4 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] nobody none
7-74040
7 days ago
7-74040
7 days ago
7-83994
7 days
28292 bwangpj
author:bwangpj
feat(Geometry/Manifold/ContMDiff): add product lemmas for `ContMDiff` Add product lemmas for `ContMDiff`. These are analogous to the corresponding lemmas for `Continuous` in [`Mathlib.Topology.Constructions.SumProd`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Constructions/SumProd.html#ContinuousAt.comp%E2%82%82). 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/) new-contributor 42/0 Mathlib/Geometry/Manifold/ContMDiff/Constructions.lean 1 1 ['github-actions'] nobody none
7-72553
7 days ago
8-39258
8 days ago
8-39251
8 days
27552 Equilibris
author:Equilibris
refactor: make universe levels visible in typevec This will be needed to allow `M.corec` to be generic across universes --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 16/10 Mathlib/Data/TypeVec.lean 1 9 ['Equilibris', 'eric-wieser', 'github-actions', 'plp127'] nobody 1
7-68981
7 days ago
8-21400
8 days ago
24-33920
24 days
28150 Equilibris
author:Equilibris
chore: clean up proofs typevec proofs While adding variable universe corecs I found a lot of theorems in typevec that could do with a bit of a clean-up --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 24/26 Mathlib/Data/TypeVec.lean 1 6 ['Equilibris', 'alexkeizer', 'github-actions'] nobody 1
7-61029
7 days ago
7-61029
7 days ago
11-56627
11 days
28185 Sebi-Kumar
author:Sebi-Kumar
feat(Topology/Path): add theorem about casting with rfl Prove the trivial result `p.cast rfl rfl = p` for a path `p`, which serves as a useful result for the simplifier to know. Suggested by Aaron Liu at the discussion [#Is there code for X? > Dealing with `Path.cast`](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Dealing.20with.20.60Path.2Ecast.60). --- To provide additional context, I am relatively new when it comes to contributing to Mathlib, and I am doing so as a part of the Fields Undergraduate Summer Research Program hosted at the University of Western Ontario under the supervision of Chris Kapulkin and Daniel Carranza. My goal is to contribute that the `n`-sphere is simply connected for `n > 1`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology easy 2/0 Mathlib/Topology/Path.lean 1 1 ['github-actions', 'kckennylau', 'plp127'] nobody 2
7-42014
7 days ago
7-42014
7 days ago
10-34138
10 days
28325 pechersky
author:pechersky
feat(WithZeroTopology): `locallyCompactSpace_iff_locallyFiniteOrder_units` On the way to golf/generalize the proof that locally compact valued fields have locally finite valuation groups as embodied in `Valued.integer.locallyFiniteOrder_units_mrange_of_isCompact_integer` ] --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-order t-topology 160/2 Mathlib/Topology/Algebra/GroupWithZero.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean,Mathlib/Topology/Compactness/Compact.lean 3 1 ['github-actions'] nobody none
7-39214
7 days ago
7-70032
7 days ago
7-72742
7 days
28350 themathqueen
author:themathqueen
feat(Topology/Algebra/Module/LinearMap): `range (f.smulRight x) = span {x}` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-topology
label:t-algebra$
14/0 Mathlib/Topology/Algebra/Module/LinearMap.lean 1 2 ['github-actions', 'themathqueen'] nobody none
7-32200
7 days ago
7-33508
7 days ago
7-36099
7 days
28337 joelriou
author:joelriou
feat(AlgebraicTopology): nondegenerate simplices in the nerve of a partially ordered type In this PR, we show that nondegenerate simplices in the nerve of a partially ordered type `X` correspond to strictly monotone functions `Fin (n + 1) → X`. (Incidentally, better normal formal are used for the RHS of lemmas involving (non)degenerate simplices of dimension `0`.) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology 102/11 Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialNerve.lean,Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/Nerve.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveNondegenerate.lean 5 1 ['github-actions'] nobody none
7-25743
7 days ago
7-53226
7 days ago
7-53210
7 days
28182 themathqueen
author:themathqueen
feat(Data/Matrix/Basis): `center (Matrix n n α) = scalar n '' center α` The center of `Matrix n n α` is trivial for semiring `α`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 39/13 Mathlib/Algebra/Central/Matrix.lean,Mathlib/Data/Matrix/Basis.lean 2 37 ['eric-wieser', 'github-actions', 'kckennylau', 'themathqueen'] nobody none
7-23496
7 days ago
10-39494
10 days ago
10-39539
10 days
25292 YaelDillies
author:YaelDillies
feat: the `ConvexCone` generated by a set Define `ConvexCone.copy` and `ConvexCone.hull` and use them to golf the `CompleteLattice` instance. From Toric --- - [x] depends on: #25291 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry toric 94/35 Mathlib/Analysis/Convex/Cone/Basic.lean,Mathlib/Geometry/Convex/Cone/Basic.lean 2 8 ['YaelDillies', 'b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody none
7-20436
7 days ago
24-53377
24 days ago
62-5304
62 days
27390 alreadydone
author:alreadydone
feat(FieldTheory/Galois): normal basis theorem Co-authored-by: Madison Crim @maddycrim Co-authored-by: Aaron Liu @plp127 Co-authored-by: Justus Springer @justus-springer from [*Formalizing Class Field Theory*](https://www.claymath.org/events/formalizing-class-field-theory/) --- - [x] depends on: #27355 - [x] depends on: #27368 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
156/1 Mathlib.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Polynomial/Module/AEval.lean,Mathlib/FieldTheory/Galois/NormalBasis.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean,Mathlib/LinearAlgebra/LinearIndependent/Basic.lean,docs/references.bib 7 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody none
7-16300
7 days ago
7-18088
7 days ago
7-18071
7 days
27842 alreadydone
author:alreadydone
chore(MonoidLocalization): get rid of Submonoid.LocalizationWithZeroMap because every `Submonoid.LocalizationMap` automatically preserves zero. Also removes a condition from `isLeftRegular_of_le_isCancelMulZero` by proving `map_isRegular`, which is used to prove other related lemmas. `toMap_injective_iff` is moved from MonoidWithZero.lean to Basic.lean. --- `Submonoid.LocalizationMap` could potentially be made a FunLike and MonoidWithZeroHomClass, but it's also reasonable (and maybe useful) to unbundle it and use the same predicate as `IsLocalization`. - [x] depends on: #27791 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
81/98 Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/RingTheory/Localization/Defs.lean,Mathlib/RingTheory/OrderOfVanishing.lean 4 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody none
7-15785
7 days ago
18-5740
18 days ago
18-5724
18 days
26988 YaelDillies
author:YaelDillies
feat(Rel): more API Some of this API already exists in `Topology.UniformSpace.Defs` but not spelled with `SetRel`, some of it was written for #24173. --- `Topology.UniformSpace.Defs` will be refactored to use these new lemmas in #23181. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 179/8 Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Data/Rel.lean 2 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody none
6-53453
6 days ago
7-68864
7 days ago
40-43104
40 days
28220 kim-em
author:kim-em
chore: cleanup three #adaptation_notes --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge 5/26 Mathlib/Data/Bool/Basic.lean,Mathlib/Logic/Function/Defs.lean,Mathlib/Tactic/NormNum/Pow.lean 3 6 ['bryangingechen', 'github-actions', 'grunweg', 'kim-em', 'mathlib4-merge-conflict-bot'] nobody none
6-52008
6 days ago
7-6504
7 days ago
9-22406
9 days
28356 JovanGerb
author:JovanGerb
chore(Data/Rat/Cast/CharZero): rename `Rat.cast_mk` to `Rat.cast_divInt` The symbol `/.` is notation for `Rat.divInt`, not `Rat.mk`, so this PR renames `Rat.cast_mk` to `Rat.cast_divInt`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 5/3 Mathlib/Data/Rat/Cast/CharZero.lean,Mathlib/Data/Rat/Defs.lean,Mathlib/Data/Real/Irrational.lean 3 1 ['github-actions'] nobody none
6-47552
6 days ago
7-21351
7 days ago
7-21397
7 days
28312 LLaurance
author:LLaurance
feat(Combinatorics/SimpleGraph): minimum degree of nontrivial tree is one Add basic facts about nontrivial preconnected SimpleGraphs and that a nontrivial tree has a vertex of degree one. The motivation for this is to ultimately show that any connected graph contains a vertex that, when removed, leaves the graph connected. Any connected graph has a spanning tree which contains a vertex of degree one that fulfils the role of the vertex to be removed. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-combinatorics 33/2 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean 2 6 ['LLaurance', 'eric-wieser', 'github-actions'] nobody none
6-31087
6 days ago
8-8948
8 days ago
8-17086
8 days
27163 pechersky
author:pechersky
feat(Topology/ValuativeRel): of and to basis of compatible valuations --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-topology t-number-theory
label:t-algebra$
205/25 Mathlib/RingTheory/Valuation/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean 2 26 ['github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'pechersky'] nobody none
5-78845
5 days ago
7-34404
7 days ago
36-14723
36 days
26588 faenuccio
author:faenuccio
feat(Algebra/GroupWithZero/WithZero): add the multiplicative embedding with zero from the range We extend the embedding of the range of a `MonoidWithZeroHom` to the codomain by enriching it with the strucutre of an ordered, multiplicative embedding. In passing, we extend some results about the embedding of `WithZero` of the units of a group with zero, to the group itself. Co-authored by: María Inés de Frutos Fernández @mariainesdff --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order t-algebra
label:t-algebra$
145/10 Mathlib.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean,Mathlib/Algebra/Order/GroupWithZero/WithZero.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean 6 27 ['faenuccio', 'github-actions', 'leanprover-community-bot-assistant', 'pechersky'] nobody none
5-34459
5 days ago
7-41846
7 days ago
12-61933
12 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/) new-contributor t-differential-geometry 36/0 Mathlib/Geometry/Manifold/ContMDiff/Defs.lean 1 2 ['girving', 'github-actions'] nobody none
3-52103
3 days ago
8-50442
8 days ago
8-50487
8 days
28338 themathqueen
author:themathqueen
feat(Analysis/InnerProductSpace/IsPositive): `(adjoint S ∘ S).IsPositive` and `(S ∘ adjoint S).IsPositive` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis easy 16/0 Mathlib/Analysis/InnerProductSpace/Positive.lean 1 1 ['github-actions'] nobody none
2-40145
2 days ago
7-52687
7 days ago
7-52691
7 days
27973 smmercuri
author:smmercuri
feat: the ring of integers of a `ℤₘ₀`-valued field is compact whenever it is a DVR and the residue field is finite This PR continues the work from #21844. Original PR: https://github.com/leanprover-community/mathlib4/pull/21844 large-import 54/2 Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/Topology/Algebra/Valued/WithZeroMulInt.lean 2 1 ['github-actions'] nobody none
1-51374
1 day ago
8-31717
8 days ago
8-31732
8 days
28316 eric-wieser
author:eric-wieser
feat(Tactic/NormNum): better trace nodes Comparing the infoview on the first example in the test file | Before | After | |---|---| | image | image| In the after version, the extension names are all clickable. Similar to #21450. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 138/5 Mathlib.lean,Mathlib/Tactic/NormNum/Core.lean,Mathlib/Util/Trace.lean,MathlibTest/norm_num_trace.lean 4 6 ['eric-wieser', 'github-actions', 'leanprover-bot', 'plp127'] nobody none
1-4924
1 day ago
8-9505
8 days ago
8-9494
8 days
19872 YaelDillies
author:YaelDillies
chore(GroupTheory/Index): rename `relindex` to `relIndex` Zulip discussion about renaming: [#PR reviews > #19872 rename relindex to relIndex @ 💬](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2319872.20rename.20relindex.20to.20relIndex/near/515908054) --- - [x] depends on: #24044 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) FLT maintainer-merge t-algebra
label:t-algebra$
288/182 Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/FieldTheory/Relrank.lean,Mathlib/GroupTheory/Commensurable.lean,Mathlib/GroupTheory/CosetCover.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/IndexNormal.lean,Mathlib/GroupTheory/PGroup.lean,Mathlib/GroupTheory/Schreier.lean,Mathlib/GroupTheory/SchurZassenhaus.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/GroupTheory/Transfer.lean,Mathlib/LinearAlgebra/FreeModule/Finite/CardQuotient.lean,Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean,Mathlib/NumberTheory/NumberField/Discriminant/Different.lean,Mathlib/NumberTheory/NumberField/Units/Regulator.lean,Mathlib/RingTheory/Ideal/Quotient/Index.lean 17 27 ['Ruben-VandeVelde', 'TwoFX', 'YaelDillies', 'alreadydone', 'eric-wieser', 'github-actions', 'kbuzzard', 'leanprover-community-bot-assistant', 'loefflerd', 'madvorak', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'tb65536'] nobody 1
0-60235
16 hours ago
7-55242
7 days ago
200-68756
200 days
26330 Timeroot
author:Timeroot
"Junk value" test file This PR continues the work from #25173. Original PR: https://github.com/leanprover-community/mathlib4/pull/25173 t-data 360/0 MathlibTest/Junk.lean 1 3 ['Timeroot', 'github-actions', 'leanprover-community-bot-assistant'] nobody none
0-39438
10 hours ago
41-17920
1 month ago
56-66802
56 days
26331 Timeroot
author:Timeroot
feat(Algebra/Polynomial): Descartes' Rule of signs This PR continues the work from #23681. Original PR: https://github.com/leanprover-community/mathlib4/pull/23681 t-algebra
label:t-algebra$
616/3 Mathlib.lean,Mathlib/Algebra/Polynomial/CoeffList.lean,Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Algebra/Polynomial/RuleOfSigns.lean 5 5 ['Timeroot', 'adomani', 'github-actions'] nobody none
0-28801
8 hours ago
57-80551
1 month ago
57-80595
57 days
27212 CBirkbeck
author:CBirkbeck
Cot series iterated deriv within --- - [x] depends on: #27209 - [x] depends on: #26016 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 237/2 Mathlib/Analysis/Complex/IntegerCompl.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean 4 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody none
0-28279
7 hours ago
8-57621
8 days ago
8-71582
8 days
25899 pfaffelh
author:pfaffelh
feat(Topology/Compactness/CompactSystem): introduce compact Systems A compact system is a set systems with the property that, whenever a countable intersections of sets in the set system is empty, there is a finite subset of sets with empty intersection. These are needed e.g. in measure theory if one wants to show sigma-additivity of a set function on a ring. * Main result: The set of sets which are either compact and closed, or `univ`, is a compact system. * Introduce `Dissipate s x := ⋂ y ≤ x, s y` (Data/Set/Dissipate), which is parallel to Data/Set/Accumulate. Co-authored-by: Rémy Degenne remydegenne@gmail.com --- *This PR continues the work from #24541.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24541* t-topology 471/14 Mathlib.lean,Mathlib/Data/Set/Accumulate.lean,Mathlib/Data/Set/Dissipate.lean,Mathlib/MeasureTheory/PiSystem.lean,Mathlib/Topology/Compactness/CompactSystem.lean 5 13 ['github-actions', 'pfaffelh', 'sgouezel'] nobody none
0-18139
5 hours ago
25-38544
25 days ago
41-10608
41 days
25794 dagurtomas
author:dagurtomas
feat(CategoryTheory): localization preserves braided structure --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24485.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24485* file-removed t-category-theory 733/427 Mathlib.lean,Mathlib/CategoryTheory/Localization/Monoidal.lean,Mathlib/CategoryTheory/Localization/Monoidal/Basic.lean,Mathlib/CategoryTheory/Localization/Monoidal/Braided.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Sites/Monoidal.lean 6 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody none
0-15519
4 hours ago
46-75991
1 month ago
22-63640
22 days
26120 vasnesterov
author:vasnesterov
feat(Data/Seq): `update` and `set` operations for `Seq` Introduce `modify` and `set` operations for sequences, along with a few lemmas about them. --- - [x] depends on: #20071 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) This PR continues the work from #20160. Original PR: https://github.com/leanprover-community/mathlib4/pull/20160 t-data 69/0 Mathlib/Data/Seq/Seq.lean 1 4 ['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'vasnesterov'] nobody none
0-15023
4 hours ago
63-20340
2 months ago
63-20390
63 days
26738 javra
author:javra
feat(AlgebraicToplogy/SimplexCategory): add notation for faces and degeneracies general truncated simplex categories --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology infinity-cosmos 43/32 Mathlib/AlgebraicTopology/SimplexCategory/Truncated.lean,Mathlib/AlgebraicTopology/SimplicialSet/HomotopyCat.lean 2 4 ['emilyriehl', 'github-actions', 'leanprover-community-bot-assistant'] nobody none
0-1452
24 minutes ago
19-47751
19 days ago
33-38754
33 days
26829 pechersky
author:pechersky
feat(RingTheory/Valuation): Valuation.leAddSubgroup and ideal/submodule versions of ltAddSubgroup Extracted from #25450 without changing how Valued works --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) @faenuccio hopefully this bypasses any wait on #14752 because I am not changing Valued files. t-ring-theory 172/0 Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/Integers.lean 2 3 ['JovanGerb', 'github-actions', 'mathlib4-merge-conflict-bot'] nobody none
0-1451
24 minutes ago
12-23774
12 days ago
44-84694
44 days
27244 xroblot
author:xroblot
feat(RingTheory/DedekindDomain): lifting an ideal in an extension is injective This PR develops some API for [FractionalIdeal.extended](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/FractionalIdeal/Extended.html#FractionalIdeal.extended) and in particular for when it is an injective map (for an algebra map). As a consequence, it deduces the fact that lifting an integral ideal in an extension of Dedekind domains is an injective map. Note: the import increase happens in a leaf file `Mathlib.RingTheory.FractionalIdeal.Extended` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import 190/5 Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/Localization/Basic.lean 3 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody none
0-1450
24 minutes ago
16-27816
16 days ago
33-53809
33 days
27657 euprunin
author:euprunin
chore(Geometry/RingedSpace): remove use of `erw` in `forget_preservesLimitsOfLeft` t-algebraic-geometry 5/2 Mathlib/Geometry/RingedSpace/OpenImmersion.lean 1 1 ['github-actions'] nobody none
0-1450
24 minutes ago
22-10020
22 days ago
22-10067
22 days
27992 staroperator
author:staroperator
feat(Algebra): cancellation inheritance This PR: 1. adds `Is{Left,Right}Cancel{Add,Mul,MulZero}` instances for `{Add,Mul,MulZero}MemClass` etc. 2. duplicates such instances for `Subsemiring` and `Subalgebra`, following #27955 (which is for `Submonoid` and `Submodule`). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
74/1 Mathlib.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/Algebra/Group/Subsemigroup/Defs.lean,Mathlib/Algebra/GroupWithZero/Submonoid/CancelMulZero.lean,Mathlib/Algebra/Module/Submodule/Defs.lean,Mathlib/Algebra/Ring/Subsemiring/Defs.lean 7 7 ['Vierkantor', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'staroperator'] nobody none
0-1449
24 minutes ago
9-10107
9 days ago
15-20274
15 days
28124 kckennylau
author:kckennylau
feat(Tactic): Call an arbitrary Simproc In the current framework, `Simproc`s are declared by name, and can only be referred to by name. For example, [Nat.divisors_ofNat](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Tactic/Simproc/Divisors.html#Nat.divisors_ofNat) is declared as: ```lean dsimproc_decl Nat.divisors_ofNat (Nat.divisors _) := fun e => do ``` This declaration syntax does not allow for a `Simproc` to depend on any arguments, and even if one constructed a `Simproc` that depends on e.g. a natural number, such as `foo : ℕ → Simproc`, one still cannot call it using the syntax `by simp [foo 37]`. Therefore, this new function aims to solve this problem, by allowing an arbitrary `Simproc` to be executed, using the newly defined function `Lean.Meta.Simp.Simproc.apply (s : Simproc) : TacticM Unit`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 99/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simproc/Apply.lean,MathlibTest/Simproc/Apply.lean 4 12 ['b-mehta', 'eric-wieser', 'github-actions', 'hrmacbeth', 'kckennylau'] nobody none
0-1448
24 minutes ago
12-9325
12 days ago
12-19525
12 days
28329 pechersky
author:pechersky
feat(RingTheory/Valuation): generalize CommGroupWithZero on mrange to MonoidWithZeroHom Before, they were only for Valuation, but that is too restricted --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-order t-algebra
label:t-algebra$
21/4 Mathlib/RingTheory/Valuation/Archimedean.lean,Mathlib/RingTheory/Valuation/Basic.lean 2 3 ['eric-wieser', 'github-actions', 'pechersky'] nobody none
0-1446
24 minutes ago
7-70019
7 days ago
7-70065
7 days
28287 robin-carlier
author:robin-carlier
chore(CategoryTheory/Bicategory): move `map₂_eqToHom` earlier in the import graph The lemma `PrelaxFunctor.map₂_eqToHom` currently sits in the file `CategoryTheory/Bicategory/LocallyDiscrete`. This has low discoverability, and it is unavailable to other files that deals with `eqToHoms`, such as `CategoryTheory/Bicategory/Functor/Strict`. We move the lemma in the file `Category/Bicategory/Functor/Prelax`. This comes at the cost of an extra import (`CategoryTheory.EqToHom`) in the file. The lemma is unsimped for consistency with the corresponding lemma for ordinary categories, which is intentionally not a simp lemma. We also sneak in the `eqToIso` version for completeness. --- Feel free to disagree with the extra import. I think putting this lemma closer to the definition of prelax functors is what makes most sense. An other possible home for this lemma is the file `CategoryTheory/Bicategory/EqToHom` that I introduce in #28242, but this would require that it imports prelax functors. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-category-theory 13/12 Mathlib/CategoryTheory/Bicategory/Functor/Prelax.lean,Mathlib/CategoryTheory/Bicategory/Grothendieck.lean,Mathlib/CategoryTheory/Bicategory/LocallyDiscrete.lean,Mathlib/CategoryTheory/FiberedCategory/Grothendieck.lean 4 1 ['github-actions'] nobody none
0-1446
24 minutes ago
8-48462
8 days ago
8-48978
8 days
28352 agjftucker
author:agjftucker
feat(Analysis): add three little theorems relating argument to image These relate argument to image under a continuous function, given a Prop that eventually holds on a product of filters in domain and codomain. In fact the second pair of statements concern a segment whose end-points are the image. They should prove useful in PRs 26300 and 26985. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 28/3 Mathlib/Analysis/Normed/Module/Convex.lean,Mathlib/Order/Filter/Prod.lean 2 1 ['github-actions'] nobody none
0-1445
24 minutes ago
7-26148
7 days ago
7-33339
7 days

Stale assigned PRs on the review queue

Number Author Title Description Labels +/- Modified files (first 100) 📝 💬 All users who commented or reviewed Assignee(s) Approval(s) Updated Last status change total time in review
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/) new-contributor t-combinatorics 187/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Cycle.lean 2 29 ['IvanRenison', 'github-actions'] kmill
assignee:kmill
none
91-967
2 months ago
118-84924
3 months ago
118-84975
118 days
22039 YaelDillies
author:YaelDillies
feat: simproc for computing `Finset.Ixx` of natural numbers --- - [x] depends on: #22290 - [x] depends on: #22559 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-meta 315/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simproc/FinsetInterval.lean,Mathlib/Util/Qq.lean 4 59 ['FLDutchmann', 'Paul-Lez', 'YaelDillies', 'eric-wieser', 'github-actions', 'grunweg', 'kim-em', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'urkud'] eric-wieser
assignee:eric-wieser
none
48-41161
1 month ago
126-54544
4 months ago
182-15263
182 days
11563 YaelDillies
author:YaelDillies
feat: `∑ i ∈ s with hi : p i, f i hi` syntax for big operators Define new notation for `Finset.sum`/`Finset.prod`. `∑ i ∈ s with hi : p i, f i hi` now is notation for `∑ i : s.filter p, f i.1 (mem_filter.1 i.2).2`. --- - [x] depends on: #6795 Other notations we could have are * `∑ hi : i ∈ s, f i hi` as notation for `∑ i : s, f i.1 i.2` * `∑ hi : i ∈ s with p i, f i hi` as notation for `∑ i : s.filter p, f i.1 (mem_filter.1 i.2).1` * `∑ hi : i ∈ s with hpi : p i, f i hi hpi` as notation for `∑ i : s.filter p, f i.1 (mem_filter.1 i.2).1 (mem_filter.1 i.2).2` but Eric seems mildly unhappy about them. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-meta
label:t-algebra$
27/18 Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean 1 28 ['YaelDillies', 'b-mehta', 'eric-wieser', 'github-actions', 'kbuzzard', 'kmill', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot'] kmill
assignee:kmill
none
36-33565
1 month ago
36-33589
1 month ago
198-21546
198 days
25864 plp127
author:plp127
feat(Nat/Digits): use fuel in `Nat.digits` Add a `fuel` parameter to `Nat.digitsAux` to make it structurally recursive. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 47/14 Mathlib/Data/Nat/Digits/Defs.lean 1 2 ['github-actions', 'leanprover-community-bot-assistant'] ericrbg
assignee:ericrbg
none
21-20607
21 days ago
32-11283
1 month ago
52-57841
52 days
25875 robin-carlier
author:robin-carlier
feat(CategoryTheory/Monoidal/Action): actions as monoidal functors to endofunctors Given a monoidal category `C` and a category `D`, we show that left actions of `C` on `D` correspond to monoidal functors `C ⥤ (D ⥤ D)ᴹᵒᵖ` by showing that the composition of `curriedAction C D` with `mopFunctor` is monoidal, and in the other direction by defining an action of `C` on `D` out of the data of such a monoidal functor. Similarly, we show that monoidal functors `C ⥤ (D ⥤ D)` correspond to right actions of `C` on `D`. We use this to define the "evaluation" right action of `(C ⥤ C)` (with the composition monoidal structure) on `C` as the action corresponding to the identity functor `(C ⥤ C) ⥤ (C ⥤ C)`. --- - [x] depends on: #25840 - [x] depends on: #25766 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 222/3 Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Action/Basic.lean,Mathlib/CategoryTheory/Monoidal/Action/End.lean,Mathlib/CategoryTheory/Monoidal/Opposite.lean 4 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] joelriou
assignee:joelriou
none
21-20606
21 days ago
46-40306
1 month ago
59-4789
59 days
26945 gasparattila
author:gasparattila
feat(LinearAlgebra/AffineSpace/AffineSubspace): basic properties of `sInf` and `iInf` These properties are analogous to the existing ones for the binary infimum. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
48/1 Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean 1 4 ['Ruben-VandeVelde', 'gasparattila', 'github-actions'] eric-wieser
assignee:eric-wieser
none
21-20599
21 days ago
42-25000
1 month ago
42-25046
42 days
26986 WangYiran01
author:WangYiran01
feat(Partition): add bijection for partitions with max part ≤ r ## Summary 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. ## Implementation notes - The proof uses `Multiset.erase` and `Multiset.cons` with basic properties of `sum`, `sup`, and `Partition` structures. - The bijection is implemented explicitly via `f` and `g`, and proven mutually inverse via `Subtype.ext`. ## Linting - [x] Passes `lake build` - [x] Linter clean (no commandStart or longLine issues) ## Author Contributed by Yiran Wang. new-contributor t-combinatorics 85/0 Mathlib/Combinatorics/Enumerative/Partition.lean 1 2 ['WangYiran01', 'github-actions'] b-mehta
assignee:b-mehta
none
21-20598
21 days ago
40-57801
1 month ago
40-57845
40 days
25889 plp127
author:plp127
fix(Tactic/Widget/Conv): fix various issues Fixes various issues with the `conv?` widget. Closes #25162. ([Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/bug.20in.20.60conv.3F.60)) Specifically, fixes issues with `conv?` where - when converting a `SubExpr.Pos` to conv directions, it always uses the goal expression as reference, even when working on a hypothesis, this often leads to bad results and makes it unusable on hypotheses - it refuses to go all the way in to a function (for example in `Nat.succ 0`, you can't access `Nat.succ`) - it refuses to enter binders where the name of the bound variable contains the character `0` (try it on `∀ (x0 : Nat), x0 = x0`) - it panics if it can't find a binder name instead of just coming up with one itself, this also means usually you can't enter either side of a non-dependent arrow since those usually don't have binder names (try it on `False → False`) - you can't enter the type of a binder, you end up going into the body instead (try it on `fun (x : False) => (x.elim : False → Nat) x.elim`) - you can't partially enter a function, you end up going to the top argument after instead (for example, in the expression `id (id id) 0`, when you click on `id (id id)`, you end up going to `id id`) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 419/84 Mathlib/Tactic/Widget/Conv.lean,MathlibTest/conv?.lean 2 4 ['bryangingechen', 'github-actions', 'plp127'] bryangingechen
assignee:bryangingechen
none
20-80696
20 days ago
66-81462
2 months ago
66-81507
66 days
26155 xroblot
author:xroblot
feat(DedekindDomain/Different): add the transitivity formula This PR proves the transitivity formula for the different ideal. It introduces ~~two~~ one increase~~s~~ in imports: - `RingTheory.FractionalIdeal.Extended`: this is a short leaf file and I think the import makes sense there - ~~`RingTheory.Localization.Defs.lean `: the file `Algebra.Algebra.Basic` is added since it is necessary to have the definition of `noZeroSMulDivisors` to get that some algebra map is injective. The import could be removed by stating the hypothesis as `Function.Injective (algebraMap * *)` but it is not the usual spelling (and cannot be synthesized by Lean). In the end, it appears that the increased import only affects three files so maybe it's fine.~~ The PR also adds two new instances: - `FiniteDimensional (FractionRing A) (FractionRing B)` deduced from `Module.Finite A B` when `B` is a Dedekind domain. - `IsScalarTower (FractionRing A) (FractionRing B) (FractionRing C)` deduced from `IsScalarTower A B C` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra
label:t-algebra$
207/4 Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/DedekindDomain/IntegralClosure.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/FractionRing.lean 5 13 ['erdOne', 'github-actions', 'xroblot'] Vierkantor
assignee:Vierkantor
none
20-52566
20 days ago
54-45198
1 month ago
59-42205
59 days
26453 jburroni
author:jburroni
feat(Data/PNat/Basic): add order-related instances to PNat Add `SuccAddOrder ℕ+` and `NoMaxOrder ℕ+` instances. This allows, for example, the use of lemmas related to `Intervals` built with ℕ+. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-data new-contributor 18/0 Mathlib/Data/PNat/Basic.lean 1 3 ['eric-wieser', 'github-actions', 'jburroni'] ericrbg
assignee:ericrbg
none
20-52564
20 days ago
55-24385
1 month ago
55-24430
55 days
26790 FlAmmmmING
author:FlAmmmmING
feat(Combinatorics/Enumerative/Bell.lean): define standard Bell number --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 38/1 Mathlib/Combinatorics/Enumerative/Bell.lean 1 11 ['AntoineChambert-Loir', 'FlAmmmmING', 'eric-wieser', 'github-actions', 'kckennylau', 'madvorak'] awainverse
assignee:awainverse
1
20-52562
20 days ago
46-33241
1 month ago
46-33287
46 days
26793 FlAmmmmING
author:FlAmmmmING
feat(Algebra/Group /ForwardDiff.lean): add five theorems for forward difference --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-algebra
label:t-algebra$
212/3 Mathlib/Algebra/Group/ForwardDiff.lean 1 35 ['AntoineChambert-Loir', 'DAE123456', 'FlAmmmmING', 'Ruben-VandeVelde', 'github-actions', 'kckennylau', 'madvorak'] mariainesdff
assignee:mariainesdff
1
20-52561
20 days ago
33-79151
1 month ago
46-31638
46 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/) new-contributor t-combinatorics 16/0 Mathlib/Combinatorics/SimpleGraph/Trails.lean 1 3 ['IvanRenison', 'github-actions'] kmill
assignee:kmill
none
20-15658
20 days ago
86-7209
2 months ago
86-7263
86 days
25856 MichaelStollBayreuth
author:MichaelStollBayreuth
perf(Data.Real.Sqrt): make Real.sqrt irreducible We try to see what happens if we make Real.sqrt irreducible. There are cases where this makes unification very significantly faster, compare [#mathlib4 > Coercion triggers timeout @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Coercion.20triggers.20timeout/near/517177117). (Migrated manually from #24752) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) migrated-from-branch t-data 1/0 Mathlib/Data/Real/Sqrt.lean 1 1 ['github-actions'] ericrbg
assignee:ericrbg
none
20-15654
20 days ago
67-46219
2 months ago
67-49923
67 days
26287 mbkybky
author:mbkybky
feat(Data/ENat/Lattice): coercion to `WithBot ℕ∞` commutes with `biSup` The coercion from `ℕ∞` to `WithBot ℕ∞` commutes with `biSup` and `biInf`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 19/0 Mathlib/Data/ENat/Lattice.lean 1 1 ['github-actions'] ericrbg
assignee:ericrbg
none
20-15654
20 days ago
58-74938
1 month ago
58-82687
58 days
26370 b-mehta
author:b-mehta
chore(Archive): golf and generalise ascending-descending sequences This proof was 5 years old, not in a good generality, and overly long. We fix the latter two points. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 96/120 Archive/Wiedijk100Theorems/AscendingDescendingSequences.lean 1 12 ['b-mehta', 'github-actions', 'grunweg'] ericrbg
assignee:ericrbg
none
20-15650
20 days ago
55-54198
1 month ago
57-22735
57 days
26909 gasparattila
author:gasparattila
feat(LinearAlgebra/Projectivization/Subspace): correspondence between linear and projective subspaces --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
51/3 Mathlib/LinearAlgebra/Projectivization/Subspace.lean 1 1 ['github-actions'] Vierkantor
assignee:Vierkantor
none
20-15648
20 days ago
43-19040
1 month ago
43-19088
43 days
25500 eric-wieser
author:eric-wieser
feat: delaborators for metadata Being able to see these is very important when debugging tactic failures. Probably these could be upstreamed, but I don't think that's a reason not to merge them here first. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-meta 75/3 Mathlib/Util/Delaborators.lean,Mathlib/Util/PPOptions.lean,MathlibTest/delaborators.lean 3 11 ['JovanGerb', 'Rob23oba', 'eric-wieser', 'github-actions'] alexjbest
assignee:alexjbest
none
20-11090
20 days ago
76-15999
2 months ago
76-16057
76 days
26189 tb65536
author:tb65536
feat(FieldTheory/Galois/Basic): Add simp-lemma for `FixedPoints.intermediateField` This PR adds a simp-lemma `FixedPoints.mem_intermediateField_iff` for the definition `FixedPoints.intermediateField`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
4/0 Mathlib/FieldTheory/Galois/Basic.lean 1 1 ['github-actions'] joneugster
assignee:joneugster
none
20-11088
20 days ago
58-35888
1 month ago
62-7137
62 days
26841 xroblot
author:xroblot
feat(FieldTheory/IsGalois): map induced by the restriction to a subfield For `E/L` a field extension and `K` a subfield of `E`, we define the map `(E ≃ₐ[L] E) →* (K ≃ₐ[F] K)` induced by the restriction to `K` (with `F` a subfield of `K` and `L` such that `K/F` is normal) and study when it is injective and surjective. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
63/0 Mathlib/FieldTheory/Galois/Basic.lean 1 1 ['github-actions'] Vierkantor
assignee:Vierkantor
none
20-11082
20 days ago
44-62766
1 month ago
44-62813
44 days
27066 vasnesterov
author:vasnesterov
feat(Tactic/Order): frontend for `order` * Support `order [h1, h2]` and `order only [h1, h2]` syntax. * Split conjunctions while extracting facts from the context. E.g. hypotheses in the form `A ∧ B` are converted into two facts `A` and `B`. * Similarly, extract facts from existential quantifiers in the hypotheses. --- - [x] depends on: #26354 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) This PR continues the work from #22073. Original PR: https://github.com/leanprover-community/mathlib4/pull/22073 t-meta 91/37 Mathlib.lean,Mathlib/Tactic/Linarith/Frontend.lean,Mathlib/Tactic/Order.lean,Mathlib/Tactic/Order/CollectFacts.lean,Mathlib/Util/ElabWithoutMVars.lean,MathlibTest/order.lean 6 22 ['JovanGerb', 'github-actions', 'mathlib4-dependent-issues-bot', 'vasnesterov'] alexjbest
assignee:alexjbest
none
20-11078
20 days ago
38-57405
1 month ago
38-57433
38 days
27304 jano-wol
author:jano-wol
feat: invariant dual submodules define Lie ideals Invariant dual submodules define Lie ideals --- PR shows that Invariant dual submodules define Lie ideals. This work is part of the framework: https://github.com/orgs/leanprover-community/projects/17 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
358/0 Mathlib.lean,Mathlib/Algebra/Lie/Weights/InvariantSubmoduleLieIdeal.lean,Mathlib/Algebra/Lie/Weights/Killing.lean,Mathlib/Algebra/Lie/Weights/RootSystem.lean 4 1 ['github-actions'] jcommelin
assignee:jcommelin
none
20-11076
20 days ago
31-49015
1 month ago
31-49061
31 days
26843 vasnesterov
author:vasnesterov
feat(Tactic/Simproc): nested quantifiers in `existsAndEq` Generalize the `existsAndEq` simproc to nested existential quantifiers. For example `∃ a, p a ∧ ∃ b, a = f b ∧ q b` now simplifies to `∃ b, p (f b) ∧ q b`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) This PR continues the work from #23365. Original PR: https://github.com/leanprover-community/mathlib4/pull/23365 migrated-from-branch large-import t-meta 452/73 Mathlib/Data/List/ProdSigma.lean,Mathlib/Tactic/Simproc/ExistsAndEq.lean,MathlibTest/Simproc/ExistsAndEq.lean 3 10 ['JovanGerb', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot', 'vasnesterov'] kmill
assignee:kmill
none
19-62355
19 days ago
19-62378
19 days ago
44-48118
44 days
25069 erdOne
author:erdOne
feat(EllipticCurve): rational points of singular nodal cubics --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 251/0 Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Singular/Node.lean 3 11 ['Multramate', 'acmepjz', 'erdOne', 'github-actions'] kim-em
assignee:kim-em
none
19-54208
19 days ago
91-82882
2 months ago
91-82936
91 days
25861 robin-carlier
author:robin-carlier
feat(CategoryTheory/Monoidal/Action): action of opposite categories Given a monoidal category `C` and a category `D`, we show that left (resp. right) `C`-actions on `D` induce left (resp. right) `Cᵒᵖ`-actions on `Dᵒᵖ`. Conversely, we show that left/right actions of `Cᵒᵖ` on `Dᵒᵖ` induce left/right actions of `C` on `D`. --- - [ ] depends on: #25860 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 272/0 Mathlib/CategoryTheory/Monoidal/Action/Opposites.lean 1 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] joelriou
assignee:joelriou
none
19-54204
19 days ago
46-40472
1 month ago
46-44749
46 days
25907 mans0954
author:mans0954
Low order roots of unity This PR continues the work from #25470. Original PR: https://github.com/leanprover-community/mathlib4/pull/25470 t-algebra
label:t-algebra$
182/0 Mathlib/Algebra/CharP/Invertible.lean,Mathlib/RingTheory/RootsOfUnity/Complex.lean 2 2 ['github-actions', 'mans0954'] kim-em
assignee:kim-em
none
19-54201
19 days ago
66-46889
2 months ago
66-46938
66 days
27047 YaelDillies
author:YaelDillies
feat: `MonoidHom.toAdditive''` as a `MulEquiv` From Toric --- I haven't yet been very thorough with the new lemmas. I first want to hear thoughts about the names [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-algebra
label:t-algebra$
31/7 Mathlib/Algebra/Group/TypeTags/Hom.lean 1 1 ['github-actions'] adomani
assignee:adomani
none
19-54176
19 days ago
38-68056
1 month ago
39-13513
39 days
25974 scholzhannah
author:scholzhannah
feat(Topology/Compactness/CompactlyCoherentSpace): compact coherentification (k-ification) This PR defines the notion of turning an arbitrary topological space into a compactly coherent space. Compactly coherent spaces are commonly referred to as "compactly generated spaces" or "k-spaces" in the literature while the operation of turning a space into such as space is called the "k-ification". There are however three different notions that are described with this name. To disambiguate we use the names "compactly coherent space" and "compactcoherentification" here. See [this wikipedia page](https://en.wikipedia.org/wiki/Compactly_generated_space) for an explanation of these notions. This PR continues the work from #25318. Original PR: https://github.com/leanprover-community/mathlib4/pull/25318 Co-authored-by: Floris van Doorn large-import t-topology 175/5 Mathlib/Topology/Compactness/CompactlyCoherentSpace.lean 1 2 ['github-actions', 'scholzhannah'] ADedecker
assignee:ADedecker
none
19-31133
19 days ago
65-19699
2 months ago
65-19747
65 days
23460 Timeroot
author:Timeroot
feat: Definition of `Clone` Basics about Clones. Part of #20051 --- - [x] depends on: #23459 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
326/0 Mathlib.lean,Mathlib/Algebra/Clone/Basic.lean,Mathlib/Algebra/Clone/Defs.lean,Mathlib/Data/Fin/Basic.lean 4 2 ['github-actions', 'mathlib4-dependent-issues-bot'] dagurtomas
assignee:dagurtomas
none
19-1441
19 days ago
57-79884
1 month ago
57-81175
57 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/) t-algebra
label:t-algebra$
74/0 Mathlib/RingTheory/Localization/Away/Basic.lean 1 12 ['eric-wieser', 'github-actions', 'mathlib4-dependent-issues-bot', 'plp127', 'vihdzp'] mariainesdff
assignee:mariainesdff
none
19-1441
19 days ago
101-5820
3 months ago
167-5802
167 days
25758 YaelDillies
author:YaelDillies
chore: shortcut instance `CompleteLattice α → PartialOrder α` This avoids using the path `CompleteLattice α → CompletePartialOrder α → PartialOrder α` that goes through `Order.CompletePartialOrder` and makes it appear used to our automation, such as `shake` or `#min_imports`. This is a followup to #25358. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 7/0 Mathlib/Order/CompleteLattice/Defs.lean 1 6 ['Ruben-VandeVelde', 'eric-wieser', 'github-actions', 'leanprover-bot'] bryangingechen
assignee:bryangingechen
1
19-1440
19 days ago
50-9180
1 month ago
69-59765
69 days
25843 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): define `between` subgraphs The simple graph `G.between s t` is the subgraph of `G` containing edges that connect a vertex in the set `s` to a vertex in the set `t`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24948.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24948* t-combinatorics 95/0 Mathlib/Combinatorics/SimpleGraph/Bipartite.lean 1 1 ['github-actions'] awainverse
assignee:awainverse
none
19-1439
19 days ago
68-42191
2 months ago
68-42175
68 days
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/) t-logic 618/0 Mathlib.lean,Mathlib/ModelTheory/FunctionalFormula.lean 2 3 ['ChrisHughes24', 'github-actions', 'mathlib4-dependent-issues-bot'] fpvandoorn
assignee:fpvandoorn
none
19-1437
19 days ago
56-58705
1 month ago
56-58964
56 days
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). I am not sure whether the `prodEquivOfIsCompl_symm_apply` theorem should be tagged with `@[simp]`; this might lead to confluence issues. Opinions are welcome! Co-authored by: - [Viviana del Barco](https://github.com/vdelbarc) - [Gustavo Infanti](https://github.com/GuQOliveira) - [Exequiel Rivas](https://github.com/erivas) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
9/0 Mathlib/LinearAlgebra/Projection.lean 1 5 ['PSchwahn', 'github-actions', 'kckennylau'] joelriou
assignee:joelriou
1
19-1436
19 days ago
54-79771
1 month ago
54-79896
54 days
26870 grunweg
author:grunweg
feat: mdifferentiableOn_section_of_mem_baseSet₀ From the path towards geodesics and the Levi-Civita connection. Co-authored-by: Patrick Massot --- - [x] depends on: #26866 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry 125/0 Mathlib/Geometry/Manifold/VectorBundle/MDifferentiable.lean 1 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] PatrickMassot
assignee:PatrickMassot
none
19-1434
19 days ago
34-43218
1 month ago
34-43379
34 days
26955 mariainesdff
author:mariainesdff
feat(LinearAlgebra/OnSup): extend linear maps to sums of modules Let `A` be a ring, `X, Y` be `A`-modules, and `M, N` be `A`-submodules of `X`. Given two linear maps `f : M →ₗ[A] Y` and `g : N →ₗ[A] Y` that agree on `M ∩ N`, there is a unique linear map `M + N →ₗ[A] Y` that simultaneously extends `f` and `g`. Co-authored-by: @AntoineChambert-Loir --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
153/0 Mathlib.lean,Mathlib/LinearAlgebra/OnSup.lean 2 15 ['AntoineChambert-Loir', 'eric-wieser', 'github-actions', 'wwylele'] alreadydone
assignee:alreadydone
none
18-55353
18 days ago
37-50548
1 month ago
38-15055
38 days
25724 bryangingechen
author:bryangingechen
chore: disable scheduled runs of stale issues workflow There's no point in having this run on schedule while it's still in limbo. --- This also seems to have been [completely broken](https://github.com/leanprover-community/mathlib4/actions/workflows/stale.yml) since #21681, since the search string is too long. Maybe we should just delete this. CI 1/2 .github/workflows/stale.yml 1 1 ['github-actions'] robertylewis
assignee:robertylewis
none
18-1414
18 days ago
69-77241
2 months ago
69-77223
69 days
25812 vlad902
author:vlad902
feat(data): List.Chain' helper lemmas Add two helpers lemmas to go from a List.Chain' hypothesis to a concrete predicate about two consecutive elements, one in the positive and one in the negative. t-data 29/0 Mathlib/Data/List/Chain.lean 1 4 ['BoltonBailey', 'github-actions', 'vlad902'] ericrbg
assignee:ericrbg
1
18-1413
18 days ago
48-60244
1 month ago
61-62832
61 days
26130 kmill
author:kmill
feat: make `reassoc_of%` be able to defer `Category` instance This PR modifies the elaboration of `reassoc_of%` so that the `Category` instance can be synthesized later, like any other instance metavariable, rather than needing to be synthesized up front, when the category itself might not yet be known. This fixes an issue reported by Robert Maxton [on Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/reassoc_of.25.20misleading.20error/near/524678383), where in the following `reassoc_of% Sigma.ι_desc` was failing. ```lean import Mathlib.CategoryTheory.Limits.Shapes.Products open CategoryTheory Limits set_option autoImplicit true variable {C : Type u} [Category.{v, u} C] {β : Type w} {f : β → C} [HasCoproduct f] {P : C} (p : (b : β) → f b ⟶ P) (b : β) example {Q : C} (g : P ⟶ Q) : Sigma.ι f b ≫ Sigma.desc p ≫ g = p b ≫ g := by rw [reassoc_of% Sigma.ι_desc] ``` Without this PR, a workaround is writing `reassoc_of% @Sigma.ι_desc`. The PR adds `Lean.Meta.withEnsuringLocalInstance` for temporarily adding a metavariable as a local instance if it can't yet be synthesized. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 91/20 Mathlib/Lean/Meta/Basic.lean,Mathlib/Tactic/CategoryTheory/IsoReassoc.lean,Mathlib/Tactic/CategoryTheory/Reassoc.lean,MathlibTest/CategoryTheory/Reassoc.lean 4 6 ['github-actions', 'kmill', 'leanprover-bot', 'sgouezel'] robertylewis
assignee:robertylewis
none
18-1411
18 days ago
62-73521
2 months ago
62-73503
62 days
26240 grunweg
author:grunweg
perf(CommandLinterLinter): use Substring more Probably, these changes make little difference, but let's find out. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter RFC 14/15 Mathlib/Tactic/Linter/CommandStart.lean 1 5 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] joneugster
assignee:joneugster
none
18-1410
18 days ago
61-10386
2 months ago
61-14997
61 days
26371 Timeroot
author:Timeroot
feat(NumberTheory): Niven's theorem This file proves Niven's theorem, that the only rational cosines of angles that are rational multiples of pi, are [-1, -1/2, 0, 1/2, 1]. This is one of the theorems missing from 1000.yaml. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 119/0 Mathlib.lean,Mathlib/NumberTheory/Niven.lean,docs/1000.yaml 3 9 ['Timeroot', 'github-actions', 'grunweg', 'plp127'] mariainesdff
assignee:mariainesdff
none
18-1409
18 days ago
57-22459
1 month ago
57-22505
57 days
27021 grunweg
author:grunweg
feat: custom elaborators for differential geometry Add two sets of custom elaborators for differential geometry, to - infer the model with corners in `MDifferentiable{WithinAt,At,On}` or `ContMDiff{WithinAt,At,On}` expressions from the local context, and provide shorter notation in that setting - do the same for mfderiv: `mfderiv% f` is shorthand for `mfderiv I J f`; `mfderiv[s] f x` is short for `mfderivWithin I J f s` - convert a fibre bundle section from a dependent section to a function into the total space, making working with differentiability of sections of fibre bundles less cumbersome This was [discussed on zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Differential.20geometry.20elaborators.20experiment/with/528035295), to overall broad consensus. This code has substantial tests and has been tried in the branch in #26221 (uncovering minor issues, but not substantial ones). The implementation itself is of prototype quality and will be cleaned up in the future. Once it is more robust, more differential geometry files can be converted to use it. Co-authored-by: Patrick Massot ----------- I agree that merging not fully polished code is not ideal, but propose doing so for two reasons: - the work in #26221 used these elaborators extensively (to test them). Reverting those changes, merging the code, only to re-apply them is not a good use of time. Merging this PR now enables merging the work in #26221 soon. - the feature is clearly useful and not going away: in the files that use it, it works well already. Holding off on further adopting, but merging it now seems like a good compromise. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry t-meta 782/0 Mathlib.lean,Mathlib/Geometry/Manifold/Elaborators.lean,Mathlib/Geometry/Manifold/Traces.lean,MathlibTest/DifferentialGeometry/Elaborators.lean,scripts/noshake.json 5 4 ['github-actions', 'grunweg', 'sgouezel'] robertylewis
assignee:robertylewis
none
18-1405
18 days ago
39-61094
1 month ago
39-61167
39 days
25760 robin-carlier
author:robin-carlier
feat(CategoryTheory/Bicategory): (2,1)-categories and `Pith` This PR introduces a class `IsLocallyGroupoid` on bicategories, asserting that every hom-category has an `IsGroupoid` instance. With this definition, `IsLocallyGroupoid (LocallyDiscrete C)` is correctly inferred. Given a bicategory `B`, we introduce a type alias `Pith B` for `B` (realized as a one-field structure), and we equip it with a `Bicategory` instance where the hom-categories are the cores of the hom-categories of `B`. We show that this bicategory is a (2,1)-category, construct an inclusion pseudo-functor from `Pith B` to `B`, and show that every pseudofunctor from a (2,1)-category to `B` factors through this inclusion. --- We can’t fully state the fact that `(pseudofunctorToPith F).comp (inclusion F)` "is" `F` because #18254 is still not merged. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #25150.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/25150* t-category-theory 191/0 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/LocallyGroupoid.lean 2 2 ['b-mehta', 'github-actions'] joelriou
assignee:joelriou
none
17-31648
17 days ago
69-59614
2 months ago
69-59597
69 days
25042 alreadydone
author:alreadydone
feat(Topology): restriction/extension of Trivialization and composition with Homeomorph --- - [x] depends on: #25041 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 148/2 Mathlib/Topology/FiberBundle/Trivialization.lean,Mathlib/Topology/Maps/Basic.lean 2 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] ADedecker
assignee:ADedecker
none
17-1417
17 days ago
36-53281
1 month ago
92-36548
92 days
26061 kckennylau
author:kckennylau
feat(AlgebraicGeometry): define Projective Space This defines the projective space over a scheme, indexed by an arbitrary type. --- Zulip discussion: [#maths > Projective Space](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Projective.20Space/with/524057860) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 63/0 Mathlib.lean,Mathlib/AlgebraicGeometry/ProjectiveSpace.lean 2 14 ['callesonne', 'erdOne', 'github-actions', 'kckennylau'] erdOne
assignee:erdOne
none
17-1414
17 days ago
64-3155
2 months ago
64-3201
64 days
26299 adomani
author:adomani
perf: the `commandStart` linter only acts on modified files Introduces an `IO.Ref` to allow the `commandStart` linter to only run on files that git considers modified with respect to `master`. The linter is also active on files that have had some error, as these are likely being modified! The PR should also mitigate the speed-up that the linter introduced: [#mathlib4 > A whitespace linter @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/A.20whitespace.20linter/near/525091877) Assuming that this goes well, a similar mechanism could be applied to several linters that do not need to run on all code, just on the modified code. Implementation detail: the linter is currently either on or off in "whole" files. It may be also a future development to make this more granular and only run the linter on "modifed commands in modified files", but this is not currently the plan for this modification! --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter 48/0 Mathlib/Tactic/Linter/CommandStart.lean 1 5 ['adomani', 'github-actions', 'grunweg', 'leanprover-bot'] joneugster
assignee:joneugster
none
17-1413
17 days ago
58-41703
1 month ago
58-46334
58 days
26478 JovanGerb
author:JovanGerb
chore(LibraryRewrite): replace `rw??` with `rw?` As suggested by @YaelDillies, now `rw?` overwrites Lean core's implementation of `rw?`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 56/49 Mathlib/Tactic/Widget/LibraryRewrite.lean,MathlibTest/LibraryRewrite.lean,MathlibTest/rewrites.lean 3 5 ['YaelDillies', 'erdOne', 'github-actions', 'leanprover-community-bot-assistant'] alexjbest
assignee:alexjbest
none
17-1411
17 days ago
25-9582
25 days ago
39-71329
39 days
26484 peabrainiac
author:peabrainiac
feat(Geometry/Diffeology): basics of diffeological spaces Introduces diffeological spaces, smooth maps between them, the D-topology and the standard diffeology on finite-dimensional normed spaces. --- This PR continues the work from #21969. t-differential-geometry 471/0 Mathlib.lean,Mathlib/Geometry/Diffeology/Basic.lean,docs/references.bib 3 9 ['JovanGerb', 'github-actions', 'lecopivo', 'peabrainiac'] fpvandoorn
assignee:fpvandoorn
none
17-1410
17 days ago
53-80683
1 month ago
53-85435
53 days
26510 alreadydone
author:alreadydone
feat(Matroid): exchange lemmas involving closure --- for #24350 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data t-combinatorics 37/0 Mathlib/Data/Matroid/Closure.lean 1 1 ['github-actions'] kmill
assignee:kmill
none
17-1409
17 days ago
52-39829
1 month ago
52-39874
52 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. maintainer-merge t-algebra
label:t-algebra$
68/67 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/RootPositive.lean,Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean,Mathlib/RingTheory/Etale/Kaehler.lean,Mathlib/RingTheory/LocalProperties/Projective.lean,Mathlib/RingTheory/Localization/InvSubmonoid.lean,Mathlib/RingTheory/OreLocalization/Basic.lean 25 16 ['eric-wieser', 'github-actions', 'j-loreaux', 'linesthatinterlace', 'pechersky'] joelriou
assignee:joelriou
1
17-1406
17 days ago
29-16120
29 days ago
40-30994
40 days
27076 Komyyy
author:Komyyy
refactor: don't require `DecidablePred` to state `PrimrecPred` ```lean def PrimrecPred {α} [Primcodable α] (p : α → Prop) [DecidablePred p] := Primrec fun a => decide (p a) ``` Currently, `DecidablePred` is required to **state** `PrimrecPred`, so this PR changes the definition and adds convenient APIs for this new definition: ```lean def PrimrecPred {α} [Primcodable α] (p : α → Prop) := open scoped Classical in Primrec fun a => decide (p a) ``` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-computability 117/67 Mathlib/Computability/Halting.lean,Mathlib/Computability/Partrec.lean,Mathlib/Computability/Primrec.lean,Mathlib/Computability/Reduce.lean 4 10 ['Komyyy', 'YaelDillies', 'digama0', 'eric-wieser', 'github-actions'] YaelDillies
assignee:YaelDillies
1
16-68735
16 days ago
16-68735
16 days ago
38-35434
38 days
26956 mariainesdff
author:mariainesdff
feat(RingTheory/DividedPowers/Basic): add divided power structure on pZp We construct a divided power structure on the ideal `(p) ⊆ ℤ_[p]`, given by the family of maps `fun n x ↦ x^n / n!`. Co-authored-by: @AntoineChambert-Loir --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 561/2 Mathlib.lean,Mathlib/Data/Nat/Factorial/NatCast.lean,Mathlib/RingTheory/DividedPowers/Padic.lean,Mathlib/RingTheory/DividedPowers/RatAlgebra.lean 4 1 ['github-actions'] mattrobball
assignee:mattrobball
none
16-55139
16 days ago
16-55139
16 days ago
41-58641
41 days
26347 mans0954
author:mans0954
feature(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 t-data 30/0 Mathlib.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Data/Finset/RangeDistance.lean 3 2 ['github-actions', 'mans0954'] alreadydone
assignee:alreadydone
none
16-54816
16 days ago
16-54816
16 days ago
57-64229
57 days
27120 YaelDillies
author:YaelDillies
feat: the category of commutative bialgebras Define the bundled category `CommBialgCat R` of commutative bialgebras over a fixed commutative ring `R` along with the forgetful functor to `CommAlgCat`. From Toric Co-authored-by: Andrew Yang Co-authored-by: Michał Mrugała --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-algebra
label:t-algebra$
235/0 Mathlib.lean,Mathlib/Algebra/Category/CommBialgCat.lean 2 9 ['Whysoserioushah', 'YaelDillies', 'github-actions'] dagurtomas
assignee:dagurtomas
none
16-32011
16 days ago
37-66934
1 month ago
37-67004
37 days
27245 rirarika
author:rirarika
MvPolynomial.Irreducible --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
88/0 Mathlib.lean,Mathlib/Algebra/MvPolynomial/Irreducible.lean 2 5 ['alreadydone', 'github-actions', 'mbkybky'] alreadydone
assignee:alreadydone
none
16-21660
16 days ago
33-62682
1 month ago
33-62725
33 days
19668 YaelDillies
author:YaelDillies
refactor: define `≤`/`<` on `WithBot`/`WithTop` by induction The motivation for this change is that it is really confusing to run `intro r s shouldnthaveintroedthat` on a goal of the form `∀ r s : ℝ≥0∞, r ≤ s` and get the nonsense-looking goal `r = ↑shouldnthaveintroedthat → ∃ b : α, s = ↑b ∧ shouldnthaveintroedthat ≤ b⟩` instead of an error, and similarly when destructing something of the form `∃ r s : ℝ≥0∞, r < s`. Furthermore, I suspect this improves performance. --- - [x] depends on: #20317 - [x] depends on: #20318 - [x] depends on: #21274 - [x] depends on: #22109 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 68/51 Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Oscillation.lean,Mathlib/Data/Finset/Lattice/Fold.lean,Mathlib/Data/Finset/Max.lean,Mathlib/LinearAlgebra/Eigenspace/Triangularizable.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Countable.lean,Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean,Mathlib/Order/Interval/Basic.lean,Mathlib/Order/Interval/Set/WithBotTop.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Order/WithBot.lean,Mathlib/Probability/Moments/Variance.lean,Mathlib/RingTheory/PowerBasis.lean,Mathlib/Topology/MetricSpace/Holder.lean,Mathlib/Topology/MetricSpace/HolderNorm.lean,MathlibTest/hint.lean 17 22 ['JovanGerb', 'YaelDillies', 'b-mehta', 'eric-wieser', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'urkud'] Vierkantor
assignee:Vierkantor
none
16-18570
16 days ago
95-63418
3 months ago
145-55968
145 days
22231 pechersky
author:pechersky
feat(Algebra/Valued): `AdicExpansion` initial defns --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-topology
label:t-algebra$
299/0 Mathlib.lean,Mathlib/Topology/Algebra/Valued/AdicExpansion.lean 2 2 ['Thmoas-Guan', 'github-actions'] jcommelin
assignee:jcommelin
none
16-1422
16 days ago
177-80557
5 months ago
177-80679
177 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 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 2 ['ADedecker', 'github-actions'] PatrickMassot
assignee:PatrickMassot
none
16-1420
16 days ago
62-46008
2 months ago
62-46066
62 days
26301 Ivan-Sergeyev
author:Ivan-Sergeyev
feat(LinearAlgebra/Matrix/Determinant/TotallyUnimodular): Empty matrices are totally unimodular. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
15/0 Mathlib/LinearAlgebra/Matrix/Determinant/TotallyUnimodular.lean 1 1 ['github-actions'] kim-em
assignee:kim-em
none
16-1419
16 days ago
58-42388
1 month ago
58-42431
58 days
27108 pechersky
author:pechersky
chore(RingTheory/AdicValuation): golf using WithZero.log with helper lemma of how `log` preserves order --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-number-theory
label:t-algebra$
15/16 Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean 2 2 ['YaelDillies', 'github-actions'] mariainesdff
assignee:mariainesdff
none
16-1416
16 days ago
37-37074
1 month ago
37-46865
37 days
27182 eric-wieser
author:eric-wieser
feat: add bundled versions of `Equiv.cast` These are essentially the non-categorical versions of `eqToHom`. These are helpful to state some functorial results about things like `DFinsupp.equivCongrLeft` (with the alternative being to use an evil triangle somewhere instead). [#Is there code for X? > LinearEquiv.cast / AddEquiv.cast etc @ 💬](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/LinearEquiv.2Ecast.20.2F.20AddEquiv.2Ecast.20etc/near/521390380) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
31/0 Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Group/Equiv/Defs.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Ring/Equiv.lean 4 3 ['github-actions', 'pechersky', 'plp127'] kim-em
assignee:kim-em
none
16-1415
16 days ago
36-9628
1 month ago
36-9670
36 days
27482 alreadydone
author:alreadydone
chore(RingTheory/SimpleModule): golf and generalize lifting_property --- Build succeeded but there's a strange post-build step error. https://github.com/leanprover-community/mathlib4/actions/runs/16527173966/job/46744293147?pr=27482 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
11/14 Mathlib/RingTheory/SimpleModule/Basic.lean,Mathlib/RingTheory/SimpleModule/InjectiveProjective.lean 2 2 ['github-actions', 'smorel394'] Vierkantor
assignee:Vierkantor
none
16-1410
16 days ago
26-31489
26 days ago
26-31474
26 days
26885 pechersky
author:pechersky
feat(Topology/ValuativeRel): ValuativeTopology 𝒪[K] and even when not a field, `ValuativeRel 𝒪[K]` This is an example of something achievable with the new declarations that wasn't possible with Valued Such that we can discuss the valuations on the subring without always using coercions But to achieve this, one needs some juggling of the value groups --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #26834 t-algebra t-topology t-number-theory
label:t-algebra$
73/0 Mathlib/RingTheory/Valuation/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean 2 5 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] alreadydone
assignee:alreadydone
none
15-83580
15 days ago
15-83599
15 days ago
43-22774
43 days
26277 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(RingTheory/Congruence/Hom): prove basic isomorphisms theorems for ring congruences This file contains elementary definitions involving congruence relations and morphisms for semirings, rings, and algebras. * `RingCon.ker`: the kernel of a monoid homomorphism as a congruence relation * `RingCon.lift`, `RingCon.liftₐ`: the homomorphism / the algebra morphism on the quotient given that the congruence is in the kernel * `RingCon.map`, `RingCon.mapₐ`: homomorphism / algebra morphism from a smaller to a larger quotient * `RingCon.quotientKerEquivRangeS`, `RingCon.quotientKerEquivRange`, `RingCon.quotientKerEquivRangeₐ` : the first isomorphism theorem for semirings (using `RingHom.rangeS`), rings (using `RingHom.range`) and algebras (using `AlgHom.range`). * `RingCon.comapQuotientEquivRangeS`, `RingCon.comapQuotientEquivRange`, `RingCon.comapQuotientEquivRangeₐ` : the second isomorphism theorem for semirings (using `RingHom.rangeS`), rings (using `RingHom.range`) and algebras (using `AlgHom.range`). * `RingCon.quotientQuotientEquivQuotient`, `RingCon.quotientQuotientEquivQuotientₐ` : the third isomorphism theorem for semirings (or rings) and algebras It is an adaptation of what existed for multiplicative congruences (docs#Con) and is only useful for semirings which are not rings. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 555/2 Mathlib.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/RingTheory/Congruence/Basic.lean,Mathlib/RingTheory/Congruence/Defs.lean,Mathlib/RingTheory/Congruence/Hom.lean 6 1 ['github-actions'] joneugster
assignee:joneugster
none
15-56882
15 days ago
15-56882
15 days ago
59-13104
59 days
26054 FMLJohn
author:FMLJohn
feat(RingTheory/GradedAlgebra/Homogeneous/Subsemiring): homogeneous subsemirings of a graded semiring --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) In this pull request, we have defined homogeneous subsemirings of `GradedRing 𝒜` where `𝒜 : ι → σ`, `SetLike σ A` and `AddSubmonoidClass σ A`. ## Main definitions For any `R : Subsemiring A`: * `Subsemiring.IsHomogeneous 𝒜 R`: The property that a subsemiring is closed under `GradedRing.proj`. * `HomogeneousSubsemiring 𝒜`: The structure extending subsemirings which satisfy `Subsemiring.IsHomogeneous`. t-ring-theory 120/0 Mathlib.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Subsemiring.lean 2 1 ['github-actions'] kim-em
assignee:kim-em
none
15-56760
15 days ago
15-56760
15 days ago
64-25480
64 days
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 t-ring-theory 76/8 Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/RingTheory/Polynomial/SmallDegreeVieta.lean 2 42 ['github-actions', 'kckennylau', 'mans0954', 'ocfnash'] ocfnash
assignee:ocfnash
1
15-56733
15 days ago
15-56733
15 days ago
65-70991
65 days
24730 YaelDillies
author:YaelDillies
feat(RingTheory): group-like elements Define group-like elements in a bialgebra, ie elements such that `η a = 1` and `Δ a = a ⊗ₜ a`. We prove that group-like elements of a coalgebra over a domain are linearly independent, group-like elements of a bialgebra form a monoid, group-like elements of a Hopf algebra form a group. From Toric Co-authored-by: Michał Mrugała --- - [x] depends on: #24747 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory toric 309/0 Mathlib.lean,Mathlib/RingTheory/Bialgebra/GroupLike.lean,Mathlib/RingTheory/Coalgebra/GroupLike.lean,Mathlib/RingTheory/HopfAlgebra/GroupLike.lean 4 42 ['Julian-Kuelshammer', 'Parcly-Taxel', 'Whysoserioushah', 'YaelDillies', 'erdOne', 'eric-wieser', 'github-actions', 'leanprover-bot', 'mathlib4-dependent-issues-bot', 'smorel394'] eric-wieser
assignee:eric-wieser
2
15-56654
15 days ago
15-56654
15 days ago
102-13712
102 days
22322 mariainesdff
author:mariainesdff
feat(RingTheory/DividedPowers/RatAlgebra): add definitions In this file we show that, for certain choices of a commutative (semi)ring `A` and an ideal `I` of `A`, the family of maps `ℕ → A → A` given by `fun n x ↦ x^n/n!` is a divided power structure on `I`. Co-authored-by: AntoineChambert-Loir --- - [x] depends on: #22237 - [x] depends on: #22239 - [x] depends on: #22240 - [x] depends on: #24439 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 324/2 Mathlib.lean,Mathlib/Data/Nat/Factorial/NatCast.lean,Mathlib/RingTheory/DividedPowers/RatAlgebra.lean 3 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] dagurtomas
assignee:dagurtomas
none
15-56559
15 days ago
15-56559
15 days ago
50-6261
50 days
22151 alreadydone
author:alreadydone
feat(RingTheory): a semiprimary ring is Noetherian/Artinian iff its Jacobson radical is fg A key fact used is `Module.FG.smul`: if `I` is a two-sided ideal of `R` that is f.g. as a left ideal and `N` is a f.g. `R`-module, then `I • M` is also a f.g. `R`-module. Many lemmas about coprimality of ideals are also generalized to the noncommutative, two-sided setting. --- - [x] depends on: #21904 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 217/157 Mathlib/Algebra/Algebra/Operations.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/RingTheory/Extension/Basic.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Finiteness/Ideal.lean,Mathlib/RingTheory/HopkinsLevitzki.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Operations.lean 9 8 ['alreadydone', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] eric-wieser
assignee:eric-wieser
none
15-56548
15 days ago
15-56548
15 days ago
168-57365
168 days
26078 kckennylau
author:kckennylau
feat(AlgebraicGeometry): add x, y, px, py for points on elliptic curves --- Split from #25218. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 44/0 Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean 1 11 ['MichaelStollBayreuth', 'Multramate', 'acmepjz', 'github-actions', 'kckennylau'] dagurtomas
assignee:dagurtomas
1
15-52003
15 days ago
63-47788
2 months ago
63-47832
63 days
27292 gasparattila
author:gasparattila
feat: asymptotic cone of a set This PR defines the asymptotic cone of a set in a normed affine space and proves its main properties. This is partial progress towards showing that an unbounded finite-dimensional convex set contains a ray. --- - [x] depends on: #27221 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge new-contributor t-analysis 453/0 Mathlib.lean,Mathlib/Analysis/Normed/Affine/AsymptoticCone.lean,Mathlib/Order/Filter/Map.lean 3 44 ['AntoineChambert-Loir', 'YaelDillies', 'gasparattila', 'github-actions', 'mathlib4-dependent-issues-bot'] YaelDillies
assignee:YaelDillies
1
15-27990
15 days ago
15-31275
15 days ago
29-48815
29 days
22043 YaelDillies
author:YaelDillies
chore: shortcut instance for `Neg ℤˣ` This lets us avoid importing `Ring` in downstream files (most of the effect is to come). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed t-algebra
label:t-algebra$
20/47 Mathlib.lean,Mathlib/Algebra/GCDMonoid/Nat.lean,Mathlib/Algebra/Group/Int/Units.lean,Mathlib/Algebra/Order/Ring/Abs.lean,Mathlib/Algebra/Ring/Int/Units.lean,Mathlib/Algebra/Ring/NegOnePow.lean,Mathlib/Data/Fintype/Units.lean,Mathlib/Data/Int/AbsoluteValue.lean,Mathlib/Data/Int/Associated.lean,Mathlib/GroupTheory/HNNExtension.lean,Mathlib/NumberTheory/NumberField/Basic.lean,MathlibTest/Zify.lean 12 16 ['YaelDillies', 'eric-wieser', 'github-actions', 'j-loreaux', 'leanprover-community-bot-assistant', 'mathlib-bors'] erdOne
assignee:erdOne
none
15-1429
15 days ago
98-43270
3 months ago
183-16303
183 days
25814 vlad902
author:vlad902
feat(SimpleGraph): Weaker condition for paths in acyclic graphs `IsAcyclic.isPath_iff_chain'` defines a weaker condition for proving that a walk is a path, in particular it shows that rather than proving that all vertices in the support of a walk are distinct, one must only show that consecutive edges are distinct (e.g. every other vertex must be distinct.) This leads to a simple corollary that trails are also paths in acyclic graphs. I had a need for this when formalizing Cayley graphs, since this condition maps cleanly onto words in free groups being reduced. --- *This PR continues the work from #25630.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/25630* t-combinatorics 43/0 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean 2 2 ['github-actions', 'vlad902'] kmill
assignee:kmill
none
15-1426
15 days ago
69-40026
2 months ago
69-40009
69 days
26190 tb65536
author:tb65536
feat(FieldTheory/Galois/IsGaloisGroup): Subgroups of a Galois group are Galois groups This PR gives an instance `IsGaloisGroup H (FixedPoints.intermediateField H : IntermediateField K L) L` from `IsGaloisGroup G K L`, and a numerical corollary. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
11/0 Mathlib/FieldTheory/Galois/IsGaloisGroup.lean 1 1 ['github-actions'] kim-em
assignee:kim-em
none
15-1424
15 days ago
58-32849
1 month ago
62-2449
62 days
26580 vasnesterov
author:vasnesterov
feat(Tactic/Order): translate linear orders to `Int` It was [pointed out](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/tactic.20for.20partial.20orders/near/515897754) that `order` is not complete for linear orders with lattice operations (while it remains complete for linear orders without lattice operations and for general lattices without assuming linearity). The problem for linear orders with lattice operations is NP-hard, but it can be translated from an arbitrary type to `Int` and then solved using a smart and efficient procedure (such as `omega`). This PR implements such a translation within the `order` tactic. Co-authored-by: Aaron Liu --- - [x] depends on: #26354 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-meta 302/22 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Order.lean,Mathlib/Tactic/Order/Graph/Basic.lean,Mathlib/Tactic/Order/Preprocessing.lean,Mathlib/Tactic/Order/ToInt.lean,MathlibTest/order.lean 7 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'vasnesterov'] alexjbest
assignee:alexjbest
none
15-1423
15 days ago
38-56112
1 month ago
38-57812
38 days
26670 yu-yama
author:yu-yama
feat(GroupExtension/Abelian): define `conjClassesEquivH1` This PR continues the work from #21837. Original PR: https://github.com/leanprover-community/mathlib4/pull/21837 t-algebra
label:t-algebra$
162/5 Mathlib.lean,Mathlib/GroupTheory/GroupExtension/Abelian.lean,Mathlib/GroupTheory/GroupExtension/Basic.lean,Mathlib/GroupTheory/GroupExtension/Defs.lean,docs/references.bib 5 2 ['erdOne', 'github-actions', 'yu-yama'] erdOne
assignee:erdOne
none
15-1421
15 days ago
48-35764
1 month ago
48-35816
48 days
26766 MichaelStollBayreuth
author:MichaelStollBayreuth
feat(Topology/MetricSpace/Bounded): add some results We add two pairs of results: ```lean lemma isBounded_of_abs_le (C : α) : Bornology.IsBounded {x : α | |x| ≤ C} := ... lemma isBounded_of_abs_lt (C : α) : Bornology.IsBounded {x : α | |x| < C} := ... ``` (under suitable assumptions on `α`) and a version of the *Extreme Value Theorem* that I found convenient: ```lean theorem exists_forall_le_of_isBounded {f : β → α} (hf : Continuous f) (x₀ : β) (h : Bornology.IsBounded {x : β | f x ≤ f x₀}) : ∃ x, ∀ y, f x ≤ f y := ... theorem exists_forall_ge_of_isBounded {f : β → α} (hf : Continuous f) (x₀ : β) (h : Bornology.IsBounded {x : β | f x₀ ≤ f x}) : ∃ x, ∀ y, f y ≤ f x := ... ``` (under suitable assumptions on `α` and `β`). For an application, see [GelfandMazur.lean](https://github.com/MichaelStollBayreuth/Heights/blob/master/Heights/GelfandMazur.lean) in [Heights](https://github.com/MichaelStollBayreuth/Heights/tree/master). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 56/0 Mathlib/Topology/MetricSpace/Bounded.lean 1 1 ['github-actions'] grunweg
assignee:grunweg
none
15-1420
15 days ago
47-21489
1 month ago
47-21472
47 days
27527 peabrainiac
author:peabrainiac
feat(Topology): some `IsOpenMap` lemmas Some lemmas for `IsOpenMap` that I needed. I've also added variants for `IsClosedMap` to maintain symmetry in the API. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 46/0 Mathlib/Topology/Constructions.lean 1 2 ['github-actions', 'peabrainiac'] fpvandoorn
assignee:fpvandoorn
none
15-1417
15 days ago
25-4517
25 days ago
25-4540
25 days
27602 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): define `completeBipartiteSubgraph` Define the complete bipartite subgraphs of `s` and `t` parts as a "left" subset of `s` vertices and a "right" subset of `t` vertices such that every vertex in the "left" subset is adjacent to every vertex in the "right" subset. In this case `Nonempty (G.completeBipartiteSubgraph (card α) (card β))` is equivalent to `completeBipartiteGraph α β ⊑ G`, that is, finding a "left" subset of `s` vertices and a "right" subset of `t` vertices such that every vertex in the "left" subset is adjacent to every vertex in the "right" subset is equivalent to finding an injective homomorphism `completeBipartiteGraph α β` to `G`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 88/0 Mathlib/Combinatorics/SimpleGraph/Bipartite.lean 1 1 ['github-actions'] awainverse
assignee:awainverse
none
15-1416
15 days ago
23-27427
23 days ago
23-27478
23 days
26679 robin-carlier
author:robin-carlier
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical): 2-functoriality of `CatCommSqOver` This PR uses the notion of categorical cospan transforms from #26412 and its bicategory-like notations from #26447 to provide API for 2-functoriality of the construction `CatCommSqOver F G X`. We show that `ψ : CatCospanTransform F G F' G'` defines a functor `CatCommSqOver F G X ⥤ CatCommSqOver F' G' X`, and that a functor `U : X ⥤ Y` induces a functor `CatCommSqOver F G Y ⥤ CatCommSqOver F G X` via precomposition. We give the battery of lemma that shows that these constructions are components of a `Cat`-valued "bipseudofunctor", although we cannot state it this way to keep things unbundled and universe polymorphic. --- - [x] depends on: #26447 I apologize in advance, for this one is very boring. As usual, the higher order lemmas are found by aesop_cat and are not marked simp, but I still want to state these explicitly so that in case automation goes wrong, "manual formal bicategory manipulations" remain an option. A design choice was made here. Instead of stating this kind of functoriality for the categorical pullback itself, I chose to state everything in terms of `CatCommSqOver`, i.e in terms of the pseudofunctorial construction corepresented by the categorical pullback. The rationale here is that while we could have done everything only at the level of the categorical pullback itself, I believe this design will allow for easier manipulations of categorical pullback *squares*. Actual bifunctoriality of the categorical pullback (and thus equivalence invariance, which is the key point of the notion compared to the strict pullback) will be in future PRs. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 364/1 Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean 1 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'robin-carlier'] dagurtomas
assignee:dagurtomas
none
14-63547
14 days ago
26-37858
26 days ago
35-71500
35 days
25788 Parcly-Taxel
author:Parcly-Taxel
feat: number of edges in the Turán graph We provide two theorems, the first `card_edgeFinset_turanGraph` providing the exact number of edges and the other `card_edgeFinset_turanGraph_le` providing a (slightly) looser bound whose main advantage is its lack of integer division/modulus operations. The bound in `card_edgeFinset_turanGraph_le` is also the bound provided in [Motzkin and Straus (1965)](https://doi.org/10.4153%2FCJM-1965-053-6). large-import t-combinatorics 132/0 Mathlib/Combinatorics/SimpleGraph/Turan.lean,Mathlib/Data/Nat/ModEq.lean 2 3 ['YaelDillies', 'github-actions', 'leanprover-community-bot-assistant'] awainverse
assignee:awainverse
none
14-1429
14 days ago
24-185
24 days ago
69-48867
69 days
26225 Raph-DG
author:Raph-DG
feat(AlgebraicGeometry): Add some minimal API for orders on schemes In this PR we add some minimal api for the ordering on schemes defined in #26204. We chose split these PRs because we expect there will be more discussion about this API, and having the preorder instance is useful in its own right without much added API. - [] depends on: #26204 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 14/0 Mathlib/AlgebraicGeometry/Properties.lean,Mathlib/AlgebraicGeometry/Scheme.lean 2 4 ['Raph-DG', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant'] erdOne
assignee:erdOne
none
14-1429
14 days ago
23-65103
23 days ago
59-44750
59 days
26770 Jun2M
author:Jun2M
feat(Combinatorics/Graph) : subgraph relations and operations on `Graph` This PR creates a new file `Combinatorics/Graph/Subgraph.lean`. In it, the PR introduces a partial order on graphs by subgraph relation, defines relations `IsInducedSubgraph`, `IsSpanningSubgraph` and `IsClosedSubgraph`. Further, it introduce operations `EdgeRestrict`, `EdgeDelete`, `induce` and `VertexDelete`. Co-authored-by: Peter Nelson --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 703/0 Mathlib.lean,Mathlib/Combinatorics/Graph/Subgraph.lean 2 1 ['github-actions'] awainverse
assignee:awainverse
none
14-1428
14 days ago
47-12906
1 month ago
47-12950
47 days
26798 robin-carlier
author:robin-carlier
feat(CategoryTheory/Monoidal/DayConvolution): `LawfulDayConvolutionMonoidalCategoryStruct` Given monoidal categories `C`, `V` and a category `D` with a pre-existing `MonoidalCategoryStruct`, we introduce a typeclass `LawfulDayConvolutionMonoidalCategoryStruct C V D` that bundles the required data and equations that the structure on `D` must have to be a monoidal subcategory of `C ⥤ V` if the latter was endowed with the day convolution monoidal structure. The data in question is that of a faithful functor `ι : D ⥤ C ⥤ V`, as well as explicit natural transformations `ι.obj d ⊠ (ι.obj d') ⟶ tensor C ⋙ ι.obj (d ⊗ d')` that exhibit `ι.obj (d ⊗ d')` as a Day convolution of `ι.obj d` and `(ι.obj d')`, as well as similar data asserting that `ι.obj (𝟙_ D)` is a Day convolution unit. The equations required are identical to the ones that characterize the unitors and associators for Day convolution with respect to the Kan extensions units. Given such a structure, using that the corresponding relations hold in `C ⥤ V`, we show that the monoidal category structure on `D` defines a `MonoidalCategory D`, i.e that all the required equations such as the pentagon/triangular equalities, bifunctoriality of the tensor product etc. are satisfied. Thus, we can think of `LawfulDayConvolutionMonoidalCategoryStruct C V D` as a constructor for monoidal categories. While this is a step towards a Day convolution monoidal structure in (a type alias) `C ⥤ V`, the framework is yet incomplete, as it assumes a pre-existing monoidal category structure. We will give constructors for (`MonoidalCategoryStruct` and) `LawfulDayConvolutionMonoidalCategoryStruct C V D` with various degree of definitional control over the resulting structure in a forthcoming PR. --- - [x] depends on: #25757 I recommend the reviewer to at least have a glance at #26820 to see where this is going, and how this one fits in the design I have in mind. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 336/8 Mathlib/CategoryTheory/Monoidal/DayConvolution.lean 1 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] adamtopaz
assignee:adamtopaz
none
14-1427
14 days ago
24-34853
24 days ago
38-10931
38 days
27635 Ruben-VandeVelde
author:Ruben-VandeVelde
chore: deprecate SubsemiringClass.coe_pow --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 2/7 Mathlib/Algebra/Ring/Subsemiring/Defs.lean,Mathlib/Analysis/Normed/Ring/Basic.lean 2 3 ['Ruben-VandeVelde', 'github-actions', 'grunweg'] awainverse
assignee:awainverse
none
14-1420
14 days ago
22-43041
22 days ago
22-46040
22 days
27658 euprunin
author:euprunin
chore(Geometry/RingedSpace): remove use of `erw` in `app_inv_app'` t-algebraic-geometry 3/1 Mathlib/Geometry/RingedSpace/OpenImmersion.lean 1 1 ['github-actions'] erdOne
assignee:erdOne
none
14-1420
14 days ago
22-9701
22 days ago
22-9747
22 days
23940 YaelDillies
author:YaelDillies
feat: polytopes From Toric Co-authored-by: Matthew Johnson --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-analysis 65/0 Mathlib.lean,Mathlib/Geometry/Convex/Polytope.lean,Mathlib/Geometry/Convex/README.md 3 9 ['Parcly-Taxel', 'YaelDillies', 'eric-wieser', 'github-actions', 'jsm28', 'leanprover-community-bot-assistant'] hrmacbeth
assignee:hrmacbeth
1
13-1430
13 days ago
70-21324
2 months ago
131-7045
131 days
26765 KiringYJ
author:KiringYJ
feat(MeasureTheory/PiSystem): add π-λ theorem and SetLike instance Add two small features to `MeasureTheory/PiSystem`: 1. SetLike instance `instance : SetLike (DynkinSystem α) (Set α)` This lets us write `s ⊆ d` and `t ∈ d` for a DynkinSystem `d`, matching usual mathlib style. 2. `DynkinSystem.pi_lambda` lemma Classical π‑λ theorem: if a π‑system `s` is contained in a Dynkin system `d`, every set measurable for `σ(s)` is also in `d`. Currently, mathlib exposes this result only indirectly (e.g. via `generateFrom_eq`). Although logically equivalent, it is not obvious at first glance that those lemmas are the π‑λ theorem. The new lemma states the result in its familiar textbook form, so users can recognise and cite it immediately. Both pieces are under 10 lines, term‑mode only, and do not modify existing APIs. No breaking changes. No dependencies. new-contributor t-measure-probability 13/0 Mathlib/MeasureTheory/PiSystem.lean 1 13 ['EtienneC30', 'KiringYJ', 'github-actions', 'ocfnash'] RemyDegenne
assignee:RemyDegenne
none
13-1427
13 days ago
20-37476
20 days ago
47-25320
47 days
27118 Timeroot
author:Timeroot
feat(Matrix/Charpoly/Eigs): Roots of Matrix.charpoly are the eigenvalues. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra
label:t-algebra$
58/0 Mathlib/LinearAlgebra/Matrix/Charpoly/Eigs.lean,scripts/noshake.json 2 1 ['github-actions'] adomani
assignee:adomani
none
13-1424
13 days ago
37-69375
1 month ago
37-69418
37 days
27400 dleijnse
author:dleijnse
feat: define geometrically reduced algebras Define geometrically reduced algebras, and prove that if all finitely generated subalgebras of an algebra `A` are geometrically reduced, then `A` is geometrically reduced. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
111/0 Mathlib.lean,Mathlib/RingTheory/Nilpotent/GeometricallyReduced.lean 2 23 ['dleijnse', 'github-actions', 'kckennylau'] joelriou
assignee:joelriou
none
13-1422
13 days ago
28-20092
28 days ago
28-20137
28 days
27639 staroperator
author:staroperator
feat(Algebra/Order/Sub): `Sub` instance for linearly canonically ordered monoid There is a `Sub` instance for linearly canonically ordered monoid using choice that satisfies `OrderedSub`. --- Thanks @eric-wieser for the suggestion in #27341! [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
28/0 Mathlib/Algebra/Order/Sub/Basic.lean 1 1 ['github-actions'] eric-wieser
assignee:eric-wieser
none
13-1420
13 days ago
22-38576
22 days ago
22-38623
22 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/) t-order 121/8 Mathlib.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/LawfulSupInf.lean 3 25 ['PierreQuinton', 'YaelDillies', 'github-actions', 'plp127', 'vihdzp'] YaelDillies
assignee:YaelDillies
1
12-51604
12 days ago
24-34901
24 days ago
24-34936
24 days
27498 Komyyy
author:Komyyy
feat: Group isomorphisms between (`Equiv.Perm`|`alternatingGroup`)s Required to prove that A_n is simple iff n = 3 or 5 ≤ n(#26051). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
29/0 Mathlib/Algebra/Group/End.lean,Mathlib/GroupTheory/SpecificGroups/Alternating.lean 2 2 ['github-actions', 'tb65536'] erdOne
assignee:erdOne
none
12-29946
12 days ago
26-3065
26 days ago
26-3050
26 days
23238 YaelDillies
author:YaelDillies
feat: extended floor and ceil My motivation for this is to prove `ENat.toENNReal (⨆ i, f i) = ⨆ i, ENat.toENNReal (f i)` and `ENat.toENNReal (⨅ i, f i) = ⨅ i, ENat.toENNReal (f i)`. Kalle Kytölä independently needs this for his formalisation of statistical physics. From MiscYD --- - [x] depends on: #24781 - [x] depends on: #24782 See #15269 for a past attempt. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
235/0 Mathlib.lean,Mathlib/Algebra/Order/Floor/Extended.lean 2 24 ['YaelDillies', 'b-mehta', 'eric-wieser', 'github-actions', 'kkytola', 'mathlib4-dependent-issues-bot', 'urkud'] alreadydone
assignee:alreadydone
none
12-1447
12 days ago
101-26440
3 months ago
148-78658
148 days
24095 lecopivo
author:lecopivo
feat: `fun_prop` for Is(Bounded)LinearMap + notation `fun x ↦L[R] f x` Sets up `fun_prop` for `IsLinearMap` and `IsBoundedLinearMap` also adds notation `fun x ↦ₗ[R] f x` and `fun x ↦L[R] f x` to write bundled versions like lambda function instead of the currently used pointfree notation. large-import t-algebra
label:t-algebra$
352/22 Mathlib.lean,Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/Module/LinearMap/Pi.lean,Mathlib/Algebra/Module/LinearMap/Prod.lean,Mathlib/Analysis/Normed/Operator/BoundedLinearMaps.lean,scripts/noshake.json 8 22 ['eric-wieser', 'github-actions', 'lecopivo'] dagurtomas
assignee:dagurtomas
none
12-1447
12 days ago
83-26176
2 months ago
83-44558
83 days
25779 robin-carlier
author:robin-carlier
feat(CategoryTheory/Bicategory/NaturalTransformations): strong and lax natural transformations of lax functors Given two lax functors `F G` between bicategories, we define lax natural transformations as families of 1-morphisms `∀ a : B, F.obj a ⟶ G.obj a` equipped with a naturality 2-cell `∀ {a b : B} (f : a ⟶ b), app a ≫ G.map f ⟶ F.map f ≫ app b` that are required to satisfy conditions such as naturality, and compatibility with the `mapId` and `mapComp` fields of the source and target functors. This notion dualizes the existing notion of oplax natural transformations between, and tries to narrow the current gap between lax and oplax functors in the library, where the latter has much more formalized API. For maintainability, The code tries to stay as aligned as possible with the code in `CategoryTheory.Bicategory.Naturaltransformations.Oplax`. --- I followed the book by Johnson and Yau for the definition. I made @yuma-mizuno and @callesonne authors of the files, as they are the authors of the original code for Oplax functors, which I basically copy-pasted and modified to make it work with lax functors. They should feel free to modify this if they want. Next thing on the list is to tackle modifications between lax/strong natural transforms of lax transforms, as well as the category instance on lax functors. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #25565.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/25565* t-category-theory 286/0 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Lax.lean,scripts/noshake.json 3 3 ['github-actions', 'yuma-mizuno'] joelriou
assignee:joelriou
1
12-1446
12 days ago
46-63063
1 month ago
68-21431
68 days
26899 robin-carlier
author:robin-carlier
feat(CategoryTheory/Functor/KanExtension): transitivity of left Kan extensions In this PR, we show that left Kan extensions are "transitive" in the following sense : if `α : F₀ ⟶ L ⋙ F₁` exhibits `F₁` as a left Kan extension of `F₀` along `L : C ⥤ D`, then given a functor `L' : D ⥤ D'` an an extension `(β : F₁ ⟶ L' ⋙ F₂)`, the "pasted extension" formed by `α` and `β` exhibits `F₂` as a left Kan extension of `F₀` along `L ⋙ L'` if and only if `β` exhibits `F₂` as a left Kan extension of `F₁` along `L'`. This refines the current theorems in mathlib that only treat the case where we pre or post-compose by an equivalence. The actual statement we prove is "fully weak" and lets us pick a functor isomorphic to `L ⋙ L'` and an extension isomorphic to the pasted one if needed. --- I will PR the dual version of everything for right Kan extensions as soon as we settle on the final form of this one. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 144/0 Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean 1 9 ['github-actions', 'joelriou', 'robin-carlier'] adamtopaz
assignee:adamtopaz
none
12-1444
12 days ago
21-59128
21 days ago
39-2821
39 days
27468 IvanRenison
author:IvanRenison
feat(Combinatorics/SimpleGraph): add theorem `SimpleGraph.Connected.diff_dist_adj` This contribution was created as part of the Utrecht Summerschool "Formalizing Mathematics in Lean" in July 2025. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 16/0 Mathlib/Combinatorics/SimpleGraph/Metric.lean 1 1 ['github-actions'] awainverse
assignee:awainverse
none
12-1441
12 days ago
26-45498
26 days ago
26-45597
26 days
27664 pechersky
author:pechersky
feat(Topology,Analysis): discrete topology metric space and normed groups Explicit construction of the discrete topology metric space and normed groups where `dist x y = 1` for all `x != y` Provide PseudoMetricSpace, MetricSpace, Seminormed(Add)Group, and Normed(Add)Group constructions --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 137/0 Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Topology/MetricSpace/Basic.lean,Mathlib/Topology/MetricSpace/Pseudo/Constructions.lean 3 3 ['github-actions', 'kckennylau', 'pechersky'] urkud
assignee:urkud
none
12-1438
12 days ago
21-77850
21 days ago
21-77844
21 days
27265 pechersky
author:pechersky
feat(Topology/Valued): discrete topology on a valued field when trivial valuation or when there is a nonzero term in the valuation codomain that is smaller than all nonzero valuations --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 33/0 Mathlib/Topology/Algebra/Valued/ValuationTopology.lean 1 1 ['github-actions'] dagurtomas
assignee:dagurtomas
none
11-1413
11 days ago
33-14065
1 month ago
33-14108
33 days
27882 euprunin
author:euprunin
chore: golf using `grind [Nat.cast_*]` --- I'll post profiling results for these changes as soon as we've agreed on the correct procedure: specifically, which profiling commands to use and what to report (see https://github.com/leanprover-community/mathlib4/pull/27856#issuecomment-3146781779 for the current experimental profiling script output). 9/26 Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Proper.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean,Mathlib/GroupTheory/CommutingProbability.lean,Mathlib/NumberTheory/Bernoulli.lean,Mathlib/RingTheory/ZMod/UnitsCyclic.lean 6 4 ['github-actions', 'kim-em', 'leanprover-bot'] urkud
assignee:urkud
none
11-1406
11 days ago
18-24955
18 days ago
18-24938
18 days
25774 Parcly-Taxel
author:Parcly-Taxel
chore: deprime `induction` in `AlgebraicTopology/CategoryTheory` Most replacements that are also in #23676 have been copied over, but some have been optimised further. tech debt 130/121 Mathlib/AlgebraicTopology/DoldKan/Decomposition.lean,Mathlib/AlgebraicTopology/DoldKan/Degeneracies.lean,Mathlib/AlgebraicTopology/DoldKan/NCompGamma.lean,Mathlib/AlgebraicTopology/DoldKan/Projections.lean,Mathlib/AlgebraicTopology/SimplexCategory/MorphismProperty.lean,Mathlib/AlgebraicTopology/SimplicialObject/Split.lean,Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveAdjunction.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/EnoughInjectives.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Subobject.lean,Mathlib/CategoryTheory/Action/Concrete.lean,Mathlib/CategoryTheory/Action/Monoidal.lean,Mathlib/CategoryTheory/ComposableArrows.lean,Mathlib/CategoryTheory/Extensive.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/CategoryTheory/Galois/Decomposition.lean,Mathlib/CategoryTheory/Galois/EssSurj.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Limits/Shapes/SequentialProduct.lean,Mathlib/CategoryTheory/Limits/VanKampen.lean,Mathlib/CategoryTheory/Quotient.lean,Mathlib/CategoryTheory/Sites/Sheaf.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Subobject/FactorThru.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/CategoryTheory/Triangulated/TStructure/Basic.lean 27 6 ['Parcly-Taxel', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'madvorak'] grunweg
assignee:grunweg
1
10-1421
10 days ago
22-34783
22 days ago
67-27275
67 days
27455 pechersky
author:pechersky
chore(NumberTheory/Padics/Hensel): rephrase using `aeval` This is easier to use at call site, because on need not pass `Polynomial.map (algebraMap _ _ )` in the use of `hensels_lemma` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-algebra t-number-theory
label:t-algebra$
158/139 Mathlib/NumberTheory/Padics/Hensel.lean 1 2 ['github-actions', 'mathlib4-merge-conflict-bot'] jcommelin
assignee:jcommelin
none
10-1416
10 days ago
17-13445
17 days ago
26-42458
26 days
27712 kim-em
author:kim-em
chore: remove old irrelevant attributes in Logic/Basic This PR removes some attributes from Logic/Basic that appear to have no effect on Mathlib. t-logic 0/2 Mathlib/Logic/Basic.lean 1 6 ['Parcly-Taxel', 'github-actions', 'kim-em', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] fpvandoorn
assignee:fpvandoorn
none
9-65907
9 days ago
20-79105
20 days ago
20-84004
20 days
27896 JovanGerb
author:JovanGerb
style: prefer `some`/`none` over `.some`/`.none` The notation `.some` and `.none` are very useful when working with other inductive types such as `LOption` which have fields names `some` and/or `none`. But for `Option`, we prefer to simply write `some`/`none`. [#mathlib4 > style: `.some`/`.none` vs `some`/`none`](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/style.3A.20.60.2Esome.60.2F.60.2Enone.60.20vs.20.60some.60.2F.60none.60) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 240/241 Cache/IO.lean,Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean,LongestPole/Main.lean,Mathlib/Algebra/Order/BigOperators/Expect.lean,Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean,Mathlib/Data/DFinsupp/Notation.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/Data/Fin/Tuple/Reflection.lean,Mathlib/Data/Fin/VecNotation.lean,Mathlib/Data/Finsupp/Option.lean,Mathlib/Data/Option/Basic.lean,Mathlib/Data/Seq/Seq.lean,Mathlib/Lean/Meta.lean,Mathlib/Lean/Meta/Simp.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/Tactic/Algebraize.lean,Mathlib/Tactic/CategoryTheory/Bicategory/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Coherence/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Coherence/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/DefEqTransformations.lean,Mathlib/Tactic/ENatToNat.lean,Mathlib/Tactic/FastInstance.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/Decl.lean,Mathlib/Tactic/FunProp/Elab.lean,Mathlib/Tactic/FunProp/FunctionData.lean,Mathlib/Tactic/FunProp/Mor.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/FunProp/Types.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/Datatypes.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/Gauss.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/SimplexAlgorithm.lean,Mathlib/Tactic/Linter/GlobalAttributeIn.lean,Mathlib/Tactic/NormNum/Irrational.lean,Mathlib/Tactic/Order/Graph/Basic.lean,Mathlib/Tactic/PNatToNat.lean,Mathlib/Tactic/Positivity/Finset.lean,Mathlib/Tactic/ProxyType.lean,Mathlib/Tactic/ReduceModChar.lean,Mathlib/Tactic/RewriteSearch.lean,Mathlib/Tactic/Simproc/ExistsAndEq.lean,Mathlib/Tactic/Simps/Basic.lean,Mathlib/Tactic/SuccessIfFailWithMsg.lean,Mathlib/Tactic/Widget/StringDiagram.lean,Mathlib/Util/Superscript.lean,MathlibTest/toAdditive.lean 49 5 ['JovanGerb', 'alreadydone', 'eric-wieser', 'github-actions'] kmill
assignee:kmill
none
9-6408
9 days ago
17-54159
17 days ago
17-54142
17 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 t-topology 509/1 Mathlib.lean,Mathlib/Topology/MetricSpace/BundledFun.lean,Mathlib/Topology/UniformSpace/Ultra/Pseudometrizable.lean 3 8 ['ADedecker', 'fpvandoorn', 'github-actions', 'mathlib4-dependent-issues-bot', 'pechersky'] urkud
assignee:urkud
none
9-1444
9 days ago
71-75154
2 months ago
87-20689
87 days
26089 WilliamCoram
author:WilliamCoram
feat: restricted power series form a ring We define restricted power series over a normed ring R, and show they form a ring when R has the ultrametric property This is an update of [#23338](https://github.com/leanprover-community/mathlib4/pull/23338) to meet new expectations of PRs from forks. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra t-number-theory
label:t-algebra$
182/0 Mathlib.lean,Mathlib/RingTheory/PowerSeries/Restricted.lean 2 7 ['CBirkbeck', 'WilliamCoram', 'github-actions'] riccardobrasca
assignee:riccardobrasca
none
9-1442
9 days ago
34-38737
1 month ago
53-28170
53 days
26547 robin-carlier
author:robin-carlier
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform): more lemmas about isomorphisms of `CatCospanTransform` We construct ways to extract left, right or base components of ismorphisms of `CatCospanTransform`, as well as various `IsIso` instances, and lemmas allowing to compute the left, right or base component of the inverse of a `CatCospanTransformMorphism` that has an `IsIso` instance. --- - [x] depends on: #26412 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 70/0 Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean 1 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] TwoFX
assignee:TwoFX
none
9-1440
9 days ago
46-57377
1 month ago
46-60424
46 days
26968 vihdzp
author:vihdzp
feat(Order/Concept): sets in a concept are codisjoint ...and other small lemmata. --- - [x] depends on: #26976 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 33/2 Mathlib/Order/Concept.lean 1 8 ['github-actions', 'leanprover-community-bot-assistant', 'linesthatinterlace', 'mathlib4-dependent-issues-bot', 'plp127', 'vihdzp'] bryangingechen
assignee:bryangingechen
none
9-1439
9 days ago
38-5342
1 month ago
38-34894
38 days
27000 gasparattila
author:gasparattila
feat(Analysis/Normed/Group/Quotient): isometric versions of isomorphisms This PR adds an isometric version of the third isomorphism theorem for groups and modules. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-analysis 49/2 Mathlib/Analysis/Normed/Group/Quotient.lean 1 1 ['github-actions'] urkud
assignee:urkud
none
9-1439
9 days ago
40-40566
1 month ago
40-40618
40 days
27049 BoltonBailey
author:BoltonBailey
doc(Analysis/BoxIntegral/Partition/Filter): field docstrings Split of #25917. Adds docstrings to the fields of this structure (Taken from the docstring of the structure itself). Note: this documentation was originally changed by asking Cursor (Claude 3.5 sonnet) to write the docstrings, but I think ultimately the docstring of the struct was reworked. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis documentation 13/14 Mathlib/Analysis/BoxIntegral/Partition/Filter.lean 1 2 ['BoltonBailey', 'github-actions'] hrmacbeth
assignee:hrmacbeth
none
9-1438
9 days ago
18-33156
18 days ago
39-10330
39 days
27441 judithludwig
author:judithludwig
feat(RingTheory/Polynomial/Quotient): Lemma on PIDs This is part of a course project at Heidelberg University: https://matematiflo.github.io/CompAssistedMath2025/ feat(RingTheory/Polynomial/Quotient): add lemma: Let $$R$$ be an integral domain and assume $$R[X]$$ is a PID, then $$R$$ is a field. This lemma is useful for proving that some rings are not PIDs, such as $$\mathbb{Z}[X]$$. Co-authored-by: Philipp Sivov @Silipp182 Co-authored-by: Veliyan Taslev @hubavelko --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 11/0 Mathlib/RingTheory/Polynomial/Quotient.lean 1 4 ['alreadydone', 'github-actions'] erdOne
assignee:erdOne
1
9-1437
9 days ago
16-27850
16 days ago
27-19605
27 days
27815 BGuillemet
author:BGuillemet
feat(CategoryTheory/Limits/Shapes/Products): add limMapPi and sigmaMapColim Add the canonical morphism from a limit to the product over its objects. Prove that it is a monomorphism. Dually, add the canonical morphism to a colimit from the coproduc of its objects and prove that it is an epimorphism. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-category-theory 44/0 Mathlib/CategoryTheory/Limits/Shapes/Products.lean 1 1 ['github-actions'] jcommelin
assignee:jcommelin
none
9-1434
9 days ago
19-47536
19 days ago
19-47562
19 days
27059 Komyyy
author:Komyyy
feat: Linear upper or lower sets topologies are completely normal The primary motivation for this theorem is to prove that Sierpiński space is completely normal. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 77/1 Mathlib.lean,Mathlib/Topology/Order/UpperLowerSetTopology.lean,Mathlib/Topology/Separation/LinearUpperLowerSetTopology.lean 3 4 ['alreadydone', 'github-actions'] alreadydone
assignee:alreadydone
none
8-51906
8 days ago
38-67775
1 month ago
38-67758
38 days
27339 pechersky
author:pechersky
chore(RingTheory/Laurent): use WithZero.exp to golf statements and proofs about valuation on K((X)) Done as part of refactor of Valued in #27314. This PR does not change any definitions. Instead, uses `WithZero.exp` instead of coercion + Multiplicative.ofAdd. And some helper simp lemmas about valuations of RatFunc vis a vis LaurentSeries. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-algebra t-number-theory
label:t-algebra$
78/77 Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean 3 2 ['faenuccio', 'github-actions'] Vierkantor
assignee:Vierkantor
none
8-27148
8 days ago
29-37705
29 days ago
29-81700
29 days
25804 erdOne
author:erdOne
feat: `∑ z ∈ L, ‖z - x‖⁻ʳ` converges for lattices `L` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #21673.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/21673* t-analysis 319/0 Mathlib.lean,Mathlib/Algebra/BigOperators/Group/Finset/Disjoint.lean,Mathlib/Algebra/Module/ZLattice/Summable.lean,Mathlib/Order/Disjointed.lean 4 3 ['github-actions', 'wwylele'] fpvandoorn
assignee:fpvandoorn
none
8-20300
8 days ago
69-50274
2 months ago
69-50257
69 days
27308 xyzw12345
author:xyzw12345
feat(LinearAlgebra/SymmetricAlgebra): IsSymmetricAlgebra This PR continues the work from #24602. Original PR: https://github.com/leanprover-community/mathlib4/pull/24602 t-algebra
label:t-algebra$
78/0 Mathlib/LinearAlgebra/SymmetricAlgebra/Basic.lean,Mathlib/LinearAlgebra/SymmetricAlgebra/Basis.lean 2 2 ['github-actions', 'mattrobball'] mattrobball
assignee:mattrobball
none
8-18486
8 days ago
31-38772
1 month ago
31-38824
31 days
22300 chrisflav
author:chrisflav
feat(RingTheory/GoingDown): lift `LTSeries` of primes Inductive version of `Ideal.exists_ideal_lt_liesOver_of_lt`. Co-authored by: Sihan Su Co-authored by: Yi Song --- - [x] depends on: #22299 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 27/0 Mathlib/RingTheory/Ideal/GoingDown.lean 1 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] alreadydone
assignee:alreadydone
none
8-1434
8 days ago
15-56554
15 days ago
93-32332
93 days
24533 robertmaxton42
author:robertmaxton42
feat (ULift): conjugation by ULift.up/down, misc cast/heq lemmas * Adds the convenience def `ULift.conj x := `down (f (up x))`, and corresponding basic lemmas * Adds lemmas showing that `ULift.up` and `.down` commute with casts and preserve `HEq`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 31/0 Mathlib/Data/ULift.lean 1 14 ['eric-wieser', 'github-actions', 'robertmaxton42'] ericrbg
assignee:ericrbg
none
8-1433
8 days ago
110-57590
3 months ago
110-65502
110 days
24829 urkud
author:urkud
fix(Topology/Homotopy): fix name&args order of `comp` `ContinuousMap.Homotopy.hcomp` used name & arguments order that matches Mathlib's category theory conventions, not topology conventions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 30/19 Mathlib/Topology/Homotopy/Basic.lean,Mathlib/Topology/Homotopy/Contractible.lean,Mathlib/Topology/Homotopy/Equiv.lean,Mathlib/Topology/Homotopy/Lifting.lean 4 5 ['github-actions', 'grunweg', 'urkud'] grunweg
assignee:grunweg
none
8-1432
8 days ago
99-75637
3 months ago
99-75688
99 days
26357 javra
author:javra
feat(CategoryTheory): linear categories as `ModuleCat R`-enriched categories Continues #23826. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-category-theory 195/0 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/CategoryTheory/Enriched/Linear.lean,Mathlib/CategoryTheory/Linear/Basic.lean,Mathlib/CategoryTheory/Monoidal/Linear.lean 5 1 ['github-actions'] adamtopaz
assignee:adamtopaz
none
8-1430
8 days ago
16-54826
16 days ago
57-43046
57 days
27073 pechersky
author:pechersky
feat(Archive/Examples/Local): files showcasing properties of local fields for p-adics, completions of number fields, laurent series, and fraction rings of witt vectors Should get filled in as more data/instances are declared --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 139/0 Archive.lean,Archive/Examples/Local/Laurent.lean,Archive/Examples/Local/NumberField.lean,Archive/Examples/Local/Padic.lean,Archive/Examples/Local/Witt.lean 5 1 ['github-actions'] alexjbest
assignee:alexjbest
none
8-1427
8 days ago
16-55275
16 days ago
38-39037
38 days
27166 joelriou
author:joelriou
feat(AlgebraicTopology): the functor `II : SimplexCategory ⥤ SimplexCategoryᵒᵖ` by Gabriel and Zisman In this file, we construct a cosimplicial object `SimplexCategory.II` in `SimplexCategoryᵒᵖ`, i.e. a functor `SimplexCategory ⥤ SimplexCategoryᵒᵖ`. If we identify `SimplexCategory` with the category of finite nonempty linearly ordered types, this functor could be interpreted as the contravariant functor which sends a finite nonempty linearly ordered type `T` to `T →o Fin 2`; in particular, it sends `Fin (n + 1)` to a linearly ordered type which is isomorphic to `Fin (n + 2)`. As a result, we define `SimplexCategory.II` as a functor which sends `⦋n⦌` to `⦋n + 1⦌`: on morphisms, it sends faces to degeneracies and vice versa. (I plan to use this in order to show that the topological realization from simplicial sets to `TopCat` preserves finite limits (at least after forgetting the topology), following the proof by Gabriel and Zisman.) --- Suggestions for a better (short) name are welcome. `II` is the name given is the original source. - [x] depends on: #27153 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology 258/0 Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialObject/II.lean 2 3 ['github-actions', 'joelriou', 'mathlib4-dependent-issues-bot'] robin-carlier
assignee:robin-carlier
none
8-1426
8 days ago
20-48413
20 days ago
35-66508
35 days
27638 plp127
author:plp127
feat: subsingleton `ℕ` and `ℤ` modules Provide some instances `AddCommMonoid.subsingletonNatModule` and `AddCommMonoid.subsingletonIntModule`. Also move some of the theorems about `ℕ` and `ℤ` modules from `Algebra/Module/End` to `Algebra/Module/NatInt`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
53/45 Mathlib/Algebra/Algebra/Rat.lean,Mathlib/Algebra/Module/End.lean,Mathlib/Algebra/Module/NatInt.lean,Mathlib/Algebra/Module/Submodule/RestrictScalars.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/RingTheory/OreLocalization/Ring.lean 6 3 ['github-actions', 'plp127'] mattrobball
assignee:mattrobball
none
8-1425
8 days ago
22-39039
22 days ago
22-39085
22 days
27659 euprunin
author:euprunin
chore(Geometry/RingedSpace): remove use of `erw` in `vPullbackConeIsLimit` t-algebraic-geometry 4/1 Mathlib/Geometry/RingedSpace/PresheafedSpace/Gluing.lean 1 1 ['github-actions'] erdOne
assignee:erdOne
none
8-1424
8 days ago
22-9318
22 days ago
22-9363
22 days
26035 fbarroero
author:fbarroero
feat(Analysis/Polynomial/MahlerMeasure): the Mahler measure of a complex polynomial We introduce the Mahler measure of a complex polynomial and prove some basic facts. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 127/1 Mathlib.lean,Mathlib/Analysis/Polynomial/MahlerMeasure.lean,Mathlib/MeasureTheory/Integral/CircleIntegral.lean 3 1 ['github-actions'] fpvandoorn
assignee:fpvandoorn
none
7-22901
7 days ago
63-32202
2 months ago
63-32205
63 days
24184 YaelDillies
author:YaelDillies
feat: `[G : H]` notation for the index of `H : Subgroup G` This is a cute notation which I wrote for FLT. Not sure whether we want it in mathlib nor how to include `relindex` in the picture. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra RFC
label:t-algebra$
5/0 Mathlib/GroupTheory/Index.lean 1 7 ['YaelDillies', 'erdOne', 'github-actions', 'j-loreaux', 'kbuzzard'] eric-wieser
assignee:eric-wieser
none
7-1438
7 days ago
100-76882
3 months ago
124-14599
124 days
25736 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, thangs to the fifth simplicial identity, composition on the right 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: #21744 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #21745.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/21745* t-algebraic-topology large-import 253/7 Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms.lean 1 2 ['github-actions', 'mathlib4-dependent-issues-bot'] mattrobball
assignee:mattrobball
none
7-1437
7 days ago
20-48626
20 days ago
69-64790
69 days
25947 qawbecrdtey
author:qawbecrdtey
feat(Data/Nat/Factors): added lemmas including `primeFactorsList_length_ne_zero` --- Added lemmas `primeFactorsList_length_ne_zero`, `primeFactorsList_prime_iff`, and `primeFactorsList_length_eq_one`. ```lean theorem primeFactorsList_length_ne_zero (n : ℕ) : n.primeFactorsList.length ≠ 0 ↔ 2 ≤ n theorem primeFactorsList_prime_iff {p : ℕ} : p.primeFactorsList = [p] ↔ p.Prime @[simp] theorem primeFactorsList_length_eq_one (n : ℕ) : n.primeFactorsList.length = 1 ↔ n.Prime ``` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 21/3 Mathlib/Data/Nat/Factors.lean 1 5 ['Ruben-VandeVelde', 'github-actions', 'qawbecrdtey'] ericrbg
assignee:ericrbg
none
7-1436
7 days ago
65-53239
2 months ago
65-61840
65 days
26332 Timeroot
author:Timeroot
feat(ModelTheory/Definability): TermDefinable functions This PR continues the work from #23506. Original PR: https://github.com/leanprover-community/mathlib4/pull/23506 large-import t-logic 159/0 Mathlib/Data/Rel.lean,Mathlib/ModelTheory/Definability.lean,scripts/noshake.json 3 2 ['Timeroot', 'github-actions'] fpvandoorn
assignee:fpvandoorn
none
7-1435
7 days ago
16-54790
16 days ago
57-80482
57 days
27754 Parcly-Taxel
author:Parcly-Taxel
feat: `finCycle` as iterated `finRotate` Originally used in #25786, but eventually discovered to be unnecessary. t-logic 26/5 Mathlib/Logic/Equiv/Fin/Rotate.lean 1 1 ['github-actions'] fpvandoorn
assignee:fpvandoorn
none
7-1430
7 days ago
20-36186
20 days ago
20-36240
20 days
27790 pechersky
author:pechersky
feat(Topology): `IsDenseInducing.isUniformInducing_extend` extending along a uniform inducing function with another uniform inducing function with dense ranges of both creates a uniform inducing extension golfs a proof in #27696 and discussed in https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/isUniformInducing_extension --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 113/0 Mathlib/Data/Set/Operations.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/DenseEmbedding.lean,Mathlib/Topology/UniformSpace/AbstractCompletion.lean,Mathlib/Topology/UniformSpace/Completion.lean,Mathlib/Topology/UniformSpace/UniformEmbedding.lean 6 3 ['github-actions', 'plp127'] ocfnash
assignee:ocfnash
none
7-1429
7 days ago
20-11636
20 days ago
20-11668
20 days
27288 themathqueen
author:themathqueen
chore(LinearAlgebra/TensorProduct/Basic): semi-linearize `map` and `lift` Semi-linearizing `TensorProduct.map`. Part of #27353. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
40/27 Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/RingTheory/Coalgebra/Hom.lean 3 5 ['ADedecker', 'eric-wieser', 'github-actions', 'themathqueen'] ADedecker
assignee:ADedecker
none
6-51178
6 days ago
16-14399
16 days ago
27-37731
27 days
28057 plp127
author:plp127
feat(SuccOrder): simp lemma to refold `Order.succ` and `Order.pred` Adds `SuccOrder.succ_eq_succ` and `PredOrder.pred_eq_pred` to refold `SuccOrder.succ` and `PredOrder.pred` into `Order.succ` and `Order.pred`. These lemmas are marked `@[simp]`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 8/2 Mathlib/Order/SuccPred/Basic.lean 1 3 ['YaelDillies', 'github-actions', 'plp127', 'vihdzp'] bryangingechen
assignee:bryangingechen
1
6-45532
6 days ago
14-26711
14 days ago
14-26761
14 days
25491 tannerduve
author:tannerduve
feat(Control/Monad/Free): define free monad, prove it lawful, and implement standard effects This PR introduces the `Free` monad. This implementation uses the "freer monad" approach as the traditional free monad (eg from [Haskell](https://hackage.haskell.org/package/free-5.2/docs/Control-Monad-Free.html)) is not safely definable in Lean due to termination checking (it's not strictly positive). The main contributions are: * Definition of the `Free` monad as an inductive type which generates a monad given any type constructor `F : Type -> Type`. * Functor and Monad instances for `Free F`, along with proofs of the `LawfulFunctor` and `LawfulMonad` laws. * Canonical instances of `Free` with standard effect signatures: * `FreeState s` for stateful computations, defined via a `StateF s` functor with `get` and `put` operations. * `FreeWriter w` for logging computations, defined via a `WriterF w` functor with a `tell` operation. * `FreeCont r` for continuation-passing computations, using the CPS functor `(α → r) → r`. In this construction, computations are represented as **trees of effects**. Each node (`liftBind`) represents a request to perform an effect, accompanied by a continuation specifying how the computation proceeds after the effect. The leaves (`pure`) represent completed computations with final results. A key insight is that `FreeM F` satisfies the **universal property of free monads**: for any monad `M` and effect handler `f : F → M`, there exists a unique way to interpret `FreeM F` computations in `M` that respects the effect semantics given by `f`. This unique interpreter is `liftM f`, which acts as the canonical **fold** for free monads. To execute or interpret these computations, we provide two approaches: 1. **Hand-written interpreters** (`FreeState.run`, `FreeWriter.run`, `FreeCont.run`) that directly pattern-match on the tree structure 2. **Canonical interpreters** (`FreeState.toStateM`, `FreeWriter.toWriteT`, `FreeCont.toContT`) derived from the universal property via `liftM` And then prove that these approaches are equivalent --- This PR adds new files and definitions; no breaking changes. **Tags:** free monad, freer monad, effect systems, state monad, writer monad, continuation monad, operational semantics, verified interpreters t-data maintainer-merge 696/0 Mathlib.lean,Mathlib/Control/Monad/Free.lean,Mathlib/Control/Monad/Free/Effects.lean,MathlibTest/freemonad.lean,docs/references.bib 5 147 ['YaelDillies', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'plp127', 'quangvdao', 'srghma', 'tannerduve'] ericrbg
assignee:ericrbg
2
6-1429
6 days ago
64-37232
2 months ago
74-56314
74 days
27516 gaetanserre
author:gaetanserre
feat: add rational approximation lemma for suprema in `unitInterval` Add `sSup_eq_iUnion_rat` lemma that provides a rational approximation characterization of suprema in the unit interval. For monotone functions `f : α → I → ℝ`, the lemma establishes that the set of pairs where `a < sSup {x | f e.1 x < e.2}` equals the union over all rationals `q ∈ I` with `q > a` of the sets `{e | f e.1 q < e.2}`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 21/0 Mathlib/Topology/UnitInterval.lean 1 2 ['github-actions', 'mathlib4-merge-conflict-bot'] ocfnash
assignee:ocfnash
none
6-1421
6 days ago
15-22811
15 days ago
25-18184
25 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 new-contributor 1443/0 Archive.lean,Archive/Imo/Imo2025Q1.lean 2 1 ['github-actions'] dwrensha
assignee:dwrensha
none
6-1418
6 days ago
19-46795
19 days ago
19-46843
19 days
27849 robin-carlier
author:robin-carlier
feat(CategoryTheory/Bicategory/Functor): strictly unitary lax/pseudo functors We define strictly unitary lax/pseudo functors between bicategories. A lax (resp. pseudo-)functor from `C` to `D` is strictly unitary if `F.map(𝟙 X) = 𝟙 (F.obj X)` and if the 2-cell `mapId` is the identity 2-cell induced by this equality. We provide a constructor for those that do not require the `mapId` field. Although this structure is somewhat "evil" from a purely categorical perspective (it mentions non-definitonal equality of objects in a 1-category), these class of functors are of interest: strictly unitary lax functors are part of the definition of the Duskin nerve of a bicategory (which embeds bicategories in the theory of simplicial sets), while strictly unitary pseudofunctors are part of the definition of the 2-nerve of a bicategory, which embeds bicategories into the theory of simplicial categories. This PR is part of an ongoing work that will hopefully culminate with the construction of the Duskin Nerve, as well as a proof of the fact that the Duskin nerve of a locally groupoidal bicategory is a quasicategory. --- Two designs were possible here: making `StrictlyUnitary` a class on lax/pseudo-functors to state that some functors/constructions are strictly unitary, or bundling it as a structure on its own. Since my plan for the follow-up PRs is to use the type of strictly lax unitary functors between some bicategories (e.g to define lax-composable arrows in a bicategory `C`, which will be by definition `StrictlyUnitaryLaxFunctor (LocallyDiscrete (Fin n)) C`), I chose to bundle them directly, to avoid an extra layer when working with the type of those objects. I did include strict associativity for strictly unitary lax functors but not for pseudofunctors. The reason is that the Duskin nerve mentions the 1-category of bicategories and strictly unitary lax functors (hence, this strict associativity/unitality), but the 2-nerve mentions the bicategory of bicategories, strictly unitary pseudofunctors and "icons" (identity-component oplax natural transformations): the statement for associativity for pseudofunctors will wait for icons, and will probably not be stated as an equality of pseudofunctors. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 318/0 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/Functor/StrictlyUnitary.lean 2 1 ['github-actions'] adamtopaz
assignee:adamtopaz
none
6-1416
6 days ago
19-18455
19 days ago
19-18508
19 days
27946 plp127
author:plp127
refactor: have `MetrizableSpace` not depend on `MetricSpace` Some theorems for uniform spaces with a countably generated uniformity do not mention their uniformity in any of the hypotheses or the conclusion (for example `UniformSpace.isCompact_iff_isSeqCompact`). This PR allows those theorems to be stated for (pseudo)metrizable spaces without importing the real numbers. See also #2032 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 129/102 Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Topology/Compactness/PseudometrizableLindelof.lean,Mathlib/Topology/GDelta/MetrizableSpace.lean,Mathlib/Topology/Metrizable/Basic.lean,Mathlib/Topology/Metrizable/ContinuousMap.lean,Mathlib/Topology/Metrizable/Real.lean,Mathlib/Topology/Metrizable/Uniformity.lean 7 7 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] urkud
assignee:urkud
none
6-1415
6 days ago
15-56100
15 days ago
16-21581
16 days
27253 Louddy
author:Louddy
feat(SkewMonoidAlgebra): SkewMonoidAlgebra/Support Add lemmas regarding the support of a skew monoid algebra. It is currently missing a few (Edit: 1!) lemmas compared to `MonoidAlgebra.support`. (See TODO.) These will be added as more results are available on `SkewMonoidAlgebra`. Co-authored-by: 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-algebra
label:t-algebra$
128/0 Mathlib.lean,Mathlib/Algebra/SkewMonoidAlgebra/Support.lean 2 2 ['Louddy', 'github-actions'] riccardobrasca
assignee:riccardobrasca
none
5-55066
5 days ago
33-40702
1 month ago
33-40714
33 days
26489 chrisflav
author:chrisflav
refactor(RingTheory/RingHom): factor out proofs for `Algebra.FinitePresentation` The current way to use locality of a given property of algebras is to convert everything into the language of `RingHom`s and then for example the `RingHom.OfLocalizationSpanTarget` API. This has two disadvantages: 1. The ring hom property API fixes the universes of source and target to be the same, hence we unnecessarily lose out on some universe generality. 2. The results for `RingHom`s are proven by translating everything in terms of `Algebra`, so we duplicate the translation steps. This PR refactors `RingHom.FinitePresentation` to do all locality proofs in the language of `Algebra`s and translate it into the corresponding `RingHom.OfLocalizationSpan{Target}` in the last step. We also streamline some of the translation proofs by unifying the API. --- - [x] depends on: #22931 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) This PR continues the work from #22930. Original PR: https://github.com/leanprover-community/mathlib4/pull/22930 t-algebra
label:t-algebra$
60/76 Mathlib/RingTheory/RingHom/FinitePresentation.lean 1 5 ['chrisflav', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot'] kim-em
assignee:kim-em
none
5-21116
5 days ago
53-42199
1 month ago
53-42246
53 days
24794 chrisflav
author:chrisflav
feat(RingTheory/Presentation): core of a presentation If `P` is a presentation of `S` as an `R`-algebra and `R₀` a subring of `R` containing the coefficients of the relations of `P`, then there exists an `R₀`-algebra `S₀` such that `S` is isomorphic to the base change of `S₀` to `R`. This is a tool to remove Noetherian hypothesis in certain situations. --- - [x] depends on: #24788 - [x] depends on: #24786 - [x] depends on: #24785 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 266/3 Mathlib.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Tower.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/RingTheory/AlgebraicIndependent/Transcendental.lean,Mathlib/RingTheory/Extension/Presentation/Core.lean,Mathlib/RingTheory/FiniteType.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean 9 12 ['chrisflav', 'erdOne', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] Vierkantor
assignee:Vierkantor
none
5-19164
5 days ago
15-56673
15 days ago
72-62233
72 days
26961 mariainesdff
author:mariainesdff
feat(RingTheory/PowerSeries/Substitution): add API Co-authored-by: @AntoineChambert-Loir --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 62/1 Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean 2 5 ['Ruben-VandeVelde', 'github-actions', 'mariainesdff'] mattrobball
assignee:mattrobball
none
5-1448
5 days ago
15-57036
15 days ago
41-53031
41 days
27453 pechersky
author:pechersky
feat(Topology/UniformSpace/Ultra): completion is ultra uniformity iff base is Supersedes #24628 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 159/5 Mathlib.lean,Mathlib/Order/Filter/NAry.lean,Mathlib/Order/Filter/Prod.lean,Mathlib/Topology/Constructions/SumProd.lean,Mathlib/Topology/UniformSpace/Defs.lean,Mathlib/Topology/UniformSpace/Ultra/Basic.lean,Mathlib/Topology/UniformSpace/Ultra/Completion.lean 7 1 ['github-actions'] ocfnash
assignee:ocfnash
none
5-1446
5 days ago
27-1640
27 days ago
27-1634
27 days
27720 peabrainiac
author:peabrainiac
feat(CategoryTheory/Adjunction): lemmas on adjoint quadruples Lemmas about adjoint quadruples `L ⊣ F ⊣ G ⊣ R` where some of the functors are fully faithful: * If `F` and `R` are fully faithful, the components of the induced natural transformation `G ⟶ L` are epic iff the components of the natural transformation `F ⟶ R` are monic. * If `L` and `G` are fully faithful, the components of the induced natural transformation `L ⟶ G` are epic iff the components of the natural transformation `R ⟶ F` are monic. A variant of the first case appears as proposition 2.7 on the nlab [here](https://ncatlab.org/nlab/show/cohesive+topos); the second case is dual. From [lean-orbifolds](https://github.com/peabrainiac/lean-orbifolds/blob/d599ff5f39aa831e8fa79b2f2fa7178b36bcbafd/Orbifolds/ForMathlib/Quadruple.lean). --- Continued / revived from #24667. t-category-theory 178/0 Mathlib.lean,Mathlib/CategoryTheory/Adjunction/Quadruple.lean,Mathlib/CategoryTheory/Adjunction/Triple.lean,Mathlib/CategoryTheory/Category/Basic.lean,Mathlib/CategoryTheory/EpiMono.lean 5 2 ['github-actions', 'peabrainiac'] robin-carlier
assignee:robin-carlier
none
5-1445
5 days ago
20-65716
20 days ago
20-66423
20 days
27965 grunweg
author:grunweg
feat: verify that file names contain no forbidden characters Follow-up to #27588: Windows also forbids certain characters in file names. I snuck in a change to also disallow `!` (which causes problems on Nix OS) and `.` (i.e., #27944) --- that would have caught the error in #27796, and may indicate confusion of file and module names. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed t-linter maintainer-merge 72/42 Mathlib/Tactic/Linter/TextBased.lean,MathlibTest/ForbiddenModuleNames.lean,MathlibTest/ForbiddenWindows.lean,scripts/lint-style.lean 4 11 ['YaelDillies', 'adomani', 'github-actions', 'grunweg'] joneugster
assignee:joneugster
1
5-1444
5 days ago
15-26739
15 days ago
15-59021
15 days
26428 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: norm_num support for Int.fract --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 61/0 Mathlib/Data/Rat/Floor.lean,MathlibTest/norm_num_ext.lean 2 5 ['Rob23oba', 'github-actions'] ericrbg
assignee:ericrbg
none
4-55849
4 days ago
55-14284
1 month ago
55-59043
55 days
27094 smorel394
author:smorel394
feat(Algebra.Category.FGModuleCat.Colimits): the category of finitely generated modules has finite colimits Prove that the forgetful functor from `FGModuleCat k` to `ModuleCat k` creates finite colimits, and hence that `FGModuleCat k` has finite colimits. - [ ] depends on: #27092 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
68/0 Mathlib.lean,Mathlib/Algebra/Category/FGModuleCat/Colimits.lean 2 6 ['github-actions', 'leanprover-community-bot-assistant', 'mariainesdff', 'mathlib4-dependent-issues-bot'] mariainesdff
assignee:mariainesdff
none
4-26708
4 days ago
21-23315
21 days ago
21-24493
21 days
23594 YaelDillies
author:YaelDillies
chore: rename `dmaSMul_apply` to `domSMul_apply` It's clearer this way, as the `ma` in `dmaSMul` already means "Multiplicative Action", ie `smul`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
4/2 Mathlib/MeasureTheory/Group/MeasurableEquiv.lean,Mathlib/MeasureTheory/Measure/Haar/DistribChar.lean 2 13 ['YaelDillies', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot', 'urkud'] mattrobball
assignee:mattrobball
none
4-1425
4 days ago
15-33175
15 days ago
39-8424
39 days
24804 Moises-Herradon-Cueto
author:Moises-Herradon-Cueto
feat(CategoryTheory/Limits/Preserves/Shapes): show that if a functor preserves limits, so does `Over.post` If a functor `F` preserves limits (of a certain shape, finite, or of a certain size), then so does the induced functor on `Over` categories. From Toric Co-authored-by: Yaël Dillies --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric new-contributor t-category-theory 125/0 Mathlib.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Over.lean,Mathlib/CategoryTheory/WithTerminal/Basic.lean 3 17 ['Moises-Herradon-Cueto', 'YaelDillies', 'erdOne', 'github-actions', 'joelriou'] riccardobrasca
assignee:riccardobrasca
none
4-1425
4 days ago
85-38007
2 months ago
91-42400
91 days
27839 CBirkbeck
author:CBirkbeck
feat: normalised Eisenstein series define normalised Eisenstein series in preparation for giving their q-expansions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 11/0 Mathlib/NumberTheory/ModularForms/EisensteinSeries/Basic.lean 1 3 ['Ruben-VandeVelde', 'github-actions'] alreadydone
assignee:alreadydone
none
4-1422
4 days ago
19-31775
19 days ago
19-31825
19 days
27357 jcreedcmu
author:jcreedcmu
feat(Algebra/Module/Submodule): add `submoduleMap` for isometries Per [discussion on Zulip](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Analog.20of.20LinearEquiv.2EsubmoduleMap.20for.20AffineIsometryEquiv.3F), add a version of `.submoduleMap` for `LinearIsometry` and `LinearIsometryEquiv` by analogy with `LinearMap.submoduleMap` and `LinearEquiv.submoduleMap`. --- new-contributor t-algebra
label:t-algebra$
56/0 Mathlib.lean,Mathlib/Analysis/Normed/Operator/LinearIsometrySubmoduleMap.lean 2 18 ['Ruben-VandeVelde', 'eric-wieser', 'github-actions', 'jcreedcmu', 'themathqueen'] dagurtomas
assignee:dagurtomas
none
3-28793
3 days ago
29-17253
29 days ago
29-17304
29 days
26057 YaelDillies
author:YaelDillies
feat: `mon_tauto`, a simp set to prove tautologies about a monoid object This simp set proves all tautologies involving (commutative) monoid objects in a (braided) monoidal category. The general algorithm it follows is to push the associators `α_` and commutators `β_` inwards until they cancel against the right sequence of multiplications. This approach is justified by the fact that a tautology in the language of (commutative) monoid objects "remembers" how it was proved: Every use of a (commutative) monoid object axiom inserts a unitor, associator or commutator, and proving a tautology simply amounts to undoing those moves as prescribed by the presence of unitors, associators and commutators in its expression. This simp set is opiniated about its normal form and therefore cannot be used concurrently to some of the simp lemmas in the standard simp set. As an example, we prove `tensorμ M M M M ≫ (μ ⊗ₘ μ) ≫ μ = (μ ⊗ₘ μ) ≫ μ`, the categorical equivalent of `mul_mul_mul_comm`. From Toric Co-authored-by: Andrew Yang --- - [x] depends on: #26102 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-category-theory 151/1 Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/Tactic/Attr/Register.lean,MathlibTest/CategoryTheory/Monoidal/MonTauto.lean,scripts/noshake.json 4 11 ['YaelDillies', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'robin-carlier'] robin-carlier
assignee:robin-carlier
none
3-1428
3 days ago
63-20293
2 months ago
63-83148
63 days
27743 alreadydone
author:alreadydone
feat(NumberTheory): Frobenius number exists, ℕ is Noetherian semiring & Sylver coinage + The Frobenius number of a set of natural numbers exist iff the set has gcd 1 and doesn't contain 1. + All additive submonoids (= ideals) of ℕ are finitely generated. + The game of Sylver coinage always terminates. This is the outcome of a course project at Heidelberg University: [matematiflo.github.io/CompAssistedMath2025](https://matematiflo.github.io/CompAssistedMath2025/) Co-authored-by: Daniel Buth @greymatter8 Co-authored-by: Sebastian Meier @SebastianMeierUni --- FrobeniusNumber is a leaf file so I think doubling its imports is okay. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra t-combinatorics t-number-theory
label:t-algebra$
252/28 Mathlib/Data/Set/Finite/Basic.lean,Mathlib/LinearAlgebra/FreeModule/PID.lean,Mathlib/NumberTheory/FrobeniusNumber.lean,Mathlib/RingTheory/Ideal/NatInt.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean 5 3 ['github-actions', 'vihdzp'] kbuzzard
assignee:kbuzzard
none
3-1425
3 days ago
20-25913
20 days ago
20-51515
20 days
27900 alreadydone
author:alreadydone
feat(Algebra): principal ideal finite product rings Show that ideals in a finite product semiring correspond to tuples of ideals in individual rings. Consequently, a finite product semiring is a PIR if each semiring is. follow-up of #27236 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra
label:t-algebra$
83/18 Mathlib/LinearAlgebra/Span/Defs.lean,Mathlib/RingTheory/Ideal/Basic.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Prod.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean 5 2 ['github-actions', 'mathlib4-merge-conflict-bot'] kbuzzard
assignee:kbuzzard
none
3-1423
3 days ago
15-24249
15 days ago
17-25896
17 days
27370 euprunin
author:euprunin
chore(Tactic/CancelDenoms): golf `cancel_factors_eq` ---
Show trace profiling of cancel_factors_eq: 120 ms before, 46 ms after 🎉 ### Trace profiling of `cancel_factors_eq` before PR 27370 ```diff diff --git a/Mathlib/Tactic/CancelDenoms/Core.lean b/Mathlib/Tactic/CancelDenoms/Core.lean index c4b62d3e29..3ec2128994 100644 --- a/Mathlib/Tactic/CancelDenoms/Core.lean +++ b/Mathlib/Tactic/CancelDenoms/Core.lean @@ -80,6 +80,7 @@ theorem cancel_factors_le {α} [Field α] [LinearOrder α] [IsStrictOrderedRing · exact mul_pos had hbd · exact one_div_pos.2 hgcd +set_option trace.profiler true in theorem cancel_factors_eq {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a') (hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) : (a = b) = (1 / gcd * (bd * a') = 1 / gcd * (ad * b')) := by ``` ``` ℹ [436/436] Built Mathlib.Tactic.CancelDenoms.Core (2.8s) info: Mathlib/Tactic/CancelDenoms/Core.lean:84:0: [Elab.command] [0.015258] theorem cancel_factors_eq {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a') (hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) : (a = b) = (1 / gcd * (bd * a') = 1 / gcd * (ad * b')) := by rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd] ext; constructor · rintro rfl rfl · intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.definition.header] [0.014988] CancelDenoms.cancel_factors_eq info: Mathlib/Tactic/CancelDenoms/Core.lean:84:0: [Elab.async] [0.122474] elaborating proof of CancelDenoms.cancel_factors_eq [Elab.definition.value] [0.119890] CancelDenoms.cancel_factors_eq [Elab.step] [0.118614] rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd] ext; constructor · rintro rfl rfl · intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.step] [0.118601] rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd] ext; constructor · rintro rfl rfl · intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.step] [0.010324] rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd] [Elab.step] [0.010312] (rewrite [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd]; with_annotate_state"]" (try (with_reducible rfl))) [Elab.step] [0.010299] rewrite [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.010291] rewrite [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.105805] · intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.step] [0.105661] intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.step] [0.105650] intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.step] [0.043946] refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h [Elab.step] [0.043859] expected type: a = b, term mul_left_cancel₀ (mul_ne_zero ?_ ?_) h [Elab.step] [0.025447] expected type: ?m.103 * ?m.104 ≠ 0, term (mul_ne_zero ?_ ?_) [Elab.step] [0.025432] expected type: ?m.103 * ?m.104 ≠ 0, term mul_ne_zero ?_ ?_ [Meta.synthInstance] [0.019262] ✅️ NoZeroDivisors α [Elab.step] [0.021441] on_goal 1 => apply mul_ne_zero [Elab.step] [0.019543] apply mul_ne_zero [Elab.step] [0.019530] apply mul_ne_zero [Elab.step] [0.019514] apply mul_ne_zero [Meta.synthInstance] [0.013986] ✅️ NoZeroDivisors α [Elab.step] [0.018650] · exact one_ne_zero [Elab.step] [0.018355] exact one_ne_zero [Elab.step] [0.018309] exact one_ne_zero [Elab.step] [0.018269] exact one_ne_zero [Elab.step] [0.017827] expected type: 1 ≠ 0, term one_ne_zero [Meta.synthInstance] [0.012295] ✅️ NeZero 1 Build completed successfully (436 jobs). ``` ### Trace profiling of `cancel_factors_eq` after PR 27370 ```diff diff --git a/Mathlib/Tactic/CancelDenoms/Core.lean b/Mathlib/Tactic/CancelDenoms/Core.lean index c4b62d3e29..066f915189 100644 --- a/Mathlib/Tactic/CancelDenoms/Core.lean +++ b/Mathlib/Tactic/CancelDenoms/Core.lean @@ -80,20 +80,11 @@ theorem cancel_factors_le {α} [Field α] [LinearOrder α] [IsStrictOrderedRing · exact mul_pos had hbd · exact one_div_pos.2 hgcd +set_option trace.profiler true in theorem cancel_factors_eq {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a') (hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) : (a = b) = (1 / gcd * (bd * a') = 1 / gcd * (ad * b')) := by - rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd] - ext; constructor - · rintro rfl - rfl - · intro h - simp only [← mul_assoc] at h - refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h - on_goal 1 => apply mul_ne_zero - on_goal 1 => apply div_ne_zero - · exact one_ne_zero - all_goals assumption + grind theorem cancel_factors_ne {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a') (hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) : ``` ``` ℹ [436/436] Built Mathlib.Tactic.CancelDenoms.Core (3.1s) info: Mathlib/Tactic/CancelDenoms/Core.lean:84:0: [Elab.command] [0.034809] theorem cancel_factors_eq {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a') (hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) : (a = b) = (1 / gcd * (bd * a') = 1 / gcd * (ad * b')) := by grind [Elab.definition.header] [0.014091] CancelDenoms.cancel_factors_eq info: Mathlib/Tactic/CancelDenoms/Core.lean:84:0: [Elab.async] [0.046425] elaborating proof of CancelDenoms.cancel_factors_eq [Elab.definition.value] [0.045869] CancelDenoms.cancel_factors_eq [Elab.step] [0.045340] grind [Elab.step] [0.045327] grind [Elab.step] [0.045311] grind info: Mathlib/Tactic/CancelDenoms/Core.lean:87:2: [Elab.async] [0.027621] Lean.addDecl [Kernel] [0.027585] ✅️ typechecking declarations [CancelDenoms.cancel_factors_eq._proof_1_1] Build completed successfully (436 jobs). ```
t-meta 1/11 Mathlib/Tactic/CancelDenoms/Core.lean 1 4 ['euprunin', 'github-actions'] alexjbest
assignee:alexjbest
none
2-73681
2 days ago
29-7910
29 days ago
29-7958
29 days
27856 euprunin
author:euprunin
chore(RingTheory/PowerSeries): golf entire `trunc_one` using `grind` ---
Show trace profiling of trunc_one: 88 ms before, 87 ms after 🎉 ### Trace profiling of `trunc_one` before PR 27856 ```diff diff --git a/Mathlib/RingTheory/PowerSeries/Trunc.lean b/Mathlib/RingTheory/PowerSeries/Trunc.lean index 7b8a612d49..9e21778c21 100644 --- a/Mathlib/RingTheory/PowerSeries/Trunc.lean +++ b/Mathlib/RingTheory/PowerSeries/Trunc.lean @@ -47,6 +47,7 @@ theorem trunc_zero (n) : trunc n (0 : R⟦X⟧) = 0 := rw [coeff_trunc, LinearMap.map_zero, Polynomial.coeff_zero] split_ifs <;> rfl +set_option trace.profiler true in @[simp] theorem trunc_one (n) : trunc (n + 1) (1 : R⟦X⟧) = 1 := Polynomial.ext fun m => by ``` ``` ℹ [1292/1292] Built Mathlib.RingTheory.PowerSeries.Trunc (3.2s) info: Mathlib/RingTheory/PowerSeries/Trunc.lean:51:0: [Elab.async] [0.089409] elaborating proof of PowerSeries.trunc_one [Elab.definition.value] [0.088361] PowerSeries.trunc_one [Elab.step] [0.086909] rw [coeff_trunc, coeff_one, Polynomial.coeff_one] split_ifs with h _ h' · rfl · rfl · subst h'; simp at h · rfl [Elab.step] [0.086897] rw [coeff_trunc, coeff_one, Polynomial.coeff_one] split_ifs with h _ h' · rfl · rfl · subst h'; simp at h · rfl [Elab.step] [0.038895] split_ifs with h _ h' [Elab.step] [0.043021] · subst h'; simp at h [Elab.step] [0.042999] subst h'; simp at h [Elab.step] [0.042991] subst h'; simp at h [Elab.step] [0.042673] simp at h Build completed successfully (1292 jobs). ``` ### Trace profiling of `trunc_one` after PR 27856 ```diff diff --git a/Mathlib/RingTheory/PowerSeries/Trunc.lean b/Mathlib/RingTheory/PowerSeries/Trunc.lean index 7b8a612d49..d9f8019532 100644 --- a/Mathlib/RingTheory/PowerSeries/Trunc.lean +++ b/Mathlib/RingTheory/PowerSeries/Trunc.lean @@ -47,15 +47,11 @@ theorem trunc_zero (n) : trunc n (0 : R⟦X⟧) = 0 := rw [coeff_trunc, LinearMap.map_zero, Polynomial.coeff_zero] split_ifs <;> rfl +set_option trace.profiler true in @[simp] theorem trunc_one (n) : trunc (n + 1) (1 : R⟦X⟧) = 1 := Polynomial.ext fun m => by - rw [coeff_trunc, coeff_one, Polynomial.coeff_one] - split_ifs with h _ h' - · rfl - · rfl - · subst h'; simp at h - · rfl + grind [PowerSeries.coeff_trunc, PowerSeries.coeff_one, Polynomial.coeff_one] @[simp] theorem trunc_C (n) (a : R) : trunc (n + 1) (C R a) = Polynomial.C a := ``` ``` ℹ [1292/1292] Built Mathlib.RingTheory.PowerSeries.Trunc (3.1s) info: Mathlib/RingTheory/PowerSeries/Trunc.lean:51:0: [Elab.async] [0.087506] elaborating proof of PowerSeries.trunc_one [Elab.definition.value] [0.086697] PowerSeries.trunc_one [Elab.step] [0.083908] grind [PowerSeries.coeff_trunc, PowerSeries.coeff_one, Polynomial.coeff_one] [Elab.step] [0.083856] grind [PowerSeries.coeff_trunc, PowerSeries.coeff_one, Polynomial.coeff_one] [Elab.step] [0.083840] grind [PowerSeries.coeff_trunc, PowerSeries.coeff_one, Polynomial.coeff_one] [Meta.synthInstance] [0.010307] ✅️ Lean.Grind.NatModule (Lean.Grind.Ring.OfSemiring.Q ℕ) [Meta.synthInstance] [0.010255] ❌️ LE (MvPowerSeries PUnit.{1} R) Build completed successfully (1292 jobs). ```
maintainer-merge t-algebra
label:t-algebra$
1/6 Mathlib/RingTheory/PowerSeries/Trunc.lean 1 8 ['eric-wieser', 'euprunin', 'github-actions', 'grunweg'] adomani
assignee:adomani
none
2-73084
2 days ago
19-9163
19 days ago
19-9681
19 days
27857 euprunin
author:euprunin
chore(Analysis/SpecialFunctions): golf entire `rpow_eq_top_of_nonneg` using `simp` ---
Show trace profiling of rpow_eq_top_of_nonneg: <10 ms before, 18 ms after ### Trace profiling of `rpow_eq_top_of_nonneg` before PR 27857 ```diff diff --git a/Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean b/Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean index 75b232ee4e..5d2ddf1fce 100644 --- a/Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean +++ b/Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean @@ -553,6 +553,7 @@ theorem rpow_eq_top_iff_of_pos {x : ℝ≥0∞} {y : ℝ} (hy : 0 < y) : x ^ y = lemma rpow_lt_top_iff_of_pos {x : ℝ≥0∞} {y : ℝ} (hy : 0 < y) : x ^ y < ∞ ↔ x < ∞ := by simp only [lt_top_iff_ne_top, Ne, rpow_eq_top_iff_of_pos hy] +set_option trace.profiler true in theorem rpow_eq_top_of_nonneg (x : ℝ≥0∞) {y : ℝ} (hy0 : 0 ≤ y) : x ^ y = ⊤ → x = ⊤ := by rw [ENNReal.rpow_eq_top_iff] rintro (h|h) ``` ``` ✔ [1872/1872] Built Mathlib.Analysis.SpecialFunctions.Pow.NNReal (6.0s) Build completed successfully (1872 jobs). ``` ### Trace profiling of `rpow_eq_top_of_nonneg` after PR 27857 ```diff diff --git a/Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean b/Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean index 75b232ee4e..68dc37f940 100644 --- a/Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean +++ b/Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean @@ -553,13 +553,9 @@ theorem rpow_eq_top_iff_of_pos {x : ℝ≥0∞} {y : ℝ} (hy : 0 < y) : x ^ y = lemma rpow_lt_top_iff_of_pos {x : ℝ≥0∞} {y : ℝ} (hy : 0 < y) : x ^ y < ∞ ↔ x < ∞ := by simp only [lt_top_iff_ne_top, Ne, rpow_eq_top_iff_of_pos hy] +set_option trace.profiler true in theorem rpow_eq_top_of_nonneg (x : ℝ≥0∞) {y : ℝ} (hy0 : 0 ≤ y) : x ^ y = ⊤ → x = ⊤ := by - rw [ENNReal.rpow_eq_top_iff] - rintro (h|h) - · exfalso - rw [lt_iff_not_ge] at h - exact h.right hy0 - · exact h.left + simp +contextual [ENNReal.rpow_eq_top_iff, hy0.not_gt] -- This is an unsafe rule since we want to try `rpow_ne_top_of_ne_zero` if `y < 0`. @[aesop (rule_sets := [finiteness]) unsafe apply] ``` ``` ℹ [1872/1872] Built Mathlib.Analysis.SpecialFunctions.Pow.NNReal (6.0s) info: Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean:557:0: [Elab.async] [0.018873] elaborating proof of ENNReal.rpow_eq_top_of_nonneg [Elab.definition.value] [0.018350] ENNReal.rpow_eq_top_of_nonneg [Elab.step] [0.018131] simp +contextual [ENNReal.rpow_eq_top_iff, hy0.not_gt] [Elab.step] [0.018118] simp +contextual [ENNReal.rpow_eq_top_iff, hy0.not_gt] [Elab.step] [0.018101] simp +contextual [ENNReal.rpow_eq_top_iff, hy0.not_gt] Build completed successfully (1872 jobs). ```
maintainer-merge t-analysis 1/6 Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean 1 6 ['eric-wieser', 'euprunin', 'github-actions', 'grunweg', 'kim-em'] ADedecker
assignee:ADedecker
none
2-72966
2 days ago
19-8801
19 days ago
19-9308
19 days
27943 dupuisf
author:dupuisf
feat: `StarOrderedRing` implies `OrderedSMul` We show that `StarOrderedRing R` implies `OrderedSMul 𝕜 R`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra t-analysis
label:t-algebra$
12/0 Mathlib/Algebra/Order/Star/Basic.lean 1 10 ['YaelDillies', 'dupuisf', 'github-actions', 'themathqueen'] YaelDillies
assignee:YaelDillies
none
2-21020
2 days ago
15-35718
15 days ago
16-22998
16 days
26259 Raph-DG
author:Raph-DG
feat(Topology): Connecting different notions of locally finite In this PR we connect the notions of local finiteness of an indexed family of sets (as in LocallyFinite) and of a set of sets (as in Function.locallyFinsuppWithin) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 32/0 Mathlib/Topology/LocallyFinsupp.lean 1 6 ['Raph-DG', 'github-actions', 'jcommelin', 'kckennylau'] jcommelin
assignee:jcommelin
none
2-2430
2 days ago
60-23920
1 month ago
60-23961
60 days
27825 yonggyuchoimath
author:yonggyuchoimath
feat(RingTheory/Ideal/Height): sup of ideal heights equals Krull dimension Adds `Ideal.sup_height_eq_ringKrullDim` and `Ideal.sup_primeHeight_eq_ringKrullDim`. They show the suprema of heights of ideals / prime ideals are equal to the Krull dimension, when the ring is nonzero. t-ring-theory new-contributor 53/0 Mathlib/RingTheory/Ideal/Height.lean 1 5 ['github-actions', 'kbuzzard', 'yonggyuchoimath'] kbuzzard
assignee:kbuzzard
none
0-57526
15 hours ago
16-27999
16 days ago
19-43087
19 days
27511 Nebula691
author:Nebula691
feat(Algebra/QuadraticAlgebra) : Define Quadratic Algebra Co-authored-by: Edison Xie Co-authored-by: Kenny Lau --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
419/0 Mathlib.lean,Mathlib/Algebra/QuadraticAlgebra.lean 2 70 ['Whysoserioushah', 'YaelDillies', 'eric-wieser', 'github-actions', 'kckennylau'] eric-wieser
assignee:eric-wieser
1
0-45140
12 hours ago
25-35739
25 days ago
25-35784
25 days
26975 Whysoserioushah
author:Whysoserioushah
feat: a norm_num extension for complex numbers co-authored-by : @thefundamentaltheor3m, @hrmacbeth --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 350/0 Mathlib.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/NormNum/NormNumI.lean,MathlibTest/norm_numI.lean 5 46 ['Whysoserioushah', 'dupuisf', 'eric-wieser', 'github-actions', 'hrmacbeth'] robertylewis
assignee:robertylewis
none
0-25619
7 hours ago
34-25561
1 month ago
34-29878
34 days
25795 dagurtomas
author:dagurtomas
chore(Condensed): introduce an abbrev for the equivalence of light condensed sets with a category of sheaves on a small site --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24522.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24522* t-condensed 39/0 Mathlib.lean,Mathlib/Condensed/Light/Small.lean 2 1 ['github-actions'] joneugster
assignee:joneugster
none
0-16555
4 hours ago
69-53064
2 months ago
69-53047
69 days
26201 scholzhannah
author:scholzhannah
feat: subcomplexes of a classical CW complex This PR defines subcomplexes of a (classical relative) CW complex to be a closed subspace which is a union of open cells. It provides additional definitions for alternative ways to describe subcomplexes. Lastly, it refactors the definition of the skeleton to define it as a subcomplex. Co-authored-by: Floris van Doorn --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 213/25 Mathlib/Topology/CWComplex/Classical/Basic.lean 1 2 ['github-actions', 'leanprover-community-bot-assistant'] ADedecker
assignee:ADedecker
none
0-15905
4 hours ago
40-45736
1 month ago
59-71075
59 days
25123 eric-wieser
author:eric-wieser
feat: add rfl lemmas for monoidal categories Making these `simp` opens a can of worms best left to #24823 `simps` would generate bad names here. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-algebra
label:t-algebra$
111/0 Mathlib/Algebra/Category/AlgCat/Monoidal.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat/Monoidal.lean 3 1 ['github-actions'] dagurtomas
assignee:dagurtomas
none
0-14384
3 hours ago
90-774
2 months ago
90-824
90 days
25743 robin-carlier
author:robin-carlier
feat(AlgebraicTopology/SimplexCategory/Augmented): monoidal structure on `AugmentedSimplexCategory` We construct a monoidal category structure on `AugmentedSimplexCategory`. The tensor products corresponds to ordinal sum. We characterize morphisms out of a tensor product of object in terms of their precomposition with canonical maps `x ⟶ x ⊗ y` and `y ⟶ x ⊗ y` coming from the fact that the unit is an initial object. When constructing this structure, we found that making `AugmentedSimplexCategory` an abbrev rather than a `def` worked better. --- - [x] depends on: #25742 Future work includes using this monoidal structure and Day convolution to define the join monoidal structure on augmented simplicial sets, and also using this category as a way to encode monoidal and monadic bar constructions. Happy to discuss the fact that I had to make `AugmentedSimplexCategory` an abbrev, I can revert this but this makes the proofs a bit harder (but, I guess, also less abusing some of defeqs?). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #22768.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/22768* t-algebraic-topology t-category-theory 523/111 Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Monoidal.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean 5 6 ['github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'robin-carlier'] dagurtomas
assignee:dagurtomas
none
0-13019
3 hours ago
20-48595
20 days ago
66-15624
66 days

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

There are currently no PRs with just an infrastructure-related CI failure. Congratulations!

PRs addressing technical debt

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
26648 eric-wieser
author:eric-wieser
chore(TensorProduct): remove more `suppress_compilation`s --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-algebra blocked-by-core-PR
label:t-algebra$
3/7 Mathlib/LinearAlgebra/CliffordAlgebra/Prod.lean,Mathlib/LinearAlgebra/TensorProduct/Graded/External.lean,Mathlib/LinearAlgebra/TensorProduct/Graded/Internal.lean 3 4 ['eric-wieser', 'github-actions', 'leanprover-bot'] nobody
45-65219
1 month ago
45-65219
1 month ago
3-19989
3 days
25770 Parcly-Taxel
author:Parcly-Taxel
chore: fix more induction/recursor branch names These were found using the regex `\| h. =>` and `def.*rec.*\(h. :`. tech debt 75/68 Mathlib/Analysis/Convolution.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/Data/Fin/Tuple/Basic.lean,Mathlib/Data/Fin/Tuple/NatAntidiagonal.lean,Mathlib/Data/Seq/Computation.lean,Mathlib/Data/Set/Card.lean,Mathlib/Data/WSeq/Basic.lean,Mathlib/Logic/Function/Iterate.lean,Mathlib/NumberTheory/ArithmeticFunction.lean,Mathlib/Order/SuccPred/Archimedean.lean,Mathlib/Order/Synonym.lean 11 16 ['Parcly-Taxel', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] Vierkantor
assignee:Vierkantor
11-74432
11 days ago
12-33316
12 days ago
67-60944
67 days
25774 Parcly-Taxel
author:Parcly-Taxel
chore: deprime `induction` in `AlgebraicTopology/CategoryTheory` Most replacements that are also in #23676 have been copied over, but some have been optimised further. tech debt 130/121 Mathlib/AlgebraicTopology/DoldKan/Decomposition.lean,Mathlib/AlgebraicTopology/DoldKan/Degeneracies.lean,Mathlib/AlgebraicTopology/DoldKan/NCompGamma.lean,Mathlib/AlgebraicTopology/DoldKan/Projections.lean,Mathlib/AlgebraicTopology/SimplexCategory/MorphismProperty.lean,Mathlib/AlgebraicTopology/SimplicialObject/Split.lean,Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveAdjunction.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/EnoughInjectives.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Subobject.lean,Mathlib/CategoryTheory/Action/Concrete.lean,Mathlib/CategoryTheory/Action/Monoidal.lean,Mathlib/CategoryTheory/ComposableArrows.lean,Mathlib/CategoryTheory/Extensive.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/CategoryTheory/Galois/Decomposition.lean,Mathlib/CategoryTheory/Galois/EssSurj.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Limits/Shapes/SequentialProduct.lean,Mathlib/CategoryTheory/Limits/VanKampen.lean,Mathlib/CategoryTheory/Quotient.lean,Mathlib/CategoryTheory/Sites/Sheaf.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Subobject/FactorThru.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/CategoryTheory/Triangulated/TStructure/Basic.lean 27 6 ['Parcly-Taxel', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'madvorak'] grunweg
assignee:grunweg
10-1421
10 days ago
22-34783
22 days ago
67-27275
67 days
27455 pechersky
author:pechersky
chore(NumberTheory/Padics/Hensel): rephrase using `aeval` This is easier to use at call site, because on need not pass `Polynomial.map (algebraMap _ _ )` in the use of `hensels_lemma` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-algebra t-number-theory
label:t-algebra$
158/139 Mathlib/NumberTheory/Padics/Hensel.lean 1 2 ['github-actions', 'mathlib4-merge-conflict-bot'] jcommelin
assignee:jcommelin
10-1416
10 days ago
17-13445
17 days ago
26-42458
26 days
27339 pechersky
author:pechersky
chore(RingTheory/Laurent): use WithZero.exp to golf statements and proofs about valuation on K((X)) Done as part of refactor of Valued in #27314. This PR does not change any definitions. Instead, uses `WithZero.exp` instead of coercion + Multiplicative.ofAdd. And some helper simp lemmas about valuations of RatFunc vis a vis LaurentSeries. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-algebra t-number-theory
label:t-algebra$
78/77 Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean 3 2 ['faenuccio', 'github-actions'] Vierkantor
assignee:Vierkantor
8-27148
8 days ago
29-37705
29 days ago
29-81700
29 days
25776 Parcly-Taxel
author:Parcly-Taxel
chore: deprime `induction` in `Analysis` I think this is very marginally dependent on #25770. tech debt t-analysis 256/208 Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/Box/SubboxInduction.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Split.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/Multiplier.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/Deriv/ZPow.lean,Mathlib/Analysis/Calculus/InverseFunctionTheorem/ApproximatesLinearOn.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean,Mathlib/Analysis/Calculus/SmoothSeries.lean,Mathlib/Analysis/Convex/Combination.lean,Mathlib/Analysis/Convex/Radon.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Complex/Circle.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Analysis/SpecialFunctions/Gamma/BohrMollerup.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean 35 4 ['Parcly-Taxel', 'github-actions', 'leanprover-community-bot-assistant', 'madvorak', 'mathlib4-merge-conflict-bot'] grunweg
assignee:grunweg
5-1448
5 days ago
12-32416
12 days ago
67-44328
67 days
28517 Vierkantor
author:Vierkantor
chore(*): address some `@[simps]` porting notes Search for porting notes mentioning `simps` and fix the ones that are easy to fix. The search also caught some that refer to `simps` as in a `simp` set, so we fix them too. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt 54/76 Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean,Mathlib/AlgebraicGeometry/Spec.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/CategoryTheory/Limits/Cones.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryBiproducts.lean,Mathlib/CategoryTheory/Limits/Shapes/Biproducts.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Cospan.lean,Mathlib/CategoryTheory/Localization/Predicate.lean,Mathlib/CategoryTheory/Monad/Adjunction.lean,Mathlib/CategoryTheory/Monad/Algebra.lean,Mathlib/CategoryTheory/Monad/Basic.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Preadditive/Mat.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/RepresentationTheory/Rep.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/Topology/Homotopy/HomotopyGroup.lean 19 1 ['github-actions'] nobody
2-32684
2 days ago
2-32684
2 days ago
2-32668
2 days
28650 Vierkantor
author:Vierkantor
chore(Analysis): address a lot of porting notes Go through all porting notes in the Analysis folder and address those with an obvious resolution. A few won'tfixes where Lean 4 is stricter about unfolding or where `@[simp]` attributes were already wrong; otherwise most are easily resolved. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-analysis 69/134 Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Tagged.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Calculus/FDeriv/Prod.lean,Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Convex/Body.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Convex/Intrinsic.lean,Mathlib/Analysis/Convex/SimplicialComplex/Basic.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/Orientation.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/InnerProductSpace/Projection/Basic.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Analysis/InnerProductSpace/TwoDim.lean,Mathlib/Analysis/Matrix.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Analysis/Normed/Group/AddTorsor.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Group/Quotient.lean,Mathlib/Analysis/Normed/Group/Rat.lean,Mathlib/Analysis/Normed/Group/SemiNormedGrp/Kernels.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Analysis/Normed/Operator/Banach.lean,Mathlib/Analysis/Normed/Operator/BoundedLinearMaps.lean,Mathlib/Analysis/Normed/Ring/Lemmas.lean,Mathlib/Analysis/Normed/Unbundled/RingSeminorm.lean,Mathlib/Analysis/NormedSpace/Extend.lean,Mathlib/Analysis/NormedSpace/MStructure.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Completeness.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/PolarCoord.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/LinearAlgebra/FiniteDimensional/Defs.lean 41 11 ['Vierkantor', 'github-actions'] nobody
0-60361
16 hours ago
1-31274
1 day ago
1-31259
1 day
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/) tech debt t-computability merge-conflict 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
367-18250
1 year ago
407-42565
1 year ago
1-84718
1 day
15448 urkud
author:urkud
chore(*): deprecate `Option.elim'` Use `Option.elim` instead. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt merge-conflict awaiting-author 54/50 Mathlib/Algebra/BigOperators/Option.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Split.lean,Mathlib/Analysis/Calculus/LagrangeMultipliers.lean,Mathlib/CategoryTheory/Category/PartialFun.lean,Mathlib/Computability/TMToPartrec.lean,Mathlib/Data/Option/Defs.lean,Mathlib/LinearAlgebra/Basis.lean,Mathlib/Logic/Embedding/Set.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/MeasureTheory/OuterMeasure/Induced.lean,Mathlib/NumberTheory/Dioph.lean,Mathlib/Topology/Compactness/Paracompact.lean,Mathlib/Topology/LocallyFinite.lean 17 12 ['Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'grunweg', 'urkud'] nobody
366-28215
1 year ago
367-17362
1 year ago
7-18420
7 days
16464 Parcly-Taxel
author:Parcly-Taxel
chore: deprecate `Nat.(case_)strong_induction_on` …in favour of the now-renamed `Nat.(case)strongInductionOn` in core. tech debt merge-conflict 54/56 Archive/Imo/Imo1981Q3.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/ContinuedFractions/ConvergentsEquiv.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/Lifts.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Hofer.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/Combinatorics/Derangements/Finite.lean,Mathlib/Combinatorics/Enumerative/Catalan.lean,Mathlib/Combinatorics/Hall/Finite.lean,Mathlib/Combinatorics/SetFamily/AhlswedeZhang.lean,Mathlib/Computability/Primrec.lean,Mathlib/Data/Fintype/Basic.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Data/Nat/Choose/Central.lean,Mathlib/Data/Nat/Defs.lean,Mathlib/Data/Nat/Digits.lean,Mathlib/Data/Nat/Log.lean,Mathlib/FieldTheory/Separable.lean,Mathlib/LinearAlgebra/Eigenspace/Triangularizable.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/NumberTheory/BernoulliPolynomials.lean,Mathlib/NumberTheory/DiophantineApproximation.lean,Mathlib/NumberTheory/Pell.lean,Mathlib/NumberTheory/Primorial.lean,Mathlib/Order/Fin/Basic.lean,Mathlib/RingTheory/Adjoin/PowerBasis.lean,Mathlib/RingTheory/LittleWedderburn.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Eval.lean,Mathlib/RingTheory/Polynomial/Eisenstein/IsIntegral.lean,Mathlib/RingTheory/Polynomial/Nilpotent.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/QuotientNilpotent.lean,Mathlib/RingTheory/WittVector/Defs.lean,Mathlib/RingTheory/WittVector/Frobenius.lean,Mathlib/RingTheory/WittVector/StructurePolynomial.lean,Mathlib/SetTheory/Surreal/Dyadic.lean,Mathlib/Topology/Metrizable/Uniformity.lean 43 13 ['Parcly-Taxel', 'b-mehta', 'github-actions', 'jcommelin'] nobody
334-27718
11 months ago
334-27718
11 months ago
8-1989
8 days
20872 grunweg
author:grunweg
feat: lint against the tactic.skipAssignedInstances option in mathlib This means we can remove the corresponding technical debt entry. We also correct some outdated details in the Linter/Style.lean docstring. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-linter merge-conflict awaiting-author 63/7 Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Tactic/Linter/Style.lean,Mathlib/Topology/Separation/Regular.lean,MathlibTest/LintStyle.lean,scripts/technical-debt-metrics.sh 5 17 ['adomani', 'github-actions', 'grunweg'] nobody
203-17424
6 months ago
203-17424
6 months ago
0-9411
2 hours
22682 grunweg
author:grunweg
chore(Topology/Homeomorph): split out various constructions This makes `Homeomorph.lean` slightly more manageable, and also is a mild import reduction. edit: also split out IsHomeomorph, as this allows removing the dependencies on Constructions. Let's see if this gains much --- I don't feel strongly about this PR, but we might as well take it. - [ ] depends on: #22681 - [ ] depends on #22827 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-topology RFC merge-conflict 341/290 Mathlib.lean,Mathlib/Topology/Category/TopCat/ULift.lean,Mathlib/Topology/Homeomorph/Constructions.lean,Mathlib/Topology/Homeomorph/IsHomeomorph.lean,Mathlib/Topology/Homeomorph/Lemmas.lean,Mathlib/Topology/NoetherianSpace.lean 6 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
141-76444
4 months ago
141-76444
4 months ago
14-35834
14 days
23411 PatrickMassot
author:PatrickMassot
chore: remove finiteness from Order.Filter.Lift Co-authored-by: Anatole Dedecker --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) longest-pole t-topology merge-conflict 48/21 Mathlib/Dynamics/TopologicalEntropy/DynamicalEntourage.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Finite.lean,Mathlib/Order/Filter/Lift.lean,Mathlib/Order/Filter/SmallSets.lean,Mathlib/Topology/Algebra/ContinuousMonoidHom.lean,Mathlib/Topology/Basic.lean 7 4 ['Vierkantor', 'github-actions', 'kim-em', 'leanprover-community-bot-assistant'] nobody
134-57465
4 months ago
134-77034
4 months ago
10-21608
10 days
24100 eric-wieser
author:eric-wieser
feat: restore some explicit binders from Lean 3 Part of #24099 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt merge-conflict awaiting-author 39/42 Mathlib/Data/FinEnum.lean,Mathlib/FieldTheory/Galois/Profinite.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/Compactness/CompactlyGeneratedSpace.lean,Mathlib/Topology/MetricSpace/IsometricSMul.lean,Mathlib/Topology/Metrizable/CompletelyMetrizable.lean,Mathlib/Topology/Metrizable/Uniformity.lean,Mathlib/Topology/Order.lean,Mathlib/Topology/Order/LowerUpperTopology.lean,Mathlib/Topology/UniformSpace/UniformEmbedding.lean 10 3 ['github-actions', 'grunweg', 'leanprover-community-bot-assistant'] nobody
87-40618
2 months ago
87-40620
2 months ago
34-33204
34 days
24409 urkud
author:urkud
chore(*): fix `nmem` vs `not_mem` names --- There are some missing/buggy deprecations, I'm going to fix them later today or tomorrow. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-zulip tech debt merge-conflict delegated awaiting-author 317/176 Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Group/Finset/Lemmas.lean,Mathlib/Algebra/Group/Indicator.lean,Mathlib/Algebra/Group/Support.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Order/Group/Indicator.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/DSlope.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Support.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/Rademacher.lean,Mathlib/Analysis/Complex/RemovableSingularity.lean,Mathlib/Analysis/Convex/Cone/InnerDual.lean,Mathlib/Analysis/Convex/Cone/Proper.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/Distribution/AEEqOfIntegralContDiff.lean,Mathlib/Data/LocallyFinsupp.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Dynamics/Ergodic/Conservative.lean,Mathlib/Dynamics/Ergodic/Ergodic.lean,Mathlib/Dynamics/Ergodic/Function.lean,Mathlib/Dynamics/PeriodicPts/Defs.lean,Mathlib/Geometry/Manifold/ContMDiff/Basic.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean,Mathlib/GroupTheory/CosetCover.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean,Mathlib/LinearAlgebra/FreeModule/PID.lean,Mathlib/LinearAlgebra/PID.lean,Mathlib/LinearAlgebra/RootSystem/Base.lean,Mathlib/LinearAlgebra/RootSystem/Finite/Lemmas.lean,Mathlib/MeasureTheory/Function/ContinuousMapDense.lean,Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Function/LpSpace/Indicator.lean,Mathlib/MeasureTheory/Integral/Average.lean,Mathlib/MeasureTheory/Integral/Bochner/Set.lean,Mathlib/MeasureTheory/Integral/Layercake.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Basic.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean,Mathlib/MeasureTheory/Measure/AbsolutelyContinuous.lean,Mathlib/MeasureTheory/Measure/AddContent.lean,Mathlib/MeasureTheory/Measure/DiracProba.lean,Mathlib/MeasureTheory/Measure/Haar/Unique.lean,Mathlib/MeasureTheory/Measure/Restrict.lean,Mathlib/MeasureTheory/Measure/WithDensity.lean,Mathlib/MeasureTheory/OuterMeasure/AE.lean,Mathlib/MeasureTheory/SetSemiring.lean,Mathlib/Order/Filter/AtTopBot/CountablyGenerated.lean,Mathlib/Order/Filter/Cocardinal.lean,Mathlib/Order/Filter/Cofinite.lean,Mathlib/Order/Filter/Tendsto.lean,Mathlib/Order/Filter/Ultrafilter/Basic.lean,Mathlib/Probability/Distributions/Uniform.lean,Mathlib/Probability/Kernel/Basic.lean,Mathlib/Probability/Kernel/Composition/MeasureCompProd.lean,Mathlib/RingTheory/AdicCompletion/LocalRing.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/NewtonIdentities.lean,Mathlib/RingTheory/MvPowerSeries/NoZeroDivisors.lean,Mathlib/RingTheory/Spectrum/Maximal/Localization.lean,Mathlib/RingTheory/Spectrum/Prime/RingHom.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean,Mathlib/Topology/Algebra/InfiniteSum/Group.lean,Mathlib/Topology/Algebra/Module/Cardinality.lean,Mathlib/Topology/Algebra/Support.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/ContinuousMap/BoundedCompactlySupported.lean,Mathlib/Topology/Order/Basic.lean,Mathlib/Topology/UrysohnsLemma.lean 77 4 ['b-mehta', 'github-actions', 'jcommelin', 'leanprover-community-bot-assistant', 'mathlib-bors'] nobody
79-68138
2 months ago
79-68138
2 months ago
0-55045
15 hours
12879 grunweg
author:grunweg
feat: port ge_or_gt linter from mathlib3 Code works and is essentially green: next step is to split up into separate PRs. Feedback welcome on whether: - all the test changes are good, or I should simply allow it in more cases - if calc blocks need to be explicitly exempt --- - [ ] depends on: #12933 - [ ] depends on: #12934 - [ ] depends on: #12931 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-linter merge-conflict blocked-by-other-PR 736/319 Archive/Imo/Imo1960Q1.lean,Archive/Imo/Imo1962Q1.lean,Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo1994Q1.lean,Archive/Imo/Imo2001Q2.lean,Archive/Imo/Imo2005Q3.lean,Archive/Imo/Imo2006Q3.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2008Q3.lean,Archive/Imo/Imo2008Q4.lean,Archive/Imo/Imo2011Q5.lean,Archive/Imo/Imo2019Q4.lean,Archive/Sensitivity.lean,Archive/Wiedijk100Theorems/AreaOfACircle.lean,Archive/Wiedijk100Theorems/BallotProblem.lean,Archive/Wiedijk100Theorems/BirthdayProblem.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Mathlib.lean,Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Star/CHSH.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/InnerProductSpace/Projection.lean,Mathlib/Analysis/Normed/Group/ControlledClosure.lean,Mathlib/Analysis/NormedSpace/MStructure.lean,Mathlib/Analysis/SpecialFunctions/Log/Base.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Data/FP/Basic.lean,Mathlib/Data/Finset/Basic.lean,Mathlib/Data/Finset/Fold.lean,Mathlib/Data/Finsupp/Notation.lean,Mathlib/Data/Int/Lemmas.lean,Mathlib/Data/Nat/Dist.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Nat/Parity.lean,Mathlib/Data/Nat/Upto.lean,Mathlib/Data/Ordmap/Ordset.lean,Mathlib/Data/PNat/Basic.lean,Mathlib/Data/UInt.lean,Mathlib/GroupTheory/Coxeter/Length.lean,Mathlib/MeasureTheory/Constructions/Polish.lean,Mathlib/MeasureTheory/Covering/Besicovitch.lean,Mathlib/MeasureTheory/Covering/Vitali.lean,Mathlib/MeasureTheory/Covering/VitaliFamily.lean,Mathlib/MeasureTheory/Integral/Layercake.lean,Mathlib/NumberTheory/LegendreSymbol/JacobiSymbol.lean,Mathlib/NumberTheory/Padics/Hensel.lean,Mathlib/NumberTheory/Padics/PadicNorm.lean,Mathlib/NumberTheory/PellMatiyasevic.lean,Mathlib/NumberTheory/Rayleigh.lean,Mathlib/Order/Filter/AtTopBot.lean,Mathlib/Probability/Process/Stopping.lean,Mathlib/RingTheory/Adjoin/Basic.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/SetTheory/Ordinal/Notation.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CancelDenoms/Core.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/IntervalCases.lean,Mathlib/Tactic/Linarith/Datatypes.lean,Mathlib/Tactic/Linarith/Lemmas.lean,Mathlib/Tactic/Linarith/Oracle/FourierMotzkin.lean,Mathlib/Tactic/Linter/GeOrGt.lean,Mathlib/Tactic/Linter/Style.lean,Mathlib/Tactic/NormNum/GCD.lean,Mathlib/Tactic/NormNum/Inv.lean,Mathlib/Tactic/Ring/Basic.lean,Mathlib/Topology/Category/Profinite/Nobeling.lean,Mathlib/Topology/ContinuousFunction/Bounded.lean,Mathlib/Topology/MetricSpace/CauSeqFilter.lean,Mathlib/Topology/MetricSpace/Cauchy.lean,Mathlib/Topology/MetricSpace/Closeds.lean,Mathlib/Topology/Sequences.lean,scripts/lint-style.py,test/Explode.lean,test/GCongr/inequalities.lean,test/GeOrGt.lean,test/LibrarySearch/IsCompact.lean,test/LibrarySearch/basic.lean,test/Recall.lean,test/Rify.lean,test/Use.lean,test/cancel_denoms.lean,test/congr.lean,test/delabLinearIndependent.lean,test/delaborators.lean,test/interval_cases.lean,test/linarith.lean 109 3 ['github-actions', 'grunweg', 'leanprover-community-mathlib4-bot'] nobody
385-61865
1 year ago
407-42565
1 year ago
0-15202
4 hours

PRs blocked on a zulip discussion

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
23866 kim-em
author:kim-em
chore: remove `[AtLeastTwo n]` hypothesis from the `NatCast` to `OfNat` instance This PR observes that we can change ``` instance (priority := 100) instOfNatAtLeastTwo {n : ℕ} [NatCast R] [Nat.AtLeastTwo n] : OfNat R n ``` to ``` instance (priority := 100) instOfNatAtLeastTwo {n : ℕ} [NatCast R] : OfNat R n ``` with minimal fall-out. A follow-up PR #23867 then observes that we can remove nearly all the `[Nat.AtLeastTwo n]` hypotheses in Mathlib. This is slightly dangerous -- it does make it more likely that we'll generate non-defeq instances, but it appears to happen very rarely. However, it will make life slightly easier for something Leo and I are trying to do with `grind` and Grobner bases (we'd like to be able to assume types we consume have `[∀ n, OfNat α n]`, which is possible with this change, but not without...). Zulip thread: [#PR reviews > #23866 and #23867, removing most `[Nat.AtLeastTwo n]` @ 💬](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2323866.20and.20.2323867.2C.20removing.20most.20.60.5BNat.2EAtLeastTwo.20n.5D.60/near/511157297) awaiting-zulip 21/26 Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/Data/Nat/Cast/Defs.lean,Mathlib/Data/Nat/Cast/Order/Basic.lean 3 3 ['eric-wieser', 'github-actions', 'urkud'] nobody
133-23123
4 months ago
133-23212
4 months ago
0-23929
6 hours
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/) awaiting-zulip t-computability new-contributor awaiting-author 298/0 Mathlib.lean,Mathlib/Computability/GNFA.lean,Mathlib/Computability/Language.lean,Mathlib/Computability/RegularExpressions.lean,docs/references.bib 5 6 ['github-actions', 'mathlib4-dependent-issues-bot', 'meithecatte', 'trivial1711'] nobody
107-10600
3 months ago
107-10609
3 months ago
23-54870
23 days
20648 anthonyde
author:anthonyde
feat: formalize regular expression -> εNFA The file `Computability/RegularExpressionsToEpsilonNFA.lean` contains a formal definition of Thompson's method for constructing an `εNFA` from a `RegularExpression` and a proof of its correctness. --- - [x] depends on: #20644 - [x] depends on: #20645 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-zulip t-computability new-contributor 490/0 Mathlib.lean,Mathlib/Computability/RegularExpressionsToEpsilonNFA.lean,docs/references.bib 3 5 ['github-actions', 'mathlib4-dependent-issues-bot', 'meithecatte', 'qawbecrdtey'] nobody
107-9911
3 months ago
107-10546
3 months ago
75-77754
75 days
20238 maemre
author:maemre
feat(Computability/DFA): Closure of regular languages under some set operations This shows that regular languages are closed under complement and intersection by constructing DFAs for them. --- Closure under all other operations will be proved when someone adds the proof for DFA<->regular expression equivalence, so they are not part of this PR. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-zulip t-computability new-contributor awaiting-author 159/0 Mathlib/Computability/DFA.lean,Mathlib/Computability/Language.lean 2 59 ['EtienneC30', 'YaelDillies', 'github-actions', 'maemre', 'meithecatte', 'urkud'] EtienneC30
assignee:EtienneC30
77-62771
2 months ago
107-10510
3 months ago
48-67492
48 days
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/) awaiting-zulip t-computability new-contributor 101/10 Mathlib/Computability/EpsilonNFA.lean,Mathlib/Computability/NFA.lean 2 41 ['YaelDillies', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'meithecatte'] nobody
74-20162
2 months ago
74-20163
2 months ago
34-10595
34 days
11800 JADekker
author:JADekker
feat : Define 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/) awaiting-zulip t-topology merge-conflict please-adopt 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
338-74033
11 months ago
339-9608
11 months ago
119-10687
119 days
17623 FR-vdash-bot
author:FR-vdash-bot
feat(Algebra/Order/GroupWithZero/Unbundled): add some lemmas Some lemmas in `Algebra.Order.GroupWithZero.Unbundled` have incorrect or unsatisfactory names, or assumptions that can be omitted using `ZeroLEOneClass`. The lemmas added in this PR are versions of existing lemmas that use the correct or better name or `ZeroLEOneClass` to omit an assumption. The original lemmas will be deprecated in #17593. | New name | Old name | |-------------------------|-------------------------| | `mul_le_one_left₀` | `Left.mul_le_one_of_le_of_le` | | `mul_lt_one_of_le_of_lt_left₀` (`0 ≤ ·` version) / `mul_lt_one_of_le_of_lt_of_pos_left` | `Left.mul_lt_of_le_of_lt_one_of_pos` | | `mul_lt_one_of_lt_of_le_left₀` | `Left.mul_lt_of_lt_of_le_one_of_nonneg` | | `mul_le_one_right₀` | `Right.mul_le_one_of_le_of_le` | | `mul_lt_one_of_lt_of_le_right₀` (`0 ≤ ·` version) / `mul_lt_one_of_lt_of_le_of_pos_right` | `Right.mul_lt_one_of_lt_of_le_of_pos` | | `mul_lt_one_of_le_of_lt_right₀` | `Right.mul_lt_one_of_le_of_lt_of_nonneg` | The following lemmas use `ZeroLEOneClass`. | New name | Old name | |-------------------------|-------------------------| | `(Left.)one_le_mul₀` | `Left.one_le_mul_of_le_of_le` | | `Left.one_lt_mul_of_le_of_lt₀` | `Left.one_lt_mul_of_le_of_lt_of_pos` | | `Left.one_lt_mul_of_lt_of_le₀` | `Left.lt_mul_of_lt_of_one_le_of_nonneg` / `one_lt_mul_of_lt_of_le` (still there) | | `(Left.)one_lt_mul₀` | | | `Right.one_le_mul₀` | `Right.one_le_mul_of_le_of_le` | | `Right.one_lt_mul_of_lt_of_le₀` | `Right.one_lt_mul_of_lt_of_le_of_pos` | | `Right.one_lt_mul_of_le_of_lt₀` | `Right.one_lt_mul_of_le_of_lt_of_nonneg` / `one_lt_mul_of_le_of_lt` (still there) / `one_lt_mul` (still there) | | `Right.one_lt_mul₀` | `Right.one_lt_mul_of_lt_of_lt` | --- Split from #17593. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-zulip t-order t-algebra merge-conflict
label:t-algebra$
146/44 Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled.lean 2 11 ['FR-vdash-bot', 'YaelDillies', 'github-actions', 'j-loreaux'] nobody
273-47283
9 months ago
273-47283
9 months ago
33-64877
33 days
8370 eric-wieser
author:eric-wieser
refactor(Analysis/NormedSpace/Exponential): remove the `𝕂` argument from `exp` This argument is still needed for almost all the lemmas, which means it can longer be found by unification. We keep around `expSeries 𝕂 A`, as it's needed for talking about the radius of convergence over different base fields. This is a prerequisite for #8372, as we can't merge the functions until they have the same interface.\ Zulip thread: [#mathlib4 > Real.exp @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Real.2Eexp/near/401602245) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) This is started from the mathport output on https://github.com/leanprover-community/mathlib/pull/19244 awaiting-zulip t-analysis merge-conflict 432/387 Mathlib/Analysis/CStarAlgebra/Exponential.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/Normed/Algebra/MatrixExponential.lean,Mathlib/Analysis/Normed/Algebra/QuaternionExponential.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/TrivSqZeroExt.lean,Mathlib/Analysis/NormedSpace/DualNumber.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog.lean,Mathlib/Analysis/SpecialFunctions/Exponential.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Series.lean 11 29 ['YaelDillies', 'eric-wieser', 'girving', 'github-actions', 'j-loreaux', 'kbuzzard', 'leanprover-community-bot-assistant', 'urkud'] nobody
118-2660
3 months ago
129-31290
4 months ago
29-60989
29 days
15651 TpmKranz
author:TpmKranz
feat(Computability/NFA): operations for Thompson's construction Lays the groundwork for a proof of equivalence of RE and NFA, w.r.t. described language. Actual connection to REs comes later, after the groundwork for the opposite direction has been laid. Third chunk of #12648 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-zulip t-computability new-contributor merge-conflict awaiting-author 307/5 Mathlib/Computability/NFA.lean 1 15 ['TpmKranz', 'YaelDillies', 'dupuisf', 'github-actions', 'leanprover-community-bot-assistant', 'meithecatte'] nobody
93-33166
3 months ago
93-33167
3 months ago
45-84611
45 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/) awaiting-zulip t-computability new-contributor merge-conflict awaiting-author 218/2 Mathlib/Computability/Language.lean,Mathlib/Computability/NFA.lean 2 90 ['EtienneC30', 'b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'meithecatte', 'rudynicolop'] EtienneC30
assignee:EtienneC30
93-32240
3 months ago
93-32242
3 months ago
39-67601
39 days
24409 urkud
author:urkud
chore(*): fix `nmem` vs `not_mem` names --- There are some missing/buggy deprecations, I'm going to fix them later today or tomorrow. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-zulip tech debt merge-conflict delegated awaiting-author 317/176 Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Group/Finset/Lemmas.lean,Mathlib/Algebra/Group/Indicator.lean,Mathlib/Algebra/Group/Support.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Order/Group/Indicator.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/DSlope.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Support.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/Rademacher.lean,Mathlib/Analysis/Complex/RemovableSingularity.lean,Mathlib/Analysis/Convex/Cone/InnerDual.lean,Mathlib/Analysis/Convex/Cone/Proper.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/Distribution/AEEqOfIntegralContDiff.lean,Mathlib/Data/LocallyFinsupp.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Dynamics/Ergodic/Conservative.lean,Mathlib/Dynamics/Ergodic/Ergodic.lean,Mathlib/Dynamics/Ergodic/Function.lean,Mathlib/Dynamics/PeriodicPts/Defs.lean,Mathlib/Geometry/Manifold/ContMDiff/Basic.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean,Mathlib/GroupTheory/CosetCover.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean,Mathlib/LinearAlgebra/FreeModule/PID.lean,Mathlib/LinearAlgebra/PID.lean,Mathlib/LinearAlgebra/RootSystem/Base.lean,Mathlib/LinearAlgebra/RootSystem/Finite/Lemmas.lean,Mathlib/MeasureTheory/Function/ContinuousMapDense.lean,Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Function/LpSpace/Indicator.lean,Mathlib/MeasureTheory/Integral/Average.lean,Mathlib/MeasureTheory/Integral/Bochner/Set.lean,Mathlib/MeasureTheory/Integral/Layercake.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Basic.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean,Mathlib/MeasureTheory/Measure/AbsolutelyContinuous.lean,Mathlib/MeasureTheory/Measure/AddContent.lean,Mathlib/MeasureTheory/Measure/DiracProba.lean,Mathlib/MeasureTheory/Measure/Haar/Unique.lean,Mathlib/MeasureTheory/Measure/Restrict.lean,Mathlib/MeasureTheory/Measure/WithDensity.lean,Mathlib/MeasureTheory/OuterMeasure/AE.lean,Mathlib/MeasureTheory/SetSemiring.lean,Mathlib/Order/Filter/AtTopBot/CountablyGenerated.lean,Mathlib/Order/Filter/Cocardinal.lean,Mathlib/Order/Filter/Cofinite.lean,Mathlib/Order/Filter/Tendsto.lean,Mathlib/Order/Filter/Ultrafilter/Basic.lean,Mathlib/Probability/Distributions/Uniform.lean,Mathlib/Probability/Kernel/Basic.lean,Mathlib/Probability/Kernel/Composition/MeasureCompProd.lean,Mathlib/RingTheory/AdicCompletion/LocalRing.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/NewtonIdentities.lean,Mathlib/RingTheory/MvPowerSeries/NoZeroDivisors.lean,Mathlib/RingTheory/Spectrum/Maximal/Localization.lean,Mathlib/RingTheory/Spectrum/Prime/RingHom.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean,Mathlib/Topology/Algebra/InfiniteSum/Group.lean,Mathlib/Topology/Algebra/Module/Cardinality.lean,Mathlib/Topology/Algebra/Support.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/ContinuousMap/BoundedCompactlySupported.lean,Mathlib/Topology/Order/Basic.lean,Mathlib/Topology/UrysohnsLemma.lean 77 4 ['b-mehta', 'github-actions', 'jcommelin', 'leanprover-community-bot-assistant', 'mathlib-bors'] nobody
79-68138
2 months ago
79-68138
2 months ago
0-55045
15 hours
17458 urkud
author:urkud
refactor(Algebra/Group): make `IsUnit` a typeclass Also change some lemmas to assume `[IsUnit _]` instead of `[Invertible _]`. Motivated by potential non-defeq diamonds in #14986, see also [Zulip](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/Invertible.20and.20data) I no longer plan to merge this PR, but I'm going to cherry-pick some changes to a new PR before closing this one. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-zulip t-algebra merge-conflict
label:t-algebra$
82/72 Mathlib/Algebra/CharP/Invertible.lean,Mathlib/Algebra/Group/Invertible/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/Invertible.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Units.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Analysis/Normed/Ring/Units.lean,Mathlib/CategoryTheory/Linear/Basic.lean,Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/FieldTheory/Separable.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/GroupTheory/Submonoid/Inverses.lean,Mathlib/LinearAlgebra/AffineSpace/AffineEquiv.lean,Mathlib/LinearAlgebra/AffineSpace/Combination.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Contraction.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Inversion.lean,Mathlib/LinearAlgebra/CliffordAlgebra/SpinGroup.lean,Mathlib/LinearAlgebra/Eigenspace/Minpoly.lean,Mathlib/NumberTheory/MulChar/Basic.lean,Mathlib/RingTheory/Localization/NumDen.lean,Mathlib/RingTheory/Polynomial/Content.lean,Mathlib/RingTheory/Polynomial/GaussLemma.lean,Mathlib/RingTheory/Valuation/Basic.lean 26 12 ['MichaelStollBayreuth', 'acmepjz', 'eric-wieser', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'urkud'] nobody
46-77309
1 month ago
46-77309
1 month ago
0-66650
18 hours
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/) awaiting-zulip new-contributor t-algebraic-geometry merge-conflict 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
46-76147
1 month ago
46-76148
1 month ago
6-51040
6 days
28298 thorimur
author:thorimur
chore: dedent `to_additive` docstrings This PR uses automation to dedent `to_additive` docstrings throughout Mathlib. It does not lint against indentation or in any way enforce indentation standards for future docstrings. The convention was chosen in accordance with the discussion and polls at [this Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Poll.3A.20Indentation.20style.20for.20.60to_additive.60.20docstrings/with/534285603). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-zulip merge-conflict documentation 949/949 Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset/Lemmas.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Defs.lean,Mathlib/Algebra/BigOperators/Pi.lean,Mathlib/Algebra/Category/Grp/Basic.lean,Mathlib/Algebra/Category/Grp/FilteredColimits.lean,Mathlib/Algebra/Category/Grp/Limits.lean,Mathlib/Algebra/Category/Grp/Ulift.lean,Mathlib/Algebra/Category/MonCat/Basic.lean,Mathlib/Algebra/Category/MonCat/FilteredColimits.lean,Mathlib/Algebra/Category/MonCat/Limits.lean,Mathlib/Algebra/Category/Semigrp/Basic.lean,Mathlib/Algebra/Free.lean,Mathlib/Algebra/FreeMonoid/Basic.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/Pi.lean,Mathlib/Algebra/Group/Action/Pointwise/Finset.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Embedding.lean,Mathlib/Algebra/Group/Equiv/Basic.lean,Mathlib/Algebra/Group/Equiv/Defs.lean,Mathlib/Algebra/Group/Equiv/Opposite.lean,Mathlib/Algebra/Group/Even.lean,Mathlib/Algebra/Group/Hom/Basic.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Group/Hom/Instances.lean,Mathlib/Algebra/Group/Indicator.lean,Mathlib/Algebra/Group/Pi/Lemmas.lean,Mathlib/Algebra/Group/Pi/Units.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/Algebra/Group/Subgroup/Map.lean,Mathlib/Algebra/Group/Subgroup/Pointwise.lean,Mathlib/Algebra/Group/Submonoid/Basic.lean,Mathlib/Algebra/Group/Submonoid/BigOperators.lean,Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/Submonoid/MulAction.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Group/Subsemigroup/Basic.lean,Mathlib/Algebra/Group/Subsemigroup/Operations.lean,Mathlib/Algebra/Group/UniqueProds/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/Group/Units/Equiv.lean,Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/Algebra/Group/Units/Opposite.lean,Mathlib/Algebra/Notation/Pi/Basic.lean,Mathlib/Algebra/Opposites.lean,Mathlib/Algebra/Order/BigOperators/Group/List.lean,Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Algebra/Order/Group/Basic.lean,Mathlib/Algebra/Order/Group/Cone.lean,Mathlib/Algebra/Order/Group/OrderIso.lean,Mathlib/Algebra/Order/Group/Units.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Monoid/Basic.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Submonoid.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Algebra/Order/Monoid/Units.lean,Mathlib/Algebra/Order/Pi.lean,Mathlib/Algebra/Regular/Defs.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/Data/Finset/NoncommProd.lean,Mathlib/Data/Fintype/BigOperators.lean,Mathlib/Data/Set/MulAntidiagonal.lean,Mathlib/Data/Set/SMulAntidiagonal.lean,Mathlib/Data/Vector/Basic.lean,Mathlib/Dynamics/Ergodic/Action/OfMinimal.lean,Mathlib/Dynamics/FixedPoints/Prufer.lean,Mathlib/Geometry/Manifold/Algebra/SmoothFunctions.lean,Mathlib/GroupTheory/Complement.lean,Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Coprod/Basic.lean,Mathlib/GroupTheory/Coset/Basic.lean,Mathlib/GroupTheory/Divisible.lean,Mathlib/GroupTheory/EckmannHilton.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/FreeGroup/Reduce.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/GroupAction/FixedPoints.lean,Mathlib/GroupTheory/GroupAction/Hom.lean,Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean,Mathlib/GroupTheory/GroupAction/Primitive.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/GroupAction/SubMulAction.lean 141 10 ['eric-wieser', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'thorimur'] nobody
6-18241
6 days ago
7-5613
7 days ago
0-61617
17 hours
17518 grunweg
author:grunweg
feat: lint on declarations mentioning `Invertible` or `Unique` Using the same infrastructure as for #10235. Depends on that PR to land first, and also (for the first lint) a zulip discussion if that change is desired/about the best way to enact it. --- - [ ] depends on: #10235 awaiting-zulip t-linter merge-conflict blocked-by-other-PR 149/7 Mathlib.lean,Mathlib/Algebra/MvPolynomial/PDeriv.lean,Mathlib/Computability/Halting.lean,Mathlib/Computability/TuringMachine.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/GroupTheory/Perm/DomMulAct.lean,Mathlib/Logic/Basic.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/NumberTheory/JacobiSum/Basic.lean,Mathlib/Order/Heyting/Regular.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/FundamentalTheorem.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/UnusedAssumptionInType.lean 13 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mergify'] nobody
291-27752
9 months ago
317-16274
10 months ago*
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/) awaiting-zulip t-computability new-contributor merge-conflict blocked-by-other-PR 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
107-10560
3 months ago
107-10565
3 months ago
0-179
2 minutes

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
12936 mattrobball
author:mattrobball
chore(Quiver.Opposite): make `Quiver.Hom.op/unop` `abbrev`'s These are wrappers around the constructor and projection for `Opposite Quiver.Hom _ _`. The projection itself is reducible and with structure eta built in to defeq it seems like we might be making Lean work harder than is necessary. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 39/34 Mathlib/Algebra/Homology/ShortComplex/Homology.lean,Mathlib/Algebra/Homology/ShortComplex/RightHomology.lean,Mathlib/CategoryTheory/Idempotents/Basic.lean,Mathlib/CategoryTheory/Limits/HasLimits.lean,Mathlib/CategoryTheory/Limits/Opposites.lean,Mathlib/CategoryTheory/Opposites.lean,Mathlib/CategoryTheory/Sites/CoverLifting.lean,Mathlib/CategoryTheory/Subobject/Comma.lean,Mathlib/CategoryTheory/Triangulated/Opposite.lean,Mathlib/Combinatorics/Quiver/Basic.lean 10 9 ['YaelDillies', 'kim-em', 'leanprover-bot', 'mattrobball'] nobody
385-61865
1 year ago
453-27857
1 year ago
0-0
0 seconds
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/) t-logic t-order merge-conflict 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
385-61863
1 year ago
407-42565
1 year ago
64-12826
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/) t-algebra merge-conflict
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
385-61862
1 year ago
419-49764
1 year ago
0-0
0 seconds
6777 adomani
author:adomani
chore(Co*variantClass): replace eta-expanded (· * ·), (· + ·), (· ≤ ·), (· < ·) Replace `CovariantClass X X (· * ·) (· ≤ ·)` with -> `CovariantClass X X HMul.hMul LE.le` and similarly for `HAdd`, `LT`, `Contravariant`. This PR is inspired by [Issue #6646](https://github.com/leanprover-community/mathlib4/issues/6646) and, more specifically, [this comment](https://github.com/leanprover-community/mathlib4/issues/6646#issuecomment-1692792066). Note that https://github.com/leanprover/lean4/pull/2267 would make this unnecessary --- ```bash # First sed command: # the first captured pattern is `Co*variantClass ` # the second captured pattern is `` # the third captured pattern is `+` or `*` # the fourth captured pattern is `<` or `≤` # a match for `Co*variantClass ·) (· ·)` becomes # `Co*variantClass replaceop replaceop` # Second sed command: similar to the first, but looks for `(Function.swap (· ·))` sed -i ' s=\(Co[ntra]*variantClass \(..*\) \2 \)(· *\([+*]\) *·) (· *\([<≤]\) *·)=\1replaceop\3 replaceop\4=g s=\(Co[ntra]*variantClass \(..*\) \2 \)(\([Functio\.swap ]*\)(· *\([+*]\) *·)) (· *\([<≤]\) *·)=\1(\3replaceop\4) replaceop\5=g s=replaceop+=HAdd.hAdd=g s=replaceop\*=HMul.hMul=g s=replaceop<=LT.lt=g s=replaceop≤=LE.le=g s=\(Co[ntra]*variantClass N N\) (· \* ·) r=\1 HMul.hMul r=g s=\(Co[ntra]*variantClass N N (swap μ)\) (· ≤ ·)=\1 LE.le=g s=\(Co[ntra]*variantClass N N\) (swap (· \* ·)) r=\1 (swap HMul.hMul) r=g s=\(CovariantClass (Filter α) (Filter α)\) (· / ·) (· ≤ ·)=\1 HDiv.hDiv LE.le=g s=\(CovariantClass (Filter α) (Filter α)\) (swap (· / ·)) (· ≤ ·)=\1 (swap HDiv.hDiv) LE.le=g s=\(Co[ntra]*variantClass .* (fun x y .> . \* .)\) (· ≤ ·)=\1 LE.le=g s=\(Co[ntra]*variantClass .* (fun x y .> . \* .)\) (· < ·)=\1 LT.lt=g s=\(Co[ntra]*variantClass [^}]*\) (· ≤ ·)=\1 LE.le=g s=\(CovariantClass .* (Filter β)\) (· • ·) LE.le=\1 HSMul.hSMul LE.le=g ' $(git ls-files '*.lean') ``` [![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 36 ['adomani', 'alreadydone', 'digama0', 'eric-wieser', 'ericrbg', 'jcommelin', 'leanprover-bot', 'sgouezel'] nobody
385-61861
1 year ago
407-42565
1 year ago
35-56459
35 days
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/) t-algebra merge-conflict
label:t-algebra$
24/10 Mathlib/Algebra/Hom/GroupAction.lean 1 0 [] nobody
385-61860
1 year ago
407-42565
1 year ago
83-76369
83 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/) t-algebra merge-conflict
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
385-61860
1 year ago
407-42565
1 year ago
102-21189
102 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/) t-data merge-conflict 11/0 Mathlib/Data/List/Basic.lean 1 1 ['eric-wieser'] nobody
371-55405
1 year ago
371-55405
1 year 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/) tech debt t-computability merge-conflict 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
367-18250
1 year ago
407-42565
1 year 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. --- - [ ] depends on: #11947 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry t-category-theory merge-conflict 210/0 Mathlib.lean,Mathlib/AlgebraicGeometry/FunctorOfPoints.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean 3 4 ['github-actions', 'grunweg', 'leanprover-community-mathlib4-bot'] nobody
367-18109
1 year ago
407-42565
1 year 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
367-18008
1 year ago
407-42565
1 year ago
29-14218
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/) t-data new-contributor merge-conflict 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
366-39162
1 year ago
371-55404
1 year ago
54-52408
54 days
16464 Parcly-Taxel
author:Parcly-Taxel
chore: deprecate `Nat.(case_)strong_induction_on` …in favour of the now-renamed `Nat.(case)strongInductionOn` in core. tech debt merge-conflict 54/56 Archive/Imo/Imo1981Q3.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/ContinuedFractions/ConvergentsEquiv.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/Lifts.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Hofer.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/Combinatorics/Derangements/Finite.lean,Mathlib/Combinatorics/Enumerative/Catalan.lean,Mathlib/Combinatorics/Hall/Finite.lean,Mathlib/Combinatorics/SetFamily/AhlswedeZhang.lean,Mathlib/Computability/Primrec.lean,Mathlib/Data/Fintype/Basic.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Data/Nat/Choose/Central.lean,Mathlib/Data/Nat/Defs.lean,Mathlib/Data/Nat/Digits.lean,Mathlib/Data/Nat/Log.lean,Mathlib/FieldTheory/Separable.lean,Mathlib/LinearAlgebra/Eigenspace/Triangularizable.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/NumberTheory/BernoulliPolynomials.lean,Mathlib/NumberTheory/DiophantineApproximation.lean,Mathlib/NumberTheory/Pell.lean,Mathlib/NumberTheory/Primorial.lean,Mathlib/Order/Fin/Basic.lean,Mathlib/RingTheory/Adjoin/PowerBasis.lean,Mathlib/RingTheory/LittleWedderburn.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Eval.lean,Mathlib/RingTheory/Polynomial/Eisenstein/IsIntegral.lean,Mathlib/RingTheory/Polynomial/Nilpotent.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/QuotientNilpotent.lean,Mathlib/RingTheory/WittVector/Defs.lean,Mathlib/RingTheory/WittVector/Frobenius.lean,Mathlib/RingTheory/WittVector/StructurePolynomial.lean,Mathlib/SetTheory/Surreal/Dyadic.lean,Mathlib/Topology/Metrizable/Uniformity.lean 43 13 ['Parcly-Taxel', 'b-mehta', 'github-actions', 'jcommelin'] nobody
334-27718
11 months ago
334-27718
11 months ago
8-1989
8 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/) t-data merge-conflict 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
324-76501
10 months ago
324-76501
10 months ago
4-72805
4 days
8029 alreadydone
author:alreadydone
refactor: Homotopy between Functions not ContinuousMaps This allows talking about homotopies without needing to supply proofs of continuity for the two ends. This for example simplifies the definition of H-spaces. Of course, if a homotopy exists between two functions, those two functions are automatically continuous because they are restrictions of the homotopy (which is continuous) to subspaces. `Homotopy.refl` still needs a continuous map as input, and `Homotopic` is only an equivalence relation when restricted to ContinuousMap. --- TODO: fix docstrings [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology RFC merge-conflict 246/250 Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/Topology/Homotopy/Basic.lean,Mathlib/Topology/Homotopy/Contractible.lean,Mathlib/Topology/Homotopy/Equiv.lean,Mathlib/Topology/Homotopy/HSpaces.lean,Mathlib/Topology/Homotopy/HomotopyGroup.lean,Mathlib/Topology/Homotopy/Path.lean,Mathlib/Topology/Homotopy/Product.lean 8 3 ['alreadydone', 'urkud'] nobody
315-18906
10 months ago
407-42565
1 year ago
9-20043
9 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/) new-contributor t-order t-algebra merge-conflict
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
287-71967
9 months ago
287-71967
9 months ago
7-45599
7 days
12778 MichaelStollBayreuth
author:MichaelStollBayreuth
perf: decouple algebraic and order hierarchies in type class search Based on the experience gained with [#12680](https://github.com/leanprover-community/mathlib4/pull/12680), this attempts to decouple the algebraic and order hierarchies in type class search. * We lower the priorities of instances like `OrderedSemiring.toSemiring` (which are generated by the `extends` clause with default priority 1000) to 50. * Additionally, we make the default priority available via `open scoped AlgebraOrderInstances` and use that where appropriate. **Motivation:** Looking at instance synthesization traces, it appears that when (e.g.) presented with the goal to find a `Semiring` instance, the algorithm frequently goes down a rabbit hole trying and failing to find order instances. This seems to be caused by the presence of instances like `OrderedSemiring.toSemiring` with default priority, which are tried early in the search, but lead nowhere (after a fairly long time). These instances are created by declarations of the form ```lean class OrderedSemiring (α : Type u) extends Semiring α, OrderedAddCommMonoid α where ... ``` which automatically sets up (among other things) an instance `OrderedSemiring.toSemiring` with default piority. It appears that these instances cannot be removed completely (only locally in a module), so the next best solution is to make them low priority (which is possible also for downstream modules). To provide for situations where these instances are desired, we put a default priority version in the scope `AlgebraOrderInstances`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) slow-typeclass-synthesis t-order t-algebra merge-conflict
label:t-algebra$
306/27 Mathlib/Algebra/Algebra/Subalgebra/Order.lean,Mathlib/Algebra/ContinuedFractions/Computation/ApproximationCorollaries.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/Module/Rat.lean,Mathlib/Algebra/Module/Submodule/Order.lean,Mathlib/Algebra/Order/AbsoluteValue.lean,Mathlib/Algebra/Order/Algebra.lean,Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/BigOperators/Group/Finset.lean,Mathlib/Algebra/Order/BigOperators/Group/List.lean,Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean,Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean,Mathlib/Algebra/Order/BigOperators/Ring/List.lean,Mathlib/Algebra/Order/BigOperators/Ring/Multiset.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Order/Chebyshev.lean,Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Field/Defs.lean,Mathlib/Algebra/Order/Field/Pi.lean,Mathlib/Algebra/Order/Floor.lean,Mathlib/Algebra/Order/Floor/Div.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Group/Units.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Hom/Basic.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/Interval/Set/Instances.lean,Mathlib/Algebra/Order/Invertible.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/Algebra/Order/Module/Algebra.lean,Mathlib/Algebra/Order/Module/Defs.lean,Mathlib/Algebra/Order/Module/Pointwise.lean,Mathlib/Algebra/Order/Monoid/Basic.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/OrderDual.lean,Mathlib/Algebra/Order/Monoid/Prod.lean,Mathlib/Algebra/Order/Nonneg/Field.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Pi.lean,Mathlib/Algebra/Order/Positive/Field.lean,Mathlib/Algebra/Order/Positive/Ring.lean,Mathlib/Algebra/Order/Rearrangement.lean,Mathlib/Algebra/Order/Ring/Basic.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/InjSurj.lean,Mathlib/Algebra/Order/Ring/Pow.lean,Mathlib/Algebra/Order/Sub/WithTop.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Algebra/Ring/BooleanRing.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Metric.lean,Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/Convex/Cone/Basic.lean,Mathlib/Analysis/Convex/Cone/Closure.lean,Mathlib/Analysis/Convex/Cone/Pointed.lean,Mathlib/Analysis/Convex/Cone/Proper.lean,Mathlib/Analysis/Convex/Exposed.lean,Mathlib/Analysis/Convex/Extrema.lean,Mathlib/Analysis/Convex/Function.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Convex/GaugeRescale.lean,Mathlib/Analysis/Convex/Hull.lean,Mathlib/Analysis/Convex/Join.lean,Mathlib/Analysis/Convex/Mul.lean,Mathlib/Analysis/Convex/Quasiconvex.lean,Mathlib/Analysis/Convex/SpecificFunctions/Pow.lean,Mathlib/Analysis/Convex/Star.lean,Mathlib/Analysis/Convex/Strict.lean,Mathlib/Analysis/InnerProductSpace/Orientation.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/SpecialFunctions/Gamma/BohrMollerup.lean,Mathlib/Analysis/SpecialFunctions/Polynomials.lean,Mathlib/Analysis/SpecificLimits/FloorPow.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/Combinatorics/Optimization/ValuedCSP.lean,Mathlib/Combinatorics/Pigeonhole.lean,Mathlib/Combinatorics/SetFamily/FourFunctions.lean,Mathlib/Data/DFinsupp/Lex.lean,Mathlib/Data/DFinsupp/Multiset.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/Finset/MulAntidiagonal.lean,Mathlib/Data/Finsupp/Lex.lean,Mathlib/Data/Finsupp/Multiset.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Int/Log.lean,Mathlib/Data/Multiset/Antidiagonal.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/Multiset/Bind.lean,Mathlib/Data/Nat/Cast/Field.lean,Mathlib/Data/Nat/Cast/Order/Basic.lean,Mathlib/Data/Nat/Choose/Bounds.lean,Mathlib/Data/PNat/Factors.lean,Mathlib/Data/Rat/Denumerable.lean,Mathlib/Data/Set/Pointwise/Interval.lean 135 34 ['MichaelStollBayreuth', 'YaelDillies', 'github-actions', 'leanprover-bot'] nobody
287-70870
9 months ago
287-70870
9 months ago
18-19513
18 days
18806 FR-vdash-bot
author:FR-vdash-bot
refactor: deprecate `MulEquivClass` --- - [x] depends on: #18809 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
84/72 Mathlib/Algebra/Group/Equiv/Basic.lean,Mathlib/Algebra/Group/Units/Equiv.lean,Mathlib/Algebra/GroupWithZero/Hom.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Prime/Lemmas.lean,Mathlib/Algebra/Ring/Divisibility/Basic.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Combinatorics/Additive/FreimanHom.lean,Mathlib/RingTheory/Bialgebra/Equiv.lean,Mathlib/RingTheory/Ideal/Norm.lean,Mathlib/RingTheory/Localization/FractionRing.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/Topology/Algebra/InfiniteSum/Basic.lean 15 6 ['FR-vdash-bot', 'github-actions', 'leanprover-bot', 'mathlib4-dependent-issues-bot', 'vihdzp'] nobody
275-28148
9 months ago
275-28148
9 months ago
4-31794
4 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/) t-algebra merge-conflict
label:t-algebra$
25/0 Mathlib.lean,Mathlib/LinearAlgebra/VectorSpace.lean,scripts/noshake.json 3 10 ['Julian', 'PieterCuijpers', 'github-actions', 'urkud'] nobody
267-48722
8 months ago
267-48722
8 months ago
7-68492
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/) t-data merge-conflict 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
265-24799
8 months ago
265-24799
8 months 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/) t-algebra merge-conflict
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
253-76868
8 months ago
253-76868
8 months ago
31-75259
31 days
19046 j-loreaux
author:j-loreaux
feat: define class `SemigroupAction` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
34/25 Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pushforward.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/End.lean,Mathlib/Algebra/Group/Action/Prod.lean,Mathlib/Algebra/Group/Action/TypeTags.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/GroupTheory/CoprodI.lean,Mathlib/LinearAlgebra/FreeModule/IdealQuotient.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean 11 7 ['alreadydone', 'github-actions', 'j-loreaux', 'leanprover-bot', 'urkud'] nobody
250-38352
8 months ago
250-38353
8 months ago
6-21105
6 days
18748 FR-vdash-bot
author:FR-vdash-bot
refactor: deprecate `ContinuousLinearMapClass` --- - [ ] depends on: #18689 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-topology merge-conflict
label:t-algebra$
115/49 Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/LocallyConvex/WeakOperatorTopology.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Operator/LinearIsometry.lean,Mathlib/Topology/Algebra/Module/Basic.lean,Mathlib/Topology/Algebra/Module/CharacterSpace.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean,Mathlib/Topology/Homeomorph.lean 10 5 ['FR-vdash-bot', 'github-actions', 'leanprover-bot', 'mathlib4-dependent-issues-bot'] nobody
247-40881
8 months ago
247-40884
8 months ago
0-989
16 minutes
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/) t-topology merge-conflict 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
219-37674
7 months ago
219-37674
7 months 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/) t-data slow-typeclass-synthesis t-algebra merge-conflict
label:t-algebra$
9/2 Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Data/Int/Cast/Defs.lean,Mathlib/Data/Nat/Cast/Defs.lean 3 7 ['FR-vdash-bot', 'eric-wieser', 'github-actions', 'leanprover-bot'] nobody
217-24704
7 months ago
217-24704
7 months ago
76-67978
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/) new-contributor t-measure-probability merge-conflict 203/40 Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSpace.lean 2 1 ['github-actions'] nobody
204-48961
6 months ago
204-48961
6 months ago
27-43617
27 days
18463 vihdzp
author:vihdzp
feat(SetTheory/Ordinal/Notation/FundamentalSequence): define type of fundamental sequences We define `Sequence α` as the type of sequences with length 0, 1, or `ω`, and give a basic API. A subsequent PR will introduce the notion of a (countable and computable) fundamental sequence and establish basic results. The goal of this is to generalize [`ONote.fundamentalSequence`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/SetTheory/Ordinal/Notation.html#ONote.fundamentalSequence) to allow the construction of fundamental sequences for other ordinal notations. --- See [my ordinal notation repository](https://github.com/vihdzp/ordinal-notation/blob/a6fdd7fe7cb521e686ea271902e7e5496f1804d3/OrdinalNotation/Cantor.lean#L1218) for a demonstration of how this API looks in practice. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory t-order merge-conflict 174/1 Mathlib.lean,Mathlib/SetTheory/Ordinal/Notation/Cantor.lean,Mathlib/SetTheory/Ordinal/Notation/FundamentalSequence.lean 3 19 ['YnirPaz', 'b-mehta', 'github-actions', 'vihdzp'] nobody
182-73103
6 months ago
182-73103
6 months ago
52-25108
52 days
21099 chrisflav
author:chrisflav
chore(RingTheory/Generators): use unification hints for variables and relations When working with generators and presentations, we rely on the `MvPolynomial` API, but since the type of variables is bundled in `Generators R S`, many lemmas don't apply with `rw` or `simp`, because they can't see through the definition of `vars` in constructions such as `Generators.comp` and `Generators.localizationAway`. A possible approach is to make all of these constructions `abbrev`s, but this causes `simp` to also unfold `val` which is not always desirable. More generally, it is then harder to predict how instance search and `simp` behave. This approach is tried in #21050, but causes many regressions. This approach is less invasive, as it uses `unif_hint` to unify the `vars` (and `rels`) fields of constructions with the correct type. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
231/91 Mathlib/Algebra/Module/Presentation/Differentials.lean,Mathlib/RingTheory/Generators.lean,Mathlib/RingTheory/Kaehler/JacobiZariski.lean,Mathlib/RingTheory/Presentation.lean,Mathlib/RingTheory/Smooth/StandardSmooth.lean 5 16 ['chrisflav', 'erdOne', 'github-actions', 'leanprover-bot', 'mattrobball'] nobody
178-31939
5 months ago
178-31939
5 months ago
27-75210
27 days
21339 vihdzp
author:vihdzp
fix(Data/List/Lex): remove duplicate `List.LE` instance Mathlib currently duplicates the Lean core instance for `≤` in lists in an incompatible way. We delete this duplicate instance. See [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Two.20.60List.2ELE.60.20instances.3F/near/497241115). --- This is a very quick and dirty fix. Core Lean provides all of the theorems we need to prove `≤` forms a linear order, but it provides them in terms of `Std` relation typeclasses which currently see no use in Mathlib. I've added the instances that were required to get the list theorems working. In the future, we really ought to unify the core and Mathlib relation typeclasses. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict 24/22 Mathlib/Data/List/Lex.lean,Mathlib/Data/String/Basic.lean,Mathlib/Topology/Category/Profinite/Nobeling.lean 3 1 ['github-actions'] nobody
170-30831
5 months ago
170-30831
5 months ago
16-65973
16 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/) new-contributor t-topology merge-conflict 285/1 Mathlib.lean,Mathlib/Topology/ContinuousMap/MvPolynomial.lean,Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean 3 1 ['github-actions'] nobody
168-34982
5 months ago
168-34982
5 months ago
16-76141
16 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/) t-algebra merge-conflict
label:t-algebra$
133/67 Mathlib/GroupTheory/Frattini.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/SpecificGroups/ZGroup.lean 3 1 ['github-actions'] nobody
156-57237
5 months ago
156-57237
5 months ago
10-48025
10 days
21856 vihdzp
author:vihdzp
chore(SetTheory/Cardinal/Basic): generalize universes of `sum_le_iSup_lift` We prove a more general version of the lemma which talks about families `ι → Cardinal.{v}` with `Small.{v} ι`, rather than just families `f : ι → Cardinal.{max u v}` with `ι : Type v`. We keep the old version, as it's seemingly more useful under common circumstances. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict 16/10 Mathlib/SetTheory/Cardinal/Basic.lean 1 6 ['b-mehta', 'github-actions', 'vihdzp'] nobody
155-48471
5 months ago
155-48471
5 months ago
32-26420
32 days
22027 vihdzp
author:vihdzp
chore(SetTheory/Ordinal/FixedPoint); review `Ordinal.nfp` API This PR does the following: - add `iff` variants of various theorems, renaming some in the process - weaken some assumptions slightly - golf throughout --- - [x] depends on: #22017 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict 64/61 Mathlib/Logic/Equiv/List.lean,Mathlib/SetTheory/Ordinal/FixedPoint.lean 2 3 ['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot'] nobody
137-14989
4 months ago
139-68349
4 months ago
43-68322
43 days
22701 ctchou
author:ctchou
feat(Combinatorics): the Katona circle method This file formalizes the Katona circle method. From PlainCombi (LeanCamCombi): https://github.com/YaelDillies/LeanCamCombi/blob/master/LeanCamCombi/PlainCombi/KatonaCircle.lean Co-authored-by: Yaël Dillies new-contributor t-combinatorics merge-conflict 121/0 Mathlib.lean,Mathlib/Combinatorics/KatonaCircle.lean 2 1 ['github-actions'] nobody
136-10751
4 months ago
136-10751
4 months ago
30-8337
30 days
23411 PatrickMassot
author:PatrickMassot
chore: remove finiteness from Order.Filter.Lift Co-authored-by: Anatole Dedecker --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) longest-pole t-topology merge-conflict 48/21 Mathlib/Dynamics/TopologicalEntropy/DynamicalEntourage.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Finite.lean,Mathlib/Order/Filter/Lift.lean,Mathlib/Order/Filter/SmallSets.lean,Mathlib/Topology/Algebra/ContinuousMonoidHom.lean,Mathlib/Topology/Basic.lean 7 4 ['Vierkantor', 'github-actions', 'kim-em', 'leanprover-community-bot-assistant'] nobody
134-57465
4 months ago
134-77034
4 months ago
10-21608
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/) new-contributor t-category-theory merge-conflict 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
133-43384
4 months ago
133-43385
4 months ago
58-20339
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/) large-import t-category-theory merge-conflict 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
133-43382
4 months ago
133-43384
4 months ago
43-83249
43 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/) t-data merge-conflict 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
127-68348
4 months ago
127-68350
4 months ago
55-52030
55 days
13795 FR-vdash-bot
author:FR-vdash-bot
perf(Algebra/{Group, GroupWithZero, Ring}/InjSurj): reduce everything --- - [ ] depends on: #15192 - [ ] depends on: #15476 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
340/194 Mathlib/Algebra/Equiv/TransferInstance.lean,Mathlib/Algebra/Group/InjSurj.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/End.lean,Mathlib/Algebra/GroupWithZero/InjSurj.lean,Mathlib/Algebra/Module/Defs.lean,Mathlib/Algebra/Module/RingHom.lean,Mathlib/Algebra/Ring/InjSurj.lean,scripts/noshake.json 9 35 ['FR-vdash-bot', 'MichaelStollBayreuth', 'eric-wieser', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mattrobball'] nobody
127-60663
4 months ago
127-60665
4 months ago
52-31623
52 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/) t-algebra merge-conflict
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 ['FR-vdash-bot', 'eric-wieser', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mattrobball', 'mergify', 'urkud'] nobody
127-13241
4 months ago
375-51571
1 year ago
4-79214
4 days
20567 grunweg
author:grunweg
feat(Cache): two small features - add an informational message to the get command (when run without arguments): when more than 80% of all cache files present were not used in the last command, tell the user about the `clean` command --- - [ ] depends on #20568 (for the first feature) - [ ] TODO: re-design this feature and the clean command: if there are N local copies of mathlib, cache should have a pointer to all of them - to avoid clearing all N-1 from inside the last local copy [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict 38/2 Cache/Main.lean 1 11 ['Julian', 'arthurpaulino', 'fpvandoorn', 'github-actions', 'grunweg'] nobody
125-17344
4 months ago
125-17344
4 months ago
1-17369
1 day
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/) t-topology merge-conflict 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
120-56258
3 months ago
120-56261
3 months 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/) t-order merge-conflict 231/89 Mathlib/Order/Interval/Finset/SuccPred.lean,Mathlib/Order/Interval/Set/SuccPred.lean 2 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
118-33033
3 months ago
118-33035
3 months 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/) t-algebra merge-conflict
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
118-21730
3 months ago
118-21731
3 months ago
2-12022
2 days
23621 FR-vdash-bot
author:FR-vdash-bot
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 t-order t-algebra merge-conflict
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 n/a ['FR-vdash-bot', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] kbuzzard
assignee:kbuzzard
117-21300
3 months ago
unknown
unknown
24354 grunweg
author:grunweg
chore(HasFiniteIntegral): rename three lemmas Discovered in #24343. --- - [ ] depends on: #24343 (to avoid merge conflicts) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability merge-conflict 108/30 Mathlib/MeasureTheory/Function/L1Space/HasFiniteIntegral.lean 1 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
113-26134
3 months ago
113-26135
3 months ago
0-4604
1 hour
13649 FR-vdash-bot
author:FR-vdash-bot
chore: redefine `Nat.div2` `Nat.bodd` The new definitions are faster than the old ones. `Nat.binaryRec` will be moved to batteries (https://github.com/leanprover-community/batteries/pull/799) or core (https://github.com/leanprover/lean4/pull/3756), so relevant contents are moved to a new file temporarily. --- - [x] depends on: #15567 - [x] depends on: #19666 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 63/88 Mathlib/Computability/Primrec.lean,Mathlib/Data/Int/Bitwise.lean,Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Size.lean,Mathlib/Logic/Denumerable.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/Logic/Equiv/Nat.lean 8 15 ['FR-vdash-bot', 'digama0', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'urkud'] digama0
assignee:digama0
110-5280
3 months ago
110-5282
3 months ago
87-51692
87 days
4979 mhk119
author:mhk119
doc(Data/Nat/Bitblast): initial commit Initial commit of Bitblast.lean where we prove equivalence of bitblast unsigned less than and bitblast addition. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict 202/4 Mathlib/Data/Bool/Basic.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Pow.lean 3 49 ['ChrisHughes24', 'digama0', 'goens', 'grunweg', 'j-loreaux', 'kim-em', 'mhk119'] nobody
109-63515
3 months ago
109-63515
3 months ago
7-68358
7 days
23546 JovanGerb
author:JovanGerb
feat(LinearAlgebra/AffineSpace/AffineSubspace): rename `AffineSubspace.mk'` to `Submodule.shift` In addition to renaming, I've refactored the code a bit: - `mem_mk'_iff_vsub_mem` was obsolete since it was the same as `mem_mk'`, so I removed it (this is due to a change in the definition I made recently) - I added a nonempty instance for `shift` - I added a simp lemma that `shift` isn't equal to `⊥` (the empty affine subspace). I need this for the next point. - Edit: I'll leave this for a later PR. ~I proved a simp lemma that a `shift` is parallel to a `shift` if and only if the linear subspaces are the same.~ - I renamed `mk'_eq` to `shift_direction_eq_self `. - I renamed `eq_or_eq_secondInter_of_mem_mk'_span_singleton_iff_mem` to `eq_or_eq_secondInter_iff_mem_of_mem_shift_span_singleton`. I think it is better to put the `of_mem_mk'_span_singleton` at the end of the name. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-euclidean-geometry merge-conflict 128/99 Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Geometry/Euclidean/Basic.lean,Mathlib/Geometry/Euclidean/MongePoint.lean,Mathlib/Geometry/Euclidean/PerpBisector.lean,Mathlib/Geometry/Euclidean/Sphere/SecondInter.lean,Mathlib/Geometry/Euclidean/Sphere/Tangent.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean 7 4 ['JovanGerb', 'github-actions', 'leanprover-community-bot-assistant'] nobody
108-38262
3 months ago
108-38263
3 months ago
26-25420
26 days
9273 grunweg
author:grunweg
feat: extended charts are local diffeomorphisms on their source --- TODO: I think this should hold at any interior point - as the inverse of the extended chart, restricted to the interior of its source, will be a local inverse. The analogous result for un-extended charts is shown in #8160. Unresolved questions - are all the tiny API lemmas useful; are any more missing? - do I want similar results for `extChartAt`? (In any case, they are easy to deduce.) - [ ] depends on: #8738 for simplicity [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry merge-conflict 225/12 Mathlib/Geometry/Manifold/ContMDiff/Atlas.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean,Mathlib/Topology/Algebra/Module/Basic.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
104-13670
3 months ago
unknown
unknown
22837 joneugster
author:joneugster
feat(Data/Set/Basic): add subset_iff and not_mem_subset_iff Add `Set.subset_iff` for consistent API with `Finset.subset_iff`. Add `Set.not_mem_subset_iff` and `Finset.not_mem_subset_iff`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory t-data merge-conflict 9/0 Mathlib/Data/Finset/Defs.lean,Mathlib/Data/Set/Basic.lean 2 4 ['Ruben-VandeVelde', 'github-actions', 'joneugster', 'leanprover-community-bot-assistant'] nobody
87-41262
2 months ago
87-41264
2 months ago
30-35190
30 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). --- - [ ] depends on: #24570 - [ ] 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/) t-linter merge-conflict 58/19 Mathlib/Tactic/Linter/TextBased.lean,scripts/lint-style.lean 2 19 ['Vierkantor', 'adomani', 'github-actions', 'grunweg', 'joneugster', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] joneugster
assignee:joneugster
86-46750
2 months ago
86-46753
2 months ago
43-17409
43 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/) large-import new-contributor t-topology merge-conflict 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
85-28480
2 months ago
85-28482
2 months ago
35-30364
35 days
23767 grunweg
author:grunweg
refactor: make library notes a definition Make library notes a definition of `Unit` type, whose doc-string is the note's content. As a consequence, - doc-gen will display all library notes without any custom logic, - library notes are shown upon hover (via the use of the doc-string), - go do definition for library notes is easy Automate this using a macro, which also enforces that all library notes are inside the Mathlib.LibraryNote namespace. *Temporarily*, we use the `library_note2` name; if/when the batteries version is changed, we can reclaim the original name. This PR does not address how to *refer* to library notes nicely (in a way that is shown in the documentation, checked for typos, with sufficient imports ensured etc.). That is left to a future PR. This is proposal 2a from this [zulip discussion]([#mathlib4 > library notes @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/library.20notes/near/510614740)) ------------ Open questions/TODOs: - should this go in batteries instead? can the old definition just be overwritten? - otherwise, what's the best place for the `LibraryNote` definition? A single file just for this feels overkill; I put it in Mathlib.Tactic.Basic for now. I could use Mathlib.Init, of course (but that might be excessive) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-meta merge-conflict 48/48 Archive/Imo/Imo2019Q2.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/Category/Ring/Limits.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Scalar.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/HierarchyDesign.lean,Mathlib/Algebra/Order/Hom/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Note.lean,Mathlib/Analysis/RCLike/Lemmas.lean,Mathlib/CategoryTheory/Category/Basic.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/Data/Nat/Cast/Defs.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Geometry/Manifold/Algebra/Monoid.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Logic/Basic.lean,Mathlib/Tactic/Basic.lean,Mathlib/Tactic/NormNum/Basic.lean,Mathlib/Tactic/Simps/Basic.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Continuous.lean 26 9 ['adomani', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant'] nobody
83-41575
2 months ago
83-41577
2 months ago
51-69759
51 days
25138 chrisflav
author:chrisflav
chore(RingTheory): remove unnecessary `toRingHom` coercions --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
32/40 Mathlib/RingTheory/Extension/Presentation/Basic.lean,Mathlib/RingTheory/FinitePresentation.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Smooth/Basic.lean,Mathlib/RingTheory/Smooth/Kaehler.lean,Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean,Mathlib/RingTheory/Unramified/Basic.lean 9 5 ['chrisflav', 'erdOne', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] nobody
79-29876
2 months ago
79-29878
2 months ago
9-64502
9 days
21182 joneugster
author:joneugster
fix(Util/CountHeartbeats): move elaboration in #count_heartbeats inside a namespace Currently the `#count_heartbeat` linter reported the heartbeats until it concluded `error: [declaration] has already been declared` instead of re-elaborating the declaration. --- [Zulip report](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/count_heartbeats.20for.20all.20declarations.20in.20a.20file.3F/near/496303652) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict 72/5 Mathlib/Util/CountHeartbeats.lean,MathlibTest/CountHeartbeats.lean 2 17 ['adomani', 'github-actions', 'joneugster', 'leanprover-community-bot-assistant', 'mathlib-bors'] adomani
assignee:adomani
78-57228
2 months ago
78-57229
2 months ago
64-19141
64 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/) t-convex-geometry merge-conflict 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
74-51307
2 months ago
74-51309
2 months ago
6-40169
6 days
25012 urkud
author:urkud
refactor(*): migrate from `Matrix.toLin'` to `Matrix.mulVecLin` or `Matrix.mulVec` whenever we don't need the `LinearEquiv.symm` part. See [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Matrix.2EtoLin'.20vs.20Matrix.2EmulVecLin/with/515188548). It makes sense to have only one normal form, and `Matrix.toLin'` has an extra `DecidableEq` assumption. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 154/122 Mathlib/Algebra/Lie/Matrix.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/Matrix.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Rank.lean,Mathlib/LinearAlgebra/Basis/Defs.lean,Mathlib/LinearAlgebra/Determinant.lean,Mathlib/LinearAlgebra/Finsupp/VectorSpace.lean,Mathlib/LinearAlgebra/FreeModule/Finite/Matrix.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Minpoly.lean,Mathlib/LinearAlgebra/Matrix/Diagonal.lean,Mathlib/LinearAlgebra/Matrix/Gershgorin.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean,Mathlib/LinearAlgebra/Matrix/ToLinearEquiv.lean,Mathlib/LinearAlgebra/UnitaryGroup.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/RingTheory/Smooth/StandardSmooth.lean 21 3 ['github-actions', 'leanprover-community-bot-assistant'] nobody
73-46141
2 months ago
73-46143
2 months ago
15-74981
15 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/) t-algebra t-topology merge-conflict
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
62-43048
2 months ago
62-43050
2 months 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/) t-algebra t-topology merge-conflict
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
62-43046
2 months ago
62-43048
2 months 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/) t-algebra t-topology merge-conflict
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
62-43045
2 months ago
62-43046
2 months 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/) t-data merge-conflict 518/0 Mathlib.lean,Mathlib/Data/DigitExpansion/Defs.lean,docs/references.bib 3 11 ['eric-wieser', 'github-actions', 'kim-em', 'pechersky'] dupuisf
assignee:dupuisf
59-25336
1 month ago
297-51552
9 months ago
129-57991
129 days
16074 Rida-Hamadani
author:Rida-Hamadani
feat: combinatorial maps and planar graphs We define combinatorial maps, then we define planar graph using combinatorial maps. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics merge-conflict 243/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Planar.lean,Mathlib/Data/CombinatorialMap.lean 3 28 ['Parcly-Taxel', 'Rida-Hamadani', 'github-actions', 'lambda-fairy', 'leanprover-community-bot-assistant'] kmill
assignee:kmill
46-77311
1 month ago
46-77312
1 month ago
72-51453
72 days
19796 peakpoint
author:peakpoint
feat: L'Hopital's rule from within a convex set --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis merge-conflict 190/19 Mathlib/Algebra/Polynomial/Module/Basic.lean,Mathlib/Analysis/Calculus/LHopital.lean,Mathlib/Analysis/Convex/Topology.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Order/Interval/Set/Basic.lean 5 15 ['RemyDegenne', 'github-actions', 'leanprover-community-bot-assistant', 'peakpoint', 'sgouezel'] sgouezel
assignee:sgouezel
46-77184
1 month ago
46-77184
1 month ago
80-57750
80 days
24350 erdOne
author:erdOne
feat(FieldTheory): fg extension over perfect field is separably generated Co-authored-by: Christian Merten --- - [x] depends on: #24344 - [x] depends on: #24346 - [x] depends on: #24347 - [x] depends on: #24348 - [x] depends on: #24349 - [x] depends on: #25062 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
466/0 Mathlib.lean,Mathlib/FieldTheory/IntermediateField/Algebraic.lean,Mathlib/FieldTheory/SeparableClosure.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/RingTheory/AlgebraicIndependent/Basic.lean,Mathlib/RingTheory/AlgebraicIndependent/TranscendenceBasis.lean 6 30 ['alreadydone', 'erdOne', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
46-76406
1 month ago
46-76407
1 month ago
21-66961
21 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/) t-algebra merge-conflict
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
46-76396
1 month ago
46-76396
1 month ago
43-42841
43 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/) t-algebraic-geometry merge-conflict 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
46-76150
1 month ago
46-76151
1 month ago
45-4961
45 days
25283 Brian-Nugent
author:Brian-Nugent
feat: regular local rings Adds regular local rings and proves they are integral domains. --- - [ ] depends on: #25280 - [ ] depends on: #25282 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra merge-conflict
label:t-algebra$
871/0 .vscode/settings.json,Mathlib.lean,Mathlib/RingTheory/EmbeddingDimension.lean,Mathlib/RingTheory/LocalRingDimension.lean,Mathlib/RingTheory/RegularLocalRing.lean 5 6 ['Brian-Nugent', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'yuanyi-350'] nobody
46-76143
1 month ago
46-76143
1 month ago
11-84822
11 days
25573 JovanGerb
author:JovanGerb
feat: define `∃ x > y, ...` notation to mean `∃ x, y < x ∧ ...` This PR changes the elaboration of the binders `∃ x > y,` and `∀ x > y,` to use `<` instead of `>`, because we want to avoid working with `>` as much as possible (and similarly for `≥` vs `≤` ). The advantage is that we don't need to worry about rewriting with lemmas like `gt_iff_lt`. The disadvantage is that people might find this confusing. [#mathlib4 > naming convention for ≤ and < @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/naming.20convention.20for.20.E2.89.A4.20and.20.3C/near/522910464) The main changes are in `Mathlib.Init`, `Mathlib.Util.Delaborators` and `MathlibTest.delaborators`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict 59/52 Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/BoxIntegral/Integrability.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Complex/Liouville.lean,Mathlib/Analysis/Complex/OpenMapping.lean,Mathlib/Analysis/Fourier/PoissonSummation.lean,Mathlib/Analysis/MellinTransform.lean,Mathlib/Analysis/Normed/Operator/Banach.lean,Mathlib/Dynamics/Ergodic/Conservative.lean,Mathlib/Dynamics/PeriodicPts/Defs.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/Init.lean,Mathlib/MeasureTheory/Covering/LiminfLimsup.lean,Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean,Mathlib/MeasureTheory/Function/Egorov.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Integral/DivergenceTheorem.lean,Mathlib/MeasureTheory/Integral/Layercake.lean,Mathlib/NumberTheory/LSeries/SumCoeff.lean,Mathlib/Order/Filter/AtTopBot/Finite.lean,Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/Topology/CWComplex/Classical/Finite.lean,Mathlib/Topology/ContinuousMap/Ideals.lean,Mathlib/Topology/EMetricSpace/Defs.lean,Mathlib/Topology/EMetricSpace/Paracompact.lean,Mathlib/Topology/LocallyFinite.lean,Mathlib/Topology/MetricSpace/Ultra/Basic.lean,Mathlib/Util/Delaborators.lean,MathlibTest/delaborators.lean 32 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
46-76131
1 month ago
46-76132
1 month ago
26-17604
26 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 t-algebraic-geometry merge-conflict 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
46-75838
1 month ago
46-75838
1 month ago
18-21880
18 days
26011 linesthatinterlace
author:linesthatinterlace
feat: add elementary lifts for `OneHom`, `MulHom`, `MonoidHom` and `RingHom`. This PR continues the work from #25264. Original PR: https://github.com/leanprover-community/mathlib4/pull/25264 migrated-from-branch t-algebra merge-conflict
label:t-algebra$
414/10 Mathlib/Algebra/Group/Hom/Basic.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Ring/Hom/Basic.lean,Mathlib/Algebra/Ring/Hom/Defs.lean 4 3 ['github-actions', 'leanprover-community-bot-assistant', 'linesthatinterlace'] nobody
46-75834
1 month ago
46-75835
1 month ago
17-68825
17 days
26012 linesthatinterlace
author:linesthatinterlace
feat: Low-level derivatives of lifts on `OneHom`, `MulHom` and `MonoidHom` This PR continues the work from #25290. Original PR: https://github.com/leanprover-community/mathlib4/pull/25290 migrated-from-branch t-algebra merge-conflict
label:t-algebra$
785/34 Mathlib/Algebra/Group/Equiv/Basic.lean,Mathlib/Algebra/Group/Hom/Basic.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Ring/Hom/Basic.lean,Mathlib/Algebra/Ring/Hom/Defs.lean 5 3 ['github-actions', 'leanprover-community-bot-assistant', 'linesthatinterlace'] nobody
46-75833
1 month ago
46-75834
1 month ago
17-68773
17 days
7596 alreadydone
author:alreadydone
feat: covering maps from properly discontinuous actions and discrete subgroups --- - [x] depends on: #23236 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed t-topology merge-conflict 350/21 Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Complex/Circle.lean,Mathlib/Topology/Algebra/ConstMulAction.lean,Mathlib/Topology/Algebra/Group/Pointwise.lean,Mathlib/Topology/Covering/AddCircle.lean,Mathlib/Topology/Covering/Basic.lean,Mathlib/Topology/Covering/Galois.lean,Mathlib/Topology/Homotopy/Lifting.lean,Mathlib/Topology/Instances/AddCircle/Defs.lean 9 18 ['ADedecker', 'alreadydone', 'digama0', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'tb65536'] nobody
46-28014
1 month ago
46-28015
1 month ago
73-67280
73 days
24405 mcdoll
author:mcdoll
refactor(Topology/Algebra/Module/WeakDual): Clean up - Move `Dual` and `dualPairing` lower in the import-hierachy - deduplicate `dualPairing` - Make `WeakDual` and `WeakSpace` reducible --- New version of #11500 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-topology merge-conflict 146/162 Mathlib.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/Dual.lean,Mathlib/Analysis/LocallyConvex/WeakSpace.lean,Mathlib/Analysis/Normed/Module/Dual.lean,Mathlib/Analysis/Normed/Module/WeakDual.lean,Mathlib/Analysis/VonNeumannAlgebra/Basic.lean,Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean,Mathlib/MeasureTheory/Measure/FiniteMeasure.lean,Mathlib/Topology/Algebra/Module/Dual.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean,docs/overview.yaml,docs/undergrad.yaml 14 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
45-41267
1 month ago
45-41268
1 month ago
69-52361
69 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/) t-topology merge-conflict 18/0 Mathlib/Topology/StoneCech.lean 1 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
43-57216
1 month ago
43-57216
1 month ago
20-8582
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/) t-number-theory merge-conflict 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 31 ['Ruben-VandeVelde', 'erdOne', 'faenuccio', 'github-actions', 'leanprover-community-bot-assistant', 'pechersky', 'smmercuri', 'xroblot'] nobody
43-55248
1 month ago
44-39376
1 month ago
79-1228
79 days
23949 Louddy
author:Louddy
feat: SkewPolynomial # Univariate skew polynomials Skew polynomials are represented as `SkewMonoidAlgebra R (Multiplicative ℕ)`, where `R` is usually at least a Semiring. In this file, we define `SkewPolynomial` and provide basic instances. This is currently missing the definition of `coeff` and `single` as they require a more advance interface of `SkewMonoidAlgebra` which is still WIP (See TODOs in file). Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)> --- - [x] depends on: #22078 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-algebra merge-conflict
label:t-algebra$
600/42 Mathlib.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/Algebra/SkewPolynomial/Basic.lean,docs/references.bib 4 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
42-45419
1 month ago
42-45421
1 month ago
0-2389
39 minutes
24103 plp127
author:plp127
feat(Topology/UniformSpace/OfCompactT2): generalize theorem Generalize `uniformSpaceOfCompactT2` to `uniformSpaceOfCompactR1`. --- - [ ] depends on: #24098 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict 48/24 Mathlib/Topology/Separation/Regular.lean,Mathlib/Topology/UniformSpace/OfCompactT2.lean 2 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
42-32991
1 month ago
42-32992
1 month ago
76-65641
76 days
24096 plp127
author:plp127
feat(Topology): Completely Regular Space iff Uniformizable Proves that `CompletelyRegularSpace`s are uniformizable and that `UniformSpace`s are completely regular. --- - [x] depends on: #24179 - [x] depends on: #24173 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict 339/1 Mathlib.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/UniformSpace/Basic.lean,Mathlib/Topology/UniformSpace/Defs.lean,Mathlib/Topology/UniformSpace/Uniformizable.lean 5 10 ['alreadydone', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'plp127'] nobody
40-30518
1 month ago
40-75935
1 month ago
2-8297
2 days
26603 vihdzp
author:vihdzp
refactor(SetTheory/Ordinal/FixedPoint): redefine `Ordinal.deriv` We previously defined the [ordinal derivative](https://en.wikipedia.org/wiki/Normal_function#Properties) of a function as the unique normal function satisfying `deriv f 0 = nfp f 0` and `deriv f (o + 1) = nfp f (deriv f o)` (where `nfp f a` is the next fixed point of `f` that's `≥ a`). The motivation here was to give a "nice" junk value on non-normal functions (the derivative is normal no matter what). However, in practice, this definition makes it unwieldy to prove things, by either requiring a tedious zero/successor/limit argument, or requiring one to rewrite `deriv f = enumOrd (fixedPoints f)`. We can instead define `deriv f = enumOrd (fixedPoints f)`. At the cost of giving "worse" junk values (which we have no legitimate uses of), we're able to much more easily prove all the expected properties in the standard case where `f` is a normal function. Finally, we do some drive-by API cleanup. --- The GitHub diff is a bit messy, I made my best to clean it up. Moved from #21858. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict 172/197 Mathlib/SetTheory/Cardinal/Regular.lean,Mathlib/SetTheory/Ordinal/FixedPoint.lean,Mathlib/SetTheory/Ordinal/Veblen.lean 3 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
40-21681
1 month ago
40-21681
1 month ago
9-66061
9 days
26895 vihdzp
author:vihdzp
feat(SetTheory/Cardinal/Aleph): `IsStrongLimit (preBeth x)` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict 20/12 Mathlib/SetTheory/Cardinal/Aleph.lean 1 2 ['github-actions', 'kckennylau', 'leanprover-community-bot-assistant'] nobody
40-21556
1 month ago
40-21557
1 month ago
3-18936
3 days
27335 eric-wieser
author:eric-wieser
chore(Data/List): use simp-normal-form for boolean equalities This replaces `¬(p x = true)` with `p x = false`. It also makes explicit some adjacent `h : p x` spellings for symmetry, but the `= true`s were already implied by the coercion. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict 43/34 Mathlib/Data/List/DropRight.lean,Mathlib/Data/List/SplitOn.lean,Mathlib/Data/List/TakeWhile.lean 3 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
29-75038
29 days ago
29-75039
29 days ago
0-19242
5 hours
26608 vihdzp
author:vihdzp
feat(SetTheory/Cardinal/Aleph): `o.card ≤ ℵ_ o` and variants --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict 24/0 Mathlib/SetTheory/Cardinal/Aleph.lean 1 3 ['github-actions', 'kckennylau', 'leanprover-community-bot-assistant'] nobody
26-20491
26 days ago
26-20492
26 days ago
23-63406
23 days
27399 MoritzBeroRoos
author:MoritzBeroRoos
feat: 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/) new-contributor merge-conflict 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
20-48548
20 days ago
20-48548
20 days ago
7-62439
7 days
27403 MoritzBeroRoos
author:MoritzBeroRoos
feat: 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/) new-contributor merge-conflict 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 4 ['eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] nobody
20-48547
20 days ago
20-48547
20 days ago
7-54661
7 days
20719 gio256
author:gio256
feat(AlgebraicTopology): delaborators for truncated simplicial notations We add delaborators for the following notations, introduced in #20688: - `⦋m⦌ₙ`, which denotes the `m`-dimensional simplex in the `n`-truncated simplex category. - `X _⦋m⦌ₙ`, which denotes the `m`-th term of an `n`-truncated simplicial object `X`. - `X ^⦋m⦌ₙ`, which denotes the `m`-th term of an `n`-truncated cosimplicial object `X`. If `pp.proofs` is set to `true`, we also pretty-print the proof `p : m ≤ n` for all three notations as `⦋m, p⦌ₙ`, `X _⦋m, p⦌ₙ`, and `X ^⦋m, p⦌ₙ`, respectively. Credit to @kmill for one piece of code and much metaprogramming inspiration. --- - [x] depends on: #20688 - [x] depends on: #23018 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology infinity-cosmos t-meta merge-conflict 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 23 ['eric-wieser', 'gio256', 'github-actions', 'kim-em', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] eric-wieser
assignee:eric-wieser
20-48093
20 days ago
20-48093
20 days ago
88-84229
88 days
27238 alreadydone
author:alreadydone
feat(Algebra): IsDomain R[X] ↔ IsDomain R ∧ IsCancelAdd R --- - [x] depends on: #27241 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra merge-conflict
label:t-algebra$
138/4 Counterexamples.lean,Counterexamples/PolynomialIsDomain.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/GroupWithZero/TransferInstance.lean,Mathlib/Algebra/Opposites.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/RingTheory/Polynomial/Opposites.lean 9 7 ['alreadydone', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
18-519
18 days ago
18-519
18 days ago
3-72191
3 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/) new-contributor t-meta merge-conflict 17/5 Mathlib/Tactic/ComputeDegree.lean,MathlibTest/ComputeDegree.lean 2 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
16-54478
16 days ago
16-54478
16 days ago
38-26044
38 days
11632 mattrobball
author:mattrobball
chore(Group/RingTheory.Congruence): make `Quotient`'s reducible These are essentially wrappers and should not expose any data when made reducible. Their use in constructing typeclass instances makes reducible transparency desirable. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory merge-conflict 16/35 Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/RingTheory/Congruence/Basic.lean 2 14 ['eric-wieser', 'fpvandoorn', 'github-actions', 'grunweg', 'kmill', 'leanprover-bot', 'mattrobball'] nobody
16-54425
16 days ago
16-54425
16 days ago
2-10495
2 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 --- - [ ] depends on:#18728 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict 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
15-56400
15 days ago
15-56400
15 days ago
172-57747
172 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/) t-ring-theory merge-conflict 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
15-56393
15 days ago
15-56393
15 days ago
0-0
0 seconds
22782 alreadydone
author:alreadydone
feat(Topology): étalé space associated to a predicate on sections --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict 886/160 Mathlib.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Geometry/Manifold/Sheaf/Smooth.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Topology/EtaleSpace.lean,Mathlib/Topology/IsLocalHomeomorph.lean,Mathlib/Topology/Sheaves/LocalPredicate.lean,Mathlib/Topology/Sheaves/Sheafify.lean,Mathlib/Topology/Sheaves/Stalks.lean 10 13 ['AntoineChambert-Loir', 'alreadydone', 'github-actions', 'jcommelin', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] PatrickMassot
assignee:PatrickMassot
15-6076
15 days ago
15-6077
15 days ago
30-3459
30 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/) CI merge-conflict 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
15-5431
15 days ago
15-5431
15 days ago
46-52210
46 days
27922 Parcly-Taxel
author:Parcly-Taxel
chore: deprecate `div_eq_iff_mul_eq` and `eq_div_iff_mul_eq` In favour of `div_eq_iff` and `eq_div_iff` respectively. t-algebra merge-conflict
label:t-algebra$
25/28 Mathlib/Algebra/Field/Basic.lean,Mathlib/Algebra/GeomSum.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Data/Complex/Exponential.lean,Mathlib/Data/Nat/Choose/Cast.lean,Mathlib/Data/Rat/Cast/CharZero.lean,Mathlib/Data/Rat/Cast/Defs.lean,Mathlib/Data/Real/Irrational.lean,Mathlib/NumberTheory/Harmonic/GammaDeriv.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/Localization/FractionRing.lean 15 4 ['Parcly-Taxel', 'github-actions', 'mathlib4-merge-conflict-bot', 'pechersky'] nobody
13-24816
13 days ago
13-24817
13 days ago
3-55299
3 days
27378 peakpoint
author:peakpoint
refactor(Geometry/Euclidean/Projection): redefine projection and reflection for affine subspaces This PR continues the work from #25578. Original PR: https://github.com/leanprover-community/mathlib4/pull/25578 new-contributor t-euclidean-geometry merge-conflict 316/317 Mathlib/Analysis/Normed/Affine/ContinuousAffineMap.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Geometry/Euclidean/Circumcenter.lean,Mathlib/Geometry/Euclidean/Projection.lean 4 7 ['github-actions', 'jsm28', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot', 'peakpoint'] nobody
12-30641
12 days ago
12-30642
12 days ago
15-31164
15 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/) t-ring-theory merge-conflict 27/0 Mathlib/RingTheory/Valuation/Basic.lean 1 13 ['JovanGerb', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'pechersky', 'wwylele'] nobody
9-37934
9 days ago
9-37935
9 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/) t-ring-theory large-import merge-conflict 73/0 Mathlib/RingTheory/Valuation/Basic.lean 1 4 ['JovanGerb', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] nobody
9-37563
9 days ago
9-37564
9 days ago
6-6455
6 days
25978 Bergschaf
author:Bergschaf
feat(Order/Sublocale): Open Sublocales --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #25089 t-order merge-conflict 377/8 Mathlib.lean,Mathlib/Order/Hom/Lattice.lean,Mathlib/Order/Nucleus.lean,Mathlib/Order/Sublocale.lean,Mathlib/Order/Synonym.lean,docs/references.bib 6 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
8-69125
8 days ago
8-69126
8 days ago
0-1908
31 minutes
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/) t-meta merge-conflict 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
7-52187
7 days ago
7-52188
7 days ago
32-70098
32 days
25483 VTrelat
author:VTrelat
chore(Data/Set/Prod, SetTheory/ZFC/Basic): add theorem prod_subset_of_prod and extend ZFC model Required by @eric-wieser in #24281 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor merge-conflict 103/0 Mathlib/Data/Set/Prod.lean,Mathlib/SetTheory/ZFC/Basic.lean 2 10 ['Ruben-VandeVelde', 'VTrelat', 'github-actions', 'leanprover-community-bot-assistant'] nobody
7-41830
7 days ago
46-76137
1 month ago
29-56208
29 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 140/23 Mathlib/RingTheory/Valuation/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean 2 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
7-37622
7 days ago
7-37623
7 days ago
7-4998
7 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/) t-meta merge-conflict 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
7-6983
7 days ago
7-6983
7 days ago
71-28549
71 days
27835 edegeltje
author:edegeltje
feat(Tactic): ring modulo a given characteristic This PR extends the `ring` tactic with a new config argument `char` which will try to reduce all constant terms modulo the given characteristic. This allows `ring` to prove e.g. `(x + y)^3 = x^3 + y^3` in characteristic 3. This is a simpler and faster way to do so than what we had before: `repeat { ring; reduce_mod_char }` becomes `ring (config := { char := 3 })`. The first step is to split off the required `CharP` definitions, since `Mathlib.Algebra.CharP.Basic` already requires the `ring` tactic. To perform the reduction modulo the given characteristic, I implemented `reduceCast` which reduces a raw integer, and wrapped it in `reduceResult` that takes a `NormNum.Result` for easy use. We need to pass through quite a few parameters into `reduceResult` so maybe it's worth defining a structure, or reusing `Cache` for this. Then it's basically a case of replacing every place where `ring` constructs a numeral with a call to `reduceResult`. Limitations: * `ring` doesn't attempt to detect the characteristic by itself, you need to pass it in explicitly. Trying to infer a `CharP` instance at each point sounds quite expensive. * Since the support for `%` in `NormNum` only exists for integers, I implemented the reduction only when a `Ring` instance is available. It is still sound in the semiring case, just not complete. * We could optimize exponentiation in the specific case where the characteristic `p` is a prime that divides the exponent `n`: `(x + y)^n = x^n + y^n`. I'll leave that to future work. --- This used to be #10765 by Anne Baanen before the great forkening. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) migrated-from-branch large-import t-meta merge-conflict 310/134 Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/RingTheory/MvPolynomial/Basic.lean,Mathlib/Tactic/LinearCombination.lean,Mathlib/Tactic/Module.lean,Mathlib/Tactic/Polyrith.lean,Mathlib/Tactic/Ring/Basic.lean,Mathlib/Tactic/Ring/Compare.lean,Mathlib/Tactic/Ring/RingNF.lean,MathlibTest/ring_compare.lean,MathlibTest/ring_mod_char.lean 10 4 ['edegeltje', 'github-actions', 'mathlib4-merge-conflict-bot'] joneugster
assignee:joneugster
7-6049
7 days ago
7-6050
7 days ago
11-83928
11 days
27953 CoolRmal
author:CoolRmal
feat(ProbabilityTheory): Conditional Jensen's Inequality This PR adds conditional Jensen's inequality. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability merge-conflict 526/14 Mathlib.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Separation.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Basic.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondJensen.lean,Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean 5 3 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
6-16226
6 days ago
6-16227
6 days ago
8-36460
8 days
26464 joelriou
author:joelriou
feat(LinearAlgebra): generators of pi tensor products In this PR, we show that the `R`-module `⨂[R] i, M i` is finitely generated if the index type is finite and all `M i` are finitely generated. This follows from a more precise result about generators of `⨂[R] i, M i`. --- This PR continues the work from #18725. Original PR: https://github.com/leanprover-community/mathlib4/pull/18725 file-removed t-algebra merge-conflict
label:t-algebra$
268/4 Mathlib.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/SubtypeNeLift.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Finite.lean,Mathlib/LinearAlgebra/PiTensorProduct/Generators.lean,Mathlib/LinearAlgebra/TensorPower/Basic.lean,Mathlib/RingTheory/PiTensorProduct.lean,Mathlib/SetTheory/Cardinal/Finite.lean 9 17 ['eric-wieser', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] nobody
5-30243
5 days ago
5-30244
5 days ago
43-26159
43 days
27313 pechersky
author:pechersky
feat(RingTheory/ValuativeRel/Trivial): the trivial valuative relation lemmas stated using `[Valuation.Compatible (1 : Valuation R Γ₀)]` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #27312 t-algebra t-number-theory merge-conflict
label:t-algebra$
908/800 Mathlib.lean,Mathlib/RingTheory/Valuation/RankOne.lean,Mathlib/RingTheory/Valuation/ValuativeRel.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Trivial.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean 7 11 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-55653
1 day ago
1-55654
1 day ago
6-23806
6 days
19097 Vierkantor
author:Vierkantor
chore(Algebra.Polynomial): split `Polynomial/Basic.lean` into smaller files This PR splits `Mathlib.Algebra.Polynomial.Basic` into the following files: * `Polynomial/Defs.lean`: definition and ring structure on `R[X]` * `Polynomial/Module.lean`: module structure on `R[X]` * `Polynomial/Monomial.lean`: merged definition of `monomial`, `X`, `C` into the existing file (this is probably the file you want to import from now on) * `Polynomial/EraseUpdate.lean`: definition of `erase` and `update` * `Polynomial/Sum.lean`: definition of `sum` Initially I added the monomial results to a new file, but ended up merging it with `Monomial.lean` since the two of them merge cleanly. --- - [x] depends on: #28030 (going to resurrect this PR on top of that one later) - [x] depends on: #19095 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
3109/2500 Mathlib.lean,Mathlib/Algebra/BigOperators/Finsupp.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MonoidAlgebra/Division.lean,Mathlib/Algebra/MonoidAlgebra/Lift.lean,Mathlib/Algebra/MonoidAlgebra/MapDomain.lean,Mathlib/Algebra/MonoidAlgebra/Module.lean,Mathlib/Algebra/MonoidAlgebra/Opposite.lean,Mathlib/Algebra/MonoidAlgebra/Support.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Cardinal.lean,Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/Algebra/Polynomial/Defs.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Degree/TrailingDegree.lean,Mathlib/Algebra/Polynomial/EraseUpdate.lean,Mathlib/Algebra/Polynomial/Eval/Defs.lean,Mathlib/Algebra/Polynomial/Eval/Degree.lean,Mathlib/Algebra/Polynomial/Module.lean,Mathlib/Algebra/Polynomial/Monomial.lean,Mathlib/Algebra/Polynomial/Sum.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Finsupp/Ext.lean,Mathlib/Data/Finsupp/Fintype.lean,Mathlib/Data/Finsupp/Indicator.lean,Mathlib/Data/Finsupp/Notation.lean,Mathlib/Data/Finsupp/Pointwise.lean,Mathlib/Data/Finsupp/SMulWithZero.lean,Mathlib/Data/Finsupp/Single.lean,Mathlib/Data/List/ToFinsupp.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Eigs.lean,Mathlib/RingTheory/KrullDimension/Basic.lean,Mathlib/RingTheory/Polynomial/Opposites.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/Tactic/ExtractGoal.lean,MathlibTest/Polynomial.lean,MathlibTest/instance_diamonds.lean,scripts/noshake.json 40 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
1-49984
1 day ago
7-42769
7 days ago
0-0
0 seconds
27887 JovanGerb
author:JovanGerb
feat: `to_dual` attribute This PR defines the `to_dual` attribute for translating lemmas to their dual. This is useful in order theory and in category theory. It is built on top of the `to_additive` machinery. This PR only adds `@[to_dual]` tags in files that directly need to import `ToDual`, namely `Order/Defs/PartialOrder`, `Order/Notation` and `Combinatorics/Quiver/Basic`. Further tagging is left for (many) future PRs. This PR continues the work from #21719 This PR depends on/supersedes #27894 Related (mathlib3) issues: - https://github.com/leanprover-community/mathlib3/issues/13461 - https://github.com/leanprover-community/mathlib3/issues/7691 Co-authored-by: @bryangingechen --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-meta merge-conflict 536/203 Mathlib.lean,Mathlib/Combinatorics/Quiver/Basic.lean,Mathlib/GroupTheory/Coset/Defs.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Defs/PartialOrder.lean,Mathlib/Order/Notation.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ToAdditive/Frontend.lean,Mathlib/Tactic/ToAdditive/ToDual.lean,Mathlib/Tactic/ToDual.lean,MathlibTest/toAdditive.lean,scripts/noshake.json 12 8 ['JovanGerb', 'github-actions', 'mathlib4-merge-conflict-bot'] nobody
1-29666
1 day ago
1-29667
1 day ago
14-51685
14 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
1-10463
1 day ago
1-10464
1 day ago
0-83357
23 hours
26396 xroblot
author:xroblot
feat(RingTheory): define the dual of a basis for the trace and prove basic properties --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict 120/37 Mathlib/LinearAlgebra/BilinearForm/Properties.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/Trace/Basic.lean 3 2 ['github-actions', 'mathlib4-merge-conflict-bot'] adomani
assignee:adomani
1-8044
1 day ago
1-8045
1 day ago
55-54216
55 days
26039 tsuki8
author:tsuki8
feat(RingTheory/MvPolynomial/MonomialOrder): leadingTerm define the leadingTerm and prove some lemmas related to the def `leadingTerm`: the leading term of `f` for the monomial ordering `m` some basic lemmas about leadingTerm including: 1. `leadingTerm_eq_zero_iff` 2. `leadingTerm_image_sdiff_singleton_zero` 3. `leadingTerm_image_insert_zero` 4. `leadingTerm_zero` 5. `leadingTerm_degree_eq` 6. `leadingTerm_degree_eq'` some lemmas about the degree of `f - m.leadingTerm f`: 1. `degree_sub_leadingTerm` 2. `degree_sub_leadingTerm_lt_degree` 3. `degree_sub_leadingTerm_lt_iff` Co-authored-by: Junyu Guo @Hagb --- - [ ] depends on: #24361 - [ ] depends on: #26148 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor merge-conflict 121/1 Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean 1 11 ['Hagb', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-4253
1 day ago
1-4255
1 day ago
0-1842
30 minutes
27599 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): define `completeEquipartiteSubgraph` Define the complete equipartite subgraphs in `r` parts each of size `t` in `G` as the `r` subsets of vertices each of size `t` such that vertices in distinct subsets are adjacent. In this case `Nonempty (G.completeEquipartiteSubgraph r t)` is equivalent to `completeEquipartiteGraph r t ⊑ G`, that is, finding `r` subsets of vertices each of size `t` in `G` such that vertices in distinct subsets are adjacent is equivalent to finding an injective homomorphism from `completeEquipartiteGraph r t` to `G`. --- - [ ] depends on: #27597 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-combinatorics merge-conflict 248/0 Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean 2 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-52008
14 hours ago
0-52009
14 hours ago
0-12432
3 hours
28311 eric-wieser
author:eric-wieser
fix(Tactic/NormNum): do not hang on large powers This uses `Lean.checkExponent` to guard against large powers. Unfortunately the log messages it emits are currently swallowed, but surfacing these may require changing the API for norm_num extensions (to live in `OptionT MetaM`) and so is left to future work. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict bug 41/23 Mathlib/Tactic/NormNum/Pow.lean,Mathlib/Tactic/Ring/Basic.lean,MathlibTest/norm_num.lean,MathlibTest/norm_num_ext.lean 4 3 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
0-38277
10 hours ago
1-44237
1 day ago
8-5100
8 days
28532 alreadydone
author:alreadydone
chore(Algebra/Ring/Defs): add two classes and extend more Add the missing `NonAssocComm(Semi)ring` and modify existing classes to `extends` more to remove some manual instances. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
89/70 Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean,Mathlib/NumberTheory/SelbergSieve.lean,Mathlib/RingTheory/Localization/Integral.lean,Mathlib/RingTheory/PowerSeries/GaussNorm.lean,Mathlib/RingTheory/Valuation/Discrete/Basic.lean,Mathlib/Tactic/Ring/Basic.lean,MathlibTest/TCSynth.lean 10 16 ['alreadydone', 'eric-wieser', 'github-actions', 'leanprover-bot'] nobody
0-30326
8 hours ago
3-17974
3 days ago
3-20973
3 days
28046 grunweg
author:grunweg
chore: golf the proof in #26875 --- TODO: also add the typeclass weakening (cherry-picked) - [ ] depends on: #26875 - [x] depends on: #28048 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry merge-conflict 99/14 Mathlib/Geometry/Manifold/ContMDiff/Defs.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean 2 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-23206
6 hours ago
14-12936
14 days ago
0-1
1 second
28322 kim-em
author:kim-em
chore: remove a now-unneeded maxHeartbeats Some previous PRs have pruned the typeclass search, and this now succeeds within the usual limits. t-number-theory merge-conflict 0/1 Mathlib/NumberTheory/RamificationInertia/Unramified.lean 1 1 ['github-actions'] nobody
0-5749
1 hour ago
5-70253
5 days ago
5-71349
5 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
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/) new-contributor t-category-theory awaiting-author 112/0 Mathlib.lean,Mathlib/CategoryTheory/Sites/CoveringFamilies.lean 2 20 ['AnthonyBordg', 'adamtopaz', 'dagurtomas', 'github-actions', 'joelriou'] nobody
380-36877
1 year ago
385-30542
1 year ago
1-48443
1 day
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/) new-contributor t-algebra awaiting-author
label:t-algebra$
5/0 Mathlib/Algebra/Group/Basic.lean 1 3 ['eric-wieser', 'github-actions', 'kim-em'] nobody
370-54253
1 year ago
370-54253
1 year ago
6-38745
6 days
11207 luigi-massacci
author:luigi-massacci
feat(Topology/MetricSpace): Add new file with type of Katetov maps add a type of Katetov maps (one point extensions of a metric) and related notation and FunLike coercions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology WIP 138/0 Mathlib.lean,Mathlib/Topology/MetricSpace/Katetov.lean,docs/references.bib 3 16 ['fpvandoorn', 'jcommelin', 'kim-em', 'luigi-massacci', 'urkud'] nobody
366-38630
1 year ago
468-40715
1 year ago
26-83567
26 days
11090 pangelinos
author:pangelinos
feat: define spectral spaces and prove that a quasi-compact open of a spectral space is spectral Define spectral spaces and prove that a quasi-compact open of a spectral space is spectral. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology please-adopt good first issue 69/0 Topology/Spectral/basic.lean 1 15 ['YaelDillies', 'adomani', 'j-loreaux', 'jcommelin', 'kim-em', 'pangelinos'] nobody
366-38505
1 year ago
370-51431
1 year ago
16-44803
16 days
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/) new-contributor t-category-theory awaiting-author 40/0 Mathlib/CategoryTheory/EpiMono.lean 1 3 ['github-actions', 'joelriou', 'mattrobball'] nobody
353-13997
11 months ago
384-59656
1 year ago
7-3203
7 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/) new-contributor t-measure-probability awaiting-author 286/1 Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Probability/Distributions/Beta.lean 3 48 ['EtienneC30', 'arulandu', 'github-actions', 'vihdzp'] arulandu
assignee:arulandu
334-60614
11 months ago
339-57332
11 months ago
1-21124
1 day
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/) new-contributor t-combinatorics WIP 24/0 Mathlib/Combinatorics/SimpleGraph/Map/Finite.lean 1 11 ['awueth', 'github-actions', 'jcommelin', 'kim-em', 'urkud'] nobody
302-32999
9 months ago
302-32999
9 months ago
31-44440
31 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/) new-contributor t-algebra awaiting-author
label:t-algebra$
78/0 Mathlib/Algebra/Group/Defs.lean 1 13 ['github-actions', 'hannahfechtner', 'jcommelin', 'kbuzzard', 'kim-em', 'trivial1711'] nobody
212-57534
7 months ago
212-57534
7 months ago
69-35596
69 days
20797 vbeffara
author:vbeffara
feat(Topology/Covering): CM version of eq_of_comp_eq Add equivalents of the lemmas `IsCoveringMap.eq_of_comp_eq` and `IsCoveringMap.const_of_comp_CM` for the case of bundled `ContinuousMap` parameters. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology easy awaiting-author 9/1 Mathlib/Topology/Covering.lean 1 4 ['github-actions', 'ocfnash', 'vbeffara'] nobody
212-44299
7 months ago
213-45252
7 months ago
2-77310
2 days
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 t-meta modifies-tactic-syntax awaiting-author help-wanted 439/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MAbel.lean,MathlibTest/mabel.lean 4 10 ['BoltonBailey', 'dignissimus', 'github-actions', 'joneugster', 'kbuzzard'] joneugster
assignee:joneugster
182-10062
6 months ago
186-78058
6 months ago
0-16
16 seconds
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/) new-contributor t-algebra awaiting-author
label:t-algebra$
43/0 Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean 1 1 ['github-actions', 'j-loreaux'] nobody
182-9141
6 months ago
182-9141
6 months ago
13-33168
13 days
22302 CharredLee
author:CharredLee
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/) new-contributor t-category-theory awaiting-author 312/0 Mathlib.lean,Mathlib/CategoryTheory/Topos/Power.lean 2 2 ['github-actions', 'joelriou'] b-mehta
assignee:b-mehta
176-10337
5 months ago
176-11464
5 months ago
0-1528
25 minutes
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/) t-computability new-contributor awaiting-author 70/0 Mathlib.lean,Mathlib/Computability/PDA.lean 2 34 ['YaelDillies', 'github-actions', 'madvorak', 'shetzl'] nobody
156-57884
5 months ago
156-57884
5 months ago
20-81771
20 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/) large-import new-contributor t-algebra awaiting-CI
label:t-algebra$
169/0 Mathlib/Algebra/Free.lean 1 11 ['YaelDillies', 'github-actions'] nobody
134-73210
4 months ago
134-73210
4 months ago
51-9403
51 days
22657 Xmask19
author:Xmask19
feat: a graph is maximally acyclic iff it is a tree --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 86/0 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean 1 6 ['Rida-Hamadani', 'b-mehta', 'github-actions', 'grunweg'] b-mehta
assignee:b-mehta
134-38867
4 months ago
134-38888
4 months ago
156-29561
156 days
22349 dtumad
author:dtumad
feat(Control): Laws for monads with compatible `failure` operation Add a class for a `Monad` that also has an `Alternative` instance, and a class `LawfulAlternative` for types where the failure and monad structures are compatible in the expected way. --- I'm not sure if this should instead go in `Batteries.Control` instead of mathlib, or at least lemmas like `OptionT.run_failure` maybe should. Some of the instances like `Set` would still need to be added in mathlib either way. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-meta WIP 74/3 Mathlib.lean,Mathlib/Control/Lawful.lean,Mathlib/Control/Monad/AlternativeMonad.lean 3 8 ['dtumad', 'eric-wieser', 'github-actions', 'quangvdao'] nobody
116-74391
3 months ago
116-74545
3 months ago
1-20563
1 day
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/) new-contributor t-algebra t-category-theory WIP
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
109-64281
3 months ago
109-64281
3 months ago
0-0
0 seconds
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/) awaiting-zulip t-computability new-contributor awaiting-author 298/0 Mathlib.lean,Mathlib/Computability/GNFA.lean,Mathlib/Computability/Language.lean,Mathlib/Computability/RegularExpressions.lean,docs/references.bib 5 6 ['github-actions', 'mathlib4-dependent-issues-bot', 'meithecatte', 'trivial1711'] nobody
107-10600
3 months ago
107-10609
3 months ago
23-54870
23 days
20648 anthonyde
author:anthonyde
feat: formalize regular expression -> εNFA The file `Computability/RegularExpressionsToEpsilonNFA.lean` contains a formal definition of Thompson's method for constructing an `εNFA` from a `RegularExpression` and a proof of its correctness. --- - [x] depends on: #20644 - [x] depends on: #20645 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-zulip t-computability new-contributor 490/0 Mathlib.lean,Mathlib/Computability/RegularExpressionsToEpsilonNFA.lean,docs/references.bib 3 5 ['github-actions', 'mathlib4-dependent-issues-bot', 'meithecatte', 'qawbecrdtey'] nobody
107-9911
3 months ago
107-10546
3 months ago
75-77754
75 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/) t-computability new-contributor awaiting-author 383/0 Mathlib.lean,Mathlib/Computability/LeftmostDerivation.lean 2 54 ['YaelDillies', 'github-actions', 'madvorak', 'shetzl'] YaelDillies
assignee:YaelDillies
103-55275
3 months ago
103-55275
3 months ago
72-3718
72 days
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 new-contributor awaiting-author 2/24 Mathlib/Computability/EpsilonNFA.lean 1 2 ['YaelDillies', 'github-actions', 'urkud'] nobody
101-56139
3 months ago
101-56139
3 months ago
27-52316
27 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/) new-contributor t-analysis WIP help-wanted 287/0 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/AffineSubspace.lean 2 6 ['MithicSpirit', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] MithicSpirit
assignee:MithicSpirit
95-26285
3 months ago
95-26303
3 months ago
0-0
0 seconds
24333 xcloudyunx
author:xcloudyunx
feat(Combinatorics/SimpleGraph): cycle graph implementation for generic vertex types The existing `cycleGraph` implementation under Combinatorics/SimpleGraph/Circulant.lean only operates over `Fin n`. This PR implements a cycle graph implementation over any generic vertex type. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 187/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Cycle.lean 2 29 ['IvanRenison', 'github-actions'] kmill
assignee:kmill
91-967
2 months ago
118-84924
3 months ago
118-84975
118 days
20238 maemre
author:maemre
feat(Computability/DFA): Closure of regular languages under some set operations This shows that regular languages are closed under complement and intersection by constructing DFAs for them. --- Closure under all other operations will be proved when someone adds the proof for DFA<->regular expression equivalence, so they are not part of this PR. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-zulip t-computability new-contributor awaiting-author 159/0 Mathlib/Computability/DFA.lean,Mathlib/Computability/Language.lean 2 59 ['EtienneC30', 'YaelDillies', 'github-actions', 'maemre', 'meithecatte', 'urkud'] EtienneC30
assignee:EtienneC30
77-62771
2 months ago
107-10510
3 months ago
48-67492
48 days
18693 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: add ConjRootClass Co-authored-by: FR --- From #6718 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra delegated
label:t-algebra$
213/0 Mathlib.lean,Mathlib/FieldTheory/Minpoly/ConjRootClass.lean,Mathlib/FieldTheory/Minpoly/IsConjRoot.lean 3 16 ['LessnessRandomness', 'Vierkantor', 'alreadydone', 'github-actions', 'grunweg', 'mathlib-bors'] Vierkantor
assignee:Vierkantor
75-62607
2 months ago
86-38160
2 months ago
94-8480
94 days
23992 robertmaxton42
author:robertmaxton42
feat (Limits.FunctorCategory): limitIsoFlipCompLim and colimitIsoFlipCompColim are natural Add `limIsoFlipCompWhiskerLim`, `limCompFlipIsoWhiskerLim`, `colimIsoFlipCompWhiskerColim`, `colimCompFlipIsoWhiskerColim`, each witnessing that their corresponding families of isomorphisms are natural in the diagram $F$. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-category-theory awaiting-CI 41/0 Mathlib/CategoryTheory/Limits/FunctorCategory/Basic.lean 1 12 ['adomani', 'github-actions', 'robertmaxton42', 'robin-carlier'] nobody
75-53748
2 months ago
76-8703
2 months ago
50-83251
50 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/) t-data new-contributor awaiting-author 129/1 Mathlib.lean,Mathlib/Data/List/Commutativity.lean,Mathlib/Data/List/Defs.lean,Mathlib/Data/List/Lemmas.lean 4 35 ['MrSumato', 'github-actions', 'grunweg', 'plp127'] grunweg
assignee:grunweg
75-44548
2 months ago
75-44548
2 months ago
29-59355
29 days
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/) awaiting-zulip t-computability new-contributor 101/10 Mathlib/Computability/EpsilonNFA.lean,Mathlib/Computability/NFA.lean 2 41 ['YaelDillies', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'meithecatte'] nobody
74-20162
2 months ago
74-20163
2 months ago
34-10595
34 days
22790 mhk119
author:mhk119
feat: Extend `taylor_mean_remainder_lagrange` to `x < x_0` The `taylor_mean_remainder_lagrange` theorem has the assumption that $x_0 < x$. In many applications, we need $x < x_0$ and one cannot use the current version to obtain this (see [zulip](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Taylor's.20theorem)). This PR introduces a set of theorems that push negations through Taylor expansions so that one can extend `taylor_mean_remainder_lagrange` to the case when $x < x_0$. These theorems should also be useful elsewhere since they are quite general. new-contributor t-analysis awaiting-author 111/1 Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean,Mathlib/Analysis/Calculus/Taylor.lean 3 12 ['Paul-Lez', 'github-actions', 'grunweg', 'mhk119'] nobody
71-4667
2 months ago
132-46363
4 months ago
30-77130
30 days
24395 rudynicolop
author:rudynicolop
feat(Data/List): list splitting definitions and lemmas Adds definitions and lemmas for obtaining all prefixes and suffixes of lists. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor awaiting-author 143/2 Mathlib/Data/List/Perm/Lattice.lean,Mathlib/Data/List/TakeDrop.lean 2 4 ['BoltonBailey', 'github-actions'] ericrbg
assignee:ericrbg
59-12507
1 month ago
59-12507
1 month ago
57-9536
57 days
26376 maddycrim
author:maddycrim
Simons2025 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor WIP 29/0 Mathlib/RingTheory/Localization/Pi.lean 1 1 ['github-actions'] faenuccio
assignee:faenuccio
56-38497
1 month ago
57-16970
1 month ago
0-13
13 seconds
25739 literandltx
author:literandltx
feat(NumberTheory/LegendreSymbol): Add sqrt‐of‐residue theorems for p=4k+3 and p=8k+5 Add a new file `QuadraticResidueRoots.lean` under `Mathlib/NumberTheory/LegendreSymbol/` that proves two explicit “square-root of quadratic residue” theorems for primes of the specific form. - **`exists_sqrt_of_residue_mod4_eq3`** for primes `p = 4*k + 3` - **`exists_sqrt_of_residue_mod8_eq5`** for primes `p = 8*k + 5` It also introduces the helper lemmas `euler_criterion_traditional` and `legendreSym.at_two_mod8_eq_5`. Import lines in `Mathlib.lean` and `Mathlib/NumberTheory/LegendreSymbol/Basic.lean` have been updated accordingly. new-contributor t-number-theory awaiting-author 217/0 Mathlib.lean,Mathlib/NumberTheory/LegendreSymbol/Basic.lean,Mathlib/NumberTheory/LegendreSymbol/QuadraticReciprocity.lean,Mathlib/NumberTheory/LegendreSymbol/QuadraticResidueRoots.lean 4 2 ['github-actions', 'kckennylau'] literandltx
assignee:literandltx
51-58024
1 month ago
52-710
1 month ago
17-63153
17 days
26013 tsuki8
author:tsuki8
feat(Data/Finset/Card,Data/Set/Finite/Basic) 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/) t-data new-contributor awaiting-author 15/0 Mathlib/Data/Finset/Card.lean,Mathlib/Data/Set/Finite/Basic.lean 2 5 ['Ruben-VandeVelde', 'github-actions'] nobody
50-46399
1 month ago
50-58691
1 month ago
13-85893
13 days
26710 metakunt
author:metakunt
feat (Data/Nat/Digits/Lemmas): Add digits_getD Adds digits_getD, an explicit computation of the i-th digits of n in base b representation. t-data new-contributor 64/0 Mathlib/Data/Nat/Digits/Lemmas.lean 1 1 ['github-actions'] nobody
48-4682
1 month ago
48-4813
1 month ago
48-4865
48 days
27069 FrankieNC
author:FrankieNC
feat(Analysis/MetricSpace/HausdorffDimension): prove dimH of intervals and segments is 1 Add theorems `dimH_Icc01` and `dimH_segment` showing that the Hausdorff dimension of the unit interval [0,1] and of any non-degenerate real segment is 1. The key idea is that the segment is the image of [0,1] under a bi-Lipschitz map. We explicitly construct this map and prove it is both Lipschitz and antilipschitz, allowing us to transfer the dimension result from the unit interval. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology awaiting-author 63/0 Mathlib/Topology/MetricSpace/HausdorffDimension.lean 1 10 ['AntoineChambert-Loir', 'FrankieNC', 'github-actions', 'grunweg'] nobody
38-18449
1 month ago
38-30933
1 month ago
0-13398
3 hours
27155 Pjotr5
author:Pjotr5
Proof of Shearers 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/) new-contributor t-combinatorics 1266/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/IndependenceNumber.lean 2 1 ['github-actions'] nobody
36-50969
1 month ago
36-50969
1 month ago
36-51023
36 days
26962 themathqueen
author:themathqueen
feat(Data/Nat/Fib/Basic): some API for `Nat.fib` Added some helpful lemmas for `Nat.fib`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor awaiting-author 24/0 Mathlib/Data/Nat/Fib/Basic.lean 1 7 ['Ruben-VandeVelde', 'github-actions', 'themathqueen', 'vihdzp'] nobody
33-20991
1 month ago
33-20992
1 month ago
8-31586
8 days
27233 ctchou
author:ctchou
feat: prove some properties of linearly ordered tuples of a linearly ordered typeFin ordered tuple Co-authored-by: Peter Nelson (original author) --- This is a part of PR #27217, which continues the work in PR #12773. The relevant comments made by @YaelDillies in #12773 have been addressed. - [x] depends on: #27211 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order awaiting-author 57/0 Mathlib/Data/Finset/Sort.lean 1 10 ['YaelDillies', 'ctchou', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
32-24322
1 month ago
32-24322
1 month ago
0-48911
13 hours
27242 hugh-fox
author:hugh-fox
feat: add Gauss-like formula for sums of digit sums Adds `sum_digit_sum_base_pow_eq` to show a Gauss-like formula across sums of digit sums. This relies on an additional two simp lemmas, named `digits_sum_eq_self`, `digits_sum_base_mul_cancel`. Lastly, includes a specialization (which is a good bit simpler than the general formula) to base 10 named `sum_digit_sum_ten_pow_eq`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-data new-contributor 113/0 Mathlib/Data/Nat/Digits/Lemmas.lean 1 5 ['github-actions', 'hugh-fox', 'kckennylau'] nobody
32-17978
1 month ago
33-81756
1 month ago
33-81802
33 days
27271 ctchou
author:ctchou
feat: prove that each (total) preorder is an extension of a (linear) partial order Co-authored-by: Peter Nelson (original author) --- This is a part of PR #27217, which continues the work in PR #12773. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-order awaiting-author 161/1 Mathlib/Order/Extension/Linear.lean,Mathlib/Order/Interval/Finset/Defs.lean,Mathlib/Order/RelClasses.lean 3 4 ['YaelDillies', 'b-mehta', 'ctchou', 'github-actions'] nobody
26-81172
26 days ago
26-81172
26 days ago
6-10108
6 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. new-contributor t-algebra awaiting-author
label:t-algebra$
465/0 Mathlib.lean,Mathlib/Algebra/Polynomial/ZMod.lean 2 2 ['Ruben-VandeVelde', 'github-actions'] nobody
25-20545
25 days ago
25-20545
25 days ago
25-6199
25 days
27682 FernandoChu
author:FernandoChu
Chore: Added `vecAppend_empty` lemma Added the `vecAppend_empty`. t-data new-contributor 5/0 Mathlib/Data/Fin/VecNotation.lean 1 1 ['github-actions'] nobody
21-41186
21 days ago
21-41186
21 days ago
21-41397
21 days
27297 hugh-fox
author:hugh-fox
feat: add an equality between sums and products of cartesian products Adds `prod_mul_eq_prod_product` and a version for Finsets `prod_range_mul_eq_prod_product` with to show an equality between `Fin (i * j)` and `Fin a × Fin b`. It is likely `prod_range_mul_eq_prod_product` belongs in a different file, in which case only the first commit should be considered. --- [![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$
12/0 Mathlib/Algebra/BigOperators/Fin.lean 1 6 ['Ruben-VandeVelde', 'github-actions', 'hugh-fox', 'j-loreaux', 'kckennylau'] nobody
21-21069
21 days ago
25-13057
25 days ago
7-6727
7 days
26945 gasparattila
author:gasparattila
feat(LinearAlgebra/AffineSpace/AffineSubspace): basic properties of `sInf` and `iInf` These properties are analogous to the existing ones for the binary infimum. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
48/1 Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean 1 4 ['Ruben-VandeVelde', 'gasparattila', 'github-actions'] eric-wieser
assignee:eric-wieser
21-20599
21 days ago
42-25000
1 month ago
42-25046
42 days
26986 WangYiran01
author:WangYiran01
feat(Partition): add bijection for partitions with max part ≤ r ## Summary 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. ## Implementation notes - The proof uses `Multiset.erase` and `Multiset.cons` with basic properties of `sum`, `sup`, and `Partition` structures. - The bijection is implemented explicitly via `f` and `g`, and proven mutually inverse via `Subtype.ext`. ## Linting - [x] Passes `lake build` - [x] Linter clean (no commandStart or longLine issues) ## Author Contributed by Yiran Wang. new-contributor t-combinatorics 85/0 Mathlib/Combinatorics/Enumerative/Partition.lean 1 2 ['WangYiran01', 'github-actions'] b-mehta
assignee:b-mehta
21-20598
21 days ago
40-57801
1 month ago
40-57845
40 days
26453 jburroni
author:jburroni
feat(Data/PNat/Basic): add order-related instances to PNat Add `SuccAddOrder ℕ+` and `NoMaxOrder ℕ+` instances. This allows, for example, the use of lemmas related to `Intervals` built with ℕ+. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-data new-contributor 18/0 Mathlib/Data/PNat/Basic.lean 1 3 ['eric-wieser', 'github-actions', 'jburroni'] ericrbg
assignee:ericrbg
20-52564
20 days ago
55-24385
1 month ago
55-24430
55 days
26790 FlAmmmmING
author:FlAmmmmING
feat(Combinatorics/Enumerative/Bell.lean): define standard Bell number --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 38/1 Mathlib/Combinatorics/Enumerative/Bell.lean 1 11 ['AntoineChambert-Loir', 'FlAmmmmING', 'eric-wieser', 'github-actions', 'kckennylau', 'madvorak'] awainverse
assignee:awainverse
20-52562
20 days ago
46-33241
1 month ago
46-33287
46 days
26793 FlAmmmmING
author:FlAmmmmING
feat(Algebra/Group /ForwardDiff.lean): add five theorems for forward difference --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-algebra
label:t-algebra$
212/3 Mathlib/Algebra/Group/ForwardDiff.lean 1 35 ['AntoineChambert-Loir', 'DAE123456', 'FlAmmmmING', 'Ruben-VandeVelde', 'github-actions', 'kckennylau', 'madvorak'] mariainesdff
assignee:mariainesdff
20-52561
20 days ago
33-79151
1 month ago
46-31638
46 days
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/) new-contributor t-algebra awaiting-author
label:t-algebra$
230/0 Mathlib.lean,Mathlib/RingTheory/FractionalIdeal/LocalizedAtPrime.lean,Mathlib/RingTheory/Localization/Basic.lean 3 21 ['Vierkantor', 'YaelDillies', 'github-actions', 'js2357', 'kbuzzard', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot'] Vierkantor
assignee:Vierkantor
20-30871
20 days ago
20-30903
20 days ago
26-39463
26 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/) new-contributor t-combinatorics 16/0 Mathlib/Combinatorics/SimpleGraph/Trails.lean 1 3 ['IvanRenison', 'github-actions'] kmill
assignee:kmill
20-15658
20 days ago
86-7209
2 months ago
86-7263
86 days
26909 gasparattila
author:gasparattila
feat(LinearAlgebra/Projectivization/Subspace): correspondence between linear and projective subspaces --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
51/3 Mathlib/LinearAlgebra/Projectivization/Subspace.lean 1 1 ['github-actions'] Vierkantor
assignee:Vierkantor
20-15648
20 days ago
43-19040
1 month ago
43-19088
43 days
27479 iu-isgood
author:iu-isgood
Abel's Binomial Theorem - REU Project 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/) t-data new-contributor awaiting-author 326/0 Mathlib/Data/Nat/Choose/AbelBinomial.lean 1 28 ['ElifUskuplu', 'FrankieNC', 'github-actions', 'iu-isgood'] nobody
19-41334
19 days ago
21-12115
21 days ago
0-533
8 minutes
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/) new-contributor t-category-theory awaiting-author 70/1 Mathlib/CategoryTheory/Category/Factorisation.lean 1 12 ['YunkaiZhang233', 'b-mehta', 'github-actions', 'robin-carlier'] nobody
19-38272
19 days ago
20-34153
20 days ago
0-3448
57 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). I am not sure whether the `prodEquivOfIsCompl_symm_apply` theorem should be tagged with `@[simp]`; this might lead to confluence issues. Opinions are welcome! Co-authored by: - [Viviana del Barco](https://github.com/vdelbarc) - [Gustavo Infanti](https://github.com/GuQOliveira) - [Exequiel Rivas](https://github.com/erivas) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
9/0 Mathlib/LinearAlgebra/Projection.lean 1 5 ['PSchwahn', 'github-actions', 'kckennylau'] joelriou
assignee:joelriou
19-1436
19 days ago
54-79771
1 month ago
54-79896
54 days
26290 BeibeiX0
author:BeibeiX0
feat(Combinatorics/Enumerative/Stirling.lean): define Stirling numbers of the first and second kind This PR introduces the unsigned Stirling numbers of the first kind (`Nat.stirlingFirst`) and the Stirling numbers of the second kind (`Nat.stirlingSecond`), along with their defining recurrence relations and several fundamental properties. Main definitions: * `Nat.stirlingFirst n k`: counts the number of permutations of `n` elements with `k` disjoint cycles. * `Nat.stirlingSecond n k`: counts the number of ways to partition `n` elements into `k` non-empty subsets. Main results include: * Recurrence relations for both kinds. * Vanishing conditions when `n < k`. * Diagonal values like `stirlingFirst n n = 1`, `stirlingSecond n n = 1`. * Identities such as `stirlingFirst (n + 1) 1 = n!` and `stirlingSecond (n + 1) 1 = 1`. References: * [Stirling numbers of the first kind – Wikipedia](https://en.wikipedia.org/wiki/Stirling_numbers_of_the_first_kind) * [Stirling numbers of the second kind – Wikipedia](https://en.wikipedia.org/wiki/Stirling_numbers_of_the_second_kind) Co-authored-by: Beibei Xiong Co-authored-by: Shao Yu <18217703912@163.com> Co-authored-by: Weijie Jiang --- new-contributor t-combinatorics awaiting-author 167/0 Mathlib.lean,Mathlib/Combinatorics/Enumerative/Stirling.lean 2 42 ['AntoineChambert-Loir', 'BeibeiX0', 'b-mehta', 'eric-wieser', 'github-actions', 'kbuzzard'] nobody
18-65217
18 days ago
35-43081
1 month ago
4-65831
4 days
27245 rirarika
author:rirarika
MvPolynomial.Irreducible --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
88/0 Mathlib.lean,Mathlib/Algebra/MvPolynomial/Irreducible.lean 2 5 ['alreadydone', 'github-actions', 'mbkybky'] alreadydone
assignee:alreadydone
16-21660
16 days ago
33-62682
1 month ago
33-62725
33 days
26301 Ivan-Sergeyev
author:Ivan-Sergeyev
feat(LinearAlgebra/Matrix/Determinant/TotallyUnimodular): Empty matrices are totally unimodular. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
15/0 Mathlib/LinearAlgebra/Matrix/Determinant/TotallyUnimodular.lean 1 1 ['github-actions'] kim-em
assignee:kim-em
16-1419
16 days ago
58-42388
1 month ago
58-42431
58 days
26483 metakunt
author:metakunt
feat (RingTheory/RootsOfUnity/PrimitiveRoots) : Add equiv_primitiveRoots_of_coprimePow Adds equivalence of r-th primitive roots by a coprime e. t-ring-theory new-contributor awaiting-author 79/0 Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean 1 13 ['Citronhat', 'Ruben-VandeVelde', 'github-actions', 'metakunt'] nobody
15-56973
15 days ago
15-56973
15 days ago
28-81831
28 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/) new-contributor t-measure-probability awaiting-author 16/0 Mathlib/MeasureTheory/Integral/Bochner/Set.lean 1 5 ['RemyDegenne', 'github-actions', 'sgouezel'] nobody
15-50017
15 days ago
69-44043
2 months ago
0-11893
3 hours
27292 gasparattila
author:gasparattila
feat: asymptotic cone of a set This PR defines the asymptotic cone of a set in a normed affine space and proves its main properties. This is partial progress towards showing that an unbounded finite-dimensional convex set contains a ray. --- - [x] depends on: #27221 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge new-contributor t-analysis 453/0 Mathlib.lean,Mathlib/Analysis/Normed/Affine/AsymptoticCone.lean,Mathlib/Order/Filter/Map.lean 3 44 ['AntoineChambert-Loir', 'YaelDillies', 'gasparattila', 'github-actions', 'mathlib4-dependent-issues-bot'] YaelDillies
assignee:YaelDillies
15-27990
15 days ago
15-31275
15 days ago
29-48815
29 days
27284 FernandoChu
author:FernandoChu
Chore(CategoryTheory/MorphismProperty/MonoFactorization): Factor out mono factorizations Factored out `MonoFactorisations` from the `Images` file; also rename it to `MonoFactori*z*ations` so it's inline with the rest of Mathlib. I'm also sneaking in some very basic extremal epis results if you don't mind, these were meant to be used to prove ```lean instance (priority := 100) hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers [HasPullbacks C] [HasEqualizers C] : HasStrongEpiImages C ``` Which I noticed too late already had a proof; I think the proof has been improved anyways, it's just `infer_instance` now. new-contributor t-category-theory awaiting-author 493/326 Mathlib.lean,Mathlib/Algebra/Category/Grp/Images.lean,Mathlib/Algebra/Category/ModuleCat/Images.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/CategoryTheory/Category/Factorisation.lean,Mathlib/CategoryTheory/ConcreteCategory/EpiMono.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Images.lean,Mathlib/CategoryTheory/Limits/Shapes/ExtremalEpi.lean,Mathlib/CategoryTheory/Limits/Shapes/Images.lean,Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean,Mathlib/CategoryTheory/Limits/Shapes/StrongEpi.lean,Mathlib/CategoryTheory/Limits/Shapes/ZeroMorphisms.lean,Mathlib/CategoryTheory/Limits/Types/Images.lean,Mathlib/CategoryTheory/MorphismProperty/MonoFactorization.lean,Mathlib/CategoryTheory/Sites/Subsheaf.lean,Mathlib/Order/Category/NonemptyFinLinOrd.lean,scripts/nolints_prime_decls.txt 18 44 ['FernandoChu', 'Ruben-VandeVelde', 'bryangingechen', 'github-actions', 'joelriou', 'mathlib4-merge-conflict-bot', 'robin-carlier'] nobody
13-75963
13 days ago
13-75985
13 days ago
16-75072
16 days
27229 WilliamCoram
author:WilliamCoram
feat(GroupTheory/DoubleCoset): multiple lemmas From FLT --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory new-contributor 106/0 Mathlib/GroupTheory/DoubleCoset.lean 1 2 ['github-actions', 'mathlib4-merge-conflict-bot'] mariainesdff
assignee:mariainesdff
13-45299
13 days ago
13-46032
13 days ago
30-7597
30 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/) t-data new-contributor 28/0 Mathlib/Data/Rat/Lemmas.lean 1 14 ['github-actions', 'sinianluoye', 'themathqueen'] nobody
13-28014
13 days ago
15-1017
15 days ago
15-29071
15 days
26765 KiringYJ
author:KiringYJ
feat(MeasureTheory/PiSystem): add π-λ theorem and SetLike instance Add two small features to `MeasureTheory/PiSystem`: 1. SetLike instance `instance : SetLike (DynkinSystem α) (Set α)` This lets us write `s ⊆ d` and `t ∈ d` for a DynkinSystem `d`, matching usual mathlib style. 2. `DynkinSystem.pi_lambda` lemma Classical π‑λ theorem: if a π‑system `s` is contained in a Dynkin system `d`, every set measurable for `σ(s)` is also in `d`. Currently, mathlib exposes this result only indirectly (e.g. via `generateFrom_eq`). Although logically equivalent, it is not obvious at first glance that those lemmas are the π‑λ theorem. The new lemma states the result in its familiar textbook form, so users can recognise and cite it immediately. Both pieces are under 10 lines, term‑mode only, and do not modify existing APIs. No breaking changes. No dependencies. new-contributor t-measure-probability 13/0 Mathlib/MeasureTheory/PiSystem.lean 1 13 ['EtienneC30', 'KiringYJ', 'github-actions', 'ocfnash'] RemyDegenne
assignee:RemyDegenne
13-1427
13 days ago
20-37476
20 days ago
47-25320
47 days
27400 dleijnse
author:dleijnse
feat: define geometrically reduced algebras Define geometrically reduced algebras, and prove that if all finitely generated subalgebras of an algebra `A` are geometrically reduced, then `A` is geometrically reduced. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
111/0 Mathlib.lean,Mathlib/RingTheory/Nilpotent/GeometricallyReduced.lean 2 23 ['dleijnse', 'github-actions', 'kckennylau'] joelriou
assignee:joelriou
13-1422
13 days ago
28-20092
28 days ago
28-20137
28 days
26881 emo916math
author:emo916math
feat(Analysis/Calculus/Deriv/Star) A formula for `deriv (conj ∘ f ∘ conj)` Added a lemma that `deriv (conj ∘ f ∘ conj) = conj ∘ deriv f ∘ conj`, proved by cases on whether the derivative mathematically exists or not. This PR replaces [#26805](https://github.com/leanprover-community/mathlib4/pull/26805); see discussion there. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis awaiting-author 50/2 Mathlib/Analysis/Calculus/Deriv/Star.lean 1 15 ['emo916math', 'github-actions', 'j-loreaux', 'kckennylau'] j-loreaux
assignee:j-loreaux
12-35071
12 days ago
12-35071
12 days ago
31-70593
31 days
28115 bwangpj
author:bwangpj
feat(AlgebraicGeometry/EllipticCurve): reduction of elliptic curves Define the reduction of elliptic curves over the fraction field of a DVR, following Silverman. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebraic-geometry 230/1 Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean,Mathlib/RingTheory/Valuation/Discrete/Basic.lean 3 14 ['Multramate', 'bwangpj', 'github-actions', 'kbuzzard'] nobody
10-74384
10 days ago
12-65030
12 days ago
12-65075
12 days
28195 gasparattila
author:gasparattila
feat: separating a convex compact set and its neighborhood with a polytope --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis 26/1 Mathlib/Analysis/Normed/Affine/Convex.lean 1 2 ['FrankieNC', 'github-actions'] nobody
10-13299
10 days ago
10-17356
10 days ago
10-17410
10 days
28215 5hv5hvnk
author:5hv5hvnk
Draft PR, for 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/) new-contributor t-combinatorics 1216/0 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 5 1 ['github-actions'] nobody
9-74665
9 days ago
9-74671
9 days ago
9-74723
9 days
28119 JasperMS
author:JasperMS
feat(Data/Set/Pairwise): prove pairwise results for Chains, move `Set.pairwise_iUnion₂` Initiate a new file `Data/Set/Pairwise/Chain.lean` which makes some `Pairwise` results available to the `IsChain` predicate. In the process, move `Set.pairwise_iUnion₂` to group it with similar results. Perform some variable harmonization. Part of Carleson, original result by Edward van de Meent. Moves: - Set.pairwise_iUnion₂: from Data.Set.Lattice to Data.Set.Pairwise.Lattice --- This PR was discussed and advice was given in [#mathlib4 > Novice questions on style and structure](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Novice.20questions.20on.20style.20and.20structure/with/533462814). Many thanks to those who helped me out! Mathlib PRs are still new to me, so please point out where I can improve! [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) carleson t-data new-contributor 56/12 Mathlib.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/Data/Set/Pairwise/Chain.lean,Mathlib/Data/Set/Pairwise/Lattice.lean 4 11 ['JasperMS', 'Ruben-VandeVelde', 'edegeltje', 'github-actions'] nobody
9-72336
9 days ago
12-40632
12 days ago
12-41075
12 days
26901 5hv5hvnk
author:5hv5hvnk
feat: a simproc version of `compute_degree` Wrap `compute_degree` in a simproc for use by simp. Closes #22219. --- new-contributor awaiting-CI t-meta awaiting-author 198/0 Mathlib.lean,Mathlib/Tactic/Simproc/PolynomialDegree.lean,MathlibTest/polynomial_degree_simproc.lean 3 18 ['5hv5hvnk', 'YaelDillies', 'adomani', 'github-actions'] nobody
9-50391
9 days ago
9-50391
9 days ago
2-71043
2 days
27850 fyqing
author:fyqing
feat: 0-dimensional manifolds are discrete and countable This is the converse direction of the classification of 0-dimensional manifolds. The other direction was shown in #22105. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-differential-geometry awaiting-author 80/0 Mathlib.lean,Mathlib/Geometry/Manifold/ZeroDim.lean 2 13 ['fyqing', 'github-actions', 'grunweg', 'tb65536'] grunweg
assignee:grunweg
9-47999
9 days ago
19-8815
19 days ago
0-6418
1 hour
28077 ShreckYe
author:ShreckYe
feat(Data/Finset/Card): add some more Pigeonhole Principle theorems `exists_ne_map_eq_of_card_image_lt` and `not_injOn_of_card_image_lt` `exists_ne_map_eq_of_card_image_lt` is a special case of `exists_ne_map_eq_of_card_lt_of_maps_to` where `t` is `s.image f`, and `not_injOn_of_card_image_lt` is its variant using `Set.InjOn`. I ran into some cases where such theorems would save me some time. t-data new-contributor 10/0 Mathlib/Data/Finset/Card.lean 1 4 ['ShreckYe', 'github-actions', 'themathqueen'] nobody
9-42125
9 days ago
13-53907
13 days ago
13-53955
13 days
28045 ShreckYe
author:ShreckYe
feat(Data/Finset/Image): add `subset_univ_image_iff` This is a special case of `subset_image_iff`, which corresponds to `Set.subset_range_iff_exists_image_eq` for `Set`. t-data new-contributor 13/0 Mathlib/Data/Finset/Image.lean 1 2 ['github-actions', 'themathqueen'] nobody
9-42020
9 days ago
14-38812
14 days ago
14-38874
14 days
27090 TerenceGitH
author:TerenceGitH
feat(Archive): Kuratowski's closure-complement theorem (incl. sharpness) This is the outcome of a course project at Heidelberg University: https://matematiflo.github.io/CompAssistedMath2025/ feat(Topology): Kuratowski's closure-complement theorem "Topology/Kuratowski.lean" proves Kuratowski's closure-complement theorem, which says that if one repeatedly applies the closure and complement operators to a set in a topological space, at most 14 distinct sets can be obtained. feat(Archive/Examples): sharpness of Kuratowski's closure-complement theorem: "Examples/Kuratowski.lean" gives an example of a so-called "14-set" in ℝ, from which exactly 14 distinct sets can be obtained. Co-authored-by: Luis Sand @luiis-sd Co-authored-by: Leon Müller @leondieprobifi Co-authored-by: Junyan Xu @alreadydone --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology awaiting-author 368/0 Archive.lean,Archive/Examples/Kuratowski.lean,Archive/Kuratowski.lean 3 28 ['alreadydone', 'github-actions', 'grunweg', 'j-loreaux', 'wwylele'] j-loreaux
assignee:j-loreaux
9-20437
9 days ago
9-32080
9 days ago
27-74197
27 days
26089 WilliamCoram
author:WilliamCoram
feat: restricted power series form a ring We define restricted power series over a normed ring R, and show they form a ring when R has the ultrametric property This is an update of [#23338](https://github.com/leanprover-community/mathlib4/pull/23338) to meet new expectations of PRs from forks. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra t-number-theory
label:t-algebra$
182/0 Mathlib.lean,Mathlib/RingTheory/PowerSeries/Restricted.lean 2 7 ['CBirkbeck', 'WilliamCoram', 'github-actions'] riccardobrasca
assignee:riccardobrasca
9-1442
9 days ago
34-38737
1 month ago
53-28170
53 days
27000 gasparattila
author:gasparattila
feat(Analysis/Normed/Group/Quotient): isometric versions of isomorphisms This PR adds an isometric version of the third isomorphism theorem for groups and modules. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-analysis 49/2 Mathlib/Analysis/Normed/Group/Quotient.lean 1 1 ['github-actions'] urkud
assignee:urkud
9-1439
9 days ago
40-40566
1 month ago
40-40618
40 days
27815 BGuillemet
author:BGuillemet
feat(CategoryTheory/Limits/Shapes/Products): add limMapPi and sigmaMapColim Add the canonical morphism from a limit to the product over its objects. Prove that it is a monomorphism. Dually, add the canonical morphism to a colimit from the coproduc of its objects and prove that it is an epimorphism. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-category-theory 44/0 Mathlib/CategoryTheory/Limits/Shapes/Products.lean 1 1 ['github-actions'] jcommelin
assignee:jcommelin
9-1434
9 days ago
19-47536
19 days ago
19-47562
19 days
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 new-contributor t-combinatorics awaiting-author 14/0 Mathlib/Combinatorics/SimpleGraph/Subgraph.lean 1 3 ['b-mehta', 'github-actions', 'xcloudyunx'] b-mehta
assignee:b-mehta
8-75786
8 days ago
9-3466
9 days ago
25-83942
25 days
28226 ShreckYe
author:ShreckYe
feat(Data/Finset): `Multiset.eq_of_le_of_card_eq` and `Finset.eq_of_subet_of_card_eq` As the conditions `s ⊆ t` for `Finset` and `s ≤ t` for `Multiset` both imply `card s ≤ card t`, the conditions `card t ≤ card s` in both `Finset.eq_of_subset_of_card_le` and `Multiset.eq_of_le_of_card_le` can be specialized to `card s = card t`, and due to this I'd argue `card s = card t` might be more common than `card t ≤ card s` in some cases. A similar theorem `Sublist.eq_of_length` for `Sublist` is already available in Lean. Adding these two theorems can aid proof search in such cases. t-data new-contributor easy 6/0 Mathlib/Data/Finset/Card.lean,Mathlib/Data/Multiset/Defs.lean 2 3 ['Ruben-VandeVelde', 'ShreckYe', 'github-actions'] nobody
8-62550
8 days ago
9-56242
9 days ago
9-56295
9 days
27261 Sebi-Kumar
author:Sebi-Kumar
feat(Topology): add definition for subpaths Define subpaths as restrictions of paths to subintervals, reparameterized to have domain `[0, 1]` and possibly with a reverse of direction. Prove their basic properties. This serves as an alternative to `Path.truncate` which is useful for the explicit construction of certain homotopies, in particular regarding the concatenation of subpaths. --- To provide additional context, this is my first time contributing to Mathlib, and I am doing so as a part of the Fields Undergraduate Summer Research Program hosted at Western University. My intention for this file is for it to be used when proving that the fundamental group of the sphere is trivial (following the proof from Hatcher's "Algebraic Topology"). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology 153/0 Mathlib.lean,Mathlib/Topology/Subpath.lean 2 9 ['FrankieNC', 'Sebi-Kumar', 'github-actions', 'themathqueen', 'wwylele'] ADedecker
assignee:ADedecker
8-37378
8 days ago
33-25847
1 month ago
33-25894
33 days
28292 bwangpj
author:bwangpj
feat(Geometry/Manifold/ContMDiff): add product lemmas for `ContMDiff` Add product lemmas for `ContMDiff`. These are analogous to the corresponding lemmas for `Continuous` in [`Mathlib.Topology.Constructions.SumProd`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Constructions/SumProd.html#ContinuousAt.comp%E2%82%82). 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/) new-contributor 42/0 Mathlib/Geometry/Manifold/ContMDiff/Constructions.lean 1 1 ['github-actions'] nobody
7-72553
7 days ago
8-39258
8 days ago
8-39251
8 days
27552 Equilibris
author:Equilibris
refactor: make universe levels visible in typevec This will be needed to allow `M.corec` to be generic across universes --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 16/10 Mathlib/Data/TypeVec.lean 1 9 ['Equilibris', 'eric-wieser', 'github-actions', 'plp127'] nobody
7-68981
7 days ago
8-21400
8 days ago
24-33920
24 days
28150 Equilibris
author:Equilibris
chore: clean up proofs typevec proofs While adding variable universe corecs I found a lot of theorems in typevec that could do with a bit of a clean-up --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 24/26 Mathlib/Data/TypeVec.lean 1 6 ['Equilibris', 'alexkeizer', 'github-actions'] nobody
7-61029
7 days ago
7-61029
7 days ago
11-56627
11 days
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/) will-close-soon new-contributor t-analysis awaiting-author WIP help-wanted 411/0 Mathlib/PlaceHolder/ToeplitzHausdorff.lean,Mathlib/PlaceHolder/ToeplitzHausdorff_v2.lean 2 11 ['faenuccio', 'ggranberry', 'github-actions'] faenuccio
assignee:faenuccio
7-51910
7 days ago
7-52113
7 days ago
4-24257
4 days
28185 Sebi-Kumar
author:Sebi-Kumar
feat(Topology/Path): add theorem about casting with rfl Prove the trivial result `p.cast rfl rfl = p` for a path `p`, which serves as a useful result for the simplifier to know. Suggested by Aaron Liu at the discussion [#Is there code for X? > Dealing with `Path.cast`](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Dealing.20with.20.60Path.2Ecast.60). --- To provide additional context, I am relatively new when it comes to contributing to Mathlib, and I am doing so as a part of the Fields Undergraduate Summer Research Program hosted at the University of Western Ontario under the supervision of Chris Kapulkin and Daniel Carranza. My goal is to contribute that the `n`-sphere is simply connected for `n > 1`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology easy 2/0 Mathlib/Topology/Path.lean 1 1 ['github-actions', 'kckennylau', 'plp127'] nobody
7-42014
7 days ago
7-42014
7 days ago
10-34138
10 days
27934 JasperMS
author:JasperMS
feat(Order): no basic lemmas and some SuccOrder `biUnion` lemmas Documents that not all possible interval inclusion lemmas will be added to `Basic.lean`. Also proves some `biUnion` results about `SuccOrder`. ------- See also [Zulip: #mathlib4 > New contributor: #27934 (Order/Interval)](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/New.20contributor.3A.20.2327934.20.28Order.2FInterval.29). This is my first attempt at a Mathlib PR, I have worked on the [Carleson project](https://github.com/fpvandoorn/carleson) so far. I have tried to find natural homes for these results, and worked to make them as general as possible. Your feedback is welcome! [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) carleson new-contributor t-order 40/10 Mathlib/Order/Interval/Set/Basic.lean,Mathlib/Order/SuccPred/Archimedean.lean,Mathlib/Order/SuccPred/IntervalSucc.lean 3 10 ['JasperMS', 'YaelDillies', 'github-actions'] YaelDillies
assignee:YaelDillies
7-21417
7 days ago
8-62583
8 days ago
16-52935
16 days
26156 oliver-butterley
author:oliver-butterley
feat(MeasureTheory.VectorMeasure) : add a definition of total variation for VectorMeasure This PR adds variation for any `VectorMeasure` using a supremum definition. Currently mathlib has `TotalVariation` defined for a signed measure using the Hahn-Jordan decomposition, but this doesn't generalise. Motivation: generally this is an important concept but specifically as a step for proving RMK in the complex case which in turn is a step to prove the spectral theorem. Co-authored-by: @yoh-tanimoto This PR was migrated from #25442. PR divided into smaller pieces, this is just the definition without additional lemmas. PRs adding further results related to variation are: * #26160 * #26165 * #26168 (shows that for `SignedMeasures` the two definitions of variation coincide) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability awaiting-author 354/0 Mathlib.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Defs.lean 2 27 ['EtienneC30', 'github-actions'] EtienneC30
assignee:EtienneC30
0-44271
12 hours ago
20-33801
20 days ago
42-9361
42 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/) t-data new-contributor merge-conflict 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
366-39162
1 year ago
371-55404
1 year ago
54-52408
54 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. t-data new-contributor merge-conflict please-adopt 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', 'leanprover-community-mathlib4-bot', 'urkud', 'vihdzp'] YaelDillies
assignee:YaelDillies
294-15001
9 months ago
320-70192
10 months ago
12-48560
12 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/) new-contributor t-order t-algebra merge-conflict
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
287-71967
9 months ago
287-71967
9 months 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/) new-contributor t-logic merge-conflict awaiting-author 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
285-28088
9 months ago
285-28088
9 months 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) new-contributor t-logic merge-conflict awaiting-author 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
280-66920
9 months ago
unknown
unknown
19125 yhtq
author:yhtq
feat: add theorems to transfer `IsGalois` between pairs of fraction rings feat: add theorems to transfer `IsGalois` between pairs of fraction rings. - [x] depends on: #18404 - [x] depends on: #19124 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra merge-conflict
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
251-2937
8 months ago
257-38360
8 months ago
0-4534
1 hour
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/) new-contributor t-topology merge-conflict awaiting-author 27/0 Mathlib/Topology/Order/DenselyOrdered.lean 1 8 ['github-actions', 'vihdzp'] nobody
217-24949
7 months ago
217-24949
7 months 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 new-contributor t-combinatorics merge-conflict awaiting-author 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
216-44035
7 months ago
216-44035
7 months ago
9-13962
9 days
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/) t-computability new-contributor merge-conflict awaiting-author 186/0 Mathlib.lean,Mathlib/Computability/Timed/InsertionSort.lean,Mathlib/Computability/Timed/Merge.lean 3 2 ['github-actions', 'trivial1711'] nobody
216-9954
7 months ago
216-9954
7 months ago
33-11262
33 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/) new-contributor t-algebra merge-conflict awaiting-author
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
211-31613
6 months ago
211-31614
6 months ago
36-2255
36 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/) new-contributor t-measure-probability merge-conflict 203/40 Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSpace.lean 2 1 ['github-actions'] nobody
204-48961
6 months ago
204-48961
6 months ago
27-43617
27 days
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/) new-contributor t-measure-probability merge-conflict awaiting-author 49/0 Mathlib/MeasureTheory/Function/L1Space.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral.lean,Mathlib/MeasureTheory/Integral/SetIntegral.lean 4 30 ['EtienneC30', 'arulandu', 'github-actions', 'loefflerd'] nobody
203-23394
6 months ago
203-23394
6 months ago
9-73631
9 days
14799 luigi-massacci
author:luigi-massacci
feat(Analysis/MeanInequalities): Weighted QM-AM inequality The inequality between the quadratic and arithmetic mean as a consequence of Jensen's inequality. Weighted version for positive real valued functions from a `Finset`. Fix notation for sums, switching to `∈` in place of `in`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis easy merge-conflict awaiting-author 26/3 Mathlib/Analysis/MeanInequalities.lean 1 8 ['YaelDillies', 'acmepjz', 'github-actions', 'luigi-massacci', 'vihdzp'] nobody
202-16565
6 months ago
202-16565
6 months ago
0-38862
10 hours
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/) t-computability new-contributor merge-conflict awaiting-author 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
187-40370
6 months ago
187-40370
6 months ago
37-29014
37 days
21269 CharredLee
author:CharredLee
(WIP) feat (CategoryTheory/Topos): Add topos theory content 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/) new-contributor t-category-theory merge-conflict awaiting-author WIP 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 ['CharredLee', 'gio256', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot'] nobody
177-6642
5 months ago
177-6642
5 months ago
0-13879
3 hours
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) ``` new-contributor t-algebra t-category-theory merge-conflict
label:t-algebra$
47/8 Mathlib/RepresentationTheory/FDRep.lean 1 19 ['github-actions', 'grhkm21', 'joelriou', 'kim-em', 'mathlib-bors'] nobody
173-48968
5 months ago
173-48968
5 months ago
125-12755
125 days
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/) new-contributor t-algebra merge-conflict awaiting-author
label:t-algebra$
91/0 Mathlib.lean,Mathlib/GroupTheory/SpecificGroups/BraidGroup/Basic.lean 2 22 ['github-actions', 'hannahfechtner', 'jcommelin', 'joelriou'] nobody
172-33279
5 months ago
172-33279
5 months ago
15-40648
15 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/) new-contributor t-topology merge-conflict 285/1 Mathlib.lean,Mathlib/Topology/ContinuousMap/MvPolynomial.lean,Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean 3 1 ['github-actions'] nobody
168-34982
5 months ago
168-34982
5 months 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/) new-contributor t-analysis merge-conflict awaiting-author 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
160-30808
5 months ago
160-30808
5 months 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 new-contributor merge-conflict awaiting-author enhancement 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 n/a ['chrisflav', 'eric-wieser', 'github-actions', 'j-loreaux', 'markimunro'] nobody
141-66207
4 months ago
unknown
unknown
15212 victorliu5296
author:victorliu5296
feat: Add fundamental theorem of calculus-2 for Banach spaces add the Mean Value Theorem for Banach spaces to the library and include reference for the theorem statement This theorem states that if `f : X → Y` is differentiable along the line segment from `a` to `b`, then the change in `f` equals the integral of its derivative along this path. This extends the mean value theorem to Banach spaces. This can be used for the eventual proof of the Newton-Kantorovich theorem with 1 constant contained inside the added reference. Here is the discussion on Zulipchat: https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Contributing.20FTC-2.20for.20Banach.20spaces new-contributor t-measure-probability t-analysis merge-conflict awaiting-author 60/1 Mathlib/MeasureTheory/Integral/FundThmCalculus.lean 1 3 ['github-actions', 'hrmacbeth', 'victorliu5296'] nobody
136-61196
4 months ago
136-61196
4 months ago
51-85104
51 days
22701 ctchou
author:ctchou
feat(Combinatorics): the Katona circle method This file formalizes the Katona circle method. From PlainCombi (LeanCamCombi): https://github.com/YaelDillies/LeanCamCombi/blob/master/LeanCamCombi/PlainCombi/KatonaCircle.lean Co-authored-by: Yaël Dillies new-contributor t-combinatorics merge-conflict 121/0 Mathlib.lean,Mathlib/Combinatorics/KatonaCircle.lean 2 1 ['github-actions'] nobody
136-10751
4 months ago
136-10751
4 months ago
30-8337
30 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/) new-contributor t-category-theory merge-conflict 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
133-43384
4 months ago
133-43385
4 months ago
58-20339
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/) new-contributor t-topology merge-conflict awaiting-author 281/1 Mathlib.lean,Mathlib/Topology/Covering/Basic.lean,Mathlib/Topology/Covering/Lift.lean 3 9 ['alreadydone', 'github-actions', 'grunweg', 'vbeffara'] nobody
132-46112
4 months ago
132-46112
4 months ago
55-53553
55 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/) new-contributor t-analysis merge-conflict 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
125-17310
4 months ago
125-17310
4 months ago
25-60481
25 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/) new-contributor t-algebra merge-conflict awaiting-author
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
125-13442
4 months ago
125-13442
4 months ago
13-60072
13 days
13685 niklasmohrin
author:niklasmohrin
feat(Combinatorics): add definitions for network flows Although we might not have any super-interesting results ready for mathlib yet, I feel that the definitions from this commit are already mature enough to include. These definitions are ported from last semester's work we did at https://github.com/niklasmohrin/lean-seminar-2023 and I have put some time in to refactor our code to `Int` and now to any parameter `R`. In the linked repository, there is some more stuff that I can send in. One obstacle without integer values is that it is not clear why a maximum flow would exist. I think the best way to tackle this would be to prove max-flow-min-cut theorem and implement the Ford-Fulkerson algorithm. It has been pointed out on Zulip that there is an [Isabelle formalization of the Edmonds Karp Algorithm](https://www.isa-afp.org/entries/EdmondsKarp_Maxflow.html). I feel that the definitions are pretty solid and it makes sense to include them, even if just for unifying definitions across downstream projects. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics merge-conflict awaiting-author 244/0 Mathlib.lean,Mathlib/Combinatorics/Flow/Basic.lean,docs/references.bib 3 57 ['Shreyas4991', 'YaelDillies', 'b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'madvorak', 'niklasmohrin'] nobody
98-2758
3 months ago
98-2760
3 months ago
86-21072
86 days
15651 TpmKranz
author:TpmKranz
feat(Computability/NFA): operations for Thompson's construction Lays the groundwork for a proof of equivalence of RE and NFA, w.r.t. described language. Actual connection to REs comes later, after the groundwork for the opposite direction has been laid. Third chunk of #12648 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-zulip t-computability new-contributor merge-conflict awaiting-author 307/5 Mathlib/Computability/NFA.lean 1 15 ['TpmKranz', 'YaelDillies', 'dupuisf', 'github-actions', 'leanprover-community-bot-assistant', 'meithecatte'] nobody
93-33166
3 months ago
93-33167
3 months ago
45-84611
45 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/) awaiting-zulip t-computability new-contributor merge-conflict awaiting-author 218/2 Mathlib/Computability/Language.lean,Mathlib/Computability/NFA.lean 2 90 ['EtienneC30', 'b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'meithecatte', 'rudynicolop'] EtienneC30
assignee:EtienneC30
93-32240
3 months ago
93-32242
3 months ago
39-67601
39 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/) large-import new-contributor t-topology merge-conflict 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
85-28480
2 months ago
85-28482
2 months 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/) new-contributor t-algebra merge-conflict please-adopt awaiting-author
label:t-algebra$
78/0 Mathlib/LinearAlgebra/UnitaryGroup.lean 1 8 ['chrisflav', 'jcommelin', 'leanprover-community-bot-assistant'] nobody
75-433
2 months ago
75-435
2 months ago
9-22007
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/) new-contributor t-meta merge-conflict awaiting-author 171/48 Mathlib/Tactic/Polyrith.lean,scripts/polyrith_sage.py 2 16 ['eric-wieser', 'github-actions', 'hanwenzhu', 'kim-em', 'miguelmarco', 'mkoeppe'] nobody
67-79386
2 months ago
187-57348
6 months ago
27-65384
27 days
19796 peakpoint
author:peakpoint
feat: L'Hopital's rule from within a convex set --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis merge-conflict 190/19 Mathlib/Algebra/Polynomial/Module/Basic.lean,Mathlib/Analysis/Calculus/LHopital.lean,Mathlib/Analysis/Convex/Topology.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Order/Interval/Set/Basic.lean 5 15 ['RemyDegenne', 'github-actions', 'leanprover-community-bot-assistant', 'peakpoint', 'sgouezel'] sgouezel
assignee:sgouezel
46-77184
1 month ago
46-77184
1 month ago
80-57750
80 days
23637 kirilvino
author:kirilvino
feat(Combinatorics/SimpleGraph): every circuit contains a cycle proof circuit to cycle proof --- This PR uses the bypass definition in a new function for closed walks that removes repeated vertices. Then proves if the closed walk given is a circuit, that the result from this function is a cycle. This is then packaged up similar to the existing ToPath definition, creating a way of transforming a circuit into a cycle. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics merge-conflict awaiting-author 26/0 Mathlib/Combinatorics/SimpleGraph/Path.lean 1 9 ['b-mehta', 'github-actions', 'kirilvino', 'leanprover-community-bot-assistant'] nobody
46-76795
1 month ago
46-76796
1 month ago
13-19789
13 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/) awaiting-zulip new-contributor t-algebraic-geometry merge-conflict 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
46-76147
1 month ago
46-76148
1 month ago
6-51040
6 days
25283 Brian-Nugent
author:Brian-Nugent
feat: regular local rings Adds regular local rings and proves they are integral domains. --- - [ ] depends on: #25280 - [ ] depends on: #25282 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra merge-conflict
label:t-algebra$
871/0 .vscode/settings.json,Mathlib.lean,Mathlib/RingTheory/EmbeddingDimension.lean,Mathlib/RingTheory/LocalRingDimension.lean,Mathlib/RingTheory/RegularLocalRing.lean 5 6 ['Brian-Nugent', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'yuanyi-350'] nobody
46-76143
1 month ago
46-76143
1 month ago
11-84822
11 days
26178 ppls-nd-prs
author:ppls-nd-prs
feat(CategoryTheory/Limits): Fubini for products We show that the product of products is a product indexed by the sigma type. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-category-theory merge-conflict awaiting-author 17/0 Mathlib/CategoryTheory/Limits/Shapes/Products.lean 1 5 ['chrisflav', 'github-actions', 'leanprover-community-bot-assistant', 'ppls-nd-prs', 'robin-carlier'] robin-carlier
assignee:robin-carlier
46-73837
1 month ago
46-73838
1 month ago
0-47665
13 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/) new-contributor t-category-theory merge-conflict awaiting-author 33/0 Mathlib/CategoryTheory/Limits/Types/Colimits.lean 1 5 ['github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'robertmaxton42'] nobody
42-83959
1 month ago
42-83960
1 month ago
8-28043
8 days
23949 Louddy
author:Louddy
feat: SkewPolynomial # Univariate skew polynomials Skew polynomials are represented as `SkewMonoidAlgebra R (Multiplicative ℕ)`, where `R` is usually at least a Semiring. In this file, we define `SkewPolynomial` and provide basic instances. This is currently missing the definition of `coeff` and `single` as they require a more advance interface of `SkewMonoidAlgebra` which is still WIP (See TODOs in file). Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)> --- - [x] depends on: #22078 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-algebra merge-conflict
label:t-algebra$
600/42 Mathlib.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/Algebra/SkewPolynomial/Basic.lean,docs/references.bib 4 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
42-45419
1 month ago
42-45421
1 month ago
0-2389
39 minutes
10541 Louddy
author:Louddy
feat(Algebra/SkewMonoidAlgebra/Basic): add SkewMonoidAlgebra # Skew Monoid algebras This file presents a skewed version of `Mathlib.Algebra.MonoidAlgebra.Basic`. ## Definition We define `SkewMonoidAlgebra k G := G →₀ k` attached with a skewed convolution product. Here, the product of two elements `f g : SkewMonoidAlgebra k G` is the finitely supported function whose value at `a` is the sum of `f x * (x • g y)` over all pairs `x, y` such that `x * y = a`. This will be used in a later PR to define skew polynomial rings. Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)> --- - [x] depends on: #15878 - [x] depends on: #19084 - [x] depends on: #22078 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra merge-conflict WIP
label:t-algebra$
1624/0 Mathlib.lean,Mathlib/Algebra/Group/InjSurj.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/Algebra/SkewMonoidAlgebra/Lift.lean 4 105 ['AntoineChambert-Loir', 'Louddy', 'YaelDillies', 'eric-wieser', 'fpvandoorn', 'github-actions', 'mariainesdff', 'mathlib4-dependent-issues-bot', 'mattrobball'] AntoineChambert-Loir
assignee:AntoineChambert-Loir
42-45225
1 month ago
42-45227
1 month ago
179-12934
179 days
20029 FrederickPu
author:FrederickPu
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/) new-contributor t-meta merge-conflict WIP 34/4 Mathlib/Tactic/Simps/Basic.lean 1 11 ['FrederickPu', 'YaelDillies', 'fpvandoorn', 'github-actions', 'leanprover-community-bot-assistant'] nobody
26-17172
26 days ago
26-17173
26 days ago
0-34081
9 hours
27399 MoritzBeroRoos
author:MoritzBeroRoos
feat: 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/) new-contributor merge-conflict 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
20-48548
20 days ago
20-48548
20 days ago
7-62439
7 days
27403 MoritzBeroRoos
author:MoritzBeroRoos
feat: 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/) new-contributor merge-conflict 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 4 ['eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] nobody
20-48547
20 days ago
20-48547
20 days ago
7-54661
7 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/) t-algebraic-topology new-contributor merge-conflict WIP 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
20-48331
20 days ago
20-48331
20 days ago
1-20125
1 day
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 new-contributor t-category-theory merge-conflict WIP 720/0 Mathlib.lean,Mathlib/AlgebraicTopology/AugmentedSimplexCategory.lean,Mathlib/AlgebraicTopology/SimplicialObject.lean,Mathlib/Order/Category/FinLinOrd.lean 4 5 ['TwoFX', 'YaelDillies', 'joelriou', 'jstoobysmith'] nobody
20-48287
20 days ago
20-48287
20 days ago
7-63215
7 days
9935 jstoobysmith
author:jstoobysmith
feat(AlgebraicTopology): add constructors for horns Added a function that given a simplicial set S and a set of n-1 simplexes satisfying certain conditions, creates a morphism in SSet from a n horn to a simplicial set S. Included also are a series of lemmas and definitions used in this construction. In particular I define a function that takes a m-simplex in a horn, and returns the smallest 'index' of face it factors through, and give a series of lemmas related to this. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology new-contributor merge-conflict awaiting-author 462/2 Mathlib/AlgebraicTopology/SimplicialSet.lean 1 15 ['YaelDillies', 'jcommelin', 'jstoobysmith', 'kim-em', 'linesthatinterlace'] nobody
20-47688
20 days ago
20-47688
20 days ago
14-58814
14 days
25485 VTrelat
author:VTrelat
feat(SetTheory/ZFC/Naturals): define natural numbers in ZFC Extend the model of ZFC with naturals: - define a set `Nat` of naturals following the usual construction (∅, {∅}, {∅, {∅}}, ...) - define a proper type `ZFNat` representing naturals - add theorems on usual algebraic properties of naturals - provide a recursor and induction schemes to define/prove by induction --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depend on: #25483 t-set-theory new-contributor merge-conflict 2095/0 Mathlib/Data/Set/Prod.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Booleans.lean,Mathlib/SetTheory/ZFC/Naturals.lean 4 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
16-54508
16 days ago
16-54508
16 days ago
29-51653
29 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/) new-contributor t-meta merge-conflict 17/5 Mathlib/Tactic/ComputeDegree.lean,MathlibTest/ComputeDegree.lean 2 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
16-54478
16 days ago
16-54478
16 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/) t-ring-theory new-contributor merge-conflict 308/0 Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/RingTheory/Isotypic.lean,Mathlib/RingTheory/SimpleModule.lean 3 1 ['github-actions'] nobody
15-56499
15 days ago
15-56499
15 days ago
20-16585
20 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/) new-contributor t-category-theory merge-conflict awaiting-author 325/70 Mathlib.lean,Mathlib/CategoryTheory/Closed/PowerObjects.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Equalizer.lean,Mathlib/CategoryTheory/Topos/Basic.lean,Mathlib/CategoryTheory/Topos/Classifier.lean 7 12 ['fweth', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] nobody
15-5185
15 days ago
15-5185
15 days ago
19-58587
19 days
27378 peakpoint
author:peakpoint
refactor(Geometry/Euclidean/Projection): redefine projection and reflection for affine subspaces This PR continues the work from #25578. Original PR: https://github.com/leanprover-community/mathlib4/pull/25578 new-contributor t-euclidean-geometry merge-conflict 316/317 Mathlib/Analysis/Normed/Affine/ContinuousAffineMap.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Geometry/Euclidean/Circumcenter.lean,Mathlib/Geometry/Euclidean/Projection.lean 4 7 ['github-actions', 'jsm28', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot', 'peakpoint'] nobody
12-30641
12 days ago
12-30642
12 days ago
15-31164
15 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/) large-import new-contributor t-number-theory 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
10-60040
10 days ago
10-60040
10 days ago
9-59130
9 days
25483 VTrelat
author:VTrelat
chore(Data/Set/Prod, SetTheory/ZFC/Basic): add theorem prod_subset_of_prod and extend ZFC model Required by @eric-wieser in #24281 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor merge-conflict 103/0 Mathlib/Data/Set/Prod.lean,Mathlib/SetTheory/ZFC/Basic.lean 2 10 ['Ruben-VandeVelde', 'VTrelat', 'github-actions', 'leanprover-community-bot-assistant'] nobody
7-41830
7 days ago
46-76137
1 month ago
29-56208
29 days
21603 imbrem
author:imbrem
feat(CategoryTheory/ChosenFiniteProducts): add basic ChosenFiniteCoproducts class 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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-category-theory merge-conflict awaiting-author 261/2 Mathlib/CategoryTheory/ChosenFiniteProducts.lean 1 18 ['TwoFX', 'YaelDillies', 'github-actions', 'grunweg', 'imbrem', 'joelriou', 'leanprover-community-bot-assistant', 'robin-carlier'] TwoFX and joelriou
assignee:TwoFX assignee:joelriou
0-10079
2 hours ago
97-21757
3 months ago
89-21170
89 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/) new-contributor t-algebra merge-conflict blocked-by-other-PR
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
330-25056
10 months ago
330-25056
10 months ago
0-0
0 seconds
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/) new-contributor t-logic merge-conflict blocked-by-other-PR 415/7 Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Syntax.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
322-21034
10 months ago
322-21034
10 months ago
0-1045
17 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/) new-contributor t-logic merge-conflict blocked-by-other-PR 300/7 Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Syntax.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
322-21034
10 months ago
322-21035
10 months ago
0-1299
21 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/) new-contributor t-logic merge-conflict blocked-by-other-PR 525/7 Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Syntax.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
322-21033
10 months ago
322-21033
10 months ago
0-613
10 minutes
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/) t-data new-contributor merge-conflict awaiting-author blocked-by-other-PR 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
304-43691
10 months ago
304-43691
10 months ago
6-8380
6 days
11156 smorel394
author:smorel394
feat(LinearAlgebra/{TensorProductBasis,Dual}): basis and dual of `PiTensorProduct` Construct a basis of a `PiTensorProduct` of modules given bases of the modules, and relationship between the dual of a `PiTensorProduct` and the `PiTensorProduct` of the duals. Main results: * `Basis.piTensorProduct` (in `LinearAlgebra/TensorProductBasis.lean`): Let `ι` be a `Fintype` and `M` be a family of modules indexed by `ι`. If `b i : κ i → M i` is a basis for every `i` in `ι`, then `fun (p : Π i, κ i) ↦ ⨂ₜ[R] i, b i (p i)` is a basis of `⨂[R] i, M i`. * `PiTensorProduct.dualDistrib` (in `LinearAlgebra/Dual.lean`): The canonical linear map from `⨂[R] i, Dual R (M i)` to `Dual R (⨂[R] i, M i)`, sending `⨂ₜ[R] i, f i` to the composition of `PiTensorProduct.map f` with the linear equivalence `⨂[R] i, R →ₗ R` given by multiplication. * `PiTensorProduct.dualDistribEquiv` (also in `LinearAlgebra/Dual.lean`): A linear equivalence between `⨂[R] i, Dual R (M i)` and `Dual R (⨂[R] i, M i)` when all `M i` are finite free modules. If `f : (i : ι) → Dual R (M i)`, then this equivalence sends `⨂ₜ[R] i, f i` to the composition of `PiTensorProduct.map f` with the natural isomorphism `⨂[R] i, R ≃ R` given by multiplication. - [ ] depends on: #11155 (currently used as the base branch; do not merge without switching it back to `master`!) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-algebra merge-conflict please-adopt blocked-by-other-PR
label:t-algebra$
166/2 Mathlib/LinearAlgebra/DirectSum/Finsupp.lean,Mathlib/LinearAlgebra/Dual.lean,Mathlib/LinearAlgebra/TensorProduct/Basis.lean 3 4 ['eric-wieser', 'github-actions', 'leanprover-community-mathlib4-bot'] nobody
233-41768
7 months ago
278-57396
9 months ago
0-0
0 seconds
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 new-contributor t-combinatorics merge-conflict blocked-by-other-PR 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', 'leanprover-community-mathlib4-bot'] YaelDillies
assignee:YaelDillies
216-44035
7 months ago
216-44035
7 months ago
0-1791
29 minutes
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/) large-import new-contributor t-topology merge-conflict awaiting-author blocked-by-other-PR 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
192-6271
6 months ago
192-6271
6 months ago
39-21495
39 days
14060 YnirPaz
author:YnirPaz
feat(SetTheory/Ordinal/Clubs): define club sets and prove basic properties Create a file where club sets are defined and their basic properties are proven. I also created a new recursion principle for ordinals, bounded recursion. --- - [ ] depends on: #19189 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-logic merge-conflict blocked-by-other-PR 315/3 Mathlib.lean,Mathlib/Order/SuccPred/Limit.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Club.lean,Mathlib/SetTheory/Ordinal/Topology.lean 6 93 ['YaelDillies', 'YnirPaz', 'alreadydone', 'dupuisf', 'github-actions', 'mathlib4-dependent-issues-bot', 'vihdzp', 'zeramorphic'] nobody
169-77792
5 months ago
169-77792
5 months ago
92-44198
92 days
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/) awaiting-zulip t-computability new-contributor merge-conflict blocked-by-other-PR 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
107-10560
3 months ago
107-10565
3 months ago
0-179
2 minutes
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/) new-contributor t-algebra blocked-by-other-PR
label:t-algebra$
750/14 Mathlib.lean,Mathlib/GroupTheory/GroupExtension/Abelian.lean,Mathlib/GroupTheory/GroupExtension/Defs.lean,docs/references.bib 4 4 ['YaelDillies', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot'] nobody
48-32349
1 month ago
48-32349
1 month ago
43-26015
43 days
25488 VTrelat
author:VTrelat
feat(SetTheory/ZFC/Rationals): define rationals in ZFC Extend the model of ZFC with rationals: we define a proper type `ZFRat` representing integers based on pairs of `ZFInt` (enforcing the res to be nonzero) and following the usual construction of rationals. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #25483 - [ ] depends on: #25485 - [ ] depends on: #25486 new-contributor merge-conflict blocked-by-other-PR 2070/0 Mathlib/Data/Set/Prod.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Booleans.lean,Mathlib/SetTheory/ZFC/Integers.lean,Mathlib/SetTheory/ZFC/Rationals.lean 5 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
46-76133
1 month ago
46-76133
1 month ago
0-1808
30 minutes
26413 michaellee94
author:michaellee94
feat(Analysis/ODE/MaximalSolution): Existence of maximal solutions for ODE 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 - [ ] depends on: #26534 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis merge-conflict awaiting-author blocked-by-other-PR 746/1 Mathlib.lean,Mathlib/Analysis/ODE/MaximalSolution.lean,docs/undergrad.yaml 3 13 ['github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'winstonyin'] nobody
46-73697
1 month ago
46-73697
1 month ago
0-5139
1 hour
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 `variation μ = μ`. Co-authored-by: @yoh-tanimoto - [ ] depends on: #26160 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability blocked-by-other-PR 467/0 Mathlib.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Defs.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Lemmas.lean 3 1 ['github-actions'] nobody
46-57757
1 month ago
46-58313
1 month ago
15-66224
15 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 - [ ] depends on: #26165 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability blocked-by-other-PR 680/0 Mathlib.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Defs.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Equiv.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Lemmas.lean 4 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
46-57757
1 month ago
46-58286
1 month ago
15-65390
15 days
26160 oliver-butterley
author:oliver-butterley
feat(MeasureTheory.VectorMeasure): add several lemmas which characterize variation Add the following lemmas concerning variation of a VectorMeasure: * `norm_measure_le_variation`: `‖μ E‖ₑ ≤ variation μ E`. * `variation_neg`: `(-μ).variation = μ.variation`. * `variation_zero`: `(0 : VectorMeasure X V).variation = 0`. * `absolutelyContinuous` Co-authored-by: @yoh-tanimoto - [ ] depends on: #26156 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability blocked-by-other-PR 432/0 Mathlib.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Defs.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Lemmas.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
46-57756
1 month ago
46-58365
1 month ago
15-68781
15 days
10006 jstoobysmith
author:jstoobysmith
feat(AlgebraicTopology): homotopy in quasicategories Defined a homotopy between two 1-simplicies in a quasicategories, and proved the property of being homotopic forms an equivalence relation. --- - [ ] depends on: #9935 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology new-contributor merge-conflict awaiting-author blocked-by-other-PR 898/1 Mathlib.lean,Mathlib/AlgebraicTopology/Homotopy.lean,Mathlib/AlgebraicTopology/SimplexCategory.lean,Mathlib/AlgebraicTopology/SimplicialSet.lean 4 3 ['joelriou', 'leanprover-community-mathlib4-bot'] nobody
20-47948
20 days ago
20-47948
20 days ago
0-0
0 seconds
27217 ctchou
author:ctchou
feat(Combinatorics/HypergraphRamsey): Ramsey's theorem for hypergraphs We prove Ramsey's theorem for infinite hypergraphs: for any colouring of the k-subsets of an infinite set S with a finite set of colours, there is an infinite subset T of S whose k-subsets all have the same colour. The finite versions will follow from compactness techniques, but aren't included here. (#12273 is the first step for this). The proof encodes k-subsets as order-embeddings from Fin k rather than as Finsets, as this makes things more convenient, and should extend better to generalizations like the canonical Ramsey theorem. This requires a small amount of API to be added, including some simple instances for `OrderEmbedding`. We also require a result saying that there is a list of all k-subsets of Nat for which the sequence of largest elements is monotone. We do this by adding some new material in Order.Extension.Linear, which has more general applications. --- Original PR: https://github.com/leanprover-community/mathlib4/pull/12773 - [ ] depends on: #27271 - [ ] depends on: #27233 - [x] depends on: #27211 large-import new-contributor t-combinatorics blocked-by-other-PR 646/1 Mathlib.lean,Mathlib/Combinatorics/HypergraphRamsey.lean,Mathlib/Data/Finset/Sort.lean,Mathlib/Order/Extension/Linear.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/Interval/Finset/Defs.lean,Mathlib/Order/OrderIsoNat.lean,Mathlib/Order/RelClasses.lean 8 5 ['ctchou', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
16-55290
16 days ago
16-55290
16 days ago
2-27044
2 days
25486 VTrelat
author:VTrelat
feat(SetTheory/ZFC/Integers): define integers in ZFC Extend the model of ZFC with integers following the converse direction as for naturals. We first define a type and then build a set. We finally show that both representations have coercions in both direction: - define a proper type `ZFInt` representing integers based on `ZFNat × ZFNat` and following the usual construction of integers - add theorems on usual algebraic properties of integers - define a set `Int` and show that it matches-i.e. that it is isomorphic to-the type `ZFInt` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #25483 - [ ] depends on: #25485 t-set-theory new-contributor merge-conflict blocked-by-other-PR 2003/0 Mathlib/Data/Set/Prod.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Booleans.lean,Mathlib/SetTheory/ZFC/Integers.lean 4 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
16-54512
16 days ago
16-54512
16 days ago
0-2067
34 minutes
25484 VTrelat
author:VTrelat
feat(SetTheory/ZFC/Booleans): define Boolean algebra in ZFC Extend the model of ZFC with Boolean algebra: - define a set 𝔹 of booleans - define a proper type `ZFBool` representing booleans - add theorems on usual algebraic properties of booleans - provide usual boolean notations like `⊤`, `⊥`, `∧`, `∨`, etc. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #25483 t-set-theory new-contributor merge-conflict blocked-by-other-PR 619/0 Mathlib/Data/Set/Prod.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Booleans.lean 3 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
16-54503
16 days ago
16-54503
16 days ago
0-1523
25 minutes
28001 daefigueroa
author:daefigueroa
feat(Dynamics): add results on topologically transitive flows We define topological transitivity for a flow and show that a factor of a topologically transitive flow is topologically transitive. --- This contribution was created as part of the Utrecht Summerschool "Formalizing Mathematics in Lean" in July 2025. - [ ] depends on: #28000 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-dynamics blocked-by-other-PR 68/3 Mathlib.lean,Mathlib/Dynamics/Flow.lean,Mathlib/Dynamics/Transitive.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
15-14508
15 days ago
15-14508
15 days ago
0-89
1 minute
27982 ShreckYe
author:ShreckYe
chore(Data/Nat/GCD): use `Nat.Prime.dvd_or_dvd` from #27981 in `Nat.Prime.dvd_or_dvd_of_dvd_lcm` from #27963 to simplify the proof a bit - [ ] depends on: #27963 - [ ] depends on: #27981 large-import new-contributor blocked-by-other-PR 102/2 Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Data/Nat/GCD/Basic.lean,Mathlib/Data/Nat/Prime/Defs.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
13-61296
13 days ago
15-47982
15 days ago
0-1834
30 minutes
28061 CoolRmal
author:CoolRmal
feat(MeasureTheory): Uniqueness of Measures in the Riesz–Markov–Kakutani Representation Theorem This PR adds the proof of the uniqueness of measures in the Riesz–Markov–Kakutani representation theorem (i.e. if two regular measures on a locally compact Hausdorff space induce the same linear functionals on the set of compactly supported continuous functions, then these two measures are equal). cf. https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Uniqueness.20in.20Riesz.E2.80.93Markov.E2.80.93Kakutani.20representation.20theorem --- - [ ] depends on: #28059 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor blocked-by-other-PR 342/83 Mathlib/Algebra/Order/Module/PositiveLinearMap.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Basic.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/NNReal.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean,Mathlib/MeasureTheory/Measure/Regular.lean,Mathlib/Topology/ContinuousMap/CompactlySupported.lean,Mathlib/Topology/UrysohnsLemma.lean 7 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
13-50181
13 days ago
13-50181
13 days ago
0-246
4 minutes
28152 Sebi-Kumar
author:Sebi-Kumar
feat(AlgebraicTopology): characterize simply connectedness in terms of loops Show that a space is simply connected if and only if all loops within that space are homotopic to the constant loop. To be used in a proof that the `n`-sphere is simply connected for `n > 1`. --- This code was written at the University of Western Ontario as a part of the Fields Undergraduate Summer Research Program under the supervision of Chris Kapulkin and Daniel Carranza. - [ ] depends on: #28126 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology new-contributor blocked-by-other-PR 37/5 Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnected.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
11-34649
11 days ago
11-34650
11 days ago
0-2854
47 minutes
28208 Sebi-Kumar
author:Sebi-Kumar
feat(Topology): add the definition `foldTrans` to concatenate finite sequences of paths Add `foldTrans`, which folds the function `Path.trans` across a sequence of paths with compatible endpoints, corresponding to the concatenation of a finite sequence of paths. This is implemented with `Fin.dfoldl` from the Batteries library. Prove basic properties about `foldTrans` (i.e., how it behaves with respect to `Path.refl`, `Path.subpath`, and homotopies). --- To provide additional context, I am new to contributing to Mathlib, and I am doing so 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. My goal is to prove that the `n`-sphere is simply connected for `n > 1`, following the proof from Hatcher's "Algebraic Topology." - [ ] depends on: #27261 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology blocked-by-other-PR 259/0 Mathlib.lean,Mathlib/Topology/FoldTrans.lean,Mathlib/Topology/Subpath.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
10-4289
10 days ago
10-4290
10 days ago
0-2340
39 minutes
27645 bjornsolheim
author:bjornsolheim
feat(Geometry/Convex/Cone): add pointed cone tensor products Define the minimal and maximal tensor product of pointed cones. Prove that the minimal tensor product is less than or equal to the maximal tensor product. --- - [ ] depends on: #25292 - [ ] depends on: #27578 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry new-contributor blocked-by-other-PR 316/0 Mathlib.lean,Mathlib/Geometry/Convex/Cone/ConicalHull.lean,Mathlib/Geometry/Convex/Cone/TensorProduct.lean 3 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
8-18832
8 days ago
8-22481
8 days ago
0-1828
30 minutes
27578 bjornsolheim
author:bjornsolheim
feat(Geometry/Convex/Cone): add conical combinations and conical hull - Prove closure properties of sequences with nonnegative coefficients - Define conical hull - Prove that the smallest pointed cone containing s is the conical hull of s - Implemented with Finsupp --- - [ ] depends on: #25292 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry new-contributor blocked-by-other-PR 188/0 Mathlib.lean,Mathlib/Geometry/Convex/Cone/ConicalHull.lean 2 5 ['YaelDillies', 'bjornsolheim', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
7-20402
7 days ago
8-27517
8 days ago
0-254
4 minutes

PRs not into the master branch

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
25807 Vierkantor
author:Vierkantor
ci: Empty commit to test the bench-after-CI workflow. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) test-ci CI 0/0 0 3 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] nobody
69-32519
2 months ago
69-32519
2 months ago
69-48955
69 days
13158 erdOne
author:erdOne
refactor(RingTheory/OreLocalization/Module): remove `LocalizedModule.mk`. --- - [x] depends on: #13151 - [ ] depends on: #13156 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict blocked-by-other-PR
label:t-algebra$
49/48 Mathlib/RingTheory/OreLocalization/Basic.lean,Mathlib/RingTheory/OreLocalization/Module.lean 2 1 ['leanprover-community-mathlib4-bot'] nobody
407-42542
1 year ago
407-42565
1 year ago
0-0
0 seconds
11156 smorel394
author:smorel394
feat(LinearAlgebra/{TensorProductBasis,Dual}): basis and dual of `PiTensorProduct` Construct a basis of a `PiTensorProduct` of modules given bases of the modules, and relationship between the dual of a `PiTensorProduct` and the `PiTensorProduct` of the duals. Main results: * `Basis.piTensorProduct` (in `LinearAlgebra/TensorProductBasis.lean`): Let `ι` be a `Fintype` and `M` be a family of modules indexed by `ι`. If `b i : κ i → M i` is a basis for every `i` in `ι`, then `fun (p : Π i, κ i) ↦ ⨂ₜ[R] i, b i (p i)` is a basis of `⨂[R] i, M i`. * `PiTensorProduct.dualDistrib` (in `LinearAlgebra/Dual.lean`): The canonical linear map from `⨂[R] i, Dual R (M i)` to `Dual R (⨂[R] i, M i)`, sending `⨂ₜ[R] i, f i` to the composition of `PiTensorProduct.map f` with the linear equivalence `⨂[R] i, R →ₗ R` given by multiplication. * `PiTensorProduct.dualDistribEquiv` (also in `LinearAlgebra/Dual.lean`): A linear equivalence between `⨂[R] i, Dual R (M i)` and `Dual R (⨂[R] i, M i)` when all `M i` are finite free modules. If `f : (i : ι) → Dual R (M i)`, then this equivalence sends `⨂ₜ[R] i, f i` to the composition of `PiTensorProduct.map f` with the natural isomorphism `⨂[R] i, R ≃ R` given by multiplication. - [ ] depends on: #11155 (currently used as the base branch; do not merge without switching it back to `master`!) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-algebra merge-conflict please-adopt blocked-by-other-PR
label:t-algebra$
166/2 Mathlib/LinearAlgebra/DirectSum/Finsupp.lean,Mathlib/LinearAlgebra/Dual.lean,Mathlib/LinearAlgebra/TensorProduct/Basis.lean 3 4 ['eric-wieser', 'github-actions', 'leanprover-community-mathlib4-bot'] nobody
233-41768
7 months ago
278-57396
9 months ago
0-0
0 seconds

PRs with an 'approved' review

Number Author Title Description Labels +/- Modified files (first 100) 📝 💬 All users who commented or reviewed Assignee(s) Approval(s) Updated Last status change total time in review
9352 chenyili0818
author:chenyili0818
feat: arithmetic lemmas for `gradient` This file is based on Mathlib.Analysis.Calculus.Gradient.Basic, and describes the calculation properties Co-authored-by: Ziyu Wang [tropicalfish910@gmail.com](mailto:tropicalfish910@gmail.com) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis awaiting-author 404/0 Mathlib.lean,Mathlib/Analysis/Calculus/Gradient/Lemmas.lean 2 30 ['chenyili0818', 'github-actions', 'jcommelin', 'sgouezel', 'winstonyin'] nobody 1
385-61862
1 year ago
547-43027
1 year ago
51-80670
51 days
11890 adomani
author:adomani
feat: the terminal refine linter A linter that warns on usages of `refine` and `refine'` as a finishing tactic. See this [Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Usage.20of.20refine'). ### Conclusion of the experiment Systematic replacements of terminal `refine` with `exact` leads to an overall slow-down. --- - [ ] depends on: #15616 (disable the linter in downstream projects) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter awaiting-author 77/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/TerminalRefineLinter.lean 3 14 ['adomani', 'github-actions', 'grunweg', 'joneugster', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'urkud'] nobody 1
366-62346
1 year ago
366-62348
1 year ago
18-13508
18 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/) new-contributor t-algebra awaiting-author
label:t-algebra$
78/0 Mathlib/Algebra/Group/Defs.lean 1 13 ['github-actions', 'hannahfechtner', 'jcommelin', 'kbuzzard', 'kim-em', 'trivial1711'] nobody 1
212-57534
7 months ago
212-57534
7 months ago
69-35596
69 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/) t-computability new-contributor awaiting-author 70/0 Mathlib.lean,Mathlib/Computability/PDA.lean 2 34 ['YaelDillies', 'github-actions', 'madvorak', 'shetzl'] nobody 1
156-57884
5 months ago
156-57884
5 months ago
20-81771
20 days
18210 vihdzp
author:vihdzp
feat(Order/Hom/Basic): `WithBot (Fin n) ≃o Fin (n + 1)` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order awaiting-author 16/0 Mathlib/Order/Hom/Basic.lean 1 8 ['Command-Master', 'Ruben-VandeVelde', 'github-actions', 'urkud', 'vihdzp'] nobody 2
118-1759
3 months ago
289-5837
9 months ago
10-77913
10 days
21276 GabinKolly
author:GabinKolly
feat(ModelTheory/Substructures): define equivalences between equal substructures Define first-order equivalences between equal substructures, and prove related properties. --- This is some preparatory work for #18876 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic awaiting-author 62/0 Mathlib/ModelTheory/Substructures.lean 1 19 ['GabinKolly', 'YaelDillies', 'fpvandoorn', 'github-actions', 'grunweg'] nobody 1
103-30595
3 months ago
103-30595
3 months ago
46-55730
46 days
10235 urkud
author:urkud
feat: add `Decidable`, `Fintype`, `Encodable` linters This PR ports the `decidableClassical`, `fintypeFinite` and `encodableCountable` linters from mathlib3: all three are environment linters which flag declarations that have a hypothesis `[Decidable p]` etc., but do not use the underlying assumption in this type. Restructuring the code can make the statement more general. The implementation is in fact quite general, and can easily adapt to include further types. PRs #17518 and #17519 are two examples of further such linters. --- Please don't fix the failures related to `HasFDerivWithinAt.pi`. Finiteness assumptions in these lemmas will be completely removed during porting to TVS. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-bench large-import t-linter t-meta awaiting-author 123/4 Mathlib.lean,Mathlib/Computability/Halting.lean,Mathlib/Computability/TuringMachine.lean,Mathlib/Data/Fintype/Quotient.lean,Mathlib/Logic/Basic.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/NumberTheory/JacobiSum/Basic.lean,Mathlib/Order/Heyting/Regular.lean,Mathlib/Tactic.lean,Mathlib/Tactic/GeneralizeProofs.lean,Mathlib/Tactic/Linter/UnusedAssumptionInType.lean 11 n/a ['Command-Master', 'github-actions', 'grunweg', 'kmill', 'leanprover-bot', 'urkud'] nobody 1
95-24982
3 months ago
unknown
unknown
21624 sinhp
author:sinhp
feat(CategoryTheory): The (closed) monoidal structure on the product category of families of (closed) monoidal categories Given a family of closed monoidal categories, we show that the product of these categories is a closed monoidal category with the pointwise monoidal structure. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory awaiting-author 144/0 Mathlib.lean,Mathlib/CategoryTheory/Pi/Basic.lean,Mathlib/CategoryTheory/Pi/Monoidal.lean,Mathlib/CategoryTheory/Pi/MonoidalClosed.lean 4 19 ['TwoFX', 'YaelDillies', 'b-mehta', 'github-actions', 'jcommelin', 'sinhp'] nobody 1
92-64512
3 months ago
92-64512
3 months ago
54-54882
54 days
22919 plp127
author:plp127
feat(Data/Fintype/Pi): Make `Fintype` instance for `RelHom`s computable Makes the `Fintype` instance for rel homs computable. See this [Zulip](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Classical.20vs.20constructive.20logic.20in.20computation/near/496220816) message. --- - [x] depends on: #24748 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data awaiting-author 178/44 Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Data/Fintype/CardEmbedding.lean,Mathlib/Data/Fintype/Pi.lean 5 29 ['IvanRenison', 'b-mehta', 'eric-wieser', 'fpvandoorn', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'plp127'] b-mehta
assignee:b-mehta
1
83-77116
2 months ago
83-77116
2 months ago
73-73341
73 days
18693 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: add ConjRootClass Co-authored-by: FR --- From #6718 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra delegated
label:t-algebra$
213/0 Mathlib.lean,Mathlib/FieldTheory/Minpoly/ConjRootClass.lean,Mathlib/FieldTheory/Minpoly/IsConjRoot.lean 3 16 ['LessnessRandomness', 'Vierkantor', 'alreadydone', 'github-actions', 'grunweg', 'mathlib-bors'] Vierkantor
assignee:Vierkantor
2
75-62607
2 months ago
86-38160
2 months ago
94-8480
94 days
23240 urkud
author:urkud
feat(Topology/Maps): `IsOpenMap` and `ClusterPt` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology delegated 17/4 Mathlib/Topology/Maps/Basic.lean 1 8 ['eric-wieser', 'github-actions', 'grunweg', 'mathlib-bors', 'urkud'] nobody 1
75-39969
2 months ago
150-8950
4 months ago
0-12104
3 hours
25971 joelriou
author:joelriou
feat(CategoryTheory): pseudofunctors to Cat This PR adds convenience lemmas for pseudofunctors to `Cat`, mostly using the `to_app` attribute. The simp set for the `to_app` attribute is extended in order to take into account that in `Cat`, associators and unitors induce identities. --- This PR continues the work from #24384. Original PR: https://github.com/leanprover-community/mathlib4/pull/24384 t-category-theory awaiting-author 142/8 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/Functor/Cat.lean,Mathlib/CategoryTheory/Bicategory/Functor/Strict.lean,Mathlib/Tactic/CategoryTheory/ToApp.lean,MathlibTest/CategoryTheory/ToApp.lean 5 6 ['callesonne', 'chrisflav', 'github-actions', 'joelriou'] nobody 1
63-38904
2 months ago
63-41429
2 months ago
0-7170
1 hour
20924 tomaz1502
author:tomaz1502
feat(Computability/QueryComplexity): Oracle-based computation This PR adds the types and lemmas for oracle-based computation. In this model, computations are run on a monad which also counts the number of oracle queries executed. With it, it becomes possible to reason about the upper bound of the query complexity of algorithms. In the future, we could extend this work to include the necessary bits from information theory and probability to also reason about lower bounds on query complexity, like the work in https://github.com/girving/debate. Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2318629.20runtime.20complexity.20of.20sorting.20a.20list Co-authored-by: Geoffrey Irving --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability 305/0 Mathlib.lean,Mathlib/Computability/QueryComplexity/Basic.lean,Mathlib/Computability/QueryComplexity/Defs.lean 3 59 ['eric-wieser', 'girving', 'github-actions', 'quangvdao', 'tomaz1502'] nobody 1
58-39411
1 month ago
210-32599
6 months ago
210-32587
210 days
26031 joelriou
author:joelriou
feat(Algebra/Homology): the derived category of a linear abelian category is linear --- - [x] depends on: #25931 This PR continues the work from #24596. Original PR: https://github.com/leanprover-community/mathlib4/pull/24596 t-category-theory 71/0 Mathlib.lean,Mathlib/Algebra/Homology/DerivedCategory/Linear.lean,Mathlib/Algebra/Homology/HomotopyCategory/Shift.lean,Mathlib/Algebra/Homology/HomotopyCategory/SingleFunctors.lean 4 n/a ['AntoineChambert-Loir', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot'] nobody 1
24-22591
24 days ago
unknown
unknown
27697 BoltonBailey
author:BoltonBailey
chore(Data/Fintype): use `univ` instead of `Fintype.elems` A short PR to keep the API consistent with its surroundings. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 2/2 Mathlib/Data/Fintype/Defs.lean 1 1 ['github-actions', 'vihdzp'] nobody 1
21-16779
21 days ago
21-20658
21 days ago
21-20704
21 days
26790 FlAmmmmING
author:FlAmmmmING
feat(Combinatorics/Enumerative/Bell.lean): define standard Bell number --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 38/1 Mathlib/Combinatorics/Enumerative/Bell.lean 1 11 ['AntoineChambert-Loir', 'FlAmmmmING', 'eric-wieser', 'github-actions', 'kckennylau', 'madvorak'] awainverse
assignee:awainverse
1
20-52562
20 days ago
46-33241
1 month ago
46-33287
46 days
26793 FlAmmmmING
author:FlAmmmmING
feat(Algebra/Group /ForwardDiff.lean): add five theorems for forward difference --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-algebra
label:t-algebra$
212/3 Mathlib/Algebra/Group/ForwardDiff.lean 1 35 ['AntoineChambert-Loir', 'DAE123456', 'FlAmmmmING', 'Ruben-VandeVelde', 'github-actions', 'kckennylau', 'madvorak'] mariainesdff
assignee:mariainesdff
1
20-52561
20 days ago
33-79151
1 month ago
46-31638
46 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 delegated 118/3 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 16 ['adomani', 'b-mehta', 'eric-wieser', 'github-actions', 'grunweg', 'kim-em', 'mathlib-bors'] nobody 1
19-44291
19 days ago
159-36860
5 months ago
15-14325
15 days
27257 JovanGerb
author:JovanGerb
feat(LinearAlgebra/AffineSpace/Ordered): add `lineMap_le_lineMap_iff_of_lt'` I only need `lineMap_le_lineMap_iff_of_lt'`. The other lemmas are added for completeness. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-algebra awaiting-author
label:t-algebra$
44/0 Mathlib/LinearAlgebra/AffineSpace/Ordered.lean 1 3 ['Ruben-VandeVelde', 'eric-wieser', 'github-actions'] kbuzzard
assignee:kbuzzard
1
19-13762
19 days ago
19-13762
19 days ago
14-17781
14 days
25758 YaelDillies
author:YaelDillies
chore: shortcut instance `CompleteLattice α → PartialOrder α` This avoids using the path `CompleteLattice α → CompletePartialOrder α → PartialOrder α` that goes through `Order.CompletePartialOrder` and makes it appear used to our automation, such as `shake` or `#min_imports`. This is a followup to #25358. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 7/0 Mathlib/Order/CompleteLattice/Defs.lean 1 6 ['Ruben-VandeVelde', 'eric-wieser', 'github-actions', 'leanprover-bot'] bryangingechen
assignee:bryangingechen
1
19-1440
19 days ago
50-9180
1 month ago
69-59765
69 days
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). I am not sure whether the `prodEquivOfIsCompl_symm_apply` theorem should be tagged with `@[simp]`; this might lead to confluence issues. Opinions are welcome! Co-authored by: - [Viviana del Barco](https://github.com/vdelbarc) - [Gustavo Infanti](https://github.com/GuQOliveira) - [Exequiel Rivas](https://github.com/erivas) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
9/0 Mathlib/LinearAlgebra/Projection.lean 1 5 ['PSchwahn', 'github-actions', 'kckennylau'] joelriou
assignee:joelriou
1
19-1436
19 days ago
54-79771
1 month ago
54-79896
54 days
26290 BeibeiX0
author:BeibeiX0
feat(Combinatorics/Enumerative/Stirling.lean): define Stirling numbers of the first and second kind This PR introduces the unsigned Stirling numbers of the first kind (`Nat.stirlingFirst`) and the Stirling numbers of the second kind (`Nat.stirlingSecond`), along with their defining recurrence relations and several fundamental properties. Main definitions: * `Nat.stirlingFirst n k`: counts the number of permutations of `n` elements with `k` disjoint cycles. * `Nat.stirlingSecond n k`: counts the number of ways to partition `n` elements into `k` non-empty subsets. Main results include: * Recurrence relations for both kinds. * Vanishing conditions when `n < k`. * Diagonal values like `stirlingFirst n n = 1`, `stirlingSecond n n = 1`. * Identities such as `stirlingFirst (n + 1) 1 = n!` and `stirlingSecond (n + 1) 1 = 1`. References: * [Stirling numbers of the first kind – Wikipedia](https://en.wikipedia.org/wiki/Stirling_numbers_of_the_first_kind) * [Stirling numbers of the second kind – Wikipedia](https://en.wikipedia.org/wiki/Stirling_numbers_of_the_second_kind) Co-authored-by: Beibei Xiong Co-authored-by: Shao Yu <18217703912@163.com> Co-authored-by: Weijie Jiang --- new-contributor t-combinatorics awaiting-author 167/0 Mathlib.lean,Mathlib/Combinatorics/Enumerative/Stirling.lean 2 42 ['AntoineChambert-Loir', 'BeibeiX0', 'b-mehta', 'eric-wieser', 'github-actions', 'kbuzzard'] nobody 2
18-65217
18 days ago
35-43081
1 month ago
4-65831
4 days
25812 vlad902
author:vlad902
feat(data): List.Chain' helper lemmas Add two helpers lemmas to go from a List.Chain' hypothesis to a concrete predicate about two consecutive elements, one in the positive and one in the negative. t-data 29/0 Mathlib/Data/List/Chain.lean 1 4 ['BoltonBailey', 'github-actions', 'vlad902'] ericrbg
assignee:ericrbg
1
18-1413
18 days ago
48-60244
1 month ago
61-62832
61 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/) t-data 144/5 Mathlib/Data/PFunctor/Univariate/Basic.lean 1 19 ['alexkeizer', 'eric-wieser', 'github-actions', 'quangvdao'] nobody 1
17-3997
17 days ago
43-2506
1 month ago
43-2551
43 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. maintainer-merge t-algebra
label:t-algebra$
68/67 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/RootPositive.lean,Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean,Mathlib/RingTheory/Etale/Kaehler.lean,Mathlib/RingTheory/LocalProperties/Projective.lean,Mathlib/RingTheory/Localization/InvSubmonoid.lean,Mathlib/RingTheory/OreLocalization/Basic.lean 25 16 ['eric-wieser', 'github-actions', 'j-loreaux', 'linesthatinterlace', 'pechersky'] joelriou
assignee:joelriou
1
17-1406
17 days ago
29-16120
29 days ago
40-30994
40 days
27076 Komyyy
author:Komyyy
refactor: don't require `DecidablePred` to state `PrimrecPred` ```lean def PrimrecPred {α} [Primcodable α] (p : α → Prop) [DecidablePred p] := Primrec fun a => decide (p a) ``` Currently, `DecidablePred` is required to **state** `PrimrecPred`, so this PR changes the definition and adds convenient APIs for this new definition: ```lean def PrimrecPred {α} [Primcodable α] (p : α → Prop) := open scoped Classical in Primrec fun a => decide (p a) ``` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-computability 117/67 Mathlib/Computability/Halting.lean,Mathlib/Computability/Partrec.lean,Mathlib/Computability/Primrec.lean,Mathlib/Computability/Reduce.lean 4 10 ['Komyyy', 'YaelDillies', 'digama0', 'eric-wieser', 'github-actions'] YaelDillies
assignee:YaelDillies
1
16-68735
16 days ago
16-68735
16 days ago
38-35434
38 days
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 t-ring-theory 76/8 Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/RingTheory/Polynomial/SmallDegreeVieta.lean 2 42 ['github-actions', 'kckennylau', 'mans0954', 'ocfnash'] ocfnash
assignee:ocfnash
1
15-56733
15 days ago
15-56733
15 days ago
65-70991
65 days
24730 YaelDillies
author:YaelDillies
feat(RingTheory): group-like elements Define group-like elements in a bialgebra, ie elements such that `η a = 1` and `Δ a = a ⊗ₜ a`. We prove that group-like elements of a coalgebra over a domain are linearly independent, group-like elements of a bialgebra form a monoid, group-like elements of a Hopf algebra form a group. From Toric Co-authored-by: Michał Mrugała --- - [x] depends on: #24747 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory toric 309/0 Mathlib.lean,Mathlib/RingTheory/Bialgebra/GroupLike.lean,Mathlib/RingTheory/Coalgebra/GroupLike.lean,Mathlib/RingTheory/HopfAlgebra/GroupLike.lean 4 42 ['Julian-Kuelshammer', 'Parcly-Taxel', 'Whysoserioushah', 'YaelDillies', 'erdOne', 'eric-wieser', 'github-actions', 'leanprover-bot', 'mathlib4-dependent-issues-bot', 'smorel394'] eric-wieser
assignee:eric-wieser
2
15-56654
15 days ago
15-56654
15 days ago
102-13712
102 days
26078 kckennylau
author:kckennylau
feat(AlgebraicGeometry): add x, y, px, py for points on elliptic curves --- Split from #25218. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 44/0 Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean 1 11 ['MichaelStollBayreuth', 'Multramate', 'acmepjz', 'github-actions', 'kckennylau'] dagurtomas
assignee:dagurtomas
1
15-52003
15 days ago
63-47788
2 months ago
63-47832
63 days
27292 gasparattila
author:gasparattila
feat: asymptotic cone of a set This PR defines the asymptotic cone of a set in a normed affine space and proves its main properties. This is partial progress towards showing that an unbounded finite-dimensional convex set contains a ray. --- - [x] depends on: #27221 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge new-contributor t-analysis 453/0 Mathlib.lean,Mathlib/Analysis/Normed/Affine/AsymptoticCone.lean,Mathlib/Order/Filter/Map.lean 3 44 ['AntoineChambert-Loir', 'YaelDillies', 'gasparattila', 'github-actions', 'mathlib4-dependent-issues-bot'] YaelDillies
assignee:YaelDillies
1
15-27990
15 days ago
15-31275
15 days ago
29-48815
29 days
23669 erdOne
author:erdOne
feat(FieldTheory): abelian extensions --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra delegated
label:t-algebra$
74/0 Mathlib.lean,Mathlib/FieldTheory/Galois/Abelian.lean,Mathlib/NumberTheory/Cyclotomic/Gal.lean 3 16 ['acmepjz', 'alreadydone', 'chrisflav', 'erdOne', 'github-actions', 'mathlib-bors', 'riccardobrasca', 'xroblot'] riccardobrasca
assignee:riccardobrasca
3
14-44468
14 days ago
43-48708
1 month ago
29-68817
29 days
27018 Komyyy
author:Komyyy
feat: Finite product of Alexandrov-discrete spaces is Alexandrov-discrete --- - [x] depends on: #27016 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology delegated 93/9 Mathlib/Data/Set/Lattice.lean,Mathlib/Data/Set/Lattice/Image.lean,Mathlib/Order/Filter/Ker.lean,Mathlib/Topology/AlexandrovDiscrete.lean,Mathlib/Topology/NhdsKer.lean 5 8 ['github-actions', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'ocfnash'] ocfnash
assignee:ocfnash
1
13-57856
13 days ago
13-57856
13 days ago
10-20441
10 days
27437 kckennylau
author:kckennylau
feat(RingTheory/Valuation): some lemmas about comparing with 1 and 0 and with each other *From the 2025 Local Class Field Theory Workshop.* --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory WIP 109/22 Mathlib/NumberTheory/Padics/ValuativeRel.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/Extension.lean,Mathlib/RingTheory/Valuation/ValuativeRel.lean 4 19 ['erdOne', 'github-actions', 'kckennylau', 'matthewjasper', 'pechersky'] nobody 1
13-1649
13 days ago
13-1649
13 days ago
14-30610
14 days
23940 YaelDillies
author:YaelDillies
feat: polytopes From Toric Co-authored-by: Matthew Johnson --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-analysis 65/0 Mathlib.lean,Mathlib/Geometry/Convex/Polytope.lean,Mathlib/Geometry/Convex/README.md 3 9 ['Parcly-Taxel', 'YaelDillies', 'eric-wieser', 'github-actions', 'jsm28', 'leanprover-community-bot-assistant'] hrmacbeth
assignee:hrmacbeth
1
13-1430
13 days ago
70-21324
2 months ago
131-7045
131 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/) t-order 121/8 Mathlib.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/LawfulSupInf.lean 3 25 ['PierreQuinton', 'YaelDillies', 'github-actions', 'plp127', 'vihdzp'] YaelDillies
assignee:YaelDillies
1
12-51604
12 days ago
24-34901
24 days ago
24-34936
24 days
25779 robin-carlier
author:robin-carlier
feat(CategoryTheory/Bicategory/NaturalTransformations): strong and lax natural transformations of lax functors Given two lax functors `F G` between bicategories, we define lax natural transformations as families of 1-morphisms `∀ a : B, F.obj a ⟶ G.obj a` equipped with a naturality 2-cell `∀ {a b : B} (f : a ⟶ b), app a ≫ G.map f ⟶ F.map f ≫ app b` that are required to satisfy conditions such as naturality, and compatibility with the `mapId` and `mapComp` fields of the source and target functors. This notion dualizes the existing notion of oplax natural transformations between, and tries to narrow the current gap between lax and oplax functors in the library, where the latter has much more formalized API. For maintainability, The code tries to stay as aligned as possible with the code in `CategoryTheory.Bicategory.Naturaltransformations.Oplax`. --- I followed the book by Johnson and Yau for the definition. I made @yuma-mizuno and @callesonne authors of the files, as they are the authors of the original code for Oplax functors, which I basically copy-pasted and modified to make it work with lax functors. They should feel free to modify this if they want. Next thing on the list is to tackle modifications between lax/strong natural transforms of lax transforms, as well as the category instance on lax functors. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #25565.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/25565* t-category-theory 286/0 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Lax.lean,scripts/noshake.json 3 3 ['github-actions', 'yuma-mizuno'] joelriou
assignee:joelriou
1
12-1446
12 days ago
46-63063
1 month ago
68-21431
68 days
25774 Parcly-Taxel
author:Parcly-Taxel
chore: deprime `induction` in `AlgebraicTopology/CategoryTheory` Most replacements that are also in #23676 have been copied over, but some have been optimised further. tech debt 130/121 Mathlib/AlgebraicTopology/DoldKan/Decomposition.lean,Mathlib/AlgebraicTopology/DoldKan/Degeneracies.lean,Mathlib/AlgebraicTopology/DoldKan/NCompGamma.lean,Mathlib/AlgebraicTopology/DoldKan/Projections.lean,Mathlib/AlgebraicTopology/SimplexCategory/MorphismProperty.lean,Mathlib/AlgebraicTopology/SimplicialObject/Split.lean,Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveAdjunction.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/EnoughInjectives.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Subobject.lean,Mathlib/CategoryTheory/Action/Concrete.lean,Mathlib/CategoryTheory/Action/Monoidal.lean,Mathlib/CategoryTheory/ComposableArrows.lean,Mathlib/CategoryTheory/Extensive.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/CategoryTheory/Galois/Decomposition.lean,Mathlib/CategoryTheory/Galois/EssSurj.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Limits/Shapes/SequentialProduct.lean,Mathlib/CategoryTheory/Limits/VanKampen.lean,Mathlib/CategoryTheory/Quotient.lean,Mathlib/CategoryTheory/Sites/Sheaf.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Subobject/FactorThru.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/CategoryTheory/Triangulated/TStructure/Basic.lean 27 6 ['Parcly-Taxel', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'madvorak'] grunweg
assignee:grunweg
1
10-1421
10 days ago
22-34783
22 days ago
67-27275
67 days
28139 YaelDillies
author:YaelDillies
refactor: make the cone explicit in `ConvexCone.toPointedCone` Otherwise it is impossible to know which cone we are talking about from the infoview as proofs are elided. From Toric --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry toric maintainer-merge 3/3 Mathlib/Analysis/Convex/Cone/Closure.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean 2 2 ['Ruben-VandeVelde', 'github-actions'] nobody 1
9-17613
9 days ago
9-17613
9 days ago
11-65907
11 days
27441 judithludwig
author:judithludwig
feat(RingTheory/Polynomial/Quotient): Lemma on PIDs This is part of a course project at Heidelberg University: https://matematiflo.github.io/CompAssistedMath2025/ feat(RingTheory/Polynomial/Quotient): add lemma: Let $$R$$ be an integral domain and assume $$R[X]$$ is a PID, then $$R$$ is a field. This lemma is useful for proving that some rings are not PIDs, such as $$\mathbb{Z}[X]$$. Co-authored-by: Philipp Sivov @Silipp182 Co-authored-by: Veliyan Taslev @hubavelko --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 11/0 Mathlib/RingTheory/Polynomial/Quotient.lean 1 4 ['alreadydone', 'github-actions'] erdOne
assignee:erdOne
1
9-1437
9 days ago
16-27850
16 days ago
27-19605
27 days
27552 Equilibris
author:Equilibris
refactor: make universe levels visible in typevec This will be needed to allow `M.corec` to be generic across universes --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 16/10 Mathlib/Data/TypeVec.lean 1 9 ['Equilibris', 'eric-wieser', 'github-actions', 'plp127'] nobody 1
7-68981
7 days ago
8-21400
8 days ago
24-33920
24 days
28150 Equilibris
author:Equilibris
chore: clean up proofs typevec proofs While adding variable universe corecs I found a lot of theorems in typevec that could do with a bit of a clean-up --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 24/26 Mathlib/Data/TypeVec.lean 1 6 ['Equilibris', 'alexkeizer', 'github-actions'] nobody 1
7-61029
7 days ago
7-61029
7 days ago
11-56627
11 days
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/) 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 31 ['ADedecker', 'eric-wieser', 'github-actions', 'mathlib-bors', 'ocfnash'] ocfnash
assignee:ocfnash
1
7-45067
7 days ago
7-58275
7 days ago
28-12053
28 days
28185 Sebi-Kumar
author:Sebi-Kumar
feat(Topology/Path): add theorem about casting with rfl Prove the trivial result `p.cast rfl rfl = p` for a path `p`, which serves as a useful result for the simplifier to know. Suggested by Aaron Liu at the discussion [#Is there code for X? > Dealing with `Path.cast`](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Dealing.20with.20.60Path.2Ecast.60). --- To provide additional context, I am relatively new when it comes to contributing to Mathlib, and I am doing so as a part of the Fields Undergraduate Summer Research Program hosted at the University of Western Ontario under the supervision of Chris Kapulkin and Daniel Carranza. My goal is to contribute that the `n`-sphere is simply connected for `n > 1`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology easy 2/0 Mathlib/Topology/Path.lean 1 1 ['github-actions', 'kckennylau', 'plp127'] nobody 2
7-42014
7 days ago
7-42014
7 days ago
10-34138
10 days
27934 JasperMS
author:JasperMS
feat(Order): no basic lemmas and some SuccOrder `biUnion` lemmas Documents that not all possible interval inclusion lemmas will be added to `Basic.lean`. Also proves some `biUnion` results about `SuccOrder`. ------- See also [Zulip: #mathlib4 > New contributor: #27934 (Order/Interval)](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/New.20contributor.3A.20.2327934.20.28Order.2FInterval.29). This is my first attempt at a Mathlib PR, I have worked on the [Carleson project](https://github.com/fpvandoorn/carleson) so far. I have tried to find natural homes for these results, and worked to make them as general as possible. Your feedback is welcome! [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) carleson new-contributor t-order 40/10 Mathlib/Order/Interval/Set/Basic.lean,Mathlib/Order/SuccPred/Archimedean.lean,Mathlib/Order/SuccPred/IntervalSucc.lean 3 10 ['JasperMS', 'YaelDillies', 'github-actions'] YaelDillies
assignee:YaelDillies
1
7-21417
7 days ago
8-62583
8 days ago
16-52935
16 days
28390 euprunin
author:euprunin
chore(Analysis/LocallyConvex): golf entire `polar_weak_closed` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 1/4 Mathlib/Analysis/LocallyConvex/Polar.lean 1 1 ['JonBannon', 'github-actions'] nobody 1
6-46384
6 days ago
6-73395
6 days ago
6-73440
6 days
28377 euprunin
author:euprunin
chore(Algebra/ContinuedFractions/Computation): golf `get?_of_eq_some_of_get?_intFractPair_stream_fr_ne_zero` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
2/4 Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean 1 1 ['JonBannon', 'github-actions'] nobody 1
6-46145
6 days ago
6-76028
6 days ago
6-76075
6 days
28057 plp127
author:plp127
feat(SuccOrder): simp lemma to refold `Order.succ` and `Order.pred` Adds `SuccOrder.succ_eq_succ` and `PredOrder.pred_eq_pred` to refold `SuccOrder.succ` and `PredOrder.pred` into `Order.succ` and `Order.pred`. These lemmas are marked `@[simp]`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 8/2 Mathlib/Order/SuccPred/Basic.lean 1 3 ['YaelDillies', 'github-actions', 'plp127', 'vihdzp'] bryangingechen
assignee:bryangingechen
1
6-45532
6 days ago
14-26711
14 days ago
14-26761
14 days
28375 euprunin
author:euprunin
chore(Analysis/SpecialFunctions/Pow): golf entire `rpow_lt_rpow_of_exponent_neg`, `rpow_le_rpow_of_exponent_nonpos`, `rpow_le_of_le_log` and `rpow_lt_of_lt_log` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 8/22 Mathlib/Analysis/SpecialFunctions/Pow/Real.lean 1 2 ['JonBannon', 'Ruben-VandeVelde', 'github-actions'] nobody 1
6-39885
6 days ago
6-76337
6 days ago
6-76382
6 days
27305 eric-wieser
author:eric-wieser
feat: instances for `ZeroHom` and `OneHom` This is motivated by wanting to write some lemmas about how the def in #27272 behaves on addition and scalar multiplcation, which requires these operations to first be defined. This shows that `ZeroHom` forms an `AddCommGroup` and `Module`, as well as analogous intermediate statements and `OneHom` results. --- - [x] depends on: #27318 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra delegated
label:t-algebra$
187/0 Mathlib/Algebra/Group/Hom/Basic.lean,Mathlib/Algebra/Group/Hom/Instances.lean,Mathlib/Algebra/GroupWithZero/Action/Hom.lean,Mathlib/Algebra/Module/Hom.lean 4 7 ['YaelDillies', 'adomani', 'eric-wieser', 'github-actions', 'mathlib-bors', 'mathlib4-dependent-issues-bot'] ericrbg
assignee:ericrbg
1
6-35677
6 days ago
6-37724
6 days ago
21-65819
21 days
28386 euprunin
author:euprunin
chore(Analysis/InnerProductSpace/Projection): golf entire `orthogonalProjection_mem_subspace_orthogonalComplement_eq_zero` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 1/3 Mathlib/Analysis/InnerProductSpace/Projection/Basic.lean 1 2 ['JonBannon', 'github-actions'] nobody 1
6-5093
6 days ago
6-73866
6 days ago
6-73916
6 days
28441 euprunin
author:euprunin
chore(GroupTheory/Perm): golf entire `mem_of_formPerm_ne_self` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory 2/5 Mathlib/GroupTheory/Perm/List.lean 1 1 ['JonBannon', 'github-actions'] nobody 1
6-4952
6 days ago
6-15878
6 days ago
6-15927
6 days
25491 tannerduve
author:tannerduve
feat(Control/Monad/Free): define free monad, prove it lawful, and implement standard effects This PR introduces the `Free` monad. This implementation uses the "freer monad" approach as the traditional free monad (eg from [Haskell](https://hackage.haskell.org/package/free-5.2/docs/Control-Monad-Free.html)) is not safely definable in Lean due to termination checking (it's not strictly positive). The main contributions are: * Definition of the `Free` monad as an inductive type which generates a monad given any type constructor `F : Type -> Type`. * Functor and Monad instances for `Free F`, along with proofs of the `LawfulFunctor` and `LawfulMonad` laws. * Canonical instances of `Free` with standard effect signatures: * `FreeState s` for stateful computations, defined via a `StateF s` functor with `get` and `put` operations. * `FreeWriter w` for logging computations, defined via a `WriterF w` functor with a `tell` operation. * `FreeCont r` for continuation-passing computations, using the CPS functor `(α → r) → r`. In this construction, computations are represented as **trees of effects**. Each node (`liftBind`) represents a request to perform an effect, accompanied by a continuation specifying how the computation proceeds after the effect. The leaves (`pure`) represent completed computations with final results. A key insight is that `FreeM F` satisfies the **universal property of free monads**: for any monad `M` and effect handler `f : F → M`, there exists a unique way to interpret `FreeM F` computations in `M` that respects the effect semantics given by `f`. This unique interpreter is `liftM f`, which acts as the canonical **fold** for free monads. To execute or interpret these computations, we provide two approaches: 1. **Hand-written interpreters** (`FreeState.run`, `FreeWriter.run`, `FreeCont.run`) that directly pattern-match on the tree structure 2. **Canonical interpreters** (`FreeState.toStateM`, `FreeWriter.toWriteT`, `FreeCont.toContT`) derived from the universal property via `liftM` And then prove that these approaches are equivalent --- This PR adds new files and definitions; no breaking changes. **Tags:** free monad, freer monad, effect systems, state monad, writer monad, continuation monad, operational semantics, verified interpreters t-data maintainer-merge 696/0 Mathlib.lean,Mathlib/Control/Monad/Free.lean,Mathlib/Control/Monad/Free/Effects.lean,MathlibTest/freemonad.lean,docs/references.bib 5 147 ['YaelDillies', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'plp127', 'quangvdao', 'srghma', 'tannerduve'] ericrbg
assignee:ericrbg
2
6-1429
6 days ago
64-37232
2 months ago
74-56314
74 days
28457 euprunin
author:euprunin
chore(LinearAlgebra/AffineSpace): deprecate `coe_injective` (duplicate) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-algebra
label:t-algebra$
2/5 Mathlib/LinearAlgebra/AffineSpace/ContinuousAffineEquiv.lean 1 2 ['Ruben-VandeVelde', 'github-actions'] nobody 1
5-61477
5 days ago
5-61477
5 days ago
5-68666
5 days
25776 Parcly-Taxel
author:Parcly-Taxel
chore: deprime `induction` in `Analysis` I think this is very marginally dependent on #25770. tech debt t-analysis 256/208 Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/Box/SubboxInduction.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Split.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/Multiplier.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/Deriv/ZPow.lean,Mathlib/Analysis/Calculus/InverseFunctionTheorem/ApproximatesLinearOn.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean,Mathlib/Analysis/Calculus/SmoothSeries.lean,Mathlib/Analysis/Convex/Combination.lean,Mathlib/Analysis/Convex/Radon.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Complex/Circle.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Analysis/SpecialFunctions/Gamma/BohrMollerup.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean 35 4 ['Parcly-Taxel', 'github-actions', 'leanprover-community-bot-assistant', 'madvorak', 'mathlib4-merge-conflict-bot'] grunweg
assignee:grunweg
1
5-1448
5 days ago
12-32416
12 days ago
67-44328
67 days
27965 grunweg
author:grunweg
feat: verify that file names contain no forbidden characters Follow-up to #27588: Windows also forbids certain characters in file names. I snuck in a change to also disallow `!` (which causes problems on Nix OS) and `.` (i.e., #27944) --- that would have caught the error in #27796, and may indicate confusion of file and module names. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed t-linter maintainer-merge 72/42 Mathlib/Tactic/Linter/TextBased.lean,MathlibTest/ForbiddenModuleNames.lean,MathlibTest/ForbiddenWindows.lean,scripts/lint-style.lean 4 11 ['YaelDillies', 'adomani', 'github-actions', 'grunweg'] joneugster
assignee:joneugster
1
5-1444
5 days ago
15-26739
15 days ago
15-59021
15 days
28091 ShreckYe
author:ShreckYe
feat(Algebra/Order/Floor): a variant of `Nat.ceil_lt_add_one` with its condition `0 ≤ a` generalized to `-1 < a` new-contributor t-algebra
label:t-algebra$
15/0 Mathlib/Algebra/Order/Floor/Ring.lean 1 3 ['Ruben-VandeVelde', 'github-actions', 'themathqueen'] mattrobball
assignee:mattrobball
1
5-1442
5 days ago
13-29137
13 days ago
13-29182
13 days
28179 vihdzp
author:vihdzp
feat: `LinearOrderedAddCommGroupWithTop (ArchimedeanClass R)` We define addition on `ArchimedeanClass R` such that `mk (a * b) = mk a + mk b`, as well as a zero element `0 = mk 1`. This makes `ArchimedeanClass R` into a `LinearOrderedAddCommMonoidWithTop` when `R` is a ring, and a `LinearOrderedAddCommGroupWithTop` when `R` is a field. --- - [x] depends on: #28227 See [Zulip](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/.22Commensurate.22.20elements.20in.20fields/near/533639232) for discussion on this (in particular, why we turn multiplication into addition). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-algebra
label:t-algebra$
208/10 Mathlib.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/Ring/Archimedean.lean 3 28 ['alreadydone', 'github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vihdzp', 'wwylele'] nobody 2
3-31299
3 days ago
3-31299
3 days ago
6-28912
6 days
28572 euprunin
author:euprunin
chore(SetTheory): golf entire `congToClass_empty` using `tauto` ---
Show trace profiling of congToClass_empty: <10 ms before, <10 ms after 🎉 ### Trace profiling of `congToClass_empty` before PR 28572 ```diff diff --git a/Mathlib/SetTheory/ZFC/Class.lean b/Mathlib/SetTheory/ZFC/Class.lean index 43d3015eb2..2596971ce0 100644 --- a/Mathlib/SetTheory/ZFC/Class.lean +++ b/Mathlib/SetTheory/ZFC/Class.lean @@ -129,6 +129,7 @@ theorem univ_notMem_univ : univ ∉ univ := def congToClass (x : Set Class.{u}) : Class.{u} := { y | ↑y ∈ x } +set_option trace.profiler true in @[simp] theorem congToClass_empty : congToClass ∅ = ∅ := by ext z ``` ``` ✔ [660/660] Built Mathlib.SetTheory.ZFC.Class (2.3s) Build completed successfully (660 jobs). ``` ### Trace profiling of `congToClass_empty` after PR 28572 ```diff diff --git a/Mathlib/SetTheory/ZFC/Class.lean b/Mathlib/SetTheory/ZFC/Class.lean index 43d3015eb2..fa097799c0 100644 --- a/Mathlib/SetTheory/ZFC/Class.lean +++ b/Mathlib/SetTheory/ZFC/Class.lean @@ -129,11 +129,10 @@ theorem univ_notMem_univ : univ ∉ univ := def congToClass (x : Set Class.{u}) : Class.{u} := { y | ↑y ∈ x } +set_option trace.profiler true in @[simp] theorem congToClass_empty : congToClass ∅ = ∅ := by - ext z - simp only [congToClass, not_empty_hom, iff_false] - exact Set.notMem_empty z + tauto /-- Convert a class into a conglomerate (a collection of classes) -/ def classToCong (x : Class.{u}) : Set Class.{u} := ``` ``` ✔ [660/660] Built Mathlib.SetTheory.ZFC.Class (2.5s) Build completed successfully (660 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-set-theory 1/3 Mathlib/SetTheory/ZFC/Class.lean 1 1 ['github-actions', 'vihdzp'] nobody 1
2-75566
2 days ago
3-29145
3 days ago
3-29191
3 days
27302 tristan-f-r
author:tristan-f-r
feat(Fintype/Quotient): finLiftOn₂ The combination of [`Quotient.finLiftOn`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Fintype/Quotient.html#Quotient.finLiftOn) and [`liftOn₂`](https://leanprover-community.github.io/mathlib4_docs/Init/Core.html#Quotient.liftOn%E2%82%82). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 19/0 Mathlib/Data/Fintype/Quotient.lean 1 10 ['github-actions', 'kckennylau', 'tristan-f-r', 'vihdzp'] nobody 2
2-72512
2 days ago
31-84151
1 month ago
31-84193
31 days
27109 pechersky
author:pechersky
feat(RingTheory/AdicValuation): valuation_surjective for both the base valuation and the one on the extension --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-analysis t-number-theory delegated 31/0 Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/Topology/Algebra/Valued/ValuedField.lean 2 4 ['github-actions', 'mathlib-bors', 'mathlib4-merge-conflict-bot', 'riccardobrasca'] riccardobrasca
assignee:riccardobrasca
1
2-61049
2 days ago
2-61049
2 days ago
34-19371
34 days
28366 BoltonBailey
author:BoltonBailey
chore(downstream_dashboard.py): Allow empty workflow list This PR allows the workflows list to be empty. When I try to run it on my repository with listing any workflows, I currently get the following error: ``` File "/Users/boltonbailey/Desktop/mathlibcontribution/mathlib4/scripts/downstream_dashboard.py", line 189, in check_workflow_uses_action workflow_filename = repo['workflows'][workflow_name] KeyError: 'workflows' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/boltonbailey/Desktop/mathlibcontribution/mathlib4/scripts/downstream_dashboard.py", line 321, in main() File "/Users/boltonbailey/Desktop/mathlibcontribution/mathlib4/scripts/downstream_dashboard.py", line 260, in main success = check_workflow_uses_action(repo, 'build', 'leanprover/lean-action') and success File "/Users/boltonbailey/Desktop/mathlibcontribution/mathlib4/scripts/downstream_dashboard.py", line 193, in check_workflow_uses_action example_entry = {**repo, 'workflows': {**repo['workflows'], workflow_name: f'{workflow_name}.yml'}} KeyError: 'workflows' ``` It would be nice if I could run the script without specifying the workflows I already have in the `downstream_repos.yml` file. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI delegated 5/2 scripts/downstream_dashboard.py 1 3 ['Vierkantor', 'github-actions', 'mathlib-bors'] nobody 1
2-57442
2 days ago
2-57442
2 days ago
4-33511
4 days
27958 pechersky
author:pechersky
feat(NumberTheory/Padics): norm of Int lt one iff p divides On the way to p-1 roots of unity With helper lemmas for natCast and simplification of norms of Int.natAbs Move some lemmas out of `padicNormE` namespace into `Padic` namespace which is similar to already existing lemmas in `PadicInt` namespace --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-analysis t-number-theory delegated
label:t-algebra$
92/38 Mathlib/Analysis/Normed/Ring/Basic.lean,Mathlib/NumberTheory/Harmonic/Int.lean,Mathlib/NumberTheory/Padics/Complex.lean,Mathlib/NumberTheory/Padics/Hensel.lean,Mathlib/NumberTheory/Padics/PadicIntegers.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/Padics/RingHoms.lean 7 29 ['YaelDillies', 'github-actions', 'kckennylau', 'mathlib-bors', 'pechersky', 'riccardobrasca'] YaelDillies
assignee:YaelDillies
2
2-40176
2 days ago
2-45796
2 days ago
13-35113
13 days
28587 vihdzp
author:vihdzp
feat: irreducible polynomial has positive degree --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra easy
label:t-algebra$
12/2 Mathlib/Algebra/Polynomial/FieldDivision.lean 1 1 ['github-actions', 'lauramonk'] nobody 1
2-39914
2 days ago
2-65999
2 days ago
2-65992
2 days
26308 LessnessRandomness
author:LessnessRandomness
feat(Analysis.NormedSpace): add normalized vectors --- Add normalized vectors to Mathlib (zero vector for zero vector, the corresponding unit vectors for nonzero vectors) new-contributor t-analysis awaiting-author 68/0 Mathlib.lean,Mathlib/Analysis/NormedSpace/Normalize.lean 2 30 ['JovanGerb', 'LessnessRandomness', 'github-actions', 'j-loreaux'] nobody 1
2-27195
2 days ago
25-28368
25 days ago
33-6190
33 days
25832 xroblot
author:xroblot
feat(FieldTheory/LinearDisjoint): `trace` (resp. `norm`) and `algebraMap` commutes For `A` and `B` two linearly disjoint `R`-subalgebras in a commutative algebra `S` and `b` a `R`-basis of `B`, we construct a `A`-basis of `S = A ⊔ B` from `b` (and a similar construction using a `R`-basis of `A`). Then, we prove in this situation that `trace` commutes with `algebraMap`, that is: ```lean Algebra.trace A S (algebraMap B S x) = algebraMap R A (Algebra.trace R B x) ``` and a similar result for the norm. We also add a similar basis construction for `A` and `B` two linearly disjoint intermediate fields with the hypothesis that `A.toSubalgebra ⊔ B.toSubalgebra = ⊤`. This hypothesis is equivalent to `A ⊔ B = ⊤` in many cases (for example, one of the two extensions is algebraic over the base field) but not always. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import maintainer-merge t-algebra
label:t-algebra$
159/9 Mathlib/FieldTheory/LinearDisjoint.lean,Mathlib/RingTheory/LinearDisjoint.lean 2 47 ['acmepjz', 'chrisflav', 'github-actions', 'xroblot'] chrisflav
assignee:chrisflav
2
1-60530
1 day ago
1-61192
1 day ago
64-26172
64 days
28617 kckennylau
author:kckennylau
feat(AlgebraicGeometry): jointly surjective topology We define `jointlySurjectiveTopology` to have the same condition as `jointlySurjectivePretopology`, which is the new name of the former `surjectiveFamiliesPretopology`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-algebraic-geometry 48/3 Mathlib/AlgebraicGeometry/Sites/MorphismProperty.lean,Mathlib/CategoryTheory/Sites/Grothendieck.lean 2 6 ['chrisflav', 'github-actions', 'kckennylau'] chrisflav
assignee:chrisflav
1
1-54377
1 day ago
1-54727
1 day ago
2-6880
2 days
28615 kckennylau
author:kckennylau
feat(RingTheory): Standard open immersion We define the ring hom property `RingHom.IsStandardOpenImmersion` which is one that is a localization map away from some element. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory maintainer-merge 122/2 Mathlib.lean,Mathlib/RingTheory/Localization/Away/Basic.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/RingHom/OpenImmersion.lean 4 15 ['chrisflav', 'github-actions', 'kckennylau'] chrisflav
assignee:chrisflav
1
1-47865
1 day ago
1-47865
1 day ago
2-7957
2 days
27963 ShreckYe
author:ShreckYe
feat(Algebra/GCDMonoid): add some theorems related to divisibility and `lcm` for both `GCDMonoid` and `Nat` While working on formalizing some math olympiad problems, I found that the theorem `dvd_lcm : p ∣ lcm a b ↔ p ∣ a ∨ p ∣ b` is missing in Mathlib. So I added this along with some other related theorems. These theorems are simlilar to those related to divisibility and multiplication (`dvd_mul` as compared to `dvd_lcm` for example), as commented in the doc strings. new-contributor t-algebra
label:t-algebra$
102/0 Mathlib.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Data/Nat/GCD/Basic.lean,Mathlib/Data/Nat/GCD/Prime.lean 4 28 ['Ruben-VandeVelde', 'ShreckYe', 'github-actions', 'themathqueen'] erdOne
assignee:erdOne
1
1-39319
1 day ago
1-41329
1 day ago
9-44974
9 days
26614 Rida-Hamadani
author:Rida-Hamadani
feat(SimpleGraph): add more API for `take`/`drop` These came up while proving the Girth-Diameter inequality. The main lemma proves that taking `n` vertices of a walk results in a sub-walk of taking `k` vertices when `n` is less than or equal to `k`. The sub-walk relation is represented as `p.support.Sublist q.support` where `p` and `q` are walks. - [ ] depends on: #26655 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics awaiting-author 74/4 Mathlib/Combinatorics/SimpleGraph/Walk.lean 1 17 ['Rida-Hamadani', 'b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody 1
1-36495
1 day ago
1-36506
1 day ago
4-83551
4 days
26310 kckennylau
author:kckennylau
Binary form This PR provides the basic definition of binary forms, which are homogeneous polynomials in two variables. --- - [ ] depends on: #26312 - [ ] depends on: #26313 - [ ] depends on: #26314 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-author
label:t-algebra$
73/0 Mathlib.lean,Mathlib/RingTheory/MvPolynomial/BinaryForm.lean 2 12 ['MichaelStollBayreuth', 'github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot', 'ocfnash'] ocfnash
assignee:ocfnash
1
1-29715
1 day ago
1-32316
1 day ago
57-1104
57 days
28401 themathqueen
author:themathqueen
chore(LinearAlgebra/Matrix/HermitianFunctionalCalculus): moving and renaming stuff This moves the results about `spectrum` from `Matrix/HermitianFunctionalCalculus` to `Matrix/Spectrum` so that we can use them in other files. This also renames `Matrix.IsHermitian.eigenvalues_eq_spectrum_real`, as it should be `Matrix.IsHermitian.spectrum_real_eq_range_eigenvalues` since it states: `spectrum ℝ A = Set.range hA.eigenvalues` and not the other way around. Also added a result for what the `𝕜`-spectrum of a Hermitian matrix is. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra easy
label:t-algebra$
26/18 Mathlib/LinearAlgebra/Matrix/HermitianFunctionalCalculus.lean,Mathlib/LinearAlgebra/Matrix/Spectrum.lean 2 1 ['JonBannon', 'github-actions'] nobody 1
0-71331
19 hours ago
4-14210
4 days ago
6-46964
6 days
24514 b-mehta
author:b-mehta
chore(Int/GCD): use fuel in xgcd Modify the definition of xgcd to use fuel recursion, to allow it to be reduced in the kernel. As a consequence, this means the evaluation of field operations in ZMod p become provable by `rfl` and `decide`. Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/opaque.20recursion.20definitions.20break.20mergeSort.20decidability --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data awaiting-author 44/22 Mathlib/Data/Int/GCD.lean 1 5 ['astrainfinita', 'b-mehta', 'eric-wieser', 'github-actions', 'nomeata', 'urkud'] nobody 1
0-61884
17 hours ago
53-4581
1 month ago
58-34020
58 days
26783 matthewjasper
author:matthewjasper
feat(RingTheory/Flat): Add theorems relating Submodule.torsion and Module.Flat Co-authored-by: Kevin Buzzard --- This PR continues the work from #25334. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory FLT new-contributor awaiting-author 205/0 Mathlib.lean,Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/RingTheory/Flat/TorsionFree.lean,Mathlib/RingTheory/Ideal/IsPrincipal.lean 5 3 ['github-actions', 'kbuzzard'] kbuzzard
assignee:kbuzzard
1
0-60993
16 hours ago
0-60993
16 hours ago
45-72945
45 days
27157 riccardobrasca
author:riccardobrasca
feat: add relNorm_algebraMap --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra delegated
label:t-algebra$
28/3 Mathlib/RingTheory/Ideal/Norm/RelNorm.lean 1 9 ['eric-wieser', 'github-actions', 'mathlib-bors', 'ocfnash', 'xroblot'] ocfnash
assignee:ocfnash
2
0-60488
16 hours ago
0-60488
16 hours ago
14-66282
14 days
19872 YaelDillies
author:YaelDillies
chore(GroupTheory/Index): rename `relindex` to `relIndex` Zulip discussion about renaming: [#PR reviews > #19872 rename relindex to relIndex @ 💬](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2319872.20rename.20relindex.20to.20relIndex/near/515908054) --- - [x] depends on: #24044 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) FLT maintainer-merge t-algebra
label:t-algebra$
288/182 Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/FieldTheory/Relrank.lean,Mathlib/GroupTheory/Commensurable.lean,Mathlib/GroupTheory/CosetCover.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/IndexNormal.lean,Mathlib/GroupTheory/PGroup.lean,Mathlib/GroupTheory/Schreier.lean,Mathlib/GroupTheory/SchurZassenhaus.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/GroupTheory/Transfer.lean,Mathlib/LinearAlgebra/FreeModule/Finite/CardQuotient.lean,Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean,Mathlib/NumberTheory/NumberField/Discriminant/Different.lean,Mathlib/NumberTheory/NumberField/Units/Regulator.lean,Mathlib/RingTheory/Ideal/Quotient/Index.lean 17 27 ['Ruben-VandeVelde', 'TwoFX', 'YaelDillies', 'alreadydone', 'eric-wieser', 'github-actions', 'kbuzzard', 'leanprover-community-bot-assistant', 'loefflerd', 'madvorak', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'tb65536'] nobody 1
0-60235
16 hours ago
7-55242
7 days ago
200-68756
200 days
27837 CBirkbeck
author:CBirkbeck
feat(NumberTheory/Divisors): add divisorAntidiagonal equivalence. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-number-theory 1/0 Mathlib.lean 1 10 ['CBirkbeck', 'github-actions', 'riccardobrasca', 'tb65536'] tb65536
assignee:tb65536
1
0-50006
13 hours ago
9-8828
9 days ago
17-37630
17 days
28142 YaelDillies
author:YaelDillies
refactor: state hypotheses of `BialgHom.ofAlgHom` as equalities of `AlgHom`s ... as opposed to equalities of `LinearMap`s, and similarly for `BialgEquiv.ofAlgEquiv`. This way, dedicated `ext` lemmas can fire. From Toric --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory toric maintainer-merge 34/19 Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/RingTheory/Bialgebra/Equiv.lean,Mathlib/RingTheory/Bialgebra/Hom.lean 3 3 ['chrisflav', 'github-actions'] chrisflav
assignee:chrisflav
1
0-46289
12 hours ago
0-55519
15 hours ago
11-64575
11 days
27511 Nebula691
author:Nebula691
feat(Algebra/QuadraticAlgebra) : Define Quadratic Algebra Co-authored-by: Edison Xie Co-authored-by: Kenny Lau --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
419/0 Mathlib.lean,Mathlib/Algebra/QuadraticAlgebra.lean 2 70 ['Whysoserioushah', 'YaelDillies', 'eric-wieser', 'github-actions', 'kckennylau'] eric-wieser
assignee:eric-wieser
1
0-45140
12 hours ago
25-35739
25 days ago
25-35784
25 days
27282 artie2000
author:artie2000
feat(Algebra/Order/Ring): define ring orderings Define preorderings, their supports, orderings These objects are the right generalisation of the "positive cones" / "orderings" defined on fields in the classical Artin-Schreier argument that a field can be ordered if and only if -1 is not a sum of squares. See *An introduction to real algebra* by T.Y. Lam for details. Contrast `Algebra.Order.Ring.Cone`, which defines an algebraic axiomatisation of a (partially/linearly) ordered ring. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import delegated 209/20 Mathlib.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Order/Group/Cone.lean,Mathlib/Algebra/Order/Ring/Cone.lean,Mathlib/Algebra/Order/Ring/Ordering/Defs.lean 5 121 ['YaelDillies', 'adomani', 'artie2000', 'bryangingechen', 'chrisflav', 'github-actions', 'mathlib-bors', 'wwylele'] chrisflav
assignee:chrisflav
2
0-40214
11 hours ago
0-46175
12 hours ago
14-21388
14 days
27889 astrainfinita
author:astrainfinita
chore(RingTheory/(Mv)PowerSeries): use implicit parameters in `monomial`, `coeff`, `map`, `C`, and `constantCoeff` Just like what we did for `Polynomial`, `MvPolynomial`, and `HahnSeries`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-algebra
label:t-algebra$
555/572 Archive/Wiedijk100Theorems/Partition.lean,Mathlib/NumberTheory/Bernoulli.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean,Mathlib/RingTheory/HahnSeries/HEval.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/KrullDimension/NonZeroDivisors.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/MvPowerSeries/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Evaluation.lean,Mathlib/RingTheory/MvPowerSeries/Inverse.lean,Mathlib/RingTheory/MvPowerSeries/LexOrder.lean,Mathlib/RingTheory/MvPowerSeries/LinearTopology.lean,Mathlib/RingTheory/MvPowerSeries/NoZeroDivisors.lean,Mathlib/RingTheory/MvPowerSeries/Order.lean,Mathlib/RingTheory/MvPowerSeries/PiTopology.lean,Mathlib/RingTheory/MvPowerSeries/Substitution.lean,Mathlib/RingTheory/MvPowerSeries/Trunc.lean,Mathlib/RingTheory/Polynomial/Eisenstein/Distinguished.lean,Mathlib/RingTheory/Polynomial/GaussNorm.lean,Mathlib/RingTheory/Polynomial/HilbertPoly.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/Binomial.lean,Mathlib/RingTheory/PowerSeries/CoeffMulMem.lean,Mathlib/RingTheory/PowerSeries/Derivative.lean,Mathlib/RingTheory/PowerSeries/Evaluation.lean,Mathlib/RingTheory/PowerSeries/GaussNorm.lean,Mathlib/RingTheory/PowerSeries/Inverse.lean,Mathlib/RingTheory/PowerSeries/NoZeroDivisors.lean,Mathlib/RingTheory/PowerSeries/Order.lean,Mathlib/RingTheory/PowerSeries/PiTopology.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean,Mathlib/RingTheory/PowerSeries/Trunc.lean,Mathlib/RingTheory/PowerSeries/WeierstrassPreparation.lean,Mathlib/RingTheory/PowerSeries/WellKnown.lean 34 21 ['alreadydone', 'github-actions', 'leanprover-bot', 'mathlib4-merge-conflict-bot'] nobody 1
0-38455
10 hours ago
0-47180
13 hours ago
11-23438
11 days
28662 gasparattila
author:gasparattila
feat: products of affine maps This PR defines some maps and isomorphisms between products of affine spaces. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-euclidean-geometry t-algebra
label:t-algebra$
168/0 Mathlib/LinearAlgebra/AffineSpace/AffineEquiv.lean,Mathlib/LinearAlgebra/AffineSpace/AffineMap.lean,Mathlib/LinearAlgebra/AffineSpace/ContinuousAffineEquiv.lean,Mathlib/Topology/Algebra/ContinuousAffineMap.lean 4 2 ['eric-wieser', 'github-actions'] nobody 1
0-22104
6 hours ago
0-65080
18 hours ago
0-36246
10 hours
27174 ADedecker
author:ADedecker
chore(OreLocalization): generalize some results from rings to monoids with zeros --- 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/) t-algebra delegated
label:t-algebra$
112/73 Mathlib.lean,Mathlib/RingTheory/OreLocalization/Basic.lean,Mathlib/RingTheory/OreLocalization/NonZeroDivisors.lean,Mathlib/RingTheory/OreLocalization/Ring.lean 4 6 ['Ruben-VandeVelde', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib-bors', 'riccardobrasca'] jcommelin
assignee:jcommelin
1
0-20847
5 hours ago
2-59034
2 days ago
33-30654
33 days
28697 chrisflav
author:chrisflav
chore(RingTheory/Generators): make type argument in `localizationAway` and `baseChange` explicit The `S` (resp. `T`) argument in `Generators.localizationAway` (resp. `Generators.baseChange`) is not inferable from the other arguments and is currently frequently explicitly provided. Moreover, `Presentation.localizationAway` (resp. `Presentation.baseChange`) already take `S` (resp. `T`) explicitly. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory maintainer-merge 21/19 Mathlib/RingTheory/Extension/Cotangent/LocalizationAway.lean,Mathlib/RingTheory/Extension/Generators.lean,Mathlib/RingTheory/Extension/Presentation/Basic.lean 3 2 ['Ruben-VandeVelde', 'github-actions'] nobody 1
0-17426
4 hours ago
0-17426
4 hours ago
0-39437
10 hours
28534 raja-19
author:raja-19
feat(Data/Set/Card): add lemmas of the form `card_Union_le` Add `Finset`/`Fintype`/`Finite` and `ncard`/`encard` variants. [Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.60card_Union_le_sum_card.60.20lemmas) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 52/3 Mathlib/Data/Set/Card/Arithmetic.lean 1 15 ['github-actions', 'kckennylau', 'raja-19'] nobody 1
0-14687
4 hours ago
4-8417
4 days ago
4-8462
4 days
12934 grunweg
author:grunweg
chore: replace more uses of > or ≥ by < or ≤ These were flagged by the linter in https://github.com/leanprover-community/mathlib4/pull/12879: it is easy to simple avoid > or ≥ in hypotheses or haves. --- [![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 11 ['YaelDillies', 'adomani', 'github-actions', 'grunweg', 'jcommelin', 'urkud'] nobody 1
385-61865
1 year ago
398-71462
1 year ago
1-73101
1 day
12608 eric-wieser
author:eric-wieser
feat: allow `nsmul` / `zsmul` to be omitted again, with a warning --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-meta merge-conflict awaiting-author
label:t-algebra$
118/2 Mathlib.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Tactic.lean,Mathlib/Tactic/DefaultFieldLinter.lean,scripts/noshake.json,test/default_field_linter.lean 6 12 ['YaelDillies', 'eric-wieser', 'fpvandoorn', 'github-actions'] nobody 1
385-61865
1 year ago
434-56929
1 year ago
5-72414
5 days
9146 laughinggas
author:laughinggas
feat(Data/ZMod/Defs): Topological structure on `ZMod` Added a discrete topology structure to `ZMod n` for all `n` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-topology merge-conflict awaiting-author
label:t-algebra$
55/3 Mathlib.lean,Mathlib/Topology/Algebra/Constructions.lean,Mathlib/Topology/Algebra/Group/Basic.lean,Mathlib/Topology/Instances/ZMod.lean,Mathlib/Topology/Maps.lean 5 61 ['YaelDillies', 'eric-wieser', 'github-actions', 'jcommelin', 'laughinggas', 'mo271', 'urkud'] nobody 1
385-61862
1 year ago
566-69990
1 year ago
7-6153
7 days
8519 eric-wieser
author:eric-wieser
refactor(LinearAlgebra/TensorProduct): golf using `liftAddHom` This new `TensorProduct.liftAddHom` doesn't require bilinearity, only that scalar multiplication can be moved between the arguments. While in theory we only need the `AddMonoidHom` version as it offers exactly the same generality, we first provide an unbundled `liftFun` as this seems to give a sizeable performance boost if used in downstream `lift` variants. --- - [x] depends on: #8571 - [x] depends on: #8584 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict awaiting-author
label:t-algebra$
53/50 Mathlib/Algebra/Category/AlgebraCat/Monoidal.lean,Mathlib/LinearAlgebra/TensorProduct.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean 3 28 ['bustercopley', 'eric-wieser', 'jcommelin', 'jjaassoonn', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib-bors'] nobody 1
385-61862
1 year ago
534-34177
1 year ago
5-6524
5 days
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 36 ['adomani', 'alreadydone', 'digama0', 'eric-wieser', 'ericrbg', 'jcommelin', 'leanprover-bot', 'sgouezel'] nobody 1
385-61861
1 year ago
407-42565
1 year ago
35-56459
35 days
6403 FR-vdash-bot
author:FR-vdash-bot
chore: change instance priorities of `Ordered*` hierarchy --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) slow-typeclass-synthesis t-order t-algebra merge-conflict awaiting-author
label:t-algebra$
253/79 Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Algebra/Order/Field/Canonical/Defs.lean,Mathlib/Algebra/Order/Field/Defs.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Monoid/Basic.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/WithZero/Defs.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/Star.lean,Mathlib/Algebra/Order/WithZero.lean,Mathlib/Analysis/InnerProductSpace/Orientation.lean,Mathlib/LinearAlgebra/Orientation.lean,Mathlib/RingTheory/HahnSeries.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/Tactic/Positivity/Core.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean 18 39 ['FR-vdash-bot', 'Vierkantor', 'digama0', 'eric-wieser', 'j-loreaux', 'leanprover-bot'] nobody 1
385-61860
1 year ago
444-18930
1 year ago
13-18399
13 days
3757 thorimur
author:thorimur
feat: config options for `fail_if_no_progress` This PR creates config options for `fail_if_no_progress` that allow the user to tweak what exactly counts as "progress". This includes whether to use defeq or `BEq`, what transparency to use, and which parts of the goal and local context to check. It also splits off the comparison functionality into `Mathlib.Lean.Meta.Compare`, which provides fully configurable comparison functions for common complex metaprogramming types not specific to `fail_if_no_progress`. These types are `Expr`, `LocalDecl`, `LocalContext`, `MetavarDecl`, `MVarId`, and `List MVarId`. --- See [zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/progress.20on.20fail_if_no_progress) for a couple review questions. Status update: this PR is now basically done, save for some extra tests which should probably be included. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict WIP 603/54 Mathlib.lean,Mathlib/Lean/Meta.lean,Mathlib/Lean/Meta/Compare.lean,Mathlib/Tactic/FailIfNoProgress.lean,test/fail_if_no_progress.lean 5 38 ['alexjbest', 'github-actions', 'joneugster', 'kim-em', 'thorimur'] nobody 1
385-61859
1 year ago
637-73045
1 year ago
45-49113
45 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/) t-data new-contributor merge-conflict 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 1
366-39162
1 year ago
371-55404
1 year ago
54-52408
54 days
15448 urkud
author:urkud
chore(*): deprecate `Option.elim'` Use `Option.elim` instead. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt merge-conflict awaiting-author 54/50 Mathlib/Algebra/BigOperators/Option.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Split.lean,Mathlib/Analysis/Calculus/LagrangeMultipliers.lean,Mathlib/CategoryTheory/Category/PartialFun.lean,Mathlib/Computability/TMToPartrec.lean,Mathlib/Data/Option/Defs.lean,Mathlib/LinearAlgebra/Basis.lean,Mathlib/Logic/Embedding/Set.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/MeasureTheory/OuterMeasure/Induced.lean,Mathlib/NumberTheory/Dioph.lean,Mathlib/Topology/Compactness/Paracompact.lean,Mathlib/Topology/LocallyFinite.lean 17 12 ['Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'grunweg', 'urkud'] nobody 1
366-28215
1 year ago
367-17362
1 year ago
7-18420
7 days
11800 JADekker
author:JADekker
feat : Define 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/) awaiting-zulip t-topology merge-conflict please-adopt 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 1
338-74033
11 months ago
339-9608
11 months ago
119-10687
119 days
11500 mcdoll
author:mcdoll
refactor(Topology/Algebra/Module/WeakDual): Clean up - Move `Dual` and `dualPairing` lower in the import-hierachy - deduplicate `dualPairing` - Bundle continuity statements to `CLM`s. - Make `WeakDual` and `WeakSpace` reducible - Remove `refine'` in favor of `refine` --- Cleaning up `Analysis/NormedSpace/WeakDual` will be done in a second PR [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict awaiting-author 227/179 Mathlib.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/Dual.lean,Mathlib/Analysis/LocallyConvex/Polar.lean,Mathlib/Analysis/NormedSpace/Dual.lean,Mathlib/Analysis/NormedSpace/WeakDual.lean,Mathlib/Analysis/VonNeumannAlgebra/Basic.lean,Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean,Mathlib/MeasureTheory/Measure/FiniteMeasure.lean,Mathlib/Topology/Algebra/Module/CharacterSpace.lean,Mathlib/Topology/Algebra/Module/Dual.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean,docs/overview.yaml,docs/undergrad.yaml 15 14 ['ADedecker', 'grunweg', 'j-loreaux', 'kkytola', 'mathlib-bors', 'mcdoll'] nobody 2
316-74997
10 months ago
316-74997
10 months ago
46-5572
46 days
12133 ADedecker
author:ADedecker
feat: generalize instIsLowerProd to arbitrary products Also change a bit the proof of the product case to match my own taste, feel free to tell if you prefer the old one. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order t-topology merge-conflict awaiting-author 34/14 Mathlib/Topology/Constructions.lean,Mathlib/Topology/Order/LowerUpperTopology.lean 2 13 ['Ruben-VandeVelde', 'TwoFX', 'github-actions', 'jcommelin', 'mans0954', 'mathlib-bors', 'riccardobrasca'] nobody 2
278-61067
9 months ago
278-61067
9 months ago
63-69206
63 days
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/) new-contributor t-measure-probability merge-conflict awaiting-author 49/0 Mathlib/MeasureTheory/Function/L1Space.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral.lean,Mathlib/MeasureTheory/Integral/SetIntegral.lean 4 30 ['EtienneC30', 'arulandu', 'github-actions', 'loefflerd'] nobody 1
203-23394
6 months ago
203-23394
6 months ago
9-73631
9 days
2605 eric-wieser
author:eric-wieser
chore: better error message in linarith On this mwe: ```lean import Mathlib.Tactic.Linarith example (s : Set ℕ) (h : s = s) : 0 ≤ 1 := by linarith ``` this now indicates where the internal error is coming from. Is there a better way of chaining errors than this? --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict awaiting-author 12/1 Mathlib/Tactic/Linarith/Preprocessing.lean 1 3 ['Vierkantor', 'harahu', 'kim-em', 'mo271'] nobody 1
202-39554
6 months ago
637-12841
1 year ago
4-7271
4 days
17005 YnirPaz
author:YnirPaz
feat(SetTheory/Cardinal/Regular): define singular cardinals Define singular cardinals and prove basic lemmas about them. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict WIP 94/1 Mathlib.lean,Mathlib/SetTheory/Cardinal/Regular.lean,Mathlib/SetTheory/Ordinal/Basic.lean 3 28 ['YaelDillies', 'YnirPaz', 'github-actions', 'vihdzp'] nobody 1
184-73726
6 months ago
260-66908
8 months ago
34-18388
34 days
18463 vihdzp
author:vihdzp
feat(SetTheory/Ordinal/Notation/FundamentalSequence): define type of fundamental sequences We define `Sequence α` as the type of sequences with length 0, 1, or `ω`, and give a basic API. A subsequent PR will introduce the notion of a (countable and computable) fundamental sequence and establish basic results. The goal of this is to generalize [`ONote.fundamentalSequence`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/SetTheory/Ordinal/Notation.html#ONote.fundamentalSequence) to allow the construction of fundamental sequences for other ordinal notations. --- See [my ordinal notation repository](https://github.com/vihdzp/ordinal-notation/blob/a6fdd7fe7cb521e686ea271902e7e5496f1804d3/OrdinalNotation/Cantor.lean#L1218) for a demonstration of how this API looks in practice. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory t-order merge-conflict 174/1 Mathlib.lean,Mathlib/SetTheory/Ordinal/Notation/Cantor.lean,Mathlib/SetTheory/Ordinal/Notation/FundamentalSequence.lean 3 19 ['YnirPaz', 'b-mehta', 'github-actions', 'vihdzp'] nobody 1
182-73103
6 months ago
182-73103
6 months ago
52-25108
52 days
15991 vihdzp
author:vihdzp
feat(SetTheory/Ordinal/CantorNormalForm): alternate CNF recursion principle The idea of this recursion principle is that you can build an ordinal by adding one power of `b` at a time, as long as `1 < b ≤ ω`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory t-logic merge-conflict awaiting-author 43/0 Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/CantorNormalForm.lean,Mathlib/SetTheory/Ordinal/Exponential.lean 3 8 ['YaelDillies', 'eric-wieser', 'github-actions', 'vihdzp'] nobody 1
155-51055
5 months ago
155-51055
5 months ago
91-50443
91 days
17758 vihdzp
author:vihdzp
feat(SetTheory/Ordinal/ENat): `Ordinal.toENat` We essentially copy the `Cardinal/ENat` file but make it for ordinals instead. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict 300/0 Mathlib.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/SetTheory/Cardinal/ENat.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/ENat.lean 6 2 ['Command-Master', 'github-actions', 'vihdzp'] nobody 1
155-50584
5 months ago
155-50584
5 months ago
126-40106
126 days
19189 YnirPaz
author:YnirPaz
feat(SetTheory/Ordinal/Arithmetic): order isomorphism between omega and the natural numbers --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict awaiting-author 44/0 Mathlib/Order/SuccPred/Limit.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean 2 21 ['YaelDillies', 'YnirPaz', 'github-actions', 'vihdzp'] nobody 1
152-80937
4 months ago
152-80937
4 months ago
47-37012
47 days
19275 eric-wieser
author:eric-wieser
fix: if nolint files change, do a full rebuild Otherwise CI will succeed when removing entries from the file, but fail later when someone changes something unrelated. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict delegated 8/0 lakefile.lean 1 20 ['YaelDillies', 'adomani', 'eric-wieser', 'github-actions', 'grunweg', 'mathlib-bors'] nobody 1
138-39398
4 months ago
138-39398
4 months ago
0-214
3 minutes
23411 PatrickMassot
author:PatrickMassot
chore: remove finiteness from Order.Filter.Lift Co-authored-by: Anatole Dedecker --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) longest-pole t-topology merge-conflict 48/21 Mathlib/Dynamics/TopologicalEntropy/DynamicalEntourage.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Finite.lean,Mathlib/Order/Filter/Lift.lean,Mathlib/Order/Filter/SmallSets.lean,Mathlib/Topology/Algebra/ContinuousMonoidHom.lean,Mathlib/Topology/Basic.lean 7 4 ['Vierkantor', 'github-actions', 'kim-em', 'leanprover-community-bot-assistant'] nobody 1
134-57465
4 months ago
134-77034
4 months ago
10-21608
10 days
19425 hrmacbeth
author:hrmacbeth
perf: gcongr forward-reasoning adjustment This PR changes the "forward-reasoning" component of `gcongr`, rendering it more efficient, particularly in problems with a large number of variables/hypotheses in the context. Previously `gcongr` attempted to match *every* `LocalDecl` against *every* node in the parse tree using *each* of the five implemented `@[gcongr_forward]` mini-tactics: matching directly, matching after applying `symm`, matching after applying `le_of_lt`, etc etc. The new algorithm filters out the non-Prop `LocalDecl`s, and also adjusts the `@[gcongr_forward]` extensions so that, rather than re-apply the relevant lemmas (`symm`, `le_of_lt`, etc) at every node in the parse tree, the lemmas are applied in advance to the `LocalDecl`s and the result (if successful) stored. The performance effect on mathlib as a whole is miniscule, but it speeds up the profiler's count of "tactic execution of Mathlib.Tactic.GCongr" in the newly-added test from 257 ms to 47 ms, and has a similar effect on real-life examples in an analysis project of mine. Co-authored-by: Mario Carneiro --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) (Note that Mario provided the ideas but not the code, so please review with appropriate diligence!) merge-conflict awaiting-author 130/59 Mathlib/Order/Lattice.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/GCongr/ForwardAttr.lean,MathlibTest/GCongr/inequalities.lean 4 17 ['Vierkantor', 'github-actions', 'hrmacbeth', 'leanprover-bot', 'leanprover-community-bot-assistant'] Vierkantor
assignee:Vierkantor
1
132-55916
4 months ago
132-55918
4 months ago
4-16654
4 days
12673 grunweg
author:grunweg
feat: add ContDiff.lipschitzOnWith A C¹ function is Lipschitz on each convex compact set. From sphere-eversion. -------- Commits can be reviewed independently. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict awaiting-author help-wanted 30/11 Mathlib/Analysis/Calculus/ContDiff/RCLike.lean 1 6 ['Ruben-VandeVelde', 'github-actions', 'grunweg', 'sgouezel'] nobody 1
125-35994
4 months ago
125-35994
4 months ago
1-7552
1 day
8370 eric-wieser
author:eric-wieser
refactor(Analysis/NormedSpace/Exponential): remove the `𝕂` argument from `exp` This argument is still needed for almost all the lemmas, which means it can longer be found by unification. We keep around `expSeries 𝕂 A`, as it's needed for talking about the radius of convergence over different base fields. This is a prerequisite for #8372, as we can't merge the functions until they have the same interface.\ Zulip thread: [#mathlib4 > Real.exp @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Real.2Eexp/near/401602245) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) This is started from the mathport output on https://github.com/leanprover-community/mathlib/pull/19244 awaiting-zulip t-analysis merge-conflict 432/387 Mathlib/Analysis/CStarAlgebra/Exponential.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/Normed/Algebra/MatrixExponential.lean,Mathlib/Analysis/Normed/Algebra/QuaternionExponential.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/TrivSqZeroExt.lean,Mathlib/Analysis/NormedSpace/DualNumber.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog.lean,Mathlib/Analysis/SpecialFunctions/Exponential.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Series.lean 11 29 ['YaelDillies', 'eric-wieser', 'girving', 'github-actions', 'j-loreaux', 'kbuzzard', 'leanprover-community-bot-assistant', 'urkud'] nobody 1
118-2660
3 months ago
129-31290
4 months ago
29-60989
29 days
19315 quangvdao
author:quangvdao
feat(Data/Finsupp/Fin): Add `Finsupp` operations on `Fin` tuple This PR adds more analogues of operations on `Fin` tuples to the `Finsupp` setting. Before, there were only `Finsupp.cons` and `Finsupp.tail`. Now there are also `Finsupp.snoc`, `Finsupp.insertNth`, `Finsupp.init`, and `Finsupp.removeNth`. These all come with supporting lemmas. I also removed the porting comment about `succAboveCases` in `Data/Fin/Basic`, and added a lemma about `succAbove` in `Data/Fin/Tuple/Basic`. --- - [x] depends on: #20361 - [x] depends on: #20771 - [x] depends on: #20770 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict awaiting-author 193/16 Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finsupp.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Data/Finsupp/Fin.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean,scripts/nolints_prime_decls.txt 6 44 ['YaelDillies', 'github-actions', 'j-loreaux', 'kbuzzard', 'mathlib4-dependent-issues-bot', 'quangvdao'] nobody 1
106-12521
3 months ago
106-12521
3 months ago
43-81255
43 days
7907 urkud
author:urkud
feat: introduce `NthRoot` notation class Also use it for `Real.sqrt`, and replace the few occurrences of `sqrt` that do not already use the notation. --- [Zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/.60Sqrt.60.20notation.20typeclass/near/400086502) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-analysis awaiting-CI merge-conflict
label:t-algebra$
193/156 Archive/Imo/Imo1959Q2.lean,Archive/Imo/Imo1960Q2.lean,Archive/Imo/Imo2001Q2.lean,Archive/Imo/Imo2006Q3.lean,Archive/Imo/Imo2008Q3.lean,Archive/Imo/Imo2008Q4.lean,Archive/Sensitivity.lean,Archive/Wiedijk100Theorems/AreaOfACircle.lean,Mathlib.lean,Mathlib/Algebra/NthRoot.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/Complex/AbelLimit.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/Asymptotics.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Bounds.lean,Mathlib/Data/Real/GoldenRatio.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean,Mathlib/NumberTheory/Harmonic/GammaDeriv.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/ConvexBody.lean,Mathlib/NumberTheory/NumberField/ClassNumber.lean,Mathlib/NumberTheory/NumberField/Discriminant/Basic.lean,Mathlib/Probability/Distributions/Gaussian.lean,MathlibTest/positivity.lean 28 9 ['eric-wieser', 'github-actions', 'kmill', 'urkud'] nobody 1
104-39635
3 months ago
358-53193
11 months ago
0-0
0 seconds
13685 niklasmohrin
author:niklasmohrin
feat(Combinatorics): add definitions for network flows Although we might not have any super-interesting results ready for mathlib yet, I feel that the definitions from this commit are already mature enough to include. These definitions are ported from last semester's work we did at https://github.com/niklasmohrin/lean-seminar-2023 and I have put some time in to refactor our code to `Int` and now to any parameter `R`. In the linked repository, there is some more stuff that I can send in. One obstacle without integer values is that it is not clear why a maximum flow would exist. I think the best way to tackle this would be to prove max-flow-min-cut theorem and implement the Ford-Fulkerson algorithm. It has been pointed out on Zulip that there is an [Isabelle formalization of the Edmonds Karp Algorithm](https://www.isa-afp.org/entries/EdmondsKarp_Maxflow.html). I feel that the definitions are pretty solid and it makes sense to include them, even if just for unifying definitions across downstream projects. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics merge-conflict awaiting-author 244/0 Mathlib.lean,Mathlib/Combinatorics/Flow/Basic.lean,docs/references.bib 3 57 ['Shreyas4991', 'YaelDillies', 'b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'madvorak', 'niklasmohrin'] nobody 1
98-2758
3 months ago
98-2760
3 months ago
86-21072
86 days
17129 joneugster
author:joneugster
feat(Tactic/Linter): add unicode linter for unicode variant-selectors Unicode characters can be followed by one of the two "variant-selectors" `\FE0E` (text) or `\FE0F` (emoji). These appear to the user as a single unicode character and they might copy them by accident. For example `✅️` (`\u2705\uFE0F`), `✅` (`\u2705`) and `✅︎` (`\u2705\uFE0E`) are three variants of the "same" unicode character. The one without variant-selector might display as either emoji or not, depending on the user's device and font. Add unicode linter ensuring variant-selector only appear on specified characters and also ensuring these characters always have the correct variant selector to avoid confusions. Everything flagged by this linter can be fixed fully automatically with `lake exe lint-style --fix` or by commenting `bot fix style` on the PR. --- - tracking PR: #16215 ## Zulip discussions: - https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Whitelist.20for.20Unicode.3F - https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Lean.20specific.20font ## Related PRs: - leanprover/lean4#5015 added some emoji-variant selectors to Emojis used in `Lean` itself. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-linter merge-conflict delegated awaiting-author 245/14 Mathlib.lean,Mathlib/GroupTheory/GroupExtension/Defs.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/Linter/UnicodeLinter.lean,Mathlib/Tactic/Widget/Calc.lean,Mathlib/Tactic/Widget/CongrM.lean,Mathlib/Tactic/Widget/Conv.lean,Mathlib/Tactic/Widget/GCongr.lean,Mathlib/Topology/ContinuousMap/Weierstrass.lean,MathlibTest/LintStyleTextBased.lean 11 25 ['YaelDillies', 'adomani', 'github-actions', 'grunweg', 'joneugster', 'kim-em', 'leanprover-community-bot-assistant'] nobody 1
96-33420
3 months ago
96-33422
3 months ago
82-54712
82 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). --- - [ ] depends on: #24570 - [ ] 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/) t-linter merge-conflict 58/19 Mathlib/Tactic/Linter/TextBased.lean,scripts/lint-style.lean 2 19 ['Vierkantor', 'adomani', 'github-actions', 'grunweg', 'joneugster', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] joneugster
assignee:joneugster
1
86-46750
2 months ago
86-46753
2 months ago
43-17409
43 days
24965 erdOne
author:erdOne
refactor: Make `IsLocalHom` take unbundled map --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-algebra merge-conflict awaiting-author
label:t-algebra$
16/7 Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/Geometry/RingedSpace/LocallyRingedSpace.lean,Mathlib/Geometry/RingedSpace/LocallyRingedSpace/HasColimits.lean,Mathlib/Geometry/RingedSpace/OpenImmersion.lean 5 6 ['alreadydone', 'erdOne', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] nobody 1
78-81861
2 months ago
78-81862
2 months ago
10-26015
10 days
24789 Ruben-VandeVelde
author:Ruben-VandeVelde
chore: move Algebra.Group.Hom.End to Algebra.Ring --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra merge-conflict awaiting-author
label:t-algebra$
55/50 Mathlib.lean,Mathlib/Algebra/Group/Hom/End.lean,Mathlib/Algebra/Group/Hom/Instances.lean,Mathlib/Algebra/Module/End.lean,Mathlib/Algebra/Ring/Hom/End.lean 5 6 ['Ruben-VandeVelde', 'YaelDillies', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] nobody 1
72-25006
2 months ago
72-25008
2 months ago
0-1530
25 minutes
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/) t-differential-geometry merge-conflict delegated 311/9 Mathlib/Data/Bundle.lean,Mathlib/Geometry/Manifold/VectorBundle/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/Pullback.lean,Mathlib/Topology/FiberBundle/Constructions.lean 4 24 ['PatrickMassot', 'github-actions', 'grunweg', 'hrmacbeth', 'j-loreaux', 'leanprover-community-bot-assistant', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'sgouezel'] grunweg
assignee:grunweg
1
46-77308
1 month ago
46-77308
1 month ago
91-73632
91 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/) t-number-theory merge-conflict 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 31 ['Ruben-VandeVelde', 'erdOne', 'faenuccio', 'github-actions', 'leanprover-community-bot-assistant', 'pechersky', 'smmercuri', 'xroblot'] nobody 1
43-55248
1 month ago
44-39376
1 month ago
79-1228
79 days
26895 vihdzp
author:vihdzp
feat(SetTheory/Cardinal/Aleph): `IsStrongLimit (preBeth x)` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict 20/12 Mathlib/SetTheory/Cardinal/Aleph.lean 1 2 ['github-actions', 'kckennylau', 'leanprover-community-bot-assistant'] nobody 1
40-21556
1 month ago
40-21557
1 month ago
3-18936
3 days
25941 erdOne
author:erdOne
feat(AlgebraicGeometry): inverse limits and schemes of finite type We prove the following: Given a cofiltered diagram `D` of quasi-compact `S`-schemes with affine transition maps, and another scheme `X` of finite type over `S`. Then the canonical map `colim Homₛ(Dᵢ, X) ⟶ Homₛ(lim Dᵢ, X)` is injective. Co-authored-by: Christian Merten --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebraic-geometry merge-conflict delegated 368/3 Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean,Mathlib/AlgebraicGeometry/Morphisms/Affine.lean,Mathlib/AlgebraicGeometry/Morphisms/FiniteType.lean,Mathlib/CategoryTheory/Limits/Constructions/Over/Connected.lean,Mathlib/CategoryTheory/Limits/Creates.lean 5 23 ['chrisflav', 'erdOne', 'github-actions', 'jcommelin', 'leanprover-community-bot-assistant', 'mathlib-bors'] nobody 1
28-47382
28 days ago
28-47383
28 days ago
17-3559
17 days
26608 vihdzp
author:vihdzp
feat(SetTheory/Cardinal/Aleph): `o.card ≤ ℵ_ o` and variants --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict 24/0 Mathlib/SetTheory/Cardinal/Aleph.lean 1 3 ['github-actions', 'kckennylau', 'leanprover-community-bot-assistant'] nobody 1
26-20491
26 days ago
26-20492
26 days ago
23-63406
23 days
27551 Paul-Lez
author:Paul-Lez
feat(Algebra/Order/Group/Pointwise/Interval): add simple lemmas about Set.MapsTo and intervals Some of these lemmas are used in #26992. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-CI merge-conflict
label:t-algebra$
42/42 Counterexamples/AharoniKorman.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/TangentCone.lean,Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/Convex/Extrema.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/Analysis/LocallyConvex/Bounded.lean,Mathlib/CategoryTheory/CofilteredSystem.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Set/Finite/Basic.lean,Mathlib/Data/Set/Function.lean,Mathlib/Dynamics/Flow.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/LinearAlgebra/Reflection.lean,Mathlib/LinearAlgebra/RootSystem/Basic.lean,Mathlib/Order/CompleteSublattice.lean,Mathlib/Topology/CWComplex/Classical/Basic.lean,Mathlib/Topology/CWComplex/Classical/Finite.lean,Mathlib/Topology/CompactOpen.lean,Mathlib/Topology/Connected/Basic.lean,Mathlib/Topology/ContinuousMap/SecondCountableSpace.lean,Mathlib/Topology/Maps/Basic.lean,Mathlib/Topology/PartialHomeomorph.lean,scripts/nolints_prime_decls.txt 25 6 ['Paul-Lez', 'YaelDillies', 'eric-wieser', 'github-actions'] nobody 1
12-43494
12 days ago
12-43494
12 days ago
1-4102
1 day
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/) t-meta merge-conflict 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
1
7-6983
7 days ago
7-6983
7 days ago
71-28549
71 days
13514 madvorak
author:madvorak
feat(Computability/ContextFreeGrammar): closure under union - [ ] depends on: #15895 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability merge-conflict blocked-by-other-PR 448/4 Mathlib/Computability/ContextFreeGrammar.lean 1 50 ['Rida-Hamadani', 'YaelDillies', 'github-actions', 'leanprover-community-mathlib4-bot', 'madvorak'] nobody 1
291-55019
9 months ago
291-55019
9 months ago
72-28392
72 days
26264 EtienneC30
author:EtienneC30
feat: characteristic function on product space The characteristic function of a measure is a product of characteristic functions if and only if the measure is a product measure. We prove this for Hilbert spaces and Banach spaces equipped with any Lp norm. --- - [x] depends on: #26248 - [x] depends on: #26249 - [ ] depends on: #26498 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability merge-conflict blocked-by-other-PR 279/12 Mathlib/Analysis/Normed/Lp/PiLp.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/Normed/Lp/WithLp.lean,Mathlib/LinearAlgebra/Pi.lean,Mathlib/MeasureTheory/Measure/CharacteristicFunction.lean,Mathlib/Topology/Algebra/Module/LinearMapPiProd.lean 6 6 ['EtienneC30', 'RemyDegenne', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib-bors', 'mathlib4-dependent-issues-bot'] nobody 1
20-50984
20 days ago
20-50985
20 days ago
0-83071
23 hours

All open 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
14345 digama0
author:digama0
feat: the Dialectica category is monoidal closed - [x] depends on: #14274 The monoidal closed structure of the Dialectica category. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory awaiting-author 252/0 Mathlib.lean,Mathlib/CategoryTheory/Dialectica/Closed.lean 2 3 ['github-actions', 'kim-em', 'leanprover-community-mathlib4-bot'] nobody
385-61867
1 year ago
401-29871
1 year ago
12-17890
12 days
14444 digama0
author:digama0
fix(GeneralizeProofs): unreachable! bug As [reported on Zulip](https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Unreachable.20code.20reached.20in.20Lean.204.2E8.2E0/near/449286780). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta awaiting-author 1/1 Mathlib/Tactic/GeneralizeProofs.lean 1 4 ['github-actions', 'jcommelin', 'kmill'] nobody
385-61867
1 year ago
401-13037
1 year ago
10-36842
10 days
12952 adomani
author:adomani
test: length statistics --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) test-ci WIP 124/0 .github/workflows/mathlib_stats.yml,.github/workflows/ml_stats_label.yaml,scripts/mathlib_stats.sh 3 9 ['github-actions'] nobody
385-61866
1 year ago
414-34546
1 year ago
0-0
0 seconds
12984 adomani
author:adomani
Adomani/periodic reports dev custom action --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) test-ci WIP 366/0 .github/workflows/mathlib_stats.yml,.github/workflows/ml_stats_label.yaml,scripts/count_decls.lean,scripts/mathlib_stats.sh 4 n/a ['github-actions'] nobody
385-61865
1 year ago
unknown
unknown
13036 joelriou
author:joelriou
feat(CategoryTheory/Sites): under certain conditions, cover preserving functors preserve 1-hypercovers Previously, in order to show that a functor between Grothendieck sites was continuous, it was necessary to show that it was "cover preserving" and "compatible preserving". There were two lemmas which could be used in order to show that a functor was "compatible preserving". Since #13012, the better condition of "1-hypercover preserving" functor was introduced and it implies that the functor is continuous. In this PR, under the same assumptions as in the two lemmas mentionned above, we show that cover preserving functors are 1-hypercover preserving functors. This gives slightly better criteria in order to show that a functor is continuous. --- - [x] depends on: #13004 - [x] depends on: #13011 - [x] depends on: #13012 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory WIP 94/7 Mathlib/CategoryTheory/Sites/Continuous.lean,Mathlib/CategoryTheory/Sites/CoverPreserving.lean,Mathlib/CategoryTheory/Sites/Over.lean,Mathlib/CategoryTheory/Sites/Sieves.lean 4 2 ['github-actions', 'leanprover-community-mathlib4-bot'] nobody
385-61865
1 year ago
412-18187
1 year ago
0-0
0 seconds
12452 JADekker
author:JADekker
feat(Cocardinal) : add some more api Just a small PR to add a bit more API for cocardinal filters. Not everything seems to generalise nicely from cofinite, so I didn't include such results. Currently the file has one `sorry`, I'm not sure how to complete this proof. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology awaiting-CI 75/0 Mathlib/Order/Filter/Cocardinal.lean 1 0 [] nobody
385-61865
1 year ago
407-42565
1 year ago
0-0
0 seconds
11991 adomani
author:adomani
draft: syntax data linter A linter that prints `SyntaxNodeKind`s and `Range`s for all the nodes of a command. See this [Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there-code-for-X.3F/topic/undocumented.20things). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) WIP 152/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/SyntaxDataLinter.lean 3 0 [] nobody
385-61864
1 year ago
414-34539
1 year ago
0-0
0 seconds
10998 hmonroe
author:hmonroe
feat(Logic): Arithmetization of partial recursive functions (toward Gödel's first incompleteness theorem) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic awaiting-author 364/0 Mathlib.lean,Mathlib/Logic/Godel/PartArith.lean 2 3 ['Ruben-VandeVelde', 'YaelDillies'] nobody
385-61863
1 year ago
440-33099
1 year ago
97-20483
97 days
10099 mcdoll
author:mcdoll
feat: Integration by parts for higher dimensional spaces --- - [x] depends on: #9987 - [x] depends on: #10105 - [x] depends on: #10107 - [x] depends on: #10115 - [x] depends on: #10118 - [x] depends on: #10182 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability t-analysis WIP 429/0 Mathlib/Analysis/InnerProductSpace/OrthoDecomp.lean,Mathlib/MeasureTheory/Integral/test2.lean 2 3 ['alexjbest', 'github-actions', 'leanprover-community-mathlib4-bot'] nobody
385-61863
1 year ago
559-5880
1 year ago
0-0
0 seconds
9510 eric-wieser
author:eric-wieser
feat(Analysis/Calculus/DualNumber): Extending differentiable functions to dual numbers This shows that this operation preserves multiplication and composition --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-analysis awaiting-CI WIP
label:t-algebra$
119/0 Mathlib/Analysis/Calculus/DualNumber.lean 1 4 ['github-actions'] nobody
385-61862
1 year ago
591-49893
1 year ago
0-0
0 seconds
9352 chenyili0818
author:chenyili0818
feat: arithmetic lemmas for `gradient` This file is based on Mathlib.Analysis.Calculus.Gradient.Basic, and describes the calculation properties Co-authored-by: Ziyu Wang [tropicalfish910@gmail.com](mailto:tropicalfish910@gmail.com) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis awaiting-author 404/0 Mathlib.lean,Mathlib/Analysis/Calculus/Gradient/Lemmas.lean 2 30 ['chenyili0818', 'github-actions', 'jcommelin', 'sgouezel', 'winstonyin'] nobody
385-61862
1 year ago
547-43027
1 year ago
51-80670
51 days
9469 dupuisf
author:dupuisf
feat: maximum modulus principle for functions vanishing at infinity This PR adds versions of the maximum modulus principle for functions vanishing at infinity that parallel those we already had for functions over a bounded set. These will have applications in e.g. norm interpolation. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis awaiting-author 71/0 Mathlib/Analysis/Complex/AbsMax.lean 1 8 ['dupuisf', 'j-loreaux'] nobody
385-61862
1 year ago
580-16708
1 year ago
12-86009
12 days
7125 eric-wieser
author:eric-wieser
feat: additive monoid structure via biproducts I suspect I'm missing a trick with these transport lemmas. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory awaiting-CI WIP 237/0 Mathlib/CategoryTheory/Limits/Skeleton.lean 1 2 ['alreadydone', 'eric-wieser'] nobody
385-61861
1 year ago
695-49602
1 year ago
0-0
0 seconds
8224 Kha
author:Kha
chore: add `lean4checker` benchmark WIP 16/0 scripts/bench/temci-config.run.yml 1 3 ['Kha', 'grunweg', 'kim-em', 'leanprover-bot'] nobody
385-61861
1 year ago
453-28390
1 year ago
0-0
0 seconds
7890 grhkm21
author:grhkm21
feat(Mathlib/Tactic/Setm): implement setm tactic This is my first time doing metaprogramming in Lean 4, please provide feedback when you have them :) The `setm` tactic, which stands for `set` + matching, matches a given expression with the goal and introduces new local hypotheses for the named holes specified. One of the best usage is for rearrangement proofs. As a simple example, ```lean example : (1 + 1) + (4 * 3) - (1 + 1) = (3 * 4 : Rat) := by setm ?A + ?B - ?A = (?C : Rat) rw [show ∀ A B, A + B - A = B by intro A B ; ring_nf ] apply Rat.mul_comm ``` One can imagine replacing the three term expression with a 7 term algebraic expression. This was developed with tons of help from [Zulip](https://leanprover.zulipchat.com/#narrow/stream/239415-metaprogramming-.2F-tactics/topic/Help.20with.20writing.20tactic), especially from Thomas. Thanks! TODO: - [X] Support `setm ... at ...` syntax, see *example 1* below - [X] Write docs - [ ] Use `withNewMCtxDepth` - [X] Rename the intermediate `MVar`s, see *example 2* below - [ ] Use `elabTermWithHolesPostponing` in conjunction with `Term.synthesizeSyntheticMVarsNoPostPoning` after `isDefEq` to handle instances Example 1: ```lean /- Usage with `using` and `at` keywords -/ example (h1 : 1 + 1 = 3) (h2 : 1 + 3 = 5) (h3 : 2 + 2 = 5) : true := by setm ?A + _ = (?B : Nat) using h2 at h1 h2 h3 guard_hyp A := 1 guard_hyp B := 5 guard_hyp h1 : A + A = 3 guard_hyp h2 : A + 3 = B guard_hyp h3 : 2 + 2 = B trivial ``` Example 2: ```lean /- Test reusing named holes -/ example (h : b + a = c) : a + b = c := by /- setm 1-/ setm ?A + ?B = (_ : Nat) guard_hyp A := a guard_hyp B := b /- clean up -/ unfold_let A B clear hA hB A B /- setm 2 -/ rewrite [Nat.add_comm] setm ?A + ?B = (_ : Nat) at h ⊢ guard_hyp A := b guard_hyp B := a exact h ``` Co-authored-by: Jireh Loreaux [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 141/0 Mathlib.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/Setm.lean,test/Setm.lean 4 3 ['thorimur'] nobody
385-61861
1 year ago
666-63385
1 year ago
0-0
0 seconds
6859 MohanadAhmed
author:MohanadAhmed
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/) CI WIP help-wanted 114/0 .github/workflows/mk_windows_bundle.yml,scripts/windowsBundle.bat 2 0 [] nobody
385-61861
1 year ago
722-4732
1 year ago
0-0
0 seconds
5745 alexjbest
author:alexjbest
feat: a tactic to consume type annotations, and make constructor nicer During the copenhagen masterclass I found some situations where applying the constructor tactic left the goal in a difficult to read state when autoParams were present. We add a simple tactic to clean these up, and a macro for `constructor` to behave more like the constructor notation and do this automatically (constructor is in core) It seems that these things should be cleaned up by simp, but a simp lemma to remove these annotations is not accepted by lean as the types are too similar. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta awaiting-author 41/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Consume.lean,test/consume.lean 4 4 ['alexjbest', 'digama0', 'kim-em', 'kmill'] nobody
385-61860
1 year ago
470-25354
1 year ago
51-33797
51 days
4786 thorimur
author:thorimur
feat: AppBuilder utils This supplements `Lean.Meta.AppBuilder`, introducing variants of `mkAppN` and `mkAppM` which allow for more fine-grained management of existing and created metavariables. [Description pending] --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 205/0 Mathlib.lean,Mathlib/Lean/Meta/AppBuilder.lean 2 0 [] nobody
385-61860
1 year ago
805-62214
2 years ago
0-0
0 seconds
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/) new-contributor t-category-theory awaiting-author 112/0 Mathlib.lean,Mathlib/CategoryTheory/Sites/CoveringFamilies.lean 2 20 ['AnthonyBordg', 'adamtopaz', 'dagurtomas', 'github-actions', 'joelriou'] nobody
380-36877
1 year ago
385-30542
1 year ago
1-48443
1 day
15453 tomaz1502
author:tomaz1502
Track formalization of runtime complexity I finished porting https://github.com/leanprover-community/mathlib3/pull/14494/ to Lean 4 and made several small PRs, as suggested. This meta PR is used to track the progress of the smaller PRs. ## Pending PRs - [Formalization of List.insertionSort](https://github.com/leanprover-community/mathlib4/pull/15449) - [Lemmas about Split](https://github.com/leanprover-community/mathlib4/pull/15450) - [Formalization of List.merge](https://github.com/leanprover-community/mathlib4/pull/15451) - [Formalization of List.mergeSort](https://github.com/leanprover-community/mathlib4/pull/15452) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 525/0 Mathlib.lean,Mathlib/Computability/Timed/InsertionSort.lean,Mathlib/Computability/Timed/Merge.lean,Mathlib/Computability/Timed/MergeSort.lean,Mathlib/Computability/Timed/Split.lean 5 4 ['joneugster', 'mergify'] nobody
371-56145
1 year ago
371-56199
1 year ago
0-0
0 seconds
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/) new-contributor t-algebra awaiting-author
label:t-algebra$
5/0 Mathlib/Algebra/Group/Basic.lean 1 3 ['eric-wieser', 'github-actions', 'kim-em'] nobody
370-54253
1 year ago
370-54253
1 year ago
6-38745
6 days
10387 adomani
author:adomani
feat(Tactic/ComputeDegree): add `polynomial` tactic Introducing the `polynomial` tactic, summing up `compute_degree, monicity` and adding support for `leadingCoeff`. This is more of a proof of concept: if there is interest in this tactic, I can polish it up. See [this Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/113489-new-members/topic/Compute.20roots.20of.20polynomials/near/420713624). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) RFC t-meta WIP 24/0 Mathlib/Tactic/ComputeDegree.lean 1 0 [] nobody
370-51401
1 year ago
370-51401
1 year ago
0-0
0 seconds
9693 madvorak
author:madvorak
feat: Linear programming in the standard form --- Zulip discussion: https://leanprover.zulipchat.com/#narrow/stream/144837-PR-reviews/topic/.237386.20Linear.20Programming Four PRs incompatible with each other: https://github.com/leanprover-community/mathlib4/pull/7386 (list of constraints) https://github.com/leanprover-community/mathlib4/pull/9693 (matrix form) https://github.com/leanprover-community/mathlib4/pull/10026 (Antoine Chambert-Loir's def; semirings, linear) https://github.com/leanprover-community/mathlib4/pull/10159 (Antoine Chambert-Loir's def; rings, affine) - [x] depends on: #9652 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra RFC WIP
label:t-algebra$
86/0 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/LinearProgramming.lean 2 14 ['apurvanakade', 'github-actions', 'leanprover-community-mathlib4-bot', 'madvorak'] nobody
370-51316
1 year ago
370-51316
1 year ago
0-0
0 seconds
7386 madvorak
author:madvorak
feat: Define linear programs Linear programs over a general `Module` with constraints given in the form "aᵀx - b ≥ 0" and the objective function as an `AffineMap` to be minimized. --- Zulip discussion: https://leanprover.zulipchat.com/#narrow/stream/144837-PR-reviews/topic/.237386.20Linear.20Programming Four PRs incompatible with each other: https://github.com/leanprover-community/mathlib4/pull/7386 (list of constraints) https://github.com/leanprover-community/mathlib4/pull/9693 (matrix form) https://github.com/leanprover-community/mathlib4/pull/10026 (Antoine Chambert-Loir's def; semirings, linear) https://github.com/leanprover-community/mathlib4/pull/10159 (Antoine Chambert-Loir's def; rings, affine) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra RFC WIP
label:t-algebra$
87/0 Mathlib.lean,Mathlib/LinearAlgebra/LinearProgramming.lean 2 63 ['Shreyas4991', 'YaelDillies', 'eric-wieser', 'github-actions', 'kim-em', 'madvorak'] nobody
370-50926
1 year ago
370-50926
1 year ago
66-6720
66 days
7219 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: Equivs for AddMonoidAlgebras --- Extracted from #6718. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-author
label:t-algebra$
113/0 Mathlib.lean,Mathlib/Algebra/MonoidAlgebra/Equiv.lean 2 12 ['Ruben-VandeVelde', 'alreadydone', 'eric-wieser'] eric-wieser
assignee:eric-wieser
370-50888
1 year ago
370-50889
1 year ago
0-0
0 seconds
13163 erdOne
author:erdOne
feat(.vscode/module-docstring.code-snippet): Prevent auto-complete from firing on `do` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta awaiting-author 5/0 .vscode/module-docstring.code-snippets 1 5 ['erdOne', 'grunweg', 'robertylewis', 'trivial1711'] nobody
370-49715
1 year ago
370-49715
1 year ago
50-50444
50 days
10026 madvorak
author:madvorak
Linear programming according to Antoine Chambert-Loir's book --- Zulip discussion: https://leanprover.zulipchat.com/#narrow/stream/144837-PR-reviews/topic/.237386.20Linear.20Programming Four PRs incompatible with each other: https://github.com/leanprover-community/mathlib4/pull/7386 (list of constraints) https://github.com/leanprover-community/mathlib4/pull/9693 (matrix form) https://github.com/leanprover-community/mathlib4/pull/10026 (Antoine Chambert-Loir's def; semirings, linear) https://github.com/leanprover-community/mathlib4/pull/10159 (Antoine Chambert-Loir's def; rings, affine) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra RFC WIP
label:t-algebra$
86/0 Mathlib.lean,Mathlib/LinearAlgebra/LinearProgramming.lean 2 9 ['eric-wieser', 'madvorak', 'riccardobrasca'] nobody
369-28779
1 year ago
369-28779
1 year ago
0-0
0 seconds
10159 madvorak
author:madvorak
Linear programming according to Antoine Chambert-Loir's book — affine version --- Zulip discussion: https://leanprover.zulipchat.com/#narrow/stream/144837-PR-reviews/topic/.237386.20Linear.20Programming Four PRs incompatible with each other: https://github.com/leanprover-community/mathlib4/pull/7386 (list of constraints) https://github.com/leanprover-community/mathlib4/pull/9693 (matrix form) https://github.com/leanprover-community/mathlib4/pull/10026 (Antoine Chambert-Loir's def; semirings, linear) https://github.com/leanprover-community/mathlib4/pull/10159 (Antoine Chambert-Loir's def; rings, affine) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra RFC WIP
label:t-algebra$
83/0 Mathlib.lean,Mathlib/LinearAlgebra/LinearProgramming.lean 2 7 ['eric-wieser', 'madvorak', 'riccardobrasca'] nobody
369-28765
1 year ago
369-28765
1 year ago
0-0
0 seconds
11890 adomani
author:adomani
feat: the terminal refine linter A linter that warns on usages of `refine` and `refine'` as a finishing tactic. See this [Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Usage.20of.20refine'). ### Conclusion of the experiment Systematic replacements of terminal `refine` with `exact` leads to an overall slow-down. --- - [ ] depends on: #15616 (disable the linter in downstream projects) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter awaiting-author 77/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/TerminalRefineLinter.lean 3 14 ['adomani', 'github-actions', 'grunweg', 'joneugster', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'urkud'] nobody
366-62346
1 year ago
366-62348
1 year ago
18-13508
18 days
11207 luigi-massacci
author:luigi-massacci
feat(Topology/MetricSpace): Add new file with type of Katetov maps add a type of Katetov maps (one point extensions of a metric) and related notation and FunLike coercions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology WIP 138/0 Mathlib.lean,Mathlib/Topology/MetricSpace/Katetov.lean,docs/references.bib 3 16 ['fpvandoorn', 'jcommelin', 'kim-em', 'luigi-massacci', 'urkud'] nobody
366-38630
1 year ago
468-40715
1 year ago
26-83567
26 days
11090 pangelinos
author:pangelinos
feat: define spectral spaces and prove that a quasi-compact open of a spectral space is spectral Define spectral spaces and prove that a quasi-compact open of a spectral space is spectral. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology please-adopt good first issue 69/0 Topology/Spectral/basic.lean 1 15 ['YaelDillies', 'adomani', 'j-loreaux', 'jcommelin', 'kim-em', 'pangelinos'] nobody
366-38505
1 year ago
370-51431
1 year ago
16-44803
16 days
9795 sinhp
author:sinhp
feat: the type `Fib` of fibre of a function at a point This is the most basic file of the theory of fibred categories developed here: https://github.com/sinhp/LeanFibredCategories/tree/master --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory awaiting-author 74/0 Mathlib.lean,Mathlib/Data/Fiber.lean 2 17 ['adri326', 'joelriou', 'sinhp'] nobody
364-41281
11 months ago
579-60748
1 year ago
1-32924
1 day
15055 sinhp
author:sinhp
feat: the category of pointed objects of a concrete category This file defines the category of pointed objects of a concrete category. After this we will have the categories of pointed groups, pointed abelian groups, pointed groupoids, etc. To define `Pointed.functor`, we need to add the following "pullback" construction to the category of elements. ``` @[simps obj map] def pullback (F : D ⥤ Type w) (G : C ⥤ D) : (G ⋙ F).Elements ⥤ F.Elements where obj X := ⟨G.obj X.1, X.2⟩ map {X Y} f := ⟨G.map f.1, f.2⟩ ``` This is called pullback since the display map of `G ⋙ F` (i.e. `π (G ⋙ F)`) is a pullback of the display map of `F`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory awaiting-author 185/0 Mathlib.lean,Mathlib/CategoryTheory/ConcreteCategory/Pointed.lean,Mathlib/CategoryTheory/Elements.lean 3 13 ['dagurtomas', 'github-actions', 'kim-em'] nobody
363-48998
11 months ago
385-49654
1 year ago
7-80557
7 days
16253 Shreyas4991
author:Shreyas4991
feat: Basics of Discrete Fair Division in Mathlib This PR adds the basics of discrete fair division in mathlib. We include the definitions of allocations, valuations, properties of valuations, and the following notions : Envy-Freeness (EF), Envy-Freeness upto 1 good (EF1), and envy freeness upto any good (EFX). We also include the various implications between these notions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-author WIP 144/0 Mathlib/GameTheory/FairDivision/Discrete/Basic.lean 1 9 ['Shreyas4991', 'eric-wieser', 'github-actions'] nobody
356-21047
11 months ago
356-21047
11 months ago
0-20853
5 hours
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/) t-data new-contributor awaiting-author 90/0 Mathlib/Data/Nat/PartENat.lean 1 3 ['erdOne', 'github-actions', 'urkud'] nobody
353-51052
11 months ago
353-51052
11 months ago
0-0
0 seconds
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/) new-contributor t-category-theory awaiting-author 40/0 Mathlib/CategoryTheory/EpiMono.lean 1 3 ['github-actions', 'joelriou', 'mattrobball'] nobody
353-13997
11 months ago
384-59656
1 year ago
7-3203
7 days
15895 madvorak
author:madvorak
feat(Computability/ContextFreeGrammar): mapping between two types of nonterminal symbols --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability WIP 172/0 Mathlib/Computability/ContextFreeGrammar.lean 1 43 ['YaelDillies', 'github-actions', 'madvorak'] nobody
352-30790
11 months ago
356-64299
11 months ago
1-43047
1 day
12278 Rida-Hamadani
author:Rida-Hamadani
feat(Combinatorics/SimpleGraph): Provide iff statements for distance equal and greater than 2 I need these lemmas to prove that Moore graphs of girth 5 are strongly regular. --- - [x] depends on: #11945 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics awaiting-author 76/0 Mathlib/Combinatorics/SimpleGraph/Metric.lean 1 2 ['github-actions', 'leanprover-community-mathlib4-bot'] nobody
351-85916
11 months ago
351-85916
11 months ago
1-68738
1 day
16570 yuma-mizuno
author:yuma-mizuno
chore(Tactic/CategoryTheory): change `TermElabM` to `MetaM` Separated from #15335. To use `Qq`, we need to modify `Qq` to support universe matching. See [Zulip](https://leanprover.zulipchat.com/#narrow/stream/144837-PR-reviews/topic/.2315335.20meta.20code.20for.20monoidal.20categories). --- - [ ] depends on: #15335 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta WIP 26/15 Mathlib/Tactic/CategoryTheory/BicategoryCoherence.lean,Mathlib/Tactic/CategoryTheory/Coherence.lean 2 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mergify'] nobody
345-37656
11 months ago
345-82904
11 months ago
0-0
0 seconds
10591 adri326
author:adri326
feat(Topology/Algebra/ConstMulAction): properties of continuous actions in Hausdorff spaces Defines some useful properties of `ContinuousConstSMul` group actions on Hausdorff spaces: - `MulAction.isClosed_fixedBy`, which proves that the `fixedBy α m` set is closed - `t2_separation_smul`, which constructs an open set `s` such that `s` and `g • s` are disjoint - `Set.InjOn.t2_separation_smul`, the extension of `t2_separation_smul` to a set of group elements whose action is injective --- This PR belongs my series of PR around the formalization of Rubin's theorem. `MulAction.isClosed_fixedBy` is used in several places along the proof, and the separation lemmas are primarily used in showing that `(fixedBy α g)ᶜ` and `(fixedBy α h)ᶜ` are disjoint under some intricate but fully group-theoretic condition. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-topology awaiting-author
label:t-algebra$
57/0 Mathlib/Topology/Algebra/ConstMulAction.lean 1 9 ['ADedecker', 'adri326', 'j-loreaux', 'jcommelin'] ADedecker
assignee:ADedecker
344-29648
11 months ago
496-42386
1 year ago
55-82183
55 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/) new-contributor t-algebra awaiting-author WIP
label:t-algebra$
120/0 Mathlib.lean,Mathlib/FieldTheory/SimpleExtension.lean 2 17 ['Command-Master', 'acmepjz', 'github-actions', 'leanprover-community-mathlib4-bot', 'tb65536'] nobody
339-57098
11 months ago
339-57098
11 months ago
0-0
0 seconds
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/) new-contributor t-measure-probability awaiting-author 286/1 Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Probability/Distributions/Beta.lean 3 48 ['EtienneC30', 'arulandu', 'github-actions', 'vihdzp'] arulandu
assignee:arulandu
334-60614
11 months ago
339-57332
11 months ago
1-21124
1 day
10796 mcdoll
author:mcdoll
feat(Tactic/Positivity): non-negativity of functions --- This makes the `Finset.sum` and `integral_nonneg` extensions even more useful. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta WIP 27/0 Mathlib/Tactic/Positivity/Core.lean 1 1 ['YaelDillies'] nobody
304-61029
10 months ago
546-53098
1 year ago
0-0
0 seconds
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/) new-contributor t-combinatorics WIP 24/0 Mathlib/Combinatorics/SimpleGraph/Map/Finite.lean 1 11 ['awueth', 'github-actions', 'jcommelin', 'kim-em', 'urkud'] nobody
302-32999
9 months ago
302-32999
9 months ago
31-44440
31 days
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/) 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 8 ['github-actions'] nobody
288-29558
9 months ago
288-29558
9 months ago
0-0
0 seconds
6042 MohanadAhmed
author:MohanadAhmed
feat(LinearAlgebra/Matrix/SVD): Singular Value Decomposition of R or C Matrices This file provides proves the SVD theorem which decomposes a real/complex matrix into left eigenvectors, singular values block diagonal matrix and right eigenvectors. Any matrix A (M × N) with rank r = A.rank and with elements in ℝ or ℂ fields can be decompsed into the product of three matrices: $$A = USV$$ * The three matrices are defined as - $U$: an M × M matrix containing the left eigenvectors of the matrix - $S$: an M × N matrix with an r × r block in the upper left corner with nonzero singular values - $V$: an N × N matrix containing the right eigenvectors of the matrix Note that * $S$ is a block matrix $S = [S₁₁, S₁₂; S₂₁, S₂₂]$ with - $S₁₁$: a diagonal r × r matrix and - $S₁₂$ : r × (N - r) zero matrix, S₂₁ : (M - r) × r zero matrix and - $S₂₂$: (M - r) × (N - r) zero matrix * $U$ is a block column matrix U = [U₁ U₂] with - $U₁$ : a M × r containing left eigenvectors with nonzero singular values. - $U₂$ : a M × (M - r) containing left eigenvectors with zero singular values. * $V$ is a block column matrix V = [V₁ V₂] with - $V₁$ : a N × r containing right eigenvectors with nonzero singular values. - $V₂$ : a M × (M - r) containing right eigenvectors with zero singular values. Since in mathlib the eigenvalues of hermitian matrices are defined in an "arbitrary" undetermined order, we begin by partition the singular values into zero and non-zero values. We partition the corresponding eigenvectors from AᴴA and AAᴴ using similar rearrangements. These are included in `SVD.svdReindex`. The basic API for Column and Row partitioned matrices is from `ColumnRowPartitioned`. We then proceed to transfer some of the lemmas we need about eigenvector matrices (for example that they are unitary: i.e. inverse is conjugate transpose.). Note that since invertibility in mathlib is defined for square matrices while our matrices are partitioned i.e. N × (N₁ ⊕ N₂) and N ≃ (N ⊕ N₂), Lean cannot apply the Invertible definition. We workaround this were necessary. Lemma `reduced_spectral_theorem` (`reduced_spectral_theorem'`) shows that AᴴA and AAᴴ, can be reduced to products containing only the non-zero singular eigenvectors. This is later used in proving the main SVD theroem. A few lemmas are provided about the invertibility of the non-zero singular values matrix: `svdσ_inv`, `σ_inv_μ_σ_inv_eq_one`, `IsUnit_det_svdσ`, `IsUnit_det_svdσ_mapK` and `svdσ_inv_mapK`. To make relating left eigenvectors to right eigenvectors easier we define U₁ = AV₁σ⁻¹ while U₂ is obtained from the eigenvectors of (AAᴴ). This avoid a lengthy reindexing operation with many proofs. The vectors in U₂ have no such issue since they are multiplied by zero singular values anyway. Co-authored-by: Mohanad Ahmed --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra please-adopt WIP
label:t-algebra$
588/0 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/SVD/Defs.lean,Mathlib/LinearAlgebra/Matrix/SVD/Reindex.lean 3 114 ['MohanadAhmed', 'Vierkantor', 'alexjbest', 'eric-wieser', 'j-loreaux', 'jcommelin', 'sgouezel'] nobody
275-25349
9 months ago
275-25359
9 months ago
181-72917
181 days
19329 adomani
author:adomani
perf(CI): automatically benchmark PRs when they are opened This action posts the comment ``` !bench This is an automated bench-marking that runs when a PR is opened. No need to repeat. ``` whenever a PR is *opened*. It then ignores any subsequent changes to the PR. The automatic benching should help in catching PRs that unknowingly introduce a high performance cost, as was the case for my PR #18033. ### Note. Running `!bench` strains the benchmarking system and it is not feasible to run it on every push. However, Sebastian, in private communication with Johan, approved of automatically benching every PR once, when it is opened. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI WIP 25/0 .github/workflows/first_bench_is_free.yml 1 12 ['Ruben-VandeVelde', 'adomani', 'alreadydone', 'eric-wieser', 'github-actions', 'grunweg', 'jcommelin'] nobody
270-65052
8 months ago
272-54007
8 months ago
0-1356
22 minutes
19721 urkud
author:urkud
feat (WIP): formalize Moreira's version of Sard's theorem --- I'm in the process of migrating development to https://github.com/urkud/SardMoreira [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 427/1 Mathlib.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Calculus/Moreira2001.lean 5 1 ['github-actions'] nobody
244-3732
8 months ago
249-547
8 months ago
0-0
0 seconds
18236 joelriou
author:joelriou
feat(Algebra/Category/ModuleCat/Presheaf): the endofunctor of presheaves of modules induced by an oplax natural transformation An endomorphism of ` ModuleCat.restrictScalarsPseudofunctor`, i.e. a "compatible" family of functors `ModuleCat A ⥤ ModuleCat A` for all (commutative) rings `A` induces a functor `PresheafOfModules R ⥤ PresheafOfModules R` for any presheaf of (commutative) rings `R`. In #18262, this is applied to the construction of exterior powers of a presheaves of modules. --- - [x] depends on: #18197 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-category-theory WIP
label:t-algebra$
180/0 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/FunctorOfNatTrans.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
243-26183
8 months ago
243-26221
8 months ago
0-0
0 seconds
20459 Ruben-VandeVelde
author:Ruben-VandeVelde
chore: fix names of roots_C_mul_X_{add,sub}_C_of_IsUnit --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-author
label:t-algebra$
11/5 Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Roots.lean 2 2 ['eric-wieser', 'github-actions'] nobody
224-31085
7 months ago
224-31085
7 months ago
4-64422
4 days
10977 grunweg
author:grunweg
feat: germs of smooth functions Define the space of germs of smooth functions (between manifolds). Endow it with a ring structure if the target manifold is a smooth ring (e.g., a Lie group or a field). From the sphere eversion project, rewritten by me. Co-authored-by: Patrick Massot ------- Particular questions for review - is the authorship/copyright information appropriate? (`PatrickMassot` created the file `SmoothGerm` which I adapted; I didn't trace this far back through sphere-eversion.) - is providing all the intermediate algebraic structures (such as, an additive subgroup) on the space of smooth germs useful in practice? (The sphere eversion project only needs a ring structure.) - any further particular API lemmas (e.g., around coercions) which would be good to add? --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis t-topology t-differential-geometry awaiting-author 150/0 Mathlib.lean,Mathlib/Geometry/Manifold/Algebra/SmoothGerm.lean 2 33 ['YaelDillies', 'github-actions', 'grunweg', 'jcommelin', 'kim-em', 'mcdoll'] fpvandoorn
assignee:fpvandoorn
224-18842
7 months ago
358-40207
11 months ago
144-63944
144 days
19378 adamtopaz
author:adamtopaz
feat: Explanation widgets This adds some simple widgets, wrapped in a tactic, term and command elaborator, for displaying markdown explanations in the infoview. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta awaiting-author 101/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Widget/Explain.lean 3 8 ['adamtopaz', 'eric-wieser', 'github-actions', 'joneugster', 'kmill'] nobody
221-35120
7 months ago
221-35120
7 months ago
49-80804
49 days
19323 madvorak
author:madvorak
feat: Function to Sum decomposition --- Discussion: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Function.20to.20Sum.20decomposition t-data WIP 50/0 Mathlib.lean,Mathlib/Data/Sum/Decompose.lean 2 2 ['github-actions', 'madvorak'] nobody
219-41782
7 months ago
229-44380
7 months ago
43-18005
43 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/) new-contributor t-algebra awaiting-author
label:t-algebra$
78/0 Mathlib/Algebra/Group/Defs.lean 1 13 ['github-actions', 'hannahfechtner', 'jcommelin', 'kbuzzard', 'kim-em', 'trivial1711'] nobody
212-57534
7 months ago
212-57534
7 months ago
69-35596
69 days
20797 vbeffara
author:vbeffara
feat(Topology/Covering): CM version of eq_of_comp_eq Add equivalents of the lemmas `IsCoveringMap.eq_of_comp_eq` and `IsCoveringMap.const_of_comp_CM` for the case of bundled `ContinuousMap` parameters. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology easy awaiting-author 9/1 Mathlib/Topology/Covering.lean 1 4 ['github-actions', 'ocfnash', 'vbeffara'] nobody
212-44299
7 months ago
213-45252
7 months ago
2-77310
2 days
17589 joelriou
author:joelriou
feat(Algebra/ModuleCat/Presheaf): composition of pushforwards and pullbacks and compatibilites The composition of two pullback functors on presheaves of modules `pullback φ ⋙ pullback ψ` identifies to the pullback of the composition. We show compatibilites for these isomorphisms: they are deduced from similar identifies for pushforward (in which case they are `rfl`). --- - [x] depends on: #17366 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry t-category-theory WIP 166/2 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pullback.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pushforward.lean 4 4 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
209-24965
6 months ago
209-24984
6 months ago
0-0
0 seconds
21009 vihdzp
author:vihdzp
feat(Logic/Relation): more `TransGen` lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic t-order awaiting-author 13/0 Mathlib/Logic/Relation.lean 1 2 ['b-mehta', 'github-actions'] nobody
208-39937
6 months ago
208-39937
6 months ago
0-39342
10 hours
21035 mattrobball
author:mattrobball
draft --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
3/3 Mathlib/RingTheory/Kaehler/JacobiZariski.lean 1 4 ['github-actions', 'leanprover-bot', 'mattrobball'] nobody
208-10477
6 months ago
208-12316
6 months ago
0-0
0 seconds
15443 YaelDillies
author:YaelDillies
feat: The Marcinkiewicz-Zygmund inequality Prove the Marcinkiewicz-Zygmund inequality. The Marcinkiewicz-Zygmund inequality states that, if `X₁, ... Xₐ ∈ L^p` are independent random variables of mean zero valued in some inner product space, then the `L^p`-norm of `X₁ + ... + Xₐ` is at most `Cₚ` times the `L^(p/2)`-norm of `|X₁|² + ... + |Xₐ|²`, where `Cₚ` is a constant depending on `p` alone. From LeanAPAP Co-authored-by: Bhavik Mehta --- - [x] depends on: #15832 - [x] depends on: #21033 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis WIP 189/0 Mathlib.lean,Mathlib/Probability/MarcinkiewiczZygmund.lean 2 39 ['Parcly-Taxel', 'YaelDillies', 'b-mehta', 'github-actions', 'hrmacbeth', 'mathlib4-dependent-issues-bot', 'sgouezel'] nobody
207-58279
6 months ago
207-63343
6 months ago
89-28229
89 days
20466 MohanadAhmed
author:MohanadAhmed
feat: Sherman Morrison formula for rank 1 update of the matrix inverse Provides the Sherman Morrison rank 1 update of the matrix inverse https://en.wikipedia.org/wiki/Sherman%E2%80%93Morrison_formula. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data awaiting-author 37/0 Mathlib/Data/Matrix/Invertible.lean 1 4 ['eric-wieser', 'github-actions'] nobody
205-37802
6 months ago
205-37802
6 months ago
23-30991
23 days
18749 GabinKolly
author:GabinKolly
feat(ModelTheory): preparatory work for the existence of Fraïsse limits Define the map of a PartialEquiv through an embedding, and related properties. Define embeddings and equivalences between equal structures or equal substructures, and related properties. Add miscellaneous lemmas which will be used to prove the existence of fraisse limits. --- This is preparation for #18876 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic awaiting-author 308/5 Mathlib/ModelTheory/Bundled.lean,Mathlib/ModelTheory/DirectLimit.lean,Mathlib/ModelTheory/FinitelyGenerated.lean,Mathlib/ModelTheory/PartialEquiv.lean,Mathlib/ModelTheory/Substructures.lean 5 9 ['GabinKolly', 'YaelDillies', 'github-actions', 'vihdzp'] nobody
202-14259
6 months ago
212-26713
7 months ago
73-63475
73 days
20649 GabinKolly
author:GabinKolly
feat(ModelTheory/Graph): prove characterization of the fraisse limit of finite simple graphs Prove that a countable graph with the extension property must be the Fraisse limit of finite simple graphs. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-logic t-combinatorics WIP 175/0 Mathlib/ModelTheory/Graph.lean,Mathlib/ModelTheory/Substructures.lean 2 1 ['github-actions'] nobody
200-10118
6 months ago
222-7759
7 months ago
0-0
0 seconds
21384 alreadydone
author:alreadydone
experiment: make submodule quotient reducibly defeq to additive group quotient --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
1/1 Mathlib/LinearAlgebra/Quotient/Defs.lean 1 1 ['github-actions'] nobody
198-28701
6 months ago
198-28704
6 months ago
0-0
0 seconds
10660 eric-wieser
author:eric-wieser
feat(LinearAlgebra/CliffordAlgebra): construction from a basis This is adapted from https://github.com/eric-wieser/lftcm2023-clifford_algebra, which only worked for the special case of `Q = 0`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-author WIP
label:t-algebra$
573/0 Mathlib.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Basis.lean 2 15 ['github-actions'] nobody
196-74739
6 months ago
196-74739
6 months ago
0-0
0 seconds
15355 adomani
author:adomani
feat: MiM PR report --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) WIP 153/0 .github/workflows/monthly_pr_report.yaml,scripts/find_labels.sh 2 n/a ['YaelDillies', 'adomani', 'github-actions'] nobody
195-54661
6 months ago
unknown
unknown
21495 alreadydone
author:alreadydone
experiment: reducible HasQuotient.quotient' --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) bench-after-CI WIP 2/0 Mathlib/Algebra/Quotient.lean 1 1 ['github-actions'] nobody
195-48751
6 months ago
195-48751
6 months ago
0-200
3 minutes
21496 alreadydone
author:alreadydone
experiment: make SetLike.coe reducible --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) bench-after-CI t-data 1/1 Mathlib/Data/SetLike/Basic.lean 1 1 ['github-actions'] nobody
195-48520
6 months ago
195-48520
6 months ago
0-0
0 seconds
21447 erdOne
author:erdOne
feat(AlgebraicGeometry): the split algebraic torus --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry awaiting-author 419/0 Mathlib.lean,Mathlib/AlgebraicGeometry/Torus.lean 2 4 ['erdOne', 'github-actions', 'joelriou'] nobody
193-81925
6 months ago
194-13699
6 months ago
2-69252
2 days
22037 EtienneC30
author:EtienneC30
issues with Finset subtype coercion [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Finset.20subtype.20changes) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 7/1 Mathlib/Data/Finset/Defs.lean,Mathlib/MeasureTheory/Constructions/Projective.lean 2 1 ['github-actions'] nobody
183-53548
6 months ago
183-53600
6 months ago
0-0
0 seconds
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 t-meta modifies-tactic-syntax awaiting-author help-wanted 439/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MAbel.lean,MathlibTest/mabel.lean 4 10 ['BoltonBailey', 'dignissimus', 'github-actions', 'joneugster', 'kbuzzard'] joneugster
assignee:joneugster
182-10062
6 months ago
186-78058
6 months ago
0-16
16 seconds
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/) new-contributor t-algebra awaiting-author
label:t-algebra$
43/0 Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean 1 1 ['github-actions', 'j-loreaux'] nobody
182-9141
6 months ago
182-9141
6 months ago
13-33168
13 days
22194 eric-wieser
author:eric-wieser
feat: oracle computations (alternative) This explores a simpler version of #20924 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability 698/0 Archive/Examples/SumOracle.lean,Mathlib.lean,Mathlib/Computability/QueryComplexity/Defs.lean,Mathlib/Computability/QueryComplexity/Sort.lean 4 4 ['eric-wieser', 'girving', 'github-actions'] nobody
178-50398
5 months ago
179-4886
5 months ago
0-0
0 seconds
19062 hannahfechtner
author:hannahfechtner
feat(Algebra/PresentedMonoid/Basic) : facts about rel Add in a number of useful theorems (reflexivity, closure under multiplication) and lemmas about when the PresentedMonoid.rel holds as an API for users --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-author
label:t-algebra$
38/0 Mathlib/GroupTheory/Congruence/Defs.lean 1 8 ['github-actions', 'hannahfechtner', 'kbuzzard', 'riccardobrasca'] nobody
176-46710
5 months ago
176-46710
5 months ago
87-64575
87 days
22302 CharredLee
author:CharredLee
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/) new-contributor t-category-theory awaiting-author 312/0 Mathlib.lean,Mathlib/CategoryTheory/Topos/Power.lean 2 2 ['github-actions', 'joelriou'] b-mehta
assignee:b-mehta
176-10337
5 months ago
176-11464
5 months ago
0-1528
25 minutes
22416 JLimperg
author:JLimperg
chore: fix benchmark script for precompilation The benchmarking script used to fail when precompilation was enabled anywhere in the dependency graph. --- Fix courtesy of @Kha. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 2/0 scripts/bench/fake-root/lib/lean/libleanshared.so,scripts/bench/run 2 1 ['github-actions'] nobody
173-6392
5 months ago
173-6455
5 months ago
0-0
0 seconds
22389 adomani
author:adomani
feat: the variableVariable linter The motivation comes from [this Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/style.20proposal.3A.20avoid.20.60variable.20.7BX.7D.20.2E.2E.2E.20variable.20.28X.29.60). Summarising, updating a variable binder for a single declaration can be confusing. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-linter WIP 167/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/VariableVariable.lean,variableDeclarationVariable_replacements.py 5 1 ['github-actions'] nobody
171-33859
5 months ago
173-55015
5 months ago
0-0
0 seconds
22497 adomani
author:adomani
test: decl diff in lean Testing branch for #22464. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) test-ci CI WIP 161/0 .github/workflows/PR_summary_lean.yml,Mathlib.lean,Mathlib/Test.lean,scripts/README.md,scripts/declarations_diff.lean,scripts/declarations_diff_lean_shell_glue.sh 6 7 ['github-actions', 'mergify'] nobody
169-33437
5 months ago
170-45136
5 months ago
0-0
0 seconds
20636 eric-wieser
author:eric-wieser
feat: multiplication of intervals in rings --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-author
label:t-algebra$
36/1 Mathlib/Algebra/Order/Interval/Basic.lean 1 16 ['Timeroot', 'YaelDillies', 'eric-wieser', 'github-actions'] nobody
169-22058
5 months ago
205-25835
6 months ago
17-17852
17 days
22642 grunweg
author:grunweg
WIP: add `mfderiv_prod` and `mfderiv_prodMap` Help with these sorries is very welcome! Part of my bordism theory project: these will be needed for #22059. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry WIP 27/0 Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean 1 1 ['github-actions'] nobody
167-40211
5 months ago
167-40211
5 months ago
0-8
8 seconds
22648 adomani
author:adomani
test: lean implementation decl diff quandle --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 210/1 .github/workflows/PR_summary_lean.yml,Mathlib/Algebra/Quandle.lean,scripts/README.md,scripts/declarations_diff.lean,scripts/declarations_diff_lean_shell_glue.sh 5 4 ['adomani', 'eric-wieser', 'github-actions'] nobody
165-64217
5 months ago
167-33503
5 months ago
0-0
0 seconds
22784 grunweg
author:grunweg
feat: add Diffeomorph.sumSumSumComm This matches `{Equiv,Homeomorph.sumSumSumComm}`, and is needed to prove that addition in the cobordism group is commutatives. From my bordism theory project. --- - depends on #22783 (easy pre-requisites) The current proof is not complete yet, and feels very painful. I'm not yet sure what's the best way to write this. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry WIP 50/0 Mathlib/Geometry/Manifold/Diffeomorph.lean 1 1 ['github-actions'] nobody
163-17890
5 months ago
163-40634
5 months ago
0-0
0 seconds
22846 mattrobball
author:mattrobball
test t-analysis 2/0 Mathlib/Analysis/Normed/Module/Basic.lean 1 4 ['github-actions', 'leanprover-bot', 'mattrobball'] nobody
162-22398
5 months ago
162-24338
5 months ago
0-0
0 seconds
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/) t-computability new-contributor awaiting-author 70/0 Mathlib.lean,Mathlib/Computability/PDA.lean 2 34 ['YaelDillies', 'github-actions', 'madvorak', 'shetzl'] nobody
156-57884
5 months ago
156-57884
5 months ago
20-81771
20 days
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/) infinity-cosmos t-category-theory WIP 22/1 Mathlib/CategoryTheory/Enriched/Limits/HasConicalLimits.lean 1 1 ['github-actions'] nobody
155-55996
5 months ago
155-56151
5 months ago
0-1
1 second
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/) 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 10 ['FordUniver', 'YaelDillies', 'github-actions', 'kmill'] nobody
154-68409
5 months ago
155-17489
5 months ago
0-0
0 seconds
16239 Rida-Hamadani
author:Rida-Hamadani
feat(Geometry/Manifold): orientable manifolds This module defines orientable manifolds. [This](https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there-code-for-X.3F/topic/Orientable.20Surface) Zulip topic is related. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry awaiting-author 376/6 Mathlib.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/Orientable.lean 3 39 ['Rida-Hamadani', 'github-actions', 'grunweg', 'ocfnash'] nobody
153-4656
5 months ago
172-43378
5 months ago
5-70530
5 days
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/) infinity-cosmos t-category-theory awaiting-author 52/9 Mathlib/CategoryTheory/Enriched/Limits/HasConicalLimits.lean 1 2 ['github-actions', 'joelriou'] nobody
152-59142
4 months ago
152-59142
4 months ago
0-68906
19 hours
23285 AntoineChambert-Loir
author:AntoineChambert-Loir
refactor: directed systems in terms of functors This is a WIP aiming to refactor the work on directed systems using the category theory library. But there are universes nightmares. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra t-category-theory WIP
label:t-algebra$
111/45 Mathlib/Order/DirectedInverseSystem.lean 1 1 ['github-actions'] nobody
149-9533
4 months ago
149-9539
4 months ago
0-24
24 seconds
21829 Whysoserioushah
author:Whysoserioushah
feat(LinearAlgebra/TensorProduct/HomTensor): Add TensorProduct of Hom-modules Co-authored-by: Andrew Yang --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-author
label:t-algebra$
174/0 Mathlib.lean,Mathlib/LinearAlgebra/TensorProduct/HomTensor.lean 2 26 ['Whysoserioushah', 'YaelDillies', 'erdOne', 'github-actions', 'kbuzzard'] nobody
140-52156
4 months ago
141-58676
4 months ago
46-53384
46 days
22861 eric-wieser
author:eric-wieser
feat: add the trace of a bilinear form Following the steps at [#Is there code for X? > Laplacian @ 💬](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Laplacian/near/450834505). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) Some questions: * Does this generalize to multilinear maps? * Is there an `RCLike` generalization? * Does this generalize to `BilinMap` instead of just `BilinForm`? Perhaps the approach in [#mathlib4 > Stating Schrodinger's equation @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Stating.20Schrodinger's.20equation/near/500409890) of using `ContinuousLinearMap.adjoint'` is better. t-algebra awaiting-author
label:t-algebra$
100/0 Mathlib.lean,Mathlib/LinearAlgebra/BilinearForm/Trace.lean 2 3 ['github-actions', 'jcommelin'] nobody
138-41995
4 months ago
138-41995
4 months ago
23-44995
23 days
22888 plp127
author:plp127
perf: replace `Lean.Expr.swapBVars` with a better? implementation Replaces `Lean.Expr.swapBVars` with a version that traverses the expression. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta awaiting-author 14/12 Mathlib/Tactic/FunProp/ToBatteries.lean 1 23 ['eric-wieser', 'github-actions', 'joneugster', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'plp127'] eric-wieser and joneugster
assignee:eric-wieser assignee:joneugster
135-54241
4 months ago
136-40540
4 months ago
4-80306
4 days
23772 SEU-Prime
author:SEU-Prime
Create Amice.lean i built amice equiv [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory WIP 283/0 Mathlib/NumberTheory/Padics/Amice.lean 1 2 ['grunweg'] nobody
135-40689
4 months ago
135-40689
4 months ago
0-8688
2 hours
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/) large-import new-contributor t-algebra awaiting-CI
label:t-algebra$
169/0 Mathlib/Algebra/Free.lean 1 11 ['YaelDillies', 'github-actions'] nobody
134-73210
4 months ago
134-73210
4 months ago
51-9403
51 days
22657 Xmask19
author:Xmask19
feat: a graph is maximally acyclic iff it is a tree --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 86/0 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean 1 6 ['Rida-Hamadani', 'b-mehta', 'github-actions', 'grunweg'] b-mehta
assignee:b-mehta
134-38867
4 months ago
134-38888
4 months ago
156-29561
156 days
23154 vlad902
author:vlad902
feat(Algebra/FreeMonoid): isomorphisms for the free monoid on zero/one generators In parallel to FreeGroup.freeGroupEmptyEquivUnit and FreeGroup.freeGroupUnitEquivInt, prove that the free monoid on zero/one generators is isomorphic to Unit/ℕ. t-algebra awaiting-author
label:t-algebra$
18/0 Mathlib/Algebra/FreeMonoid/Basic.lean 1 2 ['github-actions', 'urkud'] nobody
133-83911
4 months ago
133-83911
4 months ago
19-35867
19 days
23866 kim-em
author:kim-em
chore: remove `[AtLeastTwo n]` hypothesis from the `NatCast` to `OfNat` instance This PR observes that we can change ``` instance (priority := 100) instOfNatAtLeastTwo {n : ℕ} [NatCast R] [Nat.AtLeastTwo n] : OfNat R n ``` to ``` instance (priority := 100) instOfNatAtLeastTwo {n : ℕ} [NatCast R] : OfNat R n ``` with minimal fall-out. A follow-up PR #23867 then observes that we can remove nearly all the `[Nat.AtLeastTwo n]` hypotheses in Mathlib. This is slightly dangerous -- it does make it more likely that we'll generate non-defeq instances, but it appears to happen very rarely. However, it will make life slightly easier for something Leo and I are trying to do with `grind` and Grobner bases (we'd like to be able to assume types we consume have `[∀ n, OfNat α n]`, which is possible with this change, but not without...). Zulip thread: [#PR reviews > #23866 and #23867, removing most `[Nat.AtLeastTwo n]` @ 💬](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2323866.20and.20.2323867.2C.20removing.20most.20.60.5BNat.2EAtLeastTwo.20n.5D.60/near/511157297) awaiting-zulip 21/26 Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/Data/Nat/Cast/Defs.lean,Mathlib/Data/Nat/Cast/Order/Basic.lean 3 3 ['eric-wieser', 'github-actions', 'urkud'] nobody
133-23123
4 months ago
133-23212
4 months ago
0-23929
6 hours
21342 YaelDillies
author:YaelDillies
refactor(Normed/Group/Quotient): generalise to non-abelian groups The goal is to apply this to the free group. --- - [x] depends on: #21341 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis WIP 25/12 Mathlib/Topology/Algebra/ConstMulAction.lean,Mathlib/Topology/Algebra/Group/Quotient.lean 2 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
131-64452
4 months ago
131-64471
4 months ago
0-352
5 minutes
24000 YaelDillies
author:YaelDillies
feat: correspondence between Hopf algebras and affine group schemes Construct `Spec` as a functor from `R`-Hopf algebras to group schemes over `Spec R`, show it is full and faithful and has affine group schemes as essential image. From Toric, FLT Co-authored-by: Andrew Yang Co-authored-by: Michał Mrugała Co-authored-by: Christian Merten --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric FLT t-algebraic-geometry WIP 127/0 Mathlib/AlgebraicGeometry/GroupScheme/HopfAffine.lean 1 3 ['YaelDillies', 'github-actions', 'kbuzzard'] nobody
129-9449
4 months ago
129-47401
4 months ago
0-1
1 second
21270 GabinKolly
author:GabinKolly
feat(ModelTheory/Bundled): first-order embeddings and equivalences from equalities Add first-order embeddings and equivalences from equalities between bundled structures. --- Add two definitions to get embeddings and equivalences from equalities between bundled structures, and simple properties. This is some preparatory work for #18876 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-logic awaiting-author 102/0 Mathlib/ModelTheory/Bundled.lean 1 26 ['GabinKolly', 'Vierkantor', 'YaelDillies', 'github-actions'] nobody
128-65822
4 months ago
128-65822
4 months ago
50-58472
50 days
24086 mattrobball
author:mattrobball
perf(Normed.Field.Basic): change parent order for `Semifield` and `Field` and reduce priority `toComm(Semi)Ring` Passing through the projection `toComm(Semi)Ring` should not be preferred. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
8/2 Mathlib/Algebra/Field/Defs.lean 1 4 ['github-actions', 'leanprover-bot', 'mattrobball'] nobody
127-32459
4 months ago
127-37259
4 months ago
0-0
0 seconds
13038 adomani
author:adomani
feat: Mathlib weekly reports This PR introduces a weekly cron job that computes a "global" report on the evolution of Mathlib in the previous week. It consists of * a CI workflow with a cron job that runs at minight on Sunday (`.github/workflows/mathlib_stats.yaml`); * a Lean file extracting a categorized list of "all" the declarations in Mathlib (`scripts/count_decls.lean`); * a bash file computing Git-diff-related information and collating the data from the Lean file (`scripts/mathlib_stats.sh`); * a convenience CI workflow that is triggered on adding the `test-ci` label and results in posting on the PR and on Zulip the report (`.github/workflows/mathlib_stats_label.yaml`). The second CI workflow is intended to be removed just before/right after the PR is ready to merge. [Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/113488-general) [Thread for the reports](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Mathlib.20weekly.20change.20report) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI t-meta awaiting-author 338/0 .github/workflows/mathlib_stats.yaml,.github/workflows/mathlib_stats_label.yaml,scripts/count_decls.lean,scripts/mathlib_stats.sh 4 10 ['adomani', 'github-actions', 'grunweg', 'kim-em', 'kmill'] nobody
127-13413
4 months ago
401-31293
1 year ago
57-4216
57 days
24129 urkud
author:urkud
feat: symmetry of Gateaux derivatives --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 190/1 Mathlib.lean,Mathlib/Analysis/Calculus/LineDeriv/Basic.lean,Mathlib/Analysis/Calculus/LineDeriv/Symmetric.lean 3 1 ['github-actions'] nobody
125-67040
4 months ago
125-67040
4 months ago
0-0
0 seconds
19613 madvorak
author:madvorak
refactor(Combinatorics/Optimization/ValuedCSP): make only valid `FractionalOperation` possible Originally `FractionalOperation` was any multiset (possible empty). Then `FractionalOperation.IsValid` said it was nonempty. Instead, I would like to make it nonempty by definition. As a result, empty/invalid fractional operation couldn't be declared at all. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 14/17 Mathlib/Combinatorics/Optimization/ValuedCSP.lean 1 1 ['github-actions'] nobody
125-16857
4 months ago
254-38430
8 months ago
264-26071
264 days
23600 mattrobball
author:mattrobball
perf(Quiver.Basic): make `IsThin` a `class` It seems problematic that `Quiver.IsThin` is an `abbrev` for (essentially) `Subsingleton`. We turn it in a one-field class. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) delegated 27/21 Mathlib/CategoryTheory/Bicategory/Coherence.lean,Mathlib/CategoryTheory/Category/Preorder.lean,Mathlib/CategoryTheory/Generator/Basic.lean,Mathlib/CategoryTheory/Groupoid/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/WidePullbacks.lean,Mathlib/CategoryTheory/Limits/SmallComplete.lean,Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean,Mathlib/CategoryTheory/Skeletal.lean,Mathlib/CategoryTheory/Subobject/MonoOver.lean,Mathlib/CategoryTheory/Thin.lean,Mathlib/Combinatorics/Quiver/Basic.lean 11 16 ['b-mehta', 'github-actions', 'leanprover-bot', 'mathlib-bors', 'mattrobball'] nobody
124-33992
4 months ago
139-32796
4 months ago
0-5717
1 hour
24219 Paul-Lez
author:Paul-Lez
feat: linear independence of the tensor product of two linearly independent families This is still WIP (the proofs are a little too long, and some lemmas need to be moved to other files!) From Toric --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-algebra WIP
label:t-algebra$
193/0 Mathlib/LinearAlgebra/LinearIndependent/Tprod.lean 1 1 ['github-actions'] nobody
120-35690
3 months ago
120-35690
3 months ago
0-2221
37 minutes
13740 YaelDillies
author:YaelDillies
feat: More robust ae notation Make sure that, when `μ : FiniteMeasure Ω`, `f =ᵐ[μ] g` elaborates to `f =ᵐ[↑μ] g` instead of complaining about `OuterMeasureClass (FiniteMeasure Ω) (Set Ω) ℝ≥0∞` not existing. [Zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/ae.20of.20a.20finite.20measure) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability awaiting-CI t-meta 56/2 Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean,Mathlib/MeasureTheory/OuterMeasure/AE.lean,Mathlib/MeasureTheory/OuterMeasure/BorelCantelli.lean 3 16 ['YaelDillies', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'urkud'] nobody
119-60162
3 months ago
119-60177
3 months ago
0-0
0 seconds
24161 urkud
author:urkud
feat(Analysis/Calculus/Schwarzian): new file --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 190/3 Mathlib.lean,Mathlib/Analysis/Calculus/Deriv/ZPow.lean,Mathlib/Analysis/Calculus/Schwarzian/Basic.lean 3 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
119-47016
3 months ago
119-47034
3 months ago
0-0
0 seconds
20652 jjaassoonn
author:jjaassoonn
feat: categorical description of center of a ring We show the isomorphism between `Z(R)` and `End(1 Mod-R)` --- - [x] depends on:#20721 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-category-theory awaiting-author
label:t-algebra$
212/21 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/Ring/Center.lean,Mathlib/CategoryTheory/Conj.lean,Mathlib/CategoryTheory/Endomorphism.lean,Mathlib/CategoryTheory/Preadditive/AdditiveFunctor.lean,Mathlib/CategoryTheory/Preadditive/Basic.lean 7 41 ['alreadydone', 'github-actions', 'jcommelin', 'jjaassoonn', 'kbuzzard', 'qawbecrdtey'] nobody
119-3128
3 months ago
176-55209
5 months ago
20-7596
20 days
21616 peabrainiac
author:peabrainiac
feat(Topology): concatenating countably many paths Adds `Path.countableConcat`, the concatenation of a sequence of paths leading up to some point `x`. --- - [x] depends on: #21591 - [x] depends on: #21607 This work is a prerequisite to #20248, where it is used to show that the topology of first-countable locally path-connected spaces is coinduced by all the paths in that space. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology awaiting-author 229/0 Mathlib.lean,Mathlib/Topology/Path/CountableConcat.lean 2 30 ['YaelDillies', 'github-actions', 'kim-em', 'mathlib4-dependent-issues-bot', 'peabrainiac'] YaelDillies
assignee:YaelDillies
118-55451
3 months ago
122-63385
4 months ago
56-56728
56 days
18210 vihdzp
author:vihdzp
feat(Order/Hom/Basic): `WithBot (Fin n) ≃o Fin (n + 1)` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order awaiting-author 16/0 Mathlib/Order/Hom/Basic.lean 1 8 ['Command-Master', 'Ruben-VandeVelde', 'github-actions', 'urkud', 'vihdzp'] nobody
118-1759
3 months ago
289-5837
9 months ago
10-77913
10 days
23585 plp127
author:plp127
feat: `Filter.atMax` and `Filter.atMin` Adds `atMax` and `atMin`, filters. Making an analogy, `atMax` : `atTop` :: `IsMax` : `IsTop`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order WIP 148/0 Mathlib.lean,Mathlib/Order/Filter/AtMaxMin.lean 2 4 ['github-actions', 'plp127', 'urkud'] nobody
117-78968
3 months ago
140-53626
4 months ago
0-0
0 seconds
22349 dtumad
author:dtumad
feat(Control): Laws for monads with compatible `failure` operation Add a class for a `Monad` that also has an `Alternative` instance, and a class `LawfulAlternative` for types where the failure and monad structures are compatible in the expected way. --- I'm not sure if this should instead go in `Batteries.Control` instead of mathlib, or at least lemmas like `OptionT.run_failure` maybe should. Some of the instances like `Set` would still need to be added in mathlib either way. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-meta WIP 74/3 Mathlib.lean,Mathlib/Control/Lawful.lean,Mathlib/Control/Monad/AlternativeMonad.lean 3 8 ['dtumad', 'eric-wieser', 'github-actions', 'quangvdao'] nobody
116-74391
3 months ago
116-74545
3 months ago
1-20563
1 day
12032 mcdoll
author:mcdoll
feat: Delta distribution as a limit --- - [x] depends on: #11496 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis WIP 51/0 Mathlib/Analysis/Distribution/DiracDelta.lean 1 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
115-7363
3 months ago
unknown
unknown
24157 urkud
author:urkud
feat(Convex/LinearIsometry): new file --- - [x] depends on: #24392 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis awaiting-author 75/0 Mathlib.lean,Mathlib/Analysis/Convex/LinearIsometry.lean 2 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'sgouezel'] nobody
112-60696
3 months ago
112-60696
3 months ago
10-23076
10 days
18861 YaelDillies
author:YaelDillies
refactor: make `Set.mem_graphOn` defeq The definition as an image is cute but not very useful. Also unsimp `graphOn_univ` since the RHS contains `f` more times than the LHS does. --- Later, I would like to introduce `Set.graph` to have a `Set` version with good defeqs of `LinearMap.graph` and alike [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data awaiting-author 72/18 Mathlib/Data/Set/Function.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Data/Set/Prod.lean,Mathlib/MeasureTheory/Covering/Besicovitch.lean 4 4 ['YaelDillies', 'b-mehta', 'github-actions'] nobody
109-68436
3 months ago
150-21745
4 months ago
2-24624
2 days
23503 apnelson1
author:apnelson1
feat(Topology/Instances/ENat): ENat and tsum We give API for the interactions between `tsum` and `ENat`. The type is especially nice, because every function is summable, and there are simplifying lemmas like the statement that a sum is infinite iff either some term is infinite, or the support is infinite. This provides one of the missing pieces for working painlessly with discrete objects, 'propositional' finiteness and cardinality. For instance, one can sum a function `f : a -> ENat` over an arbitrary set with the term `∑' a : s, 1`, and it will be provable that `∑' a : s, 1 = s.encard` and `(support f).encard ≤ ∑' a, f a` without ever having to split into finite/infinite cases. As is pointed out in the module docstring for `Data.ENat`, there are strong analogies between `ENat` and `ENNReal`, and the API runs parallel to the API for `tsum`/`ENNReal`. One could call it 'duplication', but I have yet to find a common generalization of the two that saves work, or a third example of a natural type with these same properties. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-topology WIP 205/2 Mathlib/Data/ENat/Basic.lean,Mathlib/Data/Set/Card.lean,Mathlib/Topology/Instances/ENat.lean 3 2 ['eric-wieser', 'github-actions'] nobody
109-64317
3 months ago
109-64317
3 months ago
14-6036
14 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/) new-contributor t-algebra t-category-theory WIP
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
109-64281
3 months ago
109-64281
3 months ago
0-0
0 seconds
19797 eric-wieser
author:eric-wieser
refactor: use Qq in the nlinarith preprocessor This also provides the machinery needed to Qq-ify linarith itself. This is still doing far more `synthInstanceQ`/`isDefEq`(`Q`) than should be needed, but at least drops the `mkAppM`s. Currently, this takes a different approach to the one used by `NormNum.Result`: * `NormNum.Result` deliberately avoids adding any `Expr` parameters to types, as this makes defeq problem at compile-time hard * This PR allows the Expr parameters, but adds casting helpers to easily transport along defeq(Q)s. A few `unsafeIntro`s are left, which correspond to either a Qq bug, or a flaw in the idea behind this approach. I don't know if this pattern is an improvement. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-meta 260/28 Mathlib/Data/Ineq.lean,Mathlib/Tactic/Linarith/Datatypes.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm.lean,Mathlib/Tactic/Linarith/Preprocessing.lean,Mathlib/Util/Qq.lean 5 8 ['eric-wieser', 'github-actions', 'leanprover-bot'] nobody
109-64003
3 months ago
109-64003
3 months ago
0-0
0 seconds
14348 eric-wieser
author:eric-wieser
perf: disable the `unusedVariables` linter for speed I doubt we want to merge this, but it shaves two minutes of the lint time. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) performance-hack 1/0 lakefile.lean 1 3 ['eric-wieser', 'github-actions', 'leanprover-bot'] nobody
109-63311
3 months ago
109-63311
3 months ago
0-0
0 seconds
24574 JovanGerb
author:JovanGerb
chore(Order/Notation): check for pp options in `delabSup` The sup/inf delaborator shouldn't run when the user sets `pp.explicit true` or `pp.notation false`. This PR also removes my "-- TODO(Jovan): remove" edit: apparently, the fix in core wasn't fully successful. There still isn't support for adding/storing the localInstance inside `PPContext` or `MessageDataContext`. So we need that, or we need to extract the local instances anyways. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 8/12 Mathlib/Order/Notation.lean 1 1 ['github-actions'] nobody
108-84991
3 months ago
109-19365
3 months ago
109-19412
109 days
22488 smmercuri
author:smmercuri
fix: lower priority for `UniformSpace.Completion.instSMul` Following the introduction of the `WithVal` type synonym in #22055 the following instance takes a long time to synthesise in FLT, and times out in the default heartbeats ```lean import Mathlib namespace IsDedekindDomain.HeightOneSpectrum variable (A K : Type*) [CommRing A] [Field K] [Algebra A K] [IsFractionRing A K] [IsDedekindDomain A] (v : HeightOneSpectrum A) #synth SMul (v.adicCompletionIntegers K) (v.adicCompletion K) ``` The issue is that `UniformSpace.Completion.instSMul (v.adicCompletionIntegers K) (v.adicCompletion K)` now fires during the start of instance search (because we now have `UniformSpace (WithVal (v.valuation K))` whereas previously this would be `UniformSpace K`, which was not automatic), and this takes a long time to fail (leading to ~1400 entries in the trace). The first few lines of the new trace is ```lean [Meta.synthInstance] [5.512418] ✅️ SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▼ [] [0.000118] new goal SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶ [] [0.000537] ✅️ apply UniformSpace.Completion.instSMul to SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶ [] [0.004411] ✅️ apply @WithVal.instSMul to SMul (↥(adicCompletionIntegers K v)) (WithVal (valuation K v)) ▶ [] [0.000765] ❌️ apply @GradedMonoid.GradeZero.smul to SMul (↥(adicCompletionIntegers K v)) K ▶ [] [0.000378] ✅️ apply @Algebra.toSMul to SMul (↥(adicCompletionIntegers K v)) K ▶ ... [] 1339 more entries... ▶ ``` Lowering the priority of `UniformSpace.Completion.instSMul` fixes this particular issue, leading to a trace that matches that seen prior to the introduction of `WithVal`: ```lean [Meta.synthInstance] [0.016405] ✅️ SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▼ [] [0.000119] new goal SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶ [] [0.000491] ❌️ apply @GradedMonoid.GradeZero.smul to SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶ [] [0.000403] ✅️ apply @Algebra.toSMul to SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶ [] [0.000134] ❌️ apply inst✝⁴ to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶ [] [0.000093] ❌️ apply inst✝⁵ to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶ [] [0.000077] ❌️ apply inst✝⁷ to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶ [] [0.000082] ❌️ apply inst✝⁹ to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶ [] [0.000075] ❌️ apply inst✝¹² to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶ [] [0.000220] ❌️ apply Algebra.id to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶ [] [0.001015] ✅️ apply @ValuationSubring.instAlgebraSubtypeMem to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶ [resume] [0.000038] propagating Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) to subgoal Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) of SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶ [check] [0.013358] ✅️ Algebra.toSMul [] result Algebra.toSMul ``` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) FLT t-topology awaiting-author 1/1 Mathlib/Topology/Algebra/UniformMulAction.lean 1 10 ['github-actions', 'leanprover-bot', 'smmercuri', 'urkud'] nobody
108-47095
3 months ago
114-75647
3 months ago
55-70108
55 days
15161 adomani
author:adomani
feat(Linter): flag `intros x y` which can be replaced by `intro x y` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter WIP 78/1 Mathlib/Tactic/Linter/Lint.lean,test/Lint.lean 2 4 ['adomani', 'github-actions', 'grunweg'] nobody
108-18163
3 months ago
108-52777
3 months ago
0-0
0 seconds
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/) awaiting-zulip t-computability new-contributor awaiting-author 298/0 Mathlib.lean,Mathlib/Computability/GNFA.lean,Mathlib/Computability/Language.lean,Mathlib/Computability/RegularExpressions.lean,docs/references.bib 5 6 ['github-actions', 'mathlib4-dependent-issues-bot', 'meithecatte', 'trivial1711'] nobody
107-10600
3 months ago
107-10609
3 months ago
23-54870
23 days
20648 anthonyde
author:anthonyde
feat: formalize regular expression -> εNFA The file `Computability/RegularExpressionsToEpsilonNFA.lean` contains a formal definition of Thompson's method for constructing an `εNFA` from a `RegularExpression` and a proof of its correctness. --- - [x] depends on: #20644 - [x] depends on: #20645 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-zulip t-computability new-contributor 490/0 Mathlib.lean,Mathlib/Computability/RegularExpressionsToEpsilonNFA.lean,docs/references.bib 3 5 ['github-actions', 'mathlib4-dependent-issues-bot', 'meithecatte', 'qawbecrdtey'] nobody
107-9911
3 months ago
107-10546
3 months ago
75-77754
75 days
23220 mattrobball
author:mattrobball
refactor(Module.LinearMap.Defs): make `SemilinearMapClass` extend `AddMonoidHomClass` Currently `SemilinearMapClass` extends `AddHomClass`. As both `SemilinearMapClass.toAddHomClass` and `AddMonoidHomClass.toAddHomClass` are projections, they have the same priority. With `SemilinearMapClass` declared later, it wins causing expensive failed searches in the algebraic hierarchy before `AddMonoidHomClass.toAddHomClass` is found. The current instance `SemilinearMapClass.toAddMonoidHomClass` has lower priority so we may need to downgrade the priority of the projection also. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-author
label:t-algebra$
6/10 Mathlib/Algebra/Module/LinearMap/Defs.lean 1 9 ['eric-wieser', 'github-actions', 'leanprover-bot', 'mattrobball'] nobody
106-12046
3 months ago
106-12046
3 months ago
45-6308
45 days
24665 Komyyy
author:Komyyy
feat(Mathlib/Topology/Metrizable/Uniformity): every uniform space is generated by a family of pseudometrics --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology WIP 54/0 Mathlib/Topology/Metrizable/Uniformity.lean 1 1 ['github-actions'] nobody
105-20820
3 months ago
105-20820
3 months ago
0-1
1 second
23213 mattrobball
author:mattrobball
chore(RingTheory.Derivation): add a `LinearMapClass` instance Often we want `simp` to call `map_zero` or `map_add` for a `Derivation`. To find the `ZeroHomClass` or `AddHomClass` instance necessary it starts to climb up the type class hierarchy including looking for a `LinearMapClass` instance which didn't exist. Consequently, sythesis would look in a lot of crazy places trying to summon ring structures on the module or on derivations itself. Here we add the missing `LinearMapClass` instance so that `simp` is more efficient. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra delegated
label:t-algebra$
5/3 Mathlib/RingTheory/Derivation/Basic.lean 1 8 ['github-actions', 'j-loreaux', 'leanprover-bot', 'mathlib-bors', 'mattrobball'] nobody
104-11258
3 months ago
104-11258
3 months ago
47-39026
47 days
23214 mattrobball
author:mattrobball
perf(Module.LinearMap.Defs): deprioritize projections to parents for `SemilinearMapClass` Trying to figure out if a given type has a `SemilinearMapClass` instance when all we want is an `AddHomClass` or a `MulActionSemiHomClass` can be quite expensive since there are multiple ways to crawl the algebraic hierarchy to generate `LinearMapClass` instances. If these fail, then they fail slowly. We deprioritize the projections from `SemilinearMapClass` to `AddHomClass` and `MulActionSemiHomClass` to make this one of the last choices. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra delegated
label:t-algebra$
6/0 Mathlib/Algebra/Module/LinearMap/Defs.lean 1 6 ['github-actions', 'j-loreaux', 'leanprover-bot', 'mathlib-bors', 'mattrobball'] nobody
104-11024
3 months ago
104-11024
3 months ago
47-32152
47 days
24155 eric-wieser
author:eric-wieser
feat: add a "rw_proc" for fin vectors This seems a little nicer than an elaborator, since it means I can use the default elaboration rules to handle my first few variables. Ideally there would be something like ```lean rw_procQ {A : Type u} {B : A -> Type v} (a : A) (b : B a) : b = ?rhs => do /-- Context: u v : Level A : Q(Type u) B : Q($A -> Type v) a : Q($A) b : Q($B $a) rhs : Q($B $a) -- metavariable to assign |- MetaM Q($b = ?rhs) -/ ``` or ```lean rw_proc {A : Type u} {B : A -> Type v} (a : A) (b : B a) : b = ?rhs => do /-- Context: u v : Level A B a b : Expr rhs : MVarId |- MetaM Expr -/ ``` which would generate the code I wrote here --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data RFC t-meta awaiting-author 27/2 Mathlib/Data/Fin/Tuple/Reflection.lean 1 2 ['github-actions', 'urkud'] nobody
104-8401
3 months ago
104-8401
3 months ago
20-83091
20 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/) t-computability new-contributor awaiting-author 383/0 Mathlib.lean,Mathlib/Computability/LeftmostDerivation.lean 2 54 ['YaelDillies', 'github-actions', 'madvorak', 'shetzl'] YaelDillies
assignee:YaelDillies
103-55275
3 months ago
103-55275
3 months ago
72-3718
72 days
21276 GabinKolly
author:GabinKolly
feat(ModelTheory/Substructures): define equivalences between equal substructures Define first-order equivalences between equal substructures, and prove related properties. --- This is some preparatory work for #18876 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic awaiting-author 62/0 Mathlib/ModelTheory/Substructures.lean 1 19 ['GabinKolly', 'YaelDillies', 'fpvandoorn', 'github-actions', 'grunweg'] nobody
103-30595
3 months ago
103-30595
3 months ago
46-55730
46 days
23137 grunweg
author:grunweg
chore(Topology): some more fun_prop tagging --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology delegated 8/4 Mathlib/Dynamics/Flow.lean,Mathlib/Topology/Algebra/Monoid.lean 2 10 ['github-actions', 'grunweg', 'j-loreaux', 'mathlib-bors'] nobody
103-13473
3 months ago
103-13473
3 months ago
34-32727
34 days
24532 robertmaxton42
author:robertmaxton42
feat(LinearAlgebra/FreeProduct): fill out the `FreeProduct.asPowers` namespace * Replicate the existing API for `LinearAlgebra.FreeProduct` under `FreeProduct.asPowers`, for convenience when working primarily with the power algebra representation * Adds convenience lemmas for using the corresponding quotient relation `rel'` (used in the above). --- - [x] depends on: #24531 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
122/5 Mathlib/LinearAlgebra/FreeProduct/Basic.lean 1 25 ['YaelDillies', 'adomani', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'robertmaxton42'] nobody
101-60955
3 months ago
101-61007
3 months ago
102-22908
102 days
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 new-contributor awaiting-author 2/24 Mathlib/Computability/EpsilonNFA.lean 1 2 ['YaelDillies', 'github-actions', 'urkud'] nobody
101-56139
3 months ago
101-56139
3 months ago
27-52316
27 days
24744 Timeroot
author:Timeroot
Post's lattice Draft PR for now so I can get CI checks. Eventually want to prove Post's Lattice --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) WIP 758/0 Mathlib.lean,Mathlib/Algebra/Clone/Basic.lean,Mathlib/Algebra/Clone/Defs.lean,Mathlib/Algebra/Clone/Instances.lean,Mathlib/Algebra/Clone/PostLattice.lean,Mathlib/Data/Fin/Basic.lean 6 1 ['github-actions'] nobody
99-62608
3 months ago
99-62608
3 months ago
0-0
0 seconds
24618 b-mehta
author:b-mehta
feat(Analysis): add Schur inequality and variants Add Schur inequality and some of its common variants. TODO: - [x] add reference to source: https://www.cip.ifi.lmu.de/~grinberg/VornicuS.pdf - [ ] add other generalisations - [ ] move some of the lemmas elsewhere --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis WIP 145/0 Mathlib/Analysis/Convex/Schur.lean 1 16 ['b-mehta', 'eric-wieser', 'github-actions'] nobody
98-43672
3 months ago
107-23610
3 months ago
0-2
2 seconds
24957 eric-wieser
author:eric-wieser
feat: use ` binderNameHint` in sum_congr Zulip thread: [#new members > Choosing dummy variable inside summation @ 💬](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Choosing.20dummy.20variable.20inside.20summation/near/518492888) Co-authored-by: Joachim Breitner --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
23/16 Mathlib/Algebra/BigOperators/Expect.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Data/Finset/Fold.lean,Mathlib/Data/Finset/Lattice/Fold.lean,Mathlib/Data/List/OfFn.lean,Mathlib/Data/Multiset/Count.lean,Mathlib/Data/Multiset/Filter.lean,Mathlib/Data/Multiset/MapFold.lean,Mathlib/Data/Option/Basic.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Sym/Basic.lean,Mathlib/Data/Sym/Sym2.lean 13 1 ['github-actions'] nobody
96-42816
3 months ago
96-44266
3 months ago
96-44322
96 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/) new-contributor t-analysis WIP help-wanted 287/0 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/AffineSubspace.lean 2 6 ['MithicSpirit', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] MithicSpirit
assignee:MithicSpirit
95-26285
3 months ago
95-26303
3 months ago
0-0
0 seconds
10235 urkud
author:urkud
feat: add `Decidable`, `Fintype`, `Encodable` linters This PR ports the `decidableClassical`, `fintypeFinite` and `encodableCountable` linters from mathlib3: all three are environment linters which flag declarations that have a hypothesis `[Decidable p]` etc., but do not use the underlying assumption in this type. Restructuring the code can make the statement more general. The implementation is in fact quite general, and can easily adapt to include further types. PRs #17518 and #17519 are two examples of further such linters. --- Please don't fix the failures related to `HasFDerivWithinAt.pi`. Finiteness assumptions in these lemmas will be completely removed during porting to TVS. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-bench large-import t-linter t-meta awaiting-author 123/4 Mathlib.lean,Mathlib/Computability/Halting.lean,Mathlib/Computability/TuringMachine.lean,Mathlib/Data/Fintype/Quotient.lean,Mathlib/Logic/Basic.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/NumberTheory/JacobiSum/Basic.lean,Mathlib/Order/Heyting/Regular.lean,Mathlib/Tactic.lean,Mathlib/Tactic/GeneralizeProofs.lean,Mathlib/Tactic/Linter/UnusedAssumptionInType.lean 11 n/a ['Command-Master', 'github-actions', 'grunweg', 'kmill', 'leanprover-bot', 'urkud'] nobody
95-24982
3 months ago
unknown
unknown
22539 joelriou
author:joelriou
feat(Algebra/Homology): construction of left resolutions Given a fully faithful functor `ι : C ⥤ A` to an abelian category, we introduce a structure `Abelian.LeftResolutions ι` which gives a functor `F : A ⥤ C` and a natural epimorphism `π.app X : ι.obj (F.obj X) ⟶ X` for all `X : A`. This is used in order to construct a resolution functor `LeftResolutions.chainComplexFunctor : A ⥤ ChainComplex C ℕ`. This shall be used in order to derive the tensor product of modules and sheaves of modules. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory WIP 271/19 Mathlib.lean,Mathlib/Algebra/Homology/HomologicalComplex.lean,Mathlib/Algebra/Homology/LeftResolutions/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean 4 1 ['github-actions'] nobody
94-47813
3 months ago
110-36631
3 months ago
59-17063
59 days
21624 sinhp
author:sinhp
feat(CategoryTheory): The (closed) monoidal structure on the product category of families of (closed) monoidal categories Given a family of closed monoidal categories, we show that the product of these categories is a closed monoidal category with the pointwise monoidal structure. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory awaiting-author 144/0 Mathlib.lean,Mathlib/CategoryTheory/Pi/Basic.lean,Mathlib/CategoryTheory/Pi/Monoidal.lean,Mathlib/CategoryTheory/Pi/MonoidalClosed.lean 4 19 ['TwoFX', 'YaelDillies', 'b-mehta', 'github-actions', 'jcommelin', 'sinhp'] nobody
92-64512
3 months ago
92-64512
3 months ago
54-54882
54 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/) new-contributor t-combinatorics 187/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Cycle.lean 2 29 ['IvanRenison', 'github-actions'] kmill
assignee:kmill
91-967
2 months ago
118-84924
3 months ago
118-84975
118 days
25135 vasnesterov
author:vasnesterov
WIP/test PR for faster `tauto` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-meta WIP 14/6 Mathlib/Geometry/Manifold/IsManifold/InteriorBoundary.lean,Mathlib/Tactic/Tauto.lean,scripts/noshake.json 3 4 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] nobody
89-14046
2 months ago
89-14046
2 months ago
0-1
1 second
11155 smorel394
author:smorel394
feat(LinearAlgebra/Multilinear/DirectSum, LinearAlgebra/DirectSum/{PiTensorProduct,Finsupp}): interaction between `MultilinearMap` and `DirectSum`, and between `PiTensorProduct` and `DirectSum` This does three things: * `MultilinearMap.fromDirectSumEquiv` (in `LinearAlgebra/MultilinearMap/DirectSum.lean`) calculates `MultilinearMap`s on a family of `DirectSum`s. More precisely, if `ι` is a `Fintype`, if `κ i` is a family of types indexed by `ι` and we have a `R`-module `M i j` for every `i : ι` and `j : κ i`, this is the linear equivalence between `Π p : (i : ι) → κ i, MultilinearMap R (fun i ↦ M i (p i)) M'` and `MultilinearMap R (fun i ↦ ⨁ j : κ i, M i j) M'`. * `PiTensorProduct.directSum` (in `LinearAlgebra/DirectSum/PiTensorProduct.lean`): the distributivity property of a `PiTensorProduct` with respect to `DirectSum`s in all its arguments. * `finsuppPiTensorProduct` (in `LinearAlgebra/DirectSum/Finsupp.lean`): If `ι` is a `Fintype`, `κ i` is a family of types indexed by `ι` and `M i` is a family of `R`-modules indexed by `ι`, then the tensor product of the family `κ i →₀ M i` is linearly equivalent to `∏ i, κ i →₀ ⨂[R] i, M i`. - [x] depends on: #11152 - [x] depends on: #11196 - [x] depends on: #17881 - [x] depends on: #17932 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra please-adopt
label:t-algebra$
322/0 Mathlib.lean,Mathlib/LinearAlgebra/DFinsupp/PiTensorProduct.lean,Mathlib/LinearAlgebra/DirectSum/Finsupp.lean,Mathlib/LinearAlgebra/DirectSum/PiTensorProduct.lean,Mathlib/LinearAlgebra/Multilinear/DFinsupp.lean,Mathlib/LinearAlgebra/Multilinear/DirectSum.lean 6 32 ['Ruben-VandeVelde', 'eric-wieser', 'github-actions', 'mathlib4-dependent-issues-bot', 'smorel394'] nobody
89-1873
2 months ago
89-4078
2 months ago
6-23591
6 days
19456 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(Data/Finsupp/MonomialOrder/DegRevLex): homogeneous reverse lexicographic order Definition of the homogeneous reverse lexicographic order --- - [x] depends on: #19453 - [x] depends on: #19455 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data t-order t-algebraic-geometry WIP 362/0 Mathlib.lean,Mathlib/Data/Finsupp/MonomialOrder/DegLex.lean,Mathlib/Data/Finsupp/MonomialOrder/DegRevLex.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
88-27930
2 months ago
88-27930
2 months ago
0-1720
28 minutes
24050 Paul-Lez
author:Paul-Lez
feat(Data/Finsupp/Pointwise): generalise pointwise scalar multiplication of finsupps As pointed out by @eric-wieser, this creates an instance diamond with `SMul (α → β) (α →₀ (α → β))` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 7/4 Mathlib/Data/Finsupp/Pointwise.lean 1 6 ['Paul-Lez', 'eric-wieser', 'github-actions'] nobody
86-29659
2 months ago
128-17957
4 months ago
128-18005
128 days
25208 erdOne
author:erdOne
feat(LinearAlgebra): `tensor_induction` macro --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra RFC WIP
label:t-algebra$
87/116 Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Central/TensorProduct.lean,Mathlib/LinearAlgebra/DirectSum/Finsupp.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/RingTheory/Flat/Equalizer.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/Finite.lean,Mathlib/RingTheory/Unramified/Finite.lean 8 7 ['chrisflav', 'eric-wieser', 'github-actions', 'leanprover-bot'] nobody
86-17282
2 months ago
86-45689
2 months ago
0-600
10 minutes
24690 ScottCarnahan
author:ScottCarnahan
feat (Data.Prod): Reverse lexicographic order This PR implements the type synonym RevLex as a one-field structure, defines an order on products, and proves an order isomorphism with the Lex product with factors switched. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order WIP 141/0 Mathlib.lean,Mathlib/Data/Prod/RevLex.lean 2 4 ['ScottCarnahan', 'YaelDillies', 'github-actions'] YaelDillies
assignee:YaelDillies
84-69375
2 months ago
84-81068
2 months ago
19-33859
19 days
23426 idontgetoutmuch
author:idontgetoutmuch
G-Bundle and examples --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry awaiting-author 691/0 Mathlib/Topology/FiberBundle/Instances/GBundleDefs.lean,Mathlib/Topology/FiberBundle/Instances/Mobius.lean,Mathlib/Topology/FiberBundle/Instances/MobiusAsGBundle.lean 3 4 ['eric-wieser', 'idontgetoutmuch'] nobody
84-52227
2 months ago
95-64545
3 months ago
0-0
0 seconds
22919 plp127
author:plp127
feat(Data/Fintype/Pi): Make `Fintype` instance for `RelHom`s computable Makes the `Fintype` instance for rel homs computable. See this [Zulip](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Classical.20vs.20constructive.20logic.20in.20computation/near/496220816) message. --- - [x] depends on: #24748 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data awaiting-author 178/44 Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Data/Fintype/CardEmbedding.lean,Mathlib/Data/Fintype/Pi.lean 5 29 ['IvanRenison', 'b-mehta', 'eric-wieser', 'fpvandoorn', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'plp127'] b-mehta
assignee:b-mehta
83-77116
2 months ago
83-77116
2 months ago
73-73341
73 days
25170 eric-wieser
author:eric-wieser
refactor: make basis computable I claim that in the long run, `Basis.repr` should be a `DFinsupp` not `Finsupp`, so that it is computable. To make this change incrementally, we can store a `DFinsupp` internally today, and keep `repr` and `ofRepr` working with finsupp. This at least would allow building a large basis object, and then using `repr'` to compute with it. The cost of this intermediate state is a loss of many defeqs. --- - [ ] depends on: #25166 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra
label:t-algebra$
66/21 Mathlib/LinearAlgebra/Basis/Basic.lean,Mathlib/LinearAlgebra/Basis/Defs.lean,Mathlib/LinearAlgebra/FreeModule/Basic.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
83-6368
2 months ago
83-57766
2 months ago
0-0
0 seconds
24065 kim-em
author:kim-em
chore: script to give topological sort of modules This script is not useful by itself: it just gives a topological sort of Mathlib's import graph. But I've several times found it useful when I want to modify many files systematically with minimal rebuilding: just work backwards through the list. awaiting-author 96/0 scripts/README.md,scripts/topological_sort.py 2 5 ['github-actions', 'jcommelin', 'kim-em'] jcommelin
assignee:jcommelin
79-68543
2 months ago
79-68543
2 months ago
48-7769
48 days
20238 maemre
author:maemre
feat(Computability/DFA): Closure of regular languages under some set operations This shows that regular languages are closed under complement and intersection by constructing DFAs for them. --- Closure under all other operations will be proved when someone adds the proof for DFA<->regular expression equivalence, so they are not part of this PR. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-zulip t-computability new-contributor awaiting-author 159/0 Mathlib/Computability/DFA.lean,Mathlib/Computability/Language.lean 2 59 ['EtienneC30', 'YaelDillies', 'github-actions', 'maemre', 'meithecatte', 'urkud'] EtienneC30
assignee:EtienneC30
77-62771
2 months ago
107-10510
3 months ago
48-67492
48 days
25429 Paul-Lez
author:Paul-Lez
feat(Analysis/PDE/Quasilinear/Defs): Add definitions about quasilinear first order PDEs This PR introduces some basic definitions related to first order quasilinear PDEs. In a subsequent PR (I'm currently cleaning up the code), these will be used to state and prove some results about how solutions to quasilinear PDEs vary along characteristic curves. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 141/0 Mathlib.lean,Mathlib/Analysis/PDE/Quasilinear/Defs.lean 2 1 ['github-actions'] nobody
77-44256
2 months ago
77-52426
2 months ago
0-0
0 seconds
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
76-45047
2 months ago
76-45937
2 months ago
0-11212
3 hours
18693 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: add ConjRootClass Co-authored-by: FR --- From #6718 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra delegated
label:t-algebra$
213/0 Mathlib.lean,Mathlib/FieldTheory/Minpoly/ConjRootClass.lean,Mathlib/FieldTheory/Minpoly/IsConjRoot.lean 3 16 ['LessnessRandomness', 'Vierkantor', 'alreadydone', 'github-actions', 'grunweg', 'mathlib-bors'] Vierkantor
assignee:Vierkantor
75-62607
2 months ago
86-38160
2 months ago
94-8480
94 days
23992 robertmaxton42
author:robertmaxton42
feat (Limits.FunctorCategory): limitIsoFlipCompLim and colimitIsoFlipCompColim are natural Add `limIsoFlipCompWhiskerLim`, `limCompFlipIsoWhiskerLim`, `colimIsoFlipCompWhiskerColim`, `colimCompFlipIsoWhiskerColim`, each witnessing that their corresponding families of isomorphisms are natural in the diagram $F$. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-category-theory awaiting-CI 41/0 Mathlib/CategoryTheory/Limits/FunctorCategory/Basic.lean 1 12 ['adomani', 'github-actions', 'robertmaxton42', 'robin-carlier'] nobody
75-53748
2 months ago
76-8703
2 months ago
50-83251
50 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/) t-data new-contributor awaiting-author 129/1 Mathlib.lean,Mathlib/Data/List/Commutativity.lean,Mathlib/Data/List/Defs.lean,Mathlib/Data/List/Lemmas.lean 4 35 ['MrSumato', 'github-actions', 'grunweg', 'plp127'] grunweg
assignee:grunweg
75-44548
2 months ago
75-44548
2 months ago
29-59355
29 days
23240 urkud
author:urkud
feat(Topology/Maps): `IsOpenMap` and `ClusterPt` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology delegated 17/4 Mathlib/Topology/Maps/Basic.lean 1 8 ['eric-wieser', 'github-actions', 'grunweg', 'mathlib-bors', 'urkud'] nobody
75-39969
2 months ago
150-8950
4 months ago
0-12104
3 hours
24612 Paul-Lez
author:Paul-Lez
feat(Tactic/ImportDiff): add `#import_diff` command This PR adds the `#import_diff` command, which lists new transitive imports added by extending the list of imports of a file. The aim of this command is to help with debugging large import changes. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) will-close-soon t-meta awaiting-author 35/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ImportDiff.lean 3 8 ['adomani', 'github-actions', 'joneugster'] adomani and joneugster
assignee:joneugster assignee:adomani
75-15009
2 months ago
75-15009
2 months ago
2-61262
2 days
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/) awaiting-zulip t-computability new-contributor 101/10 Mathlib/Computability/EpsilonNFA.lean,Mathlib/Computability/NFA.lean 2 41 ['YaelDillies', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'meithecatte'] nobody
74-20162
2 months ago
74-20163
2 months ago
34-10595
34 days
25579 JovanGerb
author:JovanGerb
feat(Order/Notation): only allow ⊔/⊓ for non-linear orders ⊔/⊓ is the same as max/min. The difference is that it is meant to be used if and only if there is no linear order. This PR implements a check for one of the two directions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 33/7 Mathlib/Order/Notation.lean 1 1 ['github-actions'] nobody
73-53270
2 months ago
73-82206
2 months ago
0-0
0 seconds
24692 ScottCarnahan
author:ScottCarnahan
feat (RingTheory/HahnSeries/Basic): isomorphism of Hahn series induced by order isomorphism This PR introduces an isomorphism of Hahn series induced by an order isomorphism on the exponent posets. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order WIP 35/0 Mathlib/RingTheory/HahnSeries/Basic.lean 1 1 ['github-actions'] nobody
72-65992
2 months ago
72-65992
2 months ago
31-47622
31 days
25035 ScottCarnahan
author:ScottCarnahan
feat (Algebra/Module/Equiv/Defs): Linear equivalence between linear hom and semilinear hom. Given a ring homomorphism `σ₂ : R →+* R₂`, an `R`-module `M`, and a module `M₂` for both `R` and `R₂` satisfying `SMulCommClass R R₂ M₂` and `(σ₂ r) • x = r • x`, we produce an `R₂`-linear equivalence between `M →ₗ[R] M₂` and `M →ₛₗ[σ₂] M₂`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra WIP
label:t-algebra$
21/0 Mathlib/Algebra/Module/Equiv/Defs.lean 1 1 ['github-actions'] nobody
72-65979
2 months ago
72-65979
2 months ago
20-7584
20 days
25034 ScottCarnahan
author:ScottCarnahan
feat (Algebra/Module/Equiv/Basic): Restriction of scalars from a semilinear equivalence to a linear equivalence. If `M` and `M₂` are both `R`-modules and modules for `S` and `S₂`, respectively, then for any ring isomorphism `e` between `S` and `S₂` and any `e`-semilinear equivalence between `M` and `M₂` that respects the `R`-action, we obtain an `R`-linear equivalence between `M` and `M₂`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra WIP
label:t-algebra$
28/0 Mathlib/Algebra/Module/Equiv/Basic.lean 1 1 ['github-actions'] nobody
72-65954
2 months ago
72-65954
2 months ago
20-11468
20 days
24669 qawbecrdtey
author:qawbecrdtey
feat(Analysis/Normed/Operator/LinearIsometry): added definition `LinearIsometryEquiv.prodComm` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) This commit defines a `LinearIsometryEquiv`, and states some trivial theorems about it. ```lean def prodComm [Module R E₂] : E × E₂ ≃ₗᵢ[R] E₂ × E ``` maintainer-merge t-analysis awaiting-author 8/1 Mathlib/Analysis/Normed/Operator/LinearIsometry.lean 1 10 ['Ruben-VandeVelde', 'eric-wieser', 'faenuccio', 'github-actions', 'j-loreaux', 'jcommelin', 'qawbecrdtey'] faenuccio
assignee:faenuccio
71-73708
2 months ago
71-73708
2 months ago
32-83569
32 days
24540 robertmaxton42
author:robertmaxton42
feat(Quiv): add the empty, vertex, point, interval, and walking quivers Add: * The empty quiver * The vertex quiver (one vertex, and no edges) and the point quiver (one vertex, one self-edge) * The interval quiver (two vertices with an edge between them) * The walking quiver (vertices `0` and `1` with two edges both `0 -> 1`. Functors from the walking quiver to `Type` define quivers, by interpreting `F.obj 0` as the type of vertices, `F.obj 1` as the type of edges, using one of the two edges to label the source of every edge and using the other to label the target.) - [x] depends on: #24538 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory awaiting-author 370/0 Mathlib.lean,Mathlib/CategoryTheory/Category/Quiv/Shapes.lean,Mathlib/CategoryTheory/Category/Quiv/WalkingQuiver.lean,Mathlib/Logic/Small/Defs.lean 4 13 ['github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'robertmaxton42', 'robin-carlier'] nobody
71-44977
2 months ago
75-8990
2 months ago
0-80193
22 hours
25637 Timeroot
author:Timeroot
feat(Analysis/Convex): Lifting convex sets along scalar towers Add the fact that, if `IsScalarTower X Y Z`, and a set `s : Set Z` is `Convex Y', then it's also `Convex X`. (With appropriate assumptions). --- @j-loreaux mentioned that maybe it's worth having facts in here for `segment`, `openSegment`; I can also think of `affineSegment`, `Wbtw`, and `Sbtw`. The relevant facts being that `Wbtw` and `Sbtw` can be lifted like `Convex` can, and that the relevant `*segment` sets give subsets on the other ring. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis awaiting-author 17/0 Mathlib/Analysis/Convex/Basic.lean 1 2 ['github-actions', 'j-loreaux'] nobody
71-37550
2 months ago
71-37551
2 months ago
0-45198
12 hours
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. new-contributor t-analysis awaiting-author 111/1 Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean,Mathlib/Analysis/Calculus/Taylor.lean 3 12 ['Paul-Lez', 'github-actions', 'grunweg', 'mhk119'] nobody
71-4667
2 months ago
132-46363
4 months ago
30-77130
30 days
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/) t-algebra please-adopt
label:t-algebra$
16/5 Mathlib/RingTheory/OreLocalization/Basic.lean 1 6 ['erdOne', 'github-actions', 'kbuzzard'] nobody
71-2245
2 months ago
71-4336
2 months ago
53-20069
53 days
25683 eric-wieser
author:eric-wieser
feat: Enumeration of NonemptyInterval --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-data 52/4 Mathlib/Data/Sym/Sym2/Fin.lean,Mathlib/Data/Sym/Sym2/Order.lean 2 1 ['github-actions'] nobody
71-1271
2 months ago
71-1271
2 months ago
0-0
0 seconds
25746 robin-carlier
author:robin-carlier
feat(Tactic/CategoryTheory): `Cancelable` boilerplate for the `rotate_isos` WIP tactic This PR adds some boilerplate that will be used in a forthcoming PR implementing a `rotate_isos` tactic that aims to provide easy ways of moving one or more morphisms that can be inferred to be isomorphisms (not necessarily through the `IsIso typeclass, but also directly by recognizing them as e.g components of natural isomorphisms, or functor application to such morphisms). The boilerplate in this PR abstracts the notion of a cancelable expression for a morphism in a composition of (iso)morphisms in a category, and records a global reference to a list of "cancelable factories", _i.e_ functions that try to recognize term in an expression as a "cancelable" morphism, and provides helper to register such functions. --- First part of a series of 3 PRs contributing the `rotate_isos` tactic to mathlib. Second part will actually implement the tactic, and provide a test suite. Please read the description of the second PR (#24454) to get more details. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24452.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24452* t-category-theory t-meta awaiting-author 162/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Cancelable.lean,scripts/noshake.json 4 1 ['github-actions'] nobody
69-62728
2 months ago
69-62757
2 months ago
0-0
0 seconds
25585 Paul-Lez
author:Paul-Lez
feat(Tactic/Linters/DeprecatedSimpLemma): lint for deprecated simp lemmas The deprecated simp lemma linter flags declarations that have both the `deprecated` and `simp` attributes. See Zulip discussion: [#mathlib4 > Help with Mathlib.Order.Interval.Finset.Defs @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Help.20with.20Mathlib.2EOrder.2EInterval.2EFinset.2EDefs/near/505994843) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter awaiting-author 105/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/DeprecatedSimpLemma.lean,MathlibTest/DeprecatedSimpLemmaTest.lean 4 7 ['adomani', 'github-actions', 'grunweg'] nobody
69-58841
2 months ago
73-14658
2 months ago
0-34675
9 hours
25799 dagurtomas
author:dagurtomas
feat(CategoryTheory): the universal property of localized monoidal categories This PR provides a monoidal structure on any functor out of a localized monoidal category whose precomposition with the localization functor is monoidal --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24727.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24727* t-category-theory WIP 457/0 Mathlib.lean,Mathlib/CategoryTheory/Localization/Bifunctor.lean,Mathlib/CategoryTheory/Localization/MonoidalFunctor.lean 3 1 ['github-actions'] nobody
69-52596
2 months ago
69-52662
2 months ago
0-3
3 seconds
25802 dagurtomas
author:dagurtomas
feat(AlgebraicTopology): anodyne morphisms of simplicial sets --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #20201.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/20201* t-topology WIP 148/0 Mathlib.lean,Mathlib/AlgebraicTopology/Anodyne.lean,Mathlib/AlgebraicTopology/KanFibration.lean,Mathlib/CategoryTheory/MorphismProperty/WeakSaturation.lean 4 1 ['github-actions'] nobody
69-51529
2 months ago
69-51546
2 months ago
0-2
2 seconds
25807 Vierkantor
author:Vierkantor
ci: Empty commit to test the bench-after-CI workflow. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) test-ci CI 0/0 0 3 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] nobody
69-32519
2 months ago
69-32519
2 months ago
69-48955
69 days
25835 erdOne
author:erdOne
WIP: Weierstrass elliptic functions --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #21662.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/21662* t-analysis WIP 1461/0 Mathlib/Analysis/Elliptic/Basic.lean 1 1 ['github-actions'] nobody
68-57706
2 months ago
68-57748
2 months ago
0-33
33 seconds
25838 Bergschaf
author:Bergschaf
feat(Order/Atoms): Finsets are Atomistic --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-order 31/0 Mathlib/Order/Atoms.lean 1 1 ['github-actions'] nobody
68-50988
2 months ago
68-50988
2 months ago
0-0
0 seconds
25765 JovanGerb
author:JovanGerb
feat(gcongr): lemma for rewriting inside divisibility TODO: add test to show that we can rewrite using `a ≡ b [ZMOD n]` inside `n ∣ 2 * a + 1`. edit: it's not yet entirely clear if this is the right thing to do. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data delegated 5/0 Mathlib/Data/Int/ModEq.lean 1 3 ['fpvandoorn', 'github-actions', 'mathlib-bors'] nobody
68-3484
2 months ago
68-39022
2 months ago
1-19951
1 day
25700 grunweg
author:grunweg
RFC: 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 - [ ] depends on: #25698 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter RFC 15/0 MathlibTest/DeprecatedSyntaxLinter.lean,MathlibTest/Monotonicity.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
67-43545
2 months ago
70-2793
2 months ago
70-3317
70 days
25871 eric-wieser
author:eric-wieser
refactor: generalize rank lemmas to semirings --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
18/8 Mathlib/LinearAlgebra/Dimension/Finite.lean 1 1 ['github-actions'] nobody
67-30945
2 months ago
67-30971
2 months ago
0-0
0 seconds
25911 BoltonBailey
author:BoltonBailey
make `a / b` simp normal form This PR continues the work from #25631. Original PR: https://github.com/leanprover-community/mathlib4/pull/25631 t-algebra
label:t-algebra$
11/1 Mathlib/Algebra/Group/Defs.lean 1 2 ['BoltonBailey', 'github-actions'] nobody
66-36735
2 months ago
66-36738
2 months ago
0-0
0 seconds
25918 BoltonBailey
author:BoltonBailey
feat: one time pad string diagram This PR continues the work from #10655. Original PR: https://github.com/leanprover-community/mathlib4/pull/10655 159/0 MathlibTest/StringDiagram.lean 1 2 ['BoltonBailey', 'github-actions'] nobody
66-34879
2 months ago
66-34967
2 months ago
0-0
0 seconds
25990 Multramate
author:Multramate
chore(NumberTheory/EllipticDivisibilitySequence): rename definitions This PR continues the work from #25132. Original PR: https://github.com/leanprover-community/mathlib4/pull/25132 t-number-theory 265/45 Mathlib/NumberTheory/EllipticDivisibilitySequence.lean 1 2 ['Multramate', 'github-actions'] nobody
65-10784
2 months ago
65-10784
2 months ago
0-0
0 seconds
25987 Multramate
author:Multramate
refactor(AlgebraicGeometry/EllipticCurve/Affine/*): some minor changes This PR continues the work from #24571. Original PR: https://github.com/leanprover-community/mathlib4/pull/24571 t-algebraic-geometry 0/12 Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean 2 n/a ['Multramate', 'github-actions', 'grunweg'] nobody
64-57345
2 months ago
unknown
unknown
25921 BoltonBailey
author:BoltonBailey
feat: scripts to analyze overlap between namespaces This PR continues the work from #11385. Original PR: https://github.com/leanprover-community/mathlib4/pull/11385 migrated-from-branch t-meta WIP 86/0 scripts/RecordNamespaces.lean,scripts/namespace-overlap.py 2 1 ['github-actions'] nobody
64-22746
2 months ago
64-22746
2 months ago
2-11832
2 days
26085 grunweg
author:grunweg
feat: disjoint unions distribute with products of manifolds This PR continues the work from #22611. Original PR: https://github.com/leanprover-community/mathlib4/pull/22611 t-differential-geometry please-adopt WIP 75/6 Mathlib/Geometry/Manifold/Diffeomorph.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean 2 2 ['github-actions', 'grunweg'] nobody
63-44804
2 months ago
63-44806
2 months ago
0-74
1 minute
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 t-linter 373/306 Mathlib/Tactic/Linter/DirectoryDependency.lean,scripts/README.md,scripts/forbiddenDirs.json 3 2 ['github-actions', 'grunweg'] nobody
63-44478
2 months ago
63-44485
2 months ago
63-44532
63 days
25971 joelriou
author:joelriou
feat(CategoryTheory): pseudofunctors to Cat This PR adds convenience lemmas for pseudofunctors to `Cat`, mostly using the `to_app` attribute. The simp set for the `to_app` attribute is extended in order to take into account that in `Cat`, associators and unitors induce identities. --- This PR continues the work from #24384. Original PR: https://github.com/leanprover-community/mathlib4/pull/24384 t-category-theory awaiting-author 142/8 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/Functor/Cat.lean,Mathlib/CategoryTheory/Bicategory/Functor/Strict.lean,Mathlib/Tactic/CategoryTheory/ToApp.lean,MathlibTest/CategoryTheory/ToApp.lean 5 6 ['callesonne', 'chrisflav', 'github-actions', 'joelriou'] nobody
63-38904
2 months ago
63-41429
2 months ago
0-7170
1 hour
26174 grunweg
author:grunweg
feat: split continuous linear maps We define split linear maps and prove their basic properties. Manually migrated from #23186. --- There are two sorries left. One is `ClosedComplemented.prod`; the other relates to the composition of split maps. Help with both is welcome. [This zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Composition.20of.20immersions.20is.20an.20immersion.3A.20infinite-dimensio/with/507300190) contains a proof of the non-trivial sorry. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis WIP help-wanted 249/0 Mathlib.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Splits.lean 2 1 ['github-actions'] nobody
62-11362
2 months ago
62-11389
2 months ago
0-0
0 seconds
26115 grunweg
author:grunweg
WIP/proof of concept,feat: the inverse function theorem for manifolds --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry WIP 348/0 Mathlib.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Geometry/Manifold/InverseFunctionTheorem.lean,Mathlib/Topology/PartialHomeomorph.lean 4 1 ['github-actions'] nobody
62-10299
2 months ago
63-26765
2 months ago
0-0
0 seconds
25803 erdOne
author:erdOne
feat: taylor expansion of `1 / z ^ r` --- This might exist somewhere else but I couldn't find them. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #21693.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/21693* t-analysis awaiting-author 95/0 Mathlib.lean,Mathlib/Analysis/SpecificLimits/InvPow.lean 2 5 ['erdOne', 'github-actions', 'j-loreaux', 'vasnesterov'] nobody
61-18377
2 months ago
61-18377
2 months ago
8-29520
8 days
26239 BoltonBailey
author:BoltonBailey
feat: add sample pre-commit git hook file This PR adds a sample pre-commit git hook file that runs `mk_all` and `lint-style`. The script provides instructions on how to activate these as git hooks. Installing these would be optional, but hopefully people who would install them would find it easier to avoid commits that immediately fail linters. Discussion of hooks on [Zulip here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Automatic.20setup.20and.20distribution.20of.20git.20hooks/with/525103090). Some thoughts: - Perhaps it would be better, for speed, to attempt to avoid certain commands if the staged changes suggest they would be unnecessary. - i.e. only run linters on files that have been updated / only run `mk_all` if a file has been added or deleted. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) WIP 18/0 git_hooks/pre-commit 1 1 ['github-actions'] nobody
61-14579
2 months ago
61-14579
2 months ago
0-1331
22 minutes
26231 chrisflav
author:chrisflav
feat(CategoryTheory/Sites): sheaf condition and coproducts We show that under suitable conditions, checking that a presheaf is a sheaf for a covering is equivalent to checking it on the single object covering by the coproduct. --- I am not sure this is the correct file, but I had no better idea. Happy to move it somewhere else. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory awaiting-author 58/0 Mathlib/CategoryTheory/Sites/Sheaf.lean 1 3 ['chrisflav', 'github-actions', 'joelriou'] nobody
59-56608
1 month ago
59-57266
1 month ago
1-60053
1 day
25603 callesonne
author:callesonne
feat(Bicategory/InducedBicategory): add induced bicategories This PR adds a way of inducing a full bicategory structure on given type of objects with a map to the objects of some bicategory (i.e. with all 1-morphisms and all 2-morphisms). I have not tried to implement "locally induced bicategories" which should allow for a sub-class of 1-morphisms as well. This is because copying the naive approach and replacing the map `F` as for induced categories with a functor, one runs into issues when the equalities in `F.map_comp` and `F.map_id` are not defeq equalities. One could probably define locally full sub-bicategories using a pair of `ObjectProperty` + `MorphismProperty` to ensure that the inclusions are actually defeq, but I did not want to get into this. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory awaiting-author 68/0 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/InducedBicategory.lean 2 5 ['callesonne', 'github-actions', 'robin-carlier'] robin-carlier
assignee:robin-carlier
59-39999
1 month ago
59-60050
1 month ago
13-48345
13 days
24395 rudynicolop
author:rudynicolop
feat(Data/List): list splitting definitions and lemmas Adds definitions and lemmas for obtaining all prefixes and suffixes of lists. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor awaiting-author 143/2 Mathlib/Data/List/Perm/Lattice.lean,Mathlib/Data/List/TakeDrop.lean 2 4 ['BoltonBailey', 'github-actions'] ericrbg
assignee:ericrbg
59-12507
1 month ago
59-12507
1 month ago
57-9536
57 days
21450 eric-wieser
author:eric-wieser
feat: improve trace nodes for `positivity` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 25/7 Mathlib/Tactic/Positivity/Core.lean 1 1 ['github-actions'] nobody
59-11358
1 month ago
196-68072
6 months ago
0-0
0 seconds
26284 plp127
author:plp127
feat: faster implementation of `Nat.primeFactorsList` + `@[csimp]` lemma Add a function `Nat.primeFactorsListFast` that `#eval`s faster, and a `@[csimp]` lemma `Nat.primeFactorsList_eq_primeFactorsListFast` that shows `Nat.primeFactorsList = Nat.primeFactorsListFast`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 95/0 Mathlib/Data/Nat/Factors.lean 1 1 ['github-actions'] nobody
58-74988
1 month ago
58-75011
1 month ago
59-2526
59 days
26289 jcommelin
author:jcommelin
touch a leaf file --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability 6/36 .github/workflows/build.yml,.github/workflows/mk_build_yml.sh,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,docs/1000.yaml 4 n/a ['github-actions'] nobody
58-69219
1 month ago
unknown
unknown
26292 RemyDegenne
author:RemyDegenne
feat(MeasureTheory): tightness of the range of a sequence * `isTightMeasureSet_range_iff_tendsto_limsup_measure_norm_gt`: in a proper normed group, the range of a sequence of measures `μ : ℕ → Measure E` is tight if and only if the function `r : ℝ ↦ limsup (fun n ↦ μ n {x | r < ‖x‖}) atTop` tends to `0` at infinity. * `isTightMeasureSet_range_iff_tendsto_limsup_inner`: in a finite-dimensional inner product space, the range of a sequence of measures `μ : ℕ → Measure E` is tight if and only if the function `r : ℝ ↦ limsup (fun n ↦ μ n {x | r < ‖⟪y, x⟫_𝕜‖}) atTop` tends to `0` at infinity for all `y`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24838.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24838* t-measure-probability awaiting-author 197/2 Mathlib/MeasureTheory/Measure/TightNormed.lean 1 1 ['github-actions'] nobody
58-60605
1 month ago
58-60670
1 month ago
0-1
1 second
26293 RemyDegenne
author:RemyDegenne
feat: tightness from convergence of characteristic functions If the characteristic functions of a sequence of measures `μ : ℕ → Measure E` on a finite dimensional inner product space converge pointwise to a function which is continuous at 0, then `{μ n | n}` is tight. --- - [x] depends on: #24838 - [x] depends on: #24846 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24949.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24949* t-measure-probability WIP 352/2 Mathlib.lean,Mathlib/MeasureTheory/Measure/TightCharFun.lean,Mathlib/MeasureTheory/Measure/TightNormed.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
58-59616
1 month ago
58-59617
1 month ago
0-2
2 seconds
20924 tomaz1502
author:tomaz1502
feat(Computability/QueryComplexity): Oracle-based computation This PR adds the types and lemmas for oracle-based computation. In this model, computations are run on a monad which also counts the number of oracle queries executed. With it, it becomes possible to reason about the upper bound of the query complexity of algorithms. In the future, we could extend this work to include the necessary bits from information theory and probability to also reason about lower bounds on query complexity, like the work in https://github.com/girving/debate. Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2318629.20runtime.20complexity.20of.20sorting.20a.20list Co-authored-by: Geoffrey Irving --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability 305/0 Mathlib.lean,Mathlib/Computability/QueryComplexity/Basic.lean,Mathlib/Computability/QueryComplexity/Defs.lean 3 59 ['eric-wieser', 'girving', 'github-actions', 'quangvdao', 'tomaz1502'] nobody
58-39411
1 month ago
210-32599
6 months ago
210-32587
210 days
26327 eric-wieser
author:eric-wieser
chore: split the tests for positivity --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 528/2 MathlibTest/Positivity/basic.lean,MathlibTest/positivity.lean 2 1 ['github-actions'] nobody
58-9375
1 month ago
58-9464
1 month ago
0-0
0 seconds
22089 sgouezel
author:sgouezel
feat: composing a continuous multilinear map with continuous linear maps is analytic in both variables Also prove that the composition of continuously polynomial functions is continuously polynomial. --- - [x] depends on: #22102 - [x] depends on: #22789 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis awaiting-author 277/80 Mathlib/Analysis/Analytic/CPolynomial.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean,Mathlib/Data/Multiset/DershowitzManna.lean,Mathlib/Order/KrullDimension.lean 5 11 ['github-actions', 'grunweg', 'loefflerd', 'mathlib4-dependent-issues-bot', 'sgouezel', 'urkud'] loefflerd
assignee:loefflerd
57-66978
1 month ago
57-66978
1 month ago
122-9676
122 days
26087 grunweg
author:grunweg
feat: a `SliceModel` typeclass for models with corners for embedded submanifolds We define a new typeclass to denote a model with corners which "embeds" into another one: there are an embedding of the underlying topological spaces and a continuous linear inclusion between the normed spaces, which are compatible with the maps given by the models with corners. This condition is used for defining smooth (immersed and embedded) submanifolds: for `M` to be a submanifold of `N`, to boot their models with corners should be slice models. This will be defined in a future PR. To prove this definition is workable, we construct many basic instances of slice models - each model with corners is one over itself - slice models are transitive - each model with corners I embeds into two products `I.prod J` and `J.prod I` - Euclidean n-half-space embeds into Euclidean n-space - a Euclidean n-quadrant embeds into Euclidean half-space (hence into Euclidean n-space) - if n\leq m, Euclidean n-space embeds into Euclidean m-space [zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Infinite-dimensional.20manifolds/near/413117885) ----------- - [x] depends on: #26083 - [x] depends on: #26082 - [x] depends on: #26086 - [x] depends on: #25705 This PR continues the work from #25505. t-differential-geometry 229/0 Mathlib.lean,Mathlib/Geometry/Manifold/SliceModel.lean 2 3 ['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot'] nobody
57-23876
1 month ago
57-34556
1 month ago
57-36019
57 days
26389 jjdishere
author:jjdishere
feat(RingTheory): Perfectoid Field This PR continues the work from #19972. Original PR: https://github.com/leanprover-community/mathlib4/pull/19972 t-algebra t-analysis t-topology WIP
label:t-algebra$
150/0 Mathlib/RingTheory/Perfectoid.lean 1 2 ['github-actions', 'jjdishere'] nobody
56-80319
1 month ago
56-80326
1 month ago
0-69
1 minute
26390 jjdishere
author:jjdishere
feat(Topology/Algebra): Krasner's lemma This PR continues the work from #18444. Original PR: https://github.com/leanprover-community/mathlib4/pull/18444 t-algebra t-topology t-number-theory WIP
label:t-algebra$
440/0 Mathlib.lean,Mathlib/Topology/Algebra/Krasner.lean 2 n/a ['github-actions', 'jjdishere'] nobody
56-80112
1 month ago
unknown
unknown
26376 maddycrim
author:maddycrim
Simons2025 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor WIP 29/0 Mathlib/RingTheory/Localization/Pi.lean 1 1 ['github-actions'] faenuccio
assignee:faenuccio
56-38497
1 month ago
57-16970
1 month ago
0-13
13 seconds
26432 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(Data.Nat.LogFueled): fueled version of `clog` This PR continues the work from #25557. Original PR: https://github.com/leanprover-community/mathlib4/pull/25557 t-data 201/0 Mathlib.lean,Mathlib/Data/Nat/LogFueled.lean 2 2 ['AntoineChambert-Loir', 'github-actions'] nobody
55-53851
1 month ago
55-53853
1 month ago
55-53906
55 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/) large-import new-contributor t-analysis 201/0 Mathlib/Analysis/Complex/CauchyIntegral.lean 1 1 ['github-actions'] nobody
54-34152
1 month ago
54-34159
1 month ago
0-0
0 seconds
25739 literandltx
author:literandltx
feat(NumberTheory/LegendreSymbol): Add sqrt‐of‐residue theorems for p=4k+3 and p=8k+5 Add a new file `QuadraticResidueRoots.lean` under `Mathlib/NumberTheory/LegendreSymbol/` that proves two explicit “square-root of quadratic residue” theorems for primes of the specific form. - **`exists_sqrt_of_residue_mod4_eq3`** for primes `p = 4*k + 3` - **`exists_sqrt_of_residue_mod8_eq5`** for primes `p = 8*k + 5` It also introduces the helper lemmas `euler_criterion_traditional` and `legendreSym.at_two_mod8_eq_5`. Import lines in `Mathlib.lean` and `Mathlib/NumberTheory/LegendreSymbol/Basic.lean` have been updated accordingly. new-contributor t-number-theory awaiting-author 217/0 Mathlib.lean,Mathlib/NumberTheory/LegendreSymbol/Basic.lean,Mathlib/NumberTheory/LegendreSymbol/QuadraticReciprocity.lean,Mathlib/NumberTheory/LegendreSymbol/QuadraticResidueRoots.lean 4 2 ['github-actions', 'kckennylau'] literandltx
assignee:literandltx
51-58024
1 month ago
52-710
1 month ago
17-63153
17 days
25993 Multramate
author:Multramate
feat(Algebra/Group/Units/Hom): add map lemmas This PR continues the work from #25609. Original PR: https://github.com/leanprover-community/mathlib4/pull/25609 t-algebra awaiting-author
label:t-algebra$
27/10 Mathlib/Algebra/Group/Units/Basic.lean,Mathlib/Algebra/Group/Units/Hom.lean 2 5 ['Multramate', 'Ruben-VandeVelde', 'github-actions'] nobody
50-59776
1 month ago
50-59776
1 month ago
14-37502
14 days
26013 tsuki8
author:tsuki8
feat(Data/Finset/Card,Data/Set/Finite/Basic) 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/) t-data new-contributor awaiting-author 15/0 Mathlib/Data/Finset/Card.lean,Mathlib/Data/Set/Finite/Basic.lean 2 5 ['Ruben-VandeVelde', 'github-actions'] nobody
50-46399
1 month ago
50-58691
1 month ago
13-85893
13 days
26348 mans0954
author:mans0954
WIP: feature(Analysis/LocallyConvex/Prime): The prime map This PR continues the work from #24385. Original PR: https://github.com/leanprover-community/mathlib4/pull/24385 t-analysis WIP 125/0 Mathlib.lean,Mathlib/Analysis/LocallyConvex/Prime.lean 2 2 ['github-actions', 'mans0954'] nobody
49-16849
1 month ago
52-21080
1 month ago
5-43062
5 days
26346 mans0954
author:mans0954
feature(LinearAlgebra/QuadraticForm/TensorProduct): Extend `baseChange_ext` to work over a free module This PR continues the work from #21814. Original PR: https://github.com/leanprover-community/mathlib4/pull/21814 t-algebra WIP
label:t-algebra$
105/5 Mathlib/LinearAlgebra/Basis/Bilinear.lean,Mathlib/LinearAlgebra/QuadraticForm/TensorProduct.lean 2 2 ['github-actions', 'mans0954'] nobody
49-16773
1 month ago
52-20904
1 month ago
0-0
0 seconds
26343 mans0954
author:mans0954
feat(Analysis/Normed/Module/Complemented): The idempotent associated with a complemented subspace Given a complemented subspace `p` of a Banach space `E`, with complement `q`, there exists an idempotent `P` in the ring `E →L[𝕜] E` such that `P` has range `p` and kernel `q`. Similarly `1-P` has range `q` and kernel `p`. See Rudin, Functional Analysis, Theorem 5.16. --- This PR continues the work from #20330. Original PR: https://github.com/leanprover-community/mathlib4/pull/20330 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-analysis awaiting-CI WIP 185/3 Mathlib/Algebra/Module/End.lean,Mathlib/Algebra/Module/Hom.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Analysis/Normed/Module/Complemented.lean,Mathlib/RingTheory/Idempotents.lean 5 2 ['github-actions', 'mans0954'] nobody
49-16661
1 month ago
52-20760
1 month ago
0-0
0 seconds
26283 kckennylau
author:kckennylau
(WIP) Resultant --- This is a WIP PR for resultant for me to get cache. PRs produced: * [x] #25139 (migrated to #26091) * [x] #25270 * [x] #25279 * [x] #25293 * [x] #25294 * [x] #25305 * [x] #26285 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra WIP
label:t-algebra$
1190/0 Mathlib.lean,Mathlib/Algebra/Polynomial/Resultant/Basic.lean,Mathlib/Algebra/Polynomial/Resultant/MvPolynomial.lean,Mathlib/RingTheory/Polynomial/Discriminant.lean 4 1 ['github-actions'] nobody
49-1304
1 month ago
58-75121
1 month ago
0-19
19 seconds
22039 YaelDillies
author:YaelDillies
feat: simproc for computing `Finset.Ixx` of natural numbers --- - [x] depends on: #22290 - [x] depends on: #22559 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-meta 315/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simproc/FinsetInterval.lean,Mathlib/Util/Qq.lean 4 59 ['FLDutchmann', 'Paul-Lez', 'YaelDillies', 'eric-wieser', 'github-actions', 'grunweg', 'kim-em', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'urkud'] eric-wieser
assignee:eric-wieser
48-41161
1 month ago
126-54544
4 months ago
182-15263
182 days
26710 metakunt
author:metakunt
feat (Data/Nat/Digits/Lemmas): Add digits_getD Adds digits_getD, an explicit computation of the i-th digits of n in base b representation. t-data new-contributor 64/0 Mathlib/Data/Nat/Digits/Lemmas.lean 1 1 ['github-actions'] nobody
48-4682
1 month ago
48-4813
1 month ago
48-4865
48 days
26743 grunweg
author:grunweg
WIP: product rule for Lie bracket on manifolds On the path towards geodesics and the Levi-Civita connection. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry WIP 119/22 Mathlib/Geometry/Manifold/VectorField/LieBracket.lean,Mathlib/Geometry/Manifold/VectorField/Pullback.lean 2 1 ['github-actions'] nobody
47-19460
1 month ago
47-40934
1 month ago
0-1
1 second
16303 grunweg
author:grunweg
feat(CI): check for badly formatted titles or missing/contradictory labels --- The zulip workflow is entirely cargo-culted from #16296; please review carefully. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI awaiting-author 325/0 .github/build.in.yml,Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/ValidatePRTitle.lean,MathlibTest/ValidatePRTitle.lean,lakefile.lean,scripts/README.md,scripts/check-title-labels.lean 8 44 ['Command-Master', 'adomani', 'bryangingechen', 'edegeltje', 'github-actions', 'grunweg', 'joneugster', 'leanprover-community-bot-assistant'] bryangingechen
assignee:bryangingechen
46-77311
1 month ago
46-77311
1 month ago
78-54824
78 days
26628 kmill
author:kmill
(benchmark) for lean4#9147 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 4/4 lake-manifest.json,lakefile.lean,lean-toolchain 3 3 ['github-actions', 'kmill', 'leanprover-bot'] nobody
46-73560
1 month ago
46-73560
1 month ago
0-0
0 seconds
24383 YaelDillies
author:YaelDillies
feat: distributive Haar characters of `ℝ` and `ℂ` Compute `distribHaarChar` in the case of the actions of `ℝˣ` on `ℝ` and of `ℂˣ` on `ℂ`. The file I'm moving was added two days ago and is not yet used in FLT. From FLT --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed FLT t-measure-probability awaiting-CI WIP 205/78 Mathlib.lean,Mathlib/Algebra/BigOperators/GroupWithZero/Action.lean,Mathlib/Algebra/Group/Action/BigOperators.lean,Mathlib/MeasureTheory/Measure/Haar/DistribChar/Basic.lean,Mathlib/MeasureTheory/Measure/Haar/DistribChar/Complex.lean,Mathlib/MeasureTheory/Measure/Haar/DistribChar/Real.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Measure/Lebesgue/EqHaar.lean 8 20 ['YaelDillies', 'github-actions', 'kbuzzard', 'leanprover-community-bot-assistant', 'sgouezel'] nobody
46-64818
1 month ago
46-64818
1 month ago
8-77637
8 days
26021 vasnesterov
author:vasnesterov
feat(Data/Real): representation of reals from `[0, 1]` in positional system * Introduce `ofDigits {b : ℕ} (digits : ℕ → Fin b) : ℝ`, representing a real number of the form `0.d₀d₁d₂...` (where `dᵢ = digits i`) as an infinite sum. * Prove that this sum converges to a number in the interval `[0, 1]`. * Prove `ofDigits_close_of_common_prefix`: if the first `n` digits of two numbers are equal, then their difference is bounded by `b⁻ⁿ`. * Introduce `Real.digits`, which converts a real number into its sequence of digits. * Prove that `ofDigits (toDigits x b) = x`. [Zulip thread](https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there-code-for-X.3F/topic/Base.20n.20expansion.20of.20real.20numbers.3F/near/502937293) --- - [x] depends on: #26004 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 238/0 Mathlib.lean,Mathlib/Data/Real/OfDigits.lean,scripts/noshake.json 3 11 ['alreadydone', 'eric-wieser', 'github-actions', 'mathlib4-dependent-issues-bot', 'vasnesterov', 'wwylele'] nobody
46-63599
1 month ago
49-78367
1 month ago
49-78925
49 days
20784 eric-wieser
author:eric-wieser
fix: prevent `exact?` recursing forever on `n = 55` Test case thanks to @llllvvuu: ```lean import Mathlib.SetTheory.Ordinal.Basic theorem natCast_inj {m n : ℕ} : (m : Ordinal) = n ↔ m = n := sorry example (n : Nat) : n = 55 := by exact? ``` This is surely a workaround for some unreported lean bug. The bug still exists for `n = 71` or higher, so we can still track down the bug after merging this patch. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 22/3 Mathlib/SetTheory/Ordinal/Basic.lean,MathlibTest/LibrarySearchRecDepth.lean 2 15 ['Command-Master', 'eric-wieser', 'github-actions', 'kbuzzard', 'kim-em', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mattrobball'] nobody
46-44832
1 month ago
46-44867
1 month ago
79-32142
79 days
26648 eric-wieser
author:eric-wieser
chore(TensorProduct): remove more `suppress_compilation`s --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-algebra blocked-by-core-PR
label:t-algebra$
3/7 Mathlib/LinearAlgebra/CliffordAlgebra/Prod.lean,Mathlib/LinearAlgebra/TensorProduct/Graded/External.lean,Mathlib/LinearAlgebra/TensorProduct/Graded/Internal.lean 3 4 ['eric-wieser', 'github-actions', 'leanprover-bot'] nobody
45-65219
1 month ago
45-65219
1 month ago
3-19989
3 days
26561 b-mehta
author:b-mehta
feat(LiminfLimsup): liminf of an antitone function is its supremum --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #26560 t-topology 24/0 Mathlib/Topology/Order/LiminfLimsup.lean 1 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
45-20860
1 month ago
45-21071
1 month ago
0-6
6 seconds
26449 faenuccio
author:faenuccio
feat(NumberTheory/LocalFields/Basic): provide the definition of (valued) Local Field In this PR we give the first definition of a local field, scoped in the namespace `Valued`, as a field endowed with a `Valued` structure such that the valuation is discrete, it is complete with respect to the topology induced by the valuation, and the residue field is finite. In future PR's we'll provide an analogous charcterizations (in purely topological terms) and the theory of extensions of local fields. A first version was in #23730, now closed. Co-authored-by: María Inés de Frutos-Fernández @mariainesdff - [x] depends on: #23727 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-number-theory WIP
label:t-algebra$
78/0 Mathlib.lean,Mathlib/NumberTheory/LocalFields/Basic.lean 2 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
44-57392
1 month ago
44-57399
1 month ago
0-91
1 minute
26878 adomani
author:adomani
feat: declaration diff script in Lean Although, it is still text-based, the parsing of the output of `git diff` is now done in Lean. The new script already performed better than the old one in a couple of situations: * #26877 See [this comment](https://github.com/leanprover-community/mathlib4/pull/26847#issuecomment-3045308885) * #26849 See [this comment](https://github.com/leanprover-community/mathlib4/pull/26849#issuecomment-3045092965) --- This is still work in progress: the parsing should be more or less done, but I have not yet hooked this into the action workflow. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 497/0 scripts/DeclarationDiff_text_based.lean 1 4 ['adomani', 'bryangingechen', 'github-actions'] bryangingechen
assignee:bryangingechen
43-59359
1 month ago
44-22910
1 month ago
0-0
0 seconds
26920 yuma-mizuno
author:yuma-mizuno
feat(Tactic.CategoryTheory): add associator inserting tactic --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory t-meta WIP 714/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/Associators.lean,MathlibTest/CategoryTheory/Associators.lean 4 1 ['github-actions'] nobody
42-63001
1 month ago
42-65523
1 month ago
0-16
16 seconds
26935 Paul-Lez
author:Paul-Lez
feat(Analysis/SpecialFunction/NthRoot): definition and basic API of Real.nthRoot This PR continues the work from #25364. Original PR: https://github.com/leanprover-community/mathlib4/pull/25364 Co-authored-by: Eric Wieser t-analysis 311/0 Mathlib/Analysis/SpecialFunctions/NthRoot.lean 1 2 ['Paul-Lez', 'github-actions'] nobody
41-54195
1 month ago
42-42576
1 month ago
42-42630
42 days
26990 joelriou
author:joelriou
feat(CategoryTheory/Abelian): Noetherian objects form a Serre class This PR continues the work from #22367. Original PR: https://github.com/leanprover-community/mathlib4/pull/22367 t-category-theory WIP 311/14 Mathlib.lean,Mathlib/CategoryTheory/Abelian/SerreClass/NoetherianObject.lean,Mathlib/CategoryTheory/Abelian/Subobject.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Subobject/MonoOver.lean 5 1 ['github-actions'] nobody
40-51604
1 month ago
40-51623
1 month ago
0-45
45 seconds
26994 Paul-Lez
author:Paul-Lez
feat(Topology/MetricSpace/Pseudo/Defs): add easy lemma about opens in topological spaces Split from #26992 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology easy awaiting-author 9/0 Mathlib/Topology/MetricSpace/Pseudo/Defs.lean 1 4 ['Paul-Lez', 'github-actions', 'grunweg'] nobody
40-38016
1 month ago
40-39438
1 month ago
0-11233
3 hours
26838 vlad902
author:vlad902
feat: add lemmas about `List.scanr` This PR continues the work from #25188. Original PR: https://github.com/leanprover-community/mathlib4/pull/25188 t-data 84/19 Mathlib/Data/List/Scan.lean 1 12 ['github-actions', 'vihdzp', 'vlad902'] nobody
39-62464
1 month ago
44-64973
1 month ago
44-65027
44 days
27069 FrankieNC
author:FrankieNC
feat(Analysis/MetricSpace/HausdorffDimension): prove dimH of intervals and segments is 1 Add theorems `dimH_Icc01` and `dimH_segment` showing that the Hausdorff dimension of the unit interval [0,1] and of any non-degenerate real segment is 1. The key idea is that the segment is the image of [0,1] under a bi-Lipschitz map. We explicitly construct this map and prove it is both Lipschitz and antilipschitz, allowing us to transfer the dimension result from the unit interval. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology awaiting-author 63/0 Mathlib/Topology/MetricSpace/HausdorffDimension.lean 1 10 ['AntoineChambert-Loir', 'FrankieNC', 'github-actions', 'grunweg'] nobody
38-18449
1 month ago
38-30933
1 month ago
0-13398
3 hours
27135 JovanGerb
author:JovanGerb
feat: `gconvert` tactic The `gconvert` tactic calls `gcongr` internally, and it can be used as replacement/generalization of `peel`. One drawback is that `peel` can unfold definitions until they are a binder, while `gconvert` cannot, but I think this is acceptable. TODO: replace all uses of `peel` with either `gconvert` or `congr!` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 320/17 Mathlib/Tactic/GCongr/Core.lean,MathlibTest/GConvert.lean 2 1 ['github-actions'] nobody
37-37131
1 month ago
37-37131
1 month ago
0-0
0 seconds
25930 loefflerd
author:loefflerd
WIP towards Hecke bound for q-expansions The aim of this PR is to prove various statements about boundedness properties of modular forms. --- This PR continues the work from #24962. Original PR: https://github.com/leanprover-community/mathlib4/pull/24962 migrated-from-branch t-number-theory WIP 791/138 Mathlib.lean,Mathlib/NumberTheory/ModularForms/Bounds.lean,Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/IsBoundedAtImInfty.lean,Mathlib/NumberTheory/ModularForms/Identities.lean,Mathlib/NumberTheory/ModularForms/LevelOne.lean,Mathlib/NumberTheory/ModularForms/Petersson.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean 8 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
37-27071
1 month ago
37-27093
1 month ago
0-77
1 minute
27155 Pjotr5
author:Pjotr5
Proof of Shearers 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/) new-contributor t-combinatorics 1266/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/IndependenceNumber.lean 2 1 ['github-actions'] nobody
36-50969
1 month ago
36-50969
1 month ago
36-51023
36 days
11563 YaelDillies
author:YaelDillies
feat: `∑ i ∈ s with hi : p i, f i hi` syntax for big operators Define new notation for `Finset.sum`/`Finset.prod`. `∑ i ∈ s with hi : p i, f i hi` now is notation for `∑ i : s.filter p, f i.1 (mem_filter.1 i.2).2`. --- - [x] depends on: #6795 Other notations we could have are * `∑ hi : i ∈ s, f i hi` as notation for `∑ i : s, f i.1 i.2` * `∑ hi : i ∈ s with p i, f i hi` as notation for `∑ i : s.filter p, f i.1 (mem_filter.1 i.2).1` * `∑ hi : i ∈ s with hpi : p i, f i hi hpi` as notation for `∑ i : s.filter p, f i.1 (mem_filter.1 i.2).1 (mem_filter.1 i.2).2` but Eric seems mildly unhappy about them. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-meta
label:t-algebra$
27/18 Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean 1 28 ['YaelDillies', 'b-mehta', 'eric-wieser', 'github-actions', 'kbuzzard', 'kmill', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot'] kmill
assignee:kmill
36-33565
1 month ago
36-33589
1 month ago
198-21546
198 days
27206 grhkm21
author:grhkm21
feat(CategoryTheory/Adjunction): partial adjoints are adjoints Partial adjunctions `F.partial{Left,Right}Adjunction` are adjunctions when fully defined i.e. `F.{left,right}AdjointObjIsDefined = ⊤`. t-category-theory 48/2 Mathlib/CategoryTheory/Adjunction/PartialAdjoint.lean 1 1 ['github-actions'] nobody
35-47801
1 month ago
35-47819
1 month ago
35-47854
35 days
18230 digama0
author:digama0
feat(Tactic/ScopedNS): extend `scoped[NS]` to more commands refactor `ScopedNS` to remove error prone repetitiveness and extend it to other commands such as `syntax`, `macro`, `elab`, etc. Co-authored-by: Jon Eugster --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta awaiting-author 201/26 Mathlib/Tactic/ScopedNS.lean,MathlibTest/scopedNS.lean 2 7 ['adomani', 'digama0', 'eric-wieser', 'github-actions', 'joneugster', 'kbuzzard'] nobody
34-52495
1 month ago
177-52000
5 months ago
41-32344
41 days
26338 mans0954
author:mans0954
feat(Order/ScottContinuity): Scott continuity on product spaces Some further results on Scott Continuity: - `scottContinuous_iff_map_sSup`: `f` is Scott continuous if and only if it commutes with `sSup` on directed sets - `ScottContinuous_prod_of_ScottContinuous`: `f` is Scott continuous on a product space if it is Scott continuous in each variable - `ScottContinuousOn.inf₂`: For complete linear orders, the meet operation is Scott continuous --- - [x] depends on: #13201 - I think this is due to the move of the definition of Scott Continuity into its own file rather than a hard dependency. - [x] depends on: #19150 - [x] depends on: #19222 - [x] depends on:#20254 - [x] depends on: #21493 Original PR: https://github.com/leanprover-community/mathlib4/pull/15412 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order awaiting-author 132/4 Mathlib.lean,Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/ScottContinuity.lean,Mathlib/Order/ScottContinuity/Complete.lean,Mathlib/Order/ScottContinuity/Prod.lean 5 n/a ['YaelDillies', 'github-actions', 'mans0954', 'mathlib4-dependent-issues-bot'] nobody
33-68446
1 month ago
unknown
unknown
26962 themathqueen
author:themathqueen
feat(Data/Nat/Fib/Basic): some API for `Nat.fib` Added some helpful lemmas for `Nat.fib`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor awaiting-author 24/0 Mathlib/Data/Nat/Fib/Basic.lean 1 7 ['Ruben-VandeVelde', 'github-actions', 'themathqueen', 'vihdzp'] nobody
33-20991
1 month ago
33-20992
1 month ago
8-31586
8 days
27233 ctchou
author:ctchou
feat: prove some properties of linearly ordered tuples of a linearly ordered typeFin ordered tuple Co-authored-by: Peter Nelson (original author) --- This is a part of PR #27217, which continues the work in PR #12773. The relevant comments made by @YaelDillies in #12773 have been addressed. - [x] depends on: #27211 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order awaiting-author 57/0 Mathlib/Data/Finset/Sort.lean 1 10 ['YaelDillies', 'ctchou', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
32-24322
1 month ago
32-24322
1 month ago
0-48911
13 hours
27242 hugh-fox
author:hugh-fox
feat: add Gauss-like formula for sums of digit sums Adds `sum_digit_sum_base_pow_eq` to show a Gauss-like formula across sums of digit sums. This relies on an additional two simp lemmas, named `digits_sum_eq_self`, `digits_sum_base_mul_cancel`. Lastly, includes a specialization (which is a good bit simpler than the general formula) to base 10 named `sum_digit_sum_ten_pow_eq`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-data new-contributor 113/0 Mathlib/Data/Nat/Digits/Lemmas.lean 1 5 ['github-actions', 'hugh-fox', 'kckennylau'] nobody
32-17978
1 month ago
33-81756
1 month ago
33-81802
33 days
27323 kckennylau
author:kckennylau
chore: make the arguments of fiberInclusion explicit --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 18/17 Mathlib/CategoryTheory/FiberedCategory/Fiber.lean,Mathlib/CategoryTheory/FiberedCategory/HasFibers.lean 2 1 ['github-actions'] nobody
30-56945
30 days ago
30-56988
30 days ago
30-56997
30 days
27187 Komyyy
author:Komyyy
feat: `NONote` represents ordinals < ε₀ --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory WIP 186/12 Mathlib/SetTheory/Ordinal/Notation.lean 1 2 ['github-actions', 'vihdzp'] nobody
30-3155
30 days ago
35-80003
1 month ago
0-2
2 seconds
27330 BoltonBailey
author:BoltonBailey
feat(Tactic/Linter): add TacticMs for natural subtraction and division This is a (pair of) short tactic scripts I wrote for Project Numina while vetting formal formal statements (thanks to [this guide](https://github.com/mirefek/lean-tactic-programming-guide) for the primer). The scripts check for the presence of natural subtraction and natural division, which can often lead to mistakes. Of course, Mathlib allows natural subtraction freely, so it's not obvious this could be made useful to Mathlib itself. Still, maybe it's of use to some other project, so I'll leave it here. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter 66/0 Mathlib/Tactic/Linter/TruncatedNat.lean 1 2 ['BoltonBailey', 'eric-wieser', 'github-actions'] nobody
29-83020
29 days ago
30-16945
30 days ago
0-0
0 seconds
26803 bjoernkjoshanssen
author:bjoernkjoshanssen
feat: second partial derivatives test We prove that if `f` is a real-valued function on `n`-dimensional Euclidean space with vanishing gradient at `x₀`, having a power series on a ball of positive radius around `x₀`, whose second Frechét derivative is positive definite at `x₀`, then `f` has local minimum at `x₀`. This project was started at the Lean for Mathematicians workshop hosted by the Simons Foundation in June 2025 in a group consisting of Bjørn Kjos-Hanssen, Erin Griffin, Asaf Kapota, and Janani Lakshmanan, see repo at https://github.com/bjoernkjoshanssen/secondpartial --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis awaiting-author 325/0 Mathlib.lean,Mathlib/Analysis/Calculus/PartialDerivativeTest.lean 2 11 ['bjoernkjoshanssen', 'github-actions', 'j-loreaux', 'themathqueen'] nobody
29-72208
29 days ago
40-78967
1 month ago
5-11006
5 days
27262 Timeroot
author:Timeroot
feat(Tactic/Bound): bound? for proof scripts --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 8/0 Mathlib/Tactic/Bound.lean 1 2 ['JovanGerb', 'github-actions'] nobody
29-25381
29 days ago
33-22386
1 month ago
33-22429
33 days
26847 joelriou
author:joelriou
feat: multicoequalizers in the category of types This PR gives a concrete criteria for a multicofork in the category of types to be a multicoequalizer, and this is used in order to show that if a (sub)set `A : Set X` is the union of certain subsets `U i`, then the type `A` is the multicoequalizer of the `U i`s along their intersections `V i j`. (A similar result for `Subpresheaf` rather than `Set` will be deduced in a separate PR, and this shall be very important in the study of the homotopy theory of simplicial sets, as this will allow the construction of morphisms from horns.) --- - [x] depends on: #25823 - [x] depends on: #22205 - [x] depends on: #26037 This PR continues the work from #23872. Original PR: https://github.com/leanprover-community/mathlib4/pull/23872 t-category-theory 96/0 Mathlib.lean,Mathlib/CategoryTheory/Limits/Types/Multicoequalizer.lean 2 n/a ['adomani', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
28-49382
28 days ago
unknown
unknown
12006 adomani
author:adomani
feat: the `suffa` tactic The `suffa` tactic. `suffa tac` runs the tactic sequence `tac` and returns a `Try this:` suggestion of the form `suffices [target_after_tac] by tac; assumption`. For example ```lean example {m n : Nat} (h : m = n) : 0 + m = n := by suffa rewrite [Nat.zero_add] assumption ``` suggests the replacement ```lean example {m n : Nat} (h : m = n) : 0 + m = n := by suffices m = n by rewrite [Nat.zero_add] assumption assumption ``` See [this thread](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Try.20this.3A.20suffices.20simpa) as well as [this message](https://leanprover.zulipchat.com/#narrow/stream/144837-PR-reviews/topic/.2311822.20flexible.20tactics.20linter/near/431895664). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta awaiting-author 161/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Suffa.lean,test/Suffa.lean 4 3 ['MoritzBeroRoos', 'YaelDillies'] nobody
28-27582
28 days ago
440-49822
1 year ago
58-85902
58 days
27435 callesonne
author:callesonne
feat(Normed/Algebra/Logarithm): add FormalMultilinearSeries of logarithm around `1` This PR adds the `FormalMultilinearSeries` corresponding to `log` around `1` (or rather, corresponding to `log(1 + x)`. For now, this PR just adds the definition, and copies over as many (easy) results as possible from the corresponding exponential file. In a follow up PR, we will add a criterion for when the logarithm converges on the unit disk (based on the growth of the inverse norms of naturals in the given algebra), and show that this holds for any Q_p algebra. This work has been done as part of the workshop "Formalizing Class Field Theory" in Oxford. Since much of this is copy-pasting the Exponential file, I have kept Anatole Dedecker and Eric Wieser as coauthors. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis WIP 311/0 Mathlib/Analysis/Normed/Algebra/Logarithm.lean 1 1 ['github-actions'] nobody
27-33728
27 days ago
27-34066
27 days ago
0-29
29 seconds
27271 ctchou
author:ctchou
feat: prove that each (total) preorder is an extension of a (linear) partial order Co-authored-by: Peter Nelson (original author) --- This is a part of PR #27217, which continues the work in PR #12773. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-order awaiting-author 161/1 Mathlib/Order/Extension/Linear.lean,Mathlib/Order/Interval/Finset/Defs.lean,Mathlib/Order/RelClasses.lean 3 4 ['YaelDillies', 'b-mehta', 'ctchou', 'github-actions'] nobody
26-81172
26 days ago
26-81172
26 days ago
6-10108
6 days
26393 winstonyin
author:winstonyin
feat: solutions to $C^n$ vector fields are $C^n$ in time I prove that solutions to $C^n$ vector fields are also $C^n$ in time, where $n ≤ \infty$. This PR continues the work from #21286. --- - [x] depends on: #26392 [technically only depends on #26382 but I'm writing these as incremental PRs] [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-dynamics t-analysis awaiting-author 93/2 Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/ODE/PicardLindelof.lean 2 19 ['github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'winstonyin'] grunweg
assignee:grunweg
26-60506
26 days ago
26-60506
26 days ago
2-8489
2 days
27434 plp127
author:plp127
test: `AlgEquiv.inv_apply` For testing a new `@[simp]` lemma. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
20/1 Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/FieldTheory/KrullTopology.lean 4 6 ['eric-wieser', 'github-actions', 'plp127'] nobody
26-51912
26 days ago
27-34192
27 days ago
0-0
0 seconds
21915 YaelDillies
author:YaelDillies
feat: simproc for `Int.divisorsAntidiag` Co-authored-by: Paul Lezeau --- - [x] depends on: #21912 - [x] depends on: #21991 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta WIP 73/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simproc/DivisorsAntidiag.lean 3 8 ['YaelDillies', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
26-40959
26 days ago
26-40978
26 days ago
0-260
4 minutes
26196 adomani
author:adomani
fix: silence commandStart on attribute This is only a temporary fix, the linter should be able to ignore more granularly individual attributes. Note: this PR is prompted by "future" changes to mathlib and may not be needed after all! See [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/commandStart.20linter.20broken.20with.20.60grind.60/with/524980336) and also [#mathlib4 > `grind` is available. What should Mathlib users expect? @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60grind.60.20is.20available.2E.20What.20should.20Mathlib.20users.20expect.3F/near/526547091) and [lean4#9128](https://github.com/leanprover/lean4/pull/9128) that should be the final attempt to resolve pretty-printing of `grind`, instead of silencing the linter. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter 9/0 Mathlib/Tactic/Linter/CommandStart.lean,MathlibTest/CommandStart.lean 2 3 ['adomani', 'github-actions', 'grunweg'] kim-em
assignee:kim-em
26-10077
26 days ago
61-70121
2 months ago
0-0
0 seconds
27507 grunweg
author:grunweg
wip(commandStart): check the indentation of declaration keywords also Check that e.g. a `lemma` keyword always starts on column 1 (unless preceded by an attribute). --- TODO: - make this work for other declarations also - the position reported for the lemma column is not helpful (it might be the absolute column in the file, but that's missing line information) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter WIP 84/1 Mathlib/Tactic/Linter/CommandStart.lean,MathlibTest/CommandStart.lean 2 2 ['github-actions', 'grunweg'] nobody
25-50961
25 days ago
25-51032
25 days ago
0-2
2 seconds
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. new-contributor t-algebra awaiting-author
label:t-algebra$
465/0 Mathlib.lean,Mathlib/Algebra/Polynomial/ZMod.lean 2 2 ['Ruben-VandeVelde', 'github-actions'] nobody
25-20545
25 days ago
25-20545
25 days ago
25-6199
25 days
27500 Komyyy
author:Komyyy
feat: the Riemann zeta function is meromorphic Also proves that the Hurwitz zeta function is meromorphic. This PR is split from #27499 to leave a good git diff history. --- The `large-import` change occurs only in the new module, so it poses no problem. - [x] depends on: #27499 This PR continues the work from #25597. Original PR: https://github.com/leanprover-community/mathlib4/pull/25597 large-import t-analysis 51/3 Mathlib.lean,Mathlib/Analysis/Meromorphic/Complex.lean,Mathlib/Analysis/Meromorphic/Gamma.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
24-78922
24 days ago
24-79738
24 days ago
24-80354
24 days
27548 euprunin
author:euprunin
chore(Control/Functor/Multivariate): remove use of `erw` in `f` (`private def f`) t-data 1/1 Mathlib/Control/Functor/Multivariate.lean 1 1 ['github-actions'] nobody
24-36548
24 days ago
24-36554
24 days ago
24-36606
24 days
26031 joelriou
author:joelriou
feat(Algebra/Homology): the derived category of a linear abelian category is linear --- - [x] depends on: #25931 This PR continues the work from #24596. Original PR: https://github.com/leanprover-community/mathlib4/pull/24596 t-category-theory 71/0 Mathlib.lean,Mathlib/Algebra/Homology/DerivedCategory/Linear.lean,Mathlib/Algebra/Homology/HomotopyCategory/Shift.lean,Mathlib/Algebra/Homology/HomotopyCategory/SingleFunctors.lean 4 n/a ['AntoineChambert-Loir', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot'] nobody
24-22591
24 days ago
unknown
unknown
27566 wwylele
author:wwylele
feat(Data/Real): Archimedean.embedReal is a ring hom when M is an ordered ring Also shows that this ends up the same as `LinearOrderedField.inducedOrderRingHom` for fields --- This is a spin-off from #27268 ~~because I got bored~~ . This is not in a high priority as I don't need it for anything yet, but the last lemma shows that `embedReal` is a generalization of `LinearOrderedField.inducedOrderRingHom` (which is only stated for field, and I didn't find when I was making the group embedding). Perhaps we should refactor `Mathlib/Algebra/Order/CompleteField.lean` with the definition here. Indeed, if we replace every `ℝ` with `(R : Type*)[ConditionallyCompleteLinearOrderedField R]` in `Data/Real/Embedding.lean`, the proof still works. What do you think? [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-data 220/3 Mathlib/Data/Real/Embedding.lean 1 1 ['github-actions'] nobody
24-16519
24 days ago
24-16526
24 days ago
24-16579
24 days
27358 BoltonBailey
author:BoltonBailey
feat(NumberTheory/ArithmeticFunction: add lemmas for `sigma` Adds some lemmas around `sigma`, particularly around when it equals 1. Also reorganizes this file to keep the lemmas about sigma closer together. These lemmas were identified while doing work for Project Numina. --- - [x] depends on: #27359 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 72/12 Mathlib/NumberTheory/ArithmeticFunction.lean 1 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
23-45527
23 days ago
29-4340
29 days ago
0-0
0 seconds
25945 adomani
author:adomani
feat: the empty line in commands linter This linter flags empty lines within a command. It allows empty lines within doc-strings, module-docs and a couple of other "sensible" places. It also skips files that are likely to contain meta-code, since there the use of empty lines in definition is more widespread. This PR continues the work from #25236. large-import t-linter maintainer-merge awaiting-author 375/7 Mathlib.lean,Mathlib/Analysis/Meromorphic/FactorizedRational.lean,Mathlib/CategoryTheory/Comma/StructuredArrow/CommaMap.lean,Mathlib/Init.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LowDegree.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/EmptyLine.lean,MathlibTest/EmptyLine.lean 8 12 ['adomani', 'bryangingechen', 'eric-wieser', 'github-actions'] bryangingechen
assignee:bryangingechen
23-39274
23 days ago
23-39274
23 days ago
42-26074
42 days
22464 adomani
author:adomani
feat(CI): declarations diff in Lean Rewrites the `declaration_diff` script in Lean. You can see the effect of the new script in the testing branch #22497. The new CI step runs in approximately 5mins, but is separate from the `build` step. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI awaiting-author 151/0 .github/workflows/PR_summary_lean.yml,scripts/README.md,scripts/declarations_diff.lean,scripts/declarations_diff_lean_shell_glue.sh 4 7 ['bryangingechen', 'github-actions', 'grunweg', 'j-loreaux'] robertylewis
assignee:robertylewis
23-6602
23 days ago
23-6602
23 days ago
146-23504
146 days
27422 vihdzp
author:vihdzp
feat: relate images to pointwise negation/inverses These lemmas kept coming up in the CGT repo. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data t-algebra awaiting-author
label:t-algebra$
13/0 Mathlib/Algebra/Group/Pointwise/Set/Basic.lean 1 7 ['YaelDillies', 'github-actions', 'vihdzp'] nobody
22-80258
22 days ago
22-80258
22 days ago
4-29607
4 days
26307 j-loreaux
author:j-loreaux
refactor: make `IsIdempotentElem` a one-field structure --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra
label:t-algebra$
29/22 Mathlib/Algebra/Group/Idempotent.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/GroupWithZero/Idempotent.lean,Mathlib/Algebra/Ring/BooleanRing.lean,Mathlib/Algebra/Ring/Idempotent.lean 5 1 ['github-actions'] nobody
22-25499
22 days ago
58-36039
1 month ago
0-0
0 seconds
27648 mans0954
author:mans0954
feature(Order/Lattice): Add some lattice lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 9/1 Mathlib/Data/Sym/Sym2/Order.lean,Mathlib/Order/Lattice.lean 2 1 ['github-actions'] nobody
21-71198
21 days ago
22-18135
22 days ago
0-0
0 seconds
26836 mans0954
author:mans0954
feat(Order/Lattice): conditions for an equivalence relation to be a lattice congruence Define a structure asserting that a binary relation is a lattice congruence and provide sufficient and necessary conditions. An application is given in #26983 --- - [x] depends on: #27219 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order awaiting-author 134/0 Mathlib.lean,Mathlib/Order/Lattice/Congruence.lean,docs/references.bib 3 48 ['YaelDillies', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mans0954', 'mathlib4-dependent-issues-bot'] nobody
21-67713
21 days ago
22-61776
22 days ago
19-42188
19 days
27677 jkpjkpjkp
author:jkpjkpjkp
extend tactic `observe` as syntax sugar for `grind` --- The `observe` tactic now attempts to use the `grind` tactic as a fallback when library search (exact?) fails. cc. https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/.22Missing.20Tactics.22.20list/near/531764184 this drafty version does not update doc or `observe?`, as details and decisions may need further discussion. new-contributor t-meta 31/8 Mathlib/Tactic/Observe.lean 1 2 ['euprunin', 'github-actions'] nobody
20-19177
20 days ago
21-52425
21 days ago
0-0
0 seconds
27682 FernandoChu
author:FernandoChu
Chore: Added `vecAppend_empty` lemma Added the `vecAppend_empty`. t-data new-contributor 5/0 Mathlib/Data/Fin/VecNotation.lean 1 1 ['github-actions'] nobody
21-41186
21 days ago
21-41186
21 days ago
21-41397
21 days
27297 hugh-fox
author:hugh-fox
feat: add an equality between sums and products of cartesian products Adds `prod_mul_eq_prod_product` and a version for Finsets `prod_range_mul_eq_prod_product` with to show an equality between `Fin (i * j)` and `Fin a × Fin b`. It is likely `prod_range_mul_eq_prod_product` belongs in a different file, in which case only the first commit should be considered. --- [![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$
12/0 Mathlib/Algebra/BigOperators/Fin.lean 1 6 ['Ruben-VandeVelde', 'github-actions', 'hugh-fox', 'j-loreaux', 'kckennylau'] nobody
21-21069
21 days ago
25-13057
25 days ago
7-6727
7 days
25864 plp127
author:plp127
feat(Nat/Digits): use fuel in `Nat.digits` Add a `fuel` parameter to `Nat.digitsAux` to make it structurally recursive. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 47/14 Mathlib/Data/Nat/Digits/Defs.lean 1 2 ['github-actions', 'leanprover-community-bot-assistant'] ericrbg
assignee:ericrbg
21-20607
21 days ago
32-11283
1 month ago
52-57841
52 days
25875 robin-carlier
author:robin-carlier
feat(CategoryTheory/Monoidal/Action): actions as monoidal functors to endofunctors Given a monoidal category `C` and a category `D`, we show that left actions of `C` on `D` correspond to monoidal functors `C ⥤ (D ⥤ D)ᴹᵒᵖ` by showing that the composition of `curriedAction C D` with `mopFunctor` is monoidal, and in the other direction by defining an action of `C` on `D` out of the data of such a monoidal functor. Similarly, we show that monoidal functors `C ⥤ (D ⥤ D)` correspond to right actions of `C` on `D`. We use this to define the "evaluation" right action of `(C ⥤ C)` (with the composition monoidal structure) on `C` as the action corresponding to the identity functor `(C ⥤ C) ⥤ (C ⥤ C)`. --- - [x] depends on: #25840 - [x] depends on: #25766 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 222/3 Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Action/Basic.lean,Mathlib/CategoryTheory/Monoidal/Action/End.lean,Mathlib/CategoryTheory/Monoidal/Opposite.lean 4 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] joelriou
assignee:joelriou
21-20606
21 days ago
46-40306
1 month ago
59-4789
59 days
26945 gasparattila
author:gasparattila
feat(LinearAlgebra/AffineSpace/AffineSubspace): basic properties of `sInf` and `iInf` These properties are analogous to the existing ones for the binary infimum. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
48/1 Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean 1 4 ['Ruben-VandeVelde', 'gasparattila', 'github-actions'] eric-wieser
assignee:eric-wieser
21-20599
21 days ago
42-25000
1 month ago
42-25046
42 days
26986 WangYiran01
author:WangYiran01
feat(Partition): add bijection for partitions with max part ≤ r ## Summary 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. ## Implementation notes - The proof uses `Multiset.erase` and `Multiset.cons` with basic properties of `sum`, `sup`, and `Partition` structures. - The bijection is implemented explicitly via `f` and `g`, and proven mutually inverse via `Subtype.ext`. ## Linting - [x] Passes `lake build` - [x] Linter clean (no commandStart or longLine issues) ## Author Contributed by Yiran Wang. new-contributor t-combinatorics 85/0 Mathlib/Combinatorics/Enumerative/Partition.lean 1 2 ['WangYiran01', 'github-actions'] b-mehta
assignee:b-mehta
21-20598
21 days ago
40-57801
1 month ago
40-57845
40 days
27098 Paul-Lez
author:Paul-Lez
feat(Algebra/Category/ModuleCat/Sheaf/VectorBundle): define vector bundles This PR defines vector bundles (upstreamed from [formal-conjectures](https://github.com/google-deepmind/formal-conjectures/pull/28/files)). I plan on adding some more API about the definition in this PR, but figured it would be nice to get some initial feedback about the definition before doing so! --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-author
label:t-algebra$
53/0 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/VectorBundle.lean 2 3 ['Kiolt', 'chrisflav', 'github-actions'] chrisflav
assignee:chrisflav
21-19417
21 days ago
21-19417
21 days ago
16-82639
16 days
27697 BoltonBailey
author:BoltonBailey
chore(Data/Fintype): use `univ` instead of `Fintype.elems` A short PR to keep the API consistent with its surroundings. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 2/2 Mathlib/Data/Fintype/Defs.lean 1 1 ['github-actions', 'vihdzp'] nobody
21-16779
21 days ago
21-20658
21 days ago
21-20704
21 days
27053 tb65536
author:tb65536
(WIP) Galois group of `x^n - x - 1` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra WIP
label:t-algebra$
371/2 Mathlib/RingTheory/Polynomial/Selmer.lean 1 3 ['AntoineChambert-Loir', 'github-actions'] nobody
20-81210
20 days ago
39-4345
1 month ago
0-1
1 second
25889 plp127
author:plp127
fix(Tactic/Widget/Conv): fix various issues Fixes various issues with the `conv?` widget. Closes #25162. ([Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/bug.20in.20.60conv.3F.60)) Specifically, fixes issues with `conv?` where - when converting a `SubExpr.Pos` to conv directions, it always uses the goal expression as reference, even when working on a hypothesis, this often leads to bad results and makes it unusable on hypotheses - it refuses to go all the way in to a function (for example in `Nat.succ 0`, you can't access `Nat.succ`) - it refuses to enter binders where the name of the bound variable contains the character `0` (try it on `∀ (x0 : Nat), x0 = x0`) - it panics if it can't find a binder name instead of just coming up with one itself, this also means usually you can't enter either side of a non-dependent arrow since those usually don't have binder names (try it on `False → False`) - you can't enter the type of a binder, you end up going into the body instead (try it on `fun (x : False) => (x.elim : False → Nat) x.elim`) - you can't partially enter a function, you end up going to the top argument after instead (for example, in the expression `id (id id) 0`, when you click on `id (id id)`, you end up going to `id id`) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 419/84 Mathlib/Tactic/Widget/Conv.lean,MathlibTest/conv?.lean 2 4 ['bryangingechen', 'github-actions', 'plp127'] bryangingechen
assignee:bryangingechen
20-80696
20 days ago
66-81462
2 months ago
66-81507
66 days
27738 ChrisHughes24
author:ChrisHughes24
feat(Rat): Decidable instance for IsSquare --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 3/0 Mathlib/Data/Rat/Lemmas.lean 1 1 ['github-actions'] nobody
20-57394
20 days ago
20-57398
20 days ago
20-57446
20 days
26155 xroblot
author:xroblot
feat(DedekindDomain/Different): add the transitivity formula This PR proves the transitivity formula for the different ideal. It introduces ~~two~~ one increase~~s~~ in imports: - `RingTheory.FractionalIdeal.Extended`: this is a short leaf file and I think the import makes sense there - ~~`RingTheory.Localization.Defs.lean `: the file `Algebra.Algebra.Basic` is added since it is necessary to have the definition of `noZeroSMulDivisors` to get that some algebra map is injective. The import could be removed by stating the hypothesis as `Function.Injective (algebraMap * *)` but it is not the usual spelling (and cannot be synthesized by Lean). In the end, it appears that the increased import only affects three files so maybe it's fine.~~ The PR also adds two new instances: - `FiniteDimensional (FractionRing A) (FractionRing B)` deduced from `Module.Finite A B` when `B` is a Dedekind domain. - `IsScalarTower (FractionRing A) (FractionRing B) (FractionRing C)` deduced from `IsScalarTower A B C` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra
label:t-algebra$
207/4 Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/DedekindDomain/IntegralClosure.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/FractionRing.lean 5 13 ['erdOne', 'github-actions', 'xroblot'] Vierkantor
assignee:Vierkantor
20-52566
20 days ago
54-45198
1 month ago
59-42205
59 days
26453 jburroni
author:jburroni
feat(Data/PNat/Basic): add order-related instances to PNat Add `SuccAddOrder ℕ+` and `NoMaxOrder ℕ+` instances. This allows, for example, the use of lemmas related to `Intervals` built with ℕ+. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-data new-contributor 18/0 Mathlib/Data/PNat/Basic.lean 1 3 ['eric-wieser', 'github-actions', 'jburroni'] ericrbg
assignee:ericrbg
20-52564
20 days ago
55-24385
1 month ago
55-24430
55 days
26790 FlAmmmmING
author:FlAmmmmING
feat(Combinatorics/Enumerative/Bell.lean): define standard Bell number --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 38/1 Mathlib/Combinatorics/Enumerative/Bell.lean 1 11 ['AntoineChambert-Loir', 'FlAmmmmING', 'eric-wieser', 'github-actions', 'kckennylau', 'madvorak'] awainverse
assignee:awainverse
20-52562
20 days ago
46-33241
1 month ago
46-33287
46 days
26793 FlAmmmmING
author:FlAmmmmING
feat(Algebra/Group /ForwardDiff.lean): add five theorems for forward difference --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-algebra
label:t-algebra$
212/3 Mathlib/Algebra/Group/ForwardDiff.lean 1 35 ['AntoineChambert-Loir', 'DAE123456', 'FlAmmmmING', 'Ruben-VandeVelde', 'github-actions', 'kckennylau', 'madvorak'] mariainesdff
assignee:mariainesdff
20-52561
20 days ago
33-79151
1 month ago
46-31638
46 days
27742 ChrisHughes24
author:ChrisHughes24
feat(Nat/nth): inequalities about Nat.nth --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 58/0 Mathlib/Data/Nat/Nth.lean 1 1 ['github-actions'] nobody
20-51842
20 days ago
20-51850
20 days ago
20-51896
20 days
27704 vihdzp
author:vihdzp
feat: link `Minimal` and `IsLeast` together --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order awaiting-author 24/0 Mathlib/Order/Bounds/Basic.lean 1 3 ['b-mehta', 'github-actions'] nobody
20-45374
20 days ago
20-45374
20 days ago
0-52136
14 hours
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/) new-contributor t-algebra awaiting-author
label:t-algebra$
230/0 Mathlib.lean,Mathlib/RingTheory/FractionalIdeal/LocalizedAtPrime.lean,Mathlib/RingTheory/Localization/Basic.lean 3 21 ['Vierkantor', 'YaelDillies', 'github-actions', 'js2357', 'kbuzzard', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot'] Vierkantor
assignee:Vierkantor
20-30871
20 days ago
20-30903
20 days ago
26-39463
26 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/) new-contributor t-combinatorics 16/0 Mathlib/Combinatorics/SimpleGraph/Trails.lean 1 3 ['IvanRenison', 'github-actions'] kmill
assignee:kmill
20-15658
20 days ago
86-7209
2 months ago
86-7263
86 days
25856 MichaelStollBayreuth
author:MichaelStollBayreuth
perf(Data.Real.Sqrt): make Real.sqrt irreducible We try to see what happens if we make Real.sqrt irreducible. There are cases where this makes unification very significantly faster, compare [#mathlib4 > Coercion triggers timeout @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Coercion.20triggers.20timeout/near/517177117). (Migrated manually from #24752) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) migrated-from-branch t-data 1/0 Mathlib/Data/Real/Sqrt.lean 1 1 ['github-actions'] ericrbg
assignee:ericrbg
20-15654
20 days ago
67-46219
2 months ago
67-49923
67 days
26287 mbkybky
author:mbkybky
feat(Data/ENat/Lattice): coercion to `WithBot ℕ∞` commutes with `biSup` The coercion from `ℕ∞` to `WithBot ℕ∞` commutes with `biSup` and `biInf`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 19/0 Mathlib/Data/ENat/Lattice.lean 1 1 ['github-actions'] ericrbg
assignee:ericrbg
20-15654
20 days ago
58-74938
1 month ago
58-82687
58 days
26370 b-mehta
author:b-mehta
chore(Archive): golf and generalise ascending-descending sequences This proof was 5 years old, not in a good generality, and overly long. We fix the latter two points. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 96/120 Archive/Wiedijk100Theorems/AscendingDescendingSequences.lean 1 12 ['b-mehta', 'github-actions', 'grunweg'] ericrbg
assignee:ericrbg
20-15650
20 days ago
55-54198
1 month ago
57-22735
57 days
26909 gasparattila
author:gasparattila
feat(LinearAlgebra/Projectivization/Subspace): correspondence between linear and projective subspaces --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
51/3 Mathlib/LinearAlgebra/Projectivization/Subspace.lean 1 1 ['github-actions'] Vierkantor
assignee:Vierkantor
20-15648
20 days ago
43-19040
1 month ago
43-19088
43 days
27756 grunweg
author:grunweg
feat: `Weak(Pseudo)EMetricSpace`, generalises `(Pseudo)EMetricSpace` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) carleson t-topology WIP 142/36 Mathlib/Topology/EMetricSpace/Defs.lean,Mathlib/Topology/Instances/ENNReal/Lemmas.lean 2 1 ['github-actions'] nobody
20-13784
20 days ago
20-35353
20 days ago
0-2
2 seconds
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 t-meta 75/3 Mathlib/Util/Delaborators.lean,Mathlib/Util/PPOptions.lean,MathlibTest/delaborators.lean 3 11 ['JovanGerb', 'Rob23oba', 'eric-wieser', 'github-actions'] alexjbest
assignee:alexjbest
20-11090
20 days ago
76-15999
2 months ago
76-16057
76 days
26189 tb65536
author:tb65536
feat(FieldTheory/Galois/Basic): Add simp-lemma for `FixedPoints.intermediateField` This PR adds a simp-lemma `FixedPoints.mem_intermediateField_iff` for the definition `FixedPoints.intermediateField`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
4/0 Mathlib/FieldTheory/Galois/Basic.lean 1 1 ['github-actions'] joneugster
assignee:joneugster
20-11088
20 days ago
58-35888
1 month ago
62-7137
62 days
26841 xroblot
author:xroblot
feat(FieldTheory/IsGalois): map induced by the restriction to a subfield For `E/L` a field extension and `K` a subfield of `E`, we define the map `(E ≃ₐ[L] E) →* (K ≃ₐ[F] K)` induced by the restriction to `K` (with `F` a subfield of `K` and `L` such that `K/F` is normal) and study when it is injective and surjective. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
63/0 Mathlib/FieldTheory/Galois/Basic.lean 1 1 ['github-actions'] Vierkantor
assignee:Vierkantor
20-11082
20 days ago
44-62766
1 month ago
44-62813
44 days
27066 vasnesterov
author:vasnesterov
feat(Tactic/Order): frontend for `order` * Support `order [h1, h2]` and `order only [h1, h2]` syntax. * Split conjunctions while extracting facts from the context. E.g. hypotheses in the form `A ∧ B` are converted into two facts `A` and `B`. * Similarly, extract facts from existential quantifiers in the hypotheses. --- - [x] depends on: #26354 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) This PR continues the work from #22073. Original PR: https://github.com/leanprover-community/mathlib4/pull/22073 t-meta 91/37 Mathlib.lean,Mathlib/Tactic/Linarith/Frontend.lean,Mathlib/Tactic/Order.lean,Mathlib/Tactic/Order/CollectFacts.lean,Mathlib/Util/ElabWithoutMVars.lean,MathlibTest/order.lean 6 22 ['JovanGerb', 'github-actions', 'mathlib4-dependent-issues-bot', 'vasnesterov'] alexjbest
assignee:alexjbest
20-11078
20 days ago
38-57405
1 month ago
38-57433
38 days
27304 jano-wol
author:jano-wol
feat: invariant dual submodules define Lie ideals Invariant dual submodules define Lie ideals --- PR shows that Invariant dual submodules define Lie ideals. This work is part of the framework: https://github.com/orgs/leanprover-community/projects/17 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
358/0 Mathlib.lean,Mathlib/Algebra/Lie/Weights/InvariantSubmoduleLieIdeal.lean,Mathlib/Algebra/Lie/Weights/Killing.lean,Mathlib/Algebra/Lie/Weights/RootSystem.lean 4 1 ['github-actions'] jcommelin
assignee:jcommelin
20-11076
20 days ago
31-49015
1 month ago
31-49061
31 days
25989 Multramate
author:Multramate
feat(NumberTheory/EllipticDivisibilitySequence): add elliptic nets This PR continues the work from #25030. Original PR: https://github.com/leanprover-community/mathlib4/pull/25030 t-number-theory awaiting-author 259/37 Mathlib/NumberTheory/EllipticDivisibilitySequence.lean 1 8 ['MichaelStollBayreuth', 'Multramate', 'github-actions', 'tb65536'] tb65536
assignee:tb65536
20-10254
20 days ago
20-10254
20 days ago
45-1019
45 days
27701 vihdzp
author:vihdzp
feat: `a < b + c ↔ a < b ∨ ∃ d < c, a = b + d` ...and analogous results on `CanonicallyOrderedAdd`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-author
label:t-algebra$
41/0 Mathlib/Algebra/Order/Monoid/Canonical/Basic.lean 1 4 ['YaelDillies', 'github-actions', 'vihdzp'] nobody
19-67408
19 days ago
20-60632
20 days ago
0-42619
11 hours
26843 vasnesterov
author:vasnesterov
feat(Tactic/Simproc): nested quantifiers in `existsAndEq` Generalize the `existsAndEq` simproc to nested existential quantifiers. For example `∃ a, p a ∧ ∃ b, a = f b ∧ q b` now simplifies to `∃ b, p (f b) ∧ q b`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) This PR continues the work from #23365. Original PR: https://github.com/leanprover-community/mathlib4/pull/23365 migrated-from-branch large-import t-meta 452/73 Mathlib/Data/List/ProdSigma.lean,Mathlib/Tactic/Simproc/ExistsAndEq.lean,MathlibTest/Simproc/ExistsAndEq.lean 3 10 ['JovanGerb', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot', 'vasnesterov'] kmill
assignee:kmill
19-62355
19 days ago
19-62378
19 days ago
44-48118
44 days
25069 erdOne
author:erdOne
feat(EllipticCurve): rational points of singular nodal cubics --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 251/0 Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Singular/Node.lean 3 11 ['Multramate', 'acmepjz', 'erdOne', 'github-actions'] kim-em
assignee:kim-em
19-54208
19 days ago
91-82882
2 months ago
91-82936
91 days
25861 robin-carlier
author:robin-carlier
feat(CategoryTheory/Monoidal/Action): action of opposite categories Given a monoidal category `C` and a category `D`, we show that left (resp. right) `C`-actions on `D` induce left (resp. right) `Cᵒᵖ`-actions on `Dᵒᵖ`. Conversely, we show that left/right actions of `Cᵒᵖ` on `Dᵒᵖ` induce left/right actions of `C` on `D`. --- - [ ] depends on: #25860 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 272/0 Mathlib/CategoryTheory/Monoidal/Action/Opposites.lean 1 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] joelriou
assignee:joelriou
19-54204
19 days ago
46-40472
1 month ago
46-44749
46 days
25907 mans0954
author:mans0954
Low order roots of unity This PR continues the work from #25470. Original PR: https://github.com/leanprover-community/mathlib4/pull/25470 t-algebra
label:t-algebra$
182/0 Mathlib/Algebra/CharP/Invertible.lean,Mathlib/RingTheory/RootsOfUnity/Complex.lean 2 2 ['github-actions', 'mans0954'] kim-em
assignee:kim-em
19-54201
19 days ago
66-46889
2 months ago
66-46938
66 days
27047 YaelDillies
author:YaelDillies
feat: `MonoidHom.toAdditive''` as a `MulEquiv` From Toric --- I haven't yet been very thorough with the new lemmas. I first want to hear thoughts about the names [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-algebra
label:t-algebra$
31/7 Mathlib/Algebra/Group/TypeTags/Hom.lean 1 1 ['github-actions'] adomani
assignee:adomani
19-54176
19 days ago
38-68056
1 month ago
39-13513
39 days
27813 javra
author:javra
feat: IMO 2025 Q1 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) IMO WIP 882/0 Archive/Imo/Imo2025Q1.lean 1 1 ['github-actions'] nobody
19-49155
19 days ago
19-50353
19 days ago
0-14
14 seconds
27820 FLDutchmann
author:FLDutchmann
chore(NumberTheory/SelbergSieve): turn `BoundingSieve` into a struct Based on a discussion [on zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/BoundingSieve.20is.20a.20class.3F.3F). I wound up removing the custom notation as well, since not everybody was fond of it and I had some trouble getting it to work properly with structure inheritance and the corresponding coersions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis t-number-theory 51/84 Mathlib/NumberTheory/SelbergSieve.lean 1 1 ['github-actions'] nobody
19-44655
19 days ago
19-44678
19 days ago
19-44714
19 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 delegated 118/3 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 16 ['adomani', 'b-mehta', 'eric-wieser', 'github-actions', 'grunweg', 'kim-em', 'mathlib-bors'] nobody
19-44291
19 days ago
159-36860
5 months ago
15-14325
15 days
27479 iu-isgood
author:iu-isgood
Abel's Binomial Theorem - REU Project 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/) t-data new-contributor awaiting-author 326/0 Mathlib/Data/Nat/Choose/AbelBinomial.lean 1 28 ['ElifUskuplu', 'FrankieNC', 'github-actions', 'iu-isgood'] nobody
19-41334
19 days ago
21-12115
21 days ago
0-533
8 minutes
27683 dupuisf
author:dupuisf
feat: grind tags for set operations This PR adds `grind` tags for various set operations (union, intersection, complement, etc). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 29/9 Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Operations.lean 2 4 ['dupuisf', 'euprunin', 'github-actions', 'mathlib4-merge-conflict-bot'] nobody
19-38291
19 days ago
19-38321
19 days ago
21-11411
21 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/) new-contributor t-category-theory awaiting-author 70/1 Mathlib/CategoryTheory/Category/Factorisation.lean 1 12 ['YunkaiZhang233', 'b-mehta', 'github-actions', 'robin-carlier'] nobody
19-38272
19 days ago
20-34153
20 days ago
0-3448
57 minutes
26931 javra
author:javra
feat(CategoryTheory/Enriched): `V`-enriched isomorphisms Defines isomorphisms in `V`-enriched categories and relate them to ordinary isomorphisms in the case of ordinary enriched categories. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) infinity-cosmos t-category-theory awaiting-author 211/14 Mathlib.lean,Mathlib/CategoryTheory/Enriched/Basic.lean,Mathlib/CategoryTheory/Enriched/Iso.lean,Mathlib/CategoryTheory/Enriched/Opposite.lean,Mathlib/CategoryTheory/Enriched/Ordinary/Basic.lean,Mathlib/CategoryTheory/Enriched/Ordinary/Iso.lean 6 20 ['emilyriehl', 'github-actions', 'javra', 'joelriou', 'mckoen'] nobody
19-37316
19 days ago
22-57144
22 days ago
19-77946
19 days
25481 kbuzzard
author:kbuzzard
chore: refactor Algebra.TensorProduct.rightAlgebra The declaration `Algebra.TensorProduct.rightAlgebra` makes `A ⊗[R] B` into a `B`-algebra (here `R` is a `CommSemiring`, `A` is a `Semiring` and an `R`-algebra, and `B` is a `CommSemiring` and an `R`-algebra). It is not an instance because if A = B it causes a diamond. However in the many cases where A isn't B, it can occasionally be useful. However one could imagine that in the many cases where an R-module `M` also isn't `B`, it might occasionally be useful to make `M ⊗[R] B` into a `B`-module (and indeed I am finding this in FLT). With the current definition of `Algebra.TensorProduct.rightAlgebra` this is difficult to do without causing diamonds in the case when `M` happens to be an `R`-algebra (by which I mean "I failed to do this in finite time"). One fix for this is just to redefine `Algebra.TensorProduct.rightAlgebra` so that the `smul` field is ``` smul b ab := TensorProduct.comm _ _ _ (b • (TensorProduct.comm _ _ _ ab)) ``` i.e. literally "swap the product around, use mathlib's instance making `B ⊗[R] A` into a `B`-algebra, and then swap back". Then the same definition can be used to make `M ⊗[R] B` into a `B`-module and on the odd occasion where this point of view is useful, there is no diamond. This is what we do in this PR. After adding one simp lemma there is no breakage at all in mathlib. Furthermore, for those who have observed that we want to build on this algebra instance sometimes and, for example, add instances of the form "if M is finite over R then M ⊗[R] B is finite over B" -- these instances are really easy to add now with this new definition, because you simply pull back the analogous finite left module instance along the isomorphism M ⊗[R] B = B ⊗[R] M. Examples (from FLT, where the right action is put in a scope): ``` scoped instance [Module.Finite R M] : Module.Finite A (M ⊗[R] A) := Module.Finite.equiv (Module.TensorProduct.comm R A M) scoped instance [Module.Free R M] : Module.Free A (M ⊗[R] A) := Module.Free.of_equiv (Module.TensorProduct.comm R A M) ``` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra delegated
label:t-algebra$
33/6 Mathlib/RingTheory/TensorProduct/Basic.lean 1 7 ['adomani', 'github-actions', 'kbuzzard', 'leanprover-bot', 'mathlib-bors'] adomani
assignee:adomani
19-36484
19 days ago
19-43613
19 days ago
56-85445
56 days
27829 dupuisf
author:dupuisf
feat: modify `cfc_tac` to use `grind` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) WIP 60/50 Mathlib/Algebra/Order/Star/Basic.lean,Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Integral.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/NonUnital.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unital.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/PosPart/Basic.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean,Mathlib/Tactic/ContinuousFunctionalCalculus.lean 9 1 ['github-actions'] nobody
19-36384
19 days ago
19-38882
19 days ago
0-1
1 second
25974 scholzhannah
author:scholzhannah
feat(Topology/Compactness/CompactlyCoherentSpace): compact coherentification (k-ification) This PR defines the notion of turning an arbitrary topological space into a compactly coherent space. Compactly coherent spaces are commonly referred to as "compactly generated spaces" or "k-spaces" in the literature while the operation of turning a space into such as space is called the "k-ification". There are however three different notions that are described with this name. To disambiguate we use the names "compactly coherent space" and "compactcoherentification" here. See [this wikipedia page](https://en.wikipedia.org/wiki/Compactly_generated_space) for an explanation of these notions. This PR continues the work from #25318. Original PR: https://github.com/leanprover-community/mathlib4/pull/25318 Co-authored-by: Floris van Doorn large-import t-topology 175/5 Mathlib/Topology/Compactness/CompactlyCoherentSpace.lean 1 2 ['github-actions', 'scholzhannah'] ADedecker
assignee:ADedecker
19-31133
19 days ago
65-19699
2 months ago
65-19747
65 days
27826 Louddy
author:Louddy
feat(Subsemiring): mk_eq_zero Add a `mk_eq_zero` lemma for `Subsemiring`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra WIP
label:t-algebra$
4/0 Mathlib/Algebra/Ring/Subsemiring/Defs.lean 1 3 ['Louddy', 'eric-wieser', 'github-actions'] nobody
19-30637
19 days ago
19-33719
19 days ago
0-8982
2 hours
27841 CBirkbeck
author:CBirkbeck
feat(Topology/Algebra/InfiniteSum/NatInt): add more pnat tsum lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology help-wanted 52/2 Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean 1 2 ['CBirkbeck', 'github-actions'] nobody
19-29602
19 days ago
19-29671
19 days ago
0-1298
21 minutes
27257 JovanGerb
author:JovanGerb
feat(LinearAlgebra/AffineSpace/Ordered): add `lineMap_le_lineMap_iff_of_lt'` I only need `lineMap_le_lineMap_iff_of_lt'`. The other lemmas are added for completeness. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-algebra awaiting-author
label:t-algebra$
44/0 Mathlib/LinearAlgebra/AffineSpace/Ordered.lean 1 3 ['Ruben-VandeVelde', 'eric-wieser', 'github-actions'] kbuzzard
assignee:kbuzzard
19-13762
19 days ago
19-13762
19 days ago
14-17781
14 days
23460 Timeroot
author:Timeroot
feat: Definition of `Clone` Basics about Clones. Part of #20051 --- - [x] depends on: #23459 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
326/0 Mathlib.lean,Mathlib/Algebra/Clone/Basic.lean,Mathlib/Algebra/Clone/Defs.lean,Mathlib/Data/Fin/Basic.lean 4 2 ['github-actions', 'mathlib4-dependent-issues-bot'] dagurtomas
assignee:dagurtomas
19-1441
19 days ago
57-79884
1 month ago
57-81175
57 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/) t-algebra
label:t-algebra$
74/0 Mathlib/RingTheory/Localization/Away/Basic.lean 1 12 ['eric-wieser', 'github-actions', 'mathlib4-dependent-issues-bot', 'plp127', 'vihdzp'] mariainesdff
assignee:mariainesdff
19-1441
19 days ago
101-5820
3 months ago
167-5802
167 days
25758 YaelDillies
author:YaelDillies
chore: shortcut instance `CompleteLattice α → PartialOrder α` This avoids using the path `CompleteLattice α → CompletePartialOrder α → PartialOrder α` that goes through `Order.CompletePartialOrder` and makes it appear used to our automation, such as `shake` or `#min_imports`. This is a followup to #25358. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 7/0 Mathlib/Order/CompleteLattice/Defs.lean 1 6 ['Ruben-VandeVelde', 'eric-wieser', 'github-actions', 'leanprover-bot'] bryangingechen
assignee:bryangingechen
19-1440
19 days ago
50-9180
1 month ago
69-59765
69 days
25843 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): define `between` subgraphs The simple graph `G.between s t` is the subgraph of `G` containing edges that connect a vertex in the set `s` to a vertex in the set `t`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24948.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24948* t-combinatorics 95/0 Mathlib/Combinatorics/SimpleGraph/Bipartite.lean 1 1 ['github-actions'] awainverse
assignee:awainverse
19-1439
19 days ago
68-42191
2 months ago
68-42175
68 days
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/) t-logic 618/0 Mathlib.lean,Mathlib/ModelTheory/FunctionalFormula.lean 2 3 ['ChrisHughes24', 'github-actions', 'mathlib4-dependent-issues-bot'] fpvandoorn
assignee:fpvandoorn
19-1437
19 days ago
56-58705
1 month ago
56-58964
56 days
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). I am not sure whether the `prodEquivOfIsCompl_symm_apply` theorem should be tagged with `@[simp]`; this might lead to confluence issues. Opinions are welcome! Co-authored by: - [Viviana del Barco](https://github.com/vdelbarc) - [Gustavo Infanti](https://github.com/GuQOliveira) - [Exequiel Rivas](https://github.com/erivas) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
9/0 Mathlib/LinearAlgebra/Projection.lean 1 5 ['PSchwahn', 'github-actions', 'kckennylau'] joelriou
assignee:joelriou
19-1436
19 days ago
54-79771
1 month ago
54-79896
54 days
26870 grunweg
author:grunweg
feat: mdifferentiableOn_section_of_mem_baseSet₀ From the path towards geodesics and the Levi-Civita connection. Co-authored-by: Patrick Massot --- - [x] depends on: #26866 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry 125/0 Mathlib/Geometry/Manifold/VectorBundle/MDifferentiable.lean 1 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] PatrickMassot
assignee:PatrickMassot
19-1434
19 days ago
34-43218
1 month ago
34-43379
34 days
27050 BoltonBailey
author:BoltonBailey
doc(Control/Monad/Cont): add docstrings Split of #25917. Adds docstrings to this file. Note: this documentation was written by asking Cursor (Claude 3.5 sonnet) to write the docstrings. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data awaiting-author 183/0 Mathlib/Control/Monad/Cont.lean 1 8 ['BoltonBailey', 'eric-wieser', 'github-actions'] nobody
18-79565
18 days ago
38-10848
1 month ago
0-85623
23 hours
26290 BeibeiX0
author:BeibeiX0
feat(Combinatorics/Enumerative/Stirling.lean): define Stirling numbers of the first and second kind This PR introduces the unsigned Stirling numbers of the first kind (`Nat.stirlingFirst`) and the Stirling numbers of the second kind (`Nat.stirlingSecond`), along with their defining recurrence relations and several fundamental properties. Main definitions: * `Nat.stirlingFirst n k`: counts the number of permutations of `n` elements with `k` disjoint cycles. * `Nat.stirlingSecond n k`: counts the number of ways to partition `n` elements into `k` non-empty subsets. Main results include: * Recurrence relations for both kinds. * Vanishing conditions when `n < k`. * Diagonal values like `stirlingFirst n n = 1`, `stirlingSecond n n = 1`. * Identities such as `stirlingFirst (n + 1) 1 = n!` and `stirlingSecond (n + 1) 1 = 1`. References: * [Stirling numbers of the first kind – Wikipedia](https://en.wikipedia.org/wiki/Stirling_numbers_of_the_first_kind) * [Stirling numbers of the second kind – Wikipedia](https://en.wikipedia.org/wiki/Stirling_numbers_of_the_second_kind) Co-authored-by: Beibei Xiong Co-authored-by: Shao Yu <18217703912@163.com> Co-authored-by: Weijie Jiang --- new-contributor t-combinatorics awaiting-author 167/0 Mathlib.lean,Mathlib/Combinatorics/Enumerative/Stirling.lean 2 42 ['AntoineChambert-Loir', 'BeibeiX0', 'b-mehta', 'eric-wieser', 'github-actions', 'kbuzzard'] nobody
18-65217
18 days ago
35-43081
1 month ago
4-65831
4 days
26955 mariainesdff
author:mariainesdff
feat(LinearAlgebra/OnSup): extend linear maps to sums of modules Let `A` be a ring, `X, Y` be `A`-modules, and `M, N` be `A`-submodules of `X`. Given two linear maps `f : M →ₗ[A] Y` and `g : N →ₗ[A] Y` that agree on `M ∩ N`, there is a unique linear map `M + N →ₗ[A] Y` that simultaneously extends `f` and `g`. Co-authored-by: @AntoineChambert-Loir --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
153/0 Mathlib.lean,Mathlib/LinearAlgebra/OnSup.lean 2 15 ['AntoineChambert-Loir', 'eric-wieser', 'github-actions', 'wwylele'] alreadydone
assignee:alreadydone
18-55353
18 days ago
37-50548
1 month ago
38-15055
38 days
27864 BoltonBailey
author:BoltonBailey
feat(Data/{Finset,Multiset}/Sort): give sort functions ≤ default argument Changes the `Finset.sort` and `Multiset.sort` functions to take `≤` as the default relation argument. Then removes this argument where possible through the rest of the library. This involves switching the order of arguments, but I think this is fine, as this function is mostly called by dot notation anyway, and I think it is more typical for the first argument of such functions to have the type that matches the namespace. Thanks to @eric-wieser for suggesting this approach --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 121/97 Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Data/Finset/Sort.lean,Mathlib/Data/Multiset/Sort.lean,Mathlib/Data/Nat/Nth.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/Logic/Equiv/Finset.lean,Mathlib/Logic/Equiv/Multiset.lean,Mathlib/NumberTheory/ADEInequality.lean 9 4 ['BoltonBailey', 'eric-wieser', 'github-actions'] nobody
18-36160
18 days ago
18-36160
18 days ago
19-3300
19 days
25916 BoltonBailey
author:BoltonBailey
feat: add `simp` lemma `coeff_eq_zero_of_not_mem_support` Adds the forward direction of `not_mem_support_iff` as a simp lemma. Original PR: https://github.com/leanprover-community/mathlib4/pull/13026 t-algebra awaiting-author
label:t-algebra$
4/0 Mathlib/Algebra/MvPolynomial/Basic.lean 1 2 ['BoltonBailey', 'github-actions'] nobody
18-34289
18 days ago
66-35175
2 months ago
0-8
8 seconds
25920 BoltonBailey
author:BoltonBailey
feat(Data/Finsupp/Basic): `Finsupp.optionElim'` Similar to how Finsupp.cons constructs a map Fin (n + 1) →₀ M from a map Fin n →₀ M, we define Finsupp.optionElim' to construct a map Option α →₀ M from a map α →₀ M, given an additional value for none. We base this on the new optionEquiv definition. As a function, it behaves as Option.elim', hence the name. We prove a variety of API lemmas, based on those for Finsupp.cons, to bring the definitions more in line with the contents of Data/Finsupp/Fin. We also refactor to a new file to help avoid a too-long file and make this more analogous to Finsupp.cons Original PR: https://github.com/leanprover-community/mathlib4/pull/13861 - [x] depends on: #26309 migrated-from-branch t-data 124/25 Mathlib/Algebra/Category/MonCat/Adjunctions.lean,Mathlib/Data/Finsupp/Option.lean 2 14 ['BoltonBailey', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
18-34104
18 days ago
32-80850
1 month ago
55-1433
55 days
25724 bryangingechen
author:bryangingechen
chore: disable scheduled runs of stale issues workflow There's no point in having this run on schedule while it's still in limbo. --- This also seems to have been [completely broken](https://github.com/leanprover-community/mathlib4/actions/workflows/stale.yml) since #21681, since the search string is too long. Maybe we should just delete this. CI 1/2 .github/workflows/stale.yml 1 1 ['github-actions'] robertylewis
assignee:robertylewis
18-1414
18 days ago
69-77241
2 months ago
69-77223
69 days
25812 vlad902
author:vlad902
feat(data): List.Chain' helper lemmas Add two helpers lemmas to go from a List.Chain' hypothesis to a concrete predicate about two consecutive elements, one in the positive and one in the negative. t-data 29/0 Mathlib/Data/List/Chain.lean 1 4 ['BoltonBailey', 'github-actions', 'vlad902'] ericrbg
assignee:ericrbg
18-1413
18 days ago
48-60244
1 month ago
61-62832
61 days
26130 kmill
author:kmill
feat: make `reassoc_of%` be able to defer `Category` instance This PR modifies the elaboration of `reassoc_of%` so that the `Category` instance can be synthesized later, like any other instance metavariable, rather than needing to be synthesized up front, when the category itself might not yet be known. This fixes an issue reported by Robert Maxton [on Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/reassoc_of.25.20misleading.20error/near/524678383), where in the following `reassoc_of% Sigma.ι_desc` was failing. ```lean import Mathlib.CategoryTheory.Limits.Shapes.Products open CategoryTheory Limits set_option autoImplicit true variable {C : Type u} [Category.{v, u} C] {β : Type w} {f : β → C} [HasCoproduct f] {P : C} (p : (b : β) → f b ⟶ P) (b : β) example {Q : C} (g : P ⟶ Q) : Sigma.ι f b ≫ Sigma.desc p ≫ g = p b ≫ g := by rw [reassoc_of% Sigma.ι_desc] ``` Without this PR, a workaround is writing `reassoc_of% @Sigma.ι_desc`. The PR adds `Lean.Meta.withEnsuringLocalInstance` for temporarily adding a metavariable as a local instance if it can't yet be synthesized. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 91/20 Mathlib/Lean/Meta/Basic.lean,Mathlib/Tactic/CategoryTheory/IsoReassoc.lean,Mathlib/Tactic/CategoryTheory/Reassoc.lean,MathlibTest/CategoryTheory/Reassoc.lean 4 6 ['github-actions', 'kmill', 'leanprover-bot', 'sgouezel'] robertylewis
assignee:robertylewis
18-1411
18 days ago
62-73521
2 months ago
62-73503
62 days
26240 grunweg
author:grunweg
perf(CommandLinterLinter): use Substring more Probably, these changes make little difference, but let's find out. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter RFC 14/15 Mathlib/Tactic/Linter/CommandStart.lean 1 5 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] joneugster
assignee:joneugster
18-1410
18 days ago
61-10386
2 months ago
61-14997
61 days
26371 Timeroot
author:Timeroot
feat(NumberTheory): Niven's theorem This file proves Niven's theorem, that the only rational cosines of angles that are rational multiples of pi, are [-1, -1/2, 0, 1/2, 1]. This is one of the theorems missing from 1000.yaml. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 119/0 Mathlib.lean,Mathlib/NumberTheory/Niven.lean,docs/1000.yaml 3 9 ['Timeroot', 'github-actions', 'grunweg', 'plp127'] mariainesdff
assignee:mariainesdff
18-1409
18 days ago
57-22459
1 month ago
57-22505
57 days
27021 grunweg
author:grunweg
feat: custom elaborators for differential geometry Add two sets of custom elaborators for differential geometry, to - infer the model with corners in `MDifferentiable{WithinAt,At,On}` or `ContMDiff{WithinAt,At,On}` expressions from the local context, and provide shorter notation in that setting - do the same for mfderiv: `mfderiv% f` is shorthand for `mfderiv I J f`; `mfderiv[s] f x` is short for `mfderivWithin I J f s` - convert a fibre bundle section from a dependent section to a function into the total space, making working with differentiability of sections of fibre bundles less cumbersome This was [discussed on zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Differential.20geometry.20elaborators.20experiment/with/528035295), to overall broad consensus. This code has substantial tests and has been tried in the branch in #26221 (uncovering minor issues, but not substantial ones). The implementation itself is of prototype quality and will be cleaned up in the future. Once it is more robust, more differential geometry files can be converted to use it. Co-authored-by: Patrick Massot ----------- I agree that merging not fully polished code is not ideal, but propose doing so for two reasons: - the work in #26221 used these elaborators extensively (to test them). Reverting those changes, merging the code, only to re-apply them is not a good use of time. Merging this PR now enables merging the work in #26221 soon. - the feature is clearly useful and not going away: in the files that use it, it works well already. Holding off on further adopting, but merging it now seems like a good compromise. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry t-meta 782/0 Mathlib.lean,Mathlib/Geometry/Manifold/Elaborators.lean,Mathlib/Geometry/Manifold/Traces.lean,MathlibTest/DifferentialGeometry/Elaborators.lean,scripts/noshake.json 5 4 ['github-actions', 'grunweg', 'sgouezel'] robertylewis
assignee:robertylewis
18-1405
18 days ago
39-61094
1 month ago
39-61167
39 days
27225 eric-wieser
author:eric-wieser
refactor(Tactic/Lift): deprecate the third with argument We already have a number of tactics where the clearing happens all the time, and you have to opt out with `id h`. This also fixes a bug where `lift z to Nat with n hn this_is_unused` would silently ignore `this_is_unused`. --- - [ ] depends on: #27223 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta awaiting-author 21/9 Mathlib/Tactic/Lift.lean,MathlibTest/lift.lean 2 8 ['JovanGerb', 'adomani', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'vihdzp'] JovanGerb
assignee:JovanGerb
17-83056
17 days ago
18-43556
18 days ago
15-64386
15 days
25760 robin-carlier
author:robin-carlier
feat(CategoryTheory/Bicategory): (2,1)-categories and `Pith` This PR introduces a class `IsLocallyGroupoid` on bicategories, asserting that every hom-category has an `IsGroupoid` instance. With this definition, `IsLocallyGroupoid (LocallyDiscrete C)` is correctly inferred. Given a bicategory `B`, we introduce a type alias `Pith B` for `B` (realized as a one-field structure), and we equip it with a `Bicategory` instance where the hom-categories are the cores of the hom-categories of `B`. We show that this bicategory is a (2,1)-category, construct an inclusion pseudo-functor from `Pith B` to `B`, and show that every pseudofunctor from a (2,1)-category to `B` factors through this inclusion. --- We can’t fully state the fact that `(pseudofunctorToPith F).comp (inclusion F)` "is" `F` because #18254 is still not merged. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #25150.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/25150* t-category-theory 191/0 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/LocallyGroupoid.lean 2 2 ['b-mehta', 'github-actions'] joelriou
assignee:joelriou
17-31648
17 days ago
69-59614
2 months ago
69-59597
69 days
27843 JovanGerb
author:JovanGerb
chore(Algebra/Order/Sub/Defs): `@[gcongr low]` for `tsub_le_tsub` This PR explicitly lowers the `gcongr` priority of `tsub_le_tsub`. It also golfs some proofs using this `gcongr` lemma --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 34/36 Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/Sub/Defs.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Degree.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Metric.lean,Mathlib/Combinatorics/Hall/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Copy.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Nat/Squarefree.lean,Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean,Mathlib/RingTheory/Polynomial/Pochhammer.lean,Mathlib/Topology/ContinuousMap/Polynomial.lean 14 8 ['JovanGerb', 'eric-wieser', 'github-actions'] nobody
17-12451
17 days ago
17-13150
17 days ago
17-30463
17 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/) t-data 144/5 Mathlib/Data/PFunctor/Univariate/Basic.lean 1 19 ['alexkeizer', 'eric-wieser', 'github-actions', 'quangvdao'] nobody
17-3997
17 days ago
43-2506
1 month ago
43-2551
43 days
25042 alreadydone
author:alreadydone
feat(Topology): restriction/extension of Trivialization and composition with Homeomorph --- - [x] depends on: #25041 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 148/2 Mathlib/Topology/FiberBundle/Trivialization.lean,Mathlib/Topology/Maps/Basic.lean 2 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] ADedecker
assignee:ADedecker
17-1417
17 days ago
36-53281
1 month ago
92-36548
92 days
26061 kckennylau
author:kckennylau
feat(AlgebraicGeometry): define Projective Space This defines the projective space over a scheme, indexed by an arbitrary type. --- Zulip discussion: [#maths > Projective Space](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Projective.20Space/with/524057860) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 63/0 Mathlib.lean,Mathlib/AlgebraicGeometry/ProjectiveSpace.lean 2 14 ['callesonne', 'erdOne', 'github-actions', 'kckennylau'] erdOne
assignee:erdOne
17-1414
17 days ago
64-3155
2 months ago
64-3201
64 days
26299 adomani
author:adomani
perf: the `commandStart` linter only acts on modified files Introduces an `IO.Ref` to allow the `commandStart` linter to only run on files that git considers modified with respect to `master`. The linter is also active on files that have had some error, as these are likely being modified! The PR should also mitigate the speed-up that the linter introduced: [#mathlib4 > A whitespace linter @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/A.20whitespace.20linter/near/525091877) Assuming that this goes well, a similar mechanism could be applied to several linters that do not need to run on all code, just on the modified code. Implementation detail: the linter is currently either on or off in "whole" files. It may be also a future development to make this more granular and only run the linter on "modifed commands in modified files", but this is not currently the plan for this modification! --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter 48/0 Mathlib/Tactic/Linter/CommandStart.lean 1 5 ['adomani', 'github-actions', 'grunweg', 'leanprover-bot'] joneugster
assignee:joneugster
17-1413
17 days ago
58-41703
1 month ago
58-46334
58 days
26478 JovanGerb
author:JovanGerb
chore(LibraryRewrite): replace `rw??` with `rw?` As suggested by @YaelDillies, now `rw?` overwrites Lean core's implementation of `rw?`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 56/49 Mathlib/Tactic/Widget/LibraryRewrite.lean,MathlibTest/LibraryRewrite.lean,MathlibTest/rewrites.lean 3 5 ['YaelDillies', 'erdOne', 'github-actions', 'leanprover-community-bot-assistant'] alexjbest
assignee:alexjbest
17-1411
17 days ago
25-9582
25 days ago
39-71329
39 days
26484 peabrainiac
author:peabrainiac
feat(Geometry/Diffeology): basics of diffeological spaces Introduces diffeological spaces, smooth maps between them, the D-topology and the standard diffeology on finite-dimensional normed spaces. --- This PR continues the work from #21969. t-differential-geometry 471/0 Mathlib.lean,Mathlib/Geometry/Diffeology/Basic.lean,docs/references.bib 3 9 ['JovanGerb', 'github-actions', 'lecopivo', 'peabrainiac'] fpvandoorn
assignee:fpvandoorn
17-1410
17 days ago
53-80683
1 month ago
53-85435
53 days
26510 alreadydone
author:alreadydone
feat(Matroid): exchange lemmas involving closure --- for #24350 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data t-combinatorics 37/0 Mathlib/Data/Matroid/Closure.lean 1 1 ['github-actions'] kmill
assignee:kmill
17-1409
17 days ago
52-39829
1 month ago
52-39874
52 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. maintainer-merge t-algebra
label:t-algebra$
68/67 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/RootPositive.lean,Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean,Mathlib/RingTheory/Etale/Kaehler.lean,Mathlib/RingTheory/LocalProperties/Projective.lean,Mathlib/RingTheory/Localization/InvSubmonoid.lean,Mathlib/RingTheory/OreLocalization/Basic.lean 25 16 ['eric-wieser', 'github-actions', 'j-loreaux', 'linesthatinterlace', 'pechersky'] joelriou
assignee:joelriou
17-1406
17 days ago
29-16120
29 days ago
40-30994
40 days
27703 vihdzp
author:vihdzp
feat: `le_of_forall_ne` This form of `le_of_forall_lt` is a bit nicer when working with nimbers; they're minimum excludents, so to prove `a ≤ b` you have to prove `b` can't be equal to any smaller `a`! --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order easy awaiting-author 7/0 Mathlib/Order/Basic.lean 1 6 ['JovanGerb', 'eric-wieser', 'github-actions'] nobody
17-802
17 days ago
17-6687
17 days ago
4-6136
4 days
27915 xroblot
author:xroblot
chore: example of the error `uncaught exception: dependency loop found involving Mathlib!` This branch contains a file `Loop.lean` that imports all of Mathlib including itself. When trying to download the corresponding cache, we get the error message ` Cannot fetch Mathlib build artifact cache. Command output: uncaught exception: dependency loop found involving Mathlib! ` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 2/0 Mathlib.lean,Mathlib/Loop.lean 2 1 ['github-actions'] nobody
16-85724
16 days ago
16-85944
16 days ago
16-85927
16 days
27076 Komyyy
author:Komyyy
refactor: don't require `DecidablePred` to state `PrimrecPred` ```lean def PrimrecPred {α} [Primcodable α] (p : α → Prop) [DecidablePred p] := Primrec fun a => decide (p a) ``` Currently, `DecidablePred` is required to **state** `PrimrecPred`, so this PR changes the definition and adds convenient APIs for this new definition: ```lean def PrimrecPred {α} [Primcodable α] (p : α → Prop) := open scoped Classical in Primrec fun a => decide (p a) ``` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-computability 117/67 Mathlib/Computability/Halting.lean,Mathlib/Computability/Partrec.lean,Mathlib/Computability/Primrec.lean,Mathlib/Computability/Reduce.lean 4 10 ['Komyyy', 'YaelDillies', 'digama0', 'eric-wieser', 'github-actions'] YaelDillies
assignee:YaelDillies
16-68735
16 days ago
16-68735
16 days ago
38-35434
38 days
27868 grunweg
author:grunweg
linter indentation playground --- Trying out the changes in #27525. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter WIP 413/0 Mathlib/AlgebraicTopology/SimplexCategory/Augmented.lean,Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/Basic.lean,Mathlib/CategoryTheory/Sites/Coherent/Basic.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/FieldTheory/RatFunc/Basic.lean,Mathlib/Init.lean,Mathlib/ModelTheory/Algebra/Ring/Basic.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Basic.lean,Mathlib/ModelTheory/Basic.lean,Mathlib/ModelTheory/Graph.lean,Mathlib/ModelTheory/Order.lean,Mathlib/Tactic/Linter/Style.lean,Mathlib/Util/Notation3.lean 15 1 ['github-actions'] nobody
16-55478
16 days ago
16-55478
16 days ago
0-1
1 second
27306 xyzw12345
author:xyzw12345
feat: `lie_ring` tactic and `LieReduce` command This PR continues the work from #22196. Original PR: https://github.com/leanprover-community/mathlib4/pull/22196 t-meta 816/2 Mathlib.lean,Mathlib/Algebra/Lie/Derivation/AdjointAction.lean,Mathlib/Tactic.lean,Mathlib/Tactic/LieAlgebra/Basic.lean,Mathlib/Tactic/LieAlgebra/LieRingNF.lean,Mathlib/Util/AtomM.lean,MathlibTest/lie_ring.lean,scripts/noshake.json 8 2 ['github-actions', 'xyzw12345'] nobody
16-55340
16 days ago
16-55340
16 days ago
31-39995
31 days
26992 Paul-Lez
author:Paul-Lez
feat(Analysis/ODE/Gronwall): add a few consequences of Grönwall's inequality This PR continues the work from #25708. Original PR: https://github.com/leanprover-community/mathlib4/pull/25708 t-analysis WIP 56/0 Mathlib/Analysis/ODE/Gronwall.lean 1 2 ['Paul-Lez', 'github-actions'] nobody
16-55150
16 days ago
16-55150
16 days ago
0-155
2 minutes
26956 mariainesdff
author:mariainesdff
feat(RingTheory/DividedPowers/Basic): add divided power structure on pZp We construct a divided power structure on the ideal `(p) ⊆ ℤ_[p]`, given by the family of maps `fun n x ↦ x^n / n!`. Co-authored-by: @AntoineChambert-Loir --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 561/2 Mathlib.lean,Mathlib/Data/Nat/Factorial/NatCast.lean,Mathlib/RingTheory/DividedPowers/Padic.lean,Mathlib/RingTheory/DividedPowers/RatAlgebra.lean 4 1 ['github-actions'] mattrobball
assignee:mattrobball
16-55139
16 days ago
16-55139
16 days ago
41-58641
41 days
27252 Parcly-Taxel
author:Parcly-Taxel
feat: sharp bounds for `‖exp (I * x) - 1‖` when `x` is real From Carleson carleson t-analysis awaiting-author 33/0 Mathlib/Analysis/SpecialFunctions/Trigonometric/Bounds.lean,Mathlib/Data/Complex/Trigonometric.lean 2 5 ['Parcly-Taxel', 'eric-wieser', 'github-actions', 'grunweg'] nobody
16-55053
16 days ago
16-55053
16 days ago
0-24267
6 hours
26347 mans0954
author:mans0954
feature(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 t-data 30/0 Mathlib.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Data/Finset/RangeDistance.lean 3 2 ['github-actions', 'mans0954'] alreadydone
assignee:alreadydone
16-54816
16 days ago
16-54816
16 days ago
57-64229
57 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 large-import t-algebra WIP
label:t-algebra$
888/0 Mathlib.lean,Mathlib/Data/Sym/Sym2/Prod.lean,Mathlib/LinearAlgebra/QuadraticForm/Basis.lean 3 n/a ['github-actions', 'mans0954'] nobody
16-54807
16 days ago
unknown
unknown
26340 mans0954
author:mans0954
feat(Algebra/Module/NestAlgebra): Nest algebras This PR continues the work from #18705. Original PR: https://github.com/leanprover-community/mathlib4/pull/18705 t-algebra
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 2 ['github-actions', 'mans0954'] nobody
16-54803
16 days ago
16-54803
16 days ago
57-65740
57 days
26337 mans0954
author:mans0954
feat(Analysis/NormedSpace/MStructure): M-ideals This PR continues the work from #14369. Original PR: https://github.com/leanprover-community/mathlib4/pull/14369 large-import t-analysis WIP 857/40 Mathlib/Algebra/Module/End.lean,Mathlib/Algebra/Module/Hom.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Analysis/Normed/Module/Complemented.lean,Mathlib/Analysis/NormedSpace/MStructure.lean 5 n/a ['github-actions', 'mans0954'] nobody
16-54794
16 days ago
unknown
unknown
26298 adomani
author:adomani
test: the commandStart linter only acts on modified files. Test for #26299: should flag issues in the new file and also in the modified file `Mathlib/Data/Array/Extract.lean`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter awaiting-author WIP 63/1 Mathlib.lean,Mathlib/Data/Array/Extract.lean,Mathlib/New.lean,Mathlib/Tactic/Linter/CommandStart.lean 4 20 ['adomani', 'bryangingechen', 'github-actions'] nobody
16-54764
16 days ago
16-54765
16 days ago
0-0
0 seconds
26097 adomani
author:adomani
dev: the relative linter --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter awaiting-author WIP 316/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/Local.lean,Mathlib/Util/ParseGit.lean 4 1 ['github-actions'] nobody
16-54741
16 days ago
16-54741
16 days ago
0-0
0 seconds
25992 Multramate
author:Multramate
feat(RingTheory/Ideal/Span): add pair lemmas This PR continues the work from #25323. Original PR: https://github.com/leanprover-community/mathlib4/pull/25323 t-ring-theory awaiting-author 131/31 Mathlib/Algebra/Module/PID.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Span.lean 5 9 ['Multramate', 'Ruben-VandeVelde', 'github-actions'] nobody
16-54725
16 days ago
16-54725
16 days ago
39-76045
39 days
25986 Multramate
author:Multramate
feat(AlgebraicGeometry/EllipticCurve/NumberField/Height): define heights on Weierstrass curves This PR continues the work from #15786. Original PR: https://github.com/leanprover-community/mathlib4/pull/15786 t-algebraic-geometry 650/0 Mathlib/AlgebraicGeometry/EllipticCurve/NumberField/Height.lean 1 2 ['Multramate', 'github-actions'] nobody
16-54713
16 days ago
16-54713
16 days ago
0-0
0 seconds
26342 mans0954
author:mans0954
WiP: Expansion of the tensor product of quadratic maps over a linear combination This PR continues the work from #19806. Original PR: https://github.com/leanprover-community/mathlib4/pull/19806 t-algebra WIP
label:t-algebra$
483/0 Mathlib/Data/Sym/Sym2/Prod.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/QuadraticForm/Basis.lean,Mathlib/LinearAlgebra/QuadraticForm/TensorProduct.lean 4 n/a ['github-actions', 'mans0954'] nobody
16-54651
16 days ago
unknown
unknown
27933 grunweg
author:grunweg
chore(OrdNode): format code example in code blocks Wrap them in code blocks (and unindent them; that indentation is not needed any more). This also avoids warnings from the linter in #27898. ------- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 459/212 Mathlib/Data/Ordmap/Ordnode.lean 1 3 ['eric-wieser', 'github-actions', 'grunweg'] nobody
16-52020
16 days ago
16-60536
16 days ago
16-60583
16 days
27926 euprunin
author:euprunin
chore(Geometry/RingedSpace): remove one porting note and one `erw` ---
Show trace profiling of colimitPresheafObjIsoComponentwiseLimit_inv_ι_app ### Trace profiling of `colimitPresheafObjIsoComponentwiseLimit_inv_ι_app` before PR 27926 ``` info: Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.lean:318:0: [Elab.command] [1.040188] @[simp] theorem colimitPresheafObjIsoComponentwiseLimit_inv_ι_app (F : J ⥤ PresheafedSpace.{_, _, v} C) (U : Opens (Limits.colimit F).carrier) (j : J) : (colimitPresheafObjIsoComponentwiseLimit F U).inv ≫ (colimit.ι F j).c.app (op U) = limit.π _ (op j) := by delta colimitPresheafObjIsoComponentwiseLimit rw [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)] dsimp rw [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc] erw [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] -- Porting note: `convert` doesn't work due to meta variable, so change to a `suffices` block set f := _ change _ ≫ f = _ suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id] erw [← (F.obj j).presheaf.map_id] change (F.obj j).presheaf.map _ ≫ _ = _ simp [Elab.definition.header] [0.097144] AlgebraicGeometry.PresheafedSpace.colimitPresheafObjIsoComponentwiseLimit_inv_ι_app [Elab.step] [0.025268] expected type: Type v, term Opens (Limits.colimit F).carrier [Elab.step] [0.020151] expected type: Type ?u.174516, term (Limits.colimit F).carrier [Elab.step] [0.019933] expected type: , term (Limits.colimit F) [Elab.step] [0.019920] expected type: , term Limits.colimit F [Meta.synthInstance] [0.018758] ✅️ HasColimit F [Elab.step] [0.070061] expected type: Prop, term (colimitPresheafObjIsoComponentwiseLimit F U).inv ≫ (colimit.ι F j).c.app (op U) = limit.π _ (op j) [Elab.step] [0.070046] expected type: Prop, term binrel% Eq✝ ((colimitPresheafObjIsoComponentwiseLimit F U).inv ≫ (colimit.ι F j).c.app (op U)) (limit.π _ (op j)) [Meta.synthInstance] [0.058249] ✅️ HasLimit (componentwiseDiagram F U) [Elab.attribute] [0.937317] applying [simp] info: Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.lean:318:0: [Elab.async] [0.937262] elaborating proof of AlgebraicGeometry.PresheafedSpace.colimitPresheafObjIsoComponentwiseLimit_inv_ι_app [Elab.definition.value] [0.927035] AlgebraicGeometry.PresheafedSpace.colimitPresheafObjIsoComponentwiseLimit_inv_ι_app [Elab.step] [0.922546] delta colimitPresheafObjIsoComponentwiseLimit rw [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)] dsimp rw [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc] erw [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] -- Porting note: `convert` doesn't work due to meta variable, so change to a `suffices` block set f := _ change _ ≫ f = _ suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id] erw [← (F.obj j).presheaf.map_id] change (F.obj j).presheaf.map _ ≫ _ = _ simp [Elab.step] [0.922530] delta colimitPresheafObjIsoComponentwiseLimit rw [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)] dsimp rw [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc] erw [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] -- Porting note: `convert` doesn't work due to meta variable, so change to a `suffices` block set f := _ change _ ≫ f = _ suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id] erw [← (F.obj j).presheaf.map_id] change (F.obj j).presheaf.map _ ≫ _ = _ simp [Elab.step] [0.146177] rw [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)] [Elab.step] [0.146159] (rewrite [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)]; with_annotate_state"]" (try (with_reducible rfl))) [Elab.step] [0.146150] rewrite [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.146140] rewrite [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.144815] rewrite [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)] [Meta.check] [0.016973] ✅️ fun _a ↦ (((Limits.lim.mapIso (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯)).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).inv) ≫ _a) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.014416] ✅️ fun _a ↦ (((Limits.lim.mapIso (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯)).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).inv) ≫ _a.app (op U)) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.010654] ✅️ fun _a ↦ (((Limits.lim.mapIso (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯)).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).inv) ≫ _a) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.023805] ✅️ fun _a ↦ (((Limits.lim.mapIso (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯)).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).inv) ≫ _a ≫ (Limits.colimit F).presheaf.map (eqToHom ⋯)) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Elab.step] [0.046171] dsimp [Elab.step] [0.362200] rw [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc] [Elab.step] [0.361801] (rewrite [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc]; with_annotate_state"]" (try (with_reducible rfl))) [Elab.step] [0.361793] rewrite [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.361787] rewrite [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.361130] rewrite [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc] [Meta.check] [0.046061] ✅️ fun _a ↦ ((limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv) ≫ ((colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ _a) ≫ (Limits.colimit F).presheaf.map (eqToHom ⋯)) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Meta.isDefEq] [0.014339] ✅️ autoParam (∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f) _auto✝ =?= ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Meta.isDefEq] [0.014330] ✅️ ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f =?= ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Meta.isDefEq] [0.014288] ✅️ ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f =?= ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Meta.isDefEq] [0.013035] ✅️ ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom =?= ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom [Meta.isDefEq] [0.013017] ✅️ inst✝³.toCategoryStruct.3 (((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f) (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom =?= inst✝³.toCategoryStruct.3 (((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f) (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom [Meta.check] [0.027427] ✅️ fun _a ↦ ((limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv) ≫ _a ≫ (Limits.colimit F).presheaf.map (eqToHom ⋯)) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.019082] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ _a = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.023213] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ _a = limit.π (componentwiseDiagram F U) (op j) [Meta.isDefEq] [0.014000] ✅️ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ (colimit.ι F j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (Hom.c ?β).app ?U ≫ (Hom.c ?α).app (op ((Opens.map (Hom.base ?β)).obj (unop ?U))) ≫ ?h [Meta.isDefEq] [0.011423] ✅️ (colimit.ι F j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (Hom.c ?α).app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.base).obj (unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))))) ≫ ?h [Meta.check] [0.019734] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ _a = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.041226] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ _a ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) = limit.π (componentwiseDiagram F U) (op j) [Meta.isDefEq] [0.013545] ✅️ (({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ (F.obj j).presheaf.map (eqToHom ⋯)) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (?f ≫ ?g) ≫ ?h [Meta.check] [0.022526] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ _a = limit.π (componentwiseDiagram F U) (op j) [Meta.isDefEq] [0.010494] ✅️ autoParam (∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f) _auto✝ =?= ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Meta.isDefEq] [0.010484] ✅️ ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f =?= ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Meta.isDefEq] [0.010433] ✅️ ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f =?= ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Elab.step] [0.153503] erw [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] [Elab.step] [0.149349] rw (transparency✝ := .default✝) [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] [Elab.step] [0.149342] (rewrite (transparency✝ := .default✝) [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc]; with_annotate_state"]" (try (with_reducible rfl))) [Elab.step] [0.149338] rewrite (transparency✝ := .default✝) [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.149333] rewrite (transparency✝ := .default✝) [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.148668] rewrite (transparency✝ := .default✝) [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] [Meta.isDefEq] [0.018626] ✅️ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ (F.obj j).presheaf.map (eqToHom ⋯) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (limitObjIsoLimitCompEvaluation ?F ?k).inv ≫ (limit.π ?F ?j).app ?k ≫ ?h [Meta.isDefEq.delta] [0.018438] ✅️ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ (F.obj j).presheaf.map (eqToHom ⋯) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (limitObjIsoLimitCompEvaluation ?F ?k).inv ≫ (limit.π ?F ?j).app ?k ≫ ?h [Meta.isDefEq] [0.015684] ✅️ ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ (F.obj j).presheaf.map (eqToHom ⋯) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (limit.π (pushforwardDiagramToColimit F).leftOp ?j).app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ ?h [Meta.isDefEq.delta] [0.015635] ✅️ ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ (F.obj j).presheaf.map (eqToHom ⋯) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (limit.π (pushforwardDiagramToColimit F).leftOp ?j).app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ ?h [Meta.isDefEq] [0.012504] ✅️ ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= (limit.π (pushforwardDiagramToColimit F).leftOp ?j).app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) [Meta.isDefEq.delta] [0.012467] ✅️ ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= (limit.π (pushforwardDiagramToColimit F).leftOp ?j).app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) [Meta.check] [0.032205] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ _a = limit.π (componentwiseDiagram F U) (op j) [Meta.isDefEq] [0.011807] ✅️ autoParam (∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f) _auto✝ =?= ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Meta.isDefEq] [0.011776] ✅️ ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f =?= ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Meta.isDefEq] [0.011697] ✅️ ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f =?= ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Meta.isDefEq] [0.010926] ✅️ ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom =?= ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom [Meta.isDefEq] [0.010889] ✅️ inst✝³.toCategoryStruct.3 (((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f) (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom =?= inst✝³.toCategoryStruct.3 (((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f) (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom [Meta.synthInstance] [0.032731] ✅️ HasLimit (componentwiseDiagram F U) [Meta.synthInstance] [0.037409] ✅️ HasLimit ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Elab.step] [0.014221] suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id] [Elab.step] [0.012150] refine_lift suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id]; ?_ [Elab.step] [0.012144] focus (refine no_implicit_lambda% (suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id]; ?_); rotate_right) [Elab.step] [0.012137] (refine no_implicit_lambda% (suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id]; ?_); rotate_right) [Elab.step] [0.012133] (refine no_implicit_lambda% (suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id]; ?_); rotate_right) [Elab.step] [0.012129] (refine no_implicit_lambda% (suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id]; ?_); rotate_right) [Elab.step] [0.012125] refine no_implicit_lambda% (suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id]; ?_); rotate_right [Elab.step] [0.012121] refine no_implicit_lambda% (suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id]; ?_); rotate_right [Elab.step] [0.012108] refine no_implicit_lambda% (suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id]; ?_) [Elab.step] [0.013093] change (F.obj j).presheaf.map _ ≫ _ = _ [Elab.step] [0.168494] simp [Meta.isDefEq] [0.021985] ❌️ eqToHom ?p =?= eqToHom ⋯ [Meta.isDefEq] [0.021872] ❌️ ?p =?= colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.021293] ❌️ eqToHom ?p =?= eqToHom ⋯ [Meta.isDefEq] [0.021164] ❌️ ?p =?= colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.010555] ✅️ (toPrefunctor ?F).map (eqToHom ?p) =?= (F.obj j).presheaf.map (eqToHom ⋯) [Meta.isDefEq.delta] [0.010532] ✅️ (toPrefunctor ?F).map (eqToHom ?p) =?= (F.obj j).presheaf.map (eqToHom ⋯) [Meta.isDefEq] [0.010242] ✅️ eqToHom ?p =?= eqToHom ⋯ [Meta.isDefEq] [0.010214] ✅️ ?p =?= colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq.assign] [0.010212] ✅️ ?p := colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq.assign.checkTypes] [0.010174] ✅️ (?p : op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = op ((Opens.map (colimit.ι F j).base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)))) := (colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) : (Opens.map ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.010170] ✅️ op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = op ((Opens.map (colimit.ι F j).base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) =?= (Opens.map ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) info: Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.lean:319:8: [Elab.async] [0.072478] Lean.addDecl [Kernel] [0.072444] typechecking declarations [AlgebraicGeometry.PresheafedSpace.colimitPresheafObjIsoComponentwiseLimit_inv_ι_app] ``` ### Trace profiling of `colimitPresheafObjIsoComponentwiseLimit_inv_ι_app` after PR 27926 ```diff diff --git a/Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.lean b/Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.lean index 5771499b70..cbf879186d 100644 --- a/Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.lean +++ b/Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.lean @@ -316,2 +316,3 @@ def colimitPresheafObjIsoComponentwiseLimit (F : J ⥤ PresheafedSpace.{_, _, v} +set_option trace.profiler true in @[simp] @@ -329,8 +330,2 @@ theorem colimitPresheafObjIsoComponentwiseLimit_inv_ι_app (F : J ⥤ Presheafed erw [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] - -- Porting note: `convert` doesn't work due to meta variable, so change to a `suffices` block - set f := _ - change _ ≫ f = _ - suffices f_eq : f = 𝟙 _ by rw [f_eq, comp_id] - erw [← (F.obj j).presheaf.map_id] - change (F.obj j).presheaf.map _ ≫ _ = _ simp ``` ``` info: Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.lean:318:0: [Elab.command] [1.024539] @[simp] theorem colimitPresheafObjIsoComponentwiseLimit_inv_ι_app (F : J ⥤ PresheafedSpace.{_, _, v} C) (U : Opens (Limits.colimit F).carrier) (j : J) : (colimitPresheafObjIsoComponentwiseLimit F U).inv ≫ (colimit.ι F j).c.app (op U) = limit.π _ (op j) := by delta colimitPresheafObjIsoComponentwiseLimit rw [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)] dsimp rw [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc] erw [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] simp [Elab.definition.header] [0.078196] AlgebraicGeometry.PresheafedSpace.colimitPresheafObjIsoComponentwiseLimit_inv_ι_app [Elab.step] [0.012578] expected type: Type v, term Opens (Limits.colimit F).carrier [Elab.step] [0.064806] expected type: Prop, term (colimitPresheafObjIsoComponentwiseLimit F U).inv ≫ (colimit.ι F j).c.app (op U) = limit.π _ (op j) [Elab.step] [0.064794] expected type: Prop, term binrel% Eq✝ ((colimitPresheafObjIsoComponentwiseLimit F U).inv ≫ (colimit.ι F j).c.app (op U)) (limit.π _ (op j)) [Meta.synthInstance] [0.046124] ✅️ HasLimit (componentwiseDiagram F U) [Elab.attribute] [0.941447] applying [simp] info: Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.lean:318:0: [Elab.async] [0.941493] elaborating proof of AlgebraicGeometry.PresheafedSpace.colimitPresheafObjIsoComponentwiseLimit_inv_ι_app [Elab.definition.value] [0.933934] AlgebraicGeometry.PresheafedSpace.colimitPresheafObjIsoComponentwiseLimit_inv_ι_app [Elab.step] [0.922601] delta colimitPresheafObjIsoComponentwiseLimit rw [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)] dsimp rw [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc] erw [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] simp [Elab.step] [0.922582] delta colimitPresheafObjIsoComponentwiseLimit rw [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)] dsimp rw [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc] erw [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] simp [Elab.step] [0.135785] rw [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)] [Elab.step] [0.135770] (rewrite [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)]; with_annotate_state"]" (try (with_reducible rfl))) [Elab.step] [0.135762] rewrite [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.135756] rewrite [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.135146] rewrite [Iso.trans_inv, Iso.trans_inv, Iso.app_inv, sheafIsoOfIso_inv, pushforwardToOfIso_app, congr_app (Iso.symm_inv _)] [Meta.check] [0.011988] ✅️ fun _a ↦ (((Limits.lim.mapIso (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯)).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).inv) ≫ _a) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.013908] ✅️ fun _a ↦ (((Limits.lim.mapIso (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯)).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).inv) ≫ _a.app (op U)) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.010543] ✅️ fun _a ↦ (((Limits.lim.mapIso (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯)).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).inv) ≫ _a) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.020840] ✅️ fun _a ↦ (((Limits.lim.mapIso (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯)).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).inv) ≫ _a ≫ (Limits.colimit F).presheaf.map (eqToHom ⋯)) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Elab.step] [0.043416] dsimp [Elab.step] [0.347288] rw [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc] [Elab.step] [0.347048] (rewrite [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc]; with_annotate_state"]" (try (with_reducible rfl))) [Elab.step] [0.347040] rewrite [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.347035] rewrite [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.346402] rewrite [map_id, comp_id, assoc, assoc, assoc, NatTrans.naturality, ← comp_c_app_assoc, congr_app (colimit.isoColimitCocone_ι_hom _ _), assoc] [Meta.check] [0.032750] ✅️ fun _a ↦ ((limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv) ≫ ((colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ _a) ≫ (Limits.colimit F).presheaf.map (eqToHom ⋯)) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.028063] ✅️ fun _a ↦ ((limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv) ≫ _a ≫ (Limits.colimit F).presheaf.map (eqToHom ⋯)) ≫ (colimit.ι F j).c.app (op U) = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.019057] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ _a = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.022883] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ _a = limit.π (componentwiseDiagram F U) (op j) [Meta.isDefEq] [0.013327] ✅️ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ (colimit.ι F j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (Hom.c ?β).app ?U ≫ (Hom.c ?α).app (op ((Opens.map (Hom.base ?β)).obj (unop ?U))) ≫ ?h [Meta.isDefEq] [0.011046] ✅️ (colimit.ι F j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (Hom.c ?α).app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.base).obj (unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))))) ≫ ?h [Meta.check] [0.019487] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ _a = limit.π (componentwiseDiagram F U) (op j) [Meta.check] [0.042766] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ _a ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) = limit.π (componentwiseDiagram F U) (op j) [Meta.isDefEq] [0.013346] ✅️ (({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ (F.obj j).presheaf.map (eqToHom ⋯)) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (?f ≫ ?g) ≫ ?h [Meta.check] [0.019948] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ _a = limit.π (componentwiseDiagram F U) (op j) [Elab.step] [0.157932] erw [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] [Elab.step] [0.154595] rw (transparency✝ := .default✝) [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] [Elab.step] [0.154588] (rewrite (transparency✝ := .default✝) [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc]; with_annotate_state"]" (try (with_reducible rfl))) [Elab.step] [0.154584] rewrite (transparency✝ := .default✝) [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.154579] rewrite (transparency✝ := .default✝) [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.153927] rewrite (transparency✝ := .default✝) [limitObjIsoLimitCompEvaluation_inv_π_app_assoc, limMap_π_assoc] [Meta.isDefEq] [0.012088] ✅️ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ (F.obj j).presheaf.map (eqToHom ⋯) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (limitObjIsoLimitCompEvaluation ?F ?k).inv ≫ (limit.π ?F ?j).app ?k ≫ ?h [Meta.isDefEq.delta] [0.012000] ✅️ (limitObjIsoLimitCompEvaluation (pushforwardDiagramToColimit F).leftOp (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).inv ≫ ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).c.app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ (F.obj j).presheaf.map (eqToHom ⋯) ≫ ((pushforward C (colimit.ι F j).base).obj (F.obj j).presheaf).map (eqToHom ⋯) =?= (limitObjIsoLimitCompEvaluation ?F ?k).inv ≫ (limit.π ?F ?j).app ?k ≫ ?h [Meta.check] [0.023999] ✅️ fun _a ↦ limMap (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv ≫ _a = limit.π (componentwiseDiagram F U) (op j) [Meta.synthInstance] [0.043793] ✅️ HasLimit (componentwiseDiagram F U) [Meta.synthInstance] [0.050911] ✅️ HasLimit ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Elab.step] [0.237283] simp [Meta.isDefEq] [0.020018] ✅️ (NatIso.ofComponents ?app ?naturality).inv.app ?X =?= (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv.app (op j) [Meta.isDefEq.delta] [0.019991] ✅️ (NatIso.ofComponents ?app ?naturality).inv.app ?X =?= (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv.app (op j) [Meta.isDefEq] [0.019797] ✅️ (NatIso.ofComponents ?app ?naturality).inv =?= (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv [Meta.isDefEq.delta] [0.019779] ✅️ (NatIso.ofComponents ?app ?naturality).inv =?= (NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯).inv [Meta.isDefEq] [0.019743] ✅️ NatIso.ofComponents ?app ?naturality =?= NatIso.ofComponents (fun X ↦ mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)) ⋯ [Meta.isDefEq] [0.017808] ✅️ ?naturality =?= @colimitPresheafObjIsoComponentwiseLimit._proof_5 J inst✝⁴ C inst✝³ inst✝² inst✝¹ inst✝ F (hasColimitOfHasColimitsOfShape F) U [Meta.isDefEq.assign] [0.017806] ✅️ ?naturality := @colimitPresheafObjIsoComponentwiseLimit._proof_5 J inst✝⁴ C inst✝³ inst✝² inst✝¹ inst✝ F (hasColimitOfHasColimitsOfShape F) U [Meta.isDefEq.assign.checkTypes] [0.017713] ✅️ (?naturality : autoParam (∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f) _auto✝) := (@colimitPresheafObjIsoComponentwiseLimit._proof_5 J inst✝⁴ C inst✝³ inst✝² inst✝¹ inst✝ F (hasColimitOfHasColimitsOfShape F) U : ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f) [Meta.isDefEq] [0.017709] ✅️ autoParam (∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f) _auto✝ =?= ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Meta.isDefEq] [0.017679] ✅️ ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f =?= ∀ {X Y : Jᵒᵖ} (f : X ⟶ Y), ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Meta.isDefEq] [0.017646] ✅️ ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f =?= ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom = (mapIso (F.obj (unop X)).presheaf (eqToIso ⋯)).hom ≫ (componentwiseDiagram F U).map f [Meta.isDefEq] [0.016839] ✅️ ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom =?= ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f ≫ (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom [Meta.isDefEq] [0.016824] ✅️ inst✝³.toCategoryStruct.3 (((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f) (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom =?= inst✝³.toCategoryStruct.3 (((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f) (mapIso (F.obj (unop Y)).presheaf (eqToIso ⋯)).hom [Meta.isDefEq] [0.014645] ✅️ ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map f =?= ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map f [Meta.isDefEq] [0.014628] ✅️ ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).toPrefunctor.2 f =?= ((pushforwardDiagramToColimit F).leftOp ⋙ (evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).toPrefunctor.2 f [Meta.isDefEq] [0.014549] ✅️ ((evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).map ((pushforwardDiagramToColimit F).leftOp.map f) =?= ((evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).map ((pushforwardDiagramToColimit F).leftOp.map f) [Meta.isDefEq] [0.014534] ✅️ ((evaluation (Opens ↑(Limits.colimit (F ⋙ forget C)))ᵒᵖ C).obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))).toPrefunctor.2 ((pushforwardDiagramToColimit F).leftOp.map f) =?= ((evaluation (Opens ↑↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt)ᵒᵖ C).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))).toPrefunctor.2 ((pushforwardDiagramToColimit F).leftOp.map f) [Meta.isDefEq] [0.014406] ✅️ ((pushforwardDiagramToColimit F).leftOp.map f).app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= ((pushforwardDiagramToColimit F).leftOp.map f).app ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U)) [Meta.isDefEq] [0.014386] ✅️ ((pushforwardDiagramToColimit F).leftOp.map f).1 (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= ((pushforwardDiagramToColimit F).leftOp.map f).1 ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U)) [Meta.isDefEq] [0.010919] ✅️ ((pushforward C (colimit.ι (F ⋙ forget C) (unop X))).map (F.map f.unop).c).app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) ≫ ((Pushforward.comp ((F ⋙ forget C).map f.unop) (colimit.ι (F ⋙ forget C) (unop X)) (F.obj (unop Y)).presheaf).inv ≫ (pushforwardEq ⋯ (F.obj (unop Y)).presheaf).hom).app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= ((pushforward C (colimit.ι (F ⋙ forget C) (unop X))).map (F.map f.unop).c).app ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U)) ≫ ((Pushforward.comp ((F ⋙ forget C).map f.unop) (colimit.ι (F ⋙ forget C) (unop X)) (F.obj (unop Y)).presheaf).inv ≫ (pushforwardEq ⋯ (F.obj (unop Y)).presheaf).hom).app ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U)) [Meta.isDefEq] [0.010872] ✅️ inst✝³.toCategoryStruct.3 (((pushforward C (colimit.ι (F ⋙ forget C) (unop X))).map (F.map f.unop).c).app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) (((Pushforward.comp ((F ⋙ forget C).map f.unop) (colimit.ι (F ⋙ forget C) (unop X)) (F.obj (unop Y)).presheaf).inv ≫ (pushforwardEq ⋯ (F.obj (unop Y)).presheaf).hom).app (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) =?= inst✝³.toCategoryStruct.3 (((pushforward C (colimit.ι (F ⋙ forget C) (unop X))).map (F.map f.unop).c).app ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))) (((Pushforward.comp ((F ⋙ forget C).map f.unop) (colimit.ι (F ⋙ forget C) (unop X)) (F.obj (unop Y)).presheaf).inv ≫ (pushforwardEq ⋯ (F.obj (unop Y)).presheaf).hom).app ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).symm.hom.base).op.obj (op U))) [Meta.isDefEq] [0.036880] ❌️ eqToHom ?p =?= eqToHom ⋯ [Meta.isDefEq] [0.036754] ❌️ ?p =?= colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq.assign] [0.014492] ❌️ ?p := colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq.assign.checkTypes] [0.014435] ❌️ (?p : op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) := (colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) : (Opens.map ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.014433] ❌️ op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= (Opens.map ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) [Meta.isDefEq] [0.013670] ❌️ op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) [Meta.isDefEq] [0.013662] ❌️ op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.toPrefunctor.1 (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) [Meta.isDefEq] [0.013635] ❌️ op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= op ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).obj (unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)))) [Meta.isDefEq] [0.013607] ❌️ (Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U) =?= (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).obj (unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.013597] ❌️ (Opens.map (colimit.ι (F ⋙ forget C) j)).toPrefunctor.1 ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U) =?= (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).toPrefunctor.1 (unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.013549] ❌️ { carrier := ⇑(ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)) ⁻¹' ↑((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U), is_open' := ⋯ } =?= { carrier := ⇑(ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base) ⁻¹' ↑(unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))), is_open' := ⋯ } [Meta.isDefEq] [0.013528] ❌️ ⇑(ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)) ⁻¹' ↑((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U) =?= ⇑(ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base) ⁻¹' ↑(unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq.delta] [0.010260] ❌️ ⇑(ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)) ⁻¹' ↑((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U) =?= ⇑(ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base) ⁻¹' ↑(unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.010255] ❌️ ⇑(ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)) =?= ⇑(ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base) [Meta.isDefEq] [0.010244] ❌️ ((fun X Y ↦ ContinuousMap.instFunLike) (↑(F.obj j)) (Limits.colimit (F ⋙ forget C))).1 (ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)) =?= ((fun X Y ↦ ContinuousMap.instFunLike) ↑(F.obj j) ↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt).1 (ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base) [Meta.isDefEq] [0.010227] ❌️ (ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)).toFun =?= (ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).toFun [Meta.isDefEq] [0.010215] ❌️ (ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)).1 =?= (ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).1 [Meta.isDefEq.assign] [0.017826] ❌️ ?p := colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq.assign.checkTypes] [0.017754] ❌️ (?p : op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) := (colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) : fun {β} ↦ (Opens.map β.base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.017751] ❌️ op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= fun {β} ↦ (Opens.map β.base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) [Meta.isDefEq] [0.017746] ❌️ op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= (Opens.map ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) [Meta.isDefEq] [0.017009] ❌️ op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) [Meta.isDefEq] [0.017001] ❌️ op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.toPrefunctor.1 (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) [Meta.isDefEq] [0.016976] ❌️ op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) =?= op ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).obj (unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)))) [Meta.isDefEq] [0.016946] ❌️ (Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U) =?= (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).obj (unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.016936] ❌️ (Opens.map (colimit.ι (F ⋙ forget C) j)).toPrefunctor.1 ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U) =?= (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).toPrefunctor.1 (unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.016889] ❌️ { carrier := ⇑(ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)) ⁻¹' ↑((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U), is_open' := ⋯ } =?= { carrier := ⇑(ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base) ⁻¹' ↑(unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))), is_open' := ⋯ } [Meta.isDefEq] [0.016868] ❌️ ⇑(ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)) ⁻¹' ↑((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U) =?= ⇑(ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base) ⁻¹' ↑(unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq.delta] [0.013665] ❌️ ⇑(ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)) ⁻¹' ↑((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U) =?= ⇑(ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base) ⁻¹' ↑(unop (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.013661] ❌️ ⇑(ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)) =?= ⇑(ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base) [Meta.isDefEq] [0.013651] ❌️ ((fun X Y ↦ ContinuousMap.instFunLike) (↑(F.obj j)) (Limits.colimit (F ⋙ forget C))).1 (ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)) =?= ((fun X Y ↦ ContinuousMap.instFunLike) ↑(F.obj j) ↑{ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.pt).1 (ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base) [Meta.isDefEq] [0.013633] ❌️ (ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)).toFun =?= (ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).toFun [Meta.isDefEq] [0.013622] ❌️ (ConcreteCategory.hom (colimit.ι (F ⋙ forget C) j)).1 =?= (ConcreteCategory.hom (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).1 [Meta.isDefEq] [0.021315] ❌️ eqToHom ?p =?= eqToHom ⋯ [Meta.isDefEq] [0.021164] ❌️ ?p =?= colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.010396] ✅️ (toPrefunctor ?F).map (eqToHom ?p) =?= (F.obj j).presheaf.map (eqToHom ⋯) [Meta.isDefEq.delta] [0.010372] ✅️ (toPrefunctor ?F).map (eqToHom ?p) =?= (F.obj j).presheaf.map (eqToHom ⋯) [Meta.isDefEq] [0.010074] ✅️ eqToHom ?p =?= eqToHom ⋯ [Meta.isDefEq] [0.010047] ✅️ ?p =?= colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq.assign] [0.010045] ✅️ ?p := colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq.assign.checkTypes] [0.010004] ✅️ (?p : op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = op ((Opens.map (colimit.ι F j).base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)))) := (colimit.isoColimitCocone_ι_hom { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F } j ▸ Eq.refl ((Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) : (Opens.map ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) [Meta.isDefEq] [0.010000] ✅️ op ((Opens.map (colimit.ι (F ⋙ forget C) j)).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = op ((Opens.map (colimit.ι F j).base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom.base).obj ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U))) =?= (Opens.map ({ cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }.cocone.ι.app j).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) = (Opens.map (colimit.ι F j ≫ (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).hom).base).op.obj (op ((Opens.map (colimit.isoColimitCocone { cocone := colimitCocone F, isColimit := colimitCoconeIsColimit F }).inv.base).obj U)) info: Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.lean:319:8: [Elab.async] [0.056169] Lean.addDecl [Kernel] [0.056142] typechecking declarations [AlgebraicGeometry.PresheafedSpace.colimitPresheafObjIsoComponentwiseLimit_inv_ι_app] ```
t-algebraic-geometry 0/6 Mathlib/Geometry/RingedSpace/PresheafedSpace/HasColimits.lean 1 2 ['euprunin', 'github-actions'] nobody
16-48676
16 days ago
16-69590
16 days ago
16-69636
16 days
24719 madvorak
author:madvorak
feat(LinearAlgebra/Matrix/NonsingularInverse): inverting `Matrix` inverts its `LinearEquiv` --- Discussion: https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2324719.20cannot.20find.20home/with/517142655 t-algebra awaiting-author
label:t-algebra$
10/0 Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean 1 16 ['eric-wieser', 'github-actions', 'madvorak', 'ocfnash'] ocfnash
assignee:ocfnash
16-41132
16 days ago
16-41132
16 days ago
86-39206
86 days
26158 upobir
author:upobir
feat(NumberTheory/Divisors): add int divisors This PR continues the work from #25209. Original PR: https://github.com/leanprover-community/mathlib4/pull/25209 t-number-theory awaiting-author 101/4 Mathlib/NumberTheory/Divisors.lean 1 36 ['MichaelStollBayreuth', 'github-actions', 'upobir'] mariainesdff
assignee:mariainesdff
16-40099
16 days ago
16-40099
16 days ago
46-1067
46 days
27120 YaelDillies
author:YaelDillies
feat: the category of commutative bialgebras Define the bundled category `CommBialgCat R` of commutative bialgebras over a fixed commutative ring `R` along with the forgetful functor to `CommAlgCat`. From Toric Co-authored-by: Andrew Yang Co-authored-by: Michał Mrugała --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-algebra
label:t-algebra$
235/0 Mathlib.lean,Mathlib/Algebra/Category/CommBialgCat.lean 2 9 ['Whysoserioushah', 'YaelDillies', 'github-actions'] dagurtomas
assignee:dagurtomas
16-32011
16 days ago
37-66934
1 month ago
37-67004
37 days
27307 xyzw12345
author:xyzw12345
feat(RingTheory/GradedAlgebra): homogeneous relation This PR continues the work from #22279. Original PR: https://github.com/leanprover-community/mathlib4/pull/22279 t-ring-theory 455/0 Mathlib.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousRelation.lean 8 3 ['github-actions', 'xyzw12345'] nobody
16-27823
16 days ago
16-27823
16 days ago
31-39146
31 days
27944 grunweg
author:grunweg
feat: lint module names with a period This would have caught the mis-placed file in #27796. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter 16/0 Mathlib/Tactic/Linter/TextBased.lean,scripts/lint-style.lean 2 2 ['github-actions', 'grunweg'] nobody
16-26819
16 days ago
16-26889
16 days ago
16-26873
16 days
27245 rirarika
author:rirarika
MvPolynomial.Irreducible --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
88/0 Mathlib.lean,Mathlib/Algebra/MvPolynomial/Irreducible.lean 2 5 ['alreadydone', 'github-actions', 'mbkybky'] alreadydone
assignee:alreadydone
16-21660
16 days ago
33-62682
1 month ago
33-62725
33 days
19668 YaelDillies
author:YaelDillies
refactor: define `≤`/`<` on `WithBot`/`WithTop` by induction The motivation for this change is that it is really confusing to run `intro r s shouldnthaveintroedthat` on a goal of the form `∀ r s : ℝ≥0∞, r ≤ s` and get the nonsense-looking goal `r = ↑shouldnthaveintroedthat → ∃ b : α, s = ↑b ∧ shouldnthaveintroedthat ≤ b⟩` instead of an error, and similarly when destructing something of the form `∃ r s : ℝ≥0∞, r < s`. Furthermore, I suspect this improves performance. --- - [x] depends on: #20317 - [x] depends on: #20318 - [x] depends on: #21274 - [x] depends on: #22109 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 68/51 Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Oscillation.lean,Mathlib/Data/Finset/Lattice/Fold.lean,Mathlib/Data/Finset/Max.lean,Mathlib/LinearAlgebra/Eigenspace/Triangularizable.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Countable.lean,Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean,Mathlib/Order/Interval/Basic.lean,Mathlib/Order/Interval/Set/WithBotTop.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Order/WithBot.lean,Mathlib/Probability/Moments/Variance.lean,Mathlib/RingTheory/PowerBasis.lean,Mathlib/Topology/MetricSpace/Holder.lean,Mathlib/Topology/MetricSpace/HolderNorm.lean,MathlibTest/hint.lean 17 22 ['JovanGerb', 'YaelDillies', 'b-mehta', 'eric-wieser', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'urkud'] Vierkantor
assignee:Vierkantor
16-18570
16 days ago
95-63418
3 months ago
145-55968
145 days
27918 kim-em
author:kim-em
wip: refactor WithBot/WithTop as structures For now we are still relying on `WithBot` and `WithTop` being defeq, but there is no impossible obstacle to converting them *both* to the same structure. This PR begins this effort; the modified files are all compiling, but there are more files that still have problems. Help on this (either ask to push to my branch, PR to my branch, or just adopt the whole thing!) very much appreciated. 181/120 Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/CategoryTheory/Preadditive/Injective/Basic.lean,Mathlib/Data/Countable/Basic.lean,Mathlib/Data/ENat/Defs.lean,Mathlib/Data/Sum/Order.lean,Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/Hom/WithTopBot.lean,Mathlib/Order/Interval/Basic.lean,Mathlib/Order/Set.lean,Mathlib/Order/TypeTags.lean,Mathlib/Order/WithBot.lean 11 4 ['eric-wieser', 'github-actions', 'kim-em'] nobody
16-10416
16 days ago
16-84517
16 days ago
16-84500
16 days
22231 pechersky
author:pechersky
feat(Algebra/Valued): `AdicExpansion` initial defns --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-topology
label:t-algebra$
299/0 Mathlib.lean,Mathlib/Topology/Algebra/Valued/AdicExpansion.lean 2 2 ['Thmoas-Guan', 'github-actions'] jcommelin
assignee:jcommelin
16-1422
16 days ago
177-80557
5 months ago
177-80679
177 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 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 2 ['ADedecker', 'github-actions'] PatrickMassot
assignee:PatrickMassot
16-1420
16 days ago
62-46008
2 months ago
62-46066
62 days
26301 Ivan-Sergeyev
author:Ivan-Sergeyev
feat(LinearAlgebra/Matrix/Determinant/TotallyUnimodular): Empty matrices are totally unimodular. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
15/0 Mathlib/LinearAlgebra/Matrix/Determinant/TotallyUnimodular.lean 1 1 ['github-actions'] kim-em
assignee:kim-em
16-1419
16 days ago
58-42388
1 month ago
58-42431
58 days
27108 pechersky
author:pechersky
chore(RingTheory/AdicValuation): golf using WithZero.log with helper lemma of how `log` preserves order --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-number-theory
label:t-algebra$
15/16 Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean 2 2 ['YaelDillies', 'github-actions'] mariainesdff
assignee:mariainesdff
16-1416
16 days ago
37-37074
1 month ago
37-46865
37 days
27182 eric-wieser
author:eric-wieser
feat: add bundled versions of `Equiv.cast` These are essentially the non-categorical versions of `eqToHom`. These are helpful to state some functorial results about things like `DFinsupp.equivCongrLeft` (with the alternative being to use an evil triangle somewhere instead). [#Is there code for X? > LinearEquiv.cast / AddEquiv.cast etc @ 💬](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/LinearEquiv.2Ecast.20.2F.20AddEquiv.2Ecast.20etc/near/521390380) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
31/0 Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Group/Equiv/Defs.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Ring/Equiv.lean 4 3 ['github-actions', 'pechersky', 'plp127'] kim-em
assignee:kim-em
16-1415
16 days ago
36-9628
1 month ago
36-9670
36 days
27482 alreadydone
author:alreadydone
chore(RingTheory/SimpleModule): golf and generalize lifting_property --- Build succeeded but there's a strange post-build step error. https://github.com/leanprover-community/mathlib4/actions/runs/16527173966/job/46744293147?pr=27482 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
11/14 Mathlib/RingTheory/SimpleModule/Basic.lean,Mathlib/RingTheory/SimpleModule/InjectiveProjective.lean 2 2 ['github-actions', 'smorel394'] Vierkantor
assignee:Vierkantor
16-1410
16 days ago
26-31489
26 days ago
26-31474
26 days
27956 bryangingechen
author:bryangingechen
feat: automation for removing outdated deprecations This is just a skeleton; it's still missing the actual script that will remove deprecations. cf. [#mathlib reviewers > auto-removing oudated deprecations @ 💬](https://leanprover.zulipchat.com/#narrow/channel/345428-mathlib-reviewers/topic/auto-removing.20oudated.20deprecations/near/532535945) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI 110/0 .github/workflows/remove_deprecations.yml,scripts/remove_deprecations_CI.sh 2 1 ['github-actions'] nobody
16-583
16 days ago
16-586
16 days ago
0-0
0 seconds
26885 pechersky
author:pechersky
feat(Topology/ValuativeRel): ValuativeTopology 𝒪[K] and even when not a field, `ValuativeRel 𝒪[K]` This is an example of something achievable with the new declarations that wasn't possible with Valued Such that we can discuss the valuations on the subring without always using coercions But to achieve this, one needs some juggling of the value groups --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #26834 t-algebra t-topology t-number-theory
label:t-algebra$
73/0 Mathlib/RingTheory/Valuation/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean 2 5 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] alreadydone
assignee:alreadydone
15-83580
15 days ago
15-83599
15 days ago
43-22774
43 days
26483 metakunt
author:metakunt
feat (RingTheory/RootsOfUnity/PrimitiveRoots) : Add equiv_primitiveRoots_of_coprimePow Adds equivalence of r-th primitive roots by a coprime e. t-ring-theory new-contributor awaiting-author 79/0 Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean 1 13 ['Citronhat', 'Ruben-VandeVelde', 'github-actions', 'metakunt'] nobody
15-56973
15 days ago
15-56973
15 days ago
28-81831
28 days
26386 jjdishere
author:jjdishere
feat(RingTheory/Perfection): lemmas for `frobeniusEquiv.symm` This PR continues the work from #22330. Original PR: https://github.com/leanprover-community/mathlib4/pull/22330 t-ring-theory 321/5 Mathlib.lean,Mathlib/Algebra/Ring/Aut.lean,Mathlib/FieldTheory/Perfect.lean,Mathlib/RingTheory/Perfection.lean,Mathlib/RingTheory/Perfectoid/Untilt.lean,Mathlib/RingTheory/WittVector/Basic.lean,Mathlib/RingTheory/WittVector/Complete.lean,Mathlib/RingTheory/WittVector/TeichmullerSeries.lean 8 7 ['eric-wieser', 'github-actions', 'jjdishere'] nobody
15-56913
15 days ago
15-56913
15 days ago
56-80170
56 days
26368 Whysoserioushah
author:Whysoserioushah
feat(RingTheory/TwoSidedIdeal/SpanAsSum): span of set as finsum Co-authored-by: Jujian Zhang --- Reopened after everything moved to fork (#23320). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory awaiting-author 81/0 Mathlib.lean,Mathlib/RingTheory/TwoSidedIdeal/SpanAsSum.lean 2 5 ['github-actions', 'kckennylau'] YaelDillies
assignee:YaelDillies
15-56889
15 days ago
15-56889
15 days ago
37-40835
37 days
26277 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(RingTheory/Congruence/Hom): prove basic isomorphisms theorems for ring congruences This file contains elementary definitions involving congruence relations and morphisms for semirings, rings, and algebras. * `RingCon.ker`: the kernel of a monoid homomorphism as a congruence relation * `RingCon.lift`, `RingCon.liftₐ`: the homomorphism / the algebra morphism on the quotient given that the congruence is in the kernel * `RingCon.map`, `RingCon.mapₐ`: homomorphism / algebra morphism from a smaller to a larger quotient * `RingCon.quotientKerEquivRangeS`, `RingCon.quotientKerEquivRange`, `RingCon.quotientKerEquivRangeₐ` : the first isomorphism theorem for semirings (using `RingHom.rangeS`), rings (using `RingHom.range`) and algebras (using `AlgHom.range`). * `RingCon.comapQuotientEquivRangeS`, `RingCon.comapQuotientEquivRange`, `RingCon.comapQuotientEquivRangeₐ` : the second isomorphism theorem for semirings (using `RingHom.rangeS`), rings (using `RingHom.range`) and algebras (using `AlgHom.range`). * `RingCon.quotientQuotientEquivQuotient`, `RingCon.quotientQuotientEquivQuotientₐ` : the third isomorphism theorem for semirings (or rings) and algebras It is an adaptation of what existed for multiplicative congruences (docs#Con) and is only useful for semirings which are not rings. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 555/2 Mathlib.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/RingTheory/Congruence/Basic.lean,Mathlib/RingTheory/Congruence/Defs.lean,Mathlib/RingTheory/Congruence/Hom.lean 6 1 ['github-actions'] joneugster
assignee:joneugster
15-56882
15 days ago
15-56882
15 days ago
59-13104
59 days
26387 jjdishere
author:jjdishere
feat(RingTheory/WittVector): the Teichmuller series This PR continues the work from #22320. Original PR: https://github.com/leanprover-community/mathlib4/pull/22320 t-ring-theory awaiting-author 204/2 Mathlib.lean,Mathlib/Algebra/Ring/Aut.lean,Mathlib/FieldTheory/Perfect.lean,Mathlib/RingTheory/WittVector/Basic.lean,Mathlib/RingTheory/WittVector/Complete.lean,Mathlib/RingTheory/WittVector/TeichmullerSeries.lean 6 2 ['github-actions', 'jjdishere'] nobody
15-56846
15 days ago
15-56846
15 days ago
0-87
1 minute
26054 FMLJohn
author:FMLJohn
feat(RingTheory/GradedAlgebra/Homogeneous/Subsemiring): homogeneous subsemirings of a graded semiring --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) In this pull request, we have defined homogeneous subsemirings of `GradedRing 𝒜` where `𝒜 : ι → σ`, `SetLike σ A` and `AddSubmonoidClass σ A`. ## Main definitions For any `R : Subsemiring A`: * `Subsemiring.IsHomogeneous 𝒜 R`: The property that a subsemiring is closed under `GradedRing.proj`. * `HomogeneousSubsemiring 𝒜`: The structure extending subsemirings which satisfy `Subsemiring.IsHomogeneous`. t-ring-theory 120/0 Mathlib.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Subsemiring.lean 2 1 ['github-actions'] kim-em
assignee:kim-em
15-56760
15 days ago
15-56760
15 days ago
64-25480
64 days
25927 jjdishere
author:jjdishere
feat(RingTheory/AdicCompletion): more APIs for IsAdicComplete This PR continues the work from #21582. Original PR: https://github.com/leanprover-community/mathlib4/pull/21582 t-ring-theory awaiting-author 433/9 Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Defs.lean,Mathlib/RingTheory/Ideal/Quotient/PowTransition.lean 3 4 ['github-actions', 'jjdishere'] nobody
15-56740
15 days ago
15-56740
15 days ago
9-35950
9 days
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 t-ring-theory 76/8 Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/RingTheory/Polynomial/SmallDegreeVieta.lean 2 42 ['github-actions', 'kckennylau', 'mans0954', 'ocfnash'] ocfnash
assignee:ocfnash
15-56733
15 days ago
15-56733
15 days ago
65-70991
65 days
25616 erdOne
author:erdOne
feat(RingTheory/Invariant): residue field extension is finite --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory awaiting-author 51/0 Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/RingTheory/Invariant/Basic.lean 2 5 ['github-actions', 'tb65536'] nobody
15-56702
15 days ago
15-56702
15 days ago
10-17744
10 days
24730 YaelDillies
author:YaelDillies
feat(RingTheory): group-like elements Define group-like elements in a bialgebra, ie elements such that `η a = 1` and `Δ a = a ⊗ₜ a`. We prove that group-like elements of a coalgebra over a domain are linearly independent, group-like elements of a bialgebra form a monoid, group-like elements of a Hopf algebra form a group. From Toric Co-authored-by: Michał Mrugała --- - [x] depends on: #24747 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory toric 309/0 Mathlib.lean,Mathlib/RingTheory/Bialgebra/GroupLike.lean,Mathlib/RingTheory/Coalgebra/GroupLike.lean,Mathlib/RingTheory/HopfAlgebra/GroupLike.lean 4 42 ['Julian-Kuelshammer', 'Parcly-Taxel', 'Whysoserioushah', 'YaelDillies', 'erdOne', 'eric-wieser', 'github-actions', 'leanprover-bot', 'mathlib4-dependent-issues-bot', 'smorel394'] eric-wieser
assignee:eric-wieser
15-56654
15 days ago
15-56654
15 days ago
102-13712
102 days
22322 mariainesdff
author:mariainesdff
feat(RingTheory/DividedPowers/RatAlgebra): add definitions In this file we show that, for certain choices of a commutative (semi)ring `A` and an ideal `I` of `A`, the family of maps `ℕ → A → A` given by `fun n x ↦ x^n/n!` is a divided power structure on `I`. Co-authored-by: AntoineChambert-Loir --- - [x] depends on: #22237 - [x] depends on: #22239 - [x] depends on: #22240 - [x] depends on: #24439 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 324/2 Mathlib.lean,Mathlib/Data/Nat/Factorial/NatCast.lean,Mathlib/RingTheory/DividedPowers/RatAlgebra.lean 3 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] dagurtomas
assignee:dagurtomas
15-56559
15 days ago
15-56559
15 days ago
50-6261
50 days
22151 alreadydone
author:alreadydone
feat(RingTheory): a semiprimary ring is Noetherian/Artinian iff its Jacobson radical is fg A key fact used is `Module.FG.smul`: if `I` is a two-sided ideal of `R` that is f.g. as a left ideal and `N` is a f.g. `R`-module, then `I • M` is also a f.g. `R`-module. Many lemmas about coprimality of ideals are also generalized to the noncommutative, two-sided setting. --- - [x] depends on: #21904 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 217/157 Mathlib/Algebra/Algebra/Operations.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/RingTheory/Extension/Basic.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Finiteness/Ideal.lean,Mathlib/RingTheory/HopkinsLevitzki.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Operations.lean 9 8 ['alreadydone', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] eric-wieser
assignee:eric-wieser
15-56548
15 days ago
15-56548
15 days ago
168-57365
168 days
14733 jjaassoonn
author:jjaassoonn
feat(RingTheory/Flat/CategoryTheory): a module is flat iff tensoring preserves finite limits --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory awaiting-author 99/1 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/RightExact.lean,Mathlib/RingTheory/Flat/CategoryTheory.lean 4 2 ['github-actions', 'kim-em'] nobody
15-56487
15 days ago
15-56487
15 days ago
6-6256
6 days
14727 jjaassoonn
author:jjaassoonn
feat(RingTheory/Flat/CategoryTheory): a flat module has vanishing higher Tor groups [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory awaiting-author 37/1 Mathlib/RingTheory/Flat/CategoryTheory.lean 1 3 ['github-actions', 'kim-em'] nobody
15-56475
15 days ago
15-56475
15 days ago
3-28223
3 days
27309 kckennylau
author:kckennylau
feat(CategoryTheory): a presheaf on `CostructuredArrow F d` can be extended to a presheaf on `C` --- Depends on: * [ ] #27321 Zulip: [#Is there code for X? > over category via a functor](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/over.20category.20via.20a.20functor/with/529574191) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory WIP 218/0 Mathlib.lean,Mathlib/CategoryTheory/Comma/Presheaf/LeftExtension.lean 2 3 ['erdOne', 'github-actions', 'robin-carlier'] erdOne
assignee:erdOne
15-53189
15 days ago
15-53210
15 days ago
15-69033
15 days
27976 smmercuri
author:smmercuri
feat: `ramificationIdx` for `NumberField.InfinitePlace` This PR continues the work from #24884. Original PR: https://github.com/leanprover-community/mathlib4/pull/24884 t-number-theory WIP 22/0 Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean 1 1 ['github-actions'] nobody
15-52975
15 days ago
15-52987
15 days ago
0-57
57 seconds
26644 kckennylau
author:kckennylau
feat(SetTheory/ZFC): Define the language of sets and state the ZFC axioms --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 381/0 Mathlib.lean,Mathlib/SetTheory/ZFC/Axioms.lean,docs/references.bib 3 46 ['github-actions', 'kckennylau', 'leanprover-community-bot-assistant', 'staroperator', 'vihdzp'] nobody
15-52554
15 days ago
15-52574
15 days ago
36-81913
36 days
26078 kckennylau
author:kckennylau
feat(AlgebraicGeometry): add x, y, px, py for points on elliptic curves --- Split from #25218. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 44/0 Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean 1 11 ['MichaelStollBayreuth', 'Multramate', 'acmepjz', 'github-actions', 'kckennylau'] dagurtomas
assignee:dagurtomas
15-52003
15 days ago
63-47788
2 months ago
63-47832
63 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/) new-contributor t-measure-probability awaiting-author 16/0 Mathlib/MeasureTheory/Integral/Bochner/Set.lean 1 5 ['RemyDegenne', 'github-actions', 'sgouezel'] nobody
15-50017
15 days ago
69-44043
2 months ago
0-11893
3 hours
27417 PierreQuinton
author:PierreQuinton
feat: add `SigmaCompleteLattice` A $\sigma$-complete lattice is a lattice in which every countable subset `s` has a least upper bound and a greatest lower bound, denoted below by `sSup s` and `sInf s`. This PR adds the classes `SigmaCompleteLattice` as well as some theorems (mainly adapted from `CompleteLattice` and `ConditionallyCompleteLattice`). This is an adaptation of #26318 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order awaiting-author 394/0 Mathlib.lean,Mathlib/Order/SigmaCompleteLattice.lean 2 8 ['PierreQuinton', 'YaelDillies', 'github-actions', 'vihdzp'] YaelDillies
assignee:YaelDillies
15-31466
15 days ago
15-31466
15 days ago
12-33338
12 days
27292 gasparattila
author:gasparattila
feat: asymptotic cone of a set This PR defines the asymptotic cone of a set in a normed affine space and proves its main properties. This is partial progress towards showing that an unbounded finite-dimensional convex set contains a ray. --- - [x] depends on: #27221 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge new-contributor t-analysis 453/0 Mathlib.lean,Mathlib/Analysis/Normed/Affine/AsymptoticCone.lean,Mathlib/Order/Filter/Map.lean 3 44 ['AntoineChambert-Loir', 'YaelDillies', 'gasparattila', 'github-actions', 'mathlib4-dependent-issues-bot'] YaelDillies
assignee:YaelDillies
15-27990
15 days ago
15-31275
15 days ago
29-48815
29 days
27995 kckennylau
author:kckennylau
feat(RingTheory/Valuation): alternate constructors for Valuation --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 69/0 Mathlib/FieldTheory/RatFunc/Degree.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/RingTheory/Valuation/Basic.lean 3 18 ['YaelDillies', 'github-actions', 'kckennylau', 'pechersky'] nobody
15-17148
15 days ago
15-23312
15 days ago
15-23295
15 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/) 172/0 Counterexamples.lean,Counterexamples/DiscreteTopologyWithNontrivialValuation.lean 2 n/a ['github-actions', 'kckennylau', 'pechersky'] nobody
15-16159
15 days ago
unknown
unknown
27392 Paul-Lez
author:Paul-Lez
feat(Tactic/SimpUtils): add simproc finding commands This PR adds some commands to allow users to find simprocs/dsimprocs/simp theorems that match on a given pattern. Thanks to Robin Arnez for telling me about `simprocDeclExt` :) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 690/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/SimpUtils.lean,MathlibTest/SimpUtils.lean 4 8 ['Paul-Lez', 'eric-wieser', 'github-actions'] nobody
15-15379
15 days ago
15-15474
15 days ago
17-16144
17 days
22043 YaelDillies
author:YaelDillies
chore: shortcut instance for `Neg ℤˣ` This lets us avoid importing `Ring` in downstream files (most of the effect is to come). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed t-algebra
label:t-algebra$
20/47 Mathlib.lean,Mathlib/Algebra/GCDMonoid/Nat.lean,Mathlib/Algebra/Group/Int/Units.lean,Mathlib/Algebra/Order/Ring/Abs.lean,Mathlib/Algebra/Ring/Int/Units.lean,Mathlib/Algebra/Ring/NegOnePow.lean,Mathlib/Data/Fintype/Units.lean,Mathlib/Data/Int/AbsoluteValue.lean,Mathlib/Data/Int/Associated.lean,Mathlib/GroupTheory/HNNExtension.lean,Mathlib/NumberTheory/NumberField/Basic.lean,MathlibTest/Zify.lean 12 16 ['YaelDillies', 'eric-wieser', 'github-actions', 'j-loreaux', 'leanprover-community-bot-assistant', 'mathlib-bors'] erdOne
assignee:erdOne
15-1429
15 days ago
98-43270
3 months ago
183-16303
183 days
25814 vlad902
author:vlad902
feat(SimpleGraph): Weaker condition for paths in acyclic graphs `IsAcyclic.isPath_iff_chain'` defines a weaker condition for proving that a walk is a path, in particular it shows that rather than proving that all vertices in the support of a walk are distinct, one must only show that consecutive edges are distinct (e.g. every other vertex must be distinct.) This leads to a simple corollary that trails are also paths in acyclic graphs. I had a need for this when formalizing Cayley graphs, since this condition maps cleanly onto words in free groups being reduced. --- *This PR continues the work from #25630.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/25630* t-combinatorics 43/0 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean 2 2 ['github-actions', 'vlad902'] kmill
assignee:kmill
15-1426
15 days ago
69-40026
2 months ago
69-40009
69 days
26190 tb65536
author:tb65536
feat(FieldTheory/Galois/IsGaloisGroup): Subgroups of a Galois group are Galois groups This PR gives an instance `IsGaloisGroup H (FixedPoints.intermediateField H : IntermediateField K L) L` from `IsGaloisGroup G K L`, and a numerical corollary. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
11/0 Mathlib/FieldTheory/Galois/IsGaloisGroup.lean 1 1 ['github-actions'] kim-em
assignee:kim-em
15-1424
15 days ago
58-32849
1 month ago
62-2449
62 days
26580 vasnesterov
author:vasnesterov
feat(Tactic/Order): translate linear orders to `Int` It was [pointed out](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/tactic.20for.20partial.20orders/near/515897754) that `order` is not complete for linear orders with lattice operations (while it remains complete for linear orders without lattice operations and for general lattices without assuming linearity). The problem for linear orders with lattice operations is NP-hard, but it can be translated from an arbitrary type to `Int` and then solved using a smart and efficient procedure (such as `omega`). This PR implements such a translation within the `order` tactic. Co-authored-by: Aaron Liu --- - [x] depends on: #26354 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-meta 302/22 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Order.lean,Mathlib/Tactic/Order/Graph/Basic.lean,Mathlib/Tactic/Order/Preprocessing.lean,Mathlib/Tactic/Order/ToInt.lean,MathlibTest/order.lean 7 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'vasnesterov'] alexjbest
assignee:alexjbest
15-1423
15 days ago
38-56112
1 month ago
38-57812
38 days
26670 yu-yama
author:yu-yama
feat(GroupExtension/Abelian): define `conjClassesEquivH1` This PR continues the work from #21837. Original PR: https://github.com/leanprover-community/mathlib4/pull/21837 t-algebra
label:t-algebra$
162/5 Mathlib.lean,Mathlib/GroupTheory/GroupExtension/Abelian.lean,Mathlib/GroupTheory/GroupExtension/Basic.lean,Mathlib/GroupTheory/GroupExtension/Defs.lean,docs/references.bib 5 2 ['erdOne', 'github-actions', 'yu-yama'] erdOne
assignee:erdOne
15-1421
15 days ago
48-35764
1 month ago
48-35816
48 days
26766 MichaelStollBayreuth
author:MichaelStollBayreuth
feat(Topology/MetricSpace/Bounded): add some results We add two pairs of results: ```lean lemma isBounded_of_abs_le (C : α) : Bornology.IsBounded {x : α | |x| ≤ C} := ... lemma isBounded_of_abs_lt (C : α) : Bornology.IsBounded {x : α | |x| < C} := ... ``` (under suitable assumptions on `α`) and a version of the *Extreme Value Theorem* that I found convenient: ```lean theorem exists_forall_le_of_isBounded {f : β → α} (hf : Continuous f) (x₀ : β) (h : Bornology.IsBounded {x : β | f x ≤ f x₀}) : ∃ x, ∀ y, f x ≤ f y := ... theorem exists_forall_ge_of_isBounded {f : β → α} (hf : Continuous f) (x₀ : β) (h : Bornology.IsBounded {x : β | f x₀ ≤ f x}) : ∃ x, ∀ y, f y ≤ f x := ... ``` (under suitable assumptions on `α` and `β`). For an application, see [GelfandMazur.lean](https://github.com/MichaelStollBayreuth/Heights/blob/master/Heights/GelfandMazur.lean) in [Heights](https://github.com/MichaelStollBayreuth/Heights/tree/master). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 56/0 Mathlib/Topology/MetricSpace/Bounded.lean 1 1 ['github-actions'] grunweg
assignee:grunweg
15-1420
15 days ago
47-21489
1 month ago
47-21472
47 days
27527 peabrainiac
author:peabrainiac
feat(Topology): some `IsOpenMap` lemmas Some lemmas for `IsOpenMap` that I needed. I've also added variants for `IsClosedMap` to maintain symmetry in the API. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 46/0 Mathlib/Topology/Constructions.lean 1 2 ['github-actions', 'peabrainiac'] fpvandoorn
assignee:fpvandoorn
15-1417
15 days ago
25-4517
25 days ago
25-4540
25 days
27602 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): define `completeBipartiteSubgraph` Define the complete bipartite subgraphs of `s` and `t` parts as a "left" subset of `s` vertices and a "right" subset of `t` vertices such that every vertex in the "left" subset is adjacent to every vertex in the "right" subset. In this case `Nonempty (G.completeBipartiteSubgraph (card α) (card β))` is equivalent to `completeBipartiteGraph α β ⊑ G`, that is, finding a "left" subset of `s` vertices and a "right" subset of `t` vertices such that every vertex in the "left" subset is adjacent to every vertex in the "right" subset is equivalent to finding an injective homomorphism `completeBipartiteGraph α β` to `G`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 88/0 Mathlib/Combinatorics/SimpleGraph/Bipartite.lean 1 1 ['github-actions'] awainverse
assignee:awainverse
15-1416
15 days ago
23-27427
23 days ago
23-27478
23 days
26679 robin-carlier
author:robin-carlier
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical): 2-functoriality of `CatCommSqOver` This PR uses the notion of categorical cospan transforms from #26412 and its bicategory-like notations from #26447 to provide API for 2-functoriality of the construction `CatCommSqOver F G X`. We show that `ψ : CatCospanTransform F G F' G'` defines a functor `CatCommSqOver F G X ⥤ CatCommSqOver F' G' X`, and that a functor `U : X ⥤ Y` induces a functor `CatCommSqOver F G Y ⥤ CatCommSqOver F G X` via precomposition. We give the battery of lemma that shows that these constructions are components of a `Cat`-valued "bipseudofunctor", although we cannot state it this way to keep things unbundled and universe polymorphic. --- - [x] depends on: #26447 I apologize in advance, for this one is very boring. As usual, the higher order lemmas are found by aesop_cat and are not marked simp, but I still want to state these explicitly so that in case automation goes wrong, "manual formal bicategory manipulations" remain an option. A design choice was made here. Instead of stating this kind of functoriality for the categorical pullback itself, I chose to state everything in terms of `CatCommSqOver`, i.e in terms of the pseudofunctorial construction corepresented by the categorical pullback. The rationale here is that while we could have done everything only at the level of the categorical pullback itself, I believe this design will allow for easier manipulations of categorical pullback *squares*. Actual bifunctoriality of the categorical pullback (and thus equivalence invariance, which is the key point of the notion compared to the strict pullback) will be in future PRs. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 364/1 Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean 1 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'robin-carlier'] dagurtomas
assignee:dagurtomas
14-63547
14 days ago
26-37858
26 days ago
35-71500
35 days
28025 kim-em
author:kim-em
feat: grind annotations in Logic/Equiv/Defs t-logic 153/80 Mathlib/Logic/Equiv/Array.lean,Mathlib/Logic/Equiv/Defs.lean,Mathlib/Logic/Equiv/Embedding.lean,Mathlib/Logic/Equiv/Finset.lean,Mathlib/Logic/Equiv/Fintype.lean,Mathlib/Logic/Equiv/Option.lean,Mathlib/Logic/Equiv/Prod.lean 7 6 ['github-actions', 'kim-em', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] nobody
14-57883
14 days ago
14-69656
14 days ago
14-75021
14 days
28032 grunweg
author:grunweg
feat: support Partial{Homeomorph,Equiv} in differential geometry elaborators --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry 852/0 Mathlib.lean,Mathlib/Geometry/Manifold/Elaborators.lean,Mathlib/Geometry/Manifold/Traces.lean,MathlibTest/DifferentialGeometry/Elaborators.lean,scripts/noshake.json 5 1 ['github-actions'] nobody
14-55449
14 days ago
14-55449
14 days ago
14-55517
14 days
28026 kim-em
author:kim-em
feat: grind annotations for `Disjoint` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 89/46 Archive/Imo/Imo2001Q3.lean,Mathlib/Data/Set/Disjoint.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/Order/BoundedOrder/Lattice.lean,Mathlib/Order/Disjoint.lean,Mathlib/Order/Lattice.lean 6 4 ['github-actions', 'grunweg', 'leanprover-bot'] nobody
14-52763
14 days ago
14-71482
14 days ago
0-0
0 seconds
27107 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(GroupTheory/GroupAction/SubMulAction/Combination) : combinations and group actions `Nat.Combination X n` is the type all `s : Finset X` such that `s.card = n`. This PR provides some API for this subtype and the `SubMulAction` it inherits when a group acts on `X`. It will be used in conjunction with the description of some maximal subgroups of `Equiv.Perm X` to construct primitive actions. Question on the names: when `X` is a fintype, there is `Finset.powersetCard` that gives the same object, as a `Finset`. But the present PR also applies when `X` is infinite. Then maybe `Nat.Combination` should be renamed as `Set.powersetCard`? --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory 338/0 Mathlib.lean,Mathlib/Data/Finset/SetLike.lean,Mathlib/Data/Fintype/EquivFin.lean,Mathlib/Data/Nat/Choose/Basic.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/Combination.lean 5 39 ['AntoineChambert-Loir', 'alreadydone', 'github-actions', 'tb65536'] alreadydone
assignee:alreadydone
14-52253
14 days ago
15-56274
15 days ago
37-86022
37 days
23669 erdOne
author:erdOne
feat(FieldTheory): abelian extensions --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra delegated
label:t-algebra$
74/0 Mathlib.lean,Mathlib/FieldTheory/Galois/Abelian.lean,Mathlib/NumberTheory/Cyclotomic/Gal.lean 3 16 ['acmepjz', 'alreadydone', 'chrisflav', 'erdOne', 'github-actions', 'mathlib-bors', 'riccardobrasca', 'xroblot'] riccardobrasca
assignee:riccardobrasca
14-44468
14 days ago
43-48708
1 month ago
29-68817
29 days
27872 JovanGerb
author:JovanGerb
chore(gcongr): clean up imports This PR removes redundant `gcongr` imports. And when we do import `gcongr`, we now also import the core `@[gcongr]` tags, and also `grw`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import delegated 7/23 Archive/Imo/Imo2019Q4.lean,Mathlib/Algebra/ContinuedFractions/Computation/ApproximationCorollaries.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/MvPolynomial/SchwartzZippel.lean,Mathlib/Algebra/Order/BigOperators/Expect.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Order/Chebyshev.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/Analysis/Convex/Star.lean,Mathlib/Combinatorics/Additive/PluenneckeRuzsa.lean,Mathlib/Combinatorics/Enumerative/Catalan.lean,Mathlib/Combinatorics/SetFamily/FourFunctions.lean,Mathlib/Combinatorics/SimpleGraph/Density.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Basic.lean,Mathlib/Data/Nat/Basic.lean,Mathlib/NumberTheory/FLT/Polynomial.lean,Mathlib/NumberTheory/FermatPsp.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Filter/AtTopBot/Archimedean.lean,Mathlib/Tactic/GCongr/CoreAttrs.lean,Mathlib/Topology/EMetricSpace/Paracompact.lean 21 10 ['JovanGerb', 'bryangingechen', 'github-actions', 'grunweg', 'mathlib-bors'] nobody
14-13495
14 days ago
14-13495
14 days ago
4-34325
4 days
25788 Parcly-Taxel
author:Parcly-Taxel
feat: number of edges in the Turán graph We provide two theorems, the first `card_edgeFinset_turanGraph` providing the exact number of edges and the other `card_edgeFinset_turanGraph_le` providing a (slightly) looser bound whose main advantage is its lack of integer division/modulus operations. The bound in `card_edgeFinset_turanGraph_le` is also the bound provided in [Motzkin and Straus (1965)](https://doi.org/10.4153%2FCJM-1965-053-6). large-import t-combinatorics 132/0 Mathlib/Combinatorics/SimpleGraph/Turan.lean,Mathlib/Data/Nat/ModEq.lean 2 3 ['YaelDillies', 'github-actions', 'leanprover-community-bot-assistant'] awainverse
assignee:awainverse
14-1429
14 days ago
24-185
24 days ago
69-48867
69 days
26225 Raph-DG
author:Raph-DG
feat(AlgebraicGeometry): Add some minimal API for orders on schemes In this PR we add some minimal api for the ordering on schemes defined in #26204. We chose split these PRs because we expect there will be more discussion about this API, and having the preorder instance is useful in its own right without much added API. - [] depends on: #26204 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 14/0 Mathlib/AlgebraicGeometry/Properties.lean,Mathlib/AlgebraicGeometry/Scheme.lean 2 4 ['Raph-DG', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant'] erdOne
assignee:erdOne
14-1429
14 days ago
23-65103
23 days ago
59-44750
59 days
26770 Jun2M
author:Jun2M
feat(Combinatorics/Graph) : subgraph relations and operations on `Graph` This PR creates a new file `Combinatorics/Graph/Subgraph.lean`. In it, the PR introduces a partial order on graphs by subgraph relation, defines relations `IsInducedSubgraph`, `IsSpanningSubgraph` and `IsClosedSubgraph`. Further, it introduce operations `EdgeRestrict`, `EdgeDelete`, `induce` and `VertexDelete`. Co-authored-by: Peter Nelson --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 703/0 Mathlib.lean,Mathlib/Combinatorics/Graph/Subgraph.lean 2 1 ['github-actions'] awainverse
assignee:awainverse
14-1428
14 days ago
47-12906
1 month ago
47-12950
47 days
26798 robin-carlier
author:robin-carlier
feat(CategoryTheory/Monoidal/DayConvolution): `LawfulDayConvolutionMonoidalCategoryStruct` Given monoidal categories `C`, `V` and a category `D` with a pre-existing `MonoidalCategoryStruct`, we introduce a typeclass `LawfulDayConvolutionMonoidalCategoryStruct C V D` that bundles the required data and equations that the structure on `D` must have to be a monoidal subcategory of `C ⥤ V` if the latter was endowed with the day convolution monoidal structure. The data in question is that of a faithful functor `ι : D ⥤ C ⥤ V`, as well as explicit natural transformations `ι.obj d ⊠ (ι.obj d') ⟶ tensor C ⋙ ι.obj (d ⊗ d')` that exhibit `ι.obj (d ⊗ d')` as a Day convolution of `ι.obj d` and `(ι.obj d')`, as well as similar data asserting that `ι.obj (𝟙_ D)` is a Day convolution unit. The equations required are identical to the ones that characterize the unitors and associators for Day convolution with respect to the Kan extensions units. Given such a structure, using that the corresponding relations hold in `C ⥤ V`, we show that the monoidal category structure on `D` defines a `MonoidalCategory D`, i.e that all the required equations such as the pentagon/triangular equalities, bifunctoriality of the tensor product etc. are satisfied. Thus, we can think of `LawfulDayConvolutionMonoidalCategoryStruct C V D` as a constructor for monoidal categories. While this is a step towards a Day convolution monoidal structure in (a type alias) `C ⥤ V`, the framework is yet incomplete, as it assumes a pre-existing monoidal category structure. We will give constructors for (`MonoidalCategoryStruct` and) `LawfulDayConvolutionMonoidalCategoryStruct C V D` with various degree of definitional control over the resulting structure in a forthcoming PR. --- - [x] depends on: #25757 I recommend the reviewer to at least have a glance at #26820 to see where this is going, and how this one fits in the design I have in mind. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 336/8 Mathlib/CategoryTheory/Monoidal/DayConvolution.lean 1 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] adamtopaz
assignee:adamtopaz
14-1427
14 days ago
24-34853
24 days ago
38-10931
38 days
27635 Ruben-VandeVelde
author:Ruben-VandeVelde
chore: deprecate SubsemiringClass.coe_pow --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 2/7 Mathlib/Algebra/Ring/Subsemiring/Defs.lean,Mathlib/Analysis/Normed/Ring/Basic.lean 2 3 ['Ruben-VandeVelde', 'github-actions', 'grunweg'] awainverse
assignee:awainverse
14-1420
14 days ago
22-43041
22 days ago
22-46040
22 days
27658 euprunin
author:euprunin
chore(Geometry/RingedSpace): remove use of `erw` in `app_inv_app'` t-algebraic-geometry 3/1 Mathlib/Geometry/RingedSpace/OpenImmersion.lean 1 1 ['github-actions'] erdOne
assignee:erdOne
14-1420
14 days ago
22-9701
22 days ago
22-9747
22 days
27284 FernandoChu
author:FernandoChu
Chore(CategoryTheory/MorphismProperty/MonoFactorization): Factor out mono factorizations Factored out `MonoFactorisations` from the `Images` file; also rename it to `MonoFactori*z*ations` so it's inline with the rest of Mathlib. I'm also sneaking in some very basic extremal epis results if you don't mind, these were meant to be used to prove ```lean instance (priority := 100) hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers [HasPullbacks C] [HasEqualizers C] : HasStrongEpiImages C ``` Which I noticed too late already had a proof; I think the proof has been improved anyways, it's just `infer_instance` now. new-contributor t-category-theory awaiting-author 493/326 Mathlib.lean,Mathlib/Algebra/Category/Grp/Images.lean,Mathlib/Algebra/Category/ModuleCat/Images.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/CategoryTheory/Category/Factorisation.lean,Mathlib/CategoryTheory/ConcreteCategory/EpiMono.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Images.lean,Mathlib/CategoryTheory/Limits/Shapes/ExtremalEpi.lean,Mathlib/CategoryTheory/Limits/Shapes/Images.lean,Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean,Mathlib/CategoryTheory/Limits/Shapes/StrongEpi.lean,Mathlib/CategoryTheory/Limits/Shapes/ZeroMorphisms.lean,Mathlib/CategoryTheory/Limits/Types/Images.lean,Mathlib/CategoryTheory/MorphismProperty/MonoFactorization.lean,Mathlib/CategoryTheory/Sites/Subsheaf.lean,Mathlib/Order/Category/NonemptyFinLinOrd.lean,scripts/nolints_prime_decls.txt 18 44 ['FernandoChu', 'Ruben-VandeVelde', 'bryangingechen', 'github-actions', 'joelriou', 'mathlib4-merge-conflict-bot', 'robin-carlier'] nobody
13-75963
13 days ago
13-75985
13 days ago
16-75072
16 days
28074 grunweg
author:grunweg
Isbilinearmap TODO see if it builds, move everything to the right place, add docs. update Pr description - written by Patrick, part of #26221 (and prereq for #28056) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) WIP 64/0 Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/LinearAlgebra/BilinearMap.lean 2 1 ['github-actions'] nobody
13-58814
13 days ago
13-61206
13 days ago
0-2
2 seconds
27018 Komyyy
author:Komyyy
feat: Finite product of Alexandrov-discrete spaces is Alexandrov-discrete --- - [x] depends on: #27016 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology delegated 93/9 Mathlib/Data/Set/Lattice.lean,Mathlib/Data/Set/Lattice/Image.lean,Mathlib/Order/Filter/Ker.lean,Mathlib/Topology/AlexandrovDiscrete.lean,Mathlib/Topology/NhdsKer.lean 5 8 ['github-actions', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'ocfnash'] ocfnash
assignee:ocfnash
13-57856
13 days ago
13-57856
13 days ago
10-20441
10 days
27229 WilliamCoram
author:WilliamCoram
feat(GroupTheory/DoubleCoset): multiple lemmas From FLT --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory new-contributor 106/0 Mathlib/GroupTheory/DoubleCoset.lean 1 2 ['github-actions', 'mathlib4-merge-conflict-bot'] mariainesdff
assignee:mariainesdff
13-45299
13 days ago
13-46032
13 days ago
30-7597
30 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/) t-data new-contributor 28/0 Mathlib/Data/Rat/Lemmas.lean 1 14 ['github-actions', 'sinianluoye', 'themathqueen'] nobody
13-28014
13 days ago
15-1017
15 days ago
15-29071
15 days
25969 101damnations
author:101damnations
feat(RepresentationTheory/Homological/GroupHomology/Functoriality): the degree 1 part of the corestriction-coinflation exact sequence Given a `G`-representation `A` and a normal subgroup `S` of `G`, this PR defines the corestriction-coinflation short complex `H₁(S, A) ⟶ H₁(G, A) ⟶ H₁(G ⧸ S, A_S)` induced by the natural inclusion `S → G` and projections `G → G / S, A → A_S`. We prove it's exact, and that the righthand map is an epimorphism. --- - [x] depends on: #21652 - [x] depends on: #21732 - [x] depends on: #21733 - [x] depends on: #21735 - [x] depends on: #21736 - [x] depends on: #21738 - [x] depends on: #25868 - [x] depends on: #25873 - [x] depends on: #25880 - [x] depends on: #25884 - [x] depends on: #25888 - [x] depends on: #25939 - [x] depends on: #25952 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *Earlier version at #22656.* t-algebra
label:t-algebra$
227/4 Mathlib/Algebra/Homology/ShortComplex/ModuleCat.lean,Mathlib/RepresentationTheory/Coinvariants.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/Basic.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/Functoriality.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LowDegree.lean 5 n/a ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
13-21998
13 days ago
unknown
unknown
27641 FormulaRabbit81
author:FormulaRabbit81
feat: Proof of relative compactness implies tightness of a set of measures (Easy direction of Prokhorov's theorem). PR proving the easy direction of Prokhorov's theorem. I am not sure about the naming conventions and any comments are appreciated. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-measure-probability WIP 248/1 Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/MeasureTheory/Measure/ProbabilityMeasure.lean,Mathlib/MeasureTheory/Measure/Tight.lean 4 5 ['FormulaRabbit81', 'FrankieNC', 'github-actions', 'themathqueen'] nobody
13-8345
13 days ago
13-8345
13 days ago
0-0
0 seconds
27437 kckennylau
author:kckennylau
feat(RingTheory/Valuation): some lemmas about comparing with 1 and 0 and with each other *From the 2025 Local Class Field Theory Workshop.* --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory WIP 109/22 Mathlib/NumberTheory/Padics/ValuativeRel.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/Extension.lean,Mathlib/RingTheory/Valuation/ValuativeRel.lean 4 19 ['erdOne', 'github-actions', 'kckennylau', 'matthewjasper', 'pechersky'] nobody
13-1649
13 days ago
13-1649
13 days ago
14-30610
14 days
23940 YaelDillies
author:YaelDillies
feat: polytopes From Toric Co-authored-by: Matthew Johnson --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-analysis 65/0 Mathlib.lean,Mathlib/Geometry/Convex/Polytope.lean,Mathlib/Geometry/Convex/README.md 3 9 ['Parcly-Taxel', 'YaelDillies', 'eric-wieser', 'github-actions', 'jsm28', 'leanprover-community-bot-assistant'] hrmacbeth
assignee:hrmacbeth
13-1430
13 days ago
70-21324
2 months ago
131-7045
131 days
26765 KiringYJ
author:KiringYJ
feat(MeasureTheory/PiSystem): add π-λ theorem and SetLike instance Add two small features to `MeasureTheory/PiSystem`: 1. SetLike instance `instance : SetLike (DynkinSystem α) (Set α)` This lets us write `s ⊆ d` and `t ∈ d` for a DynkinSystem `d`, matching usual mathlib style. 2. `DynkinSystem.pi_lambda` lemma Classical π‑λ theorem: if a π‑system `s` is contained in a Dynkin system `d`, every set measurable for `σ(s)` is also in `d`. Currently, mathlib exposes this result only indirectly (e.g. via `generateFrom_eq`). Although logically equivalent, it is not obvious at first glance that those lemmas are the π‑λ theorem. The new lemma states the result in its familiar textbook form, so users can recognise and cite it immediately. Both pieces are under 10 lines, term‑mode only, and do not modify existing APIs. No breaking changes. No dependencies. new-contributor t-measure-probability 13/0 Mathlib/MeasureTheory/PiSystem.lean 1 13 ['EtienneC30', 'KiringYJ', 'github-actions', 'ocfnash'] RemyDegenne
assignee:RemyDegenne
13-1427
13 days ago
20-37476
20 days ago
47-25320
47 days
27118 Timeroot
author:Timeroot
feat(Matrix/Charpoly/Eigs): Roots of Matrix.charpoly are the eigenvalues. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra
label:t-algebra$
58/0 Mathlib/LinearAlgebra/Matrix/Charpoly/Eigs.lean,scripts/noshake.json 2 1 ['github-actions'] adomani
assignee:adomani
13-1424
13 days ago
37-69375
1 month ago
37-69418
37 days
27400 dleijnse
author:dleijnse
feat: define geometrically reduced algebras Define geometrically reduced algebras, and prove that if all finitely generated subalgebras of an algebra `A` are geometrically reduced, then `A` is geometrically reduced. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
111/0 Mathlib.lean,Mathlib/RingTheory/Nilpotent/GeometricallyReduced.lean 2 23 ['dleijnse', 'github-actions', 'kckennylau'] joelriou
assignee:joelriou
13-1422
13 days ago
28-20092
28 days ago
28-20137
28 days
27639 staroperator
author:staroperator
feat(Algebra/Order/Sub): `Sub` instance for linearly canonically ordered monoid There is a `Sub` instance for linearly canonically ordered monoid using choice that satisfies `OrderedSub`. --- Thanks @eric-wieser for the suggestion in #27341! [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
28/0 Mathlib/Algebra/Order/Sub/Basic.lean 1 1 ['github-actions'] eric-wieser
assignee:eric-wieser
13-1420
13 days ago
22-38576
22 days ago
22-38623
22 days
26777 YaelDillies
author:YaelDillies
chore(Data/Set/Image): move `BooleanAlgebra` material to `Order` Eventually, all order properties should move out, but this is a good fourth step that will, among others, unblock #23177. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-data WIP 144/146 Mathlib/Algebra/Notation/Support.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Set/Prod.lean,Mathlib/Data/Set/Restrict.lean,Mathlib/Data/Set/SymmDiff.lean,Mathlib/Logic/Equiv/Embedding.lean,Mathlib/Order/BooleanAlgebra/Set.lean,Mathlib/Order/CompleteBooleanAlgebra.lean 8 7 ['Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot'] bryangingechen
assignee:bryangingechen
12-68222
12 days ago
12-69646
12 days ago
2-29376
2 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/) t-order 121/8 Mathlib.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/LawfulSupInf.lean 3 25 ['PierreQuinton', 'YaelDillies', 'github-actions', 'plp127', 'vihdzp'] YaelDillies
assignee:YaelDillies
12-51604
12 days ago
24-34901
24 days ago
24-34936
24 days
28070 grunweg
author:grunweg
style: improve indentation of multi-linear enumerations in doc-strings Per zulip discussion: [#mathlib4 > Style :bicycle: : indenting second lines in doc-strings @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Style.20.3Abicycle.3A.20.3A.20indenting.20second.20lines.20in.20doc-strings/near/533105734). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 111/109 Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/BrauerGroup/Defs.lean,Mathlib/Algebra/Module/LinearMap/Polynomial.lean,Mathlib/CategoryTheory/Abelian/NonPreadditive.lean,Mathlib/CategoryTheory/EqToHom.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/Pi.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/CategoryTheory/Sites/Grothendieck.lean,Mathlib/CategoryTheory/Sites/Pretopology.lean,Mathlib/Condensed/Discrete/Characterization.lean,Mathlib/FieldTheory/ChevalleyWarning.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,docs/Conv/Guide.lean 16 1 ['github-actions'] nobody
12-45048
12 days ago
13-64112
13 days ago
13-64095
13 days
28111 euprunin
author:euprunin
chore: remove tactic `simp_lex` and use `simp` instead Motivation: `simp_lex` is just shorthand for `refine toLex.surjective.forall₃.2 ?_; rintro (a | a) (b | b) (c | c) <;> simp`, so plain `simp` seems preferable. t-data 4/10 Mathlib/Data/Sum/Interval.lean 1 5 ['eric-wieser', 'euprunin', 'github-actions'] nobody
12-39087
12 days ago
12-39170
12 days ago
12-46801
12 days
26881 emo916math
author:emo916math
feat(Analysis/Calculus/Deriv/Star) A formula for `deriv (conj ∘ f ∘ conj)` Added a lemma that `deriv (conj ∘ f ∘ conj) = conj ∘ deriv f ∘ conj`, proved by cases on whether the derivative mathematically exists or not. This PR replaces [#26805](https://github.com/leanprover-community/mathlib4/pull/26805); see discussion there. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis awaiting-author 50/2 Mathlib/Analysis/Calculus/Deriv/Star.lean 1 15 ['emo916math', 'github-actions', 'j-loreaux', 'kckennylau'] j-loreaux
assignee:j-loreaux
12-35071
12 days ago
12-35071
12 days ago
31-70593
31 days
27498 Komyyy
author:Komyyy
feat: Group isomorphisms between (`Equiv.Perm`|`alternatingGroup`)s Required to prove that A_n is simple iff n = 3 or 5 ≤ n(#26051). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
29/0 Mathlib/Algebra/Group/End.lean,Mathlib/GroupTheory/SpecificGroups/Alternating.lean 2 2 ['github-actions', 'tb65536'] erdOne
assignee:erdOne
12-29946
12 days ago
26-3065
26 days ago
26-3050
26 days
28075 tristan-f-r
author:tristan-f-r
chore(Finsupp/Indicator): make non-classical This was surprising to see on a data-carrying definition. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data easy awaiting-author 11/9 Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Data/Finsupp/Indicator.lean 2 3 ['github-actions', 'ocfnash', 'tristan-f-r'] nobody
12-15063
12 days ago
12-58882
12 days ago
0-85904
23 hours
23238 YaelDillies
author:YaelDillies
feat: extended floor and ceil My motivation for this is to prove `ENat.toENNReal (⨆ i, f i) = ⨆ i, ENat.toENNReal (f i)` and `ENat.toENNReal (⨅ i, f i) = ⨅ i, ENat.toENNReal (f i)`. Kalle Kytölä independently needs this for his formalisation of statistical physics. From MiscYD --- - [x] depends on: #24781 - [x] depends on: #24782 See #15269 for a past attempt. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
235/0 Mathlib.lean,Mathlib/Algebra/Order/Floor/Extended.lean 2 24 ['YaelDillies', 'b-mehta', 'eric-wieser', 'github-actions', 'kkytola', 'mathlib4-dependent-issues-bot', 'urkud'] alreadydone
assignee:alreadydone
12-1447
12 days ago
101-26440
3 months ago
148-78658
148 days
24095 lecopivo
author:lecopivo
feat: `fun_prop` for Is(Bounded)LinearMap + notation `fun x ↦L[R] f x` Sets up `fun_prop` for `IsLinearMap` and `IsBoundedLinearMap` also adds notation `fun x ↦ₗ[R] f x` and `fun x ↦L[R] f x` to write bundled versions like lambda function instead of the currently used pointfree notation. large-import t-algebra
label:t-algebra$
352/22 Mathlib.lean,Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/Module/LinearMap/Pi.lean,Mathlib/Algebra/Module/LinearMap/Prod.lean,Mathlib/Analysis/Normed/Operator/BoundedLinearMaps.lean,scripts/noshake.json 8 22 ['eric-wieser', 'github-actions', 'lecopivo'] dagurtomas
assignee:dagurtomas
12-1447
12 days ago
83-26176
2 months ago
83-44558
83 days
25779 robin-carlier
author:robin-carlier
feat(CategoryTheory/Bicategory/NaturalTransformations): strong and lax natural transformations of lax functors Given two lax functors `F G` between bicategories, we define lax natural transformations as families of 1-morphisms `∀ a : B, F.obj a ⟶ G.obj a` equipped with a naturality 2-cell `∀ {a b : B} (f : a ⟶ b), app a ≫ G.map f ⟶ F.map f ≫ app b` that are required to satisfy conditions such as naturality, and compatibility with the `mapId` and `mapComp` fields of the source and target functors. This notion dualizes the existing notion of oplax natural transformations between, and tries to narrow the current gap between lax and oplax functors in the library, where the latter has much more formalized API. For maintainability, The code tries to stay as aligned as possible with the code in `CategoryTheory.Bicategory.Naturaltransformations.Oplax`. --- I followed the book by Johnson and Yau for the definition. I made @yuma-mizuno and @callesonne authors of the files, as they are the authors of the original code for Oplax functors, which I basically copy-pasted and modified to make it work with lax functors. They should feel free to modify this if they want. Next thing on the list is to tackle modifications between lax/strong natural transforms of lax transforms, as well as the category instance on lax functors. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #25565.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/25565* t-category-theory 286/0 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Lax.lean,scripts/noshake.json 3 3 ['github-actions', 'yuma-mizuno'] joelriou
assignee:joelriou
12-1446
12 days ago
46-63063
1 month ago
68-21431
68 days
26899 robin-carlier
author:robin-carlier
feat(CategoryTheory/Functor/KanExtension): transitivity of left Kan extensions In this PR, we show that left Kan extensions are "transitive" in the following sense : if `α : F₀ ⟶ L ⋙ F₁` exhibits `F₁` as a left Kan extension of `F₀` along `L : C ⥤ D`, then given a functor `L' : D ⥤ D'` an an extension `(β : F₁ ⟶ L' ⋙ F₂)`, the "pasted extension" formed by `α` and `β` exhibits `F₂` as a left Kan extension of `F₀` along `L ⋙ L'` if and only if `β` exhibits `F₂` as a left Kan extension of `F₁` along `L'`. This refines the current theorems in mathlib that only treat the case where we pre or post-compose by an equivalence. The actual statement we prove is "fully weak" and lets us pick a functor isomorphic to `L ⋙ L'` and an extension isomorphic to the pasted one if needed. --- I will PR the dual version of everything for right Kan extensions as soon as we settle on the final form of this one. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 144/0 Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean 1 9 ['github-actions', 'joelriou', 'robin-carlier'] adamtopaz
assignee:adamtopaz
12-1444
12 days ago
21-59128
21 days ago
39-2821
39 days
27468 IvanRenison
author:IvanRenison
feat(Combinatorics/SimpleGraph): add theorem `SimpleGraph.Connected.diff_dist_adj` This contribution was created as part of the Utrecht Summerschool "Formalizing Mathematics in Lean" in July 2025. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 16/0 Mathlib/Combinatorics/SimpleGraph/Metric.lean 1 1 ['github-actions'] awainverse
assignee:awainverse
12-1441
12 days ago
26-45498
26 days ago
26-45597
26 days
27664 pechersky
author:pechersky
feat(Topology,Analysis): discrete topology metric space and normed groups Explicit construction of the discrete topology metric space and normed groups where `dist x y = 1` for all `x != y` Provide PseudoMetricSpace, MetricSpace, Seminormed(Add)Group, and Normed(Add)Group constructions --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 137/0 Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Topology/MetricSpace/Basic.lean,Mathlib/Topology/MetricSpace/Pseudo/Constructions.lean 3 3 ['github-actions', 'kckennylau', 'pechersky'] urkud
assignee:urkud
12-1438
12 days ago
21-77850
21 days ago
21-77844
21 days
25770 Parcly-Taxel
author:Parcly-Taxel
chore: fix more induction/recursor branch names These were found using the regex `\| h. =>` and `def.*rec.*\(h. :`. tech debt 75/68 Mathlib/Analysis/Convolution.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/Data/Fin/Tuple/Basic.lean,Mathlib/Data/Fin/Tuple/NatAntidiagonal.lean,Mathlib/Data/Seq/Computation.lean,Mathlib/Data/Set/Card.lean,Mathlib/Data/WSeq/Basic.lean,Mathlib/Logic/Function/Iterate.lean,Mathlib/NumberTheory/ArithmeticFunction.lean,Mathlib/Order/SuccPred/Archimedean.lean,Mathlib/Order/Synonym.lean 11 16 ['Parcly-Taxel', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] Vierkantor
assignee:Vierkantor
11-74432
11 days ago
12-33316
12 days ago
67-60944
67 days
28140 YaelDillies
author:YaelDillies
feat: a `PointedCone`-valued version of `Submodule.span` This is merely to guide typing. From Toric --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry toric 10/1 Mathlib/Geometry/Convex/Cone/Pointed.lean 1 1 ['github-actions'] nobody
11-65185
11 days ago
11-65185
11 days ago
11-65333
11 days
28095 Equilibris
author:Equilibris
Univ generic corec Draft PR: Adding variable universe corecursor for PFunctor --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor 321/70 Mathlib/Data/PFunctor/Multivariate/Basic.lean,Mathlib/Data/PFunctor/Multivariate/M.lean,Mathlib/Data/TypeVec.lean 3 6 ['Equilibris', 'alexkeizer', 'github-actions'] nobody
11-57755
11 days ago
13-21880
13 days ago
0-0
0 seconds
26667 mariainesdff
author:mariainesdff
feat(FieldTheory/SplittingField/IsSplittingField): add IsScalarTower.splits, IsScalarTower.isAlgebraic Co-authored-by: @faenuccio --- - [ ] depends on: #26666 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-author
label:t-algebra$
13/0 Mathlib/FieldTheory/SplittingField/IsSplittingField.lean 1 7 ['github-actions', 'mariainesdff', 'mathlib4-dependent-issues-bot', 'tb65536'] chrisflav
assignee:chrisflav
11-34592
11 days ago
11-34592
11 days ago
25-6784
25 days
27525 Hagb
author:Hagb
(WIP) feat(Tactic/Linter/Indentation): add a linter for general indentation --- todo: - [x] check whether some (direct or indirect) children of some kinds of parents are intended _strictly_ deeper than this parent. For example: ```lean example : Nat := Nat.add 1 -- should be strictly deeper than `Nat.add`? 2 ``` - [ ] check whether some (direct or indirect) children of some kinds of parents are intended exactly N spaces deeper than this parent. For example: ```lean example : True := trivial -- should be exact 2 spaces deeper than 0 space of `example` ``` - [ ] some special cases, such as `calc`. https://github.com/leanprover-community/mathlib4/blob/5ebccb65951c70539ba1c36e53e079ac28b3fd23/Mathlib/Geometry/Manifold/Riemannian/Basic.lean#L452-L454 - [ ] add test cases [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-linter WIP 1364/1 Mathlib/Init.lean,Mathlib/Tactic/Linter/Indentation.lean,Mathlib/Tactic/Linter/Indentation/Basic.lean,Mathlib/Tactic/Linter/Indentation/Defs.lean,Mathlib/Tactic/Linter/Indentation/Linters.lean,MathlibTest/IndentationLinter.lean,lakefile.lean 7 13 ['Hagb', 'github-actions', 'grunweg'] nobody
11-17765
11 days ago
16-18022
16 days ago
0-0
0 seconds
27265 pechersky
author:pechersky
feat(Topology/Valued): discrete topology on a valued field when trivial valuation or when there is a nonzero term in the valuation codomain that is smaller than all nonzero valuations --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 33/0 Mathlib/Topology/Algebra/Valued/ValuationTopology.lean 1 1 ['github-actions'] dagurtomas
assignee:dagurtomas
11-1413
11 days ago
33-14065
1 month ago
33-14108
33 days
27882 euprunin
author:euprunin
chore: golf using `grind [Nat.cast_*]` --- I'll post profiling results for these changes as soon as we've agreed on the correct procedure: specifically, which profiling commands to use and what to report (see https://github.com/leanprover-community/mathlib4/pull/27856#issuecomment-3146781779 for the current experimental profiling script output). 9/26 Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Proper.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean,Mathlib/GroupTheory/CommutingProbability.lean,Mathlib/NumberTheory/Bernoulli.lean,Mathlib/RingTheory/ZMod/UnitsCyclic.lean 6 4 ['github-actions', 'kim-em', 'leanprover-bot'] urkud
assignee:urkud
11-1406
11 days ago
18-24955
18 days ago
18-24938
18 days
28168 astrainfinita
author:astrainfinita
feat: hensel's lemma for topological rings --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra t-topology WIP
label:t-algebra$
616/0 Mathlib/RingTheory/Polynomial/Hensel.lean 1 1 ['github-actions'] nobody
11-498
11 days ago
11-508
11 days ago
0-0
0 seconds
23758 erdOne
author:erdOne
feat(Topology/Algebra): linearly topologized iff non-archimedean ...for topological modules over compact rings or `ℤ`-finite rings --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra t-topology awaiting-author
label:t-algebra$
138/3 Mathlib/LinearAlgebra/Span/Basic.lean,Mathlib/Topology/Algebra/LinearTopology.lean 2 21 ['ADedecker', 'AntoineChambert-Loir', 'erdOne', 'github-actions', 'grunweg'] ADedecker and AntoineChambert-Loir
assignee:AntoineChambert-Loir assignee:ADedecker
10-74696
10 days ago
10-74696
10 days ago
124-78308
124 days
28115 bwangpj
author:bwangpj
feat(AlgebraicGeometry/EllipticCurve): reduction of elliptic curves Define the reduction of elliptic curves over the fraction field of a DVR, following Silverman. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebraic-geometry 230/1 Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean,Mathlib/RingTheory/Valuation/Discrete/Basic.lean 3 14 ['Multramate', 'bwangpj', 'github-actions', 'kbuzzard'] nobody
10-74384
10 days ago
12-65030
12 days ago
12-65075
12 days
28164 bryangingechen
author:bryangingechen
fix(Cache): add put* commands to leanTarArgs Without this, running `lake exe cache put` fails if `leantar` is not already installed. --- What label should this get? `CI` and `t-meta` don't seem right. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) easy 2/2 Cache/Main.lean 1 1 ['github-actions'] nobody
10-51124
10 days ago
11-14150
11 days ago
11-14134
11 days
26059 wwylele
author:wwylele
feat(GroupTheory/Divisible): Add rational SMul and Module This is part of https://github.com/leanprover-community/mathlib4/pull/25140. A torsion-free ℕ-divisible commutative group is a ℚ-module. ---- This PR continues the work from #25190. Original PR: https://github.com/leanprover-community/mathlib4/pull/25190 t-group-theory WIP 132/0 Mathlib/GroupTheory/Divisible.lean 1 7 ['eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'wwylele'] nobody
10-41420
10 days ago
10-41420
10 days ago
0-0
0 seconds
27567 themathqueen
author:themathqueen
feat(LinearAlgebra/TensorProduct/Tower): add `lid` and `assoc` tensor lemmas This adds `TensorProduct.lid_tensor` and `TensorProduct.assoc_tensor`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra easy
label:t-algebra$
33/0 Mathlib/LinearAlgebra/TensorProduct/Tower.lean 1 3 ['github-actions', 'themathqueen'] mariainesdff
assignee:mariainesdff
10-23015
10 days ago
10-23015
10 days ago
24-15852
24 days
28195 gasparattila
author:gasparattila
feat: separating a convex compact set and its neighborhood with a polytope --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis 26/1 Mathlib/Analysis/Normed/Affine/Convex.lean 1 2 ['FrankieNC', 'github-actions'] nobody
10-13299
10 days ago
10-17356
10 days ago
10-17410
10 days
25774 Parcly-Taxel
author:Parcly-Taxel
chore: deprime `induction` in `AlgebraicTopology/CategoryTheory` Most replacements that are also in #23676 have been copied over, but some have been optimised further. tech debt 130/121 Mathlib/AlgebraicTopology/DoldKan/Decomposition.lean,Mathlib/AlgebraicTopology/DoldKan/Degeneracies.lean,Mathlib/AlgebraicTopology/DoldKan/NCompGamma.lean,Mathlib/AlgebraicTopology/DoldKan/Projections.lean,Mathlib/AlgebraicTopology/SimplexCategory/MorphismProperty.lean,Mathlib/AlgebraicTopology/SimplicialObject/Split.lean,Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveAdjunction.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/EnoughInjectives.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Subobject.lean,Mathlib/CategoryTheory/Action/Concrete.lean,Mathlib/CategoryTheory/Action/Monoidal.lean,Mathlib/CategoryTheory/ComposableArrows.lean,Mathlib/CategoryTheory/Extensive.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/CategoryTheory/Galois/Decomposition.lean,Mathlib/CategoryTheory/Galois/EssSurj.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Limits/Shapes/SequentialProduct.lean,Mathlib/CategoryTheory/Limits/VanKampen.lean,Mathlib/CategoryTheory/Quotient.lean,Mathlib/CategoryTheory/Sites/Sheaf.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Subobject/FactorThru.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/CategoryTheory/Triangulated/TStructure/Basic.lean 27 6 ['Parcly-Taxel', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'madvorak'] grunweg
assignee:grunweg
10-1421
10 days ago
22-34783
22 days ago
67-27275
67 days
27455 pechersky
author:pechersky
chore(NumberTheory/Padics/Hensel): rephrase using `aeval` This is easier to use at call site, because on need not pass `Polynomial.map (algebraMap _ _ )` in the use of `hensels_lemma` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-algebra t-number-theory
label:t-algebra$
158/139 Mathlib/NumberTheory/Padics/Hensel.lean 1 2 ['github-actions', 'mathlib4-merge-conflict-bot'] jcommelin
assignee:jcommelin
10-1416
10 days ago
17-13445
17 days ago
26-42458
26 days
28215 5hv5hvnk
author:5hv5hvnk
Draft PR, for 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/) new-contributor t-combinatorics 1216/0 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 5 1 ['github-actions'] nobody
9-74665
9 days ago
9-74671
9 days ago
9-74723
9 days
28119 JasperMS
author:JasperMS
feat(Data/Set/Pairwise): prove pairwise results for Chains, move `Set.pairwise_iUnion₂` Initiate a new file `Data/Set/Pairwise/Chain.lean` which makes some `Pairwise` results available to the `IsChain` predicate. In the process, move `Set.pairwise_iUnion₂` to group it with similar results. Perform some variable harmonization. Part of Carleson, original result by Edward van de Meent. Moves: - Set.pairwise_iUnion₂: from Data.Set.Lattice to Data.Set.Pairwise.Lattice --- This PR was discussed and advice was given in [#mathlib4 > Novice questions on style and structure](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Novice.20questions.20on.20style.20and.20structure/with/533462814). Many thanks to those who helped me out! Mathlib PRs are still new to me, so please point out where I can improve! [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) carleson t-data new-contributor 56/12 Mathlib.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/Data/Set/Pairwise/Chain.lean,Mathlib/Data/Set/Pairwise/Lattice.lean 4 11 ['JasperMS', 'Ruben-VandeVelde', 'edegeltje', 'github-actions'] nobody
9-72336
9 days ago
12-40632
12 days ago
12-41075
12 days
27712 kim-em
author:kim-em
chore: remove old irrelevant attributes in Logic/Basic This PR removes some attributes from Logic/Basic that appear to have no effect on Mathlib. t-logic 0/2 Mathlib/Logic/Basic.lean 1 6 ['Parcly-Taxel', 'github-actions', 'kim-em', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] fpvandoorn
assignee:fpvandoorn
9-65907
9 days ago
20-79105
20 days ago
20-84004
20 days
26901 5hv5hvnk
author:5hv5hvnk
feat: a simproc version of `compute_degree` Wrap `compute_degree` in a simproc for use by simp. Closes #22219. --- new-contributor awaiting-CI t-meta awaiting-author 198/0 Mathlib.lean,Mathlib/Tactic/Simproc/PolynomialDegree.lean,MathlibTest/polynomial_degree_simproc.lean 3 18 ['5hv5hvnk', 'YaelDillies', 'adomani', 'github-actions'] nobody
9-50391
9 days ago
9-50391
9 days ago
2-71043
2 days
27850 fyqing
author:fyqing
feat: 0-dimensional manifolds are discrete and countable This is the converse direction of the classification of 0-dimensional manifolds. The other direction was shown in #22105. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-differential-geometry awaiting-author 80/0 Mathlib.lean,Mathlib/Geometry/Manifold/ZeroDim.lean 2 13 ['fyqing', 'github-actions', 'grunweg', 'tb65536'] grunweg
assignee:grunweg
9-47999
9 days ago
19-8815
19 days ago
0-6418
1 hour
26981 JovanGerb
author:JovanGerb
chore: golf using `grw` This PR cleans up some proofs using `grw`. It also tags a few lemmas with `@[gcongr]` that were required for the proofs. --- - [x] depends on: #26907 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import 179/200 Archive/Wiedijk100Theorems/CubingACube.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Basic.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Lie/Engel.lean,Mathlib/Algebra/Lie/IdealOperations.lean,Mathlib/Algebra/Module/Submodule/IterateMapComap.lean,Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Group/Multiset.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/Algebra/Order/Rearrangement.lean,Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean,Mathlib/Analysis/BoxIntegral/Integrability.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Convex/Slope.lean,Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/Normed/Affine/AddTorsor.lean,Mathlib/Analysis/Normed/Order/UpperLower.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/NNNorm.lean,Mathlib/Analysis/Oscillation.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean,Mathlib/Combinatorics/Hall/Finite.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Real/Cardinality.lean,Mathlib/Dynamics/Ergodic/MeasurePreserving.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Basic.lean,Mathlib/LinearAlgebra/AffineSpace/Ordered.lean,Mathlib/MeasureTheory/Covering/LiminfLimsup.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Integral/Bochner/Set.lean,Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean,Mathlib/MeasureTheory/Integral/DominatedConvergence.lean,Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean,Mathlib/MeasureTheory/Measure/Content.lean,Mathlib/MeasureTheory/Measure/EverywherePos.lean,Mathlib/MeasureTheory/Measure/IntegralCharFun.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Measure/Stieltjes.lean,Mathlib/MeasureTheory/OuterMeasure/Caratheodory.lean,Mathlib/MeasureTheory/OuterMeasure/Induced.lean,Mathlib/MeasureTheory/OuterMeasure/OfFunction.lean,Mathlib/NumberTheory/ClassNumber/AdmissibleCardPowDegree.lean,Mathlib/NumberTheory/FLT/Polynomial.lean,Mathlib/NumberTheory/ModularForms/JacobiTheta/TwoVariable.lean,Mathlib/NumberTheory/Transcendental/Lindemann/AnalyticalPart.lean,Mathlib/Order/Basic.lean,Mathlib/Order/BooleanAlgebra/Basic.lean,Mathlib/Order/Closure.lean,Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/Height.lean,Mathlib/Order/Interval/Set/Monotone.lean,Mathlib/Order/Monotone/Extension.lean,Mathlib/Order/PrimeSeparator.lean,Mathlib/Probability/Martingale/Upcrossing.lean,Mathlib/Probability/Process/HittingTime.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/MvPowerSeries/PiTopology.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Ordinal.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/Enum.lean,Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean,Mathlib/Topology/Maps/Basic.lean,Mathlib/Topology/MetricSpace/Holder.lean,Mathlib/Topology/MetricSpace/Kuratowski.lean,Mathlib/Topology/MetricSpace/Thickening.lean,Mathlib/Topology/NhdsSet.lean,Mathlib/Topology/Order.lean 73 20 ['JovanGerb', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] grunweg
assignee:grunweg
9-47031
9 days ago
9-47049
9 days ago
20-8421
20 days
28077 ShreckYe
author:ShreckYe
feat(Data/Finset/Card): add some more Pigeonhole Principle theorems `exists_ne_map_eq_of_card_image_lt` and `not_injOn_of_card_image_lt` `exists_ne_map_eq_of_card_image_lt` is a special case of `exists_ne_map_eq_of_card_lt_of_maps_to` where `t` is `s.image f`, and `not_injOn_of_card_image_lt` is its variant using `Set.InjOn`. I ran into some cases where such theorems would save me some time. t-data new-contributor 10/0 Mathlib/Data/Finset/Card.lean 1 4 ['ShreckYe', 'github-actions', 'themathqueen'] nobody
9-42125
9 days ago
13-53907
13 days ago
13-53955
13 days
28045 ShreckYe
author:ShreckYe
feat(Data/Finset/Image): add `subset_univ_image_iff` This is a special case of `subset_image_iff`, which corresponds to `Set.subset_range_iff_exists_image_eq` for `Set`. t-data new-contributor 13/0 Mathlib/Data/Finset/Image.lean 1 2 ['github-actions', 'themathqueen'] nobody
9-42020
9 days ago
14-38812
14 days ago
14-38874
14 days
27444 grunweg
author:grunweg
feat: generalise more lemmas to enorms The selection of lemmas may seem eclectic, but follows a clear path: I'm working on generalising the last section of `IntegrableOn.lean` to enorms. (This will be continued in a later PR.) --- Commits can be reviewed independently. - [x] depends on: #27419 (first commits) - [x] depends on: #27456 (last commits) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) carleson WIP 10/0 Mathlib/MeasureTheory/Function/L1Space/HasFiniteIntegral.lean 1 3 ['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot'] nobody
9-33559
9 days ago
9-33595
9 days ago
0-1886
31 minutes
26351 RemyDegenne
author:RemyDegenne
feat: covering and packing numbers of sets in a metric space We define covering numbers of sets in a pseudo-metric space, which are minimal cardinalities of `ε`-covers of sets. We also define the packing number, which is the maximal cardinality of an `ε`-separated set. From the Brownian motion project. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology awaiting-author 261/0 Mathlib.lean,Mathlib/Topology/MetricSpace/CoveringNumbers.lean 2 9 ['ADedecker', 'RemyDegenne', 'YaelDillies', 'github-actions', 'j-loreaux'] j-loreaux
assignee:j-loreaux
9-31871
9 days ago
12-18677
12 days ago
45-38108
45 days
27090 TerenceGitH
author:TerenceGitH
feat(Archive): Kuratowski's closure-complement theorem (incl. sharpness) This is the outcome of a course project at Heidelberg University: https://matematiflo.github.io/CompAssistedMath2025/ feat(Topology): Kuratowski's closure-complement theorem "Topology/Kuratowski.lean" proves Kuratowski's closure-complement theorem, which says that if one repeatedly applies the closure and complement operators to a set in a topological space, at most 14 distinct sets can be obtained. feat(Archive/Examples): sharpness of Kuratowski's closure-complement theorem: "Examples/Kuratowski.lean" gives an example of a so-called "14-set" in ℝ, from which exactly 14 distinct sets can be obtained. Co-authored-by: Luis Sand @luiis-sd Co-authored-by: Leon Müller @leondieprobifi Co-authored-by: Junyan Xu @alreadydone --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology awaiting-author 368/0 Archive.lean,Archive/Examples/Kuratowski.lean,Archive/Kuratowski.lean 3 28 ['alreadydone', 'github-actions', 'grunweg', 'j-loreaux', 'wwylele'] j-loreaux
assignee:j-loreaux
9-20437
9 days ago
9-32080
9 days ago
27-74197
27 days
28139 YaelDillies
author:YaelDillies
refactor: make the cone explicit in `ConvexCone.toPointedCone` Otherwise it is impossible to know which cone we are talking about from the infoview as proofs are elided. From Toric --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry toric maintainer-merge 3/3 Mathlib/Analysis/Convex/Cone/Closure.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean 2 2 ['Ruben-VandeVelde', 'github-actions'] nobody
9-17613
9 days ago
9-17613
9 days ago
11-65907
11 days
28266 euprunin
author:euprunin
chore(RingTheory): golf entire `single_one_eq_pow` using `simp` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory awaiting-author 1/4 Mathlib/RingTheory/LaurentSeries.lean 1 4 ['eric-wieser', 'github-actions', 'grunweg'] nobody
9-8297
9 days ago
9-15375
9 days ago
9-19659
9 days
27896 JovanGerb
author:JovanGerb
style: prefer `some`/`none` over `.some`/`.none` The notation `.some` and `.none` are very useful when working with other inductive types such as `LOption` which have fields names `some` and/or `none`. But for `Option`, we prefer to simply write `some`/`none`. [#mathlib4 > style: `.some`/`.none` vs `some`/`none`](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/style.3A.20.60.2Esome.60.2F.60.2Enone.60.20vs.20.60some.60.2F.60none.60) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 240/241 Cache/IO.lean,Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean,LongestPole/Main.lean,Mathlib/Algebra/Order/BigOperators/Expect.lean,Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean,Mathlib/Data/DFinsupp/Notation.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/Data/Fin/Tuple/Reflection.lean,Mathlib/Data/Fin/VecNotation.lean,Mathlib/Data/Finsupp/Option.lean,Mathlib/Data/Option/Basic.lean,Mathlib/Data/Seq/Seq.lean,Mathlib/Lean/Meta.lean,Mathlib/Lean/Meta/Simp.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/Tactic/Algebraize.lean,Mathlib/Tactic/CategoryTheory/Bicategory/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Coherence/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Coherence/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/DefEqTransformations.lean,Mathlib/Tactic/ENatToNat.lean,Mathlib/Tactic/FastInstance.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/Decl.lean,Mathlib/Tactic/FunProp/Elab.lean,Mathlib/Tactic/FunProp/FunctionData.lean,Mathlib/Tactic/FunProp/Mor.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/FunProp/Types.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/Datatypes.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/Gauss.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/SimplexAlgorithm.lean,Mathlib/Tactic/Linter/GlobalAttributeIn.lean,Mathlib/Tactic/NormNum/Irrational.lean,Mathlib/Tactic/Order/Graph/Basic.lean,Mathlib/Tactic/PNatToNat.lean,Mathlib/Tactic/Positivity/Finset.lean,Mathlib/Tactic/ProxyType.lean,Mathlib/Tactic/ReduceModChar.lean,Mathlib/Tactic/RewriteSearch.lean,Mathlib/Tactic/Simproc/ExistsAndEq.lean,Mathlib/Tactic/Simps/Basic.lean,Mathlib/Tactic/SuccessIfFailWithMsg.lean,Mathlib/Tactic/Widget/StringDiagram.lean,Mathlib/Util/Superscript.lean,MathlibTest/toAdditive.lean 49 5 ['JovanGerb', 'alreadydone', 'eric-wieser', 'github-actions'] kmill
assignee:kmill
9-6408
9 days ago
17-54159
17 days ago
17-54142
17 days
28260 euprunin
author:euprunin
chore(Analysis/Fourier): golf entire `fourier_zero` and `fourier_zero'` using `simp` ---
Show trace profiling of fourier_zero ### Trace profiling of `fourier_zero` before PR 28260 ```diff diff --git a/Mathlib/Analysis/Fourier/AddCircle.lean b/Mathlib/Analysis/Fourier/AddCircle.lean index 6238f58476..99dbb05621 100644 --- a/Mathlib/Analysis/Fourier/AddCircle.lean +++ b/Mathlib/Analysis/Fourier/AddCircle.lean @@ -126,2 +126,3 @@ theorem fourier_coe_apply' {n : ℤ} {x : ℝ} : -- simp normal form is `fourier_zero'` +set_option trace.profiler true in theorem fourier_zero {x : AddCircle T} : fourier 0 x = 1 := by ``` ``` ℹ [2482/2482] Built Mathlib.Analysis.Fourier.AddCircle info: Mathlib/Analysis/Fourier/AddCircle.lean:128:0: [Elab.async] [0.066690] elaborating proof of fourier_zero [Elab.definition.value] [0.066228] fourier_zero [Elab.step] [0.065930] induction x using QuotientAddGroup.induction_on simp only [fourier_coe_apply] norm_num [Elab.step] [0.065922] induction x using QuotientAddGroup.induction_on simp only [fourier_coe_apply] norm_num [Elab.step] [0.055636] simp only [fourier_coe_apply] Build completed successfully. ``` ### Trace profiling of `fourier_zero` after PR 28260 ```diff diff --git a/Mathlib/Analysis/Fourier/AddCircle.lean b/Mathlib/Analysis/Fourier/AddCircle.lean index 6238f58476..0542519008 100644 --- a/Mathlib/Analysis/Fourier/AddCircle.lean +++ b/Mathlib/Analysis/Fourier/AddCircle.lean @@ -126,10 +126,8 @@ theorem fourier_coe_apply' {n : ℤ} {x : ℝ} : -- simp normal form is `fourier_zero'` +set_option trace.profiler true in theorem fourier_zero {x : AddCircle T} : fourier 0 x = 1 := by - induction x using QuotientAddGroup.induction_on - simp only [fourier_coe_apply] - norm_num + simp -theorem fourier_zero' {x : AddCircle T} : @toCircle T 0 = (1 : ℂ) := by - have : fourier 0 x = @toCircle T 0 := by rw [fourier_apply, zero_smul] - rw [← this]; exact fourier_zero +theorem fourier_zero' : @toCircle T 0 = (1 : ℂ) := by + simp ``` ``` ℹ [2482/2482] Built Mathlib.Analysis.Fourier.AddCircle info: Mathlib/Analysis/Fourier/AddCircle.lean:128:0: [Elab.async] [0.041217] elaborating proof of fourier_zero [Elab.definition.value] [0.040843] fourier_zero [Elab.step] [0.040316] simp [Elab.step] [0.040305] simp [Elab.step] [0.040291] simp [Meta.isDefEq] [0.013042] ✅️ 0 • ?m =?= 0 • x [Meta.isDefEq] [0.010734] ✅️ instHSMul =?= instHSMul [Meta.isDefEq.delta] [0.010705] ✅️ instHSMul =?= instHSMul [Meta.synthInstance] [0.010613] ✅️ SMulWithZero ℤ (AddCircle T) [Meta.synthInstance] [0.010175] ✅️ apply @AddGroup.intSMulWithZero to SMulWithZero ℤ (AddCircle T) [Meta.synthInstance.tryResolve] [0.010141] ✅️ SMulWithZero ℤ (AddCircle T) ≟ SMulWithZero ℤ (AddCircle T) [Meta.isDefEq] [0.010882] ❌️ ↑1 =?= ↑1 Build completed successfully. ```
---
Show trace profiling of fourier_zero' ### Trace profiling of `fourier_zero'` before PR 28260 ```diff diff --git a/Mathlib/Analysis/Fourier/AddCircle.lean b/Mathlib/Analysis/Fourier/AddCircle.lean index 6238f58476..c97c6382dd 100644 --- a/Mathlib/Analysis/Fourier/AddCircle.lean +++ b/Mathlib/Analysis/Fourier/AddCircle.lean @@ -131,2 +131,3 @@ theorem fourier_zero {x : AddCircle T} : fourier 0 x = 1 := by +set_option trace.profiler true in theorem fourier_zero' {x : AddCircle T} : @toCircle T 0 = (1 : ℂ) := by ``` ``` ℹ [2482/2482] Built Mathlib.Analysis.Fourier.AddCircle info: Mathlib/Analysis/Fourier/AddCircle.lean:133:0: [Elab.command] [0.040228] theorem fourier_zero' {x : AddCircle T} : @toCircle T 0 = (1 : ℂ) := by have : fourier 0 x = @toCircle T 0 := by rw [fourier_apply, zero_smul] rw [← this]; exact fourier_zero [Elab.definition.header] [0.039678] fourier_zero' [Elab.step] [0.039292] expected type: Sort ?u.10460, term @toCircle T 0 = (1 : ℂ) [Elab.step] [0.039281] expected type: Sort ?u.10460, term binrel% Eq✝ (@toCircle T 0) (1 : ℂ) [Meta.synthInstance] [0.023079] ❌️ CoeT ℂ x Circle info: Mathlib/Analysis/Fourier/AddCircle.lean:133:0: [Elab.async] [0.050645] elaborating proof of fourier_zero' [Elab.definition.value] [0.049639] fourier_zero' [Elab.step] [0.049079] have : fourier 0 x = @toCircle T 0 := by rw [fourier_apply, zero_smul] rw [← this]; exact fourier_zero [Elab.step] [0.049067] have : fourier 0 x = @toCircle T 0 := by rw [fourier_apply, zero_smul] rw [← this]; exact fourier_zero [Elab.step] [0.047714] have : fourier 0 x = @toCircle T 0 := by rw [fourier_apply, zero_smul] [Elab.step] [0.047690] focus refine no_implicit_lambda% (have : fourier 0 x = @toCircle T 0 := ?body✝; ?_) case body✝ => with_annotate_state"by" (rw [fourier_apply, zero_smul]) [Elab.step] [0.047680] refine no_implicit_lambda% (have : fourier 0 x = @toCircle T 0 := ?body✝; ?_) case body✝ => with_annotate_state"by" (rw [fourier_apply, zero_smul]) [Elab.step] [0.047675] refine no_implicit_lambda% (have : fourier 0 x = @toCircle T 0 := ?body✝; ?_) case body✝ => with_annotate_state"by" (rw [fourier_apply, zero_smul]) [Elab.step] [0.016566] refine no_implicit_lambda% (have : fourier 0 x = @toCircle T 0 := ?body✝; ?_) [Elab.step] [0.016520] expected type: ↑(toCircle 0) = 1, term no_implicit_lambda% (have : fourier 0 x = @toCircle T 0 := ?body✝; ?_) [Elab.step] [0.016512] expected type: ↑(toCircle 0) = 1, term (have : fourier 0 x = @toCircle T 0 := ?body✝; ?_) [Elab.step] [0.016502] expected type: ↑(toCircle 0) = 1, term have : fourier 0 x = @toCircle T 0 := ?body✝; ?_ [Elab.step] [0.016409] expected type: Sort ?u.12245, term fourier 0 x = @toCircle T 0 [Elab.step] [0.016398] expected type: Sort ?u.12245, term binrel% Eq✝ (fourier 0 x) (@toCircle T 0) [Elab.step] [0.031091] case body✝ => with_annotate_state"by" (rw [fourier_apply, zero_smul]) [Elab.step] [0.031024] with_annotate_state"by" (rw [fourier_apply, zero_smul]) [Elab.step] [0.031018] with_annotate_state"by" (rw [fourier_apply, zero_smul]) [Elab.step] [0.031012] with_annotate_state"by" (rw [fourier_apply, zero_smul]) [Elab.step] [0.031006] (rw [fourier_apply, zero_smul]) [Elab.step] [0.031000] rw [fourier_apply, zero_smul] [Elab.step] [0.030995] rw [fourier_apply, zero_smul] [Elab.step] [0.030987] rw [fourier_apply, zero_smul] [Elab.step] [0.030977] (rewrite [fourier_apply, zero_smul]; with_annotate_state"]" (try (with_reducible rfl))) [Elab.step] [0.030972] rewrite [fourier_apply, zero_smul]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.030964] rewrite [fourier_apply, zero_smul]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.026599] rewrite [fourier_apply, zero_smul] [Meta.isDefEq] [0.016855] ✅️ 0 • x =?= 0 • ?m [Meta.isDefEq] [0.015512] ✅️ instHSMul =?= instHSMul [Meta.isDefEq.delta] [0.015494] ✅️ instHSMul =?= instHSMul [Meta.synthInstance] [0.015404] ✅️ SMulWithZero ℤ (AddCircle T) [Meta.synthInstance] [0.014948] ✅️ apply @AddGroup.intSMulWithZero to SMulWithZero ℤ (AddCircle T) [Meta.synthInstance.tryResolve] [0.014922] ✅️ SMulWithZero ℤ (AddCircle T) ≟ SMulWithZero ℤ (AddCircle T) [Meta.isDefEq] [0.014466] ✅️ SMulWithZero ℤ (AddCircle T) =?= SMulWithZero ℤ ?m.13159 [Meta.synthInstance] [0.010847] ✅️ Zero (AddCircle T) Build completed successfully. ``` ### Trace profiling of `fourier_zero'` after PR 28260 ```diff diff --git a/Mathlib/Analysis/Fourier/AddCircle.lean b/Mathlib/Analysis/Fourier/AddCircle.lean index 6238f58476..f13a398896 100644 --- a/Mathlib/Analysis/Fourier/AddCircle.lean +++ b/Mathlib/Analysis/Fourier/AddCircle.lean @@ -127,9 +127,7 @@ theorem fourier_coe_apply' {n : ℤ} {x : ℝ} : theorem fourier_zero {x : AddCircle T} : fourier 0 x = 1 := by - induction x using QuotientAddGroup.induction_on - simp only [fourier_coe_apply] - norm_num + simp -theorem fourier_zero' {x : AddCircle T} : @toCircle T 0 = (1 : ℂ) := by - have : fourier 0 x = @toCircle T 0 := by rw [fourier_apply, zero_smul] - rw [← this]; exact fourier_zero +set_option trace.profiler true in +theorem fourier_zero' : @toCircle T 0 = (1 : ℂ) := by + simp ``` ``` ℹ [2482/2482] Built Mathlib.Analysis.Fourier.AddCircle info: Mathlib/Analysis/Fourier/AddCircle.lean:131:0: [Elab.command] [0.045555] theorem fourier_zero' : @toCircle T 0 = (1 : ℂ) := by simp [Elab.definition.header] [0.044962] fourier_zero' [Elab.step] [0.044931] expected type: Sort ?u.10311, term @toCircle T 0 = (1 : ℂ) [Elab.step] [0.044920] expected type: Sort ?u.10311, term binrel% Eq✝ (@toCircle T 0) (1 : ℂ) [Meta.synthInstance] [0.031268] ❌️ CoeT ℂ x Circle info: Mathlib/Analysis/Fourier/AddCircle.lean:131:0: [Elab.async] [0.027859] elaborating proof of fourier_zero' [Elab.definition.value] [0.027542] fourier_zero' [Elab.step] [0.027179] simp [Elab.step] [0.027169] simp [Elab.step] [0.027156] simp [Meta.isDefEq] [0.011252] ❌️ ↑1 =?= ↑1 [Meta.isDefEq.delta] [0.010804] ❌️ ↑1 =?= ↑1 [Meta.isDefEq] [0.010774] ❌️ 1 =?= 1 [Meta.isDefEq] [0.010717] ❌️ { x // 0 ≤ x } =?= Circle [Meta.isDefEq] [0.010706] ❌️ { x // 0 ≤ x } =?= ↥(Submonoid.unitSphere ℂ) [Meta.isDefEq] [0.010684] ❌️ fun x ↦ 0 ≤ x =?= fun x ↦ x ∈ Submonoid.unitSphere ℂ [Meta.isDefEq] [0.010675] ❌️ 0 ≤ x =?= x ∈ Submonoid.unitSphere ℂ Build completed successfully. ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-analysis delegated 3/6 Mathlib/Analysis/Fourier/AddCircle.lean 1 4 ['eric-wieser', 'euprunin', 'github-actions', 'mathlib-bors'] nobody
9-5358
9 days ago
9-5358
9 days ago
0-15279
4 hours
27708 vihdzp
author:vihdzp
feat: unions and intersections of ordinals are ordinals As well as a bonus result `IsTransitive.empty_mem`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory awaiting-author 58/16 Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Ordinal.lean 2 4 ['alreadydone', 'b-mehta', 'github-actions', 'vihdzp'] alreadydone
assignee:alreadydone
9-1459
9 days ago
9-1459
9 days ago
12-2927
12 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 t-topology 509/1 Mathlib.lean,Mathlib/Topology/MetricSpace/BundledFun.lean,Mathlib/Topology/UniformSpace/Ultra/Pseudometrizable.lean 3 8 ['ADedecker', 'fpvandoorn', 'github-actions', 'mathlib4-dependent-issues-bot', 'pechersky'] urkud
assignee:urkud
9-1444
9 days ago
71-75154
2 months ago
87-20689
87 days
26089 WilliamCoram
author:WilliamCoram
feat: restricted power series form a ring We define restricted power series over a normed ring R, and show they form a ring when R has the ultrametric property This is an update of [#23338](https://github.com/leanprover-community/mathlib4/pull/23338) to meet new expectations of PRs from forks. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra t-number-theory
label:t-algebra$
182/0 Mathlib.lean,Mathlib/RingTheory/PowerSeries/Restricted.lean 2 7 ['CBirkbeck', 'WilliamCoram', 'github-actions'] riccardobrasca
assignee:riccardobrasca
9-1442
9 days ago
34-38737
1 month ago
53-28170
53 days
26547 robin-carlier
author:robin-carlier
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform): more lemmas about isomorphisms of `CatCospanTransform` We construct ways to extract left, right or base components of ismorphisms of `CatCospanTransform`, as well as various `IsIso` instances, and lemmas allowing to compute the left, right or base component of the inverse of a `CatCospanTransformMorphism` that has an `IsIso` instance. --- - [x] depends on: #26412 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 70/0 Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean 1 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] TwoFX
assignee:TwoFX
9-1440
9 days ago
46-57377
1 month ago
46-60424
46 days
26968 vihdzp
author:vihdzp
feat(Order/Concept): sets in a concept are codisjoint ...and other small lemmata. --- - [x] depends on: #26976 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 33/2 Mathlib/Order/Concept.lean 1 8 ['github-actions', 'leanprover-community-bot-assistant', 'linesthatinterlace', 'mathlib4-dependent-issues-bot', 'plp127', 'vihdzp'] bryangingechen
assignee:bryangingechen
9-1439
9 days ago
38-5342
1 month ago
38-34894
38 days
27000 gasparattila
author:gasparattila
feat(Analysis/Normed/Group/Quotient): isometric versions of isomorphisms This PR adds an isometric version of the third isomorphism theorem for groups and modules. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-analysis 49/2 Mathlib/Analysis/Normed/Group/Quotient.lean 1 1 ['github-actions'] urkud
assignee:urkud
9-1439
9 days ago
40-40566
1 month ago
40-40618
40 days
27049 BoltonBailey
author:BoltonBailey
doc(Analysis/BoxIntegral/Partition/Filter): field docstrings Split of #25917. Adds docstrings to the fields of this structure (Taken from the docstring of the structure itself). Note: this documentation was originally changed by asking Cursor (Claude 3.5 sonnet) to write the docstrings, but I think ultimately the docstring of the struct was reworked. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis documentation 13/14 Mathlib/Analysis/BoxIntegral/Partition/Filter.lean 1 2 ['BoltonBailey', 'github-actions'] hrmacbeth
assignee:hrmacbeth
9-1438
9 days ago
18-33156
18 days ago
39-10330
39 days
27441 judithludwig
author:judithludwig
feat(RingTheory/Polynomial/Quotient): Lemma on PIDs This is part of a course project at Heidelberg University: https://matematiflo.github.io/CompAssistedMath2025/ feat(RingTheory/Polynomial/Quotient): add lemma: Let $$R$$ be an integral domain and assume $$R[X]$$ is a PID, then $$R$$ is a field. This lemma is useful for proving that some rings are not PIDs, such as $$\mathbb{Z}[X]$$. Co-authored-by: Philipp Sivov @Silipp182 Co-authored-by: Veliyan Taslev @hubavelko --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 11/0 Mathlib/RingTheory/Polynomial/Quotient.lean 1 4 ['alreadydone', 'github-actions'] erdOne
assignee:erdOne
9-1437
9 days ago
16-27850
16 days ago
27-19605
27 days
27815 BGuillemet
author:BGuillemet
feat(CategoryTheory/Limits/Shapes/Products): add limMapPi and sigmaMapColim Add the canonical morphism from a limit to the product over its objects. Prove that it is a monomorphism. Dually, add the canonical morphism to a colimit from the coproduc of its objects and prove that it is an epimorphism. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-category-theory 44/0 Mathlib/CategoryTheory/Limits/Shapes/Products.lean 1 1 ['github-actions'] jcommelin
assignee:jcommelin
9-1434
9 days ago
19-47536
19 days ago
19-47562
19 days
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 new-contributor t-combinatorics awaiting-author 14/0 Mathlib/Combinatorics/SimpleGraph/Subgraph.lean 1 3 ['b-mehta', 'github-actions', 'xcloudyunx'] b-mehta
assignee:b-mehta
8-75786
8 days ago
9-3466
9 days ago
25-83942
25 days
19860 YaelDillies
author:YaelDillies
refactor: review the `simps` projections of `OneHom`, `MulHom`, `MonoidHom` Make `simps` generate `coe_concreteHom` rather than`concreteHom_apply`. From FLT --- In fact, I would love to have both the `coe_` and `_apply` projections simultaneously and also to not have to specify ` simps (config := .asFn))` every single time we want to generate the `coe_` projection, but `simps ` seems to not be able to do that? cc @fpvandoorn I must say, after four years of working on mathlib, I still don't understand how one is supposed to use `simps`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra WIP
label:t-algebra$
104/121 Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Group/WithOne/Basic.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/Algebra/Module/End.lean,Mathlib/GroupTheory/NoncommCoprod.lean 8 7 ['fpvandoorn', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] nobody
8-72841
8 days ago
8-72859
8 days ago
0-17
17 seconds
26110 YaelDillies
author:YaelDillies
feat: sharp monoids Define sharp monoids, which are the monoids whose only unit is `1`. This concept is useful in log geometry and in particular shows up in the theory of affine monoids. This concept already existed in the guise of `Subsingleton Mˣ`, but giving it a name makes it easier to refer to and uncovers some missing instances. From Toric --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-algebra
label:t-algebra$
51/30 Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Group/Irreducible/Defs.lean,Mathlib/Algebra/Group/Pi/Units.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Group/Submonoid/Units.lean,Mathlib/Algebra/Group/Units/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Algebra/GroupWithZero/Divisibility.lean,Mathlib/Data/List/Prime.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/NumberTheory/DirichletCharacter/Basic.lean,Mathlib/RingTheory/ChainOfDivisors.lean,Mathlib/RingTheory/IntegralDomain.lean,Mathlib/RingTheory/UniqueFactorizationDomain/NormalizedFactors.lean,Mathlib/RingTheory/Valuation/Integers.lean 18 3 ['b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] adomani
assignee:adomani
8-72216
8 days ago
8-72237
8 days ago
62-80277
62 days
24373 YaelDillies
author:YaelDillies
refactor: golf `modularCharacter` ... using the lessons learned from `distribHaarChar`. Unfortunately, the two setups can't quite be unified because we are lacking an additive version of `MulDistribMulAction`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability awaiting-CI 80/46 Mathlib/MeasureTheory/Group/MeasurableEquiv.lean,Mathlib/MeasureTheory/Group/Measure.lean,Mathlib/MeasureTheory/Group/ModularCharacter.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Measure/Haar/Unique.lean 5 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] nobody
8-70307
8 days ago
8-70327
8 days ago
0-0
0 seconds
28226 ShreckYe
author:ShreckYe
feat(Data/Finset): `Multiset.eq_of_le_of_card_eq` and `Finset.eq_of_subet_of_card_eq` As the conditions `s ⊆ t` for `Finset` and `s ≤ t` for `Multiset` both imply `card s ≤ card t`, the conditions `card t ≤ card s` in both `Finset.eq_of_subset_of_card_le` and `Multiset.eq_of_le_of_card_le` can be specialized to `card s = card t`, and due to this I'd argue `card s = card t` might be more common than `card t ≤ card s` in some cases. A similar theorem `Sublist.eq_of_length` for `Sublist` is already available in Lean. Adding these two theorems can aid proof search in such cases. t-data new-contributor easy 6/0 Mathlib/Data/Finset/Card.lean,Mathlib/Data/Multiset/Defs.lean 2 3 ['Ruben-VandeVelde', 'ShreckYe', 'github-actions'] nobody
8-62550
8 days ago
9-56242
9 days ago
9-56295
9 days
26282 AntoineChambert-Loir
author:AntoineChambert-Loir
feat: a theorem of Jordan on primitive subgroups of the permutation group A theorem of Jordan on the primitive subgroups of a permutation group: * if it contains a swap, it is equal to the permutation group, * if it contains a 3-cycle, it contains the alternating group. This PR continues the work from #24131. - [x] depends on: #26281 - [x] depends on: #26280 - [x] depends on: #26279 Original PR: https://github.com/leanprover-community/mathlib4/pull/24131 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory large-import 1044/136 Mathlib.lean,Mathlib/Data/Set/Card.lean,Mathlib/GroupTheory/GroupAction/Jordan.lean,Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean,Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean,Mathlib/GroupTheory/GroupAction/Primitive.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfFixingSubgroup.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfStabilizer.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/SetTheory/Cardinal/Embedding.lean 10 n/a ['AntoineChambert-Loir', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'tb65536'] nobody
8-58647
8 days ago
unknown
unknown
28279 Equilibris
author:Equilibris
feat: univ generic W A simple change making `W.ind`'s motive universe generic. A theorem `w_ind_eq` will now be needed, but this will depend on getting `dcongr_heq` merged, and hence I will do this in a separate PR. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 16/21 Mathlib/Data/PFunctor/Multivariate/W.lean 1 8 ['Equilibris', 'alexkeizer', 'github-actions'] nobody
8-56673
8 days ago
8-67093
8 days ago
0-0
0 seconds
28241 alreadydone
author:alreadydone
chore(Data): `SetLike Finset` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 54/62 Counterexamples/AharoniKorman.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Combinatorics/Additive/RuzsaCovering.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/WalkCounting.lean,Mathlib/Data/DFinsupp/Defs.lean,Mathlib/Data/Finset/Defs.lean,Mathlib/Data/Finset/Insert.lean,Mathlib/Data/Finset/Union.lean,Mathlib/FieldTheory/Perfect.lean,Mathlib/GroupTheory/Perm/Centralizer.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/LinearAlgebra/Finsupp/LinearCombination.lean,Mathlib/LinearAlgebra/Finsupp/Supported.lean,Mathlib/LinearAlgebra/LinearIndependent/Basic.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/Order/CountableDenseLinearOrder.lean,Mathlib/Probability/Independence/Kernel.lean,Mathlib/RingTheory/Ideal/Quotient/Index.lean,Mathlib/RingTheory/IntegralClosure/IsIntegral/Basic.lean,Mathlib/RingTheory/Spectrum/Prime/Polynomial.lean,Mathlib/Topology/Separation/Basic.lean 25 1 ['github-actions'] nobody
8-52994
8 days ago
8-52994
8 days ago
8-52978
8 days
27059 Komyyy
author:Komyyy
feat: Linear upper or lower sets topologies are completely normal The primary motivation for this theorem is to prove that Sierpiński space is completely normal. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 77/1 Mathlib.lean,Mathlib/Topology/Order/UpperLowerSetTopology.lean,Mathlib/Topology/Separation/LinearUpperLowerSetTopology.lean 3 4 ['alreadydone', 'github-actions'] alreadydone
assignee:alreadydone
8-51906
8 days ago
38-67775
1 month ago
38-67758
38 days
25480 ocfnash
author:ocfnash
feat: define a concrete model of the `𝔤₂` root system This is a bit of an experiment to test API but it should also make it easier to prove some properties of `𝔤₂`. --- - [x] depends on: #25477 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra WIP
label:t-algebra$
120/15 Mathlib/LinearAlgebra/RootSystem/Defs.lean,Mathlib/LinearAlgebra/RootSystem/Finite/G2.lean,Mathlib/LinearAlgebra/RootSystem/Reduced.lean 3 8 ['eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'ocfnash'] nobody
8-50722
8 days ago
8-50739
8 days ago
0-1
1 second
28242 robin-carlier
author:robin-carlier
feat(CategoryTheory/Bicategory): EqToHom for bicategories We generalize the `eqToHom` construction from `Category` to `CategoryStruct`, allowing its usage in bicategorical contexts. We introduce a file `CategoryTheory/Bicategory/EqToHom` that records some of the properties of `eqToHom`s 1-morphisms and 2-morphisms, such as the transitivity up to isomorphism of `eqToHom` 1-morphisms, and congruence lemmas for unitors, associators and whiskering with respects to `eqToHom` 2-morphisms. This generalization and these congruence lemmas will be used to define icons between lax functors, and work with categories of strictly unitary lax/pseudo-functors (e.g for pseudocomposable arrows and lax-composable arrows in bicategories, which are part of the definitions of nerve constructions in bicategories). --- A follow-up PR will move some existing `eqToHom`-related lemmas from `CategoryTheory/Bicategory/Strict` to this new file. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 150/4 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/EqToHom.lean,Mathlib/CategoryTheory/EqToHom.lean 3 1 ['github-actions'] nobody
8-49436
8 days ago
8-49443
8 days ago
9-39328
9 days
27261 Sebi-Kumar
author:Sebi-Kumar
feat(Topology): add definition for subpaths Define subpaths as restrictions of paths to subintervals, reparameterized to have domain `[0, 1]` and possibly with a reverse of direction. Prove their basic properties. This serves as an alternative to `Path.truncate` which is useful for the explicit construction of certain homotopies, in particular regarding the concatenation of subpaths. --- To provide additional context, this is my first time contributing to Mathlib, and I am doing so as a part of the Fields Undergraduate Summer Research Program hosted at Western University. My intention for this file is for it to be used when proving that the fundamental group of the sphere is trivial (following the proof from Hatcher's "Algebraic Topology"). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology 153/0 Mathlib.lean,Mathlib/Topology/Subpath.lean 2 9 ['FrankieNC', 'Sebi-Kumar', 'github-actions', 'themathqueen', 'wwylele'] ADedecker
assignee:ADedecker
8-37378
8 days ago
33-25847
1 month ago
33-25894
33 days
27634 agjftucker
author:agjftucker
fix(Analysis/Calculus/Implicit): consistently rename {`map`, `fun`, `function`} to `fun` There are several clear naming issues in the file Implicit.lean, such as ``` theorem prod_map_implicitFunction : ∀ᶠ p : F × G in 𝓝 (φ.prodFun φ.pt), φ.prodFun (φ.implicitFunction p.1 p.2) = p := ``` where `prod_map` and `prodFun` both refer to the same thing. In this PR I have done my best to resolve these as consistently as possible by renaming everything `map`, also everything `function`, to `fun`. This has the added benefit of making some long names a little shorter. In passing I rewrapped some comments and replaced `haveI` with `have` where it had been used like `haveI` in Lean 3. Moves: - ImplicitFunctionData -> ImplicitFunData - ImplicitFunctionData.implicitFunction -> ImplicitFunData.implicitFun - ImplicitFunctionData.prod_map_implicitFunction -> ImplicitFunData.prodFun_implicitFun - ImplicitFunctionData.left_map_implicitFunction -> ImplicitFunData.leftFun_implicitFun - ImplicitFunctionData.right_map_implicitFunction -> ImplicitFunData.rightFun_implicitFun - ImplicitFunctionData.implicitFunction_apply_image -> ImplicitFunData.implicitFun_apply_image - ImplicitFunctionData.implicitFunction_hasStrictFDerivAt -> ImplicitFunData.hasStrictFDerivAt_implicitFun - HasStrictFDerivAt.implicitFunctionDataOfComplemented -> HasStrictFDerivAt.implicitFunDataOfComplemented - HasStrictFDerivAt.implicitFunctionOfComplemented -> HasStrictFDerivAt.implicitFunOfComplemented - HasStrictFDerivAt.map_implicitFunctionOfComplemented_eq -> HasStrictFDerivAt.map_implicitFunOfComplemented_eq - HasStrictFDerivAt.eq_implicitFunctionOfComplemented -> HasStrictFDerivAt.eq_implicitFunOfComplemented - HasStrictFDerivAt.implicitFunctionOfComplemented_apply_image -> HasStrictFDerivAt.implicitFunOfComplemented_apply_image - HasStrictFDerivAt.to_implicitFunctionOfComplemented -> HasStrictFDerivAt.to_implicitFunOfComplemented - HasStrictFDerivAt.implicitFunction -> HasStrictFDerivAt.implicitFun - HasStrictFDerivAt.tendsto_implicitFunction -> HasStrictFDerivAt.tendsto_implicitFun - _root_.Filter.Tendsto.implicitFunction -> _root_.Filter.Tendsto.implicitFun - HasStrictFDerivAt.map_implicitFunction_eq -> HasStrictFDerivAt.map_implicitFun_eq - HasStrictFDerivAt.implicitFunction_apply_image -> HasStrictFDerivAt.implicitFun_apply_image - HasStrictFDerivAt.eq_implicitFunction -> HasStrictFDerivAt.eq_implicitFun - HasStrictFDerivAt.to_implicitFunction -> HasStrictFDerivAt.to_implicitFun --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 165/121 Mathlib/Analysis/Calculus/Implicit.lean,docs/1000.yaml,docs/overview.yaml,docs/undergrad.yaml 4 1 ['github-actions'] nobody
8-31858
8 days ago
8-31859
8 days ago
22-48445
22 days
26192 kckennylau
author:kckennylau
feat(LinearAlgebra): symmetric tensor power This file defines the symmetric tensor power of a module over a ring. The finite powers will form a grading of the symmetric algebra. The n-th symmetric R-tensor power of M will also correspond to global sections of a line bundle on Proj(M) of degree n. It also has a universal property where maps out of it correspond to symmetric multilinear forms. --- Zulip: [#mathlib4 > Proposal: Symmetric Tensor Power](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Proposal.3A.20Symmetric.20Tensor.20Power/with/524795235) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
137/0 Mathlib.lean,Mathlib/LinearAlgebra/TensorPower/Symmetric.lean 2 12 ['AntoineChambert-Loir', 'erdOne', 'eric-wieser', 'github-actions', 'kckennylau', 'mattrobball'] nobody
8-30864
8 days ago
9-64137
9 days ago
59-12912
59 days
27339 pechersky
author:pechersky
chore(RingTheory/Laurent): use WithZero.exp to golf statements and proofs about valuation on K((X)) Done as part of refactor of Valued in #27314. This PR does not change any definitions. Instead, uses `WithZero.exp` instead of coercion + Multiplicative.ofAdd. And some helper simp lemmas about valuations of RatFunc vis a vis LaurentSeries. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-algebra t-number-theory
label:t-algebra$
78/77 Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean 3 2 ['faenuccio', 'github-actions'] Vierkantor
assignee:Vierkantor
8-27148
8 days ago
29-37705
29 days ago
29-81700
29 days
28017 eric-wieser
author:eric-wieser
feat: generalize some opnorm lemmas to seminormed spaces --- - [ ] depends on: #28014 - [ ] depends on: #28101 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis WIP 60/24 Mathlib/Analysis/NormedSpace/OperatorNorm/NNNorm.lean,Mathlib/Analysis/NormedSpace/Real.lean 2 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
8-25646
8 days ago
8-25669
8 days ago
0-0
0 seconds
25804 erdOne
author:erdOne
feat: `∑ z ∈ L, ‖z - x‖⁻ʳ` converges for lattices `L` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #21673.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/21673* t-analysis 319/0 Mathlib.lean,Mathlib/Algebra/BigOperators/Group/Finset/Disjoint.lean,Mathlib/Algebra/Module/ZLattice/Summable.lean,Mathlib/Order/Disjointed.lean 4 3 ['github-actions', 'wwylele'] fpvandoorn
assignee:fpvandoorn
8-20300
8 days ago
69-50274
2 months ago
69-50257
69 days
27308 xyzw12345
author:xyzw12345
feat(LinearAlgebra/SymmetricAlgebra): IsSymmetricAlgebra This PR continues the work from #24602. Original PR: https://github.com/leanprover-community/mathlib4/pull/24602 t-algebra
label:t-algebra$
78/0 Mathlib/LinearAlgebra/SymmetricAlgebra/Basic.lean,Mathlib/LinearAlgebra/SymmetricAlgebra/Basis.lean 2 2 ['github-actions', 'mattrobball'] mattrobball
assignee:mattrobball
8-18486
8 days ago
31-38772
1 month ago
31-38824
31 days
22300 chrisflav
author:chrisflav
feat(RingTheory/GoingDown): lift `LTSeries` of primes Inductive version of `Ideal.exists_ideal_lt_liesOver_of_lt`. Co-authored by: Sihan Su Co-authored by: Yi Song --- - [x] depends on: #22299 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 27/0 Mathlib/RingTheory/Ideal/GoingDown.lean 1 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] alreadydone
assignee:alreadydone
8-1434
8 days ago
15-56554
15 days ago
93-32332
93 days
24533 robertmaxton42
author:robertmaxton42
feat (ULift): conjugation by ULift.up/down, misc cast/heq lemmas * Adds the convenience def `ULift.conj x := `down (f (up x))`, and corresponding basic lemmas * Adds lemmas showing that `ULift.up` and `.down` commute with casts and preserve `HEq`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 31/0 Mathlib/Data/ULift.lean 1 14 ['eric-wieser', 'github-actions', 'robertmaxton42'] ericrbg
assignee:ericrbg
8-1433
8 days ago
110-57590
3 months ago
110-65502
110 days
24829 urkud
author:urkud
fix(Topology/Homotopy): fix name&args order of `comp` `ContinuousMap.Homotopy.hcomp` used name & arguments order that matches Mathlib's category theory conventions, not topology conventions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 30/19 Mathlib/Topology/Homotopy/Basic.lean,Mathlib/Topology/Homotopy/Contractible.lean,Mathlib/Topology/Homotopy/Equiv.lean,Mathlib/Topology/Homotopy/Lifting.lean 4 5 ['github-actions', 'grunweg', 'urkud'] grunweg
assignee:grunweg
8-1432
8 days ago
99-75637
3 months ago
99-75688
99 days
26357 javra
author:javra
feat(CategoryTheory): linear categories as `ModuleCat R`-enriched categories Continues #23826. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-category-theory 195/0 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/CategoryTheory/Enriched/Linear.lean,Mathlib/CategoryTheory/Linear/Basic.lean,Mathlib/CategoryTheory/Monoidal/Linear.lean 5 1 ['github-actions'] adamtopaz
assignee:adamtopaz
8-1430
8 days ago
16-54826
16 days ago
57-43046
57 days
27073 pechersky
author:pechersky
feat(Archive/Examples/Local): files showcasing properties of local fields for p-adics, completions of number fields, laurent series, and fraction rings of witt vectors Should get filled in as more data/instances are declared --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 139/0 Archive.lean,Archive/Examples/Local/Laurent.lean,Archive/Examples/Local/NumberField.lean,Archive/Examples/Local/Padic.lean,Archive/Examples/Local/Witt.lean 5 1 ['github-actions'] alexjbest
assignee:alexjbest
8-1427
8 days ago
16-55275
16 days ago
38-39037
38 days
27166 joelriou
author:joelriou
feat(AlgebraicTopology): the functor `II : SimplexCategory ⥤ SimplexCategoryᵒᵖ` by Gabriel and Zisman In this file, we construct a cosimplicial object `SimplexCategory.II` in `SimplexCategoryᵒᵖ`, i.e. a functor `SimplexCategory ⥤ SimplexCategoryᵒᵖ`. If we identify `SimplexCategory` with the category of finite nonempty linearly ordered types, this functor could be interpreted as the contravariant functor which sends a finite nonempty linearly ordered type `T` to `T →o Fin 2`; in particular, it sends `Fin (n + 1)` to a linearly ordered type which is isomorphic to `Fin (n + 2)`. As a result, we define `SimplexCategory.II` as a functor which sends `⦋n⦌` to `⦋n + 1⦌`: on morphisms, it sends faces to degeneracies and vice versa. (I plan to use this in order to show that the topological realization from simplicial sets to `TopCat` preserves finite limits (at least after forgetting the topology), following the proof by Gabriel and Zisman.) --- Suggestions for a better (short) name are welcome. `II` is the name given is the original source. - [x] depends on: #27153 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology 258/0 Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialObject/II.lean 2 3 ['github-actions', 'joelriou', 'mathlib4-dependent-issues-bot'] robin-carlier
assignee:robin-carlier
8-1426
8 days ago
20-48413
20 days ago
35-66508
35 days
27638 plp127
author:plp127
feat: subsingleton `ℕ` and `ℤ` modules Provide some instances `AddCommMonoid.subsingletonNatModule` and `AddCommMonoid.subsingletonIntModule`. Also move some of the theorems about `ℕ` and `ℤ` modules from `Algebra/Module/End` to `Algebra/Module/NatInt`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
53/45 Mathlib/Algebra/Algebra/Rat.lean,Mathlib/Algebra/Module/End.lean,Mathlib/Algebra/Module/NatInt.lean,Mathlib/Algebra/Module/Submodule/RestrictScalars.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/RingTheory/OreLocalization/Ring.lean 6 3 ['github-actions', 'plp127'] mattrobball
assignee:mattrobball
8-1425
8 days ago
22-39039
22 days ago
22-39085
22 days
27659 euprunin
author:euprunin
chore(Geometry/RingedSpace): remove use of `erw` in `vPullbackConeIsLimit` t-algebraic-geometry 4/1 Mathlib/Geometry/RingedSpace/PresheafedSpace/Gluing.lean 1 1 ['github-actions'] erdOne
assignee:erdOne
8-1424
8 days ago
22-9318
22 days ago
22-9363
22 days
28321 kim-em
author:kim-em
chore: make OmegaCompletePartialOrder a mixin I've noted typeclass searches often getting distracted looking for a `OmegaCompletePartialOrder` when they just want an `LE` or a `Preorder`. Let's benchmark to see it if has a nontrivial effect. Not certain if this is desirable if the performance change is neutral (or even negative). 68/43 Mathlib/Control/LawfulFix.lean,Mathlib/Data/Nat/Nth.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean,Mathlib/Order/Category/OmegaCompletePartialOrder.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Topology/OmegaCompletePartialOrder.lean 6 4 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] nobody
7-74040
7 days ago
7-74040
7 days ago
7-83994
7 days
28292 bwangpj
author:bwangpj
feat(Geometry/Manifold/ContMDiff): add product lemmas for `ContMDiff` Add product lemmas for `ContMDiff`. These are analogous to the corresponding lemmas for `Continuous` in [`Mathlib.Topology.Constructions.SumProd`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Constructions/SumProd.html#ContinuousAt.comp%E2%82%82). 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/) new-contributor 42/0 Mathlib/Geometry/Manifold/ContMDiff/Constructions.lean 1 1 ['github-actions'] nobody
7-72553
7 days ago
8-39258
8 days ago
8-39251
8 days
27552 Equilibris
author:Equilibris
refactor: make universe levels visible in typevec This will be needed to allow `M.corec` to be generic across universes --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 16/10 Mathlib/Data/TypeVec.lean 1 9 ['Equilibris', 'eric-wieser', 'github-actions', 'plp127'] nobody
7-68981
7 days ago
8-21400
8 days ago
24-33920
24 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 large-import t-analysis WIP 384/3 Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/Polar.lean,Mathlib/Analysis/Normed/Module/WeakDual.lean,Mathlib/Topology/UniformSpace/Cauchy.lean 4 n/a ['github-actions', 'mans0954', 'mathlib4-merge-conflict-bot'] nobody
7-61393
7 days ago
unknown
unknown
28150 Equilibris
author:Equilibris
chore: clean up proofs typevec proofs While adding variable universe corecs I found a lot of theorems in typevec that could do with a bit of a clean-up --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 24/26 Mathlib/Data/TypeVec.lean 1 6 ['Equilibris', 'alexkeizer', 'github-actions'] nobody
7-61029
7 days ago
7-61029
7 days ago
11-56627
11 days
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/) will-close-soon new-contributor t-analysis awaiting-author WIP help-wanted 411/0 Mathlib/PlaceHolder/ToeplitzHausdorff.lean,Mathlib/PlaceHolder/ToeplitzHausdorff_v2.lean 2 11 ['faenuccio', 'ggranberry', 'github-actions'] faenuccio
assignee:faenuccio
7-51910
7 days ago
7-52113
7 days ago
4-24257
4 days
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/) 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 31 ['ADedecker', 'eric-wieser', 'github-actions', 'mathlib-bors', 'ocfnash'] ocfnash
assignee:ocfnash
7-45067
7 days ago
7-58275
7 days ago
28-12053
28 days
28185 Sebi-Kumar
author:Sebi-Kumar
feat(Topology/Path): add theorem about casting with rfl Prove the trivial result `p.cast rfl rfl = p` for a path `p`, which serves as a useful result for the simplifier to know. Suggested by Aaron Liu at the discussion [#Is there code for X? > Dealing with `Path.cast`](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Dealing.20with.20.60Path.2Ecast.60). --- To provide additional context, I am relatively new when it comes to contributing to Mathlib, and I am doing so as a part of the Fields Undergraduate Summer Research Program hosted at the University of Western Ontario under the supervision of Chris Kapulkin and Daniel Carranza. My goal is to contribute that the `n`-sphere is simply connected for `n > 1`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology easy 2/0 Mathlib/Topology/Path.lean 1 1 ['github-actions', 'kckennylau', 'plp127'] nobody
7-42014
7 days ago
7-42014
7 days ago
10-34138
10 days
28325 pechersky
author:pechersky
feat(WithZeroTopology): `locallyCompactSpace_iff_locallyFiniteOrder_units` On the way to golf/generalize the proof that locally compact valued fields have locally finite valuation groups as embodied in `Valued.integer.locallyFiniteOrder_units_mrange_of_isCompact_integer` ] --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-order t-topology 160/2 Mathlib/Topology/Algebra/GroupWithZero.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean,Mathlib/Topology/Compactness/Compact.lean 3 1 ['github-actions'] nobody
7-39214
7 days ago
7-70032
7 days ago
7-72742
7 days
28350 themathqueen
author:themathqueen
feat(Topology/Algebra/Module/LinearMap): `range (f.smulRight x) = span {x}` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-topology
label:t-algebra$
14/0 Mathlib/Topology/Algebra/Module/LinearMap.lean 1 2 ['github-actions', 'themathqueen'] nobody
7-32200
7 days ago
7-33508
7 days ago
7-36099
7 days
26159 upobir
author:upobir
feat(Algebra/QuadraticDiscriminant): Adding inequalities on quadratic from inequalities on discriminant This PR continues the work from #24517. Original PR: https://github.com/leanprover-community/mathlib4/pull/24517 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-author
label:t-algebra$
34/0 Mathlib/Algebra/QuadraticDiscriminant.lean 1 7 ['chrisflav', 'github-actions', 'tb65536', 'upobir'] chrisflav
assignee:chrisflav
7-30209
7 days ago
7-30209
7 days ago
55-10605
55 days
28337 joelriou
author:joelriou
feat(AlgebraicTopology): nondegenerate simplices in the nerve of a partially ordered type In this PR, we show that nondegenerate simplices in the nerve of a partially ordered type `X` correspond to strictly monotone functions `Fin (n + 1) → X`. (Incidentally, better normal formal are used for the RHS of lemmas involving (non)degenerate simplices of dimension `0`.) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology 102/11 Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialNerve.lean,Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/Nerve.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveNondegenerate.lean 5 1 ['github-actions'] nobody
7-25743
7 days ago
7-53226
7 days ago
7-53210
7 days
28182 themathqueen
author:themathqueen
feat(Data/Matrix/Basis): `center (Matrix n n α) = scalar n '' center α` The center of `Matrix n n α` is trivial for semiring `α`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 39/13 Mathlib/Algebra/Central/Matrix.lean,Mathlib/Data/Matrix/Basis.lean 2 37 ['eric-wieser', 'github-actions', 'kckennylau', 'themathqueen'] nobody
7-23496
7 days ago
10-39494
10 days ago
10-39539
10 days
26035 fbarroero
author:fbarroero
feat(Analysis/Polynomial/MahlerMeasure): the Mahler measure of a complex polynomial We introduce the Mahler measure of a complex polynomial and prove some basic facts. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 127/1 Mathlib.lean,Mathlib/Analysis/Polynomial/MahlerMeasure.lean,Mathlib/MeasureTheory/Integral/CircleIntegral.lean 3 1 ['github-actions'] fpvandoorn
assignee:fpvandoorn
7-22901
7 days ago
63-32202
2 months ago
63-32205
63 days
27934 JasperMS
author:JasperMS
feat(Order): no basic lemmas and some SuccOrder `biUnion` lemmas Documents that not all possible interval inclusion lemmas will be added to `Basic.lean`. Also proves some `biUnion` results about `SuccOrder`. ------- See also [Zulip: #mathlib4 > New contributor: #27934 (Order/Interval)](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/New.20contributor.3A.20.2327934.20.28Order.2FInterval.29). This is my first attempt at a Mathlib PR, I have worked on the [Carleson project](https://github.com/fpvandoorn/carleson) so far. I have tried to find natural homes for these results, and worked to make them as general as possible. Your feedback is welcome! [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) carleson new-contributor t-order 40/10 Mathlib/Order/Interval/Set/Basic.lean,Mathlib/Order/SuccPred/Archimedean.lean,Mathlib/Order/SuccPred/IntervalSucc.lean 3 10 ['JasperMS', 'YaelDillies', 'github-actions'] YaelDillies
assignee:YaelDillies
7-21417
7 days ago
8-62583
8 days ago
16-52935
16 days
25292 YaelDillies
author:YaelDillies
feat: the `ConvexCone` generated by a set Define `ConvexCone.copy` and `ConvexCone.hull` and use them to golf the `CompleteLattice` instance. From Toric --- - [x] depends on: #25291 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry toric 94/35 Mathlib/Analysis/Convex/Cone/Basic.lean,Mathlib/Geometry/Convex/Cone/Basic.lean 2 8 ['YaelDillies', 'b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
7-20436
7 days ago
24-53377
24 days ago
62-5304
62 days
21031 YaelDillies
author:YaelDillies
chore: get rid of generic hom coercions --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) WIP 161/166 Mathlib/Algebra/Group/Equiv/Basic.lean,Mathlib/Algebra/Group/Equiv/Defs.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Group/Subgroup/Map.lean,Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/Algebra/GroupWithZero/Hom.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Ring/Hom/Defs.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/Logic/Equiv/Defs.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/RelIso/Basic.lean,Mathlib/RingTheory/Valuation/Basic.lean 13 13 ['Vierkantor', 'YaelDillies', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot', 'urkud'] nobody
7-18978
7 days ago
7-19040
7 days ago
0-17
17 seconds
27390 alreadydone
author:alreadydone
feat(FieldTheory/Galois): normal basis theorem Co-authored-by: Madison Crim @maddycrim Co-authored-by: Aaron Liu @plp127 Co-authored-by: Justus Springer @justus-springer from [*Formalizing Class Field Theory*](https://www.claymath.org/events/formalizing-class-field-theory/) --- - [x] depends on: #27355 - [x] depends on: #27368 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
156/1 Mathlib.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Polynomial/Module/AEval.lean,Mathlib/FieldTheory/Galois/NormalBasis.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean,Mathlib/LinearAlgebra/LinearIndependent/Basic.lean,docs/references.bib 7 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
7-16300
7 days ago
7-18088
7 days ago
7-18071
7 days
27842 alreadydone
author:alreadydone
chore(MonoidLocalization): get rid of Submonoid.LocalizationWithZeroMap because every `Submonoid.LocalizationMap` automatically preserves zero. Also removes a condition from `isLeftRegular_of_le_isCancelMulZero` by proving `map_isRegular`, which is used to prove other related lemmas. `toMap_injective_iff` is moved from MonoidWithZero.lean to Basic.lean. --- `Submonoid.LocalizationMap` could potentially be made a FunLike and MonoidWithZeroHomClass, but it's also reasonable (and maybe useful) to unbundle it and use the same predicate as `IsLocalization`. - [x] depends on: #27791 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
81/98 Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/RingTheory/Localization/Defs.lean,Mathlib/RingTheory/OrderOfVanishing.lean 4 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
7-15785
7 days ago
18-5740
18 days ago
18-5724
18 days
25680 kim-em
author:kim-em
chore: remove some `Nat` shortcut instances This PR continues the work from #24928. Original PR: https://github.com/leanprover-community/mathlib4/pull/24928 0/4 Mathlib/Data/Nat/Basic.lean 1 11 ['b-mehta', 'eric-wieser', 'github-actions', 'leanprover-bot', 'mathlib4-merge-conflict-bot', 'mattrobball'] nobody
7-6055
7 days ago
7-6081
7 days ago
58-11118
58 days
23360 kim-em
author:kim-em
chore: review of `erw` in `Algebra/Homology/DerivedCategory` t-algebra awaiting-author
label:t-algebra$
22/13 Mathlib/Algebra/Homology/DerivedCategory/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/ExtClass.lean,Mathlib/Algebra/Homology/DerivedCategory/SingleTriangle.lean,Mathlib/Algebra/Homology/HomotopyCategory/SingleFunctors.lean,Mathlib/CategoryTheory/Shift/SingleFunctors.lean 5 4 ['Ruben-VandeVelde', 'github-actions', 'kim-em', 'mathlib4-merge-conflict-bot'] nobody
7-5671
7 days ago
7-5979
7 days ago
82-55827
82 days
24184 YaelDillies
author:YaelDillies
feat: `[G : H]` notation for the index of `H : Subgroup G` This is a cute notation which I wrote for FLT. Not sure whether we want it in mathlib nor how to include `relindex` in the picture. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra RFC
label:t-algebra$
5/0 Mathlib/GroupTheory/Index.lean 1 7 ['YaelDillies', 'erdOne', 'github-actions', 'j-loreaux', 'kbuzzard'] eric-wieser
assignee:eric-wieser
7-1438
7 days ago
100-76882
3 months ago
124-14599
124 days
25736 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, thangs to the fifth simplicial identity, composition on the right 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: #21744 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #21745.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/21745* t-algebraic-topology large-import 253/7 Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms.lean 1 2 ['github-actions', 'mathlib4-dependent-issues-bot'] mattrobball
assignee:mattrobball
7-1437
7 days ago
20-48626
20 days ago
69-64790
69 days
25947 qawbecrdtey
author:qawbecrdtey
feat(Data/Nat/Factors): added lemmas including `primeFactorsList_length_ne_zero` --- Added lemmas `primeFactorsList_length_ne_zero`, `primeFactorsList_prime_iff`, and `primeFactorsList_length_eq_one`. ```lean theorem primeFactorsList_length_ne_zero (n : ℕ) : n.primeFactorsList.length ≠ 0 ↔ 2 ≤ n theorem primeFactorsList_prime_iff {p : ℕ} : p.primeFactorsList = [p] ↔ p.Prime @[simp] theorem primeFactorsList_length_eq_one (n : ℕ) : n.primeFactorsList.length = 1 ↔ n.Prime ``` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 21/3 Mathlib/Data/Nat/Factors.lean 1 5 ['Ruben-VandeVelde', 'github-actions', 'qawbecrdtey'] ericrbg
assignee:ericrbg
7-1436
7 days ago
65-53239
2 months ago
65-61840
65 days
26332 Timeroot
author:Timeroot
feat(ModelTheory/Definability): TermDefinable functions This PR continues the work from #23506. Original PR: https://github.com/leanprover-community/mathlib4/pull/23506 large-import t-logic 159/0 Mathlib/Data/Rel.lean,Mathlib/ModelTheory/Definability.lean,scripts/noshake.json 3 2 ['Timeroot', 'github-actions'] fpvandoorn
assignee:fpvandoorn
7-1435
7 days ago
16-54790
16 days ago
57-80482
57 days
27754 Parcly-Taxel
author:Parcly-Taxel
feat: `finCycle` as iterated `finRotate` Originally used in #25786, but eventually discovered to be unnecessary. t-logic 26/5 Mathlib/Logic/Equiv/Fin/Rotate.lean 1 1 ['github-actions'] fpvandoorn
assignee:fpvandoorn
7-1430
7 days ago
20-36186
20 days ago
20-36240
20 days
27790 pechersky
author:pechersky
feat(Topology): `IsDenseInducing.isUniformInducing_extend` extending along a uniform inducing function with another uniform inducing function with dense ranges of both creates a uniform inducing extension golfs a proof in #27696 and discussed in https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/isUniformInducing_extension --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 113/0 Mathlib/Data/Set/Operations.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/DenseEmbedding.lean,Mathlib/Topology/UniformSpace/AbstractCompletion.lean,Mathlib/Topology/UniformSpace/Completion.lean,Mathlib/Topology/UniformSpace/UniformEmbedding.lean 6 3 ['github-actions', 'plp127'] ocfnash
assignee:ocfnash
7-1429
7 days ago
20-11636
20 days ago
20-11668
20 days
28374 euprunin
author:euprunin
chore(Analysis/CStarAlgebra/Module): golf entire `map_top_submodule` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 1/5 Mathlib/Analysis/CStarAlgebra/Module/Synonym.lean 1 1 ['github-actions'] nobody
6-76034
6 days ago
6-76675
6 days ago
6-76722
6 days
28371 euprunin
author:euprunin
chore(Analysis/SpecialFunctions/Pow): golf entire `tendsto_rpow_atBot_of_base_gt_one` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 1/5 Mathlib/Analysis/SpecialFunctions/Pow/Asymptotics.lean 1 1 ['github-actions'] nobody
6-76003
6 days ago
6-77026
6 days ago
6-77072
6 days
28379 euprunin
author:euprunin
chore(Analysis/NormedSpace/OperatorNorm): golf entire `opNorm_subsingleton` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 1/5 Mathlib/Analysis/NormedSpace/OperatorNorm/Basic.lean 1 1 ['github-actions'] nobody
6-75071
6 days ago
6-75399
6 days ago
6-75445
6 days
28381 euprunin
author:euprunin
chore(Analysis/Asymptotics): golf `isLittleO_pow_sub_pow_sub` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 1/4 Mathlib/Analysis/Asymptotics/Lemmas.lean 1 1 ['github-actions'] nobody
6-74846
6 days ago
6-74888
6 days ago
6-74937
6 days
28384 euprunin
author:euprunin
chore(Algebra/Order/Ring): golf entire `cast_natAbs` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
1/4 Mathlib/Algebra/Order/Ring/Cast.lean 1 1 ['github-actions'] nobody
6-74201
6 days ago
6-74210
6 days ago
6-74256
6 days
28385 euprunin
author:euprunin
chore(Algebra/BigOperators/Finsupp): golf entire `Finsupp.sum_sum_index` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
1/4 Mathlib/Algebra/BigOperators/Finsupp/Basic.lean 1 1 ['github-actions'] nobody
6-74121
6 days ago
6-74131
6 days ago
6-74176
6 days
28378 euprunin
author:euprunin
chore(Algebra): golf entire `eq_lift_comp_mkRingHom` and `eq_liftAlgHom_comp_mkAlgHom` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
4/8 Mathlib/Algebra/RingQuot.lean 1 1 ['github-actions'] nobody
6-64052
6 days ago
6-75694
6 days ago
6-75739
6 days
28376 euprunin
author:euprunin
chore(Analysis/Calculus/Deriv): golf entire `differentiableAt_comp_const_add` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 2/6 Mathlib/Analysis/Calculus/Deriv/Add.lean 1 1 ['github-actions'] nobody
6-64042
6 days ago
6-76218
6 days ago
6-76263
6 days
28373 euprunin
author:euprunin
chore(AlgebraicGeometry/Morphisms): golf entire `isOpenImmersion_iff_stalk` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 1/4 Mathlib/AlgebraicGeometry/Morphisms/OpenImmersion.lean 1 1 ['github-actions'] nobody
6-63735
6 days ago
6-76796
6 days ago
6-76850
6 days
28398 euprunin
author:euprunin
chore(Data/TypeVec): deprecate `subtypeVal_diagSub` (duplicate) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 2/8 Mathlib/Data/TypeVec.lean 1 1 ['github-actions'] nobody
6-62569
6 days ago
6-62570
6 days ago
6-62624
6 days
28000 daefigueroa
author:daefigueroa
feat(Dynamics/Flow): define semiconjugacy, factor and orbit We add definitions relating to flows. This contribution was created as part of the Utrecht Summerschool "Formalizing Mathematics in Lean" in July 2025. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-dynamics awaiting-author 19/3 Mathlib/Dynamics/Flow.lean 1 5 ['chrisflav', 'github-actions'] nobody
6-60893
6 days ago
6-60914
6 days ago
8-42815
8 days
28399 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: ring-theoretic fractions in Rat --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 47/0 Mathlib.lean,Mathlib/RingTheory/Localization/Rat.lean 2 0 [] nobody
6-60779
6 days ago
6-60848
6 days ago
6-60831
6 days
26448 YaelDillies
author:YaelDillies
refactor: simplify `(f₁ ⊗ₘ f₂) ≫ (g₁ ⊗ₘ g₂)` to `(f₁ ≫ g₁) ⊗ₘ (f₂ ≫ g₂)` ... instead of the other way around. This is motivated by the fact that homs happening "in parallel" is a non-concept (time along a branch can always be reparametrised), while homs happening "in series" is a well-defined concept. One should not simp the well-defined concept into the non-concept but instead the other way around. This is also motivated by the advent of the `mon_tauto` simp set in #26057. From Toric --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-category-theory 115/119 Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Monoidal.lean,Mathlib/CategoryTheory/Bicategory/End.lean,Mathlib/CategoryTheory/Dialectica/Monoidal.lean,Mathlib/CategoryTheory/Enriched/Basic.lean,Mathlib/CategoryTheory/Enriched/FunctorCategory.lean,Mathlib/CategoryTheory/GradedObject/Braiding.lean,Mathlib/CategoryTheory/GradedObject/Monoidal.lean,Mathlib/CategoryTheory/Localization/Monoidal.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/Braided/Reflection.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/FunctorCategory.lean,Mathlib/CategoryTheory/Monoidal/Internal/Limits.lean,Mathlib/CategoryTheory/Monoidal/Limits/Basic.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/NaturalTransformation.lean,Mathlib/CategoryTheory/Monoidal/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Preadditive.lean,Mathlib/CategoryTheory/Monoidal/Transport.lean,Mathlib/CategoryTheory/Monoidal/Types/Coyoneda.lean 24 15 ['YaelDillies', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot', 'robin-carlier', 'yuma-mizuno'] kim-em
assignee:kim-em
6-53837
6 days ago
6-53904
6 days ago
52-21063
52 days
26988 YaelDillies
author:YaelDillies
feat(Rel): more API Some of this API already exists in `Topology.UniformSpace.Defs` but not spelled with `SetRel`, some of it was written for #24173. --- `Topology.UniformSpace.Defs` will be refactored to use these new lemmas in #23181. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 179/8 Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Data/Rel.lean 2 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
6-53453
6 days ago
7-68864
7 days ago
40-43104
40 days
28220 kim-em
author:kim-em
chore: cleanup three #adaptation_notes --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge 5/26 Mathlib/Data/Bool/Basic.lean,Mathlib/Logic/Function/Defs.lean,Mathlib/Tactic/NormNum/Pow.lean 3 6 ['bryangingechen', 'github-actions', 'grunweg', 'kim-em', 'mathlib4-merge-conflict-bot'] nobody
6-52008
6 days ago
7-6504
7 days ago
9-22406
9 days
27288 themathqueen
author:themathqueen
chore(LinearAlgebra/TensorProduct/Basic): semi-linearize `map` and `lift` Semi-linearizing `TensorProduct.map`. Part of #27353. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
40/27 Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/RingTheory/Coalgebra/Hom.lean 3 5 ['ADedecker', 'eric-wieser', 'github-actions', 'themathqueen'] ADedecker
assignee:ADedecker
6-51178
6 days ago
16-14399
16 days ago
27-37731
27 days
28178 joelriou
author:joelriou
feat(CategoryTheory): locally presentable and accessible categories In this PR, we introduce the notions of locally presentable and locally accessible categories. The definitions involve the existence of certain colimits, and the fact that any object identifies as a filtered colimit of a given set of presentable objects. In particular, we show that in these categories, all the objects are presentable. --- This PR continues the work from #20263. Original PR: https://github.com/leanprover-community/mathlib4/pull/20263 t-category-theory 265/3 Mathlib.lean,Mathlib/CategoryTheory/Presentable/Basic.lean,Mathlib/CategoryTheory/Presentable/CardinalFilteredPresentation.lean,Mathlib/CategoryTheory/Presentable/LocallyPresentable.lean,Mathlib/SetTheory/Cardinal/HasCardinalLT.lean 5 n/a ['github-actions'] nobody
6-49575
6 days ago
unknown
unknown
28356 JovanGerb
author:JovanGerb
chore(Data/Rat/Cast/CharZero): rename `Rat.cast_mk` to `Rat.cast_divInt` The symbol `/.` is notation for `Rat.divInt`, not `Rat.mk`, so this PR renames `Rat.cast_mk` to `Rat.cast_divInt`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 5/3 Mathlib/Data/Rat/Cast/CharZero.lean,Mathlib/Data/Rat/Defs.lean,Mathlib/Data/Real/Irrational.lean 3 1 ['github-actions'] nobody
6-47552
6 days ago
7-21351
7 days ago
7-21397
7 days
28390 euprunin
author:euprunin
chore(Analysis/LocallyConvex): golf entire `polar_weak_closed` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 1/4 Mathlib/Analysis/LocallyConvex/Polar.lean 1 1 ['JonBannon', 'github-actions'] nobody
6-46384
6 days ago
6-73395
6 days ago
6-73440
6 days
28377 euprunin
author:euprunin
chore(Algebra/ContinuedFractions/Computation): golf `get?_of_eq_some_of_get?_intFractPair_stream_fr_ne_zero` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
2/4 Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean 1 1 ['JonBannon', 'github-actions'] nobody
6-46145
6 days ago
6-76028
6 days ago
6-76075
6 days
28057 plp127
author:plp127
feat(SuccOrder): simp lemma to refold `Order.succ` and `Order.pred` Adds `SuccOrder.succ_eq_succ` and `PredOrder.pred_eq_pred` to refold `SuccOrder.succ` and `PredOrder.pred` into `Order.succ` and `Order.pred`. These lemmas are marked `@[simp]`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 8/2 Mathlib/Order/SuccPred/Basic.lean 1 3 ['YaelDillies', 'github-actions', 'plp127', 'vihdzp'] bryangingechen
assignee:bryangingechen
6-45532
6 days ago
14-26711
14 days ago
14-26761
14 days
27875 grunweg
author:grunweg
style(AkraBazzi): use more standard indentation Also do some minor golfing, such as removing superfluous `by exact` or using `filter_upwards` slightly more. --- - [x] depends on: #27871 to avoid conflicts [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability 576/586 Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean 2 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
6-42588
6 days ago
6-42919
6 days ago
6-54404
6 days
28404 joelriou
author:joelriou
feat(AlgebraicTopology): the covariant involution of SimplexCategory In this PR, we introduce the functor `rev : SimplexCategory ⥤ SimplexCategory` which, via the equivalence between the simplex category and the category of nonempty finite linearly ordered types, corresponds to the *covariant* functor which sends a type `α` to `αᵒᵈ`. We also define the induced functors/equivalences on simplicial objects and simplicial sets. This is introduced in order to handle the symmetry between horns (some combinatorial results shall be shown for all horns but one: this symmetry will allow to deduce the remaining case). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology 187/0 Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/Rev.lean,Mathlib/AlgebraicTopology/SimplicialObject/Rev.lean,Mathlib/AlgebraicTopology/SimplicialSet/Rev.lean,Mathlib/CategoryTheory/Whiskering.lean 5 1 ['github-actions'] nobody
6-40947
6 days ago
6-42034
6 days ago
6-42018
6 days
24015 alreadydone
author:alreadydone
feat(RingTheory): lemmas on finiteness of `LinearMap` and `Module.End` --- One less lemma than #24012, but with the advantage of not depending on #23963. - [x] depends on: #24115 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 137/79 Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/GroupTheory/GroupAction/SubMulAction.lean,Mathlib/LinearAlgebra/BilinearMap.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean,Mathlib/LinearAlgebra/Projection.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/SimpleModule/Basic.lean 7 26 ['alreadydone', 'erdOne', 'eric-wieser', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'themathqueen'] erdOne
assignee:erdOne
6-40135
6 days ago
6-40187
6 days ago
126-7258
126 days
28375 euprunin
author:euprunin
chore(Analysis/SpecialFunctions/Pow): golf entire `rpow_lt_rpow_of_exponent_neg`, `rpow_le_rpow_of_exponent_nonpos`, `rpow_le_of_le_log` and `rpow_lt_of_lt_log` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 8/22 Mathlib/Analysis/SpecialFunctions/Pow/Real.lean 1 2 ['JonBannon', 'Ruben-VandeVelde', 'github-actions'] nobody
6-39885
6 days ago
6-76337
6 days ago
6-76382
6 days
28389 euprunin
author:euprunin
chore(Algebra/Group/Subgroup): golf entire `subgroupOf_sup` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
2/6 Mathlib/Algebra/Group/Subgroup/Ker.lean 1 1 ['Ruben-VandeVelde', 'github-actions'] nobody
6-39384
6 days ago
6-73525
6 days ago
6-73570
6 days
27672 b-reinke
author:b-reinke
feat(GroupTheory/FreeGroup): add definition of cyclically reduced words This PR adds the definition of cyclically reduced words for free groups. It is a part of a series of PR on the theory of cyclically reduced words. Upstreamed from the [EquationalTheories](https://github.com/teorth/equational_theories) project. - [ ] depends on: #25966 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory 72/0 Mathlib.lean,Mathlib/GroupTheory/FreeGroup/CyclicallyReduced.lean 2 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
6-36607
6 days ago
6-36625
6 days ago
6-39759
6 days
27305 eric-wieser
author:eric-wieser
feat: instances for `ZeroHom` and `OneHom` This is motivated by wanting to write some lemmas about how the def in #27272 behaves on addition and scalar multiplcation, which requires these operations to first be defined. This shows that `ZeroHom` forms an `AddCommGroup` and `Module`, as well as analogous intermediate statements and `OneHom` results. --- - [x] depends on: #27318 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra delegated
label:t-algebra$
187/0 Mathlib/Algebra/Group/Hom/Basic.lean,Mathlib/Algebra/Group/Hom/Instances.lean,Mathlib/Algebra/GroupWithZero/Action/Hom.lean,Mathlib/Algebra/Module/Hom.lean 4 7 ['YaelDillies', 'adomani', 'eric-wieser', 'github-actions', 'mathlib-bors', 'mathlib4-dependent-issues-bot'] ericrbg
assignee:ericrbg
6-35677
6 days ago
6-37724
6 days ago
21-65819
21 days
28312 LLaurance
author:LLaurance
feat(Combinatorics/SimpleGraph): minimum degree of nontrivial tree is one Add basic facts about nontrivial preconnected SimpleGraphs and that a nontrivial tree has a vertex of degree one. The motivation for this is to ultimately show that any connected graph contains a vertex that, when removed, leaves the graph connected. Any connected graph has a spanning tree which contains a vertex of degree one that fulfils the role of the vertex to be removed. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-combinatorics 33/2 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean 2 6 ['LLaurance', 'eric-wieser', 'github-actions'] nobody
6-31087
6 days ago
8-8948
8 days ago
8-17086
8 days
23986 ShouxinZhang
author:ShouxinZhang
feat(FieldTheory/RatFunc): add RatFunc.toFractionRingAlgEquiv --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
12/2 Mathlib/FieldTheory/RatFunc/Basic.lean 1 33 ['ShouxinZhang', 'eric-wieser', 'github-actions', 'joneugster', 'kckennylau', 'mathlib4-merge-conflict-bot', 'plp127'] kim-em
assignee:kim-em
6-29987
6 days ago
6-29994
6 days ago
129-73734
129 days
27024 grunweg
author:grunweg
feat: Gram-Schmidt orthonormalisation for sections of a vector bundle Add a parametrised version of Gram-Schmidt, for sections of a topological vector bundle with a bundle metric. This will be used to define orthonormal local frames. From the path towards geodesics and the Levi-Civita connection. Co-authored-by: Patrick Massot --- - [x] depends on: #27023 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry awaiting-author 279/11 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Topology/VectorBundle/GramSchmidtOrtho.lean,scripts/noshake.json 4 70 ['faenuccio', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'sgouezel'] sgouezel
assignee:sgouezel
6-29519
6 days ago
6-29519
6 days ago
28-73015
28 days
28416 Timeroot
author:Timeroot
feat(Topology/Order): Add OrderIso.instContinuousMapClass saying that ``` instance {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] [TopologicalSpace α] [TopologicalSpace β] [OrderTopology α] [OrderTopology β] : ContinuousMapClass (α ≃o β) α β where map_continuous := OrderIso.continuous ``` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 3/0 Mathlib/Topology/Order/MonotoneContinuity.lean 1 1 ['github-actions'] nobody
6-28392
6 days ago
6-28392
6 days ago
6-28468
6 days
24917 adomani
author:adomani
feat: deprecated module automation This PR is a revised version of #24861. It splits the `#create_deprecated_modules` into two commands: * `#create_deprecated_module path/to/file.lean` that guides you through generating a deprecated file for a file that has been *erased* (so that the deprecated file will import the same files as the erased one); * `#create_deprecated_module path/to/old/file.lean rename_to path/to/renamed/file.lean` that guides you through generating a deprecated file for a file that has been *renamed* (so that the deprecated file will import just the renamed one); * `#find_deleted_files n` that looks at the repository `n` commits ago and returns a `#create_deprecated_module` for each file that existed then and does not exist now. This is integrated with `Try these:` suggestions and is intended as a first step in making this process completely automatic. Each regenerated file consists of either the imports of the deleted file or just imports the renamed file, followed by `deprecated_module (since := "YYYY-MM-DD")`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta awaiting-author 388/0 scripts/README.md,scripts/create_deprecated_modules.lean 2 91 ['YaelDillies', 'adomani', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant'] grunweg
assignee:grunweg
6-27308
6 days ago
19-40424
19 days ago
52-10974
52 days
28419 euprunin
author:euprunin
chore(Data/Matroid/Rank): deprecate `Indep.exists_insert_of_encard_lt` (duplicate) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 2/8 Mathlib/Data/Matroid/Rank/ENat.lean 1 1 ['github-actions'] nobody
6-25668
6 days ago
6-25668
6 days ago
6-25721
6 days
26403 riccardobrasca
author:riccardobrasca
feat: add `isPrincipalIdealRing_of_isPrincipal_of_lt_or_isPrincipal_of_mem_primesOver_of_mem_Icc` This PR continues the work from #25186. Original PR: https://github.com/leanprover-community/mathlib4/pull/25186 maintainer-merge t-number-theory 49/13 Mathlib/NumberTheory/NumberField/ClassNumber.lean 1 8 ['faenuccio', 'github-actions', 'grunweg', 'loefflerd', 'riccardobrasca', 'xroblot'] faenuccio and jcommelin
assignee:jcommelin assignee:faenuccio
6-25482
6 days ago
6-25482
6 days ago
56-40157
56 days
28420 euprunin
author:euprunin
chore(Data/Nat/Digits): deprecate `coe_int_ofDigits` (duplicate) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 2/6 Mathlib/Data/Nat/Digits/Defs.lean,Mathlib/Data/Nat/Digits/Lemmas.lean 2 1 ['github-actions'] nobody
6-25135
6 days ago
6-25141
6 days ago
6-25187
6 days
28421 euprunin
author:euprunin
chore(Probability/Kernel): golf entire `measurable_condExpKernel` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 1/6 Mathlib/Probability/Kernel/Condexp.lean 1 1 ['github-actions'] nobody
6-25021
6 days ago
6-25035
6 days ago
6-25081
6 days
28422 euprunin
author:euprunin
chore(Data/Fin): deprecate `Fin.mul_one'` (duplicate) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 3/8 Mathlib/Data/Fin/Basic.lean,Mathlib/Data/ZMod/Defs.lean 2 2 ['eric-wieser', 'github-actions'] nobody
6-23463
6 days ago
6-24672
6 days ago
6-24723
6 days
28426 euprunin
author:euprunin
chore(NumberTheory/NumberField/CanonicalEmbedding): golf entire `measurableSet_interior_paramSet` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 1/6 Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean 1 1 ['github-actions'] nobody
6-22311
6 days ago
6-22311
6 days ago
6-22365
6 days
28427 euprunin
author:euprunin
chore(LinearAlgebra/Matrix/Charpoly): deprecate `det_of_card_zero` (duplicate) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
3/7 Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean 1 1 ['github-actions'] nobody
6-22309
6 days ago
6-22314
6 days ago
6-22359
6 days
28428 euprunin
author:euprunin
chore(Topology): deprecate `mem_iff_one_sub_mem` (duplicate) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 3/5 Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean,Mathlib/Topology/UnitInterval.lean 2 1 ['github-actions'] nobody
6-22052
6 days ago
6-22122
6 days ago
6-22105
6 days
28429 euprunin
author:euprunin
chore(GroupTheory/Perm/Cycle): golf entire `Disjoint.cycleType_mul` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory 1/6 Mathlib/GroupTheory/Perm/Cycle/Type.lean 1 1 ['github-actions'] nobody
6-21820
6 days ago
6-21837
6 days ago
6-21884
6 days
28393 tristan-f-r
author:tristan-f-r
chore(WithZero): clean We replace `erw` this with defeq abuse (which seems to be accepted as okay inside proofs), and clean up the rest of the file. I might start trying to remove `erw`s in Mathlib. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data easy 14/16 Mathlib/Data/Int/WithZero.lean 1 7 ['Ruben-VandeVelde', 'github-actions', 'tristan-f-r'] nobody
6-21701
6 days ago
6-67067
6 days ago
6-69992
6 days
26534 winstonyin
author:winstonyin
feat: IsIntegralCurve for solutions to ODEs I define `IsIntegralCurve` etc. for solutions to ODEs on vector spaces. The translation and scaling lemmas are also included. This parallels `IsMIntegralCurve` etc. for manifolds. Question for reviewers: how should I state the deprecation notice? - [ ] depends on: #26563 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-dynamics t-analysis t-differential-geometry 0/0 0 7 ['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'winstonyin'] nobody
6-21476
6 days ago
6-21497
6 days ago
6-22274
6 days
28430 euprunin
author:euprunin
chore(RingTheory/UniqueFactorizationDomain): deprecate `dvd_of_mem_normalizedFactors` (duplicate) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 37/40 Mathlib/NumberTheory/NumberField/ClassNumber.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/RingTheory/ChainOfDivisors.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/Radical.lean,Mathlib/RingTheory/UniqueFactorizationDomain/NormalizedFactors.lean 6 1 ['github-actions'] nobody
6-21386
6 days ago
6-21462
6 days ago
6-21445
6 days
28432 euprunin
author:euprunin
chore(CategoryTheory/Monoidal): golf entire `counitInv_app_comp_functor_map_η_inverse` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 2/5 Mathlib/CategoryTheory/Monoidal/Functor.lean 1 1 ['github-actions'] nobody
6-20757
6 days ago
6-20764
6 days ago
6-20813
6 days
28433 euprunin
author:euprunin
chore(Probability/Kernel): golf entire `snd_compProd_prodMkLeft` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 1/5 Mathlib/Probability/Kernel/Composition/Prod.lean 1 1 ['github-actions'] nobody
6-20616
6 days ago
6-20653
6 days ago
6-20699
6 days
28434 euprunin
author:euprunin
chore(FieldTheory/IntermediateField/Adjoin): golf entire `adjoin.range_algebraMap_subset` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
2/5 Mathlib/FieldTheory/IntermediateField/Adjoin/Defs.lean 1 1 ['github-actions'] nobody
6-20511
6 days ago
6-20520
6 days ago
6-20568
6 days
28435 euprunin
author:euprunin
chore(RingTheory/Valuation): golf entire `algebraMap_injective` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 2/5 Mathlib/RingTheory/Valuation/Extension.lean 1 1 ['github-actions'] nobody
6-20371
6 days ago
6-20385
6 days ago
6-20430
6 days
28411 zcyemi
author:zcyemi
feat(LinearAlgebra/AffineSpace/Simplex/Centroid): define centroid and medians --- This file proves several lemmas involving the centroids and medians of a simplex in affine space. definitions: - `centroid` is the centroid of a simplex, defined as abbreviation of the `Finset.univ.centroid`. - `faceOppositeCentroid` is the centroid of the facet obtained as `(Simplex.faceOpposite i).centroid` - `median` is the line connecting a vertex to the faceOppositeCentroid. Main Results: - Commandino's theorem - The medians of a simplex are concurrent at the centroid large-import 477/8 Mathlib/Geometry/Euclidean/Circumcenter.lean,Mathlib/Geometry/Euclidean/MongePoint.lean,Mathlib/Geometry/Euclidean/Simplex.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Centroid.lean,docs/1000.yaml 5 5 ['github-actions', 'jsm28'] nobody
6-19370
6 days ago
6-34067
6 days ago
6-34115
6 days
28437 euprunin
author:euprunin
chore(Data/Finset): deprecate `exists_ne_of_one_lt_card` (duplicate) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 7/11 Mathlib/Algebra/Group/UniqueProds/Basic.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Set/Card.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/LinearAlgebra/Matrix/SemiringInverse.lean 5 1 ['github-actions'] nobody
6-18724
6 days ago
6-18792
6 days ago
6-18775
6 days
28439 euprunin
author:euprunin
chore(LinearAlgebra/Matrix/Determinant): golf entire `det_eq_zero_of_not_linearIndependent_rows` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
1/5 Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean 1 1 ['github-actions'] nobody
6-18458
6 days ago
6-18465
6 days ago
6-18512
6 days
28445 mitchell-horner
author:mitchell-horner
feat: `one_sub_one_div_cast_*` theorems --- Needed for a proof of the Erdős-Stone-Simonovits theorem in future PR. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 18/0 Mathlib/Data/Nat/Cast/Order/Field.lean 1 1 ['github-actions'] nobody
6-12572
6 days ago
6-12580
6 days ago
6-12626
6 days
25831 ScottCarnahan
author:ScottCarnahan
feat (RingTheory/HahnSeries): Powers of a binomial This PR introduces powers of a binomial `single g 1 - single g' 1` in a Hahn series, where the powers take values in a binomial ring. These series behave as one would expect with respect to addition of powers, and comparison with natural number powers. They are often used in the theory of vertex algebras. --- - [x] depends on: #25830 - [x] depends on: #27497 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24102.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24102* t-ring-theory 111/0 Mathlib.lean,Mathlib/RingTheory/HahnSeries/Binomial.lean,Mathlib/RingTheory/HahnSeries/HEval.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean 4 5 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
6-10690
6 days ago
6-10889
6 days ago
6-12352
6 days
28386 euprunin
author:euprunin
chore(Analysis/InnerProductSpace/Projection): golf entire `orthogonalProjection_mem_subspace_orthogonalComplement_eq_zero` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 1/3 Mathlib/Analysis/InnerProductSpace/Projection/Basic.lean 1 2 ['JonBannon', 'github-actions'] nobody
6-5093
6 days ago
6-73866
6 days ago
6-73916
6 days
28441 euprunin
author:euprunin
chore(GroupTheory/Perm): golf entire `mem_of_formPerm_ne_self` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory 2/5 Mathlib/GroupTheory/Perm/List.lean 1 1 ['JonBannon', 'github-actions'] nobody
6-4952
6 days ago
6-15878
6 days ago
6-15927
6 days
25491 tannerduve
author:tannerduve
feat(Control/Monad/Free): define free monad, prove it lawful, and implement standard effects This PR introduces the `Free` monad. This implementation uses the "freer monad" approach as the traditional free monad (eg from [Haskell](https://hackage.haskell.org/package/free-5.2/docs/Control-Monad-Free.html)) is not safely definable in Lean due to termination checking (it's not strictly positive). The main contributions are: * Definition of the `Free` monad as an inductive type which generates a monad given any type constructor `F : Type -> Type`. * Functor and Monad instances for `Free F`, along with proofs of the `LawfulFunctor` and `LawfulMonad` laws. * Canonical instances of `Free` with standard effect signatures: * `FreeState s` for stateful computations, defined via a `StateF s` functor with `get` and `put` operations. * `FreeWriter w` for logging computations, defined via a `WriterF w` functor with a `tell` operation. * `FreeCont r` for continuation-passing computations, using the CPS functor `(α → r) → r`. In this construction, computations are represented as **trees of effects**. Each node (`liftBind`) represents a request to perform an effect, accompanied by a continuation specifying how the computation proceeds after the effect. The leaves (`pure`) represent completed computations with final results. A key insight is that `FreeM F` satisfies the **universal property of free monads**: for any monad `M` and effect handler `f : F → M`, there exists a unique way to interpret `FreeM F` computations in `M` that respects the effect semantics given by `f`. This unique interpreter is `liftM f`, which acts as the canonical **fold** for free monads. To execute or interpret these computations, we provide two approaches: 1. **Hand-written interpreters** (`FreeState.run`, `FreeWriter.run`, `FreeCont.run`) that directly pattern-match on the tree structure 2. **Canonical interpreters** (`FreeState.toStateM`, `FreeWriter.toWriteT`, `FreeCont.toContT`) derived from the universal property via `liftM` And then prove that these approaches are equivalent --- This PR adds new files and definitions; no breaking changes. **Tags:** free monad, freer monad, effect systems, state monad, writer monad, continuation monad, operational semantics, verified interpreters t-data maintainer-merge 696/0 Mathlib.lean,Mathlib/Control/Monad/Free.lean,Mathlib/Control/Monad/Free/Effects.lean,MathlibTest/freemonad.lean,docs/references.bib 5 147 ['YaelDillies', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'plp127', 'quangvdao', 'srghma', 'tannerduve'] ericrbg
assignee:ericrbg
6-1429
6 days ago
64-37232
2 months ago
74-56314
74 days
27516 gaetanserre
author:gaetanserre
feat: add rational approximation lemma for suprema in `unitInterval` Add `sSup_eq_iUnion_rat` lemma that provides a rational approximation characterization of suprema in the unit interval. For monotone functions `f : α → I → ℝ`, the lemma establishes that the set of pairs where `a < sSup {x | f e.1 x < e.2}` equals the union over all rationals `q ∈ I` with `q > a` of the sets `{e | f e.1 q < e.2}`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 21/0 Mathlib/Topology/UnitInterval.lean 1 2 ['github-actions', 'mathlib4-merge-conflict-bot'] ocfnash
assignee:ocfnash
6-1421
6 days ago
15-22811
15 days ago
25-18184
25 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 new-contributor 1443/0 Archive.lean,Archive/Imo/Imo2025Q1.lean 2 1 ['github-actions'] dwrensha
assignee:dwrensha
6-1418
6 days ago
19-46795
19 days ago
19-46843
19 days
27849 robin-carlier
author:robin-carlier
feat(CategoryTheory/Bicategory/Functor): strictly unitary lax/pseudo functors We define strictly unitary lax/pseudo functors between bicategories. A lax (resp. pseudo-)functor from `C` to `D` is strictly unitary if `F.map(𝟙 X) = 𝟙 (F.obj X)` and if the 2-cell `mapId` is the identity 2-cell induced by this equality. We provide a constructor for those that do not require the `mapId` field. Although this structure is somewhat "evil" from a purely categorical perspective (it mentions non-definitonal equality of objects in a 1-category), these class of functors are of interest: strictly unitary lax functors are part of the definition of the Duskin nerve of a bicategory (which embeds bicategories in the theory of simplicial sets), while strictly unitary pseudofunctors are part of the definition of the 2-nerve of a bicategory, which embeds bicategories into the theory of simplicial categories. This PR is part of an ongoing work that will hopefully culminate with the construction of the Duskin Nerve, as well as a proof of the fact that the Duskin nerve of a locally groupoidal bicategory is a quasicategory. --- Two designs were possible here: making `StrictlyUnitary` a class on lax/pseudo-functors to state that some functors/constructions are strictly unitary, or bundling it as a structure on its own. Since my plan for the follow-up PRs is to use the type of strictly lax unitary functors between some bicategories (e.g to define lax-composable arrows in a bicategory `C`, which will be by definition `StrictlyUnitaryLaxFunctor (LocallyDiscrete (Fin n)) C`), I chose to bundle them directly, to avoid an extra layer when working with the type of those objects. I did include strict associativity for strictly unitary lax functors but not for pseudofunctors. The reason is that the Duskin nerve mentions the 1-category of bicategories and strictly unitary lax functors (hence, this strict associativity/unitality), but the 2-nerve mentions the bicategory of bicategories, strictly unitary pseudofunctors and "icons" (identity-component oplax natural transformations): the statement for associativity for pseudofunctors will wait for icons, and will probably not be stated as an equality of pseudofunctors. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 318/0 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/Functor/StrictlyUnitary.lean 2 1 ['github-actions'] adamtopaz
assignee:adamtopaz
6-1416
6 days ago
19-18455
19 days ago
19-18508
19 days
27946 plp127
author:plp127
refactor: have `MetrizableSpace` not depend on `MetricSpace` Some theorems for uniform spaces with a countably generated uniformity do not mention their uniformity in any of the hypotheses or the conclusion (for example `UniformSpace.isCompact_iff_isSeqCompact`). This PR allows those theorems to be stated for (pseudo)metrizable spaces without importing the real numbers. See also #2032 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 129/102 Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Topology/Compactness/PseudometrizableLindelof.lean,Mathlib/Topology/GDelta/MetrizableSpace.lean,Mathlib/Topology/Metrizable/Basic.lean,Mathlib/Topology/Metrizable/ContinuousMap.lean,Mathlib/Topology/Metrizable/Real.lean,Mathlib/Topology/Metrizable/Uniformity.lean 7 7 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] urkud
assignee:urkud
6-1415
6 days ago
15-56100
15 days ago
16-21581
16 days
28452 plp127
author:plp127
feat: Define `ZMod.fintype` without cases Define `ZMod.fintype` without casing on `n` except inside the proof. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 2/3 Mathlib/Data/ZMod/Defs.lean 1 1 ['github-actions'] nobody
5-82863
5 days ago
5-82883
5 days ago
5-82929
5 days
27163 pechersky
author:pechersky
feat(Topology/ValuativeRel): of and to basis of compatible valuations --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-topology t-number-theory
label:t-algebra$
205/25 Mathlib/RingTheory/Valuation/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean 2 26 ['github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'pechersky'] nobody
5-78845
5 days ago
7-34404
7 days ago
36-14723
36 days
28458 pechersky
author:pechersky
feat(RingTheory/RootsOfUnity): trivial root of unity: `HasEnoughRootsOfUnity M 1` On the way to (p - 1)-roots of unity of Z_p. This deals with the p = 2 case. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra easy
label:t-algebra$
6/0 Mathlib/RingTheory/RootsOfUnity/Basic.lean,Mathlib/RingTheory/RootsOfUnity/EnoughRootsOfUnity.lean 2 1 ['github-actions'] nobody
5-68082
5 days ago
5-68096
5 days ago
5-68144
5 days
27283 Louddy
author:Louddy
feat(SkewMonoidAlgebra): maps on/to SkewMonoidAlgebra Add the definition of many maps regarding skew monoid algebras and lemmas associated to them. These all have their analogues for `MonoidAlgebra`. Co-authored-by: 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/) large-import t-algebra
label:t-algebra$
237/0 Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean 1 2 ['github-actions', 'mathlib4-merge-conflict-bot'] riccardobrasca
assignee:riccardobrasca
5-61809
5 days ago
5-61831
5 days ago
32-31997
32 days
28457 euprunin
author:euprunin
chore(LinearAlgebra/AffineSpace): deprecate `coe_injective` (duplicate) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-algebra
label:t-algebra$
2/5 Mathlib/LinearAlgebra/AffineSpace/ContinuousAffineEquiv.lean 1 2 ['Ruben-VandeVelde', 'github-actions'] nobody
5-61477
5 days ago
5-61477
5 days ago
5-68666
5 days
27464 IvanRenison
author:IvanRenison
feat(Combinatorics/SimpleGraph/Paths): add lemma `SimpleGraph.Walk.IsPath.ne_of_mem_support_of_append` This contribution was created as part of the Utrecht Summerschool "Formalizing Mathematics in Lean" in July 2025. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 22/0 Mathlib/Combinatorics/SimpleGraph/Paths.lean 1 4 ['IvanRenison', 'b-mehta', 'github-actions', 'mathlib4-merge-conflict-bot'] b-mehta
assignee:b-mehta
5-61316
5 days ago
5-61337
5 days ago
25-8718
25 days
27461 IvanRenison
author:IvanRenison
feat(Combinatorics/SimpleGraph/Paths): add lemma `SimpleGraph.Walk.IsPath.mem_support_iff_exists_append` This contribution was created as part of the Utrecht Summerschool "Formalizing Mathematics in Lean" in July 2025. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 14/0 Mathlib/Combinatorics/SimpleGraph/Paths.lean 1 2 ['github-actions', 'mathlib4-merge-conflict-bot'] awainverse
assignee:awainverse
5-61109
5 days ago
5-61126
5 days ago
26-36489
26 days
26125 faenuccio
author:faenuccio
first commit --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) dependency-bump WIP 56/1 Hammer/experiment1.lean,lake-manifest.json,lakefile.lean 3 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
5-60775
5 days ago
5-60775
5 days ago
0-19
19 seconds
27253 Louddy
author:Louddy
feat(SkewMonoidAlgebra): SkewMonoidAlgebra/Support Add lemmas regarding the support of a skew monoid algebra. It is currently missing a few (Edit: 1!) lemmas compared to `MonoidAlgebra.support`. (See TODO.) These will be added as more results are available on `SkewMonoidAlgebra`. Co-authored-by: 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-algebra
label:t-algebra$
128/0 Mathlib.lean,Mathlib/Algebra/SkewMonoidAlgebra/Support.lean 2 2 ['Louddy', 'github-actions'] riccardobrasca
assignee:riccardobrasca
5-55066
5 days ago
33-40702
1 month ago
33-40714
33 days
28464 robin-carlier
author:robin-carlier
chore(CategoryTheory/Bicategory/Basic): extra `hom_inv_id` and `inv_hom_id` lemmas Add lemmas of the form `f ◁ g ◁ η.inv ≫ f ◁ g ◁ η.hom = 𝟙 _`. These lemmas are easy but `simp` automation keeps failing to see them in practice. --- It is somewhat annoying that these have to be added by hand. `grind`-based automation will be better at this by tagging `[grind _=_] whiskerLeft_comp`, but in cases where we need to fall back to `simp`-based automation these should still be useful and shave off some `simp only [← whiskerLeft_comp, …]` in some proofs. Hopefully we won’t need to write the same lemmas for extra applications of whiskerings! [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 30/0 Mathlib/CategoryTheory/Bicategory/Basic.lean 1 1 ['github-actions'] nobody
5-54119
5 days ago
5-54186
5 days ago
5-54234
5 days
28467 gasparattila
author:gasparattila
chore: make `AffineSubspace.toAddTorsor` and `AffineSubspace.nonempty_map` instances The loops with the `Nonempty` instances are no longer an issue in Lean 4. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor 3/35 Mathlib/Analysis/Convex/Intrinsic.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Geometry/Euclidean/Circumcenter.lean,Mathlib/Geometry/Euclidean/Projection.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Basic.lean,Mathlib/LinearAlgebra/AffineSpace/Restrict.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean,Mathlib/Topology/Algebra/AffineSubspace.lean 8 1 ['github-actions'] nobody
5-43741
5 days ago
5-45416
5 days ago
5-45408
5 days
28470 EtienneC30
author:EtienneC30
feat: ofLp and toLp are continuously differentiable --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 24/1 Mathlib/Analysis/Calculus/ContDiff/WithLp.lean 1 1 ['github-actions'] nobody
5-42269
5 days ago
5-42349
5 days ago
5-42333
5 days
28471 EtienneC30
author:EtienneC30
feat: toLp and ofLp are injective --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 6/0 Mathlib/Analysis/Normed/Lp/WithLp.lean 1 1 ['github-actions'] nobody
5-42247
5 days ago
5-42331
5 days ago
5-42316
5 days
28473 EtienneC30
author:EtienneC30
feat: toLp and ofLp are analytic --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 42/0 Mathlib.lean,Mathlib/Analysis/Analytic/WithLp.lean 2 1 ['github-actions'] nobody
5-41928
5 days ago
5-42019
5 days ago
5-42003
5 days
28408 Paul-Lez
author:Paul-Lez
feat(Data/Part): add a few easy lemmas about Part A few easy lemmas about Part that came up in this [formal-conjectures](https://github.com/google-deepmind/formal-conjectures/pull/560) PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data easy 11/0 Mathlib/Data/Part.lean 1 5 ['Paul-Lez', 'eric-wieser', 'github-actions'] nobody
5-39243
5 days ago
5-57579
5 days ago
5-70826
5 days
26075 xroblot
author:xroblot
feat(NumberField/Units): compute index of unit subgroups using regulators - [x] depends on: #25730 t-number-theory 81/3 Mathlib/GroupTheory/Index.lean,Mathlib/NumberTheory/NumberField/Units/DirichletTheorem.lean,Mathlib/NumberTheory/NumberField/Units/Regulator.lean 3 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'xroblot'] nobody
5-36401
5 days ago
5-36420
5 days ago
5-39817
5 days
28474 astrainfinita
author:astrainfinita
feat: add `ContinuousSMul` instances for `ℚ≥0` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) bench-after-CI t-algebra t-topology
label:t-algebra$
14/0 Mathlib/Topology/Instances/Rat.lean 1 8 ['astrainfinita', 'github-actions', 'themathqueen'] nobody
5-35144
5 days ago
5-35144
5 days ago
5-41946
5 days
26588 faenuccio
author:faenuccio
feat(Algebra/GroupWithZero/WithZero): add the multiplicative embedding with zero from the range We extend the embedding of the range of a `MonoidWithZeroHom` to the codomain by enriching it with the strucutre of an ordered, multiplicative embedding. In passing, we extend some results about the embedding of `WithZero` of the units of a group with zero, to the group itself. Co-authored by: María Inés de Frutos Fernández @mariainesdff --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order t-algebra
label:t-algebra$
145/10 Mathlib.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean,Mathlib/Algebra/Order/GroupWithZero/WithZero.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean 6 27 ['faenuccio', 'github-actions', 'leanprover-community-bot-assistant', 'pechersky'] nobody
5-34459
5 days ago
7-41846
7 days ago
12-61933
12 days
28487 euprunin
author:euprunin
chore(RingTheory): golf entire `smul_eq_zero_of_mem`, `hasEval`, `eq_of_prod_eq_prod` and `isIntegral_of_mem_ringOfIntegers` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 7/16 Mathlib/RingTheory/Extension/Basic.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean,Mathlib/RingTheory/UniqueFactorizationDomain/FactorSet.lean,Mathlib/RingTheory/Valuation/AlgebraInstances.lean 4 1 ['github-actions'] nobody
5-32412
5 days ago
5-32424
5 days ago
5-32470
5 days
28488 euprunin
author:euprunin
chore(SetTheory): golf entire `cast_succ`, `mk_multiset_of_countable` and `iSup_succ` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 6/11 Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Finsupp.lean,Mathlib/SetTheory/Ordinal/Family.lean 3 1 ['github-actions'] nobody
5-32400
5 days ago
5-32410
5 days ago
5-32455
5 days
28489 joelriou
author:joelriou
feat(CategoryTheory): weaken assumptions for the stability of the left lifting property under transfinite compositions This PR introduces two predicates `HasLiftingPropertyFixedBot/Top` which assert the existence of a lifting in squares when the left/right/top (resp. left/right/bottom) morphisms are fixed. (This weakens the `HasLiftingProperty` class which assumes there is a lifting when we only fix the left and right morphisms.) The `HasLiftingPropertyFixedTop` variant shall be used in the study of the homotopy theory of Kan complexes. Hopefully, the `HasLiftingPropertyFixedBot` variant will be used in the formalization of the model category structure on simplicial sets: this is the reason why this PR also weakens the assumptions in the proof that the left lifting property with respect to certain morphisms is stable under transfinite composition. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 28/2 Mathlib/CategoryTheory/LiftingProperties/Basic.lean,Mathlib/CategoryTheory/SmallObject/TransfiniteCompositionLifting.lean 2 1 ['github-actions'] nobody
5-29568
5 days ago
5-29568
5 days ago
5-29552
5 days
23497 chrisflav
author:chrisflav
chore(RingTheory/AdicCompletion/AsTensorProduct): golf using five lemma for modules --- - [x] depends on: #23496 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
30/81 Mathlib/RingTheory/AdicCompletion/AsTensorProduct.lean 1 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
5-28853
5 days ago
5-28875
5 days ago
79-5476
79 days
28490 euprunin
author:euprunin
chore: golf entire `epi_of_cokernel_π_eq_zero`, `bottom_row_coprime`, `congr_of_eventuallyEq` and `Invertible.congr` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 8/12 Mathlib/Algebra/Group/Invertible/Defs.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/NumberTheory/Modular.lean,Mathlib/Topology/ContinuousOn.lean 4 1 ['github-actions'] nobody
5-27810
5 days ago
5-27887
5 days ago
5-27870
5 days
28491 euprunin
author:euprunin
chore(MeasureTheory/Measure): deprecate `injective_diracProba_of_T0` (duplicate) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 2/8 Mathlib/MeasureTheory/Measure/DiracProba.lean 1 1 ['github-actions'] nobody
5-27284
5 days ago
5-27290
5 days ago
5-27336
5 days
28484 euprunin
author:euprunin
chore(Data): golf entire `add_one_le_exp_of_nonneg`, `toReal_eq_toReal`, `count_eq_of_nodup`, `smul_mat_cons` and `coe_inj` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 8/13 Mathlib/Data/ENNReal/Real.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matroid/Minor/Restrict.lean 4 1 ['github-actions'] nobody
5-27115
5 days ago
5-34916
5 days ago
5-34963
5 days
28486 euprunin
author:euprunin
chore(Order): golf entire `map_covBy`, `covBy_of_apply`, `map_wcovBy`, `wcovBy_of_apply`, `ne_bot_of_ne_top'`, `insert_Icc_left_eq_Icc_pred` and `insert_Icc_right_eq_Icc_succ` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 14/24 Mathlib/Order/Cover.lean,Mathlib/Order/Disjoint.lean,Mathlib/Order/Interval/Set/SuccPred.lean 3 1 ['github-actions'] nobody
5-26101
5 days ago
5-33863
5 days ago
5-34061
5 days
28492 euprunin
author:euprunin
chore(Data/Finite): golf entire `card_le_of_injective`, `card_le_of_surjective` and `card_sum` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 6/13 Mathlib/Data/Finite/Card.lean 1 1 ['github-actions'] nobody
5-24993
5 days ago
5-25006
5 days ago
5-25049
5 days
26489 chrisflav
author:chrisflav
refactor(RingTheory/RingHom): factor out proofs for `Algebra.FinitePresentation` The current way to use locality of a given property of algebras is to convert everything into the language of `RingHom`s and then for example the `RingHom.OfLocalizationSpanTarget` API. This has two disadvantages: 1. The ring hom property API fixes the universes of source and target to be the same, hence we unnecessarily lose out on some universe generality. 2. The results for `RingHom`s are proven by translating everything in terms of `Algebra`, so we duplicate the translation steps. This PR refactors `RingHom.FinitePresentation` to do all locality proofs in the language of `Algebra`s and translate it into the corresponding `RingHom.OfLocalizationSpan{Target}` in the last step. We also streamline some of the translation proofs by unifying the API. --- - [x] depends on: #22931 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) This PR continues the work from #22930. Original PR: https://github.com/leanprover-community/mathlib4/pull/22930 t-algebra
label:t-algebra$
60/76 Mathlib/RingTheory/RingHom/FinitePresentation.lean 1 5 ['chrisflav', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot'] kim-em
assignee:kim-em
5-21116
5 days ago
53-42199
1 month ago
53-42246
53 days
24794 chrisflav
author:chrisflav
feat(RingTheory/Presentation): core of a presentation If `P` is a presentation of `S` as an `R`-algebra and `R₀` a subring of `R` containing the coefficients of the relations of `P`, then there exists an `R₀`-algebra `S₀` such that `S` is isomorphic to the base change of `S₀` to `R`. This is a tool to remove Noetherian hypothesis in certain situations. --- - [x] depends on: #24788 - [x] depends on: #24786 - [x] depends on: #24785 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 266/3 Mathlib.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Tower.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/RingTheory/AlgebraicIndependent/Transcendental.lean,Mathlib/RingTheory/Extension/Presentation/Core.lean,Mathlib/RingTheory/FiniteType.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean 9 12 ['chrisflav', 'erdOne', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] Vierkantor
assignee:Vierkantor
5-19164
5 days ago
15-56673
15 days ago
72-62233
72 days
28493 gasparattila
author:gasparattila
feat: topological affine spaces This PR adds a typeclass `IsTopologicalAddTorsor` for topological affine spaces and generalizes several results which currently assume `NormedAddTorsor`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor 386/289 Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean,Mathlib/Analysis/Complex/AbsMax.lean,Mathlib/Analysis/Normed/Affine/AddTorsor.lean,Mathlib/Analysis/Normed/Affine/ContinuousAffineMap.lean,Mathlib/Analysis/Normed/Affine/Convex.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Analysis/Normed/Group/AddTorsor.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/Normed/Operator/Banach.lean,Mathlib/Analysis/RCLike/Lemmas.lean,Mathlib/Geometry/Euclidean/Projection.lean,Mathlib/Geometry/Euclidean/Triangle.lean,Mathlib/Topology/Algebra/Affine.lean,Mathlib/Topology/Algebra/ContinuousAffineMap.lean,Mathlib/Topology/Algebra/Group/Pointwise.lean 16 1 ['github-actions'] nobody
5-18880
5 days ago
5-21580
5 days ago
5-21627
5 days
28501 dtumad
author:dtumad
feat(Data/Set): show the `Alternative` instance on `Set` is lawful This PR adds a `LawfulAlternative` instance for `Set`, and also exposes the lawful instances for `SetM`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 25/0 Mathlib/Data/Set/Functor.lean 1 1 ['github-actions'] nobody
5-7922
5 days ago
5-7922
5 days ago
5-7973
5 days
25776 Parcly-Taxel
author:Parcly-Taxel
chore: deprime `induction` in `Analysis` I think this is very marginally dependent on #25770. tech debt t-analysis 256/208 Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/Box/SubboxInduction.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Split.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/Multiplier.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/Deriv/ZPow.lean,Mathlib/Analysis/Calculus/InverseFunctionTheorem/ApproximatesLinearOn.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean,Mathlib/Analysis/Calculus/SmoothSeries.lean,Mathlib/Analysis/Convex/Combination.lean,Mathlib/Analysis/Convex/Radon.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Complex/Circle.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Analysis/SpecialFunctions/Gamma/BohrMollerup.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean 35 4 ['Parcly-Taxel', 'github-actions', 'leanprover-community-bot-assistant', 'madvorak', 'mathlib4-merge-conflict-bot'] grunweg
assignee:grunweg
5-1448
5 days ago
12-32416
12 days ago
67-44328
67 days
26961 mariainesdff
author:mariainesdff
feat(RingTheory/PowerSeries/Substitution): add API Co-authored-by: @AntoineChambert-Loir --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 62/1 Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean 2 5 ['Ruben-VandeVelde', 'github-actions', 'mariainesdff'] mattrobball
assignee:mattrobball
5-1448
5 days ago
15-57036
15 days ago
41-53031
41 days
27117 pechersky
author:pechersky
feat(NumberTheory): `IsDiscreteValuationRing (v.adicCompletionIntegers K)` as well as the base ring that is not completed the proofs are basically identical which means there is some missing API but this is the shortest route to getting local fields ready and showing that `K_v` is locally compact --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #27112 - [x] depends on: #27111 - [x] depends on: #27114 - [ ] depends on: #27116 t-algebra t-analysis t-number-theory
label:t-algebra$
48/0 Mathlib/NumberTheory/NumberField/FinitePlaces.lean 1 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] jcommelin
assignee:jcommelin
5-1447
5 days ago
12-29218
12 days ago
12-32111
12 days
27453 pechersky
author:pechersky
feat(Topology/UniformSpace/Ultra): completion is ultra uniformity iff base is Supersedes #24628 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 159/5 Mathlib.lean,Mathlib/Order/Filter/NAry.lean,Mathlib/Order/Filter/Prod.lean,Mathlib/Topology/Constructions/SumProd.lean,Mathlib/Topology/UniformSpace/Defs.lean,Mathlib/Topology/UniformSpace/Ultra/Basic.lean,Mathlib/Topology/UniformSpace/Ultra/Completion.lean 7 1 ['github-actions'] ocfnash
assignee:ocfnash
5-1446
5 days ago
27-1640
27 days ago
27-1634
27 days
27720 peabrainiac
author:peabrainiac
feat(CategoryTheory/Adjunction): lemmas on adjoint quadruples Lemmas about adjoint quadruples `L ⊣ F ⊣ G ⊣ R` where some of the functors are fully faithful: * If `F` and `R` are fully faithful, the components of the induced natural transformation `G ⟶ L` are epic iff the components of the natural transformation `F ⟶ R` are monic. * If `L` and `G` are fully faithful, the components of the induced natural transformation `L ⟶ G` are epic iff the components of the natural transformation `R ⟶ F` are monic. A variant of the first case appears as proposition 2.7 on the nlab [here](https://ncatlab.org/nlab/show/cohesive+topos); the second case is dual. From [lean-orbifolds](https://github.com/peabrainiac/lean-orbifolds/blob/d599ff5f39aa831e8fa79b2f2fa7178b36bcbafd/Orbifolds/ForMathlib/Quadruple.lean). --- Continued / revived from #24667. t-category-theory 178/0 Mathlib.lean,Mathlib/CategoryTheory/Adjunction/Quadruple.lean,Mathlib/CategoryTheory/Adjunction/Triple.lean,Mathlib/CategoryTheory/Category/Basic.lean,Mathlib/CategoryTheory/EpiMono.lean 5 2 ['github-actions', 'peabrainiac'] robin-carlier
assignee:robin-carlier
5-1445
5 days ago
20-65716
20 days ago
20-66423
20 days
27965 grunweg
author:grunweg
feat: verify that file names contain no forbidden characters Follow-up to #27588: Windows also forbids certain characters in file names. I snuck in a change to also disallow `!` (which causes problems on Nix OS) and `.` (i.e., #27944) --- that would have caught the error in #27796, and may indicate confusion of file and module names. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed t-linter maintainer-merge 72/42 Mathlib/Tactic/Linter/TextBased.lean,MathlibTest/ForbiddenModuleNames.lean,MathlibTest/ForbiddenWindows.lean,scripts/lint-style.lean 4 11 ['YaelDillies', 'adomani', 'github-actions', 'grunweg'] joneugster
assignee:joneugster
5-1444
5 days ago
15-26739
15 days ago
15-59021
15 days
28091 ShreckYe
author:ShreckYe
feat(Algebra/Order/Floor): a variant of `Nat.ceil_lt_add_one` with its condition `0 ≤ a` generalized to `-1 < a` new-contributor t-algebra
label:t-algebra$
15/0 Mathlib/Algebra/Order/Floor/Ring.lean 1 3 ['Ruben-VandeVelde', 'github-actions', 'themathqueen'] mattrobball
assignee:mattrobball
5-1442
5 days ago
13-29137
13 days ago
13-29182
13 days
28102 eric-wieser
author:eric-wieser
feat: nontriviality of `SeparationQuotient` iff the topology is nontrivial This contains the mathematical content of [#Is there code for X? > Typeclass for nontrivial topology @ 💬](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Typeclass.20for.20nontrivial.20topology/near/533192558), without yet committing to any designated API to make it easier to use. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 34/0 Mathlib/Topology/Inseparable.lean,Mathlib/Topology/Order.lean 2 4 ['eric-wieser', 'github-actions', 'plp127'] PatrickMassot
assignee:PatrickMassot
5-1441
5 days ago
13-4873
13 days ago
13-4865
13 days
26358 plp127
author:plp127
feat(Topology): R1 spaces are quasisober This PR continues the work from #24054. Original PR: https://github.com/leanprover-community/mathlib4/pull/24054 t-topology 24/9 Mathlib/Topology/Separation/Hausdorff.lean,Mathlib/Topology/Sober.lean 2 26 ['faenuccio', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot', 'plp127'] nobody
5-368
5 days ago
5-3457
5 days ago
46-73199
46 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/) 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 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
4-84167
4 days ago
4-84167
4 days ago
4-84151
4 days
28507 euprunin
author:euprunin
chore: remove debug output ("Unpacked in […] ms") from `lake exe cache get` output --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 0/2 Cache/IO.lean 1 1 ['github-actions'] nobody
4-73757
4 days ago
4-73830
4 days ago
4-73813
4 days
27974 smmercuri
author:smmercuri
feat: `Field`, `FiniteDimensional` and `Algebra.IsSeparable` instances for `WithAbs` This PR continues the work from #24870. Original PR: https://github.com/leanprover-community/mathlib4/pull/24870 large-import t-analysis awaiting-author 14/1 Mathlib/Analysis/Normed/Field/WithAbs.lean 1 2 ['github-actions', 'j-loreaux'] j-loreaux
assignee:j-loreaux
4-73747
4 days ago
4-73747
4 days ago
10-66566
10 days
28034 joelriou
author:joelriou
feat(AlgebraicTopology): the type of simplices of a simplicial set This PR introduces the type of simplices of a simpliciai set `X`, as a structure containing the dimension `dim`, and a simplex in `X _⦋dim⦌`. --- - [x] depends on: #27968 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology 150/0 Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialSet/Simplices.lean 2 4 ['github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'robin-carlier'] robin-carlier
assignee:robin-carlier
4-67003
4 days ago
4-67003
4 days ago
5-30476
5 days
28443 mitchell-horner
author:mitchell-horner
feat: `filter_disjiUnion` --- Needed for a proof of the Erdős-Stone-Simonovits theorem in future PR. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 8/0 Mathlib/Data/Finset/Union.lean 1 3 ['github-actions', 'mitchell-horner', 'plp127'] nobody
4-61758
4 days ago
6-12857
6 days ago
6-12917
6 days
27260 JovanGerb
author:JovanGerb
feat(Geometry/Euclidean/SignedDist): `signedDist` between two points original PR: #24245 This PR defines `signedDist`, the signed distance between two points. TODO: It redefines `signedInfDist` so that it uses `signedDist`. The motivation is to use this in IMO2020Q6. Additionally this definition will be useful for properly reasoning about the power of a point [#mathlib4 > Signed distance between points](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Signed.20distance.20between.20points) some comments: * should `signedDistLinear` be `private`? * I'm not too happy about the hypothesis in `signedDist_congr (h : ∃ r > (0 : ℝ), r • v = w)`. This relationship between `v` and `w` is a symmetric one that should have some API around it, similar to `SameRay`. It could also be spelled as `(ℝ≥0 ∙ v) = ℝ≥0 ∙ w` --- - [x] depends on: #27259 - [ ] depends on : #27285 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-euclidean-geometry 205/28 Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Geometry/Euclidean/SignedDist.lean 2 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
4-61298
4 days ago
4-61322
4 days ago
9-31592
9 days
26428 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: norm_num support for Int.fract --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 61/0 Mathlib/Data/Rat/Floor.lean,MathlibTest/norm_num_ext.lean 2 5 ['Rob23oba', 'github-actions'] ericrbg
assignee:ericrbg
4-55849
4 days ago
55-14284
1 month ago
55-59043
55 days
28512 euprunin
author:euprunin
chore(Data/List): golf entire `getLast_append_of_right_ne_nil` and `finRange_map_getElem` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 4/9 Mathlib/Data/List/Basic.lean,Mathlib/Data/List/FinRange.lean 2 1 ['github-actions'] nobody
4-55235
4 days ago
4-55235
4 days ago
4-55288
4 days
26785 TOMILO87
author:TOMILO87
feat: beta distribution Add the Beta distribution to the probability distributions in mathlib4 This PR introduces the Beta distribution on the reals. Main definitions: - betaPDFReal (α β x : ℝ) — the probability density function as a real-valued function - betaPDF (α β x : ℝ) — the pdf as a ℝ≥0∞-valued function - betaMeasure (α β : ℝ) — the probability measure associated with the Beta distribution Main results: - lintegral_betaPDF_eq_one — proof that the pdf integrates to 1 (normalization) - Lemmas on positivity, measurability, and integrability of the pdf - isProbabilityMeasureBeta — the Beta measure is a probability measure Notes: - Follows the general structure of other distributions in mathlib (e.g. Gamma). - Several unused helper lemmas were removed, and proofs streamlined in response to reviewer feedback. - Thanks to @EtienneC30 and @RemyDegenne for detailed reviews across multiple rounds. This is a clean version of the PR originally opened as [#25608](https://github.com/leanprover-community/mathlib4/pull/25608) and temporarily migrated in [#26325](https://github.com/leanprover-community/mathlib4/pull/26325). new-contributor t-measure-probability 206/2 Mathlib.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Probability/Distributions/Beta.lean 4 33 ['EtienneC30', 'RemyDegenne', 'TOMILO87', 'github-actions'] EtienneC30
assignee:EtienneC30
4-53204
4 days ago
4-53204
4 days ago
35-65958
35 days
27196 YaelDillies
author:YaelDillies
refactor(Polynomial/Bivariate): swap `X` and `Y` for improved notation This way, `X` keeps on being `X`. From Toric --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-algebra WIP
label:t-algebra$
3/3 Mathlib/Algebra/Polynomial/Bivariate.lean 1 3 ['YaelDillies', 'alreadydone', 'github-actions'] nobody
4-45925
4 days ago
19-66465
19 days ago
15-75841
15 days
26857 Thmoas-Guan
author:Thmoas-Guan
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. Further results would be given in #26858 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) migrated from #22631 t-algebra awaiting-author
label:t-algebra$
153/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean 2 11 ['Thmoas-Guan', 'chrisflav', 'github-actions'] chrisflav
assignee:chrisflav
4-42267
4 days ago
5-32732
5 days ago
18-81638
18 days
28520 chrisflav
author:chrisflav
chore(Data): add `Finset.exists_injOn_image_eq_of_surjOn` Prerequisite for #27508. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
18/0 Mathlib/Data/Set/Finite/Basic.lean,Mathlib/Data/Set/Function.lean,Mathlib/Logic/Function/Basic.lean 3 8 ['YaelDillies', 'chrisflav', 'github-actions'] nobody
4-33162
4 days ago
4-41356
4 days ago
4-41341
4 days
27178 artie2000
author:artie2000
feat(Algebra/Order/Ring): make `IsOrderedRing.toStrictOrderedRing` an instance Requiring `IsStrictOrderedRing` on a `Field` is a footgun (the current instances come from a find and replace on `LinearOrderedField`). Weakening typeclasses can incur a performance hit so will be done where appropriate in future PRs. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory awaiting-author 2/1 Mathlib/Algebra/Order/Ring/Defs.lean 1 22 ['YaelDillies', 'alreadydone', 'artie2000', 'eric-wieser', 'github-actions', 'j-loreaux', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] nobody
4-30396
4 days ago
12-76437
12 days ago
13-5432
13 days
28126 Sebi-Kumar
author:Sebi-Kumar
feat(AlgebraicTopology/FundamentalGroupoid): add alternative to `fromPath` Define the abbreviation `fromPath'` as an alternative to `fromPath` which takes as input a path as opposed to a homotopy class. Add basic lemmas about this abbreviation with the intention of facilitating proofs that two paths are homotopic by transferring to the fundamental groupoid via `fromPath'_eq_iff_homotopic` and applying `aesop_cat`. To be used in a proof that the `n`-sphere is simply connected for `n > 1`. --- I would like to thank Kenny Lau for inspiring this code on Zulip at [#Is there code for X? > Using aesop_cat to prove paths are homotopic](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Using.20aesop_cat.20to.20prove.20paths.20are.20homotopic). I hope I am not being impolite by submitting a pull request based on his code; please let me know if there is a better way for me to give him credit. Also, I would like to note that I am a newcomer when it comes to contributing to Mathlib, and that this code was written as a part of a formalization project at the University of Western Ontario under the supervision of Chris Kapulkin and Daniel Carranza (which is happening through the Fields Undergraduate Summer Research Program). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology new-contributor 121/141 Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnected.lean,Mathlib/CategoryTheory/Groupoid.lean,Mathlib/Topology/Covering.lean,Mathlib/Topology/Homotopy/HomotopyGroup.lean,Mathlib/Topology/Homotopy/Product.lean 8 4 ['Sebi-Kumar', 'alreadydone', 'github-actions'] mattrobball
assignee:mattrobball
4-30144
4 days ago
12-17736
12 days ago
12-17782
12 days
27094 smorel394
author:smorel394
feat(Algebra.Category.FGModuleCat.Colimits): the category of finitely generated modules has finite colimits Prove that the forgetful functor from `FGModuleCat k` to `ModuleCat k` creates finite colimits, and hence that `FGModuleCat k` has finite colimits. - [ ] depends on: #27092 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
68/0 Mathlib.lean,Mathlib/Algebra/Category/FGModuleCat/Colimits.lean 2 6 ['github-actions', 'leanprover-community-bot-assistant', 'mariainesdff', 'mathlib4-dependent-issues-bot'] mariainesdff
assignee:mariainesdff
4-26708
4 days ago
21-23315
21 days ago
21-24493
21 days
28508 euprunin
author:euprunin
chore(Algebra/Polynomial): golf entire `homOfEq_heq` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 2/2 Mathlib/Combinatorics/Quiver/Basic.lean 1 1 ['github-actions'] nobody
4-25106
4 days ago
4-72344
4 days ago
4-72327
4 days
28271 euprunin
author:euprunin
chore(LinearAlgebra/AffineSpace): golf 11 lines from `affineIndependent_iff_indicator_eq_of_affineCombination_eq` using `simp_all` ---
Show trace profiling of affineIndependent_iff_indicator_eq_of_affineCombination_eq: 150 ms before, 132 ms after 🎉 ### Trace profiling of `affineIndependent_iff_indicator_eq_of_affineCombination_eq` before PR 28271 ```diff diff --git a/Mathlib/LinearAlgebra/AffineSpace/Independent.lean b/Mathlib/LinearAlgebra/AffineSpace/Independent.lean index 3058d16cf1..470fccd236 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/Independent.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/Independent.lean @@ -171,6 +171,7 @@ theorem linearIndependent_set_iff_affineIndependent_vadd_union_singleton {s : Se exact Set.diff_singleton_eq_self fun h => hs 0 h rfl rw [h] +set_option trace.profiler true in /-- A family is affinely independent if and only if any affine combinations (with sum of weights 1) that evaluate to the same point have equal `Set.indicator`. -/ ``` ``` ℹ [1164/1164] Built Mathlib.LinearAlgebra.AffineSpace.Independent info: Mathlib/LinearAlgebra/AffineSpace/Independent.lean:175:0: [Elab.command] [0.018489] /-- A family is affinely independent if and only if any affine combinations (with sum of weights 1) that evaluate to the same point have equal `Set.indicator`. -/ theorem affineIndependent_iff_indicator_eq_of_affineCombination_eq (p : ι → P) : AffineIndependent k p ↔ ∀ (s1 s2 : Finset ι) (w1 w2 : ι → k), ∑ i ∈ s1, w1 i = 1 → ∑ i ∈ s2, w2 i = 1 → s1.affineCombination k p w1 = s2.affineCombination k p w2 → Set.indicator (↑s1) w1 = Set.indicator (↑s2) w2 := by classical constructor · intro ha s1 s2 w1 w2 hw1 hw2 heq ext i by_cases hi : i ∈ s1 ∪ s2 · rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi · rw [← Finset.mem_coe, Finset.coe_union] at hi have h₁ : Set.indicator (↑s1) w1 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_left _ i ↑s1 ↑s2) hi) h have h₂ : Set.indicator (↑s2) w2 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_right _ i ↑s2 ↑s1) hi) h simp [h₁, h₂] · intro ha s w hw hs i0 hi0 let w1 : ι → k := Function.update (Function.const ι 0) i0 1 have hw1 : ∑ i ∈ s, w1 i = 1 := by rw [Finset.sum_update_of_mem hi0] simp only [Finset.sum_const_zero, add_zero, const_apply] have hw1s : s.affineCombination k p w1 = p i0 := s.affineCombination_of_eq_one_of_eq_zero w1 p hi0 (Function.update_self ..) fun _ _ hne => Function.update_of_ne hne .. let w2 := w + w1 have hw2 : ∑ i ∈ s, w2 i = 1 := by simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] have hw2s : s.affineCombination k p w2 = p i0 := by simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] replace ha := ha s s w2 w1 hw2 hw1 (hw1s.symm ▸ hw2s) have hws : w2 i0 - w1 i0 = 0 := by rw [← Finset.mem_coe] at hi0 rw [← Set.indicator_of_mem hi0 w2, ← Set.indicator_of_mem hi0 w1, ha, sub_self] simpa [w2] using hws [Elab.definition.header] [0.013425] affineIndependent_iff_indicator_eq_of_affineCombination_eq [Elab.step] [0.013346] expected type: Prop, term AffineIndependent k p ↔ ∀ (s1 s2 : Finset ι) (w1 w2 : ι → k), ∑ i ∈ s1, w1 i = 1 → ∑ i ∈ s2, w2 i = 1 → s1.affineCombination k p w1 = s2.affineCombination k p w2 → Set.indicator (↑s1) w1 = Set.indicator (↑s2) w2 [Elab.step] [0.013341] expected type: Prop, term Iff✝ (AffineIndependent k p) (∀ (s1 s2 : Finset ι) (w1 w2 : ι → k), ∑ i ∈ s1, w1 i = 1 → ∑ i ∈ s2, w2 i = 1 → s1.affineCombination k p w1 = s2.affineCombination k p w2 → Set.indicator (↑s1) w1 = Set.indicator (↑s2) w2) [Elab.step] [0.012551] expected type: Prop, term ∀ (s1 s2 : Finset ι) (w1 w2 : ι → k), ∑ i ∈ s1, w1 i = 1 → ∑ i ∈ s2, w2 i = 1 → s1.affineCombination k p w1 = s2.affineCombination k p w2 → Set.indicator (↑s1) w1 = Set.indicator (↑s2) w2 [Elab.step] [0.012396] expected type: Sort ?u.14914, term ∑ i ∈ s1, w1 i = 1 → ∑ i ∈ s2, w2 i = 1 → s1.affineCombination k p w1 = s2.affineCombination k p w2 → Set.indicator (↑s1) w1 = Set.indicator (↑s2) w2 [Elab.step] [0.010706] expected type: Sort ?u.15054, term ∑ i ∈ s2, w2 i = 1 → s1.affineCombination k p w1 = s2.affineCombination k p w2 → Set.indicator (↑s1) w1 = Set.indicator (↑s2) w2 [Elab.step] [0.010237] expected type: Sort ?u.15095, term s1.affineCombination k p w1 = s2.affineCombination k p w2 → Set.indicator (↑s1) w1 = Set.indicator (↑s2) w2 info: Mathlib/LinearAlgebra/AffineSpace/Independent.lean:175:0: [Elab.async] [0.152838] elaborating proof of affineIndependent_iff_indicator_eq_of_affineCombination_eq [Elab.definition.value] [0.149786] affineIndependent_iff_indicator_eq_of_affineCombination_eq [Elab.step] [0.146682] classical constructor · intro ha s1 s2 w1 w2 hw1 hw2 heq ext i by_cases hi : i ∈ s1 ∪ s2 · rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi · rw [← Finset.mem_coe, Finset.coe_union] at hi have h₁ : Set.indicator (↑s1) w1 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_left _ i ↑s1 ↑s2) hi) h have h₂ : Set.indicator (↑s2) w2 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_right _ i ↑s2 ↑s1) hi) h simp [h₁, h₂] · intro ha s w hw hs i0 hi0 let w1 : ι → k := Function.update (Function.const ι 0) i0 1 have hw1 : ∑ i ∈ s, w1 i = 1 := by rw [Finset.sum_update_of_mem hi0] simp only [Finset.sum_const_zero, add_zero, const_apply] have hw1s : s.affineCombination k p w1 = p i0 := s.affineCombination_of_eq_one_of_eq_zero w1 p hi0 (Function.update_self ..) fun _ _ hne => Function.update_of_ne hne .. let w2 := w + w1 have hw2 : ∑ i ∈ s, w2 i = 1 := by simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] have hw2s : s.affineCombination k p w2 = p i0 := by simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] replace ha := ha s s w2 w1 hw2 hw1 (hw1s.symm ▸ hw2s) have hws : w2 i0 - w1 i0 = 0 := by rw [← Finset.mem_coe] at hi0 rw [← Set.indicator_of_mem hi0 w2, ← Set.indicator_of_mem hi0 w1, ha, sub_self] simpa [w2] using hws [Elab.step] [0.146678] classical constructor · intro ha s1 s2 w1 w2 hw1 hw2 heq ext i by_cases hi : i ∈ s1 ∪ s2 · rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi · rw [← Finset.mem_coe, Finset.coe_union] at hi have h₁ : Set.indicator (↑s1) w1 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_left _ i ↑s1 ↑s2) hi) h have h₂ : Set.indicator (↑s2) w2 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_right _ i ↑s2 ↑s1) hi) h simp [h₁, h₂] · intro ha s w hw hs i0 hi0 let w1 : ι → k := Function.update (Function.const ι 0) i0 1 have hw1 : ∑ i ∈ s, w1 i = 1 := by rw [Finset.sum_update_of_mem hi0] simp only [Finset.sum_const_zero, add_zero, const_apply] have hw1s : s.affineCombination k p w1 = p i0 := s.affineCombination_of_eq_one_of_eq_zero w1 p hi0 (Function.update_self ..) fun _ _ hne => Function.update_of_ne hne .. let w2 := w + w1 have hw2 : ∑ i ∈ s, w2 i = 1 := by simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] have hw2s : s.affineCombination k p w2 = p i0 := by simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] replace ha := ha s s w2 w1 hw2 hw1 (hw1s.symm ▸ hw2s) have hws : w2 i0 - w1 i0 = 0 := by rw [← Finset.mem_coe] at hi0 rw [← Set.indicator_of_mem hi0 w2, ← Set.indicator_of_mem hi0 w1, ha, sub_self] simpa [w2] using hws [Elab.step] [0.146673] classical constructor · intro ha s1 s2 w1 w2 hw1 hw2 heq ext i by_cases hi : i ∈ s1 ∪ s2 · rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi · rw [← Finset.mem_coe, Finset.coe_union] at hi have h₁ : Set.indicator (↑s1) w1 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_left _ i ↑s1 ↑s2) hi) h have h₂ : Set.indicator (↑s2) w2 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_right _ i ↑s2 ↑s1) hi) h simp [h₁, h₂] · intro ha s w hw hs i0 hi0 let w1 : ι → k := Function.update (Function.const ι 0) i0 1 have hw1 : ∑ i ∈ s, w1 i = 1 := by rw [Finset.sum_update_of_mem hi0] simp only [Finset.sum_const_zero, add_zero, const_apply] have hw1s : s.affineCombination k p w1 = p i0 := s.affineCombination_of_eq_one_of_eq_zero w1 p hi0 (Function.update_self ..) fun _ _ hne => Function.update_of_ne hne .. let w2 := w + w1 have hw2 : ∑ i ∈ s, w2 i = 1 := by simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] have hw2s : s.affineCombination k p w2 = p i0 := by simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] replace ha := ha s s w2 w1 hw2 hw1 (hw1s.symm ▸ hw2s) have hws : w2 i0 - w1 i0 = 0 := by rw [← Finset.mem_coe] at hi0 rw [← Set.indicator_of_mem hi0 w2, ← Set.indicator_of_mem hi0 w1, ha, sub_self] simpa [w2] using hws [Elab.step] [0.146464] constructor · intro ha s1 s2 w1 w2 hw1 hw2 heq ext i by_cases hi : i ∈ s1 ∪ s2 · rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi · rw [← Finset.mem_coe, Finset.coe_union] at hi have h₁ : Set.indicator (↑s1) w1 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_left _ i ↑s1 ↑s2) hi) h have h₂ : Set.indicator (↑s2) w2 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_right _ i ↑s2 ↑s1) hi) h simp [h₁, h₂] · intro ha s w hw hs i0 hi0 let w1 : ι → k := Function.update (Function.const ι 0) i0 1 have hw1 : ∑ i ∈ s, w1 i = 1 := by rw [Finset.sum_update_of_mem hi0] simp only [Finset.sum_const_zero, add_zero, const_apply] have hw1s : s.affineCombination k p w1 = p i0 := s.affineCombination_of_eq_one_of_eq_zero w1 p hi0 (Function.update_self ..) fun _ _ hne => Function.update_of_ne hne .. let w2 := w + w1 have hw2 : ∑ i ∈ s, w2 i = 1 := by simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] have hw2s : s.affineCombination k p w2 = p i0 := by simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] replace ha := ha s s w2 w1 hw2 hw1 (hw1s.symm ▸ hw2s) have hws : w2 i0 - w1 i0 = 0 := by rw [← Finset.mem_coe] at hi0 rw [← Set.indicator_of_mem hi0 w2, ← Set.indicator_of_mem hi0 w1, ha, sub_self] simpa [w2] using hws [Elab.step] [0.146457] constructor · intro ha s1 s2 w1 w2 hw1 hw2 heq ext i by_cases hi : i ∈ s1 ∪ s2 · rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi · rw [← Finset.mem_coe, Finset.coe_union] at hi have h₁ : Set.indicator (↑s1) w1 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_left _ i ↑s1 ↑s2) hi) h have h₂ : Set.indicator (↑s2) w2 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_right _ i ↑s2 ↑s1) hi) h simp [h₁, h₂] · intro ha s w hw hs i0 hi0 let w1 : ι → k := Function.update (Function.const ι 0) i0 1 have hw1 : ∑ i ∈ s, w1 i = 1 := by rw [Finset.sum_update_of_mem hi0] simp only [Finset.sum_const_zero, add_zero, const_apply] have hw1s : s.affineCombination k p w1 = p i0 := s.affineCombination_of_eq_one_of_eq_zero w1 p hi0 (Function.update_self ..) fun _ _ hne => Function.update_of_ne hne .. let w2 := w + w1 have hw2 : ∑ i ∈ s, w2 i = 1 := by simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] have hw2s : s.affineCombination k p w2 = p i0 := by simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] replace ha := ha s s w2 w1 hw2 hw1 (hw1s.symm ▸ hw2s) have hws : w2 i0 - w1 i0 = 0 := by rw [← Finset.mem_coe] at hi0 rw [← Set.indicator_of_mem hi0 w2, ← Set.indicator_of_mem hi0 w1, ha, sub_self] simpa [w2] using hws [Elab.step] [0.077731] · intro ha s1 s2 w1 w2 hw1 hw2 heq ext i by_cases hi : i ∈ s1 ∪ s2 · rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi · rw [← Finset.mem_coe, Finset.coe_union] at hi have h₁ : Set.indicator (↑s1) w1 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_left _ i ↑s1 ↑s2) hi) h have h₂ : Set.indicator (↑s2) w2 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_right _ i ↑s2 ↑s1) hi) h simp [h₁, h₂] [Elab.step] [0.077721] intro ha s1 s2 w1 w2 hw1 hw2 heq ext i by_cases hi : i ∈ s1 ∪ s2 · rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi · rw [← Finset.mem_coe, Finset.coe_union] at hi have h₁ : Set.indicator (↑s1) w1 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_left _ i ↑s1 ↑s2) hi) h have h₂ : Set.indicator (↑s2) w2 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_right _ i ↑s2 ↑s1) hi) h simp [h₁, h₂] [Elab.step] [0.077717] intro ha s1 s2 w1 w2 hw1 hw2 heq ext i by_cases hi : i ∈ s1 ∪ s2 · rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi · rw [← Finset.mem_coe, Finset.coe_union] at hi have h₁ : Set.indicator (↑s1) w1 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_left _ i ↑s1 ↑s2) hi) h have h₂ : Set.indicator (↑s2) w2 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_right _ i ↑s2 ↑s1) hi) h simp [h₁, h₂] [Elab.step] [0.048167] · rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi [Elab.step] [0.048160] rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi [Elab.step] [0.048155] rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi [Elab.step] [0.023372] have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] [Elab.step] [0.023334] focus refine no_implicit_lambda% (have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := ?body✝; ?_) case body✝ => with_annotate_state"by" (simp [hw1, hw2]) [Elab.step] [0.023329] refine no_implicit_lambda% (have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := ?body✝; ?_) case body✝ => with_annotate_state"by" (simp [hw1, hw2]) [Elab.step] [0.023326] refine no_implicit_lambda% (have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := ?body✝; ?_) case body✝ => with_annotate_state"by" (simp [hw1, hw2]) [Elab.step] [0.014578] case body✝ => with_annotate_state"by" (simp [hw1, hw2]) [Elab.step] [0.014523] with_annotate_state"by" (simp [hw1, hw2]) [Elab.step] [0.014520] with_annotate_state"by" (simp [hw1, hw2]) [Elab.step] [0.014516] with_annotate_state"by" (simp [hw1, hw2]) [Elab.step] [0.014513] (simp [hw1, hw2]) [Elab.step] [0.014509] simp [hw1, hw2] [Elab.step] [0.014506] simp [hw1, hw2] [Elab.step] [0.014499] simp [hw1, hw2] [Elab.step] [0.010284] exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi [Elab.step] [0.026518] · rw [← Finset.mem_coe, Finset.coe_union] at hi have h₁ : Set.indicator (↑s1) w1 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_left _ i ↑s1 ↑s2) hi) h have h₂ : Set.indicator (↑s2) w2 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_right _ i ↑s2 ↑s1) hi) h simp [h₁, h₂] [Elab.step] [0.026312] rw [← Finset.mem_coe, Finset.coe_union] at hi have h₁ : Set.indicator (↑s1) w1 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_left _ i ↑s1 ↑s2) hi) h have h₂ : Set.indicator (↑s2) w2 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_right _ i ↑s2 ↑s1) hi) h simp [h₁, h₂] [Elab.step] [0.026305] rw [← Finset.mem_coe, Finset.coe_union] at hi have h₁ : Set.indicator (↑s1) w1 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_left _ i ↑s1 ↑s2) hi) h have h₂ : Set.indicator (↑s2) w2 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_right _ i ↑s2 ↑s1) hi) h simp [h₁, h₂] [Elab.step] [0.010278] have h₁ : Set.indicator (↑s1) w1 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_left _ i ↑s1 ↑s2) hi) h [Elab.step] [0.010254] focus refine no_implicit_lambda% (have h₁ : Set.indicator (↑s1) w1 i = 0 := ?body✝; ?_) case body✝ => with_annotate_state"by" ( simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_left _ i ↑s1 ↑s2) hi) h) [Elab.step] [0.010250] refine no_implicit_lambda% (have h₁ : Set.indicator (↑s1) w1 i = 0 := ?body✝; ?_) case body✝ => with_annotate_state"by" ( simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_left _ i ↑s1 ↑s2) hi) h) [Elab.step] [0.010246] refine no_implicit_lambda% (have h₁ : Set.indicator (↑s1) w1 i = 0 := ?body✝; ?_) case body✝ => with_annotate_state"by" ( simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_left _ i ↑s1 ↑s2) hi) h) [Elab.step] [0.010365] have h₂ : Set.indicator (↑s2) w2 i = 0 := by simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_right _ i ↑s2 ↑s1) hi) h [Elab.step] [0.010302] focus refine no_implicit_lambda% (have h₂ : Set.indicator (↑s2) w2 i = 0 := ?body✝; ?_) case body✝ => with_annotate_state"by" ( simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_right _ i ↑s2 ↑s1) hi) h) [Elab.step] [0.010297] refine no_implicit_lambda% (have h₂ : Set.indicator (↑s2) w2 i = 0 := ?body✝; ?_) case body✝ => with_annotate_state"by" ( simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_right _ i ↑s2 ↑s1) hi) h) [Elab.step] [0.010293] refine no_implicit_lambda% (have h₂ : Set.indicator (↑s2) w2 i = 0 := ?body✝; ?_) case body✝ => with_annotate_state"by" ( simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] intro h by_contra exact (mt (@Set.mem_union_right _ i ↑s2 ↑s1) hi) h) [Elab.step] [0.068628] · intro ha s w hw hs i0 hi0 let w1 : ι → k := Function.update (Function.const ι 0) i0 1 have hw1 : ∑ i ∈ s, w1 i = 1 := by rw [Finset.sum_update_of_mem hi0] simp only [Finset.sum_const_zero, add_zero, const_apply] have hw1s : s.affineCombination k p w1 = p i0 := s.affineCombination_of_eq_one_of_eq_zero w1 p hi0 (Function.update_self ..) fun _ _ hne => Function.update_of_ne hne .. let w2 := w + w1 have hw2 : ∑ i ∈ s, w2 i = 1 := by simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] have hw2s : s.affineCombination k p w2 = p i0 := by simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] replace ha := ha s s w2 w1 hw2 hw1 (hw1s.symm ▸ hw2s) have hws : w2 i0 - w1 i0 = 0 := by rw [← Finset.mem_coe] at hi0 rw [← Set.indicator_of_mem hi0 w2, ← Set.indicator_of_mem hi0 w1, ha, sub_self] simpa [w2] using hws [Elab.step] [0.068581] intro ha s w hw hs i0 hi0 let w1 : ι → k := Function.update (Function.const ι 0) i0 1 have hw1 : ∑ i ∈ s, w1 i = 1 := by rw [Finset.sum_update_of_mem hi0] simp only [Finset.sum_const_zero, add_zero, const_apply] have hw1s : s.affineCombination k p w1 = p i0 := s.affineCombination_of_eq_one_of_eq_zero w1 p hi0 (Function.update_self ..) fun _ _ hne => Function.update_of_ne hne .. let w2 := w + w1 have hw2 : ∑ i ∈ s, w2 i = 1 := by simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] have hw2s : s.affineCombination k p w2 = p i0 := by simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] replace ha := ha s s w2 w1 hw2 hw1 (hw1s.symm ▸ hw2s) have hws : w2 i0 - w1 i0 = 0 := by rw [← Finset.mem_coe] at hi0 rw [← Set.indicator_of_mem hi0 w2, ← Set.indicator_of_mem hi0 w1, ha, sub_self] simpa [w2] using hws [Elab.step] [0.068575] intro ha s w hw hs i0 hi0 let w1 : ι → k := Function.update (Function.const ι 0) i0 1 have hw1 : ∑ i ∈ s, w1 i = 1 := by rw [Finset.sum_update_of_mem hi0] simp only [Finset.sum_const_zero, add_zero, const_apply] have hw1s : s.affineCombination k p w1 = p i0 := s.affineCombination_of_eq_one_of_eq_zero w1 p hi0 (Function.update_self ..) fun _ _ hne => Function.update_of_ne hne .. let w2 := w + w1 have hw2 : ∑ i ∈ s, w2 i = 1 := by simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] have hw2s : s.affineCombination k p w2 = p i0 := by simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] replace ha := ha s s w2 w1 hw2 hw1 (hw1s.symm ▸ hw2s) have hws : w2 i0 - w1 i0 = 0 := by rw [← Finset.mem_coe] at hi0 rw [← Set.indicator_of_mem hi0 w2, ← Set.indicator_of_mem hi0 w1, ha, sub_self] simpa [w2] using hws [Elab.step] [0.014691] have hw2 : ∑ i ∈ s, w2 i = 1 := by simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] [Elab.step] [0.014544] focus refine no_implicit_lambda% (have hw2 : ∑ i ∈ s, w2 i = 1 := ?body✝; ?_) case body✝ => with_annotate_state"by" (simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add]) [Elab.step] [0.014538] refine no_implicit_lambda% (have hw2 : ∑ i ∈ s, w2 i = 1 := ?body✝; ?_) case body✝ => with_annotate_state"by" (simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add]) [Elab.step] [0.014534] refine no_implicit_lambda% (have hw2 : ∑ i ∈ s, w2 i = 1 := ?body✝; ?_) case body✝ => with_annotate_state"by" (simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add]) [Elab.step] [0.012772] case body✝ => with_annotate_state"by" (simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add]) [Elab.step] [0.012745] with_annotate_state"by" (simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add]) [Elab.step] [0.012742] with_annotate_state"by" (simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add]) [Elab.step] [0.012738] with_annotate_state"by" (simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add]) [Elab.step] [0.012734] (simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add]) [Elab.step] [0.012730] simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] [Elab.step] [0.012727] simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] [Elab.step] [0.012720] simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] [Elab.step] [0.017729] have hw2s : s.affineCombination k p w2 = p i0 := by simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] [Elab.step] [0.017704] focus refine no_implicit_lambda% (have hw2s : s.affineCombination k p w2 = p i0 := ?body✝; ?_) case body✝ => with_annotate_state"by" (simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd]) [Elab.step] [0.017699] refine no_implicit_lambda% (have hw2s : s.affineCombination k p w2 = p i0 := ?body✝; ?_) case body✝ => with_annotate_state"by" (simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd]) [Elab.step] [0.017695] refine no_implicit_lambda% (have hw2s : s.affineCombination k p w2 = p i0 := ?body✝; ?_) case body✝ => with_annotate_state"by" (simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd]) [Elab.step] [0.014054] case body✝ => with_annotate_state"by" (simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd]) [Elab.step] [0.013988] with_annotate_state"by" (simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd]) [Elab.step] [0.013985] with_annotate_state"by" (simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd]) [Elab.step] [0.013982] with_annotate_state"by" (simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd]) [Elab.step] [0.013979] (simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd]) [Elab.step] [0.013976] simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] [Elab.step] [0.013973] simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] [Elab.step] [0.013967] simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] Build completed successfully. ``` ### Trace profiling of `affineIndependent_iff_indicator_eq_of_affineCombination_eq` after PR 28271 ```diff diff --git a/Mathlib/LinearAlgebra/AffineSpace/Independent.lean b/Mathlib/LinearAlgebra/AffineSpace/Independent.lean index 3058d16cf1..64f9f68b47 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/Independent.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/Independent.lean @@ -171,6 +171,7 @@ theorem linearIndependent_set_iff_affineIndependent_vadd_union_singleton {s : Se exact Set.diff_singleton_eq_self fun h => hs 0 h rfl rw [h] +set_option trace.profiler true in /-- A family is affinely independent if and only if any affine combinations (with sum of weights 1) that evaluate to the same point have equal `Set.indicator`. -/ @@ -195,18 +196,7 @@ theorem affineIndependent_iff_indicator_eq_of_affineCombination_eq (p : ι → P Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi - · rw [← Finset.mem_coe, Finset.coe_union] at hi - have h₁ : Set.indicator (↑s1) w1 i = 0 := by - simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] - intro h - by_contra - exact (mt (@Set.mem_union_left _ i ↑s1 ↑s2) hi) h - have h₂ : Set.indicator (↑s2) w2 i = 0 := by - simp only [Set.indicator, Finset.mem_coe, ite_eq_right_iff] - intro h - by_contra - exact (mt (@Set.mem_union_right _ i ↑s2 ↑s1) hi) h - simp [h₁, h₂] + · simp_all · intro ha s w hw hs i0 hi0 let w1 : ι → k := Function.update (Function.const ι 0) i0 1 have hw1 : ∑ i ∈ s, w1 i = 1 := by ``` ``` ℹ [1164/1164] Built Mathlib.LinearAlgebra.AffineSpace.Independent info: Mathlib/LinearAlgebra/AffineSpace/Independent.lean:175:0: [Elab.command] [0.018359] /-- A family is affinely independent if and only if any affine combinations (with sum of weights 1) that evaluate to the same point have equal `Set.indicator`. -/ theorem affineIndependent_iff_indicator_eq_of_affineCombination_eq (p : ι → P) : AffineIndependent k p ↔ ∀ (s1 s2 : Finset ι) (w1 w2 : ι → k), ∑ i ∈ s1, w1 i = 1 → ∑ i ∈ s2, w2 i = 1 → s1.affineCombination k p w1 = s2.affineCombination k p w2 → Set.indicator (↑s1) w1 = Set.indicator (↑s2) w2 := by classical constructor · intro ha s1 s2 w1 w2 hw1 hw2 heq ext i by_cases hi : i ∈ s1 ∪ s2 · rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi · simp_all · intro ha s w hw hs i0 hi0 let w1 : ι → k := Function.update (Function.const ι 0) i0 1 have hw1 : ∑ i ∈ s, w1 i = 1 := by rw [Finset.sum_update_of_mem hi0] simp only [Finset.sum_const_zero, add_zero, const_apply] have hw1s : s.affineCombination k p w1 = p i0 := s.affineCombination_of_eq_one_of_eq_zero w1 p hi0 (Function.update_self ..) fun _ _ hne => Function.update_of_ne hne .. let w2 := w + w1 have hw2 : ∑ i ∈ s, w2 i = 1 := by simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] have hw2s : s.affineCombination k p w2 = p i0 := by simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] replace ha := ha s s w2 w1 hw2 hw1 (hw1s.symm ▸ hw2s) have hws : w2 i0 - w1 i0 = 0 := by rw [← Finset.mem_coe] at hi0 rw [← Set.indicator_of_mem hi0 w2, ← Set.indicator_of_mem hi0 w1, ha, sub_self] simpa [w2] using hws [Elab.definition.header] [0.014185] affineIndependent_iff_indicator_eq_of_affineCombination_eq [Elab.step] [0.014114] expected type: Prop, term AffineIndependent k p ↔ ∀ (s1 s2 : Finset ι) (w1 w2 : ι → k), ∑ i ∈ s1, w1 i = 1 → ∑ i ∈ s2, w2 i = 1 → s1.affineCombination k p w1 = s2.affineCombination k p w2 → Set.indicator (↑s1) w1 = Set.indicator (↑s2) w2 [Elab.step] [0.014109] expected type: Prop, term Iff✝ (AffineIndependent k p) (∀ (s1 s2 : Finset ι) (w1 w2 : ι → k), ∑ i ∈ s1, w1 i = 1 → ∑ i ∈ s2, w2 i = 1 → s1.affineCombination k p w1 = s2.affineCombination k p w2 → Set.indicator (↑s1) w1 = Set.indicator (↑s2) w2) [Elab.step] [0.013355] expected type: Prop, term ∀ (s1 s2 : Finset ι) (w1 w2 : ι → k), ∑ i ∈ s1, w1 i = 1 → ∑ i ∈ s2, w2 i = 1 → s1.affineCombination k p w1 = s2.affineCombination k p w2 → Set.indicator (↑s1) w1 = Set.indicator (↑s2) w2 [Elab.step] [0.013210] expected type: Sort ?u.14914, term ∑ i ∈ s1, w1 i = 1 → ∑ i ∈ s2, w2 i = 1 → s1.affineCombination k p w1 = s2.affineCombination k p w2 → Set.indicator (↑s1) w1 = Set.indicator (↑s2) w2 [Elab.step] [0.010454] expected type: Sort ?u.15054, term ∑ i ∈ s2, w2 i = 1 → s1.affineCombination k p w1 = s2.affineCombination k p w2 → Set.indicator (↑s1) w1 = Set.indicator (↑s2) w2 info: Mathlib/LinearAlgebra/AffineSpace/Independent.lean:175:0: [Elab.async] [0.134788] elaborating proof of affineIndependent_iff_indicator_eq_of_affineCombination_eq [Elab.definition.value] [0.131747] affineIndependent_iff_indicator_eq_of_affineCombination_eq [Elab.step] [0.128786] classical constructor · intro ha s1 s2 w1 w2 hw1 hw2 heq ext i by_cases hi : i ∈ s1 ∪ s2 · rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi · simp_all · intro ha s w hw hs i0 hi0 let w1 : ι → k := Function.update (Function.const ι 0) i0 1 have hw1 : ∑ i ∈ s, w1 i = 1 := by rw [Finset.sum_update_of_mem hi0] simp only [Finset.sum_const_zero, add_zero, const_apply] have hw1s : s.affineCombination k p w1 = p i0 := s.affineCombination_of_eq_one_of_eq_zero w1 p hi0 (Function.update_self ..) fun _ _ hne => Function.update_of_ne hne .. let w2 := w + w1 have hw2 : ∑ i ∈ s, w2 i = 1 := by simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] have hw2s : s.affineCombination k p w2 = p i0 := by simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] replace ha := ha s s w2 w1 hw2 hw1 (hw1s.symm ▸ hw2s) have hws : w2 i0 - w1 i0 = 0 := by rw [← Finset.mem_coe] at hi0 rw [← Set.indicator_of_mem hi0 w2, ← Set.indicator_of_mem hi0 w1, ha, sub_self] simpa [w2] using hws [Elab.step] [0.128780] classical constructor · intro ha s1 s2 w1 w2 hw1 hw2 heq ext i by_cases hi : i ∈ s1 ∪ s2 · rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi · simp_all · intro ha s w hw hs i0 hi0 let w1 : ι → k := Function.update (Function.const ι 0) i0 1 have hw1 : ∑ i ∈ s, w1 i = 1 := by rw [Finset.sum_update_of_mem hi0] simp only [Finset.sum_const_zero, add_zero, const_apply] have hw1s : s.affineCombination k p w1 = p i0 := s.affineCombination_of_eq_one_of_eq_zero w1 p hi0 (Function.update_self ..) fun _ _ hne => Function.update_of_ne hne .. let w2 := w + w1 have hw2 : ∑ i ∈ s, w2 i = 1 := by simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] have hw2s : s.affineCombination k p w2 = p i0 := by simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] replace ha := ha s s w2 w1 hw2 hw1 (hw1s.symm ▸ hw2s) have hws : w2 i0 - w1 i0 = 0 := by rw [← Finset.mem_coe] at hi0 rw [← Set.indicator_of_mem hi0 w2, ← Set.indicator_of_mem hi0 w1, ha, sub_self] simpa [w2] using hws [Elab.step] [0.128774] classical constructor · intro ha s1 s2 w1 w2 hw1 hw2 heq ext i by_cases hi : i ∈ s1 ∪ s2 · rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi · simp_all · intro ha s w hw hs i0 hi0 let w1 : ι → k := Function.update (Function.const ι 0) i0 1 have hw1 : ∑ i ∈ s, w1 i = 1 := by rw [Finset.sum_update_of_mem hi0] simp only [Finset.sum_const_zero, add_zero, const_apply] have hw1s : s.affineCombination k p w1 = p i0 := s.affineCombination_of_eq_one_of_eq_zero w1 p hi0 (Function.update_self ..) fun _ _ hne => Function.update_of_ne hne .. let w2 := w + w1 have hw2 : ∑ i ∈ s, w2 i = 1 := by simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] have hw2s : s.affineCombination k p w2 = p i0 := by simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] replace ha := ha s s w2 w1 hw2 hw1 (hw1s.symm ▸ hw2s) have hws : w2 i0 - w1 i0 = 0 := by rw [← Finset.mem_coe] at hi0 rw [← Set.indicator_of_mem hi0 w2, ← Set.indicator_of_mem hi0 w1, ha, sub_self] simpa [w2] using hws [Elab.step] [0.128544] constructor · intro ha s1 s2 w1 w2 hw1 hw2 heq ext i by_cases hi : i ∈ s1 ∪ s2 · rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi · simp_all · intro ha s w hw hs i0 hi0 let w1 : ι → k := Function.update (Function.const ι 0) i0 1 have hw1 : ∑ i ∈ s, w1 i = 1 := by rw [Finset.sum_update_of_mem hi0] simp only [Finset.sum_const_zero, add_zero, const_apply] have hw1s : s.affineCombination k p w1 = p i0 := s.affineCombination_of_eq_one_of_eq_zero w1 p hi0 (Function.update_self ..) fun _ _ hne => Function.update_of_ne hne .. let w2 := w + w1 have hw2 : ∑ i ∈ s, w2 i = 1 := by simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] have hw2s : s.affineCombination k p w2 = p i0 := by simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] replace ha := ha s s w2 w1 hw2 hw1 (hw1s.symm ▸ hw2s) have hws : w2 i0 - w1 i0 = 0 := by rw [← Finset.mem_coe] at hi0 rw [← Set.indicator_of_mem hi0 w2, ← Set.indicator_of_mem hi0 w1, ha, sub_self] simpa [w2] using hws [Elab.step] [0.128537] constructor · intro ha s1 s2 w1 w2 hw1 hw2 heq ext i by_cases hi : i ∈ s1 ∪ s2 · rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi · simp_all · intro ha s w hw hs i0 hi0 let w1 : ι → k := Function.update (Function.const ι 0) i0 1 have hw1 : ∑ i ∈ s, w1 i = 1 := by rw [Finset.sum_update_of_mem hi0] simp only [Finset.sum_const_zero, add_zero, const_apply] have hw1s : s.affineCombination k p w1 = p i0 := s.affineCombination_of_eq_one_of_eq_zero w1 p hi0 (Function.update_self ..) fun _ _ hne => Function.update_of_ne hne .. let w2 := w + w1 have hw2 : ∑ i ∈ s, w2 i = 1 := by simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] have hw2s : s.affineCombination k p w2 = p i0 := by simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] replace ha := ha s s w2 w1 hw2 hw1 (hw1s.symm ▸ hw2s) have hws : w2 i0 - w1 i0 = 0 := by rw [← Finset.mem_coe] at hi0 rw [← Set.indicator_of_mem hi0 w2, ← Set.indicator_of_mem hi0 w1, ha, sub_self] simpa [w2] using hws [Elab.step] [0.060569] · intro ha s1 s2 w1 w2 hw1 hw2 heq ext i by_cases hi : i ∈ s1 ∪ s2 · rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi · simp_all [Elab.step] [0.060557] intro ha s1 s2 w1 w2 hw1 hw2 heq ext i by_cases hi : i ∈ s1 ∪ s2 · rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi · simp_all [Elab.step] [0.060553] intro ha s1 s2 w1 w2 hw1 hw2 heq ext i by_cases hi : i ∈ s1 ∪ s2 · rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi · simp_all [Elab.step] [0.047014] · rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi [Elab.step] [0.047005] rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi [Elab.step] [0.047001] rw [← sub_eq_zero] rw [← Finset.sum_indicator_subset w1 (s1.subset_union_left (s₂ := s2))] at hw1 rw [← Finset.sum_indicator_subset w2 (s1.subset_union_right)] at hw2 have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] rw [Finset.affineCombination_indicator_subset w1 p (s1.subset_union_left (s₂ := s2)), Finset.affineCombination_indicator_subset w2 p s1.subset_union_right, ← @vsub_eq_zero_iff_eq V, Finset.affineCombination_vsub] at heq exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi [Elab.step] [0.023015] have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := by simp [hw1, hw2] [Elab.step] [0.022978] focus refine no_implicit_lambda% (have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := ?body✝; ?_) case body✝ => with_annotate_state"by" (simp [hw1, hw2]) [Elab.step] [0.022974] refine no_implicit_lambda% (have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := ?body✝; ?_) case body✝ => with_annotate_state"by" (simp [hw1, hw2]) [Elab.step] [0.022971] refine no_implicit_lambda% (have hws : (∑ i ∈ s1 ∪ s2, (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) i) = 0 := ?body✝; ?_) case body✝ => with_annotate_state"by" (simp [hw1, hw2]) [Elab.step] [0.014786] case body✝ => with_annotate_state"by" (simp [hw1, hw2]) [Elab.step] [0.014731] with_annotate_state"by" (simp [hw1, hw2]) [Elab.step] [0.014728] with_annotate_state"by" (simp [hw1, hw2]) [Elab.step] [0.014725] with_annotate_state"by" (simp [hw1, hw2]) [Elab.step] [0.014721] (simp [hw1, hw2]) [Elab.step] [0.014718] simp [hw1, hw2] [Elab.step] [0.014715] simp [hw1, hw2] [Elab.step] [0.014709] simp [hw1, hw2] [Elab.step] [0.010380] exact ha (s1 ∪ s2) (Set.indicator (↑s1) w1 - Set.indicator (↑s2) w2) hws heq i hi [Elab.step] [0.010297] · simp_all [Elab.step] [0.010038] simp_all [Elab.step] [0.010035] simp_all [Elab.step] [0.010030] simp_all [Elab.step] [0.067859] · intro ha s w hw hs i0 hi0 let w1 : ι → k := Function.update (Function.const ι 0) i0 1 have hw1 : ∑ i ∈ s, w1 i = 1 := by rw [Finset.sum_update_of_mem hi0] simp only [Finset.sum_const_zero, add_zero, const_apply] have hw1s : s.affineCombination k p w1 = p i0 := s.affineCombination_of_eq_one_of_eq_zero w1 p hi0 (Function.update_self ..) fun _ _ hne => Function.update_of_ne hne .. let w2 := w + w1 have hw2 : ∑ i ∈ s, w2 i = 1 := by simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] have hw2s : s.affineCombination k p w2 = p i0 := by simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] replace ha := ha s s w2 w1 hw2 hw1 (hw1s.symm ▸ hw2s) have hws : w2 i0 - w1 i0 = 0 := by rw [← Finset.mem_coe] at hi0 rw [← Set.indicator_of_mem hi0 w2, ← Set.indicator_of_mem hi0 w1, ha, sub_self] simpa [w2] using hws [Elab.step] [0.067812] intro ha s w hw hs i0 hi0 let w1 : ι → k := Function.update (Function.const ι 0) i0 1 have hw1 : ∑ i ∈ s, w1 i = 1 := by rw [Finset.sum_update_of_mem hi0] simp only [Finset.sum_const_zero, add_zero, const_apply] have hw1s : s.affineCombination k p w1 = p i0 := s.affineCombination_of_eq_one_of_eq_zero w1 p hi0 (Function.update_self ..) fun _ _ hne => Function.update_of_ne hne .. let w2 := w + w1 have hw2 : ∑ i ∈ s, w2 i = 1 := by simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] have hw2s : s.affineCombination k p w2 = p i0 := by simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] replace ha := ha s s w2 w1 hw2 hw1 (hw1s.symm ▸ hw2s) have hws : w2 i0 - w1 i0 = 0 := by rw [← Finset.mem_coe] at hi0 rw [← Set.indicator_of_mem hi0 w2, ← Set.indicator_of_mem hi0 w1, ha, sub_self] simpa [w2] using hws [Elab.step] [0.067806] intro ha s w hw hs i0 hi0 let w1 : ι → k := Function.update (Function.const ι 0) i0 1 have hw1 : ∑ i ∈ s, w1 i = 1 := by rw [Finset.sum_update_of_mem hi0] simp only [Finset.sum_const_zero, add_zero, const_apply] have hw1s : s.affineCombination k p w1 = p i0 := s.affineCombination_of_eq_one_of_eq_zero w1 p hi0 (Function.update_self ..) fun _ _ hne => Function.update_of_ne hne .. let w2 := w + w1 have hw2 : ∑ i ∈ s, w2 i = 1 := by simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] have hw2s : s.affineCombination k p w2 = p i0 := by simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] replace ha := ha s s w2 w1 hw2 hw1 (hw1s.symm ▸ hw2s) have hws : w2 i0 - w1 i0 = 0 := by rw [← Finset.mem_coe] at hi0 rw [← Set.indicator_of_mem hi0 w2, ← Set.indicator_of_mem hi0 w1, ha, sub_self] simpa [w2] using hws [Elab.step] [0.014941] have hw2 : ∑ i ∈ s, w2 i = 1 := by simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] [Elab.step] [0.014792] focus refine no_implicit_lambda% (have hw2 : ∑ i ∈ s, w2 i = 1 := ?body✝; ?_) case body✝ => with_annotate_state"by" (simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add]) [Elab.step] [0.014788] refine no_implicit_lambda% (have hw2 : ∑ i ∈ s, w2 i = 1 := ?body✝; ?_) case body✝ => with_annotate_state"by" (simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add]) [Elab.step] [0.014785] refine no_implicit_lambda% (have hw2 : ∑ i ∈ s, w2 i = 1 := ?body✝; ?_) case body✝ => with_annotate_state"by" (simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add]) [Elab.step] [0.012975] case body✝ => with_annotate_state"by" (simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add]) [Elab.step] [0.012948] with_annotate_state"by" (simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add]) [Elab.step] [0.012944] with_annotate_state"by" (simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add]) [Elab.step] [0.012940] with_annotate_state"by" (simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add]) [Elab.step] [0.012936] (simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add]) [Elab.step] [0.012934] simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] [Elab.step] [0.012930] simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] [Elab.step] [0.012924] simp_all only [w2, Pi.add_apply, Finset.sum_add_distrib, zero_add] [Elab.step] [0.019018] have hw2s : s.affineCombination k p w2 = p i0 := by simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] [Elab.step] [0.018991] focus refine no_implicit_lambda% (have hw2s : s.affineCombination k p w2 = p i0 := ?body✝; ?_) case body✝ => with_annotate_state"by" (simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd]) [Elab.step] [0.018986] refine no_implicit_lambda% (have hw2s : s.affineCombination k p w2 = p i0 := ?body✝; ?_) case body✝ => with_annotate_state"by" (simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd]) [Elab.step] [0.018982] refine no_implicit_lambda% (have hw2s : s.affineCombination k p w2 = p i0 := ?body✝; ?_) case body✝ => with_annotate_state"by" (simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd]) [Elab.step] [0.015284] case body✝ => with_annotate_state"by" (simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd]) [Elab.step] [0.015215] with_annotate_state"by" (simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd]) [Elab.step] [0.015212] with_annotate_state"by" (simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd]) [Elab.step] [0.015208] with_annotate_state"by" (simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd]) [Elab.step] [0.015205] (simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd]) [Elab.step] [0.015202] simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] [Elab.step] [0.015198] simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] [Elab.step] [0.015193] simp_all only [w2, ← Finset.weightedVSub_vadd_affineCombination, zero_vadd] Build completed successfully. ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-algebra
label:t-algebra$
1/12 Mathlib/LinearAlgebra/AffineSpace/Independent.lean 1 3 ['euprunin', 'github-actions', 'grunweg'] nobody
4-15502
4 days ago
4-15503
4 days ago
4-18380
4 days
27129 javra
author:javra
feat(CategoryTheory/Enriched): the bicategory of `V`-enriched categories This provides an instantiation of `V`-enriched categories as a bicategory. It also replaces the old definition of the category of enriched functors by a category that uses natural transformations between `F.forget` and `G.forget` as morphisms, as opposed to the previously used notion of enriched natural transformations. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) infinity-cosmos t-category-theory 222/93 Mathlib.lean,Mathlib/CategoryTheory/Enriched/Basic.lean,Mathlib/CategoryTheory/Enriched/EnrichedCat.lean,Mathlib/CategoryTheory/Enriched/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Category.lean 5 8 ['github-actions', 'javra', 'robin-carlier'] nobody
4-13672
4 days ago
4-13672
4 days ago
4-13706
4 days
23594 YaelDillies
author:YaelDillies
chore: rename `dmaSMul_apply` to `domSMul_apply` It's clearer this way, as the `ma` in `dmaSMul` already means "Multiplicative Action", ie `smul`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
4/2 Mathlib/MeasureTheory/Group/MeasurableEquiv.lean,Mathlib/MeasureTheory/Measure/Haar/DistribChar.lean 2 13 ['YaelDillies', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot', 'urkud'] mattrobball
assignee:mattrobball
4-1425
4 days ago
15-33175
15 days ago
39-8424
39 days
24804 Moises-Herradon-Cueto
author:Moises-Herradon-Cueto
feat(CategoryTheory/Limits/Preserves/Shapes): show that if a functor preserves limits, so does `Over.post` If a functor `F` preserves limits (of a certain shape, finite, or of a certain size), then so does the induced functor on `Over` categories. From Toric Co-authored-by: Yaël Dillies --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric new-contributor t-category-theory 125/0 Mathlib.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Over.lean,Mathlib/CategoryTheory/WithTerminal/Basic.lean 3 17 ['Moises-Herradon-Cueto', 'YaelDillies', 'erdOne', 'github-actions', 'joelriou'] riccardobrasca
assignee:riccardobrasca
4-1425
4 days ago
85-38007
2 months ago
91-42400
91 days
26107 xroblot
author:xroblot
feat(NumberField/IsCM): first results about the action of `complexConjugation` on units Define the subgroup of real units of a CM field and prove that it is equal to the subgroup of units fixed by the complex conjugation. --- - [x] depends on: #23536 - [x] depends on: #23453 - [x] depends on: #26746 t-number-theory 170/8 Mathlib/GroupTheory/GroupAction/FixedPoints.lean,Mathlib/NumberTheory/NumberField/CMField.lean,Mathlib/NumberTheory/NumberField/Units/Basic.lean 3 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'xroblot'] tb65536
assignee:tb65536
4-1423
4 days ago
11-4291
11 days ago
11-9054
11 days
27839 CBirkbeck
author:CBirkbeck
feat: normalised Eisenstein series define normalised Eisenstein series in preparation for giving their q-expansions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 11/0 Mathlib/NumberTheory/ModularForms/EisensteinSeries/Basic.lean 1 3 ['Ruben-VandeVelde', 'github-actions'] alreadydone
assignee:alreadydone
4-1422
4 days ago
19-31775
19 days ago
19-31825
19 days
28019 euprunin
author:euprunin
chore: replace `aesop_cat` with `simp` where applicable 2/2 Mathlib/CategoryTheory/Closed/Cartesian.lean,Mathlib/CategoryTheory/Localization/Construction.lean 2 9 ['euprunin', 'github-actions', 'grunweg', 'leanprover-bot', 'mathlib4-merge-conflict-bot'] dwrensha
assignee:dwrensha
4-1421
4 days ago
13-37153
13 days ago
13-67271
13 days
28122 j-loreaux
author:j-loreaux
refactor: change `unitary.map` to take an explicit morphism as an argument, rather than a morphism class This also defines `unitary.mapEquiv` as the induced equivalence on unitary groups, and provides various functoriality lemmas for both definitions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
70/8 Mathlib/Algebra/Star/MonoidHom.lean,Mathlib/Algebra/Star/Unitary.lean 2 1 ['github-actions'] mattrobball
assignee:mattrobball
4-1420
4 days ago
12-1625
12 days ago
12-33886
12 days
28131 plp127
author:plp127
feat: forgetful functor from over category preserves connected limits Prove that `Over.forget` preserves connected limits. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 18/2 Mathlib/CategoryTheory/Limits/Constructions/Over/Connected.lean 1 2 ['Vtec234', 'github-actions'] b-mehta
assignee:b-mehta
4-1419
4 days ago
12-10047
12 days ago
12-10094
12 days
28141 YaelDillies
author:YaelDillies
chore: deprecate `BialgHom.coe_toLinearMap` `BialgHom.toLinearMap` is a fake projection. From Toric --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory toric easy 5/11 Mathlib/RingTheory/Bialgebra/Hom.lean 1 8 ['YaelDillies', 'eric-wieser', 'github-actions'] alreadydone
assignee:alreadydone
4-1418
4 days ago
11-64947
11 days ago
11-64946
11 days
28149 Equilibris
author:Equilibris
feat: dcongr_heq `dcongr_heq` is very useful for proofs about typevecs as these are highly dependent --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-logic 14/0 Mathlib/Logic/Basic.lean 1 11 ['Equilibris', 'alexkeizer', 'github-actions', 'madvorak'] fpvandoorn
assignee:fpvandoorn
4-1418
4 days ago
11-58241
11 days ago
11-58286
11 days
28538 euprunin
author:euprunin
chore(Algebra/ContinuedFractions/Computation): golf entire `coe_of_h_rat_eq` using `simp_all` ---
Show trace profiling of coe_of_h_rat_eq: <10 ms before, <10 ms after 🎉 ### Trace profiling of `coe_of_h_rat_eq` before PR 28538 ```diff diff --git a/Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean b/Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean index 3f6d63f8e7..5dcc698cb7 100644 --- a/Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean +++ b/Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean @@ -188,6 +188,7 @@ end IntFractPair /-! Now we lift the coercion results to the continued fraction computation. -/ +set_option trace.profiler true in theorem coe_of_h_rat_eq (v_eq_q : v = (↑q : K)) : (↑((of q).h : ℚ) : K) = (of v).h := by unfold of IntFractPair.seq1 rw [← IntFractPair.coe_of_rat_eq v_eq_q] ``` ``` ✔ [918/918] Built Mathlib.Algebra.ContinuedFractions.Computation.TerminatesIffRat (1.3s) Build completed successfully (918 jobs). ``` ### Trace profiling of `coe_of_h_rat_eq` after PR 28538 ```diff diff --git a/Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean b/Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean index 3f6d63f8e7..e9036a925b 100644 --- a/Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean +++ b/Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean @@ -188,10 +188,9 @@ end IntFractPair /-! Now we lift the coercion results to the continued fraction computation. -/ +set_option trace.profiler true in theorem coe_of_h_rat_eq (v_eq_q : v = (↑q : K)) : (↑((of q).h : ℚ) : K) = (of v).h := by - unfold of IntFractPair.seq1 - rw [← IntFractPair.coe_of_rat_eq v_eq_q] - simp + simp_all theorem coe_of_s_get?_rat_eq (v_eq_q : v = (↑q : K)) (n : ℕ) : (((of q).s.get? n).map (Pair.map (↑)) : Option <| Pair K) = (of v).s.get? n := by ``` ``` ✔ [918/918] Built Mathlib.Algebra.ContinuedFractions.Computation.TerminatesIffRat (1.2s) Build completed successfully (918 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-algebra
label:t-algebra$
1/3 Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean 1 1 ['github-actions'] nobody
3-70221
3 days ago
3-71584
3 days ago
3-71625
3 days
28541 euprunin
author:euprunin
chore(Analysis/Normed/Group): golf entire `coe_inj` using `grind [DFunLike.coe_fn_eq]` ---
Show trace profiling of coe_inj: <10 ms before, <10 ms after 🎉 ### Trace profiling of `coe_inj` before PR 28541 ```diff diff --git a/Mathlib/Analysis/Normed/Group/Hom.lean b/Mathlib/Analysis/Normed/Group/Hom.lean index 3779f80a73..21bdde6220 100644 --- a/Mathlib/Analysis/Normed/Group/Hom.lean +++ b/Mathlib/Analysis/Normed/Group/Hom.lean @@ -91,6 +91,7 @@ instance toAddMonoidHomClass : AddMonoidHomClass (NormedAddGroupHom V₁ V₂) V initialize_simps_projections NormedAddGroupHom (toFun → apply) +set_option trace.profiler true in theorem coe_inj (H : (f : V₁ → V₂) = g) : f = g := by cases f; cases g; congr ``` ``` ℹ [1487/1487] Built Mathlib.Analysis.Normed.Group.Hom (2.9s) info: Mathlib/Analysis/Normed/Group/Hom.lean:95:0: [Elab.command] [0.016720] theorem coe_inj (H : (f : V₁ → V₂) = g) : f = g := by cases f; cases g; congr [Elab.definition.header] [0.015730] NormedAddGroupHom.coe_inj [Elab.step] [0.015594] expected type: Sort ?u.9077, term (f : V₁ → V₂) = g [Elab.step] [0.015586] expected type: Sort ?u.9077, term binrel% Eq✝ (f : V₁ → V₂) g [Meta.synthInstance] [0.014264] ✅️ CoeT (NormedAddGroupHom V₁ V₂) x (V₁ → V₂) Build completed successfully (1487 jobs). ``` ### Trace profiling of `coe_inj` after PR 28541 ```diff diff --git a/Mathlib/Analysis/Normed/Group/Hom.lean b/Mathlib/Analysis/Normed/Group/Hom.lean index 3779f80a73..8ef0138b38 100644 --- a/Mathlib/Analysis/Normed/Group/Hom.lean +++ b/Mathlib/Analysis/Normed/Group/Hom.lean @@ -91,8 +91,9 @@ instance toAddMonoidHomClass : AddMonoidHomClass (NormedAddGroupHom V₁ V₂) V initialize_simps_projections NormedAddGroupHom (toFun → apply) +set_option trace.profiler true in theorem coe_inj (H : (f : V₁ → V₂) = g) : f = g := by - cases f; cases g; congr + grind [DFunLike.coe_fn_eq] theorem coe_injective : @Function.Injective (NormedAddGroupHom V₁ V₂) (V₁ → V₂) toFun := by apply coe_inj ``` ``` ℹ [1487/1487] Built Mathlib.Analysis.Normed.Group.Hom (2.8s) info: Mathlib/Analysis/Normed/Group/Hom.lean:95:0: [Elab.command] [0.016377] theorem coe_inj (H : (f : V₁ → V₂) = g) : f = g := by grind [DFunLike.coe_fn_eq] [Elab.definition.header] [0.015314] NormedAddGroupHom.coe_inj [Elab.step] [0.015184] expected type: Sort ?u.9077, term (f : V₁ → V₂) = g [Elab.step] [0.015177] expected type: Sort ?u.9077, term binrel% Eq✝ (f : V₁ → V₂) g [Meta.synthInstance] [0.013829] ✅️ CoeT (NormedAddGroupHom V₁ V₂) x (V₁ → V₂) Build completed successfully (1487 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-analysis 1/1 Mathlib/Analysis/Normed/Group/Hom.lean 1 1 ['github-actions'] nobody
3-69780
3 days ago
3-71185
3 days ago
3-71227
3 days
23999 YaelDillies
author:YaelDillies
feat(MonoidAlgebra): `mapDomain` and `mapRange` as ring homs From Toric Co-authored-by: Michał Mrugała --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-algebra
label:t-algebra$
123/95 Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MonoidAlgebra/Lift.lean,Mathlib/Algebra/MonoidAlgebra/MapDomain.lean 3 1 ['github-actions'] nobody
3-66580
3 days ago
3-66838
3 days ago
5-82379
5 days
27105 xroblot
author:xroblot
feat(Ring/DedekindDomain): formula for the splitting of prime ideals in an extension This PR just puts together all the results that were already there to deduce: ```lean map (algebraMap S R) p = ∏ P ∈ p.primesOver R, P ^ p.ramificationIdx (algebraMap S R) P ``` for `p` a maximal ideal of a ring `S` and `R` an extension of `S` that is a Dedekind ring. Note. There is a significant import increase in the file `RingTheory.DedekindDomain.Factorization`. However, this file is almost a leaf file so this increase only affects a limited number of files. If the increase is too big, a new file, say `RingTheory.DedekindDomain.PrimeSplitting`, can be added instead. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra t-number-theory
label:t-algebra$
88/2 Mathlib/RingTheory/DedekindDomain/Factorization.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Over.lean 5 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] mariainesdff
assignee:mariainesdff
3-63055
3 days ago
3-63072
3 days ago
37-6923
37 days
26101 xroblot
author:xroblot
feat(NumberField): specialized version of Kummer Dedekind for the splitting of prime numbers We prove a specialized version of [KummerDedekind.normalizedFactorsMapEquivNormalizedFactorsMinPolyMk](https://leanprover-community.github.io/mathlib4_docs/Mathlib/NumberTheory/KummerDedekind.html#KummerDedekind.normalizedFactorsMapEquivNormalizedFactorsMinPolyMk) for the splitting of rational prime numbers in number fields. This PR continues the work from #25038. --- - [ ] depends on: #26137 t-number-theory 172/1 Mathlib/NumberTheory/NumberField/Ideal/KummerDedekind.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean 4 6 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'xroblot'] tb65536
assignee:tb65536
3-62856
3 days ago
3-62882
3 days ago
0-50
50 seconds
26009 linesthatinterlace
author:linesthatinterlace
feat: Add `Vector`/`List.Vector` equivalence This PR continues the work from #25050. Original PR: https://github.com/leanprover-community/mathlib4/pull/25050 migrated-from-branch t-data 125/17 Mathlib/Data/Vector/Basic.lean,Mathlib/Data/Vector/Defs.lean,Mathlib/Logic/Equiv/Array.lean 3 3 ['github-actions', 'linesthatinterlace', 'robin-carlier'] nobody
3-61601
3 days ago
3-61687
3 days ago
64-58424
64 days
25735 robin-carlier
author:robin-carlier
feat(CategoryTheory/Limits/Sifted): characterization of sifted categories Characterize small sifted as those for which the `Type`-valued colimit functor preserves finite product. Deduce that filtered categories, and that categories admitting a final functor from a sifted categories are also sifted. --- Second part of what used to be #17554. The core of the proof relies on a few private lemmas/defs (`colimBoxIsoColimTensColim` and `factorization_prod_comparison_colim` being the most important ones) and I don’t know if that can be avoided. I am still unsure wether or not the part relating sifted categories to filtered categories should be split off in a different file to avoid importing `CategoryTheory/Limits/FilteredColimitCommutesFiniteLimit.lean` every time `CategoryTheory/Limits/Sifted.lean` is imported. The fact that filtered categories are sifted can also be proved without the characterization in this PR (it reduces essentially to `IsFiltered.bowtie`), and so it could also stay in this file with less imports, but I find it nicer to do it using the characterization. - [x] depends on: #17766 - [x] depends on: #17779 - [ ] depends on: #25732 - [x] depends on: #25734 - [x] depends on: #25731 - [x] depends on: #24735 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #17781.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/17781* large-import t-category-theory 169/2 Mathlib/CategoryTheory/Limits/Sifted.lean 1 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
3-55198
3 days ago
3-55198
3 days ago
3-55209
3 days
28406 YaelDillies
author:YaelDillies
chore: rename `Mon_Class` to `MonObj` and `Comon_Class` to `ComonObj`. `Grp_Class`, `CommGrp_Class` and `Mod_Class` will follow. [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Removing.20underscores.20from.20docs.23Mon_.2C.20docs.23Grp_.20.2E.2E.2E) --- I will add the deprecations once we have agreed on the new names. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 238/238 Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean,Mathlib/Algebra/Category/Grp/LeftExactFunctor.lean,Mathlib/CategoryTheory/Bicategory/Monad/Basic.lean,Mathlib/CategoryTheory/Monad/EquivMon.lean,Mathlib/CategoryTheory/Monoidal/Bimod.lean,Mathlib/CategoryTheory/Monoidal/Bimon_.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/CommGrp_.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/CommMon_.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Comon_.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Grp_.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Mod_.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Mon_.lean,Mathlib/CategoryTheory/Monoidal/CommGrp_.lean,Mathlib/CategoryTheory/Monoidal/CommMon_.lean,Mathlib/CategoryTheory/Monoidal/Comon_.lean,Mathlib/CategoryTheory/Monoidal/Conv.lean,Mathlib/CategoryTheory/Monoidal/Grp_.lean,Mathlib/CategoryTheory/Monoidal/Hopf_.lean,Mathlib/CategoryTheory/Monoidal/Internal/FunctorCategory.lean,Mathlib/CategoryTheory/Monoidal/Internal/Module.lean,Mathlib/CategoryTheory/Monoidal/Internal/Types/Basic.lean,Mathlib/CategoryTheory/Monoidal/Internal/Types/CommGrp_.lean,Mathlib/CategoryTheory/Monoidal/Internal/Types/Grp_.lean,Mathlib/CategoryTheory/Monoidal/Mod_.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/Opposite/Mon_.lean,Mathlib/CategoryTheory/Preadditive/CommGrp_.lean 27 1 ['github-actions'] nobody
3-52178
3 days ago
3-52178
3 days ago
6-41150
6 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/) new-contributor t-differential-geometry 36/0 Mathlib/Geometry/Manifold/ContMDiff/Defs.lean 1 2 ['girving', 'github-actions'] nobody
3-52103
3 days ago
8-50442
8 days ago
8-50487
8 days
28527 grunweg
author:grunweg
feat: add ContMDiff.congr I wanted this lemma both while working on an early version of #28056 and while working on #23040: time to add it. Besides, it fills a natural API gap. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry easy 10/0 Mathlib/Geometry/Manifold/ContMDiff/Defs.lean 1 3 ['github-actions', 'grunweg', 'peabrainiac'] nobody
3-45606
3 days ago
4-25933
4 days ago
4-26242
4 days
27433 YaelDillies
author:YaelDillies
refactor: make `⇑e⁻¹ = e.symm` simp From BrauerGroup and ClassFieldTheory --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 217/256 Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/Algebra/Order/Rearrangement.lean,Mathlib/Data/Fintype/Perm.lean,Mathlib/FieldTheory/KrullTopology.lean,Mathlib/GroupTheory/Perm/Basic.lean,Mathlib/GroupTheory/Perm/Centralizer.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/GroupTheory/Perm/Finite.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/GroupTheory/SpecificGroups/Alternating.lean,Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean,Mathlib/Logic/Equiv/Set.lean 16 3 ['eric-wieser', 'github-actions'] nobody
3-41590
3 days ago
3-41590
3 days ago
3-72961
3 days
28354 joelriou
author:joelriou
feat(AlgebraicTopology/ModelCategory): right homotopies This PR introduces the notion of right homotopies, which are defined using path objects. It was obtained by dualizing the defintitions in #26967 (mostly by search/replace...). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology 311/0 Mathlib.lean,Mathlib/AlgebraicTopology/ModelCategory/RightHomotopy.lean 2 1 ['github-actions'] nobody
3-39134
3 days ago
6-19214
6 days ago
6-19199
6 days
28179 vihdzp
author:vihdzp
feat: `LinearOrderedAddCommGroupWithTop (ArchimedeanClass R)` We define addition on `ArchimedeanClass R` such that `mk (a * b) = mk a + mk b`, as well as a zero element `0 = mk 1`. This makes `ArchimedeanClass R` into a `LinearOrderedAddCommMonoidWithTop` when `R` is a ring, and a `LinearOrderedAddCommGroupWithTop` when `R` is a field. --- - [x] depends on: #28227 See [Zulip](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/.22Commensurate.22.20elements.20in.20fields/near/533639232) for discussion on this (in particular, why we turn multiplication into addition). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-algebra
label:t-algebra$
208/10 Mathlib.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/Ring/Archimedean.lean 3 28 ['alreadydone', 'github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vihdzp', 'wwylele'] nobody
3-31299
3 days ago
3-31299
3 days ago
6-28912
6 days
28555 YaelDillies
author:YaelDillies
feat: pullback along an epi preserved under pullbacks is faithful From Toric --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric large-import t-category-theory 39/2 Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/Comma/Over/Pullback.lean 2 1 ['github-actions'] nobody
3-30898
3 days ago
3-30898
3 days ago
3-31158
3 days
28449 wwylele
author:wwylele
feat(Algebra/Order): ArchimedeanClass ball for module This continues #27885 and promotes `ArchimedeanClass.addSubgroup` to a submodule. Balls are promoted to submodules with shorter names `ball` and `closedBall`, as they will be used a lot in the proof of Hahn embedding theorem (if you don't agree with this I can rename them to `ballSubmodule` and `closedBallSubmodule`) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
103/0 Mathlib.lean,Mathlib/Algebra/Order/Module/Archimedean.lean 2 3 ['github-actions', 'wwylele'] nobody
3-29498
3 days ago
6-9609
6 days ago
6-9656
6 days
28570 euprunin
author:euprunin
chore(RepresentationTheory/Homological/GroupCohomology): golf entire `cochainsMap_f_1_comp_cochainsIso₁` using `tauto` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
1/3 Mathlib/RepresentationTheory/Homological/GroupCohomology/Functoriality.lean 1 1 ['github-actions'] nobody
3-29206
3 days ago
3-29216
3 days ago
3-29263
3 days
28571 euprunin
author:euprunin
chore(RingTheory): golf entire `mem_extended_iff`, `coeff_opRingEquiv` and `comp_assoc` using `tauto` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 4/9 Mathlib/RingTheory/ClassGroup.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/Polynomial/Opposites.lean,Mathlib/RingTheory/PolynomialLaw/Basic.lean 4 1 ['github-actions'] nobody
3-29174
3 days ago
3-29179
3 days ago
3-29222
3 days
28573 euprunin
author:euprunin
chore(Tactic): golf entire `eval_cons` and `natPow_zero_natMod_succ_succ` using `tauto` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 3/6 Mathlib/Tactic/Module.lean,Mathlib/Tactic/NormNum/PowMod.lean 2 1 ['github-actions'] nobody
3-29086
3 days ago
3-29086
3 days ago
3-29156
3 days
27357 jcreedcmu
author:jcreedcmu
feat(Algebra/Module/Submodule): add `submoduleMap` for isometries Per [discussion on Zulip](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Analog.20of.20LinearEquiv.2EsubmoduleMap.20for.20AffineIsometryEquiv.3F), add a version of `.submoduleMap` for `LinearIsometry` and `LinearIsometryEquiv` by analogy with `LinearMap.submoduleMap` and `LinearEquiv.submoduleMap`. --- new-contributor t-algebra
label:t-algebra$
56/0 Mathlib.lean,Mathlib/Analysis/Normed/Operator/LinearIsometrySubmoduleMap.lean 2 18 ['Ruben-VandeVelde', 'eric-wieser', 'github-actions', 'jcreedcmu', 'themathqueen'] dagurtomas
assignee:dagurtomas
3-28793
3 days ago
29-17253
29 days ago
29-17304
29 days
28560 euprunin
author:euprunin
chore(Combinatorics/Quiver): golf entire `lift_spec` using `tauto` ---
Show trace profiling of lift_spec: <10 ms before, <10 ms after 🎉 ### Trace profiling of `lift_spec` before PR 28560 ```diff diff --git a/Mathlib/Combinatorics/Quiver/Symmetric.lean b/Mathlib/Combinatorics/Quiver/Symmetric.lean index 33e371b283..76a3371b36 100644 --- a/Mathlib/Combinatorics/Quiver/Symmetric.lean +++ b/Mathlib/Combinatorics/Quiver/Symmetric.lean @@ -164,6 +164,7 @@ def lift [HasReverse V'] (φ : Prefunctor V V') : | Sum.inl g => φ.map g | Sum.inr g => reverse (φ.map g) +set_option trace.profiler true in theorem lift_spec [HasReverse V'] (φ : Prefunctor V V') : Symmetrify.of.comp (Symmetrify.lift φ) = φ := by fapply Prefunctor.ext ``` ``` ✔ [147/147] Built Mathlib.Combinatorics.Quiver.Symmetric (1.3s) Build completed successfully (147 jobs). ``` ### Trace profiling of `lift_spec` after PR 28560 ```diff diff --git a/Mathlib/Combinatorics/Quiver/Symmetric.lean b/Mathlib/Combinatorics/Quiver/Symmetric.lean index 33e371b283..3adf874946 100644 --- a/Mathlib/Combinatorics/Quiver/Symmetric.lean +++ b/Mathlib/Combinatorics/Quiver/Symmetric.lean @@ -164,13 +164,10 @@ def lift [HasReverse V'] (φ : Prefunctor V V') : | Sum.inl g => φ.map g | Sum.inr g => reverse (φ.map g) +set_option trace.profiler true in theorem lift_spec [HasReverse V'] (φ : Prefunctor V V') : Symmetrify.of.comp (Symmetrify.lift φ) = φ := by - fapply Prefunctor.ext - · rintro X - rfl - · rintro X Y f - rfl + tauto theorem lift_reverse [h : HasInvolutiveReverse V'] (φ : Prefunctor V V') {X Y : Symmetrify V} (f : X ⟶ Y) : ``` ``` ✔ [147/147] Built Mathlib.Combinatorics.Quiver.Symmetric (1.2s) Build completed successfully (147 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-combinatorics 1/5 Mathlib/Combinatorics/Quiver/Symmetric.lean 1 1 ['github-actions'] nobody
3-27677
3 days ago
3-29708
3 days ago
3-29758
3 days
28562 euprunin
author:euprunin
chore(Geometry/RingedSpace): golf entire `locallyRingedSpace_toLocallyRingedSpace` using `tauto` ---
Show trace profiling of locallyRingedSpace_toLocallyRingedSpace: <10 ms before, <10 ms after 🎉 ### Trace profiling of `locallyRingedSpace_toLocallyRingedSpace` before PR 28562 ```diff diff --git a/Mathlib/Geometry/RingedSpace/OpenImmersion.lean b/Mathlib/Geometry/RingedSpace/OpenImmersion.lean index f0c58db3fd..98033b0d26 100644 --- a/Mathlib/Geometry/RingedSpace/OpenImmersion.lean +++ b/Mathlib/Geometry/RingedSpace/OpenImmersion.lean @@ -574,6 +574,7 @@ instance toLocallyRingedSpace_isOpenImmersion : LocallyRingedSpace.IsOpenImmersion (toLocallyRingedSpaceHom Y f) := H +set_option trace.profiler true in @[simp] theorem locallyRingedSpace_toLocallyRingedSpace {X Y : LocallyRingedSpace} (f : X ⟶ Y) [LocallyRingedSpace.IsOpenImmersion f] : toLocallyRingedSpace Y f.1 = X := by ``` ``` ✔ [1677/1677] Built Mathlib.Geometry.RingedSpace.OpenImmersion (13s) Build completed successfully (1677 jobs). ``` ### Trace profiling of `locallyRingedSpace_toLocallyRingedSpace` after PR 28562 ```diff diff --git a/Mathlib/Geometry/RingedSpace/OpenImmersion.lean b/Mathlib/Geometry/RingedSpace/OpenImmersion.lean index f0c58db3fd..e25a631151 100644 --- a/Mathlib/Geometry/RingedSpace/OpenImmersion.lean +++ b/Mathlib/Geometry/RingedSpace/OpenImmersion.lean @@ -574,10 +574,11 @@ instance toLocallyRingedSpace_isOpenImmersion : LocallyRingedSpace.IsOpenImmersion (toLocallyRingedSpaceHom Y f) := H +set_option trace.profiler true in @[simp] theorem locallyRingedSpace_toLocallyRingedSpace {X Y : LocallyRingedSpace} (f : X ⟶ Y) [LocallyRingedSpace.IsOpenImmersion f] : toLocallyRingedSpace Y f.1 = X := by - cases X; delta toLocallyRingedSpace; simp + tauto end ToLocallyRingedSpace ``` ``` ✔ [1677/1677] Built Mathlib.Geometry.RingedSpace.OpenImmersion (13s) Build completed successfully (1677 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-algebraic-geometry 1/1 Mathlib/Geometry/RingedSpace/OpenImmersion.lean 1 1 ['github-actions'] nobody
3-27606
3 days ago
3-29567
3 days ago
3-29619
3 days
28565 euprunin
author:euprunin
chore(Logic/Equiv): golf entire `trans_symm_eq_symm_trans_symm` using `tauto` ---
Show trace profiling of trans_symm_eq_symm_trans_symm: <10 ms before, 15 ms after ### Trace profiling of `trans_symm_eq_symm_trans_symm` before PR 28565 ```diff diff --git a/Mathlib/Logic/Equiv/PartialEquiv.lean b/Mathlib/Logic/Equiv/PartialEquiv.lean index 0cca37467c..73b080b642 100644 --- a/Mathlib/Logic/Equiv/PartialEquiv.lean +++ b/Mathlib/Logic/Equiv/PartialEquiv.lean @@ -602,6 +602,7 @@ theorem coe_trans_symm : ((e.trans e').symm : γ → α) = e.symm ∘ e'.symm := theorem trans_apply {x : α} : (e.trans e') x = e' (e x) := rfl +set_option trace.profiler true in theorem trans_symm_eq_symm_trans_symm : (e.trans e').symm = e'.symm.trans e.symm := by cases e; cases e'; rfl ``` ``` ✔ [373/373] Built Mathlib.Logic.Equiv.PartialEquiv (2.7s) Build completed successfully (373 jobs). ``` ### Trace profiling of `trans_symm_eq_symm_trans_symm` after PR 28565 ```diff diff --git a/Mathlib/Logic/Equiv/PartialEquiv.lean b/Mathlib/Logic/Equiv/PartialEquiv.lean index 0cca37467c..ba4a85f370 100644 --- a/Mathlib/Logic/Equiv/PartialEquiv.lean +++ b/Mathlib/Logic/Equiv/PartialEquiv.lean @@ -602,8 +602,9 @@ theorem coe_trans_symm : ((e.trans e').symm : γ → α) = e.symm ∘ e'.symm := theorem trans_apply {x : α} : (e.trans e') x = e' (e x) := rfl +set_option trace.profiler true in theorem trans_symm_eq_symm_trans_symm : (e.trans e').symm = e'.symm.trans e.symm := by - cases e; cases e'; rfl + tauto @[simp, mfld_simps] theorem trans_source : (e.trans e').source = e.source ∩ e ⁻¹' e'.source := ``` ``` ℹ [373/373] Built Mathlib.Logic.Equiv.PartialEquiv (2.6s) info: Mathlib/Logic/Equiv/PartialEquiv.lean:606:0: [Elab.async] [0.014963] elaborating proof of PartialEquiv.trans_symm_eq_symm_trans_symm [Elab.definition.value] [0.014595] PartialEquiv.trans_symm_eq_symm_trans_symm [Elab.step] [0.014212] tauto [Elab.step] [0.014194] tauto [Elab.step] [0.014178] tauto Build completed successfully (373 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-logic 1/1 Mathlib/Logic/Equiv/PartialEquiv.lean 1 1 ['github-actions'] nobody
3-27561
3 days ago
3-29440
3 days ago
3-29483
3 days
28567 euprunin
author:euprunin
chore(NumberTheory): golf entire `equivHeightOneSpectrum_symm_apply` and `is_rat` using `tauto` ---
Show trace profiling of equivHeightOneSpectrum_symm_apply: 2804 ms before, 25 ms after 🎉 ### Trace profiling of `equivHeightOneSpectrum_symm_apply` before PR 28567 ```diff diff --git a/Mathlib/NumberTheory/NumberField/FinitePlaces.lean b/Mathlib/NumberTheory/NumberField/FinitePlaces.lean index c2a297a496..e86546890b 100644 --- a/Mathlib/NumberTheory/NumberField/FinitePlaces.lean +++ b/Mathlib/NumberTheory/NumberField/FinitePlaces.lean @@ -306,6 +306,7 @@ open NumberField.FinitePlace NumberField.RingOfIntegers NumberField.RingOfIntegers.HeightOneSpectrum open scoped NumberField +set_option trace.profiler true in lemma equivHeightOneSpectrum_symm_apply (v : HeightOneSpectrum (𝓞 K)) (x : K) : (equivHeightOneSpectrum.symm v) x = ‖embedding v x‖ := by have : v = (equivHeightOneSpectrum.symm v).maximalIdeal := by ``` ``` ℹ [2937/2937] Built Mathlib.NumberTheory.NumberField.FinitePlaces (11s) info: Mathlib/NumberTheory/NumberField/FinitePlaces.lean:310:0: [Elab.command] [0.020076] theorem equivHeightOneSpectrum_symm_apply (v : HeightOneSpectrum (𝓞 K)) (x : K) : (equivHeightOneSpectrum.symm v) x = ‖embedding v x‖ := by have : v = (equivHeightOneSpectrum.symm v).maximalIdeal := by change v = equivHeightOneSpectrum (equivHeightOneSpectrum.symm v) exact (Equiv.apply_symm_apply _ v).symm convert (norm_embedding_eq (equivHeightOneSpectrum.symm v) x).symm [Elab.definition.header] [0.018830] IsDedekindDomain.HeightOneSpectrum.equivHeightOneSpectrum_symm_apply [Elab.step] [0.017695] expected type: Sort ?u.35696, term (equivHeightOneSpectrum.symm v) x = ‖embedding v x‖ [Elab.step] [0.017684] expected type: Sort ?u.35696, term binrel% Eq✝ ((equivHeightOneSpectrum.symm v) x) ‖embedding v x‖ [Elab.step] [0.012412] expected type: , term norm✝ (embedding v x) info: Mathlib/NumberTheory/NumberField/FinitePlaces.lean:310:0: [Elab.command] [0.020418] lemma equivHeightOneSpectrum_symm_apply (v : HeightOneSpectrum (𝓞 K)) (x : K) : (equivHeightOneSpectrum.symm v) x = ‖embedding v x‖ := by have : v = (equivHeightOneSpectrum.symm v).maximalIdeal := by change v = equivHeightOneSpectrum (equivHeightOneSpectrum.symm v) exact (Equiv.apply_symm_apply _ v).symm convert (norm_embedding_eq (equivHeightOneSpectrum.symm v) x).symm info: Mathlib/NumberTheory/NumberField/FinitePlaces.lean:310:0: [Elab.async] [2.829597] elaborating proof of IsDedekindDomain.HeightOneSpectrum.equivHeightOneSpectrum_symm_apply [Elab.definition.value] [2.803590] IsDedekindDomain.HeightOneSpectrum.equivHeightOneSpectrum_symm_apply [Elab.step] [2.757940] have : v = (equivHeightOneSpectrum.symm v).maximalIdeal := by change v = equivHeightOneSpectrum (equivHeightOneSpectrum.symm v) exact (Equiv.apply_symm_apply _ v).symm convert (norm_embedding_eq (equivHeightOneSpectrum.symm v) x).symm [Elab.step] [2.757927] have : v = (equivHeightOneSpectrum.symm v).maximalIdeal := by change v = equivHeightOneSpectrum (equivHeightOneSpectrum.symm v) exact (Equiv.apply_symm_apply _ v).symm convert (norm_embedding_eq (equivHeightOneSpectrum.symm v) x).symm [Elab.step] [0.013857] have : v = (equivHeightOneSpectrum.symm v).maximalIdeal := by change v = equivHeightOneSpectrum (equivHeightOneSpectrum.symm v) exact (Equiv.apply_symm_apply _ v).symm [Elab.step] [0.013839] focus refine no_implicit_lambda% (have : v = (equivHeightOneSpectrum.symm v).maximalIdeal := ?body✝; ?_) case body✝ => with_annotate_state"by" ( change v = equivHeightOneSpectrum (equivHeightOneSpectrum.symm v) exact (Equiv.apply_symm_apply _ v).symm) [Elab.step] [0.013828] refine no_implicit_lambda% (have : v = (equivHeightOneSpectrum.symm v).maximalIdeal := ?body✝; ?_) case body✝ => with_annotate_state"by" ( change v = equivHeightOneSpectrum (equivHeightOneSpectrum.symm v) exact (Equiv.apply_symm_apply _ v).symm) [Elab.step] [0.013819] refine no_implicit_lambda% (have : v = (equivHeightOneSpectrum.symm v).maximalIdeal := ?body✝; ?_) case body✝ => with_annotate_state"by" ( change v = equivHeightOneSpectrum (equivHeightOneSpectrum.symm v) exact (Equiv.apply_symm_apply _ v).symm) [Elab.step] [2.744044] convert (norm_embedding_eq (equivHeightOneSpectrum.symm v) x).symm [Meta.isDefEq] [0.133147] ❌️ (NumberField.instNormedFieldValuedAdicCompletion v).toNorm =?= (NumberField.instNormedFieldValuedAdicCompletion (equivHeightOneSpectrum.symm v).maximalIdeal).toNorm [Meta.isDefEq] [0.133093] ❌️ adicCompletion K v =?= adicCompletion K (equivHeightOneSpectrum.symm v).maximalIdeal [Meta.isDefEq] [0.133067] ❌️ (valuation K v).Completion =?= (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal).Completion [Meta.isDefEq] [0.133044] ❌️ UniformSpace.Completion (WithVal (valuation K v)) =?= UniformSpace.Completion (WithVal (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)) [Meta.isDefEq.delta] [0.130279] ❌️ UniformSpace.Completion (WithVal (valuation K v)) =?= UniformSpace.Completion (WithVal (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)) [Meta.isDefEq] [0.130237] ❌️ (WithVal.instValued (valuation K v)).toUniformSpace =?= (WithVal.instValued (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toUniformSpace [Meta.isDefEq] [0.130207] ❌️ (WithVal.instValued (valuation K v)).1 =?= (WithVal.instValued (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).1 [Meta.isDefEq.delta] [0.010379] ❌️ WithVal.instValued (valuation K v) =?= WithVal.instValued (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal) [Meta.isDefEq] [0.010339] ❌️ valuation K v =?= valuation K (equivHeightOneSpectrum.symm v).maximalIdeal [Meta.isDefEq] [0.010050] ❌️ v.intValuation.extendToLocalization ⋯ K =?= (equivHeightOneSpectrum.symm v).maximalIdeal.intValuation.extendToLocalization ⋯ K [Meta.isDefEq] [0.111493] ❌️ IsTopologicalAddGroup.toUniformSpace (WithVal (valuation K v)) =?= IsTopologicalAddGroup.toUniformSpace (WithVal (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)) [Meta.isDefEq.delta] [0.107748] ❌️ IsTopologicalAddGroup.toUniformSpace (WithVal (valuation K v)) =?= IsTopologicalAddGroup.toUniformSpace (WithVal (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)) [Meta.isDefEq] [0.105087] ❌️ ⋯.topology =?= ⋯.topology [Meta.isDefEq] [0.101115] ❌️ ⋯.toRingFilterBasis.topology =?= ⋯.toRingFilterBasis.topology [Meta.isDefEq] [0.094533] ❌️ TopologicalSpace.mkOfNhds ⋯.toRingFilterBasis.N =?= TopologicalSpace.mkOfNhds ⋯.toRingFilterBasis.N [Meta.isDefEq.delta] [0.051577] ❌️ TopologicalSpace.mkOfNhds ⋯.toRingFilterBasis.N =?= TopologicalSpace.mkOfNhds ⋯.toRingFilterBasis.N [Meta.isDefEq] [0.051483] ❌️ ⋯.toRingFilterBasis.N =?= ⋯.toRingFilterBasis.N [Meta.isDefEq] [0.051440] ❌️ fun x ↦ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter =?= fun x ↦ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter [Meta.isDefEq] [0.051427] ❌️ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter =?= Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter [Meta.isDefEq.delta] [0.022255] ❌️ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter =?= Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter [Meta.isDefEq] [0.012843] ✅️ fun y ↦ x + y =?= fun y ↦ x + y [Meta.isDefEq] [0.012833] ✅️ x + y =?= x + y [Meta.isDefEq] [0.012699] ✅️ instHAdd.1 x y =?= instHAdd.1 x y [Meta.isDefEq] [0.012670] ✅️ Add.add x y =?= Add.add x y [Meta.isDefEq] [0.011791] ✅️ (WithVal.instRing (valuation K v)).toAddGroupWithOne.toAddGroup.toAddZeroClass.toAdd.1 x y =?= (WithVal.instRing (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toAddGroupWithOne.toAddGroup.toAddZeroClass.toAdd.1 x y [Meta.isDefEq] [0.011068] ✅️ (WithVal.instRing (valuation K v)).toAddGroupWithOne.toAddGroup.toAddZeroClass.toAdd.1 =?= (WithVal.instRing (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toAddGroupWithOne.toAddGroup.toAddZeroClass.toAdd.1 [Meta.isDefEq] [0.029128] ❌️ { sets := (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets, univ_sets := ⋯, sets_of_superset := ⋯, inter_sets := ⋯ } =?= { sets := (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets, univ_sets := ⋯, sets_of_superset := ⋯, inter_sets := ⋯ } [Meta.isDefEq] [0.028994] ❌️ (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets =?= (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets [Meta.isDefEq.delta] [0.024713] ❌️ (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets =?= (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets [Meta.isDefEq] [0.014160] ✅️ Set.preimage fun y ↦ x + y =?= Set.preimage fun y ↦ x + y [Meta.isDefEq.delta] [0.014145] ✅️ Set.preimage fun y ↦ x + y =?= Set.preimage fun y ↦ x + y [Meta.isDefEq] [0.014097] ✅️ fun y ↦ x + y =?= fun y ↦ x + y [Meta.isDefEq] [0.014077] ✅️ x + y =?= x + y [Meta.isDefEq] [0.013915] ✅️ instHAdd.1 x y =?= instHAdd.1 x y [Meta.isDefEq] [0.013877] ✅️ Add.add x y =?= Add.add x y [Meta.isDefEq] [0.012647] ✅️ (WithVal.instRing (valuation K v)).toAddGroupWithOne.toAddGroup.toAddZeroClass.toAdd.1 x y =?= (WithVal.instRing (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toAddGroupWithOne.toAddGroup.toAddZeroClass.toAdd.1 x y [Meta.isDefEq] [0.011981] ✅️ (WithVal.instRing (valuation K v)).toAddGroupWithOne.toAddGroup.toAddZeroClass.toAdd.1 =?= (WithVal.instRing (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toAddGroupWithOne.toAddGroup.toAddZeroClass.toAdd.1 [Meta.isDefEq] [0.011368] ✅️ (WithVal.instRing (valuation K v)).toAddGroupWithOne.toAddGroup.toAddSemigroup.1 =?= (WithVal.instRing (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toAddGroupWithOne.toAddGroup.toAddSemigroup.1 [Meta.isDefEq] [0.010841] ✅️ (WithVal.instRing (valuation K v)).toAddGroupWithOne.toAddGroup.toAddMonoid.1 =?= (WithVal.instRing (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toAddGroupWithOne.toAddGroup.toAddMonoid.1 [Meta.isDefEq] [0.010492] ❌️ ⋯.toRingFilterBasis.filter.sets =?= ⋯.toRingFilterBasis.filter.sets [Meta.isDefEq] [0.010467] ❌️ ⋯.toRingFilterBasis.filter.1 =?= ⋯.toRingFilterBasis.filter.1 [Meta.isDefEq] [0.042922] ❌️ { IsOpen := fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a, isOpen_univ := ⋯, isOpen_inter := ⋯, isOpen_sUnion := ⋯ } =?= { IsOpen := fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a, isOpen_univ := ⋯, isOpen_inter := ⋯, isOpen_sUnion := ⋯ } [Meta.isDefEq] [0.042727] ❌️ fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a =?= fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a [Meta.isDefEq] [0.042647] ❌️ s ∈ ⋯.toRingFilterBasis.N a =?= s ∈ ⋯.toRingFilterBasis.N a [Meta.isDefEq] [0.042637] ❌️ Filter.instMembership.1 (⋯.toRingFilterBasis.N a) s =?= Filter.instMembership.1 (⋯.toRingFilterBasis.N a) s [Meta.isDefEq] [0.042602] ❌️ s ∈ (⋯.toRingFilterBasis.N a).sets =?= s ∈ (⋯.toRingFilterBasis.N a).sets [Meta.isDefEq] [0.042592] ❌️ Set.instMembership.1 (⋯.toRingFilterBasis.N a).sets s =?= Set.instMembership.1 (⋯.toRingFilterBasis.N a).sets s [Meta.isDefEq] [0.042573] ❌️ (⋯.toRingFilterBasis.N a).sets.Mem s =?= (⋯.toRingFilterBasis.N a).sets.Mem s [Meta.isDefEq] [0.042565] ❌️ (⋯.toRingFilterBasis.N a).sets s =?= (⋯.toRingFilterBasis.N a).sets s [Meta.isDefEq] [0.042548] ❌️ (⋯.toRingFilterBasis.N a).1 s =?= (⋯.toRingFilterBasis.N a).1 s [Meta.isDefEq] [0.042482] ❌️ ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s =?= ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s [Meta.isDefEq.delta] [0.037779] ❌️ ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s =?= ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s [Meta.isDefEq] [0.023557] ✅️ Set.preimage fun y ↦ a + y =?= Set.preimage fun y ↦ a + y [Meta.isDefEq.delta] [0.023548] ✅️ Set.preimage fun y ↦ a + y =?= Set.preimage fun y ↦ a + y [Meta.isDefEq] [0.023508] ✅️ fun y ↦ a + y =?= fun y ↦ a + y [Meta.isDefEq] [0.023495] ✅️ a + y =?= a + y [Meta.isDefEq] [0.023382] ✅️ instHAdd.1 a y =?= instHAdd.1 a y [Meta.isDefEq] [0.023358] ✅️ Add.add a y =?= Add.add a y [Meta.isDefEq] [0.022559] ✅️ (WithVal.instRing (valuation K v)).toAddGroupWithOne.toAddGroup.toAddZeroClass.toAdd.1 a y =?= (WithVal.instRing (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toAddGroupWithOne.toAddGroup.toAddZeroClass.toAdd.1 a y [Meta.isDefEq] [0.022129] ✅️ (WithVal.instRing (valuation K v)).toAddGroupWithOne.toAddGroup.toAddZeroClass.toAdd.1 =?= (WithVal.instRing (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toAddGroupWithOne.toAddGroup.toAddZeroClass.toAdd.1 [Meta.isDefEq] [0.021710] ✅️ (WithVal.instRing (valuation K v)).toAddGroupWithOne.toAddGroup.toAddSemigroup.1 =?= (WithVal.instRing (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toAddGroupWithOne.toAddGroup.toAddSemigroup.1 [Meta.isDefEq] [0.021354] ✅️ (WithVal.instRing (valuation K v)).toAddGroupWithOne.toAddGroup.toAddMonoid.1 =?= (WithVal.instRing (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toAddGroupWithOne.toAddGroup.toAddMonoid.1 [Meta.isDefEq] [0.021012] ✅️ (WithVal.instRing (valuation K v)).toAddCommMonoid.1 =?= (WithVal.instRing (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toAddCommMonoid.1 [Meta.isDefEq] [0.020829] ✅️ (WithVal.instRing (valuation K v)).toNonUnitalNonAssocSemiring.1 =?= (WithVal.instRing (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toNonUnitalNonAssocSemiring.1 [Meta.isDefEq] [0.020664] ✅️ (WithVal.instRing (valuation K v)).toNonUnitalSemiring.1 =?= (WithVal.instRing (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toNonUnitalSemiring.1 [Meta.isDefEq] [0.020519] ✅️ (WithVal.instRing (valuation K v)).toSemiring.1 =?= (WithVal.instRing (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toSemiring.1 [Meta.isDefEq] [0.020385] ✅️ (WithVal.instRing (valuation K v)).1 =?= (WithVal.instRing (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).1 [Meta.isDefEq.delta] [0.020202] ❌️ WithVal.instRing (valuation K v) =?= WithVal.instRing (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal) [Meta.isDefEq] [0.020193] ❌️ valuation K v =?= valuation K (equivHeightOneSpectrum.symm v).maximalIdeal [Meta.isDefEq] [0.019987] ❌️ v.intValuation.extendToLocalization ⋯ K =?= (equivHeightOneSpectrum.symm v).maximalIdeal.intValuation.extendToLocalization ⋯ K [Meta.isDefEq] [0.017897] ❌️ let f := IsLocalization.toLocalizationMap (nonZeroDivisors (𝓞 K)) K; have h := ⋯; let __src := f.lift h; { toFun := (↑__src).toFun, map_zero' := ⋯, map_one' := ⋯, map_mul' := ⋯, map_add_le_max' := ⋯ } =?= let f := IsLocalization.toLocalizationMap (nonZeroDivisors (𝓞 K)) K; have h := ⋯; let __src := f.lift h; { toFun := (↑__src).toFun, map_zero' := ⋯, map_one' := ⋯, map_mul' := ⋯, map_add_le_max' := ⋯ } [Meta.isDefEq] [0.017886] ❌️ { toFun := (↑((IsLocalization.toLocalizationMap (nonZeroDivisors (𝓞 K)) K).lift ⋯)).toFun, map_zero' := ⋯, map_one' := ⋯, map_mul' := ⋯, map_add_le_max' := ⋯ } =?= { toFun := (↑((IsLocalization.toLocalizationMap (nonZeroDivisors (𝓞 K)) K).lift ⋯)).toFun, map_zero' := ⋯, map_one' := ⋯, map_mul' := ⋯, map_add_le_max' := ⋯ } [Meta.isDefEq] [0.017832] ❌️ { toFun := (↑((IsLocalization.toLocalizationMap (nonZeroDivisors (𝓞 K)) K).lift ⋯)).toFun, map_zero' := ⋯, map_one' := ⋯, map_mul' := ⋯ } =?= { toFun := (↑((IsLocalization.toLocalizationMap (nonZeroDivisors (𝓞 K)) K).lift ⋯)).toFun, map_zero' := ⋯, map_one' := ⋯, map_mul' := ⋯ } [Meta.isDefEq] [0.017791] ❌️ { toFun := (↑((IsLocalization.toLocalizationMap (nonZeroDivisors (𝓞 K)) K).lift ⋯)).toFun, map_zero' := ⋯ } =?= { toFun := (↑((IsLocalization.toLocalizationMap (nonZeroDivisors (𝓞 K)) K).lift ⋯)).toFun, map_zero' := ⋯ } [Meta.isDefEq] [0.017743] ❌️ (↑((IsLocalization.toLocalizationMap (nonZeroDivisors (𝓞 K)) K).lift ⋯)).toFun =?= (↑((IsLocalization.toLocalizationMap (nonZeroDivisors (𝓞 K)) K).lift ⋯)).toFun [Meta.isDefEq] [0.017709] ❌️ (↑((IsLocalization.toLocalizationMap (nonZeroDivisors (𝓞 K)) K).lift ⋯)).1 =?= (↑((IsLocalization.toLocalizationMap (nonZeroDivisors (𝓞 K)) K).lift ⋯)).1 [Meta.isDefEq] [0.011489] ❌️ fun z ↦ ↑v.intValuation.toMonoidWithZeroHom ((IsLocalization.toLocalizationMap (nonZeroDivisors (𝓞 K)) K).sec z).1 * ↑((IsUnit.liftRight ((↑v.intValuation.toMonoidWithZeroHom).restrict (nonZeroDivisors (𝓞 K))) ⋯) ((IsLocalization.toLocalizationMap (nonZeroDivisors (𝓞 K)) K).sec z).2)⁻¹ =?= fun z ↦ ↑(equivHeightOneSpectrum.symm v).maximalIdeal.intValuation.toMonoidWithZeroHom ((IsLocalization.toLocalizationMap (nonZeroDivisors (𝓞 K)) K).sec z).1 * ↑((IsUnit.liftRight ((↑(equivHeightOneSpectrum.symm v).maximalIdeal.intValuation.toMonoidWithZeroHom).restrict (nonZeroDivisors (𝓞 K))) ⋯) ((IsLocalization.toLocalizationMap (nonZeroDivisors (𝓞 K)) K).sec z).2)⁻¹ [Meta.isDefEq] [0.011481] ❌️ ↑v.intValuation.toMonoidWithZeroHom ((IsLocalization.toLocalizationMap (nonZeroDivisors (𝓞 K)) K).sec z).1 * ↑((IsUnit.liftRight ((↑v.intValuation.toMonoidWithZeroHom).restrict (nonZeroDivisors (𝓞 K))) ⋯) ((IsLocalization.toLocalizationMap (nonZeroDivisors (𝓞 K)) K).sec z).2)⁻¹ =?= ↑(equivHeightOneSpectrum.symm v).maximalIdeal.intValuation.toMonoidWithZeroHom ((IsLocalization.toLocalizationMap (nonZeroDivisors (𝓞 K)) K).sec [… 5521 lines omitted …] [Meta.isDefEq.delta] [0.028740] ❌️ TopologicalSpace.mkOfNhds ⋯.toRingFilterBasis.N =?= TopologicalSpace.mkOfNhds ⋯.toRingFilterBasis.N [Meta.isDefEq] [0.028599] ❌️ ⋯.toRingFilterBasis.N =?= ⋯.toRingFilterBasis.N [Meta.isDefEq] [0.028574] ❌️ fun x ↦ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter =?= fun x ↦ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter [Meta.isDefEq] [0.028563] ❌️ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter =?= Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter [Meta.isDefEq.delta] [0.012663] ❌️ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter =?= Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter [Meta.isDefEq] [0.015876] ❌️ { sets := (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets, univ_sets := ⋯, sets_of_superset := ⋯, inter_sets := ⋯ } =?= { sets := (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets, univ_sets := ⋯, sets_of_superset := ⋯, inter_sets := ⋯ } [Meta.isDefEq] [0.015723] ❌️ (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets =?= (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets [Meta.isDefEq.delta] [0.013386] ❌️ (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets =?= (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets [Meta.isDefEq] [0.022058] ❌️ { IsOpen := fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a, isOpen_univ := ⋯, isOpen_inter := ⋯, isOpen_sUnion := ⋯ } =?= { IsOpen := fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a, isOpen_univ := ⋯, isOpen_inter := ⋯, isOpen_sUnion := ⋯ } [Meta.isDefEq] [0.021738] ❌️ fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a =?= fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a [Meta.isDefEq] [0.021682] ❌️ s ∈ ⋯.toRingFilterBasis.N a =?= s ∈ ⋯.toRingFilterBasis.N a [Meta.isDefEq] [0.021673] ❌️ Filter.instMembership.1 (⋯.toRingFilterBasis.N a) s =?= Filter.instMembership.1 (⋯.toRingFilterBasis.N a) s [Meta.isDefEq] [0.021653] ❌️ s ∈ (⋯.toRingFilterBasis.N a).sets =?= s ∈ (⋯.toRingFilterBasis.N a).sets [Meta.isDefEq] [0.021643] ❌️ Set.instMembership.1 (⋯.toRingFilterBasis.N a).sets s =?= Set.instMembership.1 (⋯.toRingFilterBasis.N a).sets s [Meta.isDefEq] [0.021628] ❌️ (⋯.toRingFilterBasis.N a).sets.Mem s =?= (⋯.toRingFilterBasis.N a).sets.Mem s [Meta.isDefEq] [0.021612] ❌️ (⋯.toRingFilterBasis.N a).sets s =?= (⋯.toRingFilterBasis.N a).sets s [Meta.isDefEq] [0.021597] ❌️ (⋯.toRingFilterBasis.N a).1 s =?= (⋯.toRingFilterBasis.N a).1 s [Meta.isDefEq] [0.021532] ❌️ ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s =?= ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s [Meta.isDefEq.delta] [0.015418] ❌️ ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s =?= ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s [Meta.isDefEq] [0.062765] ❌️ Valued.isTopologicalDivisionRing =?= Valued.isTopologicalDivisionRing [Meta.isDefEq] [0.062760] ❌️ IsTopologicalDivisionRing (WithVal (valuation K v)) =?= IsTopologicalDivisionRing (WithVal (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)) [Meta.isDefEq] [0.056042] ❌️ (WithVal.instValued (valuation K v)).toTopologicalSpace =?= (WithVal.instValued (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toTopologicalSpace [Meta.isDefEq] [0.056020] ❌️ (WithVal.instValued (valuation K v)).toUniformSpace.1 =?= (WithVal.instValued (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toUniformSpace.1 [Meta.isDefEq.delta] [0.055715] ❌️ IsTopologicalAddGroup.toUniformSpace (WithVal (valuation K v)) =?= IsTopologicalAddGroup.toUniformSpace (WithVal (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)) [Meta.isDefEq] [0.053667] ❌️ ⋯.topology =?= ⋯.topology [Meta.isDefEq] [0.045483] ❌️ ⋯.toRingFilterBasis.topology =?= ⋯.toRingFilterBasis.topology [Meta.isDefEq] [0.041145] ❌️ TopologicalSpace.mkOfNhds ⋯.toRingFilterBasis.N =?= TopologicalSpace.mkOfNhds ⋯.toRingFilterBasis.N [Meta.isDefEq.delta] [0.024331] ❌️ TopologicalSpace.mkOfNhds ⋯.toRingFilterBasis.N =?= TopologicalSpace.mkOfNhds ⋯.toRingFilterBasis.N [Meta.isDefEq] [0.024167] ❌️ ⋯.toRingFilterBasis.N =?= ⋯.toRingFilterBasis.N [Meta.isDefEq] [0.024143] ❌️ fun x ↦ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter =?= fun x ↦ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter [Meta.isDefEq] [0.024132] ❌️ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter =?= Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter [Meta.isDefEq.delta] [0.010985] ❌️ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter =?= Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter [Meta.isDefEq] [0.013123] ❌️ { sets := (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets, univ_sets := ⋯, sets_of_superset := ⋯, inter_sets := ⋯ } =?= { sets := (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets, univ_sets := ⋯, sets_of_superset := ⋯, inter_sets := ⋯ } [Meta.isDefEq] [0.012996] ❌️ (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets =?= (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets [Meta.isDefEq.delta] [0.010646] ❌️ (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets =?= (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets [Meta.isDefEq] [0.016788] ❌️ { IsOpen := fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a, isOpen_univ := ⋯, isOpen_inter := ⋯, isOpen_sUnion := ⋯ } =?= { IsOpen := fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a, isOpen_univ := ⋯, isOpen_inter := ⋯, isOpen_sUnion := ⋯ } [Meta.isDefEq] [0.016603] ❌️ fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a =?= fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a [Meta.isDefEq] [0.016547] ❌️ s ∈ ⋯.toRingFilterBasis.N a =?= s ∈ ⋯.toRingFilterBasis.N a [Meta.isDefEq] [0.016539] ❌️ Filter.instMembership.1 (⋯.toRingFilterBasis.N a) s =?= Filter.instMembership.1 (⋯.toRingFilterBasis.N a) s [Meta.isDefEq] [0.016519] ❌️ s ∈ (⋯.toRingFilterBasis.N a).sets =?= s ∈ (⋯.toRingFilterBasis.N a).sets [Meta.isDefEq] [0.016511] ❌️ Set.instMembership.1 (⋯.toRingFilterBasis.N a).sets s =?= Set.instMembership.1 (⋯.toRingFilterBasis.N a).sets s [Meta.isDefEq] [0.016497] ❌️ (⋯.toRingFilterBasis.N a).sets.Mem s =?= (⋯.toRingFilterBasis.N a).sets.Mem s [Meta.isDefEq] [0.016490] ❌️ (⋯.toRingFilterBasis.N a).sets s =?= (⋯.toRingFilterBasis.N a).sets s [Meta.isDefEq] [0.016477] ❌️ (⋯.toRingFilterBasis.N a).1 s =?= (⋯.toRingFilterBasis.N a).1 s [Meta.isDefEq] [0.016416] ❌️ ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s =?= ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s [Meta.isDefEq.delta] [0.013840] ❌️ ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s =?= ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s [Meta.isDefEq] [0.065095] ❌️ Valued.completable =?= Valued.completable [Meta.isDefEq] [0.065089] ❌️ CompletableTopField (WithVal (valuation K v)) =?= CompletableTopField (WithVal (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)) [Meta.isDefEq] [0.061554] ❌️ (WithVal.instValued (valuation K v)).toUniformSpace =?= (WithVal.instValued (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toUniformSpace [Meta.isDefEq] [0.061541] ❌️ (WithVal.instValued (valuation K v)).1 =?= (WithVal.instValued (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).1 [Meta.isDefEq] [0.057549] ❌️ IsTopologicalAddGroup.toUniformSpace (WithVal (valuation K v)) =?= IsTopologicalAddGroup.toUniformSpace (WithVal (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)) [Meta.isDefEq.delta] [0.055739] ❌️ IsTopologicalAddGroup.toUniformSpace (WithVal (valuation K v)) =?= IsTopologicalAddGroup.toUniformSpace (WithVal (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)) [Meta.isDefEq] [0.055144] ❌️ ⋯.topology =?= ⋯.topology [Meta.isDefEq] [0.053139] ❌️ ⋯.toRingFilterBasis.topology =?= ⋯.toRingFilterBasis.topology [Meta.isDefEq] [0.049083] ❌️ TopologicalSpace.mkOfNhds ⋯.toRingFilterBasis.N =?= TopologicalSpace.mkOfNhds ⋯.toRingFilterBasis.N [Meta.isDefEq.delta] [0.031309] ❌️ TopologicalSpace.mkOfNhds ⋯.toRingFilterBasis.N =?= TopologicalSpace.mkOfNhds ⋯.toRingFilterBasis.N [Meta.isDefEq] [0.031171] ❌️ ⋯.toRingFilterBasis.N =?= ⋯.toRingFilterBasis.N [Meta.isDefEq] [0.031150] ❌️ fun x ↦ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter =?= fun x ↦ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter [Meta.isDefEq] [0.031140] ❌️ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter =?= Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter [Meta.isDefEq.delta] [0.017538] ❌️ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter =?= Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter [Meta.isDefEq] [0.010219] ❌️ ⋯.toRingFilterBasis.filter =?= ⋯.toRingFilterBasis.filter [Meta.isDefEq] [0.013581] ❌️ { sets := (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets, univ_sets := ⋯, sets_of_superset := ⋯, inter_sets := ⋯ } =?= { sets := (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets, univ_sets := ⋯, sets_of_superset := ⋯, inter_sets := ⋯ } [Meta.isDefEq] [0.013449] ❌️ (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets =?= (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets [Meta.isDefEq.delta] [0.010987] ❌️ (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets =?= (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets [Meta.isDefEq] [0.017750] ❌️ { IsOpen := fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a, isOpen_univ := ⋯, isOpen_inter := ⋯, isOpen_sUnion := ⋯ } =?= { IsOpen := fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a, isOpen_univ := ⋯, isOpen_inter := ⋯, isOpen_sUnion := ⋯ } [Meta.isDefEq] [0.017573] ❌️ fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a =?= fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a [Meta.isDefEq] [0.017514] ❌️ s ∈ ⋯.toRingFilterBasis.N a =?= s ∈ ⋯.toRingFilterBasis.N a [Meta.isDefEq] [0.017506] ❌️ Filter.instMembership.1 (⋯.toRingFilterBasis.N a) s =?= Filter.instMembership.1 (⋯.toRingFilterBasis.N a) s [Meta.isDefEq] [0.017485] ❌️ s ∈ (⋯.toRingFilterBasis.N a).sets =?= s ∈ (⋯.toRingFilterBasis.N a).sets [Meta.isDefEq] [0.017476] ❌️ Set.instMembership.1 (⋯.toRingFilterBasis.N a).sets s =?= Set.instMembership.1 (⋯.toRingFilterBasis.N a).sets s [Meta.isDefEq] [0.017461] ❌️ (⋯.toRingFilterBasis.N a).sets.Mem s =?= (⋯.toRingFilterBasis.N a).sets.Mem s [Meta.isDefEq] [0.017453] ❌️ (⋯.toRingFilterBasis.N a).sets s =?= (⋯.toRingFilterBasis.N a).sets s [Meta.isDefEq] [0.017439] ❌️ (⋯.toRingFilterBasis.N a).1 s =?= (⋯.toRingFilterBasis.N a).1 s [Meta.isDefEq] [0.017371] ❌️ ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s =?= ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s [Meta.isDefEq.delta] [0.012205] ❌️ ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s =?= ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s [Meta.isDefEq] [0.080791] ❌️ (WithVal.instValued (valuation K v)).toIsUniformAddGroup =?= (WithVal.instValued (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toIsUniformAddGroup [Meta.isDefEq] [0.080785] ❌️ IsUniformAddGroup (WithVal (valuation K v)) =?= IsUniformAddGroup (WithVal (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)) [Meta.isDefEq] [0.080756] ❌️ (WithVal.instValued (valuation K v)).toUniformSpace =?= (WithVal.instValued (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toUniformSpace [Meta.isDefEq] [0.080746] ❌️ (WithVal.instValued (valuation K v)).1 =?= (WithVal.instValued (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).1 [Meta.isDefEq] [0.073536] ❌️ IsTopologicalAddGroup.toUniformSpace (WithVal (valuation K v)) =?= IsTopologicalAddGroup.toUniformSpace (WithVal (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)) [Meta.isDefEq.delta] [0.071877] ❌️ IsTopologicalAddGroup.toUniformSpace (WithVal (valuation K v)) =?= IsTopologicalAddGroup.toUniformSpace (WithVal (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)) [Meta.isDefEq] [0.071310] ❌️ ⋯.topology =?= ⋯.topology [Meta.isDefEq] [0.069338] ❌️ ⋯.toRingFilterBasis.topology =?= ⋯.toRingFilterBasis.topology [Meta.isDefEq] [0.065229] ❌️ TopologicalSpace.mkOfNhds ⋯.toRingFilterBasis.N =?= TopologicalSpace.mkOfNhds ⋯.toRingFilterBasis.N [Meta.isDefEq.delta] [0.042069] ❌️ TopologicalSpace.mkOfNhds ⋯.toRingFilterBasis.N =?= TopologicalSpace.mkOfNhds ⋯.toRingFilterBasis.N [Meta.isDefEq] [0.041932] ❌️ ⋯.toRingFilterBasis.N =?= ⋯.toRingFilterBasis.N [Meta.isDefEq] [0.041909] ❌️ fun x ↦ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter =?= fun x ↦ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter [Meta.isDefEq] [0.041899] ❌️ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter =?= Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter [Meta.isDefEq.delta] [0.020635] ❌️ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter =?= Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter [Meta.isDefEq] [0.010872] ✅️ fun y ↦ x + y =?= fun y ↦ x + y [Meta.isDefEq] [0.010863] ✅️ x + y =?= x + y [Meta.isDefEq] [0.010764] ✅️ instHAdd.1 x y =?= instHAdd.1 x y [Meta.isDefEq] [0.010739] ✅️ Add.add x y =?= Add.add x y [Meta.isDefEq] [0.010117] ✅️ (WithVal.instRing (valuation K v)).toAddGroupWithOne.toAddGroup.toAddZeroClass.toAdd.1 x y =?= (WithVal.instRing (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toAddGroupWithOne.toAddGroup.toAddZeroClass.toAdd.1 x y [Meta.isDefEq] [0.021241] ❌️ { sets := (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets, univ_sets := ⋯, sets_of_superset := ⋯, inter_sets := ⋯ } =?= { sets := (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets, univ_sets := ⋯, sets_of_superset := ⋯, inter_sets := ⋯ } [Meta.isDefEq] [0.021097] ❌️ (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets =?= (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets [Meta.isDefEq.delta] [0.018373] ❌️ (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets =?= (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets [Meta.isDefEq] [0.023135] ❌️ { IsOpen := fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a, isOpen_univ := ⋯, isOpen_inter := ⋯, isOpen_sUnion := ⋯ } =?= { IsOpen := fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a, isOpen_univ := ⋯, isOpen_inter := ⋯, isOpen_sUnion := ⋯ } [Meta.isDefEq] [0.022963] ❌️ fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a =?= fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a [Meta.isDefEq] [0.022900] ❌️ s ∈ ⋯.toRingFilterBasis.N a =?= s ∈ ⋯.toRingFilterBasis.N a [Meta.isDefEq] [0.022892] ❌️ Filter.instMembership.1 (⋯.toRingFilterBasis.N a) s =?= Filter.instMembership.1 (⋯.toRingFilterBasis.N a) s [Meta.isDefEq] [0.022871] ❌️ s ∈ (⋯.toRingFilterBasis.N a).sets =?= s ∈ (⋯.toRingFilterBasis.N a).sets [Meta.isDefEq] [0.022862] ❌️ Set.instMembership.1 (⋯.toRingFilterBasis.N a).sets s =?= Set.instMembership.1 (⋯.toRingFilterBasis.N a).sets s [Meta.isDefEq] [0.022846] ❌️ (⋯.toRingFilterBasis.N a).sets.Mem s =?= (⋯.toRingFilterBasis.N a).sets.Mem s [Meta.isDefEq] [0.022838] ❌️ (⋯.toRingFilterBasis.N a).sets s =?= (⋯.toRingFilterBasis.N a).sets s [Meta.isDefEq] [0.022823] ❌️ (⋯.toRingFilterBasis.N a).1 s =?= (⋯.toRingFilterBasis.N a).1 s [Meta.isDefEq] [0.022756] ❌️ ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s =?= ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s [Meta.isDefEq.delta] [0.017716] ❌️ ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s =?= ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s [Meta.isDefEq] [0.011722] ✅️ Set.preimage fun y ↦ a + y =?= Set.preimage fun y ↦ a + y [Meta.isDefEq.delta] [0.011714] ✅️ Set.preimage fun y ↦ a + y =?= Set.preimage fun y ↦ a + y [Meta.isDefEq] [0.011690] ✅️ fun y ↦ a + y =?= fun y ↦ a + y [Meta.isDefEq] [0.011681] ✅️ a + y =?= a + y [Meta.isDefEq] [0.011580] ✅️ instHAdd.1 a y =?= instHAdd.1 a y [Meta.isDefEq] [0.011555] ✅️ Add.add a y =?= Add.add a y [Meta.isDefEq] [0.010344] ✅️ (WithVal.instRing (valuation K v)).toAddGroupWithOne.toAddGroup.toAddZeroClass.toAdd.1 a y =?= (WithVal.instRing (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toAddGroupWithOne.toAddGroup.toAddZeroClass.toAdd.1 a y [Meta.isDefEq] [0.061446] ❌️ ?a ≍ ?a' =?= embedding v ≍ embedding (equivHeightOneSpectrum.symm v).maximalIdeal [Meta.isDefEq] [0.061372] ❌️ ?a' =?= embedding (equivHeightOneSpectrum.symm v).maximalIdeal [Meta.isDefEq.assign] [0.061364] ❌️ ?a' := embedding (equivHeightOneSpectrum.symm v).maximalIdeal [Meta.isDefEq.assign.checkTypes] [0.061357] ❌️ (?a' : WithVal (valuation K v) →+* adicCompletion K v) := (embedding (equivHeightOneSpectrum.symm v).maximalIdeal : WithVal (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal) →+* adicCompletion K (equivHeightOneSpectrum.symm v).maximalIdeal) [Meta.isDefEq] [0.061356] ❌️ WithVal (valuation K v) →+* adicCompletion K v =?= WithVal (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal) →+* adicCompletion K (equivHeightOneSpectrum.symm v).maximalIdeal [Meta.isDefEq] [0.061351] ❌️ WithVal (valuation K v) →+* adicCompletion K v =?= WithVal (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal) →+* adicCompletion K (equivHeightOneSpectrum.symm v).maximalIdeal [Meta.isDefEq] [0.061324] ❌️ adicCompletion K v =?= adicCompletion K (equivHeightOneSpectrum.symm v).maximalIdeal [Meta.isDefEq] [0.061312] ❌️ (valuation K v).Completion =?= (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal).Completion [Meta.isDefEq] [0.061302] ❌️ UniformSpace.Completion (WithVal (valuation K v)) =?= UniformSpace.Completion (WithVal (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)) [Meta.isDefEq.delta] [0.060629] ❌️ UniformSpace.Completion (WithVal (valuation K v)) =?= UniformSpace.Completion (WithVal (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)) [Meta.isDefEq] [0.060616] ❌️ (WithVal.instValued (valuation K v)).toUniformSpace =?= (WithVal.instValued (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toUniformSpace [Meta.isDefEq] [0.060605] ❌️ (WithVal.instValued (valuation K v)).1 =?= (WithVal.instValued (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).1 [Meta.isDefEq] [0.053356] ❌️ IsTopologicalAddGroup.toUniformSpace (WithVal (valuation K v)) =?= IsTopologicalAddGroup.toUniformSpace (WithVal (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)) [Meta.isDefEq.delta] [0.051709] ❌️ IsTopologicalAddGroup.toUniformSpace (WithVal (valuation K v)) =?= IsTopologicalAddGroup.toUniformSpace (WithVal (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)) [Meta.isDefEq] [0.051149] ❌️ ⋯.topology =?= ⋯.topology [Meta.isDefEq] [0.049147] ❌️ ⋯.toRingFilterBasis.topology =?= ⋯.toRingFilterBasis.topology [Meta.isDefEq] [0.044782] ❌️ TopologicalSpace.mkOfNhds ⋯.toRingFilterBasis.N =?= TopologicalSpace.mkOfNhds ⋯.toRingFilterBasis.N [Meta.isDefEq.delta] [0.023184] ❌️ TopologicalSpace.mkOfNhds ⋯.toRingFilterBasis.N =?= TopologicalSpace.mkOfNhds ⋯.toRingFilterBasis.N [Meta.isDefEq] [0.023070] ❌️ ⋯.toRingFilterBasis.N =?= ⋯.toRingFilterBasis.N [Meta.isDefEq] [0.023047] ❌️ fun x ↦ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter =?= fun x ↦ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter [Meta.isDefEq] [0.023037] ❌️ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter =?= Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter [Meta.isDefEq.delta] [0.010501] ❌️ Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter =?= Filter.map (fun y ↦ x + y) ⋯.toRingFilterBasis.filter [Meta.isDefEq] [0.012513] ❌️ { sets := (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets, univ_sets := ⋯, sets_of_superset := ⋯, inter_sets := ⋯ } =?= { sets := (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets, univ_sets := ⋯, sets_of_superset := ⋯, inter_sets := ⋯ } [Meta.isDefEq] [0.012377] ❌️ (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets =?= (Set.preimage fun y ↦ x + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets [Meta.isDefEq] [0.021573] ❌️ { IsOpen := fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a, isOpen_univ := ⋯, isOpen_inter := ⋯, isOpen_sUnion := ⋯ } =?= { IsOpen := fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a, isOpen_univ := ⋯, isOpen_inter := ⋯, isOpen_sUnion := ⋯ } [Meta.isDefEq] [0.021387] ❌️ fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a =?= fun s ↦ ∀ a ∈ s, s ∈ ⋯.toRingFilterBasis.N a [Meta.isDefEq] [0.021331] ❌️ s ∈ ⋯.toRingFilterBasis.N a =?= s ∈ ⋯.toRingFilterBasis.N a [Meta.isDefEq] [0.021323] ❌️ Filter.instMembership.1 (⋯.toRingFilterBasis.N a) s =?= Filter.instMembership.1 (⋯.toRingFilterBasis.N a) s [Meta.isDefEq] [0.021302] ❌️ s ∈ (⋯.toRingFilterBasis.N a).sets =?= s ∈ (⋯.toRingFilterBasis.N a).sets [Meta.isDefEq] [0.021293] ❌️ Set.instMembership.1 (⋯.toRingFilterBasis.N a).sets s =?= Set.instMembership.1 (⋯.toRingFilterBasis.N a).sets s [Meta.isDefEq] [0.021277] ❌️ (⋯.toRingFilterBasis.N a).sets.Mem s =?= (⋯.toRingFilterBasis.N a).sets.Mem s [Meta.isDefEq] [0.021269] ❌️ (⋯.toRingFilterBasis.N a).sets s =?= (⋯.toRingFilterBasis.N a).sets s [Meta.isDefEq] [0.021256] ❌️ (⋯.toRingFilterBasis.N a).1 s =?= (⋯.toRingFilterBasis.N a).1 s [Meta.isDefEq] [0.021192] ❌️ ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s =?= ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s [Meta.isDefEq.delta] [0.018632] ❌️ ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s =?= ((Set.preimage fun y ↦ a + y) ⁻¹' ⋯.toRingFilterBasis.filter.sets) s [Meta.isDefEq] [0.010832] ✅️ Set.preimage fun y ↦ a + y =?= Set.preimage fun y ↦ a + y [Meta.isDefEq.delta] [0.010824] ✅️ Set.preimage fun y ↦ a + y =?= Set.preimage fun y ↦ a + y [Meta.isDefEq] [0.010785] ✅️ fun y ↦ a + y =?= fun y ↦ a + y [Meta.isDefEq] [0.010776] ✅️ a + y =?= a + y [Meta.isDefEq] [0.010681] ✅️ instHAdd.1 a y =?= instHAdd.1 a y [Meta.isDefEq] [0.010658] ✅️ Add.add a y =?= Add.add a y [Meta.isDefEq] [0.010025] ✅️ (WithVal.instRing (valuation K v)).toAddGroupWithOne.toAddGroup.toAddZeroClass.toAdd.1 a y =?= (WithVal.instRing (valuation K (equivHeightOneSpectrum.symm v).maximalIdeal)).toAddGroupWithOne.toAddGroup.toAddZeroClass.toAdd.1 a y [Elab.def.processPreDef] [0.020185] process pre-definitions info: Mathlib/NumberTheory/NumberField/FinitePlaces.lean:310:6: [Elab.async] [2.973953] Lean.addDecl [Kernel] [2.973884] ✅️ typechecking declarations [IsDedekindDomain.HeightOneSpectrum.equivHeightOneSpectrum_symm_apply] Build completed successfully (2937 jobs). ``` ### Trace profiling of `equivHeightOneSpectrum_symm_apply` after PR 28567 ```diff diff --git a/Mathlib/NumberTheory/NumberField/FinitePlaces.lean b/Mathlib/NumberTheory/NumberField/FinitePlaces.lean index c2a297a496..1cb6af99ea 100644 --- a/Mathlib/NumberTheory/NumberField/FinitePlaces.lean +++ b/Mathlib/NumberTheory/NumberField/FinitePlaces.lean @@ -306,12 +306,10 @@ open NumberField.FinitePlace NumberField.RingOfIntegers NumberField.RingOfIntegers.HeightOneSpectrum open scoped NumberField +set_option trace.profiler true in lemma equivHeightOneSpectrum_symm_apply (v : HeightOneSpectrum (𝓞 K)) (x : K) : (equivHeightOneSpectrum.symm v) x = ‖embedding v x‖ := by - have : v = (equivHeightOneSpectrum.symm v).maximalIdeal := by - change v = equivHeightOneSpectrum (equivHeightOneSpectrum.symm v) - exact (Equiv.apply_symm_apply _ v).symm - convert (norm_embedding_eq (equivHeightOneSpectrum.symm v) x).symm + tauto open Ideal in lemma embedding_mul_absNorm (v : HeightOneSpectrum (𝓞 K)) {x : 𝓞 (WithVal (v.valuation K))} diff --git a/Mathlib/NumberTheory/Padics/PadicNumbers.lean b/Mathlib/NumberTheory/Padics/PadicNumbers.lean index efe52e430d..948dd4cee3 100644 --- a/Mathlib/NumberTheory/Padics/PadicNumbers.lean +++ b/Mathlib/NumberTheory/Padics/PadicNumbers.lean @@ -882,11 +882,7 @@ protected theorem image {q : ℚ_[p]} : q ≠ 0 → ∃ n : ℤ, ‖q‖ = ↑(( ⟨n, by rw [← hn]; rfl⟩ protected theorem is_rat (q : ℚ_[p]) : ∃ q' : ℚ, ‖q‖ = q' := by - classical - exact if h : q = 0 then ⟨0, by simp [h]⟩ - else - let ⟨n, hn⟩ := padicNormE.image h - ⟨_, hn⟩ + tauto /-- `ratNorm q`, for a `p`-adic number `q` is the `p`-adic norm of `q`, as rational number. ``` ``` ℹ [2937/2937] Built Mathlib.NumberTheory.NumberField.FinitePlaces (4.2s) info: Mathlib/NumberTheory/NumberField/FinitePlaces.lean:310:0: [Elab.command] [0.026755] theorem equivHeightOneSpectrum_symm_apply (v : HeightOneSpectrum (𝓞 K)) (x : K) : (equivHeightOneSpectrum.symm v) x = ‖embedding v x‖ := by tauto [Elab.definition.header] [0.025728] IsDedekindDomain.HeightOneSpectrum.equivHeightOneSpectrum_symm_apply [Elab.step] [0.025064] expected type: Sort ?u.35696, term (equivHeightOneSpectrum.symm v) x = ‖embedding v x‖ [Elab.step] [0.025056] expected type: Sort ?u.35696, term binrel% Eq✝ ((equivHeightOneSpectrum.symm v) x) ‖embedding v x‖ [Elab.step] [0.012416] expected type: , term norm✝ (embedding v x) info: Mathlib/NumberTheory/NumberField/FinitePlaces.lean:310:0: [Elab.command] [0.026828] lemma equivHeightOneSpectrum_symm_apply (v : HeightOneSpectrum (𝓞 K)) (x : K) : (equivHeightOneSpectrum.symm v) x = ‖embedding v x‖ := by tauto info: Mathlib/NumberTheory/NumberField/FinitePlaces.lean:310:0: [Elab.async] [0.028408] elaborating proof of IsDedekindDomain.HeightOneSpectrum.equivHeightOneSpectrum_symm_apply [Elab.definition.value] [0.024649] IsDedekindDomain.HeightOneSpectrum.equivHeightOneSpectrum_symm_apply [Elab.step] [0.024119] tauto [Elab.step] [0.024105] tauto [Elab.step] [0.024091] tauto [Elab.step] [0.013324] rfl [Elab.step] [0.012677] eq_refl [Meta.isDefEq] [0.012655] ✅️ (equivHeightOneSpectrum.symm v) x =?= ‖(embedding v) x‖ [Meta.isDefEq] [0.012305] ✅️ instFunLikeReal.1 (equivHeightOneSpectrum.symm v) x =?= (NumberField.instNormedFieldValuedAdicCompletion v).toNorm.1 ((embedding v) x) [Meta.isDefEq] [0.012206] ✅️ ↑(equivHeightOneSpectrum.symm v) x =?= (NumberField.instNormedFieldValuedAdicCompletion v).toNorm.1 ((embedding v) x) [Meta.isDefEq] [0.012117] ✅️ ↑(equivHeightOneSpectrum.symm v) x =?= Valued.norm ((embedding v) x) [Meta.isDefEq] [0.012052] ✅️ ↑(equivHeightOneSpectrum.symm v) x =?= ↑((Valuation.RankOne.hom Valued.v) (Valued.v ((embedding v) x))) [Meta.isDefEq] [0.012019] ✅️ ↑(equivHeightOneSpectrum.symm v) x =?= ↑((Valuation.RankOne.hom Valued.v) (Valued.v ((embedding v) x))) [Meta.isDefEq] [0.011982] ✅️ ↑(equivHeightOneSpectrum.symm v) x =?= ((Valuation.RankOne.hom Valued.v) (Valued.v ((embedding v) x))).1 [Meta.isDefEq] [0.010958] ✅️ AbsoluteValue.funLike.1 (↑(equivHeightOneSpectrum.symm v)) x =?= ((Valuation.RankOne.hom Valued.v) (Valued.v ((embedding v) x))).1 [Meta.isDefEq] [0.010808] ✅️ (↑(equivHeightOneSpectrum.symm v)).toFun x =?= ((Valuation.RankOne.hom Valued.v) (Valued.v ((embedding v) x))).1 [Meta.isDefEq] [0.010382] ✅️ (↑(equivHeightOneSpectrum.symm v)).toMulHom.1 x =?= ((Valuation.RankOne.hom Valued.v) (Valued.v ((embedding v) x))).1 Build completed successfully (2937 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-number-theory 2/9 Mathlib/NumberTheory/NumberField/FinitePlaces.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean 2 1 ['github-actions'] nobody
3-27497
3 days ago
3-29354
3 days ago
3-29395
3 days
28568 euprunin
author:euprunin
chore(Order): golf entire `IsBoundedUnder.eventually_le` and `ωSup_zip` using `tauto` ---
Show trace profiling of IsBoundedUnder.eventually_le: 29 ms before, <10 ms after 🎉 ### Trace profiling of `IsBoundedUnder.eventually_le` before PR 28568 ```diff diff --git a/Mathlib/Order/Filter/IsBounded.lean b/Mathlib/Order/Filter/IsBounded.lean index 0b39507eeb..2cccc61fed 100644 --- a/Mathlib/Order/Filter/IsBounded.lean +++ b/Mathlib/Order/Filter/IsBounded.lean @@ -89,6 +89,7 @@ lemma Tendsto.isBoundedUnder_comp {ι κ X : Type*} {r : X → X → Prop} {f : section Preorder variable [Preorder α] {f : Filter β} {u : β → α} {s : Set β} +set_option trace.profiler true in lemma IsBoundedUnder.eventually_le (h : IsBoundedUnder (· ≤ ·) f u) : ∃ a, ∀ᶠ x in f, u x ≤ a := by obtain ⟨a, ha⟩ := h ``` ``` ℹ [749/749] Built Mathlib.Order.Filter.IsBounded (2.5s) info: Mathlib/Order/Filter/IsBounded.lean:93:0: [Elab.async] [0.029670] elaborating proof of Filter.IsBoundedUnder.eventually_le [Elab.definition.value] [0.029304] Filter.IsBoundedUnder.eventually_le [Elab.step] [0.029016] obtain ⟨a, ha⟩ := h use a exact eventually_map.1 ha [Elab.step] [0.029003] obtain ⟨a, ha⟩ := h use a exact eventually_map.1 ha [Elab.step] [0.025774] use a Build completed successfully (749 jobs). ``` ### Trace profiling of `IsBoundedUnder.eventually_le` after PR 28568 ```diff diff --git a/Mathlib/Order/Filter/IsBounded.lean b/Mathlib/Order/Filter/IsBounded.lean index 0b39507eeb..6c37d8738d 100644 --- a/Mathlib/Order/Filter/IsBounded.lean +++ b/Mathlib/Order/Filter/IsBounded.lean @@ -89,11 +89,10 @@ lemma Tendsto.isBoundedUnder_comp {ι κ X : Type*} {r : X → X → Prop} {f : section Preorder variable [Preorder α] {f : Filter β} {u : β → α} {s : Set β} +set_option trace.profiler true in lemma IsBoundedUnder.eventually_le (h : IsBoundedUnder (· ≤ ·) f u) : ∃ a, ∀ᶠ x in f, u x ≤ a := by - obtain ⟨a, ha⟩ := h - use a - exact eventually_map.1 ha + tauto lemma IsBoundedUnder.eventually_ge (h : IsBoundedUnder (· ≥ ·) f u) : ∃ a, ∀ᶠ x in f, a ≤ u x := diff --git a/Mathlib/Order/OmegaCompletePartialOrder.lean b/Mathlib/Order/OmegaCompletePartialOrder.lean index 219ddb0595..759fda09a7 100644 --- a/Mathlib/Order/OmegaCompletePartialOrder.lean +++ b/Mathlib/Order/OmegaCompletePartialOrder.lean @@ -422,8 +422,7 @@ instance : OmegaCompletePartialOrder (α × β) where le_ωSup c i := ⟨le_ωSup (c.map OrderHom.fst) i, le_ωSup (c.map OrderHom.snd) i⟩ theorem ωSup_zip (c₀ : Chain α) (c₁ : Chain β) : ωSup (c₀.zip c₁) = (ωSup c₀, ωSup c₁) := by - apply eq_of_forall_ge_iff; rintro ⟨z₁, z₂⟩ - simp [ωSup_le_iff, forall_and] + tauto end Prod ``` ``` ℹ [749/749] Built Mathlib.Order.Filter.IsBounded (2.5s) info: Mathlib/Order/Filter/IsBounded.lean:93:0: [Elab.command] [0.015651] theorem eventually_le (h : IsBoundedUnder (· ≤ ·) f u) : ∃ a, ∀ᶠ x in f, u x ≤ a := by tauto info: Mathlib/Order/Filter/IsBounded.lean:93:0: [Elab.command] [0.015910] theorem IsBoundedUnder.eventually_le (h : IsBoundedUnder (· ≤ ·) f u) : ∃ a, ∀ᶠ x in f, u x ≤ a := by tauto info: Mathlib/Order/Filter/IsBounded.lean:93:0: [Elab.command] [0.015955] lemma IsBoundedUnder.eventually_le (h : IsBoundedUnder (· ≤ ·) f u) : ∃ a, ∀ᶠ x in f, u x ≤ a := by tauto Build completed successfully (749 jobs). ```
---
Show trace profiling of ωSup_zip: 25 ms before, 13 ms after 🎉 ### Trace profiling of `ωSup_zip` before PR 28568 ```diff diff --git a/Mathlib/Order/OmegaCompletePartialOrder.lean b/Mathlib/Order/OmegaCompletePartialOrder.lean index 219ddb0595..7d813efc08 100644 --- a/Mathlib/Order/OmegaCompletePartialOrder.lean +++ b/Mathlib/Order/OmegaCompletePartialOrder.lean @@ -421,6 +420,7 @@ instance : OmegaCompletePartialOrder (α × β) where ωSup_le := fun _ _ h => ⟨ωSup_le _ _ fun i => (h i).1, ωSup_le _ _ fun i => (h i).2⟩ le_ωSup c i := ⟨le_ωSup (c.map OrderHom.fst) i, le_ωSup (c.map OrderHom.snd) i⟩ +set_option trace.profiler true in theorem ωSup_zip (c₀ : Chain α) (c₁ : Chain β) : ωSup (c₀.zip c₁) = (ωSup c₀, ωSup c₁) := by apply eq_of_forall_ge_iff; rintro ⟨z₁, z₂⟩ simp [ωSup_le_iff, forall_and] ``` ``` ℹ [552/552] Built Mathlib.Order.OmegaCompletePartialOrder (3.1s) info: Mathlib/Order/OmegaCompletePartialOrder.lean:424:0: [Elab.async] [0.027082] elaborating proof of Prod.ωSup_zip [Elab.definition.value] [0.025244] Prod.ωSup_zip [Elab.step] [0.024383] apply eq_of_forall_ge_iff; rintro ⟨z₁, z₂⟩ simp [ωSup_le_iff, forall_and] [Elab.step] [0.024368] apply eq_of_forall_ge_iff; rintro ⟨z₁, z₂⟩ simp [ωSup_le_iff, forall_and] [Elab.step] [0.023210] simp [ωSup_le_iff, forall_and] Build completed successfully (552 jobs). ``` ### Trace profiling of `ωSup_zip` after PR 28568 ```diff diff --git a/Mathlib/Order/Filter/IsBounded.lean b/Mathlib/Order/Filter/IsBounded.lean index 0b39507eeb..55bad37314 100644 --- a/Mathlib/Order/Filter/IsBounded.lean +++ b/Mathlib/Order/Filter/IsBounded.lean @@ -91,9 +91,7 @@ variable [Preorder α] {f : Filter β} {u : β → α} {s : Set β} lemma IsBoundedUnder.eventually_le (h : IsBoundedUnder (· ≤ ·) f u) : ∃ a, ∀ᶠ x in f, u x ≤ a := by - obtain ⟨a, ha⟩ := h - use a - exact eventually_map.1 ha + tauto lemma IsBoundedUnder.eventually_ge (h : IsBoundedUnder (· ≥ ·) f u) : ∃ a, ∀ᶠ x in f, a ≤ u x := diff --git a/Mathlib/Order/OmegaCompletePartialOrder.lean b/Mathlib/Order/OmegaCompletePartialOrder.lean index 219ddb0595..e52102f720 100644 --- a/Mathlib/Order/OmegaCompletePartialOrder.lean +++ b/Mathlib/Order/OmegaCompletePartialOrder.lean @@ -421,9 +420,9 @@ instance : OmegaCompletePartialOrder (α × β) where ωSup_le := fun _ _ h => ⟨ωSup_le _ _ fun i => (h i).1, ωSup_le _ _ fun i => (h i).2⟩ le_ωSup c i := ⟨le_ωSup (c.map OrderHom.fst) i, le_ωSup (c.map OrderHom.snd) i⟩ +set_option trace.profiler true in theorem ωSup_zip (c₀ : Chain α) (c₁ : Chain β) : ωSup (c₀.zip c₁) = (ωSup c₀, ωSup c₁) := by - apply eq_of_forall_ge_iff; rintro ⟨z₁, z₂⟩ - simp [ωSup_le_iff, forall_and] + tauto end Prod ``` ``` ℹ [552/552] Built Mathlib.Order.OmegaCompletePartialOrder (3.1s) info: Mathlib/Order/OmegaCompletePartialOrder.lean:424:0: [Elab.command] [0.014348] theorem ωSup_zip (c₀ : Chain α) (c₁ : Chain β) : ωSup (c₀.zip c₁) = (ωSup c₀, ωSup c₁) := by tauto [Elab.definition.header] [0.013159] Prod.ωSup_zip [Elab.step] [0.011493] expected type: Sort ?u.22301, term ωSup (c₀.zip c₁) = (ωSup c₀, ωSup c₁) [Elab.step] [0.011481] expected type: Sort ?u.22301, term binrel% Eq✝ (ωSup (c₀.zip c₁)) (ωSup c₀, ωSup c₁) [Elab.step] [0.010391] expected type: , term ωSup (c₀.zip c₁) info: Mathlib/Order/OmegaCompletePartialOrder.lean:424:0: [Elab.async] [0.013177] elaborating proof of Prod.ωSup_zip [Elab.definition.value] [0.012696] Prod.ωSup_zip [Elab.step] [0.012302] tauto [Elab.step] [0.012286] tauto [Elab.step] [0.012266] tauto Build completed successfully (552 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-order 2/5 Mathlib/Order/Filter/IsBounded.lean,Mathlib/Order/OmegaCompletePartialOrder.lean 2 1 ['github-actions'] nobody
3-27283
3 days ago
3-29311
3 days ago
3-29351
3 days
28569 euprunin
author:euprunin
chore(Probability): golf entire `comp_const` and `piFinset_eq_comap_restrict` using `tauto` ---
Show trace profiling of _root_.ProbabilityTheory.Kernel.comp_const: 20 ms before, <10 ms after 🎉 ### Trace profiling of `_root_.ProbabilityTheory.Kernel.comp_const` before PR 28569 ```diff diff --git a/Mathlib/Probability/Kernel/Composition/MeasureComp.lean b/Mathlib/Probability/Kernel/Composition/MeasureComp.lean index 2cbfe2e461..ced849b4ca 100644 --- a/Mathlib/Probability/Kernel/Composition/MeasureComp.lean +++ b/Mathlib/Probability/Kernel/Composition/MeasureComp.lean @@ -72,6 +72,7 @@ instance [IsZeroOrProbabilityMeasure μ] [IsZeroOrMarkovKernel κ] : IsZeroOrProbabilityMeasure (κ ∘ₘ μ) := by rw [← snd_compProd]; infer_instance +set_option trace.profiler true in @[simp] lemma _root_.ProbabilityTheory.Kernel.comp_const (κ : Kernel β γ) (μ : Measure β) : κ ∘ₖ Kernel.const α μ = Kernel.const α (κ ∘ₘ μ) := by ``` ``` ℹ [1740/1740] Built Mathlib.Probability.Kernel.Composition.MeasureComp (1.6s) info: Mathlib/Probability/Kernel/Composition/MeasureComp.lean:76:0: [Elab.command] [0.010029] @[simp] lemma _root_.ProbabilityTheory.Kernel.comp_const (κ : Kernel β γ) (μ : Measure β) : κ ∘ₖ Kernel.const α μ = Kernel.const α (κ ∘ₘ μ) := by ext x s hs rw [Kernel.comp_apply, bind_apply hs (by fun_prop), Kernel.const_apply, Kernel.const_apply, bind_apply hs (by fun_prop)] info: Mathlib/Probability/Kernel/Composition/MeasureComp.lean:76:0: [Elab.async] [0.020986] elaborating proof of ProbabilityTheory.Kernel.comp_const [Elab.definition.value] [0.020223] ProbabilityTheory.Kernel.comp_const [Elab.step] [0.019492] ext x s hs rw [Kernel.comp_apply, bind_apply hs (by fun_prop), Kernel.const_apply, Kernel.const_apply, bind_apply hs (by fun_prop)] [Elab.step] [0.019479] ext x s hs rw [Kernel.comp_apply, bind_apply hs (by fun_prop), Kernel.const_apply, Kernel.const_apply, bind_apply hs (by fun_prop)] [Elab.step] [0.017845] rw [Kernel.comp_apply, bind_apply hs (by fun_prop), Kernel.const_apply, Kernel.const_apply, bind_apply hs (by fun_prop)] [Elab.step] [0.017823] (rewrite [Kernel.comp_apply, bind_apply hs (by fun_prop), Kernel.const_apply, Kernel.const_apply, bind_apply hs (by fun_prop)]; with_annotate_state"]" (try (with_reducible rfl))) [Elab.step] [0.017815] rewrite [Kernel.comp_apply, bind_apply hs (by fun_prop), Kernel.const_apply, Kernel.const_apply, bind_apply hs (by fun_prop)]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.017809] rewrite [Kernel.comp_apply, bind_apply hs (by fun_prop), Kernel.const_apply, Kernel.const_apply, bind_apply hs (by fun_prop)]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.017492] rewrite [Kernel.comp_apply, bind_apply hs (by fun_prop), Kernel.const_apply, Kernel.const_apply, bind_apply hs (by fun_prop)] Build completed successfully (1740 jobs). ``` ### Trace profiling of `_root_.ProbabilityTheory.Kernel.comp_const` after PR 28569 ```diff diff --git a/Mathlib/Probability/Kernel/Composition/MeasureComp.lean b/Mathlib/Probability/Kernel/Composition/MeasureComp.lean index 2cbfe2e461..38c1edaa80 100644 --- a/Mathlib/Probability/Kernel/Composition/MeasureComp.lean +++ b/Mathlib/Probability/Kernel/Composition/MeasureComp.lean @@ -72,12 +72,11 @@ instance [IsZeroOrProbabilityMeasure μ] [IsZeroOrMarkovKernel κ] : IsZeroOrProbabilityMeasure (κ ∘ₘ μ) := by rw [← snd_compProd]; infer_instance +set_option trace.profiler true in @[simp] lemma _root_.ProbabilityTheory.Kernel.comp_const (κ : Kernel β γ) (μ : Measure β) : κ ∘ₖ Kernel.const α μ = Kernel.const α (κ ∘ₘ μ) := by - ext x s hs - rw [Kernel.comp_apply, bind_apply hs (by fun_prop), Kernel.const_apply, Kernel.const_apply, - bind_apply hs (by fun_prop)] + tauto lemma map_comp (μ : Measure α) (κ : Kernel α β) {f : β → γ} (hf : Measurable f) : (κ ∘ₘ μ).map f = (κ.map f) ∘ₘ μ := by diff --git a/Mathlib/Probability/Process/Filtration.lean b/Mathlib/Probability/Process/Filtration.lean index 13e2f0025b..78b9c37f5a 100644 --- a/Mathlib/Probability/Process/Filtration.lean +++ b/Mathlib/Probability/Process/Filtration.lean @@ -384,12 +384,7 @@ def piFinset : @Filtration (Π i, X i) (Finset ι) _ pi where lemma piFinset_eq_comap_restrict (s : Finset ι) : piFinset (X := X) s = pi.comap s.toSet.restrict := by - apply le_antisymm - · simp_rw [piFinset, ← Set.piCongrLeft_comp_restrict, ← MeasurableEquiv.coe_piCongrLeft, - ← comap_comp] - exact MeasurableSpace.comap_mono <| (MeasurableEquiv.measurable _).comap_le - · rw [← piCongrLeft_comp_restrict, ← MeasurableEquiv.coe_piCongrLeft, ← comap_comp] - exact MeasurableSpace.comap_mono <| (MeasurableEquiv.measurable _).comap_le + tauto end piFinset ``` ``` ✔ [1740/1740] Built Mathlib.Probability.Kernel.Composition.MeasureComp (2.4s) Build completed successfully (1740 jobs). ```
---
Show trace profiling of piFinset_eq_comap_restrict: 28 ms before, <10 ms after 🎉 ### Trace profiling of `piFinset_eq_comap_restrict` before PR 28569 ```diff diff --git a/Mathlib/Probability/Process/Filtration.lean b/Mathlib/Probability/Process/Filtration.lean index 13e2f0025b..eb3bc149ba 100644 --- a/Mathlib/Probability/Process/Filtration.lean +++ b/Mathlib/Probability/Process/Filtration.lean @@ -382,6 +382,7 @@ def piFinset : @Filtration (Π i, X i) (Finset ι) _ pi where exact comap_mono (measurable_restrict₂ hst).comap_le le' s := s.measurable_restrict.comap_le +set_option trace.profiler true in lemma piFinset_eq_comap_restrict (s : Finset ι) : piFinset (X := X) s = pi.comap s.toSet.restrict := by apply le_antisymm ``` ``` ℹ [2340/2340] Built Mathlib.Probability.Process.Filtration (1.9s) info: Mathlib/Probability/Process/Filtration.lean:386:0: [Elab.async] [0.029171] elaborating proof of MeasureTheory.Filtration.piFinset_eq_comap_restrict [Elab.definition.value] [0.028128] MeasureTheory.Filtration.piFinset_eq_comap_restrict [Elab.step] [0.027661] apply le_antisymm · simp_rw [piFinset, ← Set.piCongrLeft_comp_restrict, ← MeasurableEquiv.coe_piCongrLeft, ← comap_comp] exact MeasurableSpace.comap_mono <| (MeasurableEquiv.measurable _).comap_le · rw [← piCongrLeft_comp_restrict, ← MeasurableEquiv.coe_piCongrLeft, ← comap_comp] exact MeasurableSpace.comap_mono <| (MeasurableEquiv.measurable _).comap_le [Elab.step] [0.027653] apply le_antisymm · simp_rw [piFinset, ← Set.piCongrLeft_comp_restrict, ← MeasurableEquiv.coe_piCongrLeft, ← comap_comp] exact MeasurableSpace.comap_mono <| (MeasurableEquiv.measurable _).comap_le · rw [← piCongrLeft_comp_restrict, ← MeasurableEquiv.coe_piCongrLeft, ← comap_comp] exact MeasurableSpace.comap_mono <| (MeasurableEquiv.measurable _).comap_le [Elab.step] [0.017833] · simp_rw [piFinset, ← Set.piCongrLeft_comp_restrict, ← MeasurableEquiv.coe_piCongrLeft, ← comap_comp] exact MeasurableSpace.comap_mono <| (MeasurableEquiv.measurable _).comap_le [Elab.step] [0.017819] simp_rw [piFinset, ← Set.piCongrLeft_comp_restrict, ← MeasurableEquiv.coe_piCongrLeft, ← comap_comp] exact MeasurableSpace.comap_mono <| (MeasurableEquiv.measurable _).comap_le [Elab.step] [0.017815] simp_rw [piFinset, ← Set.piCongrLeft_comp_restrict, ← MeasurableEquiv.coe_piCongrLeft, ← comap_comp] exact MeasurableSpace.comap_mono <| (MeasurableEquiv.measurable _).comap_le [Elab.step] [0.013352] simp_rw [piFinset, ← Set.piCongrLeft_comp_restrict, ← MeasurableEquiv.coe_piCongrLeft, ← comap_comp] Build completed successfully (2340 jobs). ``` ### Trace profiling of `piFinset_eq_comap_restrict` after PR 28569 ```diff diff --git a/Mathlib/Probability/Kernel/Composition/MeasureComp.lean b/Mathlib/Probability/Kernel/Composition/MeasureComp.lean index 2cbfe2e461..7f242dd0c5 100644 --- a/Mathlib/Probability/Kernel/Composition/MeasureComp.lean +++ b/Mathlib/Probability/Kernel/Composition/MeasureComp.lean @@ -75,9 +75,7 @@ instance [IsZeroOrProbabilityMeasure μ] [IsZeroOrMarkovKernel κ] : @[simp] lemma _root_.ProbabilityTheory.Kernel.comp_const (κ : Kernel β γ) (μ : Measure β) : κ ∘ₖ Kernel.const α μ = Kernel.const α (κ ∘ₘ μ) := by - ext x s hs - rw [Kernel.comp_apply, bind_apply hs (by fun_prop), Kernel.const_apply, Kernel.const_apply, - bind_apply hs (by fun_prop)] + tauto lemma map_comp (μ : Measure α) (κ : Kernel α β) {f : β → γ} (hf : Measurable f) : (κ ∘ₘ μ).map f = (κ.map f) ∘ₘ μ := by diff --git a/Mathlib/Probability/Process/Filtration.lean b/Mathlib/Probability/Process/Filtration.lean index 13e2f0025b..ce51705c7f 100644 --- a/Mathlib/Probability/Process/Filtration.lean +++ b/Mathlib/Probability/Process/Filtration.lean @@ -382,14 +382,10 @@ def piFinset : @Filtration (Π i, X i) (Finset ι) _ pi where exact comap_mono (measurable_restrict₂ hst).comap_le le' s := s.measurable_restrict.comap_le +set_option trace.profiler true in lemma piFinset_eq_comap_restrict (s : Finset ι) : piFinset (X := X) s = pi.comap s.toSet.restrict := by - apply le_antisymm - · simp_rw [piFinset, ← Set.piCongrLeft_comp_restrict, ← MeasurableEquiv.coe_piCongrLeft, - ← comap_comp] - exact MeasurableSpace.comap_mono <| (MeasurableEquiv.measurable _).comap_le - · rw [← piCongrLeft_comp_restrict, ← MeasurableEquiv.coe_piCongrLeft, ← comap_comp] - exact MeasurableSpace.comap_mono <| (MeasurableEquiv.measurable _).comap_le + tauto end piFinset ``` ``` ✔ [2340/2340] Built Mathlib.Probability.Process.Filtration (1.7s) Build completed successfully (2340 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-measure-probability 2/9 Mathlib/Probability/Kernel/Composition/MeasureComp.lean,Mathlib/Probability/Process/Filtration.lean 2 1 ['github-actions'] nobody
3-27202
3 days ago
3-29270
3 days ago
3-29317
3 days
28556 euprunin
author:euprunin
chore(Algebra): golf entire `linearEquivFunOnFintype_lof`, `mem_valueMonoid`, `ofIsColimitCokernelCofork_f` and more using `tauto` ---
Show trace profiling of linearEquivFunOnFintype_lof: 81 ms before, 12 ms after 🎉 ### Trace profiling of `linearEquivFunOnFintype_lof` before PR 28556 ```diff diff --git a/Mathlib/Algebra/DirectSum/Module.lean b/Mathlib/Algebra/DirectSum/Module.lean index 9f114bb72d..453547fa5d 100644 --- a/Mathlib/Algebra/DirectSum/Module.lean +++ b/Mathlib/Algebra/DirectSum/Module.lean @@ -148,6 +148,7 @@ def linearEquivFunOnFintype [Fintype ι] : (⨁ i, M i) ≃ₗ[R] ∀ i, M i := variable {ι M} +set_option trace.profiler true in @[simp] theorem linearEquivFunOnFintype_lof [Fintype ι] (i : ι) (m : M i) : (linearEquivFunOnFintype R ι M) (lof R ι M i m) = Pi.single i m := by ``` ``` ℹ [1122/1122] Built Mathlib.Algebra.DirectSum.Module (3.7s) info: Mathlib/Algebra/DirectSum/Module.lean:152:0: [Elab.command] [0.017342] @[simp] theorem linearEquivFunOnFintype_lof [Fintype ι] (i : ι) (m : M i) : (linearEquivFunOnFintype R ι M) (lof R ι M i m) = Pi.single i m := by ext a change (DFinsupp.equivFunOnFintype (lof R ι M i m)) a = _ convert _root_.congr_fun (DFinsupp.equivFunOnFintype_single i m) a info: Mathlib/Algebra/DirectSum/Module.lean:152:0: [Elab.async] [0.083896] elaborating proof of DirectSum.linearEquivFunOnFintype_lof [Elab.definition.value] [0.081072] DirectSum.linearEquivFunOnFintype_lof [Elab.step] [0.079142] ext a change (DFinsupp.equivFunOnFintype (lof R ι M i m)) a = _ convert _root_.congr_fun (DFinsupp.equivFunOnFintype_single i m) a [Elab.step] [0.079123] ext a change (DFinsupp.equivFunOnFintype (lof R ι M i m)) a = _ convert _root_.congr_fun (DFinsupp.equivFunOnFintype_single i m) a [Elab.step] [0.018446] change (DFinsupp.equivFunOnFintype (lof R ι M i m)) a = _ [Elab.step] [0.017469] expected type: Prop, term (DFinsupp.equivFunOnFintype (lof R ι M i m)) a = _ [Elab.step] [0.017457] expected type: Prop, term binrel% Eq✝ ((DFinsupp.equivFunOnFintype (lof R ι M i m)) a) _ [Elab.step] [0.017290] expected type: , term (DFinsupp.equivFunOnFintype (lof R ι M i m)) a [Elab.step] [0.017226] expected type: , term (DFinsupp.equivFunOnFintype (lof R ι M i m)) [Elab.step] [0.017215] expected type: , term DFinsupp.equivFunOnFintype (lof R ι M i m) [Elab.step] [0.058501] convert _root_.congr_fun (DFinsupp.equivFunOnFintype_single i m) a Build completed successfully (1122 jobs). ``` ### Trace profiling of `linearEquivFunOnFintype_lof` after PR 28556 ```diff diff --git a/Mathlib/Algebra/DirectSum/Module.lean b/Mathlib/Algebra/DirectSum/Module.lean index 9f114bb72d..51e7d0aff8 100644 --- a/Mathlib/Algebra/DirectSum/Module.lean +++ b/Mathlib/Algebra/DirectSum/Module.lean @@ -148,12 +148,11 @@ def linearEquivFunOnFintype [Fintype ι] : (⨁ i, M i) ≃ₗ[R] ∀ i, M i := variable {ι M} +set_option trace.profiler true in @[simp] theorem linearEquivFunOnFintype_lof [Fintype ι] (i : ι) (m : M i) : (linearEquivFunOnFintype R ι M) (lof R ι M i m) = Pi.single i m := by - ext a - change (DFinsupp.equivFunOnFintype (lof R ι M i m)) a = _ - convert _root_.congr_fun (DFinsupp.equivFunOnFintype_single i m) a + tauto @[simp] theorem linearEquivFunOnFintype_symm_single [Fintype ι] (i : ι) (m : M i) : diff --git a/Mathlib/Algebra/GroupWithZero/Range.lean b/Mathlib/Algebra/GroupWithZero/Range.lean index fdd5278569..1fe25c4437 100644 --- a/Mathlib/Algebra/GroupWithZero/Range.lean +++ b/Mathlib/Algebra/GroupWithZero/Range.lean @@ -100,9 +100,7 @@ codomain containing the range of `f`. -/ abbrev valueGroup₀ := WithZero (valueGroup f) lemma mem_valueMonoid {b : Bˣ} (hb : b.val ∈ range f) : b ∈ valueMonoid f := by - rcases hb with ⟨c, _⟩ - simp only [mem_valueMonoid_iff, mem_preimage, mem_range] - use c + tauto lemma mem_valueGroup {b : Bˣ} (hb : b.1 ∈ range f) : b ∈ valueGroup f := by suffices b ∈ valueMonoid f from Subgroup.mem_closure.mpr fun _ a ↦ a this diff --git a/Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean b/Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean index 4434f1d449..e3961157eb 100644 --- a/Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean +++ b/Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean @@ -153,10 +153,7 @@ def ofIsColimitCokernelCofork (hg : S.g = 0) (c : CokernelCofork S.f) (hc : IsCo @[simp] lemma ofIsColimitCokernelCofork_f' (hg : S.g = 0) (c : CokernelCofork S.f) (hc : IsColimit c) : (ofIsColimitCokernelCofork S hg c hc).f' = S.f := by - rw [← cancel_mono (ofIsColimitCokernelCofork S hg c hc).i, f'_i, - ofIsColimitCokernelCofork_i] - dsimp - rw [comp_id] + tauto /-- When the second map `S.g` is zero, this is the left homology data on `S` given by the chosen `cokernel S.f` -/ diff --git a/Mathlib/Algebra/Lie/OfAssociative.lean b/Mathlib/Algebra/Lie/OfAssociative.lean index c50ddbb4e8..a62abca315 100644 --- a/Mathlib/Algebra/Lie/OfAssociative.lean +++ b/Mathlib/Algebra/Lie/OfAssociative.lean @@ -341,10 +341,7 @@ theorem toEnd_comp_subtype_mem (m : M) (hm : m ∈ (N : Submodule R M)) : @[simp] theorem toEnd_restrict_eq_toEnd (h := N.toEnd_comp_subtype_mem x) : (toEnd R L M x).restrict h = toEnd R L N x := by - ext - simp only [LinearMap.restrict_coe_apply, toEnd_apply_apply, ← coe_bracket, - SetLike.coe_eq_coe] - rfl + tauto lemma mapsTo_pow_toEnd_sub_algebraMap {φ : R} {k : ℕ} {x : L} : MapsTo ((toEnd R L M x - algebraMap R (Module.End R M) φ) ^ k) N N := by diff --git a/Mathlib/Algebra/Polynomial/AlgebraMap.lean b/Mathlib/Algebra/Polynomial/AlgebraMap.lean index a7add7b33f..e49df2df8d 100644 --- a/Mathlib/Algebra/Polynomial/AlgebraMap.lean +++ b/Mathlib/Algebra/Polynomial/AlgebraMap.lean @@ -175,9 +175,7 @@ theorem mapAlgHom_comp (C : Type*) [Semiring C] [Algebra R C] (f : B →ₐ[R] C theorem mapAlgHom_eq_eval₂AlgHom'_CAlgHom (f : A →ₐ[R] B) : mapAlgHom f = eval₂AlgHom' (CAlgHom.comp f) X (fun a => (commute_X (C (f a))).symm) := by - apply AlgHom.ext - intro x - congr + tauto /-- If `A` and `B` are isomorphic as `R`-algebras, then so are their polynomial rings -/ def mapAlgEquiv (f : A ≃ₐ[R] B) : Polynomial A ≃ₐ[R] Polynomial B := @@ -244,8 +242,7 @@ lemma eval_map_algebraMap (P : R[X]) (b : B) : /-- `mapAlg` is the morphism induced by `R → S`. -/ theorem mapAlg_eq_map (S : Type v) [Semiring S] [Algebra R S] (p : R[X]) : mapAlg R S p = map (algebraMap R S) p := by - simp only [mapAlg, aeval_def, eval₂_eq_sum, map, algebraMap_apply, RingHom.coe_comp] - ext; congr + tauto theorem aeval_zero : aeval x (0 : R[X]) = 0 := map_zero (aeval x) diff --git a/Mathlib/Algebra/Polynomial/Coeff.lean b/Mathlib/Algebra/Polynomial/Coeff.lean index b89c65aa6a..9edad6136e 100644 --- a/Mathlib/Algebra/Polynomial/Coeff.lean +++ b/Mathlib/Algebra/Polynomial/Coeff.lean @@ -43,9 +43,7 @@ theorem coeff_add (p q : R[X]) (n : ℕ) : coeff (p + q) n = coeff p n + coeff q @[simp] theorem coeff_smul [SMulZeroClass S R] (r : S) (p : R[X]) (n : ℕ) : coeff (r • p) n = r • coeff p n := by - rcases p with ⟨⟩ - simp_rw [← ofFinsupp_smul, coeff] - exact Finsupp.smul_apply _ _ _ + tauto theorem support_smul [SMulZeroClass S R] (r : S) (p : R[X]) : support (r • p) ⊆ support p := by diff --git a/Mathlib/Algebra/RingQuot.lean b/Mathlib/Algebra/RingQuot.lean index 8e42eb3c42..64a264b5a2 100644 --- a/Mathlib/Algebra/RingQuot.lean +++ b/Mathlib/Algebra/RingQuot.lean @@ -242,9 +242,7 @@ theorem sub_quot {R : Type uR} [Ring R] (r : R → R → Prop) {a b} : theorem smul_quot [Algebra S R] {n : S} {a : R} : (n • ⟨Quot.mk _ a⟩ : RingQuot r) = ⟨Quot.mk _ (n • a)⟩ := by - change smul r _ _ = _ - rw [smul] - rfl + tauto instance instIsScalarTower [CommSemiring T] [SMul S T] [Algebra S R] [Algebra T R] [IsScalarTower S T R] : IsScalarTower S T (RingQuot r) := diff --git a/Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean b/Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean index 5d63000eda..90ac5ac68f 100644 --- a/Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean +++ b/Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean @@ -213,9 +213,7 @@ theorem coeff_add (p q : SkewMonoidAlgebra k G) (a : G) : @[simp] theorem coeff_smul {S} [SMulZeroClass S k] (r : S) (p : SkewMonoidAlgebra k G) (a : G) : coeff (r • p) a = r • coeff p a := by - rcases p - simp_rw [← ofFinsupp_smul, coeff] - exact Finsupp.smul_apply _ _ _ + tauto end Coeff ``` ``` ℹ [1122/1122] Built Mathlib.Algebra.DirectSum.Module (3.8s) info: Mathlib/Algebra/DirectSum/Module.lean:152:0: [Elab.command] [0.023466] @[simp] theorem linearEquivFunOnFintype_lof [Fintype ι] (i : ι) (m : M i) : (linearEquivFunOnFintype R ι M) (lof R ι M i m) = Pi.single i m := by tauto info: Mathlib/Algebra/DirectSum/Module.lean:152:0: [Elab.async] [0.013767] elaborating proof of DirectSum.linearEquivFunOnFintype_lof [Elab.definition.value] [0.012260] DirectSum.linearEquivFunOnFintype_lof [Elab.step] [0.011580] tauto [Elab.step] [0.011563] tauto [Elab.step] [0.011547] tauto Build completed successfully (1122 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-algebra
label:t-algebra$
9/28 Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean,Mathlib/Algebra/Lie/OfAssociative.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean 8 1 ['github-actions'] nobody
3-27046
3 days ago
3-30114
3 days ago
3-30160
3 days
28558 euprunin
author:euprunin
chore(Analysis): golf entire `HasGradientAtFilter.hasDerivAtFilter`, `liftIsometry_symm_apply` and `mapL_apply` using `tauto` ---
Show trace profiling of HasGradientAtFilter.hasDerivAtFilter: 324 ms before, 26 ms after 🎉 ### Trace profiling of `HasGradientAtFilter.hasDerivAtFilter` before PR 28558 ```diff diff --git a/Mathlib/Analysis/Calculus/Gradient/Basic.lean b/Mathlib/Analysis/Calculus/Gradient/Basic.lean index 836221ccf3..006cb65688 100644 --- a/Mathlib/Analysis/Calculus/Gradient/Basic.lean +++ b/Mathlib/Analysis/Calculus/Gradient/Basic.lean @@ -154,6 +154,7 @@ section OneDimension variable {g : 𝕜 → 𝕜} {g' u : 𝕜} {L' : Filter 𝕜} +set_option trace.profiler true in theorem HasGradientAtFilter.hasDerivAtFilter (h : HasGradientAtFilter g g' u L') : HasDerivAtFilter g (starRingEnd 𝕜 g') u L' := by have : ContinuousLinearMap.smulRight (1 : 𝕜 →L[𝕜] 𝕜) (starRingEnd 𝕜 g') = (toDual 𝕜 𝕜) g' := by ``` ``` ℹ [2086/2086] Built Mathlib.Analysis.Calculus.Gradient.Basic (4.4s) info: Mathlib/Analysis/Calculus/Gradient/Basic.lean:158:0: [Elab.command] [0.077182] theorem hasDerivAtFilter (h : HasGradientAtFilter g g' u L') : HasDerivAtFilter g (starRingEnd 𝕜 g') u L' := by have : ContinuousLinearMap.smulRight (1 : 𝕜 →L[𝕜] 𝕜) (starRingEnd 𝕜 g') = (toDual 𝕜 𝕜) g' := by ext; simp rwa [HasDerivAtFilter, this] [Elab.definition.header] [0.071511] HasGradientAtFilter.hasDerivAtFilter [Elab.step] [0.019228] expected type: Prop, term HasGradientAtFilter g g' u L' [Elab.step] [0.052190] expected type: Prop, term HasDerivAtFilter g (starRingEnd 𝕜 g') u L' [Meta.synthInstance] [0.037008] ✅️ ContinuousSMul 𝕜 𝕜 [Meta.synthInstance] [0.019129] ✅️ apply @IsTopologicalRing.toIsTopologicalSemiring to IsTopologicalSemiring 𝕜 [Meta.synthInstance.tryResolve] [0.019091] ✅️ IsTopologicalSemiring 𝕜 ≟ IsTopologicalSemiring 𝕜 [Meta.isDefEq] [0.017149] ✅️ IsTopologicalSemiring 𝕜 =?= IsTopologicalSemiring ?m.29 [Meta.isDefEq] [0.017098] ✅️ Field.toSemifield.toDivisionSemiring.toNonUnitalNonAssocSemiring =?= NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring [Meta.isDefEq] [0.017028] ✅️ Field.toSemifield.toDivisionSemiring.toNonUnitalNonAssocSemiring =?= { toAddMonoid := NonUnitalNonAssocRing.toAddCommGroup.toAddMonoid, add_comm := ⋯, toMul := NonUnitalNonAssocRing.toMul, left_distrib := ⋯, right_distrib := ⋯, zero_mul := ⋯, mul_zero := ⋯ } [Meta.isDefEq] [0.017014] ✅️ Field.toSemifield.toDivisionSemiring.toNonUnitalSemiring.1 =?= { toAddMonoid := NonUnitalNonAssocRing.toAddCommGroup.toAddMonoid, add_comm := ⋯, toMul := NonUnitalNonAssocRing.toMul, left_distrib := ⋯, right_distrib := ⋯, zero_mul := ⋯, mul_zero := ⋯ } [Meta.isDefEq] [0.015330] ✅️ Field.toSemifield.toDivisionSemiring.toNonUnitalSemiring.1.toAddCommMonoid =?= { toAddMonoid := NonUnitalNonAssocRing.toAddCommGroup.toAddMonoid, add_comm := ⋯ } [Meta.isDefEq] [0.015316] ✅️ Field.toSemifield.toDivisionSemiring.toNonUnitalSemiring.1.1 =?= { toAddMonoid := NonUnitalNonAssocRing.toAddCommGroup.toAddMonoid, add_comm := ⋯ } [Meta.isDefEq] [0.015177] ✅️ Field.toSemifield.toDivisionSemiring.toNonUnitalSemiring.1.1.toAddMonoid =?= NonUnitalNonAssocRing.toAddCommGroup.toAddMonoid [Meta.isDefEq] [0.015106] ✅️ Field.toSemifield.toDivisionSemiring.toNonUnitalSemiring.1.1.1 =?= NonUnitalNonAssocRing.toAddCommGroup.toSubNegMonoid.1 [Meta.isDefEq.onFailure] [0.014986] ✅️ Field.toSemifield.toDivisionSemiring.toNonUnitalSemiring.1.1.1 =?= NonUnitalNonAssocRing.toAddCommGroup.toSubNegMonoid.1 [Meta.isDefEq] [0.014035] ✅️ Field.toSemifield.toDivisionSemiring.toNonUnitalSemiring.1.1.1 =?= NormedCommRing.toNonUnitalNormedCommRing.toNonUnitalCommRing.toNonUnitalNonAssocCommRing.toSubNegMonoid.1 [Meta.isDefEq] [0.013895] ✅️ Field.toSemifield.toDivisionSemiring.toNonUnitalSemiring.1.1.1 =?= NormedField.toNormedCommRing.toAddMonoid [Meta.isDefEq] [0.013785] ✅️ Field.toSemifield.toDivisionSemiring.toNonUnitalSemiring.1.1.1 =?= NormedField.toNormedCommRing.toAddCommMonoid.1 [Meta.isDefEq] [0.013679] ✅️ Field.toSemifield.toDivisionSemiring.toNonUnitalSemiring.1.1 =?= NormedField.toNormedCommRing.toAddCommMonoid [Meta.isDefEq] [0.011626] ✅️ Field.toSemifield.toDivisionSemiring.toNonUnitalSemiring.1.1 =?= NormedField.toNormedCommRing.toNonUnitalNonAssocSemiring.1 [Meta.isDefEq] [0.011408] ✅️ Field.toSemifield.toDivisionSemiring.toNonUnitalSemiring.1 =?= NormedField.toNormedCommRing.toNonUnitalNonAssocSemiring [Meta.isDefEq] [0.011153] ✅️ Field.toSemifield.toDivisionSemiring.toNonUnitalSemiring.1 =?= NormedField.toNormedCommRing.toNonUnitalSemiring.1 [Meta.isDefEq] [0.010965] ✅️ Field.toSemifield.toDivisionSemiring.toNonUnitalSemiring =?= NormedField.toNormedCommRing.toNonUnitalSemiring [Meta.isDefEq] [0.010944] ✅️ Field.toSemifield.toDivisionSemiring.toSemiring.1 =?= NormedField.toNormedCommRing.toSemiring.1 [Meta.whnf] [0.010322] Non-easy whnf: Field.toSemifield.toDivisionSemiring.toSemiring [Meta.whnf] [0.010314] Non-easy whnf: Field.toSemifield.toDivisionSemiring.1 [Meta.whnf] [0.010293] Non-easy whnf: Field.toSemifield.toCommSemiring.1 [Meta.whnf] [0.010257] Non-easy whnf: inst✝³.toRing.1 [Meta.whnf] [0.010253] Non-easy whnf: inst✝³.toRing [Meta.whnf] [0.010247] Non-easy whnf: inst✝³.toCommRing.1 [Meta.whnf] [0.010244] Non-easy whnf: inst✝³.toCommRing [Meta.whnf] [0.010238] Non-easy whnf: inst✝³.toField.1 [Meta.whnf] [0.010233] Non-easy whnf: inst✝³.toField [Meta.whnf] [0.010226] Non-easy whnf: inst✝³.toNormedField.2 [Meta.whnf] [0.010221] Non-easy whnf: inst✝³.toNormedField info: Mathlib/Analysis/Calculus/Gradient/Basic.lean:158:0: [Elab.command] [0.077452] theorem HasGradientAtFilter.hasDerivAtFilter (h : HasGradientAtFilter g g' u L') : HasDerivAtFilter g (starRingEnd 𝕜 g') u L' := by have : ContinuousLinearMap.smulRight (1 : 𝕜 →L[𝕜] 𝕜) (starRingEnd 𝕜 g') = (toDual 𝕜 𝕜) g' := by ext; simp rwa [HasDerivAtFilter, this] info: Mathlib/Analysis/Calculus/Gradient/Basic.lean:158:0: [Elab.async] [0.324880] elaborating proof of HasGradientAtFilter.hasDerivAtFilter [Elab.definition.value] [0.323521] HasGradientAtFilter.hasDerivAtFilter [Elab.step] [0.322337] have : ContinuousLinearMap.smulRight (1 : 𝕜 →L[𝕜] 𝕜) (starRingEnd 𝕜 g') = (toDual 𝕜 𝕜) g' := by ext; simp rwa [HasDerivAtFilter, this] [Elab.step] [0.322326] have : ContinuousLinearMap.smulRight (1 : 𝕜 →L[𝕜] 𝕜) (starRingEnd 𝕜 g') = (toDual 𝕜 𝕜) g' := by ext; simp rwa [HasDerivAtFilter, this] [Elab.step] [0.246424] have : ContinuousLinearMap.smulRight (1 : 𝕜 →L[𝕜] 𝕜) (starRingEnd 𝕜 g') = (toDual 𝕜 𝕜) g' := by ext; simp [Elab.step] [0.246399] focus refine no_implicit_lambda% (have : ContinuousLinearMap.smulRight (1 : 𝕜 →L[𝕜] 𝕜) (starRingEnd 𝕜 g') = (toDual 𝕜 𝕜) g' := ?body✝; ?_) case body✝ => with_annotate_state"by" (ext; simp) [Elab.step] [0.246383] refine no_implicit_lambda% (have : ContinuousLinearMap.smulRight (1 : 𝕜 →L[𝕜] 𝕜) (starRingEnd 𝕜 g') = (toDual 𝕜 𝕜) g' := ?body✝; ?_) case body✝ => with_annotate_state"by" (ext; simp) [Elab.step] [0.246374] refine no_implicit_lambda% (have : ContinuousLinearMap.smulRight (1 : 𝕜 →L[𝕜] 𝕜) (starRingEnd 𝕜 g') = (toDual 𝕜 𝕜) g' := ?body✝; ?_) case body✝ => with_annotate_state"by" (ext; simp) [Elab.step] [0.129317] refine no_implicit_lambda% (have : ContinuousLinearMap.smulRight (1 : 𝕜 →L[𝕜] 𝕜) (starRingEnd 𝕜 g') = (toDual 𝕜 𝕜) g' := ?body✝; ?_) [Elab.step] [0.129244] expected type: HasDerivAtFilter g ((starRingEnd 𝕜) g') u L', term no_implicit_lambda% (have : ContinuousLinearMap.smulRight (1 : 𝕜 →L[𝕜] 𝕜) (starRingEnd 𝕜 g') = (toDual 𝕜 𝕜) g' := ?body✝; ?_) [Elab.step] [0.129237] expected type: HasDerivAtFilter g ((starRingEnd 𝕜) g') u L', term (have : ContinuousLinearMap.smulRight (1 : 𝕜 →L[𝕜] 𝕜) (starRingEnd 𝕜 g') = (toDual 𝕜 𝕜) g' := ?body✝; ?_) [Elab.step] [0.129227] expected type: HasDerivAtFilter g ((starRingEnd 𝕜) g') u L', term have : ContinuousLinearMap.smulRight (1 : 𝕜 →L[𝕜] 𝕜) (starRingEnd 𝕜 g') = (toDual 𝕜 𝕜) g' := ?body✝; ?_ [Elab.step] [0.129071] expected type: Sort ?u.35930, term ContinuousLinearMap.smulRight (1 : 𝕜 →L[𝕜] 𝕜) (starRingEnd 𝕜 g') = (toDual 𝕜 𝕜) g' [Elab.step] [0.129062] expected type: Sort ?u.35930, term binrel% Eq✝ (ContinuousLinearMap.smulRight (1 : 𝕜 →L[𝕜] 𝕜) (starRingEnd 𝕜 g')) ((toDual 𝕜 𝕜) g') [Elab.step] [0.079658] expected type: , term ContinuousLinearMap.smulRight (1 : 𝕜 →L[𝕜] 𝕜) (starRingEnd 𝕜 g') [Elab.step] [0.026622] expected type: ?m.21 →L[?m.27] ?m.28, term (1 : 𝕜 →L[𝕜] 𝕜) [Elab.step] [0.019404] expected type: Type u_1, term 𝕜 →L[𝕜] 𝕜 [Elab.step] [0.019229] expected type: Type u_1, term ContinuousLinearMap✝ (RingHom.id✝ 𝕜) 𝕜 𝕜 [Meta.synthInstance] [0.021520] ✅️ ContinuousSMul 𝕜 𝕜 [Elab.step] [0.041933] expected type: , term (toDual 𝕜 𝕜) g' [Meta.synthInstance] [0.032953] ✅️ CoeFun (𝕜 ≃ₗᵢ⋆[𝕜] StrongDual 𝕜 𝕜) fun x ↦ 𝕜 → StrongDual 𝕜 𝕜 [Meta.check] [0.025804] ✅️ LinearIsometryEquiv.instCoeFun [Meta.isDefEq] [0.010457] ✅️ Module 𝕜 (StrongDual 𝕜 𝕜) =?= Module 𝕜 (𝕜 →L[𝕜] 𝕜) [Meta.isDefEq] [0.010431] ✅️ ContinuousLinearMap.toSeminormedAddCommGroup.toAddCommMonoid =?= ContinuousLinearMap.addCommMonoid [Meta.isDefEq] [0.010421] ✅️ { toAddMonoid := ContinuousLinearMap.toSeminormedAddCommGroup.toAddMonoid, add_comm := ⋯ } =?= ContinuousLinearMap.addCommMonoid [Meta.isDefEq] [0.010404] ✅️ { toAddMonoid := ContinuousLinearMap.toSeminormedAddCommGroup.toAddMonoid, add_comm := ⋯ } =?= { toAdd := ContinuousLinearMap.add, add_assoc := ⋯, toZero := ContinuousLinearMap.zero, zero_add := ⋯, add_zero := ⋯, nsmul := fun x1 x2 ↦ x1 • x2, nsmul_zero := ⋯, nsmul_succ := ⋯, add_comm := ⋯ } [Meta.isDefEq] [0.010392] ✅️ ContinuousLinearMap.toSeminormedAddCommGroup.toAddMonoid =?= { toAdd := ContinuousLinearMap.add, add_assoc := ⋯, toZero := ContinuousLinearMap.zero, zero_add := ⋯, add_zero := ⋯, nsmul := fun x1 x2 ↦ x1 • x2, nsmul_zero := ⋯, nsmul_succ := ⋯ } [Meta.isDefEq] [0.010385] ✅️ ContinuousLinearMap.toSeminormedAddCommGroup.toSubNegMonoid.1 =?= { toAdd := ContinuousLinearMap.add, add_assoc := ⋯, toZero := ContinuousLinearMap.zero, zero_add := ⋯, add_zero := ⋯, nsmul := fun x1 x2 ↦ x1 • x2, nsmul_zero := ⋯, nsmul_succ := ⋯ } [Meta.isDefEq] [0.010308] ✅️ { toAddSemigroup := ContinuousLinearMap.addCommMonoid.toAddSemigroup, toZero := ContinuousLinearMap.addCommMonoid.toZero, zero_add := ⋯, add_zero := ⋯, nsmul := fun x1 x2 ↦ x1 • x2, nsmul_zero := ⋯, nsmul_succ := ⋯ } =?= { toAdd := ContinuousLinearMap.add, add_assoc := ⋯, toZero := ContinuousLinearMap.zero, zero_add := ⋯, add_zero := ⋯, nsmul := fun x1 x2 ↦ x1 • x2, nsmul_zero := ⋯, nsmul_succ := ⋯ } [Elab.step] [0.117036] case body✝ => with_annotate_state"by" (ext; simp) [Elab.step] [0.116833] with_annotate_state"by" (ext; simp) [Elab.step] [0.116825] with_annotate_state"by" (ext; simp) [Elab.step] [0.116817] with_annotate_state"by" (ext; simp) [Elab.step] [0.116808] (ext; simp) [Elab.step] [0.116800] ext; simp [Elab.step] [0.116792] ext; simp [Elab.step] [0.023272] ext [Meta.isDefEq] [0.014782] ✅️ ?f = ?g =?= ContinuousLinearMap.smulRight 1 ((starRingEnd 𝕜) g') = (toDual 𝕜 𝕜) g' [Elab.step] [0.093490] simp [Meta.isDefEq] [0.011156] ✅️ (ContinuousLinearMap.smulRight ?c ?f) ?x =?= (ContinuousLinearMap.smulRight 1 ((starRingEnd 𝕜) g')) 1 [Meta.isDefEq] [0.010884] ✅️ ContinuousLinearMap.smulRight ?c ?f =?= ContinuousLinearMap.smulRight 1 ((starRingEnd 𝕜) g') [Meta.isDefEq] [0.012606] ❌️ ?f 1 =?= ((toDual 𝕜 𝕜) g') 1 [Meta.isDefEq] [0.023888] ✅️ ((toDual ?𝕜 ?E) ?x) ?y =?= ((toDual 𝕜 𝕜) g') 1 [Meta.isDefEq] [0.013961] ✅️ (toDual ?𝕜 𝕜) ?x =?= (toDual 𝕜 𝕜) g' [Meta.isDefEq] [0.013464] ✅️ toDual ?𝕜 𝕜 =?= toDual 𝕜 𝕜 [Elab.step] [0.075876] rwa [HasDerivAtFilter, this] [Elab.step] [0.075525] (rw [HasDerivAtFilter, this]; assumption) [Elab.step] [0.075510] rw [HasDerivAtFilter, this]; assumption [Elab.step] [0.075500] rw [HasDerivAtFilter, this]; assumption [Elab.step] [0.071153] rw [HasDerivAtFilter, this] [Elab.step] [0.071142] (rewrite [HasDerivAtFilter, this]; with_annotate_state"]" (try (with_reducible rfl))) [Elab.step] [0.071135] rewrite [HasDerivAtFilter, this]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.071127] rewrite [HasDerivAtFilter, this]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.070666] rewrite [HasDerivAtFilter, this] [Meta.synthInstance] [0.034940] ✅️ ContinuousSMul 𝕜 𝕜 info: Mathlib/Analysis/Calculus/Gradient/Basic.lean:158:8: [Elab.async] [0.018779] Lean.addDecl [Kernel] [0.018600] ✅️ typechecking declarations [HasGradientAtFilter.hasDerivAtFilter] Build completed successfully (2086 jobs). ``` ### Trace profiling of `HasGradientAtFilter.hasDerivAtFilter` after PR 28558 ```diff diff --git a/Mathlib/Analysis/Calculus/Gradient/Basic.lean b/Mathlib/Analysis/Calculus/Gradient/Basic.lean index 836221ccf3..ef259e734f 100644 --- a/Mathlib/Analysis/Calculus/Gradient/Basic.lean +++ b/Mathlib/Analysis/Calculus/Gradient/Basic.lean @@ -154,11 +154,10 @@ section OneDimension variable {g : 𝕜 → 𝕜} {g' u : 𝕜} {L' : Filter 𝕜} +set_option trace.profiler true in theorem HasGradientAtFilter.hasDerivAtFilter (h : HasGradientAtFilter g g' u L') : HasDerivAtFilter g (starRingEnd 𝕜 g') u L' := by - have : ContinuousLinearMap.smulRight (1 : 𝕜 →L[𝕜] 𝕜) (starRingEnd 𝕜 g') = (toDual 𝕜 𝕜) g' := by - ext; simp - rwa [HasDerivAtFilter, this] + tauto theorem HasDerivAtFilter.hasGradientAtFilter (h : HasDerivAtFilter g g' u L') : HasGradientAtFilter g (starRingEnd 𝕜 g') u L' := by diff --git a/Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean b/Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean index 95d1540f92..6425395be8 100644 --- a/Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean +++ b/Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean @@ -297,11 +297,7 @@ theorem tprodL_coe : (tprodL 𝕜).toMultilinearMap = tprod 𝕜 (s := E) := by @[simp] theorem liftIsometry_symm_apply (l : (⨂[𝕜] i, E i) →L[𝕜] F) : (liftIsometry 𝕜 E F).symm l = l.compContinuousMultilinearMap (tprodL 𝕜) := by - ext m - change (liftEquiv 𝕜 E F).symm l m = _ - simp only [liftEquiv_symm_apply, lift_symm, MultilinearMap.coe_mkContinuous, - LinearMap.compMultilinearMap_apply, ContinuousLinearMap.coe_coe, - ContinuousLinearMap.compContinuousMultilinearMap_coe, Function.comp_apply, tprodL_toFun] + tauto @[simp] theorem liftIsometry_tprodL : @@ -337,12 +333,7 @@ theorem mapL_coe : (mapL f).toLinearMap = map (fun i ↦ (f i).toLinearMap) := b @[simp] theorem mapL_apply (x : ⨂[𝕜] i, E i) : mapL f x = map (fun i ↦ (f i).toLinearMap) x := by - induction x using PiTensorProduct.induction_on with - | smul_tprod => - simp only [mapL, map_smul, liftIsometry_apply_apply, lift.tprod, - ContinuousMultilinearMap.coe_coe, ContinuousMultilinearMap.compContinuousLinearMap_apply, - tprodL_toFun, map_tprod, ContinuousLinearMap.coe_coe] - | add _ _ hx hy => simp only [map_add, hx, hy] + tauto /-- Given submodules `pᵢ ⊆ Eᵢ`, this is the natural map: `⨂[𝕜] i, pᵢ → ⨂[𝕜] i, Eᵢ`. This is the continuous version of `PiTensorProduct.mapIncl`. ``` ``` ℹ [2086/2086] Built Mathlib.Analysis.Calculus.Gradient.Basic (4.3s) info: Mathlib/Analysis/Calculus/Gradient/Basic.lean:158:0: [Elab.command] [0.063573] theorem hasDerivAtFilter (h : HasGradientAtFilter g g' u L') : HasDerivAtFilter g (starRingEnd 𝕜 g') u L' := by tauto [Elab.definition.header] [0.051258] HasGradientAtFilter.hasDerivAtFilter [Elab.step] [0.041267] expected type: Prop, term HasDerivAtFilter g (starRingEnd 𝕜 g') u L' [Meta.synthInstance] [0.026897] ✅️ ContinuousSMul 𝕜 𝕜 info: Mathlib/Analysis/Calculus/Gradient/Basic.lean:158:0: [Elab.command] [0.063847] theorem HasGradientAtFilter.hasDerivAtFilter (h : HasGradientAtFilter g g' u L') : HasDerivAtFilter g (starRingEnd 𝕜 g') u L' := by tauto info: Mathlib/Analysis/Calculus/Gradient/Basic.lean:158:0: [Elab.async] [0.026129] elaborating proof of HasGradientAtFilter.hasDerivAtFilter [Elab.definition.value] [0.025613] HasGradientAtFilter.hasDerivAtFilter [Elab.step] [0.025330] tauto [Elab.step] [0.025321] tauto [Elab.step] [0.025309] tauto [Elab.step] [0.023296] assumption [Meta.isDefEq] [0.023275] ✅️ HasDerivAtFilter g ((starRingEnd 𝕜) g') u L' =?= HasGradientAtFilter g g' u L' [Meta.isDefEq] [0.023240] ✅️ HasDerivAtFilter g ((starRingEnd 𝕜) g') u L' =?= HasFDerivAtFilter g ((toDual 𝕜 𝕜) g') u L' [Meta.isDefEq] [0.023194] ✅️ HasFDerivAtFilter g (ContinuousLinearMap.smulRight 1 ((starRingEnd 𝕜) g')) u L' =?= HasFDerivAtFilter g ((toDual 𝕜 𝕜) g') u L' [Meta.isDefEq] [0.019563] ✅️ ContinuousLinearMap.smulRight 1 ((starRingEnd 𝕜) g') =?= (toDual 𝕜 𝕜) g' [Meta.isDefEq] [0.019423] ✅️ let __src := (↑1).smulRight ((starRingEnd 𝕜) g'); { toLinearMap := __src, cont := ⋯ } =?= (toDual 𝕜 𝕜) g' [Meta.isDefEq] [0.019402] ✅️ { toLinearMap := (↑1).smulRight ((starRingEnd 𝕜) g'), cont := ⋯ } =?= (toDual 𝕜 𝕜) g' [Meta.isDefEq] [0.019393] ✅️ { toLinearMap := (↑1).smulRight ((starRingEnd 𝕜) g'), cont := ⋯ } =?= EquivLike.toFunLike.1 (toDual 𝕜 𝕜) g' [Meta.isDefEq] [0.019381] ✅️ { toLinearMap := (↑1).smulRight ((starRingEnd 𝕜) g'), cont := ⋯ } =?= EquivLike.coe (toDual 𝕜 𝕜) g' [Meta.isDefEq] [0.019372] ✅️ { toLinearMap := (↑1).smulRight ((starRingEnd 𝕜) g'), cont := ⋯ } =?= LinearIsometryEquiv.instEquivLike.1 (toDual 𝕜 𝕜) g' [Meta.isDefEq] [0.019355] ✅️ { toLinearMap := (↑1).smulRight ((starRingEnd 𝕜) g'), cont := ⋯ } =?= (↑(toDual 𝕜 𝕜).toLinearEquiv).toFun g' [Meta.isDefEq] [0.019343] ✅️ { toLinearMap := (↑1).smulRight ((starRingEnd 𝕜) g'), cont := ⋯ } =?= (↑(toDual 𝕜 𝕜).toLinearEquiv).toAddHom.1 g' [Meta.isDefEq] [0.019069] ✅️ { toLinearMap := (↑1).smulRight ((starRingEnd 𝕜) g'), cont := ⋯ } =?= (⇑↑(LinearEquiv.ofTop (LinearMap.range (toDualMap 𝕜 𝕜).toLinearMap) ⋯) ∘ ⇑↑(LinearEquiv.ofInjective (toDualMap 𝕜 𝕜).toLinearMap ⋯)) g' [Meta.isDefEq] [0.019058] ✅️ { toLinearMap := (↑1).smulRight ((starRingEnd 𝕜) g'), cont := ⋯ } =?= ↑(LinearEquiv.ofTop (LinearMap.range (toDualMap 𝕜 𝕜).toLinearMap) ⋯) (↑(LinearEquiv.ofInjective (toDualMap 𝕜 𝕜).toLinearMap ⋯) g') [Meta.isDefEq] [0.019050] ✅️ { toLinearMap := (↑1).smulRight ((starRingEnd 𝕜) g'), cont := ⋯ } =?= LinearMap.instFunLike.1 (↑(LinearEquiv.ofTop (LinearMap.range (toDualMap 𝕜 𝕜).toLinearMap) ⋯)) (↑(LinearEquiv.ofInjective (toDualMap 𝕜 𝕜).toLinearMap ⋯) g') [Meta.isDefEq] [0.019025] ✅️ { toLinearMap := (↑1).smulRight ((starRingEnd 𝕜) g'), cont := ⋯ } =?= (↑(LinearEquiv.ofTop (LinearMap.range (toDualMap 𝕜 𝕜).toLinearMap) ⋯)).toFun (↑(LinearEquiv.ofInjective (toDualMap 𝕜 𝕜).toLinearMap ⋯) g') [Meta.isDefEq] [0.019016] ✅️ { toLinearMap := (↑1).smulRight ((starRingEnd 𝕜) g'), cont := ⋯ } =?= (↑(LinearEquiv.ofTop (LinearMap.range (toDualMap 𝕜 𝕜).toLinearMap) ⋯)).toAddHom.1 (↑(LinearEquiv.ofInjective (toDualMap 𝕜 𝕜).toLinearMap ⋯) g') [Meta.isDefEq] [0.018926] ✅️ { toLinearMap := (↑1).smulRight ((starRingEnd 𝕜) g'), cont := ⋯ } =?= ↑(↑(LinearEquiv.ofInjective (toDualMap 𝕜 𝕜).toLinearMap ⋯) g') [Meta.isDefEq] [0.018915] ✅️ { toLinearMap := (↑1).smulRight ((starRingEnd 𝕜) g'), cont := ⋯ } =?= (↑(LinearEquiv.ofInjective (toDualMap 𝕜 𝕜).toLinearMap ⋯) g').1 [Meta.isDefEq] [0.018663] ✅️ { toLinearMap := (↑1).smulRight ((starRingEnd 𝕜) g'), cont := ⋯ } =?= (toDualMap 𝕜 𝕜).toLinearMap g' [Meta.isDefEq] [0.018654] ✅️ { toLinearMap := (↑1).smulRight ((starRingEnd 𝕜) g'), cont := ⋯ } =?= LinearMap.instFunLike.1 (toDualMap 𝕜 𝕜).toLinearMap g' [Meta.isDefEq] [0.018640] ✅️ { toLinearMap := (↑1).smulRight ((starRingEnd 𝕜) g'), cont := ⋯ } =?= (toDualMap 𝕜 𝕜).toFun g' [Meta.isDefEq] [0.018631] ✅️ { toLinearMap := (↑1).smulRight ((starRingEnd 𝕜) g'), cont := ⋯ } =?= (toDualMap 𝕜 𝕜).toAddHom.1 g' [Meta.isDefEq] [0.018276] ✅️ { toLinearMap := (↑1).smulRight ((starRingEnd 𝕜) g'), cont := ⋯ } =?= ((innerₛₗ 𝕜) g').mkContinuousOfExistsBound ⋯ [Meta.isDefEq] [0.018263] ✅️ { toLinearMap := (↑1).smulRight ((starRingEnd 𝕜) g'), cont := ⋯ } =?= { toLinearMap := (innerₛₗ 𝕜) g', cont := ⋯ } [Meta.isDefEq] [0.012681] ✅️ (↑1).smulRight ((starRingEnd 𝕜) g') =?= (innerₛₗ 𝕜) g' [Meta.isDefEq] [0.012596] ✅️ { toFun := fun b ↦ ↑1 b • (starRingEnd 𝕜) g', map_add' := ⋯, map_smul' := ⋯ } =?= (innerₛₗ 𝕜) g' [Meta.isDefEq] [0.012565] ✅️ { toFun := fun b ↦ ↑1 b • (starRingEnd 𝕜) g', map_add' := ⋯, map_smul' := ⋯ } =?= LinearMap.instFunLike.1 (innerₛₗ 𝕜) g' [Meta.isDefEq] [0.012552] ✅️ { toFun := fun b ↦ ↑1 b • (starRingEnd 𝕜) g', map_add' := ⋯, map_smul' := ⋯ } =?= (innerₛₗ 𝕜).toFun g' [Meta.isDefEq] [0.012543] ✅️ { toFun := fun b ↦ ↑1 b • (starRingEnd 𝕜) g', map_add' := ⋯, map_smul' := ⋯ } =?= (innerₛₗ 𝕜).toAddHom.1 g' [Meta.isDefEq] [0.012400] ✅️ { toFun := fun b ↦ ↑1 b • (starRingEnd 𝕜) g', map_add' := ⋯, map_smul' := ⋯ } =?= { toFun := (fun v w ↦ ⟪v, w⟫) g', map_add' := ⋯, map_smul' := ⋯ } info: Mathlib/Analysis/Calculus/Gradient/Basic.lean:158:8: [Elab.async] [0.013901] Lean.addDecl [Kernel] [0.013541] ✅️ typechecking declarations [HasGradientAtFilter.hasDerivAtFilter] Build completed successfully (2086 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-analysis 3/14 Mathlib/Analysis/Calculus/Gradient/Basic.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean 2 1 ['github-actions'] nobody
3-26996
3 days ago
3-30050
3 days ago
3-30096
3 days
28559 euprunin
author:euprunin
chore(CategoryTheory): golf entire `preinclusion_map₂`, `mapForget_eq`, `uSwitch_map_uSwitch_map` and more using `tauto` ---
Show trace profiling of preinclusion_map₂: 166 ms before, 33 ms after 🎉 ### Trace profiling of `preinclusion_map₂` before PR 28559 ```diff diff --git a/Mathlib/CategoryTheory/Bicategory/Coherence.lean b/Mathlib/CategoryTheory/Bicategory/Coherence.lean index e5ce271970..61a115654e 100644 --- a/Mathlib/CategoryTheory/Bicategory/Coherence.lean +++ b/Mathlib/CategoryTheory/Bicategory/Coherence.lean @@ -84,6 +84,7 @@ def preinclusion (B : Type u) [Quiver.{v + 1} B] : theorem preinclusion_obj (a : B) : (preinclusion B).obj ⟨a⟩ = a := rfl +set_option trace.profiler true in @[simp] theorem preinclusion_map₂ {a b : B} (f g : Discrete (Path.{v + 1} a b)) (η : f ⟶ g) : (preinclusion B).map₂ η = eqToHom (congr_arg _ (Discrete.ext (Discrete.eq_of_hom η))) := by ``` ``` ℹ [503/503] Built Mathlib.CategoryTheory.Bicategory.Coherence (3.8s) info: Mathlib/CategoryTheory/Bicategory/Coherence.lean:88:0: [Elab.command] [0.017892] @[simp] theorem preinclusion_map₂ {a b : B} (f g : Discrete (Path.{v + 1} a b)) (η : f ⟶ g) : (preinclusion B).map₂ η = eqToHom (congr_arg _ (Discrete.ext (Discrete.eq_of_hom η))) := by rcases η with ⟨⟨⟩⟩ cases Discrete.ext (by assumption) convert (inclusionPath a b).map_id _ [Elab.definition.header] [0.012532] CategoryTheory.FreeBicategory.preinclusion_map₂ [Elab.step] [0.010910] expected type: Prop, term (preinclusion B).map₂ η = eqToHom (congr_arg _ (Discrete.ext (Discrete.eq_of_hom η))) [Elab.step] [0.010898] expected type: Prop, term binrel% Eq✝ ((preinclusion B).map₂ η) (eqToHom (congr_arg _ (Discrete.ext (Discrete.eq_of_hom η)))) info: Mathlib/CategoryTheory/Bicategory/Coherence.lean:88:0: [Elab.async] [0.170229] elaborating proof of CategoryTheory.FreeBicategory.preinclusion_map₂ [Elab.definition.value] [0.165791] CategoryTheory.FreeBicategory.preinclusion_map₂ [Elab.step] [0.160852] rcases η with ⟨⟨⟩⟩ cases Discrete.ext (by assumption) convert (inclusionPath a b).map_id _ [Elab.step] [0.160840] rcases η with ⟨⟨⟩⟩ cases Discrete.ext (by assumption) convert (inclusionPath a b).map_id _ [Elab.step] [0.153245] convert (inclusionPath a b).map_id _ info: Mathlib/CategoryTheory/Bicategory/Coherence.lean:89:8: [Elab.async] [0.012802] Lean.addDecl [Kernel] [0.012744] ✅️ typechecking declarations [CategoryTheory.FreeBicategory.preinclusion_map₂] Build completed successfully (503 jobs). ``` ### Trace profiling of `preinclusion_map₂` after PR 28559 ```diff diff --git a/Mathlib/CategoryTheory/Bicategory/Coherence.lean b/Mathlib/CategoryTheory/Bicategory/Coherence.lean index e5ce271970..29da16cbb6 100644 --- a/Mathlib/CategoryTheory/Bicategory/Coherence.lean +++ b/Mathlib/CategoryTheory/Bicategory/Coherence.lean @@ -84,12 +84,11 @@ def preinclusion (B : Type u) [Quiver.{v + 1} B] : theorem preinclusion_obj (a : B) : (preinclusion B).obj ⟨a⟩ = a := rfl +set_option trace.profiler true in @[simp] theorem preinclusion_map₂ {a b : B} (f g : Discrete (Path.{v + 1} a b)) (η : f ⟶ g) : (preinclusion B).map₂ η = eqToHom (congr_arg _ (Discrete.ext (Discrete.eq_of_hom η))) := by - rcases η with ⟨⟨⟩⟩ - cases Discrete.ext (by assumption) - convert (inclusionPath a b).map_id _ + tauto /-- The normalization of the composition of `p : Path a b` and `f : Hom b c`. `p` will eventually be taken to be `nil` and we then get the normalization diff --git a/Mathlib/CategoryTheory/Comma/Over/Basic.lean b/Mathlib/CategoryTheory/Comma/Over/Basic.lean index 1372cd7356..623f4dc454 100644 --- a/Mathlib/CategoryTheory/Comma/Over/Basic.lean +++ b/Mathlib/CategoryTheory/Comma/Over/Basic.lean @@ -216,9 +216,7 @@ def mapId (Y : T) : map (𝟙 Y) ≅ 𝟭 _ := eqToIso (mapId_eq Y) /-- Mapping by `f` and then forgetting is the same as forgetting. -/ theorem mapForget_eq {X Y : T} (f : X ⟶ Y) : (map f) ⋙ (forget Y) = (forget X) := by - fapply Functor.ext - · dsimp [Over, Over.map]; intro x; exact rfl - · intros x y u; simp + tauto /-- The natural isomorphism arising from `mapForget_eq`. -/ def mapForget {X Y : T} (f : X ⟶ Y) : @@ -626,9 +624,7 @@ def mapId (Y : T) : map (𝟙 Y) ≅ 𝟭 _ := eqToIso (mapId_eq Y) /-- Mapping by `f` and then forgetting is the same as forgetting. -/ theorem mapForget_eq {X Y : T} (f : X ⟶ Y) : (map f) ⋙ (forget X) = (forget Y) := by - fapply Functor.ext - · dsimp [Under, Under.map]; intro x; exact rfl - · intros x y u; simp + tauto /-- The natural isomorphism arising from `mapForget_eq`. -/ def mapForget {X Y : T} (f : X ⟶ Y) : diff --git a/Mathlib/CategoryTheory/FintypeCat.lean b/Mathlib/CategoryTheory/FintypeCat.lean index ba51103beb..947f2743b8 100644 --- a/Mathlib/CategoryTheory/FintypeCat.lean +++ b/Mathlib/CategoryTheory/FintypeCat.lean @@ -237,10 +237,7 @@ lemma uSwitch_map_uSwitch_map {X Y : FintypeCat.{u}} (f : X ⟶ Y) : (equivEquivIso ((uSwitch.obj X).uSwitchEquiv.trans X.uSwitchEquiv)).hom ≫ f ≫ (equivEquivIso ((uSwitch.obj Y).uSwitchEquiv.trans Y.uSwitchEquiv)).inv := by - ext x - simp only [comp_apply, equivEquivIso_apply_hom, Equiv.trans_apply] - rw [uSwitchEquiv_naturality f, ← uSwitchEquiv_naturality] - rfl + tauto /-- `uSwitch.{u, v}` is an equivalence of categories with quasi-inverse `uSwitch.{v, u}`. -/ noncomputable def uSwitchEquivalence : FintypeCat.{u} ≌ FintypeCat.{v} where diff --git a/Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean b/Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean index d71f89c163..8739b63337 100644 --- a/Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean +++ b/Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean @@ -83,9 +83,7 @@ theorem inclusion_obj (X : N C) : @[simp] theorem inclusion_map {X Y : N C} (f : X ⟶ Y) : inclusion.map f = eqToHom (congr_arg _ (Discrete.ext (Discrete.eq_of_hom f))) := by - rcases f with ⟨⟨⟩⟩ - cases Discrete.ext (by assumption) - apply inclusion.map_id + tauto /-- Auxiliary definition for `normalize`. -/ def normalizeObj : F C → NormalMonoidalObject C → NormalMonoidalObject C diff --git a/Mathlib/CategoryTheory/MorphismProperty/Basic.lean b/Mathlib/CategoryTheory/MorphismProperty/Basic.lean index e49349dfd8..59072358d3 100644 --- a/Mathlib/CategoryTheory/MorphismProperty/Basic.lean +++ b/Mathlib/CategoryTheory/MorphismProperty/Basic.lean @@ -344,12 +344,7 @@ lemma map_isoClosure (P : MorphismProperty C) (F : C ⥤ D) : lemma map_id_eq_isoClosure (P : MorphismProperty C) : P.map (𝟭 _) = P.isoClosure := by - apply le_antisymm - · rw [map_le_iff] - intro X Y f hf - exact P.le_isoClosure _ hf - · intro X Y f hf - exact hf + tauto lemma map_id (P : MorphismProperty C) [RespectsIso P] : P.map (𝟭 _) = P := by diff --git a/Mathlib/CategoryTheory/Pi/Basic.lean b/Mathlib/CategoryTheory/Pi/Basic.lean index e721041ea4..41af15d2d0 100644 --- a/Mathlib/CategoryTheory/Pi/Basic.lean +++ b/Mathlib/CategoryTheory/Pi/Basic.lean @@ -208,11 +208,7 @@ end EqToHom -- how `Functor.pi` commutes with `Pi.eval` and `Pi.comap`. @[simp] theorem pi'_eval (f : ∀ i, A ⥤ C i) (i : I) : pi' f ⋙ Pi.eval C i = f i := by - apply Functor.ext - · intro _ _ _ - simp - · intro _ - rfl + tauto /-- Two functors to a product category are equal iff they agree on every coordinate. -/ theorem pi_ext (f f' : A ⥤ ∀ i, C i) (h : ∀ i, f ⋙ (Pi.eval C i) = f' ⋙ (Pi.eval C i)) : diff --git a/Mathlib/CategoryTheory/Quotient.lean b/Mathlib/CategoryTheory/Quotient.lean index c66247076c..b73eaf476d 100644 --- a/Mathlib/CategoryTheory/Quotient.lean +++ b/Mathlib/CategoryTheory/Quotient.lean @@ -237,9 +237,7 @@ theorem lift_obj_functor_obj (X : C) : theorem lift_map_functor_map {X Y : C} (f : X ⟶ Y) : (lift r F H).map ((functor r).map f) = F.map f := by - rw [← NatIso.naturality_1 (lift.isLift r F H)] - dsimp [lift, functor] - simp + tauto variable {r} ``` ``` ✔ [489/503] Built Mathlib.CategoryTheory.Quotient (2.2s) ✔ [490/503] Built Mathlib.CategoryTheory.PathCategory.Basic (1.9s) ✔ [491/503] Built Mathlib.CategoryTheory.Pi.Basic (4.5s) ✔ [492/503] Built Mathlib.CategoryTheory.Groupoid (1.8s) ✔ [493/503] Built Mathlib.CategoryTheory.Discrete.Basic (2.9s) ✔ [494/503] Built Mathlib.CategoryTheory.EpiMono (1.9s) ✔ [495/503] Built Mathlib.CategoryTheory.Bicategory.LocallyDiscrete (2.2s) ✔ [496/503] Built Mathlib.CategoryTheory.Types (1.9s) ✔ [497/503] Built Mathlib.CategoryTheory.Category.Cat (2.0s) ✔ [498/503] Built Mathlib.Tactic.CategoryTheory.ToApp (1.8s) ✔ [499/503] Built Mathlib.CategoryTheory.Bicategory.Functor.Oplax (2.0s) ✔ [500/503] Built Mathlib.CategoryTheory.Bicategory.Functor.Lax (3.2s) ✔ [501/503] Built Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor (4.5s) ✔ [502/503] Built Mathlib.CategoryTheory.Bicategory.Free (5.3s) ℹ [503/503] Built Mathlib.CategoryTheory.Bicategory.Coherence (3.9s) info: Mathlib/CategoryTheory/Bicategory/Coherence.lean:88:0: [Elab.command] [0.020377] @[simp] theorem preinclusion_map₂ {a b : B} (f g : Discrete (Path.{v + 1} a b)) (η : f ⟶ g) : (preinclusion B).map₂ η = eqToHom (congr_arg _ (Discrete.ext (Discrete.eq_of_hom η))) := by tauto [Elab.definition.header] [0.011267] CategoryTheory.FreeBicategory.preinclusion_map₂ info: Mathlib/CategoryTheory/Bicategory/Coherence.lean:88:0: [Elab.async] [0.033437] elaborating proof of CategoryTheory.FreeBicategory.preinclusion_map₂ [Elab.definition.value] [0.032541] CategoryTheory.FreeBicategory.preinclusion_map₂ [Elab.step] [0.032026] tauto [Elab.step] [0.032010] tauto [Elab.step] [0.031994] tauto [Elab.step] [0.020006] rfl [Elab.step] [0.019397] eq_refl [Meta.isDefEq] [0.019374] ✅️ (preinclusion B).map₂ η =?= eqToHom ⋯ [Meta.isDefEq] [0.019302] ✅️ (preinclusion B).map₂ η =?= ⋯.mpr (𝟙 ((preinclusion B).map g)) [Meta.isDefEq] [0.019274] ✅️ (preinclusion B).map₂ η =?= ⋯ ▸ 𝟙 ((preinclusion B).map g) [Meta.isDefEq] [0.016614] ✅️ (preinclusion B).toPrelaxFunctorStruct.2 η =?= ⋯ ▸ 𝟙 ((preinclusion B).map g) [Meta.isDefEq] [0.014779] ✅️ (inclusionPath { as := a }.as { as := b }.as).map η =?= ⋯ ▸ 𝟙 ((preinclusion B).map g) [Meta.isDefEq] [0.013158] ✅️ (inclusionPath { as := a }.as { as := b }.as).2 η =?= ⋯ ▸ 𝟙 ((preinclusion B).map g) [Meta.isDefEq] [0.011394] ✅️ id (ULift.casesOn η fun down ↦ PLift.casesOn down fun h ↦ eqToHom ⋯) =?= ⋯ ▸ 𝟙 ((preinclusion B).map g) Build completed successfully (503 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-category-theory 8/30 Mathlib/CategoryTheory/Bicategory/Coherence.lean,Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/FintypeCat.lean,Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean,Mathlib/CategoryTheory/MorphismProperty/Basic.lean,Mathlib/CategoryTheory/Pi/Basic.lean,Mathlib/CategoryTheory/Quotient.lean 7 1 ['github-actions'] nobody
3-26918
3 days ago
3-29761
3 days ago
3-29806
3 days
28561 euprunin
author:euprunin
chore(Data): golf entire `equivFunOnFintype_single`, `predAbove_right_zero`, `snoc_zero` and more using `tauto` ---
Show trace profiling of equivFunOnFintype_single: 19 ms before, <10 ms after 🎉 ### Trace profiling of `equivFunOnFintype_single` before PR 28561 ```diff diff --git a/Mathlib/Data/DFinsupp/Defs.lean b/Mathlib/Data/DFinsupp/Defs.lean index c025230385..e6a8585b49 100644 --- a/Mathlib/Data/DFinsupp/Defs.lean +++ b/Mathlib/Data/DFinsupp/Defs.lean @@ -532,6 +532,7 @@ theorem single_eq_of_sigma_eq {i j} {xi : β i} {xj : β j} (h : (⟨i, xi⟩ : cases h rfl +set_option trace.profiler true in @[simp] theorem equivFunOnFintype_single [Fintype ι] (i : ι) (m : β i) : (@DFinsupp.equivFunOnFintype ι β _ _) (DFinsupp.single i m) = Pi.single i m := by ``` ``` ℹ [587/587] Built Mathlib.Data.DFinsupp.Defs (4.3s) info: Mathlib/Data/DFinsupp/Defs.lean:536:0: [Elab.async] [0.019170] elaborating proof of DFinsupp.equivFunOnFintype_single [Elab.definition.value] [0.018591] DFinsupp.equivFunOnFintype_single [Elab.step] [0.018162] ext x dsimp [Pi.single, Function.update] simp [@eq_comm _ i] [Elab.step] [0.018149] ext x dsimp [Pi.single, Function.update] simp [@eq_comm _ i] [Elab.step] [0.012042] simp [@eq_comm _ i] Build completed successfully (587 jobs). ``` ### Trace profiling of `equivFunOnFintype_single` after PR 28561 ```diff diff --git a/Mathlib/Data/DFinsupp/Defs.lean b/Mathlib/Data/DFinsupp/Defs.lean index c025230385..3054ded3e8 100644 --- a/Mathlib/Data/DFinsupp/Defs.lean +++ b/Mathlib/Data/DFinsupp/Defs.lean @@ -532,12 +532,11 @@ theorem single_eq_of_sigma_eq {i j} {xi : β i} {xj : β j} (h : (⟨i, xi⟩ : cases h rfl +set_option trace.profiler true in @[simp] theorem equivFunOnFintype_single [Fintype ι] (i : ι) (m : β i) : (@DFinsupp.equivFunOnFintype ι β _ _) (DFinsupp.single i m) = Pi.single i m := by - ext x - dsimp [Pi.single, Function.update] - simp [@eq_comm _ i] + tauto @[simp] theorem equivFunOnFintype_symm_single [Fintype ι] (i : ι) (m : β i) : diff --git a/Mathlib/Data/Fin/Basic.lean b/Mathlib/Data/Fin/Basic.lean index 89fe9ef07f..c39cf119fa 100644 --- a/Mathlib/Data/Fin/Basic.lean +++ b/Mathlib/Data/Fin/Basic.lean @@ -1163,9 +1163,7 @@ lemma predAbove_castPred_self (p : Fin (n + 1)) (hp : p ≠ last n) : (castPred p hp).predAbove p = castPred p hp := predAbove_castPred_of_le _ _ Fin.le_rfl hp @[simp] lemma predAbove_right_zero [NeZero n] {i : Fin n} : predAbove (i : Fin n) 0 = 0 := by - cases n - · exact i.elim0 - · rw [predAbove_of_le_castSucc _ _ (zero_le _), castPred_zero] + tauto lemma predAbove_zero_succ [NeZero n] {i : Fin n} : predAbove 0 i.succ = i := by rw [predAbove_succ_of_le _ _ (Fin.zero_le _)] diff --git a/Mathlib/Data/Fin/Tuple/Basic.lean b/Mathlib/Data/Fin/Tuple/Basic.lean index f47faad190..f106b275a9 100644 --- a/Mathlib/Data/Fin/Tuple/Basic.lean +++ b/Mathlib/Data/Fin/Tuple/Basic.lean @@ -519,9 +519,7 @@ theorem snoc_last : snoc p x (last n) = x := by simp [snoc] lemma snoc_zero {α : Sort*} (p : Fin 0 → α) (x : α) : Fin.snoc p x = fun _ ↦ x := by - ext y - have : Subsingleton (Fin (0 + 1)) := Fin.subsingleton_one - simp only [Subsingleton.elim y (Fin.last 0), snoc_last] + tauto @[simp] theorem snoc_comp_natAdd {n m : ℕ} {α : Sort*} (f : Fin (m + n) → α) (a : α) : diff --git a/Mathlib/Data/Fin/Tuple/Take.lean b/Mathlib/Data/Fin/Tuple/Take.lean index 2a7cc1d5ae..cc68167259 100644 --- a/Mathlib/Data/Fin/Tuple/Take.lean +++ b/Mathlib/Data/Fin/Tuple/Take.lean @@ -43,9 +43,7 @@ theorem take_one {α : Fin (n + 1) → Sort*} (v : (i : Fin (n + 1)) → α i) : @[simp] theorem take_eq_init {α : Fin (n + 1) → Sort*} (v : (i : Fin (n + 1)) → α i) : take n n.le_succ v = init v := by - ext i - simp only [Nat.succ_eq_add_one, take, init] - congr + tauto @[simp] theorem take_eq_self (v : (i : Fin n) → α i) : take n (le_refl n) v = v := by @@ -55,16 +53,12 @@ theorem take_eq_self (v : (i : Fin n) → α i) : take n (le_refl n) v = v := by @[simp] theorem take_take {m n' : ℕ} (h : m ≤ n') (h' : n' ≤ n) (v : (i : Fin n) → α i) : take m h (take n' h' v) = take m (Nat.le_trans h h') v := by - ext i - simp only [take] - congr + tauto @[simp] theorem take_init {α : Fin (n + 1) → Sort*} (m : ℕ) (h : m ≤ n) (v : (i : Fin (n + 1)) → α i) : take m h (init v) = take m (Nat.le_succ_of_le h) v := by - ext i - simp only [take, init] - congr + tauto theorem take_repeat {α : Type*} {n' : ℕ} (m : ℕ) (h : m ≤ n) (a : Fin n' → α) : take (m * n') (Nat.mul_le_mul_right n' h) (Fin.repeat n a) = Fin.repeat m a := by diff --git a/Mathlib/Data/Finmap.lean b/Mathlib/Data/Finmap.lean index dbe7df1064..4ee00fb2a2 100644 --- a/Mathlib/Data/Finmap.lean +++ b/Mathlib/Data/Finmap.lean @@ -126,7 +126,7 @@ def liftOn₂ {γ} (s₁ s₂ : Finmap β) (f : AList β → AList β → γ) @[simp] theorem liftOn₂_toFinmap {γ} (s₁ s₂ : AList β) (f : AList β → AList β → γ) (H) : liftOn₂ ⟦s₁⟧ ⟦s₂⟧ f H = f s₁ s₂ := by - cases s₁; cases s₂; rfl + tauto /-! ### Induction -/ diff --git a/Mathlib/Data/Finsupp/AList.lean b/Mathlib/Data/Finsupp/AList.lean index c68e104ebe..7b9b0a651c 100644 --- a/Mathlib/Data/Finsupp/AList.lean +++ b/Mathlib/Data/Finsupp/AList.lean @@ -90,9 +90,7 @@ theorem lookupFinsupp_eq_zero_iff [DecidableEq α] {l : AList fun _x : α => M} @[simp] theorem empty_lookupFinsupp : lookupFinsupp (∅ : AList fun _x : α => M) = 0 := by - classical - ext - simp + tauto @[simp] theorem insert_lookupFinsupp [DecidableEq α] (l : AList fun _x : α => M) (a : α) (m : M) : diff --git a/Mathlib/Data/Finsupp/Single.lean b/Mathlib/Data/Finsupp/Single.lean index a123111855..bd45336d97 100644 --- a/Mathlib/Data/Finsupp/Single.lean +++ b/Mathlib/Data/Finsupp/Single.lean @@ -297,9 +297,7 @@ theorem update_self : f.update a (f a) = f := by @[simp] theorem zero_update : update 0 a b = single a b := by - classical - ext - rw [single_eq_update, coe_update, coe_zero] + tauto theorem support_update [DecidableEq α] [DecidableEq M] : support (f.update a b) = if b = 0 then f.support.erase a else insert a f.support := by diff --git a/Mathlib/Data/Matrix/Basic.lean b/Mathlib/Data/Matrix/Basic.lean index 9333a89183..0e5f8bc387 100644 --- a/Mathlib/Data/Matrix/Basic.lean +++ b/Mathlib/Data/Matrix/Basic.lean @@ -220,8 +220,7 @@ instance instAlgebra : Algebra R (Matrix n n α) where theorem algebraMap_matrix_apply {r : R} {i j : n} : algebraMap R (Matrix n n α) r i j = if i = j then algebraMap R α r else 0 := by - dsimp [algebraMap, Algebra.algebraMap, Matrix.scalar] - split_ifs with h <;> simp [h] + tauto theorem algebraMap_eq_diagonal (r : R) : algebraMap R (Matrix n n α) r = diagonal (algebraMap R (n → α) r) := rfl diff --git a/Mathlib/Data/Matrix/Block.lean b/Mathlib/Data/Matrix/Block.lean index 9815f2ee42..6759dbf770 100644 --- a/Mathlib/Data/Matrix/Block.lean +++ b/Mathlib/Data/Matrix/Block.lean @@ -332,9 +332,7 @@ theorem blockDiagonal_apply' (M : o → Matrix m n α) (i k j k') : theorem blockDiagonal_apply (M : o → Matrix m n α) (ik jk) : blockDiagonal M ik jk = if ik.2 = jk.2 then M ik.2 ik.1 jk.1 else 0 := by - cases ik - cases jk - rfl + tauto @[simp] theorem blockDiagonal_apply_eq (M : o → Matrix m n α) (i j k) : @@ -589,9 +587,7 @@ theorem blockDiagonal'_submatrix_eq_blockDiagonal (M : o → Matrix m n α) : theorem blockDiagonal'_apply (M : ∀ i, Matrix (m' i) (n' i) α) (ik jk) : blockDiagonal' M ik jk = if h : ik.1 = jk.1 then M ik.1 ik.2 (cast (congr_arg n' h.symm) jk.2) else 0 := by - cases ik - cases jk - rfl + tauto @[simp] theorem blockDiagonal'_apply_eq (M : ∀ i, Matrix (m' i) (n' i) α) (k i j) : diff --git a/Mathlib/Data/PFunctor/Multivariate/W.lean b/Mathlib/Data/PFunctor/Multivariate/W.lean index 6d0f8018c7..2e19332eb3 100644 --- a/Mathlib/Data/PFunctor/Multivariate/W.lean +++ b/Mathlib/Data/PFunctor/Multivariate/W.lean @@ -168,9 +168,7 @@ theorem wRec_eq {α : TypeVec n} {C : Type*} (g : ∀ a : P.A, P.drop.B a ⟹ α → (P.last.B a → P.W α) → (P.last.B a → C) → C) (a : P.A) (f' : P.drop.B a ⟹ α) (f : P.last.B a → P.W α) : P.wRec g (P.wMk a f' f) = g a f' f fun i => P.wRec g (f i) := by - rw [wMk, wRec]; rw [wpRec_eq] - dsimp only [wPathDestLeft_wPathCasesOn, wPathDestRight_wPathCasesOn] - congr + tauto /-- Induction principle for `W` -/ theorem w_ind {α : TypeVec n} {C : P.W α → Prop} diff --git a/Mathlib/Data/PFunctor/Univariate/M.lean b/Mathlib/Data/PFunctor/Univariate/M.lean index 5db25ebdd5..a3fad597e2 100644 --- a/Mathlib/Data/PFunctor/Univariate/M.lean +++ b/Mathlib/Data/PFunctor/Univariate/M.lean @@ -350,11 +350,7 @@ theorem agree_iff_agree' {n : ℕ} (x y : M F) : @[simp] theorem cases_mk {r : M F → Sort*} (x : F (M F)) (f : ∀ x : F (M F), r (M.mk x)) : PFunctor.M.cases f (M.mk x) = f x := by - dsimp only [M.mk, PFunctor.M.cases, dest, head, Approx.sMk, head'] - cases x; dsimp only [Approx.sMk] - simp only [Eq.mpr] - apply congrFun - rfl + tauto @[simp] theorem casesOn_mk {r : M F → Sort*} (x : F (M F)) (f : ∀ x : F (M F), r (M.mk x)) : diff --git a/Mathlib/Data/Seq/Computation.lean b/Mathlib/Data/Seq/Computation.lean index 081cd9b817..c755c24a61 100644 --- a/Mathlib/Data/Seq/Computation.lean +++ b/Mathlib/Data/Seq/Computation.lean @@ -149,7 +149,7 @@ theorem tail_pure (a : α) : tail (pure a) = pure a := @[simp] theorem tail_think (s : Computation α) : tail (think s) = s := by - obtain ⟨f, al⟩ := s; apply Subtype.eq; dsimp [tail, think] + tauto @[simp] theorem tail_empty : tail (empty α) = empty α := diff --git a/Mathlib/Data/Seq/Seq.lean b/Mathlib/Data/Seq/Seq.lean index c90c5df59b..05f26235d2 100644 --- a/Mathlib/Data/Seq/Seq.lean +++ b/Mathlib/Data/Seq/Seq.lean @@ -211,9 +211,7 @@ theorem tail_nil : tail (nil : Seq α) = nil := @[simp] theorem tail_cons (a : α) (s) : tail (cons a s) = s := by - obtain ⟨f, al⟩ := s - apply Subtype.eq - dsimp [tail, cons] + tauto theorem head_eq_some {s : Seq α} {x : α} (h : s.head = some x) : s = cons x s.tail := by diff --git a/Mathlib/Data/Set/Piecewise.lean b/Mathlib/Data/Set/Piecewise.lean index e0820119b7..2cb31ab72e 100644 --- a/Mathlib/Data/Set/Piecewise.lean +++ b/Mathlib/Data/Set/Piecewise.lean @@ -99,8 +99,7 @@ theorem piecewise_range_comp {ι : Sort*} (f : ι → α) [∀ j, Decidable (j lemma piecewise_comp (f g : α → γ) (h : β → α) : letI : DecidablePred (· ∈ h ⁻¹' s) := @instDecidablePredComp _ (· ∈ s) _ h _; (s.piecewise f g) ∘ h = (h ⁻¹' s).piecewise (f ∘ h) (g ∘ h) := by - ext x - by_cases hx : h x ∈ s <;> simp [hx] + tauto theorem MapsTo.piecewise_ite {s s₁ s₂ : Set α} {t t₁ t₂ : Set β} {f₁ f₂ : α → β} [∀ i, Decidable (i ∈ s)] (h₁ : MapsTo f₁ (s₁ ∩ s) (t₁ ∩ t)) diff --git a/Mathlib/Data/Set/Sups.lean b/Mathlib/Data/Set/Sups.lean index 54eeb36e77..a9152d7dca 100644 --- a/Mathlib/Data/Set/Sups.lean +++ b/Mathlib/Data/Set/Sups.lean @@ -294,10 +294,7 @@ theorem iUnion_image_inf_right : ⋃ b ∈ t, (· ⊓ b) '' s = s ⊼ t := @[simp] theorem image_inf_prod (s t : Set α) : Set.image2 (fun x x_1 => x ⊓ x_1) s t = s ⊼ t := by - have : (s ×ˢ t).image (uncurry (· ⊓ ·)) = Set.image2 (fun x x_1 => x ⊓ x_1) s t := by - simp only [Set.image_uncurry_prod] - rw [← this] - exact image_uncurry_prod _ _ _ + tauto theorem infs_assoc : s ⊼ t ⊼ u = s ⊼ (t ⊼ u) := image2_assoc inf_assoc diff --git a/Mathlib/Data/TypeVec.lean b/Mathlib/Data/TypeVec.lean index 368c80080f..d57f423e48 100644 --- a/Mathlib/Data/TypeVec.lean +++ b/Mathlib/Data/TypeVec.lean @@ -571,8 +571,7 @@ end Liftp' @[simp] theorem dropFun_diag {α} : dropFun (@prod.diag (n + 1) α) = prod.diag := by - ext i : 2 - induction i <;> simp [dropFun, *] <;> rfl + tauto @[simp] theorem dropFun_subtypeVal {α} (p : α ⟹ «repeat» (n + 1) Prop) : @@ -587,20 +586,17 @@ theorem lastFun_subtypeVal {α} (p : α ⟹ «repeat» (n + 1) Prop) : @[simp] theorem dropFun_toSubtype {α} (p : α ⟹ «repeat» (n + 1) Prop) : dropFun (toSubtype p) = toSubtype _ := by - ext i - induction i <;> simp [dropFun, *] <;> rfl + tauto @[simp] theorem lastFun_toSubtype {α} (p : α ⟹ «repeat» (n + 1) Prop) : lastFun (toSubtype p) = _root_.id := by - ext i : 2 - induction i; simp [*]; rfl + tauto @[simp] theorem dropFun_of_subtype {α} (p : α ⟹ «repeat» (n + 1) Prop) : dropFun (ofSubtype p) = ofSubtype _ := by - ext i : 2 - induction i <;> simp [dropFun, *] <;> rfl + tauto @[simp] theorem lastFun_of_subtype {α} (p : α ⟹ «repeat» (n + 1) Prop) : @@ -616,14 +612,12 @@ attribute [simp] drop_append1' @[simp] theorem dropFun_prod {α α' β β' : TypeVec (n + 1)} (f : α ⟹ β) (f' : α' ⟹ β') : dropFun (f ⊗' f') = (dropFun f ⊗' dropFun f') := by - ext i : 2 - induction i <;> simp [dropFun, *] <;> rfl + tauto @[simp] theorem lastFun_prod {α α' β β' : TypeVec (n + 1)} (f : α ⟹ β) (f' : α' ⟹ β') : lastFun (f ⊗' f') = Prod.map (lastFun f) (lastFun f') := by - ext i : 1 - induction i; simp [lastFun, *]; rfl + tauto @[simp] theorem dropFun_from_append1_drop_last {α : TypeVec (n + 1)} : diff --git a/Mathlib/Data/Vector/Basic.lean b/Mathlib/Data/Vector/Basic.lean index d06cc24cce..8b82891300 100644 --- a/Mathlib/Data/Vector/Basic.lean +++ b/Mathlib/Data/Vector/Basic.lean @@ -312,8 +312,7 @@ This lemma is the `cons` version of `scanl_get`. -/ @[simp] theorem scanl_cons (x : α) : scanl f b (x ::ᵥ v) = b ::ᵥ scanl f (f b x) v := by - simp only [scanl, toList_cons, List.scanl]; dsimp - simp only [cons] + tauto /-- The underlying `List` of a `Vector` after a `scanl` is the `List.scanl` of the underlying `List` of the original `Vector`. diff --git a/Mathlib/Data/Vector/Defs.lean b/Mathlib/Data/Vector/Defs.lean index 33f1bbb7a6..d46e08e2b9 100644 --- a/Mathlib/Data/Vector/Defs.lean +++ b/Mathlib/Data/Vector/Defs.lean @@ -233,9 +233,7 @@ theorem toList_cons (a : α) (v : Vector α n) : toList (cons a v) = a :: toList @[simp] theorem toList_append {n m : ℕ} (v : Vector α n) (w : Vector α m) : toList (v ++ w) = toList v ++ toList w := by - cases v - cases w - rfl + tauto /-- `drop` of vectors corresponds under `toList` to `drop` of lists. -/ @[simp] ``` ``` ✔ [574/587] Built Mathlib.Data.Fin.Basic (4.2s) ✔ [575/587] Built Mathlib.Data.Fin.Rev (1.5s) ✔ [576/587] Built Mathlib.Data.Fin.Embedding (1.6s) ✔ [577/587] Built Mathlib.Order.Fin.Basic (2.0s) ✔ [578/587] Built Mathlib.Data.Fin.Tuple.Basic (3.3s) ✔ [579/587] Built Mathlib.Data.List.OfFn (1.6s) ✔ [580/587] Built Mathlib.Data.List.FinRange (1.7s) ✔ [581/587] Built Mathlib.Data.List.Sort (2.4s) ✔ [582/587] Built Mathlib.Data.Fintype.Basic (2.0s) ✔ [583/587] Built Mathlib.Data.List.NodupEquivFin (1.9s) ✔ [584/587] Built Mathlib.Data.Fintype.Card (2.1s) ✔ [585/587] Built Mathlib.Data.Fintype.EquivFin (2.3s) ✔ [586/587] Built Mathlib.Data.Set.Finite.Basic (2.8s) ✔ [587/587] Built Mathlib.Data.DFinsupp.Defs (4.5s) Build completed successfully (587 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-data 26/68 Mathlib/Data/DFinsupp/Defs.lean,Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Fin/Tuple/Basic.lean,Mathlib/Data/Fin/Tuple/Take.lean,Mathlib/Data/Finmap.lean,Mathlib/Data/Finsupp/AList.lean,Mathlib/Data/Finsupp/Single.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/PFunctor/Multivariate/W.lean,Mathlib/Data/PFunctor/Univariate/M.lean,Mathlib/Data/Seq/Computation.lean,Mathlib/Data/Seq/Seq.lean,Mathlib/Data/Set/Piecewise.lean,Mathlib/Data/Set/Sups.lean,Mathlib/Data/TypeVec.lean,Mathlib/Data/Vector/Basic.lean,Mathlib/Data/Vector/Defs.lean 18 1 ['github-actions'] nobody
3-26849
3 days ago
3-29622
3 days ago
3-29664
3 days
28563 euprunin
author:euprunin
chore(GroupTheory): golf entire `base_smul_def` and `summand_smul_def` using `tauto` ---
Show trace profiling of base_smul_def: 14 ms before, <10 ms after 🎉 ### Trace profiling of `base_smul_def` before PR 28563 ```diff diff --git a/Mathlib/GroupTheory/PushoutI.lean b/Mathlib/GroupTheory/PushoutI.lean index 6b1bea567c..d1955509a7 100644 --- a/Mathlib/GroupTheory/PushoutI.lean +++ b/Mathlib/GroupTheory/PushoutI.lean @@ -465,6 +465,7 @@ noncomputable instance mulAction : MulAction (PushoutI φ) (NormalWord d) := Word.rcons_eq_smul, equiv_fst_eq_mul_inv, map_mul, map_inv, mul_smul, inv_smul_smul, smul_inv_smul, base_smul_def', MonoidHom.apply_ofInjective_symm] +set_option trace.profiler true in theorem base_smul_def (h : H) (w : NormalWord d) : base φ h • w = { w with head := h * w.head } := by dsimp [NormalWord.mulAction, instHSMul, SMul.smul] ``` ``` ℹ [990/990] Built Mathlib.GroupTheory.PushoutI (5.7s) info: Mathlib/GroupTheory/PushoutI.lean:469:0: [Elab.command] [0.071533] theorem base_smul_def (h : H) (w : NormalWord d) : base φ h • w = { w with head := h * w.head } := by dsimp [NormalWord.mulAction, instHSMul, SMul.smul] rw [lift_base] rfl [Elab.definition.header] [0.064651] Monoid.PushoutI.NormalWord.base_smul_def [Elab.step] [0.063919] expected type: Sort ?u.122533, term base φ h • w = { w with head := h * w.head } [Elab.step] [0.063909] expected type: Sort ?u.122533, term binrel% Eq✝ (base φ h • w) { w with head := h * w.head } [Elab.step] [0.024792] expected type: , term base φ h [Elab.step] [0.010165] expected type: (i : ι) → H →* G i, term φ [Meta.isDefEq] [0.010136] ✅️ (i : ?m.17) → ?m.19 →* ?m.18 i =?= (i : ι) → H →* G i [Meta.isDefEq] [0.010124] ✅️ ?m.19 →* ?m.18 i =?= H →* G i [Meta.isDefEq] [0.010020] ✅️ toMulOneClass =?= (inst✝³ i).toMulOneClass [Meta.isDefEq.delta] [0.010003] ✅️ toMulOneClass =?= (inst✝³ i).toMulOneClass [Meta.synthInstance] [0.018399] ✅️ HSMul (PushoutI φ) (NormalWord d) (NormalWord d) [Elab.step] [0.019544] expected type: NormalWord d, term { w with head := h * w.head } [Elab.step] [0.017406] expected type: H, term h * w.head [Elab.step] [0.017385] expected type: H, term binop% HMul.hMul✝ h w.head info: Mathlib/GroupTheory/PushoutI.lean:469:0: [Elab.async] [0.015077] elaborating proof of Monoid.PushoutI.NormalWord.base_smul_def [Elab.definition.value] [0.014242] Monoid.PushoutI.NormalWord.base_smul_def [Elab.step] [0.013438] dsimp [NormalWord.mulAction, instHSMul, SMul.smul] rw [lift_base] rfl [Elab.step] [0.013421] dsimp [NormalWord.mulAction, instHSMul, SMul.smul] rw [lift_base] rfl Build completed successfully (990 jobs). ``` ### Trace profiling of `base_smul_def` after PR 28563 ```diff diff --git a/Mathlib/GroupTheory/PushoutI.lean b/Mathlib/GroupTheory/PushoutI.lean index 6b1bea567c..e161150bab 100644 --- a/Mathlib/GroupTheory/PushoutI.lean +++ b/Mathlib/GroupTheory/PushoutI.lean @@ -465,19 +465,16 @@ noncomputable instance mulAction : MulAction (PushoutI φ) (NormalWord d) := Word.rcons_eq_smul, equiv_fst_eq_mul_inv, map_mul, map_inv, mul_smul, inv_smul_smul, smul_inv_smul, base_smul_def', MonoidHom.apply_ofInjective_symm] +set_option trace.profiler true in theorem base_smul_def (h : H) (w : NormalWord d) : base φ h • w = { w with head := h * w.head } := by - dsimp [NormalWord.mulAction, instHSMul, SMul.smul] - rw [lift_base] - rfl + tauto theorem summand_smul_def {i : ι} (g : G i) (w : NormalWord d) : of (φ := φ) i g • w = (equivPair i).symm { equivPair i w with head := g * (equivPair i w).head } := by - dsimp [NormalWord.mulAction, instHSMul, SMul.smul] - rw [lift_of] - rfl + tauto theorem of_smul_eq_smul {i : ι} (g : G i) (w : NormalWord d) : of (φ := φ) i g • w = g • w := by ``` ``` ℹ [990/990] Built Mathlib.GroupTheory.PushoutI (3.7s) info: Mathlib/GroupTheory/PushoutI.lean:469:0: [Elab.command] [0.030019] theorem base_smul_def (h : H) (w : NormalWord d) : base φ h • w = { w with head := h * w.head } := by tauto [Elab.definition.header] [0.024390] Monoid.PushoutI.NormalWord.base_smul_def [Elab.step] [0.023783] expected type: Sort ?u.122533, term base φ h • w = { w with head := h * w.head } [Elab.step] [0.023775] expected type: Sort ?u.122533, term binrel% Eq✝ (base φ h • w) { w with head := h * w.head } [Meta.synthInstance] [0.010490] ✅️ HSMul (PushoutI φ) (NormalWord d) (NormalWord d) Build completed successfully (990 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-group-theory 2/6 Mathlib/GroupTheory/PushoutI.lean 1 1 ['github-actions'] nobody
3-26803
3 days ago
3-29526
3 days ago
3-29570
3 days
28564 euprunin
author:euprunin
chore(LinearAlgebra): golf entire `congr_symm`, `LinearMap.toMatrix_smulBasis_left`, `LinearMap.toMatrix_smulBasis_right` and more using `tauto` ---
Show trace profiling of congr_symm: 24 ms before, 28 ms after ### Trace profiling of `congr_symm` before PR 28564 ```diff diff --git a/Mathlib/LinearAlgebra/BilinearForm/Hom.lean b/Mathlib/LinearAlgebra/BilinearForm/Hom.lean index c056a51a5b..90cb2cd345 100644 --- a/Mathlib/LinearAlgebra/BilinearForm/Hom.lean +++ b/Mathlib/LinearAlgebra/BilinearForm/Hom.lean @@ -204,6 +204,7 @@ theorem congr_apply (e : M ≃ₗ[R] M') (B : BilinForm R M) (x y : M') : congr e B x y = B (e.symm x) (e.symm y) := rfl +set_option trace.profiler true in @[simp] theorem congr_symm (e : M ≃ₗ[R] M') : (congr e).symm = congr e.symm := by ext ``` ``` ℹ [1062/1062] Built Mathlib.LinearAlgebra.BilinearForm.Hom (3.4s) info: Mathlib/LinearAlgebra/BilinearForm/Hom.lean:208:0: [Elab.command] [0.026792] @[simp] theorem congr_symm (e : M ≃ₗ[R] M') : (congr e).symm = congr e.symm := by ext simp only [congr_apply, LinearEquiv.symm_symm] rfl info: Mathlib/LinearAlgebra/BilinearForm/Hom.lean:208:0: [Elab.async] [0.024764] elaborating proof of LinearMap.BilinForm.congr_symm [Elab.definition.value] [0.023696] LinearMap.BilinForm.congr_symm [Elab.step] [0.022888] ext simp only [congr_apply, LinearEquiv.symm_symm] rfl [Elab.step] [0.022873] ext simp only [congr_apply, LinearEquiv.symm_symm] rfl info: Mathlib/LinearAlgebra/BilinearForm/Hom.lean:209:8: [Elab.async] [0.011246] Lean.addDecl [Kernel] [0.011207] ✅️ typechecking declarations [LinearMap.BilinForm.congr_symm] Build completed successfully (1062 jobs). ``` ### Trace profiling of `congr_symm` after PR 28564 ```diff diff --git a/Mathlib/LinearAlgebra/BilinearForm/Hom.lean b/Mathlib/LinearAlgebra/BilinearForm/Hom.lean index c056a51a5b..ce976f69d7 100644 --- a/Mathlib/LinearAlgebra/BilinearForm/Hom.lean +++ b/Mathlib/LinearAlgebra/BilinearForm/Hom.lean @@ -204,11 +204,10 @@ theorem congr_apply (e : M ≃ₗ[R] M') (B : BilinForm R M) (x y : M') : congr e B x y = B (e.symm x) (e.symm y) := rfl +set_option trace.profiler true in @[simp] theorem congr_symm (e : M ≃ₗ[R] M') : (congr e).symm = congr e.symm := by - ext - simp only [congr_apply, LinearEquiv.symm_symm] - rfl + tauto @[simp] theorem congr_refl : congr (LinearEquiv.refl R M) = LinearEquiv.refl R _ := diff --git a/Mathlib/LinearAlgebra/Matrix/ToLin.lean b/Mathlib/LinearAlgebra/Matrix/ToLin.lean index e78673e1fa..b05d64e287 100644 --- a/Mathlib/LinearAlgebra/Matrix/ToLin.lean +++ b/Mathlib/LinearAlgebra/Matrix/ToLin.lean @@ -681,17 +681,13 @@ theorem LinearMap.toMatrix_smulBasis_left {G} [Group G] [DistribMulAction G M₁ [SMulCommClass G R M₁] (g : G) (f : M₁ →ₗ[R] M₂) : LinearMap.toMatrix (g • v₁) v₂ f = LinearMap.toMatrix v₁ v₂ (f ∘ₗ DistribMulAction.toLinearMap _ _ g) := by - ext - rw [LinearMap.toMatrix_apply, LinearMap.toMatrix_apply] - dsimp + tauto theorem LinearMap.toMatrix_smulBasis_right {G} [Group G] [DistribMulAction G M₂] [SMulCommClass G R M₂] (g : G) (f : M₁ →ₗ[R] M₂) : LinearMap.toMatrix v₁ (g • v₂) f = LinearMap.toMatrix v₁ v₂ (DistribMulAction.toLinearMap _ _ g⁻¹ ∘ₗ f) := by - ext - rw [LinearMap.toMatrix_apply, LinearMap.toMatrix_apply] - dsimp + tauto end Finite diff --git a/Mathlib/LinearAlgebra/Multilinear/Curry.lean b/Mathlib/LinearAlgebra/Multilinear/Curry.lean index dbccfc807a..9175992b1f 100644 --- a/Mathlib/LinearAlgebra/Multilinear/Curry.lean +++ b/Mathlib/LinearAlgebra/Multilinear/Curry.lean @@ -84,9 +84,7 @@ theorem MultilinearMap.curryLeft_apply (f : MultilinearMap R M M₂) (x : M 0) @[simp] theorem LinearMap.curry_uncurryLeft (f : M 0 →ₗ[R] MultilinearMap R (fun i : Fin n => M i.succ) M₂) : f.uncurryLeft.curryLeft = f := by - ext m x - simp only [tail_cons, LinearMap.uncurryLeft_apply, MultilinearMap.curryLeft_apply] - rw [cons_zero] + tauto @[simp] theorem MultilinearMap.uncurry_curryLeft (f : MultilinearMap R M M₂) : diff --git a/Mathlib/LinearAlgebra/TensorProduct/Graded/External.lean b/Mathlib/LinearAlgebra/TensorProduct/Graded/External.lean index 140f4599b3..a5fc97375b 100644 --- a/Mathlib/LinearAlgebra/TensorProduct/Graded/External.lean +++ b/Mathlib/LinearAlgebra/TensorProduct/Graded/External.lean @@ -104,9 +104,7 @@ def gradedComm : /-- The braiding is symmetric. -/ @[simp] theorem gradedComm_symm : (gradedComm R 𝒜 ℬ).symm = gradedComm R ℬ 𝒜 := by - rw [gradedComm, gradedComm, LinearEquiv.trans_symm, LinearEquiv.symm_symm] - ext - rfl + tauto theorem gradedComm_of_tmul_of (i j : ι) (a : 𝒜 i) (b : ℬ j) : gradedComm R 𝒜 ℬ (lof R _ 𝒜 i a ⊗ₜ lof R _ ℬ j b) = ``` ``` ℹ [1062/1062] Built Mathlib.LinearAlgebra.BilinearForm.Hom (3.4s) info: Mathlib/LinearAlgebra/BilinearForm/Hom.lean:208:0: [Elab.command] [0.022737] @[simp] theorem congr_symm (e : M ≃ₗ[R] M') : (congr e).symm = congr e.symm := by tauto info: Mathlib/LinearAlgebra/BilinearForm/Hom.lean:208:0: [Elab.async] [0.030155] elaborating proof of LinearMap.BilinForm.congr_symm [Elab.definition.value] [0.028158] LinearMap.BilinForm.congr_symm [Elab.step] [0.027405] tauto [Elab.step] [0.027386] tauto [Elab.step] [0.027369] tauto [Elab.step] [0.019442] rfl [Elab.step] [0.019158] eq_refl [Meta.isDefEq] [0.019142] ✅️ (congr e).symm =?= congr e.symm [Meta.isDefEq] [0.019026] ✅️ (congr e).symm =?= (LinearEquiv.congrLeft R R e.symm).congrRight.trans (LinearEquiv.congrLeft (M →ₗ[R] R) R e.symm) [Meta.isDefEq] [0.018960] ✅️ have __src := (↑(congr e)).inverse (congr e).invFun ⋯ ⋯; let __src := (congr e).toEquiv.symm; { toFun := ⇑((↑(congr e)).inverse (congr e).invFun ⋯ ⋯), map_add' := ⋯, map_smul' := ⋯, invFun := (congr e).toEquiv.symm.invFun, left_inv := ⋯, right_inv := ⋯ } =?= (LinearEquiv.congrLeft R R e.symm).congrRight.trans (LinearEquiv.congrLeft (M →ₗ[R] R) R e.symm) [Meta.isDefEq] [0.018936] ✅️ { toFun := ⇑((↑(congr e)).inverse (congr e).invFun ⋯ ⋯), map_add' := ⋯, map_smul' := ⋯, invFun := (congr e).toEquiv.symm.invFun, left_inv := ⋯, right_inv := ⋯ } =?= (LinearEquiv.congrLeft R R e.symm).congrRight.trans (LinearEquiv.congrLeft (M →ₗ[R] R) R e.symm) [Meta.isDefEq] [0.018834] ✅️ { toFun := ⇑((↑(congr e)).inverse (congr e).invFun ⋯ ⋯), map_add' := ⋯, map_smul' := ⋯, invFun := (congr e).toEquiv.symm.invFun, left_inv := ⋯, right_inv := ⋯ } =?= let __src := ↑(LinearEquiv.congrLeft (M →ₗ[R] R) R e.symm) ∘ₗ ↑(LinearEquiv.congrLeft R R e.symm).congrRight; let __src_1 := (LinearEquiv.congrLeft R R e.symm).congrRight.toEquiv.trans (LinearEquiv.congrLeft (M →ₗ[R] R) R e.symm).toEquiv; { toLinearMap := __src, invFun := __src_1.invFun, left_inv := ⋯, right_inv := ⋯ } [Meta.isDefEq] [0.018825] ✅️ { toFun := ⇑((↑(congr e)).inverse (congr e).invFun ⋯ ⋯), map_add' := ⋯, map_smul' := ⋯, invFun := (congr e).toEquiv.symm.invFun, left_inv := ⋯, right_inv := ⋯ } =?= { toLinearMap := ↑(LinearEquiv.congrLeft (M →ₗ[R] R) R e.symm) ∘ₗ ↑(LinearEquiv.congrLeft R R e.symm).congrRight, invFun := ((LinearEquiv.congrLeft R R e.symm).congrRight.toEquiv.trans (LinearEquiv.congrLeft (M →ₗ[R] R) R e.symm).toEquiv).invFun, left_inv := ⋯, right_inv := ⋯ } [Meta.isDefEq] [0.011340] ✅️ { toFun := ⇑((↑(congr e)).inverse (congr e).invFun ⋯ ⋯), map_add' := ⋯, map_smul' := ⋯ } =?= ↑(LinearEquiv.congrLeft (M →ₗ[R] R) R e.symm) ∘ₗ ↑(LinearEquiv.congrLeft R R e.symm).congrRight [Meta.isDefEq] [0.011274] ✅️ { toFun := ⇑((↑(congr e)).inverse (congr e).invFun ⋯ ⋯), map_add' := ⋯, map_smul' := ⋯ } =?= { toFun := ⇑↑(LinearEquiv.congrLeft (M →ₗ[R] R) R e.symm) ∘ ⇑↑(LinearEquiv.congrLeft R R e.symm).congrRight, map_add' := ⋯, map_smul' := ⋯ } [Meta.isDefEq] [0.010754] ✅️ { toFun := ⇑((↑(congr e)).inverse (congr e).invFun ⋯ ⋯), map_add' := ⋯ } =?= { toFun := ⇑↑(LinearEquiv.congrLeft (M →ₗ[R] R) R e.symm) ∘ ⇑↑(LinearEquiv.congrLeft R R e.symm).congrRight, map_add' := ⋯ } info: Mathlib/LinearAlgebra/BilinearForm/Hom.lean:209:8: [Elab.async] [0.100749] Lean.addDecl [Kernel] [0.100672] ✅️ typechecking declarations [LinearMap.BilinForm.congr_symm] Build completed successfully (1062 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-algebra
label:t-algebra$
5/15 Mathlib/LinearAlgebra/BilinearForm/Hom.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean,Mathlib/LinearAlgebra/Multilinear/Curry.lean,Mathlib/LinearAlgebra/TensorProduct/Graded/External.lean 4 1 ['github-actions'] nobody
3-26354
3 days ago
3-29479
3 days ago
3-29521
3 days
28566 euprunin
author:euprunin
chore(MeasureTheory/Constructions): golf entire `inter_cylinder{,_same}` and `union_cylinder{,_same}` using `tauto` ---
Show trace profiling of inter_cylinder: <10 ms before, <10 ms after 🎉 ### Trace profiling of `inter_cylinder` before PR 28566 ```diff diff --git a/Mathlib/MeasureTheory/Constructions/Cylinders.lean b/Mathlib/MeasureTheory/Constructions/Cylinders.lean index 0c1e925a61..cc8cbb5b97 100644 --- a/Mathlib/MeasureTheory/Constructions/Cylinders.lean +++ b/Mathlib/MeasureTheory/Constructions/Cylinders.lean @@ -183,6 +183,7 @@ theorem cylinder_eq_empty_iff [h_nonempty : Nonempty (∀ i, α i)] (s : Finset rw [h] at hf' exact notMem_empty _ hf' +set_option trace.profiler true in theorem inter_cylinder (s₁ s₂ : Finset ι) (S₁ : Set (∀ i : s₁, α i)) (S₂ : Set (∀ i : s₂, α i)) [DecidableEq ι] : cylinder s₁ S₁ ∩ cylinder s₂ S₂ = ``` ``` ℹ [883/883] Built Mathlib.MeasureTheory.Constructions.Cylinders (2.0s) info: Mathlib/MeasureTheory/Constructions/Cylinders.lean:187:0: [Elab.command] [0.022626] theorem inter_cylinder (s₁ s₂ : Finset ι) (S₁ : Set (∀ i : s₁, α i)) (S₂ : Set (∀ i : s₂, α i)) [DecidableEq ι] : cylinder s₁ S₁ ∩ cylinder s₂ S₂ = cylinder (s₁ ∪ s₂) (Finset.restrict₂ Finset.subset_union_left ⁻¹' S₁ ∩ Finset.restrict₂ Finset.subset_union_right ⁻¹' S₂) := by ext1 f; simp only [mem_inter_iff, mem_cylinder]; rfl [Elab.definition.header] [0.022211] MeasureTheory.inter_cylinder [Elab.step] [0.015116] expected type: Type (max ?u.2391 ?u.2396), term Set (∀ i : s₁, α i) [Elab.step] [0.015047] expected type: Type ?u.2405, term (∀ i : s₁, α i) [Elab.step] [0.015037] expected type: Type ?u.2405, term ∀ i : s₁, α i [Elab.step] [0.015028] expected type: Type ?u.2405, term forall (i : s₁), α i [Elab.step] [0.014325] expected type: Type ?u.2396, term α i [Elab.coe] [0.014154] adding coercion for i : { x // x ∈ s₁ } =?= ι [Meta.synthInstance] [0.014040] ✅️ CoeT { x // x ∈ s₁ } i ι [Meta.synthInstance] [0.011160] ✅️ apply @instCoeTCOfCoe_1 to CoeTC { x // x ∈ s₁ } ι [Meta.synthInstance.tryResolve] [0.011110] ✅️ CoeTC { x // x ∈ s₁ } ι ≟ CoeTC { x // x ∈ s₁ } ι [Meta.isDefEq] [0.011028] ✅️ CoeTC { x // x ∈ s₁ } ι =?= CoeTC ?m.16 ?m.17 Build completed successfully (883 jobs). ``` ### Trace profiling of `inter_cylinder` after PR 28566 ```diff diff --git a/Mathlib/MeasureTheory/Constructions/Cylinders.lean b/Mathlib/MeasureTheory/Constructions/Cylinders.lean index 0c1e925a61..f97b20a91e 100644 --- a/Mathlib/MeasureTheory/Constructions/Cylinders.lean +++ b/Mathlib/MeasureTheory/Constructions/Cylinders.lean @@ -183,17 +183,18 @@ theorem cylinder_eq_empty_iff [h_nonempty : Nonempty (∀ i, α i)] (s : Finset rw [h] at hf' exact notMem_empty _ hf' +set_option trace.profiler true in theorem inter_cylinder (s₁ s₂ : Finset ι) (S₁ : Set (∀ i : s₁, α i)) (S₂ : Set (∀ i : s₂, α i)) [DecidableEq ι] : cylinder s₁ S₁ ∩ cylinder s₂ S₂ = cylinder (s₁ ∪ s₂) (Finset.restrict₂ Finset.subset_union_left ⁻¹' S₁ ∩ Finset.restrict₂ Finset.subset_union_right ⁻¹' S₂) := by - ext1 f; simp only [mem_inter_iff, mem_cylinder]; rfl + tauto theorem inter_cylinder_same (s : Finset ι) (S₁ : Set (∀ i : s, α i)) (S₂ : Set (∀ i : s, α i)) : cylinder s S₁ ∩ cylinder s S₂ = cylinder s (S₁ ∩ S₂) := by - classical rw [inter_cylinder]; rfl + tauto theorem union_cylinder (s₁ s₂ : Finset ι) (S₁ : Set (∀ i : s₁, α i)) (S₂ : Set (∀ i : s₂, α i)) [DecidableEq ι] : @@ -201,11 +202,11 @@ theorem union_cylinder (s₁ s₂ : Finset ι) (S₁ : Set (∀ i : s₁, α i)) cylinder (s₁ ∪ s₂) (Finset.restrict₂ Finset.subset_union_left ⁻¹' S₁ ∪ Finset.restrict₂ Finset.subset_union_right ⁻¹' S₂) := by - ext1 f; simp only [mem_union, mem_cylinder]; rfl + tauto theorem union_cylinder_same (s : Finset ι) (S₁ : Set (∀ i : s, α i)) (S₂ : Set (∀ i : s, α i)) : cylinder s S₁ ∪ cylinder s S₂ = cylinder s (S₁ ∪ S₂) := by - classical rw [union_cylinder]; rfl + tauto theorem compl_cylinder (s : Finset ι) (S : Set (∀ i : s, α i)) : (cylinder s S)ᶜ = cylinder s (Sᶜ) := by ``` ``` ℹ [883/883] Built Mathlib.MeasureTheory.Constructions.Cylinders (2.2s) info: Mathlib/MeasureTheory/Constructions/Cylinders.lean:187:0: [Elab.command] [0.013859] theorem inter_cylinder (s₁ s₂ : Finset ι) (S₁ : Set (∀ i : s₁, α i)) (S₂ : Set (∀ i : s₂, α i)) [DecidableEq ι] : cylinder s₁ S₁ ∩ cylinder s₂ S₂ = cylinder (s₁ ∪ s₂) (Finset.restrict₂ Finset.subset_union_left ⁻¹' S₁ ∩ Finset.restrict₂ Finset.subset_union_right ⁻¹' S₂) := by tauto [Elab.definition.header] [0.013440] MeasureTheory.inter_cylinder Build completed successfully (883 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-measure-probability 4/4 Mathlib/MeasureTheory/Constructions/Cylinders.lean 1 1 ['github-actions'] nobody
3-26302
3 days ago
3-29397
3 days ago
3-29440
3 days
28574 euprunin
author:euprunin
chore(Topology/Category): golf entire `finiteCoproduct.ι_desc_apply`, `piIsoPi_hom_apply`, `prodIsoProd_hom_apply` and `pullbackIsoProdSubtype_hom_apply` using `tauto` ---
Show trace profiling of finiteCoproduct.ι_desc_apply: 15 ms before, 25 ms after ### Trace profiling of `finiteCoproduct.ι_desc_apply` before PR 28574 ```diff diff --git a/Mathlib/Topology/Category/CompHausLike/Limits.lean b/Mathlib/Topology/Category/CompHausLike/Limits.lean index 493c277fec..216c5888f2 100644 --- a/Mathlib/Topology/Category/CompHausLike/Limits.lean +++ b/Mathlib/Topology/Category/CompHausLike/Limits.lean @@ -109,6 +109,7 @@ lemma finiteCoproduct.ι_injective (a : α) : Function.Injective (finiteCoproduc lemma finiteCoproduct.ι_jointly_surjective (R : finiteCoproduct X) : ∃ (a : α) (r : X a), R = finiteCoproduct.ι X a r := ⟨R.fst, R.snd, rfl⟩ +set_option trace.profiler true in lemma finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by intro x ``` ``` ℹ [985/985] Built Mathlib.Topology.Category.CompHausLike.Limits (1.9s) info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.011940] theorem ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by intro x change (ι X a ≫ desc X π) _ = _ simp only [ι_desc] [Elab.definition.header] [0.011212] CompHausLike.finiteCoproduct.ι_desc_apply [Elab.step] [0.010053] expected type: Sort ?u.7530, term ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.012175] theorem finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by intro x change (ι X a ≫ desc X π) _ = _ simp only [ι_desc] info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.012211] lemma finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by intro x change (ι X a ≫ desc X π) _ = _ simp only [ι_desc] info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.async] [0.015416] elaborating proof of CompHausLike.finiteCoproduct.ι_desc_apply [Elab.definition.value] [0.014903] CompHausLike.finiteCoproduct.ι_desc_apply [Elab.step] [0.014576] intro x change (ι X a ≫ desc X π) _ = _ simp only [ι_desc] [Elab.step] [0.014564] intro x change (ι X a ≫ desc X π) _ = _ simp only [ι_desc] [Elab.step] [0.011699] change (ι X a ≫ desc X π) _ = _ Build completed successfully (985 jobs). ``` ### Trace profiling of `finiteCoproduct.ι_desc_apply` after PR 28574 ```diff diff --git a/Mathlib/Topology/Category/CompHausLike/Limits.lean b/Mathlib/Topology/Category/CompHausLike/Limits.lean index 493c277fec..b70ed614b6 100644 --- a/Mathlib/Topology/Category/CompHausLike/Limits.lean +++ b/Mathlib/Topology/Category/CompHausLike/Limits.lean @@ -109,11 +109,10 @@ lemma finiteCoproduct.ι_injective (a : α) : Function.Injective (finiteCoproduc lemma finiteCoproduct.ι_jointly_surjective (R : finiteCoproduct X) : ∃ (a : α) (r : X a), R = finiteCoproduct.ι X a r := ⟨R.fst, R.snd, rfl⟩ +set_option trace.profiler true in lemma finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by - intro x - change (ι X a ≫ desc X π) _ = _ - simp only [ι_desc] + tauto instance : HasCoproduct X where exists_colimit := ⟨finiteCoproduct.cofan X, finiteCoproduct.isColimit X⟩ diff --git a/Mathlib/Topology/Category/TopCat/Limits/Products.lean b/Mathlib/Topology/Category/TopCat/Limits/Products.lean index 0b74c2f6ee..353896fce8 100644 --- a/Mathlib/Topology/Category/TopCat/Limits/Products.lean +++ b/Mathlib/Topology/Category/TopCat/Limits/Products.lean @@ -62,9 +62,7 @@ theorem piIsoPi_inv_π_apply {ι : Type v} (α : ι → TopCat.{max v u}) (i : theorem piIsoPi_hom_apply {ι : Type v} (α : ι → TopCat.{max v u}) (i : ι) (x : (∏ᶜ α : TopCat.{max v u})) : (piIsoPi α).hom x i = (Pi.π α i :) x := by - have := piIsoPi_inv_π α i - rw [Iso.inv_comp_eq] at this - exact ConcreteCategory.congr_hom this x + tauto /-- The inclusion to the coproduct as a bundled continuous map. -/ abbrev sigmaι {ι : Type v} (α : ι → TopCat.{max v u}) (i : ι) : α i ⟶ TopCat.of (Σ i, α i) := by @@ -165,9 +163,7 @@ theorem prodIsoProd_hom_snd (X Y : TopCat.{u}) : theorem prodIsoProd_hom_apply {X Y : TopCat.{u}} (x : ↑(X ⨯ Y)) : (prodIsoProd X Y).hom x = ((Limits.prod.fst : X ⨯ Y ⟶ _) x, (Limits.prod.snd : X ⨯ Y ⟶ _) x) := by - ext - · exact ConcreteCategory.congr_hom (prodIsoProd_hom_fst X Y) x - · exact ConcreteCategory.congr_hom (prodIsoProd_hom_snd X Y) x + tauto @[reassoc (attr := simp), elementwise] theorem prodIsoProd_inv_fst (X Y : TopCat.{u}) : diff --git a/Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean b/Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean index 66049170b3..68b42db21b 100644 --- a/Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean +++ b/Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean @@ -110,9 +110,7 @@ theorem pullbackIsoProdSubtype_hom_apply {f : X ⟶ Z} {g : Y ⟶ Z} (pullbackIsoProdSubtype f g).hom x = ⟨⟨pullback.fst f g x, pullback.snd f g x⟩, by simpa using CategoryTheory.congr_fun pullback.condition x⟩ := by - apply Subtype.ext; apply Prod.ext - exacts [ConcreteCategory.congr_hom (pullbackIsoProdSubtype_hom_fst f g) x, - ConcreteCategory.congr_hom (pullbackIsoProdSubtype_hom_snd f g) x] + tauto theorem pullback_topology {X Y Z : TopCat.{u}} (f : X ⟶ Z) (g : Y ⟶ Z) : (pullback f g).str = ``` ``` ✔ [982/985] Built Mathlib.Topology.Category.TopCat.Limits.Products (2.7s) ✔ [983/985] Built Mathlib.Topology.Category.TopCat.Limits.Pullbacks (2.4s) ✔ [984/985] Built Mathlib.CategoryTheory.Extensive (4.3s) ℹ [985/985] Built Mathlib.Topology.Category.CompHausLike.Limits (3.0s) info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.033044] theorem ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by tauto [Elab.definition.header] [0.031659] CompHausLike.finiteCoproduct.ι_desc_apply [Elab.step] [0.030394] expected type: Sort ?u.7530, term ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x [Elab.step] [0.030250] expected type: Sort ?u.7534, term finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x [Elab.step] [0.030242] expected type: Sort ?u.7534, term binrel% Eq✝ (finiteCoproduct.desc X π (finiteCoproduct.ι X a x)) (π a x) [Elab.step] [0.025815] expected type: , term finiteCoproduct.desc X π (finiteCoproduct.ι X a x) [Elab.step] [0.010204] expected type: (fun X ↦ ↑X.toTop) (finiteCoproduct X), term (finiteCoproduct.ι X a x) [Elab.step] [0.010186] expected type: (fun X ↦ ↑X.toTop) (finiteCoproduct X), term finiteCoproduct.ι X a x info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.033536] theorem finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by tauto info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.033652] lemma finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by tauto info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.async] [0.025323] elaborating proof of CompHausLike.finiteCoproduct.ι_desc_apply [Elab.definition.value] [0.024806] CompHausLike.finiteCoproduct.ι_desc_apply [Elab.step] [0.024330] tauto [Elab.step] [0.024317] tauto [Elab.step] [0.024304] tauto Build completed successfully (985 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-topology 4/12 Mathlib/Topology/Category/CompHausLike/Limits.lean,Mathlib/Topology/Category/TopCat/Limits/Products.lean,Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean 3 1 ['github-actions'] nobody
3-26094
3 days ago
3-29070
3 days ago
3-29113
3 days
26129 LessnessRandomness
author:LessnessRandomness
feat(Geometry/Euclidean/Angle/Unoriented): triangle inequality for angles This PR continues the work from #24206. Original PR: https://github.com/leanprover-community/mathlib4/pull/24206 new-contributor t-euclidean-geometry 321/11 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/NormedSpace/Normalized.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Basic.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/TriangleInequality.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/UnitVectorAngles.lean 7 22 ['JovanGerb', 'LessnessRandomness', 'Timeroot', 'github-actions', 'jsm28'] nobody
3-19239
3 days ago
58-57517
1 month ago
60-42946
60 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 t-analysis help-wanted 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
3-17537
3 days ago
16-54822
16 days ago
5-42837
5 days
28497 euprunin
author:euprunin
chore: golf entire `nonneg_iff_isSelfAdjoint_and_spectrumRestricts`, `tail_append_singleton_of_ne_nil` and `isLocalHom_residue` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-author 6/16 Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Data/List/Basic.lean,Mathlib/RingTheory/LocalRing/ResidueField/Basic.lean 3 2 ['Ruben-VandeVelde', 'github-actions'] nobody
3-15846
3 days ago
3-15846
3 days ago
1-84232
1 day
28528 euprunin
author:euprunin
chore(LinearAlgebra/AffineSpace): golf entire `univ_fin2` using `trivial` ---
Show trace profiling of univ_fin2: 65 ms before, <10 ms after 🎉 ### Trace profiling of `univ_fin2` before PR 28528 ```diff diff --git a/Mathlib/LinearAlgebra/AffineSpace/Combination.lean b/Mathlib/LinearAlgebra/AffineSpace/Combination.lean index 7bd414e385..e6f548c737 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/Combination.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/Combination.lean @@ -45,6 +45,7 @@ open Affine namespace Finset +set_option trace.profiler true in theorem univ_fin2 : (univ : Finset (Fin 2)) = {0, 1} := by ext x fin_cases x <;> simp ``` ``` ℹ [1100/1100] Built Mathlib.LinearAlgebra.AffineSpace.Combination (4.6s) info: Mathlib/LinearAlgebra/AffineSpace/Combination.lean:49:0: [Elab.async] [0.066423] elaborating proof of Finset.univ_fin2 [Elab.definition.value] [0.065396] Finset.univ_fin2 [Elab.step] [0.064357] ext x fin_cases x <;> simp [Elab.step] [0.064344] ext x fin_cases x <;> simp [Elab.step] [0.063955] (fin_cases x) <;> simp [Elab.step] [0.063942] focus fin_cases x with_annotate_state"<;>" skip all_goals simp [Elab.step] [0.063932] fin_cases x with_annotate_state"<;>" skip all_goals simp [Elab.step] [0.063928] fin_cases x with_annotate_state"<;>" skip all_goals simp [Elab.step] [0.055960] all_goals simp [Elab.step] [0.040453] simp [Elab.step] [0.040447] simp [Elab.step] [0.040436] simp [Meta.Tactic.simp.discharge] [0.020831] insert_eq_of_mem discharge ❌️ 0 ∈ {1} [Meta.synthInstance] [0.011027] ❌️ NeZero 1 [Elab.step] [0.015418] simp [Elab.step] [0.015407] simp [Elab.step] [0.015396] simp Build completed successfully (1100 jobs). ``` ### Trace profiling of `univ_fin2` after PR 28528 ```diff diff --git a/Mathlib/LinearAlgebra/AffineSpace/Combination.lean b/Mathlib/LinearAlgebra/AffineSpace/Combination.lean index 7bd414e385..beecee2590 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/Combination.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/Combination.lean @@ -45,9 +45,9 @@ open Affine namespace Finset +set_option trace.profiler true in theorem univ_fin2 : (univ : Finset (Fin 2)) = {0, 1} := by - ext x - fin_cases x <;> simp + trivial variable {k : Type*} {V : Type*} {P : Type*} [Ring k] [AddCommGroup V] [Module k V] variable [S : AffineSpace V P] ``` ``` ✔ [1100/1100] Built Mathlib.LinearAlgebra.AffineSpace.Combination (4.6s) Build completed successfully (1100 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-algebra
label:t-algebra$
1/2 Mathlib/LinearAlgebra/AffineSpace/Combination.lean 1 1 ['github-actions'] nobody
3-13436
3 days ago
4-25850
4 days ago
4-25892
4 days
28522 euprunin
author:euprunin
chore(Algebra/Ring/Subsemiring): golf entire `coe_pow` using `trivial` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
2/6 Mathlib/Algebra/Ring/Subsemiring/Defs.lean 1 3 ['Ruben-VandeVelde', 'euprunin', 'github-actions'] nobody
3-13261
3 days ago
4-39936
4 days ago
4-39978
4 days
28557 ShreckYe
author:ShreckYe
feat(Data/Nat/Factorization): some results on equality of powers of naturals proved from factorization I came across some math olympiad problems in number theory that could benefit from these theorems, expecially those on the prime power equality `p ^ m = a ^ n`. A specialized `eq_of_factorization_eq'` is added BTW to help with proof search. t-data 102/0 Mathlib/Data/Nat/Factorization/Basic.lean,Mathlib/Data/Nat/Factorization/Defs.lean,Mathlib/Data/Nat/Factorization/PrimePow.lean 3 1 ['github-actions'] nobody
3-12705
3 days ago
3-30061
3 days ago
3-30109
3 days
28539 euprunin
author:euprunin
chore(Algebra/Order/Interval/Set): golf entire `one_sub_mem` using `simp_all` ---
Show trace profiling of one_sub_mem: 29 ms before, 47 ms after ### Trace profiling of `one_sub_mem` before PR 28539 ```diff diff --git a/Mathlib/Algebra/Order/Interval/Set/Instances.lean b/Mathlib/Algebra/Order/Interval/Set/Instances.lean index a3e0159054..a1a1bfc676 100644 --- a/Mathlib/Algebra/Order/Interval/Set/Instances.lean +++ b/Mathlib/Algebra/Order/Interval/Set/Instances.lean @@ -322,6 +322,7 @@ instance instCommSemigroup {R : Type*} [CommSemiring R] [PartialOrder R] [IsStri variable {β : Type*} [Ring β] [PartialOrder β] [IsOrderedRing β] +set_option trace.profiler true in theorem one_sub_mem {t : β} (ht : t ∈ Ioo (0 : β) 1) : 1 - t ∈ Ioo (0 : β) 1 := by rw [mem_Ioo] at * refine ⟨sub_pos.2 ht.2, ?_⟩ ``` ``` ℹ [415/415] Built Mathlib.Algebra.Order.Interval.Set.Instances (1.4s) info: Mathlib/Algebra/Order/Interval/Set/Instances.lean:326:0: [Elab.async] [0.029587] elaborating proof of Set.Ioo.one_sub_mem [Elab.definition.value] [0.029046] Set.Ioo.one_sub_mem [Elab.step] [0.028620] rw [mem_Ioo] at * refine ⟨sub_pos.2 ht.2, ?_⟩ exact lt_of_le_of_ne ((sub_le_self_iff 1).2 ht.1.le) (mt sub_eq_self.mp ht.1.ne') [Elab.step] [0.028608] rw [mem_Ioo] at * refine ⟨sub_pos.2 ht.2, ?_⟩ exact lt_of_le_of_ne ((sub_le_self_iff 1).2 ht.1.le) (mt sub_eq_self.mp ht.1.ne') [Elab.step] [0.017723] refine ⟨sub_pos.2 ht.2, ?_⟩ [Meta.synthInstance] [0.014182] ✅️ AddRightStrictMono β Build completed successfully (415 jobs). ``` ### Trace profiling of `one_sub_mem` after PR 28539 ```diff diff --git a/Mathlib/Algebra/Order/Interval/Set/Instances.lean b/Mathlib/Algebra/Order/Interval/Set/Instances.lean index a3e0159054..9ce1544a80 100644 --- a/Mathlib/Algebra/Order/Interval/Set/Instances.lean +++ b/Mathlib/Algebra/Order/Interval/Set/Instances.lean @@ -322,10 +322,9 @@ instance instCommSemigroup {R : Type*} [CommSemiring R] [PartialOrder R] [IsStri variable {β : Type*} [Ring β] [PartialOrder β] [IsOrderedRing β] +set_option trace.profiler true in theorem one_sub_mem {t : β} (ht : t ∈ Ioo (0 : β) 1) : 1 - t ∈ Ioo (0 : β) 1 := by - rw [mem_Ioo] at * - refine ⟨sub_pos.2 ht.2, ?_⟩ - exact lt_of_le_of_ne ((sub_le_self_iff 1).2 ht.1.le) (mt sub_eq_self.mp ht.1.ne') + simp_all theorem mem_iff_one_sub_mem {t : β} : t ∈ Ioo (0 : β) 1 ↔ 1 - t ∈ Ioo (0 : β) 1 := ⟨one_sub_mem, fun h => sub_sub_cancel 1 t ▸ one_sub_mem h⟩ ``` ``` ℹ [415/415] Built Mathlib.Algebra.Order.Interval.Set.Instances (1.4s) info: Mathlib/Algebra/Order/Interval/Set/Instances.lean:326:0: [Elab.async] [0.047387] elaborating proof of Set.Ioo.one_sub_mem [Elab.definition.value] [0.046889] Set.Ioo.one_sub_mem [Elab.step] [0.046569] simp_all [Elab.step] [0.046560] simp_all [Elab.step] [0.046551] simp_all [Meta.Tactic.simp.discharge] [0.010940] Ioo_eq_empty discharge ❌️ ¬0 < 1 [Meta.Tactic.simp.discharge] [0.010461] Ioo_eq_empty discharge ❌️ ¬0 < 1 [Meta.synthInstance] [0.012013] ✅️ AddRightStrictMono β Build completed successfully (415 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-algebra
label:t-algebra$
1/3 Mathlib/Algebra/Order/Interval/Set/Instances.lean 1 2 ['github-actions', 'grunweg'] nobody
3-8920
3 days ago
3-71386
3 days ago
3-71437
3 days
28505 kim-em
author:kim-em
feat: linter for stale deprecated attrs - add a linter that reports `@[deprecated]` attributes with `since` dates more than three months old - enable the linter by default via `Mathlib.Init` Before merging we'll set back to 6 months, and disable by default. - [ ] depends on: #28510 ------ https://chatgpt.com/codex/tasks/task_e_68a00343bc148321a9528a8264d81536 large-import t-linter 70/0 Mathlib/Init.lean,Mathlib/Tactic/Linter/DeprecatedAttr.lean 2 6 ['bryangingechen', 'github-actions', 'kim-em', 'mathlib4-dependent-issues-bot'] nobody
3-3283
3 days ago
4-7412
4 days ago
0-0
0 seconds
26057 YaelDillies
author:YaelDillies
feat: `mon_tauto`, a simp set to prove tautologies about a monoid object This simp set proves all tautologies involving (commutative) monoid objects in a (braided) monoidal category. The general algorithm it follows is to push the associators `α_` and commutators `β_` inwards until they cancel against the right sequence of multiplications. This approach is justified by the fact that a tautology in the language of (commutative) monoid objects "remembers" how it was proved: Every use of a (commutative) monoid object axiom inserts a unitor, associator or commutator, and proving a tautology simply amounts to undoing those moves as prescribed by the presence of unitors, associators and commutators in its expression. This simp set is opiniated about its normal form and therefore cannot be used concurrently to some of the simp lemmas in the standard simp set. As an example, we prove `tensorμ M M M M ≫ (μ ⊗ₘ μ) ≫ μ = (μ ⊗ₘ μ) ≫ μ`, the categorical equivalent of `mul_mul_mul_comm`. From Toric Co-authored-by: Andrew Yang --- - [x] depends on: #26102 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-category-theory 151/1 Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/Tactic/Attr/Register.lean,MathlibTest/CategoryTheory/Monoidal/MonTauto.lean,scripts/noshake.json 4 11 ['YaelDillies', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'robin-carlier'] robin-carlier
assignee:robin-carlier
3-1428
3 days ago
63-20293
2 months ago
63-83148
63 days
27363 101damnations
author:101damnations
feat(RepresentationTheory/Homological): add standard resolution for finite cyclic groups Let `k` be a commutative ring and `G` a finite commutative group. Given `g : G` and `A : Rep k G`, we can define a periodic chain complex in `Rep k G` given by `... ⟶ A --N--> A --(ρ(g) - 𝟙)--> A --N--> A --(ρ(g) - 𝟙)--> A ⟶ 0` where `N` is the norm map sending `a : A` to `∑ ρ(g)(a)` for all `g` in `G`. When `G` is generated by `g` and `A` is the left regular representation `k[G]`, this chain complex is a projective resolution of `k` as a trivial representation, which we prove in this PR. --- - [x] depends on: #27362 - [x] depends on: #27361 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 223/0 Mathlib.lean,Mathlib/RepresentationTheory/Homological/FiniteCyclic.lean,Mathlib/RepresentationTheory/Invariants.lean 3 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] TwoFX
assignee:TwoFX
3-1426
3 days ago
11-12849
11 days ago
14-33053
14 days
27743 alreadydone
author:alreadydone
feat(NumberTheory): Frobenius number exists, ℕ is Noetherian semiring & Sylver coinage + The Frobenius number of a set of natural numbers exist iff the set has gcd 1 and doesn't contain 1. + All additive submonoids (= ideals) of ℕ are finitely generated. + The game of Sylver coinage always terminates. This is the outcome of a course project at Heidelberg University: [matematiflo.github.io/CompAssistedMath2025](https://matematiflo.github.io/CompAssistedMath2025/) Co-authored-by: Daniel Buth @greymatter8 Co-authored-by: Sebastian Meier @SebastianMeierUni --- FrobeniusNumber is a leaf file so I think doubling its imports is okay. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra t-combinatorics t-number-theory
label:t-algebra$
252/28 Mathlib/Data/Set/Finite/Basic.lean,Mathlib/LinearAlgebra/FreeModule/PID.lean,Mathlib/NumberTheory/FrobeniusNumber.lean,Mathlib/RingTheory/Ideal/NatInt.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean 5 3 ['github-actions', 'vihdzp'] kbuzzard
assignee:kbuzzard
3-1425
3 days ago
20-25913
20 days ago
20-51515
20 days
27900 alreadydone
author:alreadydone
feat(Algebra): principal ideal finite product rings Show that ideals in a finite product semiring correspond to tuples of ideals in individual rings. Consequently, a finite product semiring is a PIR if each semiring is. follow-up of #27236 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra
label:t-algebra$
83/18 Mathlib/LinearAlgebra/Span/Defs.lean,Mathlib/RingTheory/Ideal/Basic.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Prod.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean 5 2 ['github-actions', 'mathlib4-merge-conflict-bot'] kbuzzard
assignee:kbuzzard
3-1423
3 days ago
15-24249
15 days ago
17-25896
17 days
28059 hanwenzhu
author:hanwenzhu
refactor(MeasureTheory/RieszMarkovKakutani): Use PositiveLinearMap This PR refactors the unbundled `{Λ : C_c(X, ℝ) →ₗ[ℝ] ℝ} (hΛ : ∀ f, 0 ≤ f → 0 ≤ Λ f)` in the statement of RMK to the bundled `(Λ : C_c(X, ℝ) →ₚ[ℝ] ℝ)`. Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Uniqueness.20in.20Riesz.E2.80.93Markov.E2.80.93Kakutani.20representation.20theorem --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability 122/81 Mathlib/Algebra/Order/Module/PositiveLinearMap.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Basic.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/NNReal.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean,Mathlib/Topology/ContinuousMap/CompactlySupported.lean 5 12 ['EtienneC30', 'github-actions', 'hanwenzhu', 'yoh-tanimoto'] EtienneC30
assignee:EtienneC30
3-1422
3 days ago
10-84617
10 days ago
13-20084
13 days
28198 Sebi-Kumar
author:Sebi-Kumar
feat(Analysis/InnerProductSpace/PiL2): Add instances for EuclideanSpace rank and EuclideanSpace being infinite Add an instance for `Fact (Module.finrank 𝕜 (EuclideanSpace 𝕜 (Fin n)) = n)` which is needed to apply [stereographic'](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Geometry/Manifold/Instances/Sphere.html#stereographic') to EuclideanSpace. Also add an instance for `Infinite (EuclideanSpace 𝕜 ι)` where `ι` is a nonempty fintype. I wasn't sure if these should go in separate pull requests, but they seemed similar enough to me. Thank you to Kenny Lau for the suggestions at [#mathlib4 > Instances for EuclideanSpace](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Instances.20for.20EuclideanSpace). --- To provide additional context, I am new to contributing to Mathlib, and I am doing so 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. My goal is to contribute that the `n`-sphere is simply connected for `n > 1`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis 6/0 Mathlib/Analysis/InnerProductSpace/PiL2.lean 1 1 ['github-actions'] urkud
assignee:urkud
3-1419
3 days ago
10-14655
10 days ago
10-14701
10 days
28572 euprunin
author:euprunin
chore(SetTheory): golf entire `congToClass_empty` using `tauto` ---
Show trace profiling of congToClass_empty: <10 ms before, <10 ms after 🎉 ### Trace profiling of `congToClass_empty` before PR 28572 ```diff diff --git a/Mathlib/SetTheory/ZFC/Class.lean b/Mathlib/SetTheory/ZFC/Class.lean index 43d3015eb2..2596971ce0 100644 --- a/Mathlib/SetTheory/ZFC/Class.lean +++ b/Mathlib/SetTheory/ZFC/Class.lean @@ -129,6 +129,7 @@ theorem univ_notMem_univ : univ ∉ univ := def congToClass (x : Set Class.{u}) : Class.{u} := { y | ↑y ∈ x } +set_option trace.profiler true in @[simp] theorem congToClass_empty : congToClass ∅ = ∅ := by ext z ``` ``` ✔ [660/660] Built Mathlib.SetTheory.ZFC.Class (2.3s) Build completed successfully (660 jobs). ``` ### Trace profiling of `congToClass_empty` after PR 28572 ```diff diff --git a/Mathlib/SetTheory/ZFC/Class.lean b/Mathlib/SetTheory/ZFC/Class.lean index 43d3015eb2..fa097799c0 100644 --- a/Mathlib/SetTheory/ZFC/Class.lean +++ b/Mathlib/SetTheory/ZFC/Class.lean @@ -129,11 +129,10 @@ theorem univ_notMem_univ : univ ∉ univ := def congToClass (x : Set Class.{u}) : Class.{u} := { y | ↑y ∈ x } +set_option trace.profiler true in @[simp] theorem congToClass_empty : congToClass ∅ = ∅ := by - ext z - simp only [congToClass, not_empty_hom, iff_false] - exact Set.notMem_empty z + tauto /-- Convert a class into a conglomerate (a collection of classes) -/ def classToCong (x : Class.{u}) : Set Class.{u} := ``` ``` ✔ [660/660] Built Mathlib.SetTheory.ZFC.Class (2.5s) Build completed successfully (660 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-set-theory 1/3 Mathlib/SetTheory/ZFC/Class.lean 1 1 ['github-actions', 'vihdzp'] nobody
2-75566
2 days ago
3-29145
3 days ago
3-29191
3 days
28580 kmill
author:kmill
refactor: simplify implementation of `filter_upwards` This PR makes a few changes to `filter_upwards`: - it uses `focus`, which prevents multiGoalLinter from ever blaming the tactics used inside its implementation - it constructs the whole proof syntax and elaborates it at once using `evalTactic` and `refine`, rather than using the lower-level TermElab API, which can lose track of goals - it's written in a way that doesn't require goals to be in some particular order This was motivated by some multiGoalLinter issues I ran into when working on https://github.com/leanprover/lean4/pull/9942 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order t-meta 14/16 Mathlib/Order/Filter/Defs.lean 1 1 ['github-actions'] nobody
2-75347
2 days ago
2-84220
2 days ago
2-84205
2 days
27370 euprunin
author:euprunin
chore(Tactic/CancelDenoms): golf `cancel_factors_eq` ---
Show trace profiling of cancel_factors_eq: 120 ms before, 46 ms after 🎉 ### Trace profiling of `cancel_factors_eq` before PR 27370 ```diff diff --git a/Mathlib/Tactic/CancelDenoms/Core.lean b/Mathlib/Tactic/CancelDenoms/Core.lean index c4b62d3e29..3ec2128994 100644 --- a/Mathlib/Tactic/CancelDenoms/Core.lean +++ b/Mathlib/Tactic/CancelDenoms/Core.lean @@ -80,6 +80,7 @@ theorem cancel_factors_le {α} [Field α] [LinearOrder α] [IsStrictOrderedRing · exact mul_pos had hbd · exact one_div_pos.2 hgcd +set_option trace.profiler true in theorem cancel_factors_eq {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a') (hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) : (a = b) = (1 / gcd * (bd * a') = 1 / gcd * (ad * b')) := by ``` ``` ℹ [436/436] Built Mathlib.Tactic.CancelDenoms.Core (2.8s) info: Mathlib/Tactic/CancelDenoms/Core.lean:84:0: [Elab.command] [0.015258] theorem cancel_factors_eq {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a') (hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) : (a = b) = (1 / gcd * (bd * a') = 1 / gcd * (ad * b')) := by rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd] ext; constructor · rintro rfl rfl · intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.definition.header] [0.014988] CancelDenoms.cancel_factors_eq info: Mathlib/Tactic/CancelDenoms/Core.lean:84:0: [Elab.async] [0.122474] elaborating proof of CancelDenoms.cancel_factors_eq [Elab.definition.value] [0.119890] CancelDenoms.cancel_factors_eq [Elab.step] [0.118614] rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd] ext; constructor · rintro rfl rfl · intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.step] [0.118601] rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd] ext; constructor · rintro rfl rfl · intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.step] [0.010324] rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd] [Elab.step] [0.010312] (rewrite [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd]; with_annotate_state"]" (try (with_reducible rfl))) [Elab.step] [0.010299] rewrite [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.010291] rewrite [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.105805] · intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.step] [0.105661] intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.step] [0.105650] intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.step] [0.043946] refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h [Elab.step] [0.043859] expected type: a = b, term mul_left_cancel₀ (mul_ne_zero ?_ ?_) h [Elab.step] [0.025447] expected type: ?m.103 * ?m.104 ≠ 0, term (mul_ne_zero ?_ ?_) [Elab.step] [0.025432] expected type: ?m.103 * ?m.104 ≠ 0, term mul_ne_zero ?_ ?_ [Meta.synthInstance] [0.019262] ✅️ NoZeroDivisors α [Elab.step] [0.021441] on_goal 1 => apply mul_ne_zero [Elab.step] [0.019543] apply mul_ne_zero [Elab.step] [0.019530] apply mul_ne_zero [Elab.step] [0.019514] apply mul_ne_zero [Meta.synthInstance] [0.013986] ✅️ NoZeroDivisors α [Elab.step] [0.018650] · exact one_ne_zero [Elab.step] [0.018355] exact one_ne_zero [Elab.step] [0.018309] exact one_ne_zero [Elab.step] [0.018269] exact one_ne_zero [Elab.step] [0.017827] expected type: 1 ≠ 0, term one_ne_zero [Meta.synthInstance] [0.012295] ✅️ NeZero 1 Build completed successfully (436 jobs). ``` ### Trace profiling of `cancel_factors_eq` after PR 27370 ```diff diff --git a/Mathlib/Tactic/CancelDenoms/Core.lean b/Mathlib/Tactic/CancelDenoms/Core.lean index c4b62d3e29..066f915189 100644 --- a/Mathlib/Tactic/CancelDenoms/Core.lean +++ b/Mathlib/Tactic/CancelDenoms/Core.lean @@ -80,20 +80,11 @@ theorem cancel_factors_le {α} [Field α] [LinearOrder α] [IsStrictOrderedRing · exact mul_pos had hbd · exact one_div_pos.2 hgcd +set_option trace.profiler true in theorem cancel_factors_eq {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a') (hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) : (a = b) = (1 / gcd * (bd * a') = 1 / gcd * (ad * b')) := by - rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd] - ext; constructor - · rintro rfl - rfl - · intro h - simp only [← mul_assoc] at h - refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h - on_goal 1 => apply mul_ne_zero - on_goal 1 => apply div_ne_zero - · exact one_ne_zero - all_goals assumption + grind theorem cancel_factors_ne {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a') (hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) : ``` ``` ℹ [436/436] Built Mathlib.Tactic.CancelDenoms.Core (3.1s) info: Mathlib/Tactic/CancelDenoms/Core.lean:84:0: [Elab.command] [0.034809] theorem cancel_factors_eq {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a') (hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) : (a = b) = (1 / gcd * (bd * a') = 1 / gcd * (ad * b')) := by grind [Elab.definition.header] [0.014091] CancelDenoms.cancel_factors_eq info: Mathlib/Tactic/CancelDenoms/Core.lean:84:0: [Elab.async] [0.046425] elaborating proof of CancelDenoms.cancel_factors_eq [Elab.definition.value] [0.045869] CancelDenoms.cancel_factors_eq [Elab.step] [0.045340] grind [Elab.step] [0.045327] grind [Elab.step] [0.045311] grind info: Mathlib/Tactic/CancelDenoms/Core.lean:87:2: [Elab.async] [0.027621] Lean.addDecl [Kernel] [0.027585] ✅️ typechecking declarations [CancelDenoms.cancel_factors_eq._proof_1_1] Build completed successfully (436 jobs). ```
t-meta 1/11 Mathlib/Tactic/CancelDenoms/Core.lean 1 4 ['euprunin', 'github-actions'] alexjbest
assignee:alexjbest
2-73681
2 days ago
29-7910
29 days ago
29-7958
29 days
27847 euprunin
author:euprunin
chore(Algebra): avoid duplicating proofs by reusing existing theorems or lemmas t-algebra
label:t-algebra$
46/73 Archive/Imo/Imo1972Q5.lean,Archive/Imo/Imo2015Q6.lean,Mathlib/Algebra/Homology/Embedding/Extend.lean,Mathlib/Algebra/MvPolynomial/Rename.lean,Mathlib/Algebra/Order/AbsoluteValue/Basic.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/BigOperators/Expect.lean,Mathlib/Algebra/Order/BigOperators/Group/Finset.lean,Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean,Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean,Mathlib/Algebra/Polynomial/Degree/Lemmas.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Degree.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,Mathlib/NumberTheory/Pell.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/Tactic/ComputeDegree.lean,Mathlib/Topology/Algebra/Order/Group.lean,Mathlib/Topology/MetricSpace/Algebra.lean,MathlibTest/GCongr/inequalities.lean,MathlibTest/GRewrite.lean 25 10 ['Ruben-VandeVelde', 'euprunin', 'github-actions', 'grunweg', 'kbuzzard', 'mathlib4-merge-conflict-bot'] mariainesdff
assignee:mariainesdff
2-73208
2 days ago
4-15160
4 days ago
15-72410
15 days
27856 euprunin
author:euprunin
chore(RingTheory/PowerSeries): golf entire `trunc_one` using `grind` ---
Show trace profiling of trunc_one: 88 ms before, 87 ms after 🎉 ### Trace profiling of `trunc_one` before PR 27856 ```diff diff --git a/Mathlib/RingTheory/PowerSeries/Trunc.lean b/Mathlib/RingTheory/PowerSeries/Trunc.lean index 7b8a612d49..9e21778c21 100644 --- a/Mathlib/RingTheory/PowerSeries/Trunc.lean +++ b/Mathlib/RingTheory/PowerSeries/Trunc.lean @@ -47,6 +47,7 @@ theorem trunc_zero (n) : trunc n (0 : R⟦X⟧) = 0 := rw [coeff_trunc, LinearMap.map_zero, Polynomial.coeff_zero] split_ifs <;> rfl +set_option trace.profiler true in @[simp] theorem trunc_one (n) : trunc (n + 1) (1 : R⟦X⟧) = 1 := Polynomial.ext fun m => by ``` ``` ℹ [1292/1292] Built Mathlib.RingTheory.PowerSeries.Trunc (3.2s) info: Mathlib/RingTheory/PowerSeries/Trunc.lean:51:0: [Elab.async] [0.089409] elaborating proof of PowerSeries.trunc_one [Elab.definition.value] [0.088361] PowerSeries.trunc_one [Elab.step] [0.086909] rw [coeff_trunc, coeff_one, Polynomial.coeff_one] split_ifs with h _ h' · rfl · rfl · subst h'; simp at h · rfl [Elab.step] [0.086897] rw [coeff_trunc, coeff_one, Polynomial.coeff_one] split_ifs with h _ h' · rfl · rfl · subst h'; simp at h · rfl [Elab.step] [0.038895] split_ifs with h _ h' [Elab.step] [0.043021] · subst h'; simp at h [Elab.step] [0.042999] subst h'; simp at h [Elab.step] [0.042991] subst h'; simp at h [Elab.step] [0.042673] simp at h Build completed successfully (1292 jobs). ``` ### Trace profiling of `trunc_one` after PR 27856 ```diff diff --git a/Mathlib/RingTheory/PowerSeries/Trunc.lean b/Mathlib/RingTheory/PowerSeries/Trunc.lean index 7b8a612d49..d9f8019532 100644 --- a/Mathlib/RingTheory/PowerSeries/Trunc.lean +++ b/Mathlib/RingTheory/PowerSeries/Trunc.lean @@ -47,15 +47,11 @@ theorem trunc_zero (n) : trunc n (0 : R⟦X⟧) = 0 := rw [coeff_trunc, LinearMap.map_zero, Polynomial.coeff_zero] split_ifs <;> rfl +set_option trace.profiler true in @[simp] theorem trunc_one (n) : trunc (n + 1) (1 : R⟦X⟧) = 1 := Polynomial.ext fun m => by - rw [coeff_trunc, coeff_one, Polynomial.coeff_one] - split_ifs with h _ h' - · rfl - · rfl - · subst h'; simp at h - · rfl + grind [PowerSeries.coeff_trunc, PowerSeries.coeff_one, Polynomial.coeff_one] @[simp] theorem trunc_C (n) (a : R) : trunc (n + 1) (C R a) = Polynomial.C a := ``` ``` ℹ [1292/1292] Built Mathlib.RingTheory.PowerSeries.Trunc (3.1s) info: Mathlib/RingTheory/PowerSeries/Trunc.lean:51:0: [Elab.async] [0.087506] elaborating proof of PowerSeries.trunc_one [Elab.definition.value] [0.086697] PowerSeries.trunc_one [Elab.step] [0.083908] grind [PowerSeries.coeff_trunc, PowerSeries.coeff_one, Polynomial.coeff_one] [Elab.step] [0.083856] grind [PowerSeries.coeff_trunc, PowerSeries.coeff_one, Polynomial.coeff_one] [Elab.step] [0.083840] grind [PowerSeries.coeff_trunc, PowerSeries.coeff_one, Polynomial.coeff_one] [Meta.synthInstance] [0.010307] ✅️ Lean.Grind.NatModule (Lean.Grind.Ring.OfSemiring.Q ℕ) [Meta.synthInstance] [0.010255] ❌️ LE (MvPowerSeries PUnit.{1} R) Build completed successfully (1292 jobs). ```
maintainer-merge t-algebra
label:t-algebra$
1/6 Mathlib/RingTheory/PowerSeries/Trunc.lean 1 8 ['eric-wieser', 'euprunin', 'github-actions', 'grunweg'] adomani
assignee:adomani
2-73084
2 days ago
19-9163
19 days ago
19-9681
19 days
27857 euprunin
author:euprunin
chore(Analysis/SpecialFunctions): golf entire `rpow_eq_top_of_nonneg` using `simp` ---
Show trace profiling of rpow_eq_top_of_nonneg: <10 ms before, 18 ms after ### Trace profiling of `rpow_eq_top_of_nonneg` before PR 27857 ```diff diff --git a/Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean b/Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean index 75b232ee4e..5d2ddf1fce 100644 --- a/Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean +++ b/Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean @@ -553,6 +553,7 @@ theorem rpow_eq_top_iff_of_pos {x : ℝ≥0∞} {y : ℝ} (hy : 0 < y) : x ^ y = lemma rpow_lt_top_iff_of_pos {x : ℝ≥0∞} {y : ℝ} (hy : 0 < y) : x ^ y < ∞ ↔ x < ∞ := by simp only [lt_top_iff_ne_top, Ne, rpow_eq_top_iff_of_pos hy] +set_option trace.profiler true in theorem rpow_eq_top_of_nonneg (x : ℝ≥0∞) {y : ℝ} (hy0 : 0 ≤ y) : x ^ y = ⊤ → x = ⊤ := by rw [ENNReal.rpow_eq_top_iff] rintro (h|h) ``` ``` ✔ [1872/1872] Built Mathlib.Analysis.SpecialFunctions.Pow.NNReal (6.0s) Build completed successfully (1872 jobs). ``` ### Trace profiling of `rpow_eq_top_of_nonneg` after PR 27857 ```diff diff --git a/Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean b/Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean index 75b232ee4e..68dc37f940 100644 --- a/Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean +++ b/Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean @@ -553,13 +553,9 @@ theorem rpow_eq_top_iff_of_pos {x : ℝ≥0∞} {y : ℝ} (hy : 0 < y) : x ^ y = lemma rpow_lt_top_iff_of_pos {x : ℝ≥0∞} {y : ℝ} (hy : 0 < y) : x ^ y < ∞ ↔ x < ∞ := by simp only [lt_top_iff_ne_top, Ne, rpow_eq_top_iff_of_pos hy] +set_option trace.profiler true in theorem rpow_eq_top_of_nonneg (x : ℝ≥0∞) {y : ℝ} (hy0 : 0 ≤ y) : x ^ y = ⊤ → x = ⊤ := by - rw [ENNReal.rpow_eq_top_iff] - rintro (h|h) - · exfalso - rw [lt_iff_not_ge] at h - exact h.right hy0 - · exact h.left + simp +contextual [ENNReal.rpow_eq_top_iff, hy0.not_gt] -- This is an unsafe rule since we want to try `rpow_ne_top_of_ne_zero` if `y < 0`. @[aesop (rule_sets := [finiteness]) unsafe apply] ``` ``` ℹ [1872/1872] Built Mathlib.Analysis.SpecialFunctions.Pow.NNReal (6.0s) info: Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean:557:0: [Elab.async] [0.018873] elaborating proof of ENNReal.rpow_eq_top_of_nonneg [Elab.definition.value] [0.018350] ENNReal.rpow_eq_top_of_nonneg [Elab.step] [0.018131] simp +contextual [ENNReal.rpow_eq_top_iff, hy0.not_gt] [Elab.step] [0.018118] simp +contextual [ENNReal.rpow_eq_top_iff, hy0.not_gt] [Elab.step] [0.018101] simp +contextual [ENNReal.rpow_eq_top_iff, hy0.not_gt] Build completed successfully (1872 jobs). ```
maintainer-merge t-analysis 1/6 Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean 1 6 ['eric-wieser', 'euprunin', 'github-actions', 'grunweg', 'kim-em'] ADedecker
assignee:ADedecker
2-72966
2 days ago
19-8801
19 days ago
19-9308
19 days
27302 tristan-f-r
author:tristan-f-r
feat(Fintype/Quotient): finLiftOn₂ The combination of [`Quotient.finLiftOn`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Fintype/Quotient.html#Quotient.finLiftOn) and [`liftOn₂`](https://leanprover-community.github.io/mathlib4_docs/Init/Core.html#Quotient.liftOn%E2%82%82). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 19/0 Mathlib/Data/Fintype/Quotient.lean 1 10 ['github-actions', 'kckennylau', 'tristan-f-r', 'vihdzp'] nobody
2-72512
2 days ago
31-84151
1 month ago
31-84193
31 days
28205 euprunin
author:euprunin
chore(Analysis/Calculus): golf entire `HasLineDerivWithinAt.congr_of_eventuallyEq` Motivation: Avoid (partial) proof duplication. ---
Show trace profiling of HasLineDerivWithinAt.congr_of_eventuallyEq: 235 ms before, <10 ms after 🎉 ### Trace profiling of `HasLineDerivWithinAt.congr_of_eventuallyEq` before PR 28205 ```diff diff --git a/Mathlib/Analysis/Calculus/LineDeriv/Basic.lean b/Mathlib/Analysis/Calculus/LineDeriv/Basic.lean index 97ba668da2..c2a1379a95 100644 --- a/Mathlib/Analysis/Calculus/LineDeriv/Basic.lean +++ b/Mathlib/Analysis/Calculus/LineDeriv/Basic.lean @@ -343,6 +343,7 @@ theorem Filter.EventuallyEq.lineDifferentiableWithinAt_iff_of_mem LineDifferentiableWithinAt 𝕜 f₀ s x v ↔ LineDifferentiableWithinAt 𝕜 f₁ s x v := h.lineDifferentiableWithinAt_iff (h.eq_of_nhdsWithin hx) +set_option trace.profiler true in lemma HasLineDerivWithinAt.congr_of_eventuallyEq (hf : HasLineDerivWithinAt 𝕜 f f' s x v) (h'f : f₁ =ᶠ[𝓝[s] x] f) (hx : f₁ x = f x) : HasLineDerivWithinAt 𝕜 f₁ f' s x v := by apply HasDerivWithinAt.congr_of_eventuallyEq hf _ (by simp [hx]) ``` ``` ℹ [1850/1850] Built Mathlib.Analysis.Calculus.LineDeriv.Basic (7.1s) info: Mathlib/Analysis/Calculus/LineDeriv/Basic.lean:347:0: [Elab.command] [0.044840] theorem congr_of_eventuallyEq (hf : HasLineDerivWithinAt 𝕜 f f' s x v) (h'f : f₁ =ᶠ[𝓝[s] x] f) (hx : f₁ x = f x) : HasLineDerivWithinAt 𝕜 f₁ f' s x v := by apply HasDerivWithinAt.congr_of_eventuallyEq hf _ (by simp [hx]) have A : Continuous (fun (t : 𝕜) ↦ x + t • v) := by fun_prop exact A.continuousWithinAt.preimage_mem_nhdsWithin'' h'f (by simp) [Elab.step] [0.028254] expected type: Type (max u_2 u_3), term E →L[𝕜] F [Elab.step] [0.028080] expected type: Type (max u_2 u_3), term ContinuousLinearMap✝ (RingHom.id✝ 𝕜) E F [Meta.synthInstance] [0.010377] ✅️ AddCommMonoid E [Elab.definition.header] [0.011416] HasLineDerivWithinAt.congr_of_eventuallyEq info: Mathlib/Analysis/Calculus/LineDeriv/Basic.lean:347:0: [Elab.command] [0.045090] theorem HasLineDerivWithinAt.congr_of_eventuallyEq (hf : HasLineDerivWithinAt 𝕜 f f' s x v) (h'f : f₁ =ᶠ[𝓝[s] x] f) (hx : f₁ x = f x) : HasLineDerivWithinAt 𝕜 f₁ f' s x v := by apply HasDerivWithinAt.congr_of_eventuallyEq hf _ (by simp [hx]) have A : Continuous (fun (t : 𝕜) ↦ x + t • v) := by fun_prop exact A.continuousWithinAt.preimage_mem_nhdsWithin'' h'f (by simp) info: Mathlib/Analysis/Calculus/LineDeriv/Basic.lean:347:0: [Elab.command] [0.045180] lemma HasLineDerivWithinAt.congr_of_eventuallyEq (hf : HasLineDerivWithinAt 𝕜 f f' s x v) (h'f : f₁ =ᶠ[𝓝[s] x] f) (hx : f₁ x = f x) : HasLineDerivWithinAt 𝕜 f₁ f' s x v := by apply HasDerivWithinAt.congr_of_eventuallyEq hf _ (by simp [hx]) have A : Continuous (fun (t : 𝕜) ↦ x + t • v) := by fun_prop exact A.continuousWithinAt.preimage_mem_nhdsWithin'' h'f (by simp) info: Mathlib/Analysis/Calculus/LineDeriv/Basic.lean:347:0: [Elab.async] [0.241538] elaborating proof of HasLineDerivWithinAt.congr_of_eventuallyEq [Elab.definition.value] [0.235419] HasLineDerivWithinAt.congr_of_eventuallyEq [Elab.step] [0.234338] apply HasDerivWithinAt.congr_of_eventuallyEq hf _ (by simp [hx]) have A : Continuous (fun (t : 𝕜) ↦ x + t • v) := by fun_prop exact A.continuousWithinAt.preimage_mem_nhdsWithin'' h'f (by simp) [Elab.step] [0.234325] apply HasDerivWithinAt.congr_of_eventuallyEq hf _ (by simp [hx]) have A : Continuous (fun (t : 𝕜) ↦ x + t • v) := by fun_prop exact A.continuousWithinAt.preimage_mem_nhdsWithin'' h'f (by simp) [Elab.step] [0.032147] apply HasDerivWithinAt.congr_of_eventuallyEq hf _ (by simp [hx]) [Elab.step] [0.030192] simp [hx] [Elab.step] [0.030185] simp [hx] [Elab.step] [0.030174] simp [hx] [Meta.isDefEq] [0.026327] ✅️ 0 • ?m =?= 0 • v [Meta.isDefEq] [0.026186] ✅️ instHSMul =?= instHSMul [Meta.isDefEq.delta] [0.026172] ✅️ instHSMul =?= instHSMul [Meta.synthInstance] [0.025868] ✅️ SMulWithZero 𝕜 E [Meta.synthInstance] [0.017680] ✅️ apply MulActionWithZero.toSMulWithZero to SMulWithZero 𝕜 E [Meta.synthInstance.tryResolve] [0.017635] ✅️ SMulWithZero 𝕜 E ≟ SMulWithZero 𝕜 E [Meta.isDefEq] [0.011750] ✅️ ?m.54 =?= MulActionWithZero.toSMulWithZero 𝕜 E [Meta.isDefEq.assign] [0.011747] ✅️ ?m.54 := MulActionWithZero.toSMulWithZero 𝕜 E [Meta.isDefEq.assign.checkTypes] [0.011728] ✅️ (?m.54 : SMulWithZero 𝕜 E) := (MulActionWithZero.toSMulWithZero 𝕜 E : SMulWithZero 𝕜 E) [Meta.isDefEq] [0.011720] ✅️ SMulWithZero 𝕜 E =?= SMulWithZero 𝕜 E [Elab.step] [0.063437] have A : Continuous (fun (t : 𝕜) ↦ x + t • v) := by fun_prop [Elab.step] [0.063411] focus refine no_implicit_lambda% (have A : Continuous (fun (t : 𝕜) ↦ x + t • v) := ?body✝; ?_) case body✝ => with_annotate_state"by" (fun_prop) [Elab.step] [0.063398] refine no_implicit_lambda% (have A : Continuous (fun (t : 𝕜) ↦ x + t • v) := ?body✝; ?_) case body✝ => with_annotate_state"by" (fun_prop) [Elab.step] [0.063390] refine no_implicit_lambda% (have A : Continuous (fun (t : 𝕜) ↦ x + t • v) := ?body✝; ?_) case body✝ => with_annotate_state"by" (fun_prop) [Elab.step] [0.025620] refine no_implicit_lambda% (have A : Continuous (fun (t : 𝕜) ↦ x + t • v) := ?body✝; ?_) [Elab.step] [0.025555] expected type: (fun t ↦ f₁ (x + t • v)) =ᶠ[𝓝[(fun t ↦ x + t • v) ⁻¹' s] 0] fun t ↦ f (x + t • v), term no_implicit_lambda% (have A : Continuous (fun (t : 𝕜) ↦ x + t • v) := ?body✝; ?_) [Elab.step] [0.025544] expected type: (fun t ↦ f₁ (x + t • v)) =ᶠ[𝓝[(fun t ↦ x + t • v) ⁻¹' s] 0] fun t ↦ f (x + t • v), term (have A : Continuous (fun (t : 𝕜) ↦ x + t • v) := ?body✝; ?_) [Elab.step] [0.025534] expected type: (fun t ↦ f₁ (x + t • v)) =ᶠ[𝓝[(fun t ↦ x + t • v) ⁻¹' s] 0] fun t ↦ f (x + t • v), term have A : Continuous (fun (t : 𝕜) ↦ x + t • v) := ?body✝; ?_ [Elab.step] [0.025437] expected type: Prop, term Continuous (fun (t : 𝕜) ↦ x + t • v) [Elab.step] [0.022733] expected type: 𝕜 → E, term (fun (t : 𝕜) ↦ x + t • v) [Elab.step] [0.022726] expected type: 𝕜 → E, term fun (t : 𝕜) ↦ x + t • v [Elab.step] [0.022644] expected type: E, term x + t • v [Elab.step] [0.022634] expected type: E, term binop% HAdd.hAdd✝ x (t • v) [Meta.synthInstance] [0.012145] ✅️ HSMul 𝕜 E E [Elab.step] [0.037752] case body✝ => with_annotate_state"by" (fun_prop) [Elab.step] [0.037590] with_annotate_state"by" (fun_prop) [Elab.step] [0.037584] with_annotate_state"by" (fun_prop) [Elab.step] [0.037576] with_annotate_state"by" (fun_prop) [Elab.step] [0.037566] (fun_prop) [Elab.step] [0.037560] fun_prop [Elab.step] [0.037553] fun_prop [Elab.step] [0.037537] fun_prop [Meta.Tactic.fun_prop] [0.036033] [✅️] Continuous fun t ↦ x + t • v [Meta.Tactic.fun_prop] [0.035608] [✅️] applying: Continuous.add [Meta.Tactic.fun_prop] [0.026323] [✅️] Continuous fun x ↦ x • v [Meta.Tactic.fun_prop] [0.025780] [✅️] applying: Continuous.smul [Meta.synthInstance] [0.024459] ✅️ ContinuousSMul 𝕜 E [Meta.synthInstance] [0.010968] ❌️ apply @ModuleFilterBasis.continuousSMul to ContinuousSMul 𝕜 E [Meta.synthInstance.tryResolve] [0.010896] ❌️ ContinuousSMul 𝕜 E ≟ ContinuousSMul ?m.91 ?m.92 [Meta.isDefEq] [0.010866] ❌️ ContinuousSMul 𝕜 E =?= ContinuousSMul ?m.91 ?m.92 [Meta.isDefEq] [0.010148] ✅️ DistribMulAction.toDistribSMul.toSMul =?= DistribMulAction.toDistribSMul.toSMul [Meta.isDefEq.delta] [0.010090] ✅️ DistribMulAction.toDistribSMul.toSMul =?= DistribMulAction.toDistribSMul.toSMul [Elab.step] [0.138706] exact A.continuousWithinAt.preimage_mem_nhdsWithin'' h'f (by simp) [Elab.step] [0.088650] expected type: (fun t ↦ f₁ (x + t • v)) =ᶠ[𝓝[(fun t ↦ x + t • v) ⁻¹' s] 0] fun t ↦ f (x + t • v), term A.continuousWithinAt.preimage_mem_nhdsWithin'' h'f (by simp) [Meta.isDefEq] [0.077764] ❌️ (fun t ↦ f₁ (x + t • v)) =ᶠ[𝓝[(fun t ↦ x + t • v) ⁻¹' s] 0] fun t ↦ f (x + t • v) =?= (fun t ↦ x + t • v) ⁻¹' ?m.112 ∈ 𝓝[(fun t ↦ x + t • v) ⁻¹' ?m.111] ?m.109 [Meta.isDefEq] [0.077754] ❌️ (fun t ↦ f₁ (x + t • v)) =ᶠ[𝓝[(fun t ↦ x + t • v) ⁻¹' s] 0] fun t ↦ f (x + t • v) =?= (fun t ↦ x + t • v) ⁻¹' ?m.112 ∈ 𝓝[(fun t ↦ x + t • v) ⁻¹' ?m.111] ?m.109 [Meta.isDefEq] [0.077673] ❌️ ∀ᶠ (x_1 : 𝕜) in 𝓝[(fun t ↦ x + t • v) ⁻¹' s] 0, (fun t ↦ f₁ (x + t • v)) x_1 = (fun t ↦ f (x + t • v)) x_1 =?= (fun t ↦ x + t • v) ⁻¹' ?m.112 ∈ 𝓝[(fun t ↦ x + t • v) ⁻¹' ?m.111] ?m.109 [Meta.isDefEq] [0.077611] ❌️ {x_1 | (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1} ∈ 𝓝[(fun t ↦ x + t • v) ⁻¹' s] 0 =?= (fun t ↦ x + t • v) ⁻¹' ?m.112 ∈ 𝓝[(fun t ↦ x + t • v) ⁻¹' ?m.111] ?m.109 [Meta.isDefEq.delta] [0.017341] ❌️ {x_1 | (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1} ∈ 𝓝[(fun t ↦ x + t • v) ⁻¹' s] 0 =?= (fun t ↦ x + t • v) ⁻¹' ?m.112 ∈ 𝓝[(fun t ↦ x + t • v) ⁻¹' ?m.111] ?m.109 [Meta.isDefEq] [0.012680] ❌️ {x_1 | (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1} =?= (fun t ↦ x + t • v) ⁻¹' ?m.112 [Meta.isDefEq] [0.012627] ❌️ {x_1 | (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1} =?= {x_1 | (fun t ↦ x + t • v) x_1 ∈ ?m.112} [Meta.isDefEq] [0.010589] ❌️ fun x_1 ↦ (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1 =?= fun x_1 ↦ (fun t ↦ x + t • v) x_1 ∈ ?m.112 [Meta.isDefEq] [0.010582] ❌️ (fun x ↦ (fun t ↦ f₁ (x✝ + t • v)) x = (fun t ↦ f (x✝ + t • v)) x) x =?= (fun t ↦ x✝ + t • v) x ∈ ?m.112 [Meta.isDefEq] [0.010576] ❌️ (fun t ↦ f₁ (x✝ + t • v)) x = (fun t ↦ f (x✝ + t • v)) x =?= (fun t ↦ x✝ + t • v) x ∈ ?m.112 [Meta.isDefEq] [0.010563] ❌️ (fun t ↦ f₁ (x✝ + t • v)) x = (fun t ↦ f (x✝ + t • v)) x =?= Set.instMembership.1 ?m.112 ((fun t ↦ x✝ + t • v) x) [Meta.isDefEq] [0.010550] ❌️ (fun t ↦ f₁ (x✝ + t • v)) x = (fun t ↦ f (x✝ + t • v)) x =?= Set.Mem ?m.112 ((fun t ↦ x✝ + t • v) x) [Meta.isDefEq] [0.010535] ❌️ (fun t ↦ f₁ (x✝ + t • v)) x = (fun t ↦ f (x✝ + t • v)) x =?= ?m.112 ((fun t ↦ x✝ + t • v) x) [Meta.isDefEq.assign] [0.010526] ❌️ ?m.112 ((fun t ↦ x✝ + t • v) x) := (fun t ↦ f₁ (x✝ + t • v)) x = (fun t ↦ f (x✝ + t • v)) x [Meta.isDefEq] [0.010508] ❌️ (fun t ↦ x✝ + t • v) x =?= (fun t ↦ f (x✝ + t • v)) x [Meta.isDefEq] [0.010502] ❌️ x✝ + x • v =?= f (x✝ + x • v) [Meta.isDefEq] [0.010433] ❌️ instHAdd.1 x✝ (x • v) =?= f (x✝ + x • v) [Meta.isDefEq] [0.010417] ❌️ Add.add x✝ (x • v) =?= f (x✝ + x • v) [Meta.isDefEq] [0.060224] ❌️ Filter.instMembership.1 (𝓝[(fun t ↦ x + t • v) ⁻¹' s] 0) {x_1 | (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1} =?= Filter.instMembership.1 (𝓝[(fun t ↦ x + t • v) ⁻¹' ?m.111] ?m.109) ((fun t ↦ x + t • v) ⁻¹' ?m.112) [Meta.isDefEq] [0.060183] ❌️ {x_1 | (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1} ∈ (𝓝[(fun t ↦ x + t • v) ⁻¹' s] 0).sets =?= (fun t ↦ x + t • v) ⁻¹' ?m.112 ∈ (𝓝[(fun t ↦ x + t • v) ⁻¹' ?m.111] ?m.109).sets [Meta.isDefEq.delta] [0.021246] ❌️ {x_1 | (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1} ∈ (𝓝[(fun t ↦ x + t • v) ⁻¹' s] 0).sets =?= (fun t ↦ x + t • v) ⁻¹' ?m.112 ∈ (𝓝[(fun t ↦ x + t • v) ⁻¹' ?m.111] ?m.109).sets [Meta.isDefEq] [0.013694] ✅️ (𝓝[(fun t ↦ x + t • v) ⁻¹' s] 0).sets =?= (𝓝[(fun t ↦ x + t • v) ⁻¹' ?m.111] ?m.109).sets [Meta.isDefEq.delta] [0.013682] ✅️ (𝓝[(fun t ↦ x + t • v) ⁻¹' s] 0).sets =?= (𝓝[(fun t ↦ x + t • v) ⁻¹' ?m.111] ?m.109).sets [Meta.isDefEq] [0.013667] ✅️ 𝓝[(fun t ↦ x + t • v) ⁻¹' s] 0 =?= 𝓝[(fun t ↦ x + t • v) ⁻¹' ?m.111] ?m.109 [Meta.isDefEq.delta] [0.013449] ✅️ 𝓝[(fun t ↦ x + t • v) ⁻¹' s] 0 =?= 𝓝[(fun t ↦ x + t • v) ⁻¹' ?m.111] ?m.109 [Meta.isDefEq] [0.012745] ✅️ (fun t ↦ x + t • v) ⁻¹' s =?= (fun t ↦ x + t • v) ⁻¹' ?m.111 [Meta.isDefEq.delta] [0.012727] ✅️ (fun t ↦ x + t • v) ⁻¹' s =?= (fun t ↦ x + t • v) ⁻¹' ?m.111 [Meta.isDefEq] [0.012137] ✅️ fun t ↦ x + t • v =?= fun t ↦ x + t • v [Meta.isDefEq] [0.011501] ✅️ x + t • v =?= x + t • v [Meta.isDefEq] [0.011142] ✅️ instHAdd.1 x (t • v) =?= instHAdd.1 x (t • v) [Meta.isDefEq] [0.011082] ✅️ Add.add x (t • v) =?= Add.add x (t • v) [Meta.isDefEq] [0.010696] ✅️ inst✝¹.toAddCommMonoid.toAddCommSemigroup.toAddCommMagma.toAdd.1 x (t • v) =?= NormedAddCommGroup.toENormedAddCommMonoid.toAddCommMonoid.toAddCommSemigroup.toAddCommMagma.toAdd.1 x (t • v) [Meta.isDefEq] [0.038913] ❌️ Set.instMembership.1 (𝓝[(fun t ↦ x + t • v) ⁻¹' s] 0).sets {x_1 | (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1} =?= Set.instMembership.1 (𝓝[(fun t ↦ x + t • v) ⁻¹' ?m.111] ?m.109).sets ((fun t ↦ x + t • v) ⁻¹' ?m.112) [Meta.isDefEq] [0.038878] ❌️ (𝓝[(fun t ↦ x + t • v) ⁻¹' s] 0).sets.Mem {x_1 | (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1} =?= (𝓝[(fun t ↦ x + t • v) ⁻¹' ?m.111] ?m.109).sets.Mem ((fun t ↦ x + t • v) ⁻¹' ?m.112) [Meta.isDefEq] [0.031752] ❌️ (𝓝[(fun t ↦ x + t • v) ⁻¹' s] 0).sets {x_1 | (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1} =?= (𝓝[(fun t ↦ x + t • v) ⁻¹' ?m.111] ?m.109).sets ((fun t ↦ x + t • v) ⁻¹' ?m.112) [Meta.isDefEq] [0.026255] ❌️ (𝓝[(fun t ↦ x + t • v) ⁻¹' s] 0).1 {x_1 | (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1} =?= (𝓝[(fun t ↦ x + t • v) ⁻¹' ?m.111] ?m.109).1 ((fun t ↦ x + t • v) ⁻¹' ?m.112) [Meta.isDefEq] [0.026153] ❌️ {s_1 | ∃ a ∈ 𝓝 0, ∃ b ∈ 𝓟 ((fun t ↦ x + t • v) ⁻¹' s), s_1 = a ∩ b} {x_1 | (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1} =?= {s | ∃ a ∈ 𝓝 ?m.109, ∃ b ∈ 𝓟 ((fun t ↦ x + t • v) ⁻¹' ?m.111), s = a ∩ b} ((fun t ↦ x + t • v) ⁻¹' ?m.112) [Meta.isDefEq] [0.018272] ❌️ (fun s_1 ↦ ∃ a ∈ 𝓝 0, ∃ b ∈ 𝓟 ((fun t ↦ x + t • v) ⁻¹' s), s_1 = a ∩ b) {x_1 | (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1} =?= (fun s ↦ ∃ a ∈ 𝓝 ?m.109, ∃ b ∈ 𝓟 ((fun t ↦ x + t • v) ⁻¹' ?m.111), s = a ∩ b) ((fun t ↦ x + t • v) ⁻¹' ?m.112) [Meta.isDefEq] [0.018265] ❌️ ∃ a ∈ 𝓝 0, ∃ b ∈ 𝓟 ((fun t ↦ x + t • v) ⁻¹' s), {x_1 | (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1} = a ∩ b =?= ∃ a ∈ 𝓝 ?m.109, ∃ b ∈ 𝓟 ((fun t ↦ x + t • v) ⁻¹' ?m.111), (fun t ↦ x + t • v) ⁻¹' ?m.112 = a ∩ b [Meta.isDefEq] [0.018233] ❌️ fun a ↦ a ∈ 𝓝 0 ∧ ∃ b ∈ 𝓟 ((fun t ↦ x + t • v) ⁻¹' s), {x_1 | (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1} = a ∩ b =?= fun a ↦ a ∈ 𝓝 ?m.109 ∧ ∃ b ∈ 𝓟 ((fun t ↦ x + t • v) ⁻¹' ?m.111), (fun t ↦ x + t • v) ⁻¹' ?m.112 = a ∩ b [Meta.isDefEq] [0.018220] ❌️ a ∈ 𝓝 0 ∧ ∃ b ∈ 𝓟 ((fun t ↦ x + t • v) ⁻¹' s), {x_1 | (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1} = a ∩ b =?= a ∈ 𝓝 ?m.109 ∧ ∃ b ∈ 𝓟 ((fun t ↦ x + t • v) ⁻¹' ?m.111), (fun t ↦ x + t • v) ⁻¹' ?m.112 = a ∩ b [Meta.isDefEq] [0.018135] ❌️ ∃ b ∈ 𝓟 ((fun t ↦ x + t • v) ⁻¹' s), {x_1 | (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1} = a ∩ b =?= ∃ b ∈ 𝓟 ((fun t ↦ x + t • v) ⁻¹' ?m.111), (fun t ↦ x + t • v) ⁻¹' ?m.112 = a ∩ b [Meta.isDefEq] [0.018113] ❌️ fun b ↦ b ∈ 𝓟 ((fun t ↦ x + t • v) ⁻¹' s) ∧ {x_1 | (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1} = a ∩ b =?= fun b ↦ b ∈ 𝓟 ((fun t ↦ x + t • v) ⁻¹' ?m.111) ∧ (fun t ↦ x + t • v) ⁻¹' ?m.112 = a ∩ b [Meta.isDefEq] [0.018103] ❌️ b ∈ 𝓟 ((fun t ↦ x + t • v) ⁻¹' s) ∧ {x_1 | (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1} = a ∩ b =?= b ∈ 𝓟 ((fun t ↦ x + t • v) ⁻¹' ?m.111) ∧ (fun t ↦ x + t • v) ⁻¹' ?m.112 = a ∩ b [Meta.isDefEq] [0.010937] ❌️ {x_1 | (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1} = a ∩ b =?= (fun t ↦ x + t • v) ⁻¹' ?m.112 = a ∩ b [Meta.isDefEq] [0.010782] ❌️ {x_1 | (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1} =?= (fun t ↦ x + t • v) ⁻¹' ?m.112 [Meta.isDefEq] [0.010758] ❌️ {x_1 | (fun x_2 ↦ (fun t ↦ f₁ (x + t • v)) x_2 = (fun t ↦ f (x + t • v)) x_2) x_1} =?= {x_1 | (fun t ↦ x + t • v) x_1 ∈ ?m.112} [Elab.step] [0.044069] simp [Elab.step] [0.044055] simp [Elab.step] [0.044043] simp [Meta.isDefEq] [0.036423] ✅️ 0 • ?m =?= 0 • v [Meta.isDefEq] [0.036268] ✅️ instHSMul =?= instHSMul [Meta.isDefEq.delta] [0.036247] ✅️ instHSMul =?= instHSMul [Meta.synthInstance] [0.035497] ✅️ SMulWithZero 𝕜 E [Meta.synthInstance] [0.020865] ✅️ apply MulActionWithZero.toSMulWithZero to SMulWithZero 𝕜 E [Meta.synthInstance.tryResolve] [0.020824] ✅️ SMulWithZero 𝕜 E ≟ SMulWithZero 𝕜 E [Meta.isDefEq] [0.017188] ✅️ ?m.120 =?= MulActionWithZero.toSMulWithZero 𝕜 E [Meta.isDefEq.assign] [0.017185] ✅️ ?m.120 := MulActionWithZero.toSMulWithZero 𝕜 E [Meta.isDefEq.assign.checkTypes] [0.017168] ✅️ (?m.120 : SMulWithZero 𝕜 E) := (MulActionWithZero.toSMulWithZero 𝕜 E : SMulWithZero 𝕜 E) [Meta.isDefEq] [0.017165] ✅️ SMulWithZero 𝕜 E =?= SMulWithZero 𝕜 E [Meta.synthInstance] [0.014114] ✅️ Zero E info: Mathlib/Analysis/Calculus/LineDeriv/Basic.lean:347:6: [Elab.async] [0.022735] Lean.addDecl [Kernel] [0.022289] ✅️ typechecking declarations [HasLineDerivWithinAt.congr_of_eventuallyEq] Build completed successfully (1850 jobs). ``` ### Trace profiling of `HasLineDerivWithinAt.congr_of_eventuallyEq` after PR 28205 ```diff diff --git a/Mathlib/Analysis/Calculus/LineDeriv/Basic.lean b/Mathlib/Analysis/Calculus/LineDeriv/Basic.lean index 97ba668da2..5ac4634382 100644 --- a/Mathlib/Analysis/Calculus/LineDeriv/Basic.lean +++ b/Mathlib/Analysis/Calculus/LineDeriv/Basic.lean @@ -343,11 +343,10 @@ theorem Filter.EventuallyEq.lineDifferentiableWithinAt_iff_of_mem LineDifferentiableWithinAt 𝕜 f₀ s x v ↔ LineDifferentiableWithinAt 𝕜 f₁ s x v := h.lineDifferentiableWithinAt_iff (h.eq_of_nhdsWithin hx) +set_option trace.profiler true in lemma HasLineDerivWithinAt.congr_of_eventuallyEq (hf : HasLineDerivWithinAt 𝕜 f f' s x v) - (h'f : f₁ =ᶠ[𝓝[s] x] f) (hx : f₁ x = f x) : HasLineDerivWithinAt 𝕜 f₁ f' s x v := by - apply HasDerivWithinAt.congr_of_eventuallyEq hf _ (by simp [hx]) - have A : Continuous (fun (t : 𝕜) ↦ x + t • v) := by fun_prop - exact A.continuousWithinAt.preimage_mem_nhdsWithin'' h'f (by simp) + (h'f : f₁ =ᶠ[𝓝[s] x] f) (hx : f₁ x = f x) : HasLineDerivWithinAt 𝕜 f₁ f' s x v := + (EventuallyEq.hasLineDerivWithinAt_iff (EventuallyEq.symm h'f.eventually) hx.symm).mp hf theorem HasLineDerivAt.congr_of_eventuallyEq (h : HasLineDerivAt 𝕜 f f' x v) (h₁ : f₁ =ᶠ[𝓝 x] f) : HasLineDerivAt 𝕜 f₁ f' x v := by ``` ``` ℹ [1850/1850] Built Mathlib.Analysis.Calculus.LineDeriv.Basic (6.8s) info: Mathlib/Analysis/Calculus/LineDeriv/Basic.lean:347:0: [Elab.command] [0.053877] theorem congr_of_eventuallyEq (hf : HasLineDerivWithinAt 𝕜 f f' s x v) (h'f : f₁ =ᶠ[𝓝[s] x] f) (hx : f₁ x = f x) : HasLineDerivWithinAt 𝕜 f₁ f' s x v := (EventuallyEq.hasLineDerivWithinAt_iff (EventuallyEq.symm h'f.eventually) hx.symm).mp hf [Elab.step] [0.038023] expected type: Type (max u_2 u_3), term E →L[𝕜] F [Elab.step] [0.037231] expected type: Type (max u_2 u_3), term ContinuousLinearMap✝ (RingHom.id✝ 𝕜) E F [Elab.definition.header] [0.010772] HasLineDerivWithinAt.congr_of_eventuallyEq info: Mathlib/Analysis/Calculus/LineDeriv/Basic.lean:347:0: [Elab.command] [0.054140] theorem HasLineDerivWithinAt.congr_of_eventuallyEq (hf : HasLineDerivWithinAt 𝕜 f f' s x v) (h'f : f₁ =ᶠ[𝓝[s] x] f) (hx : f₁ x = f x) : HasLineDerivWithinAt 𝕜 f₁ f' s x v := (EventuallyEq.hasLineDerivWithinAt_iff (EventuallyEq.symm h'f.eventually) hx.symm).mp hf info: Mathlib/Analysis/Calculus/LineDeriv/Basic.lean:347:0: [Elab.command] [0.054209] lemma HasLineDerivWithinAt.congr_of_eventuallyEq (hf : HasLineDerivWithinAt 𝕜 f f' s x v) (h'f : f₁ =ᶠ[𝓝[s] x] f) (hx : f₁ x = f x) : HasLineDerivWithinAt 𝕜 f₁ f' s x v := (EventuallyEq.hasLineDerivWithinAt_iff (EventuallyEq.symm h'f.eventually) hx.symm).mp hf Build completed successfully (1850 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-analysis 2/4 Mathlib/Analysis/Calculus/LineDeriv/Basic.lean 1 6 ['euprunin', 'github-actions', 'grunweg', 'kim-em'] nobody
2-72420
2 days ago
4-15470
4 days ago
5-33815
5 days
28506 kim-em
author:kim-em
chore: clarify internal heartbeat conversion The previous comment was misleading. ----- Just playing around with codex; it found this by itself, although suggested the wrong fix. https://chatgpt.com/codex/tasks/task_e_68a003a948f483219633825547b190e0 t-meta 4/2 Mathlib/Util/SleepHeartbeats.lean 1 1 ['github-actions'] nobody
2-71973
2 days ago
4-74098
4 days ago
4-74144
4 days
28204 euprunin
author:euprunin
chore(Analysis/Calculus): golf entire `HasLineDerivAt.congr_of_eventuallyEq` Motivation: Avoid (partial) proof duplication. ---
Show trace profiling of HasLineDerivAt.congr_of_eventuallyEq: 170 ms before, 17 ms after 🎉 ### Trace profiling of `HasLineDerivAt.congr_of_eventuallyEq` before PR 28204 ```diff diff --git a/Mathlib/Analysis/Calculus/LineDeriv/Basic.lean b/Mathlib/Analysis/Calculus/LineDeriv/Basic.lean index 97ba668da2..493092d45c 100644 --- a/Mathlib/Analysis/Calculus/LineDeriv/Basic.lean +++ b/Mathlib/Analysis/Calculus/LineDeriv/Basic.lean @@ -349,6 +349,7 @@ lemma HasLineDerivWithinAt.congr_of_eventuallyEq (hf : HasLineDerivWithinAt 𝕜 have A : Continuous (fun (t : 𝕜) ↦ x + t • v) := by fun_prop exact A.continuousWithinAt.preimage_mem_nhdsWithin'' h'f (by simp) +set_option trace.profiler true in theorem HasLineDerivAt.congr_of_eventuallyEq (h : HasLineDerivAt 𝕜 f f' x v) (h₁ : f₁ =ᶠ[𝓝 x] f) : HasLineDerivAt 𝕜 f₁ f' x v := by apply HasDerivAt.congr_of_eventuallyEq h ``` ``` ℹ [1850/1850] Built Mathlib.Analysis.Calculus.LineDeriv.Basic (7.1s) info: Mathlib/Analysis/Calculus/LineDeriv/Basic.lean:353:0: [Elab.command] [0.069880] theorem congr_of_eventuallyEq (h : HasLineDerivAt 𝕜 f f' x v) (h₁ : f₁ =ᶠ[𝓝 x] f) : HasLineDerivAt 𝕜 f₁ f' x v := by apply HasDerivAt.congr_of_eventuallyEq h let F := fun (t : 𝕜) ↦ x + t • v rw [show x = F 0 by simp [F]] at h₁ exact (Continuous.continuousAt (by fun_prop)).preimage_mem_nhds h₁ [Elab.step] [0.059065] expected type: Type (max u_2 u_3), term E →L[𝕜] F [Elab.step] [0.058901] expected type: Type (max u_2 u_3), term ContinuousLinearMap✝ (RingHom.id✝ 𝕜) E F [Meta.synthInstance] [0.032476] ✅️ TopologicalSpace E [Meta.synthInstance] [0.027567] ❌️ apply inst✝⁴ to NontriviallyNormedField E [Meta.synthInstance.tryResolve] [0.027549] ❌️ NontriviallyNormedField E ≟ NontriviallyNormedField 𝕜 [Meta.isDefEq] [0.027543] ❌️ NontriviallyNormedField E =?= NontriviallyNormedField 𝕜 [Meta.isDefEq.onFailure] [0.027490] ❌️ NontriviallyNormedField E =?= NontriviallyNormedField 𝕜 info: Mathlib/Analysis/Calculus/LineDeriv/Basic.lean:353:0: [Elab.command] [0.070174] theorem HasLineDerivAt.congr_of_eventuallyEq (h : HasLineDerivAt 𝕜 f f' x v) (h₁ : f₁ =ᶠ[𝓝 x] f) : HasLineDerivAt 𝕜 f₁ f' x v := by apply HasDerivAt.congr_of_eventuallyEq h let F := fun (t : 𝕜) ↦ x + t • v rw [show x = F 0 by simp [F]] at h₁ exact (Continuous.continuousAt (by fun_prop)).preimage_mem_nhds h₁ info: Mathlib/Analysis/Calculus/LineDeriv/Basic.lean:353:0: [Elab.async] [0.179800] elaborating proof of HasLineDerivAt.congr_of_eventuallyEq [Elab.definition.value] [0.169873] HasLineDerivAt.congr_of_eventuallyEq [Elab.step] [0.169248] apply HasDerivAt.congr_of_eventuallyEq h let F := fun (t : 𝕜) ↦ x + t • v rw [show x = F 0 by simp [F]] at h₁ exact (Continuous.continuousAt (by fun_prop)).preimage_mem_nhds h₁ [Elab.step] [0.169234] apply HasDerivAt.congr_of_eventuallyEq h let F := fun (t : 𝕜) ↦ x + t • v rw [show x = F 0 by simp [F]] at h₁ exact (Continuous.continuousAt (by fun_prop)).preimage_mem_nhds h₁ [Elab.step] [0.033338] let F := fun (t : 𝕜) ↦ x + t • v [Elab.step] [0.033315] refine_lift let F := fun (t : 𝕜) ↦ x + t • v; ?_ [Elab.step] [0.033310] focus (refine no_implicit_lambda% (let F := fun (t : 𝕜) ↦ x + t • v; ?_); rotate_right) [Elab.step] [0.033302] (refine no_implicit_lambda% (let F := fun (t : 𝕜) ↦ x + t • v; ?_); rotate_right) [Elab.step] [0.033296] (refine no_implicit_lambda% (let F := fun (t : 𝕜) ↦ x + t • v; ?_); rotate_right) [Elab.step] [0.033291] (refine no_implicit_lambda% (let F := fun (t : 𝕜) ↦ x + t • v; ?_); rotate_right) [Elab.step] [0.033287] refine no_implicit_lambda% (let F := fun (t : 𝕜) ↦ x + t • v; ?_); rotate_right [Elab.step] [0.033283] refine no_implicit_lambda% (let F := fun (t : 𝕜) ↦ x + t • v; ?_); rotate_right [Elab.step] [0.033261] refine no_implicit_lambda% (let F := fun (t : 𝕜) ↦ x + t • v; ?_) [Elab.step] [0.033208] expected type: (fun t ↦ f₁ (x + t • v)) =ᶠ[𝓝 0] fun t ↦ f (x + t • v), term no_implicit_lambda% (let F := fun (t : 𝕜) ↦ x + t • v; ?_) [Elab.step] [0.033202] expected type: (fun t ↦ f₁ (x + t • v)) =ᶠ[𝓝 0] fun t ↦ f (x + t • v), term let F := fun (t : 𝕜) ↦ x + t • v; ?_ [Elab.step] [0.033106] expected type: ?m.45, term fun (t : 𝕜) ↦ x + t • v [Elab.step] [0.033053] expected type: , term x + t • v [Elab.step] [0.033043] expected type: , term binop% HAdd.hAdd✝ x (t • v) [Meta.synthInstance] [0.011402] ✅️ HAdd E E E [Meta.synthInstance] [0.016023] ✅️ HSMul 𝕜 E E [Elab.step] [0.056466] rw [show x = F 0 by simp [F]] at h₁ [Elab.step] [0.056264] (rewrite [show x = F 0 by simp [F]] at h₁; with_annotate_state"]" (try (with_reducible rfl))) [Elab.step] [0.056258] rewrite [show x = F 0 by simp [F]] at h₁; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.056253] rewrite [show x = F 0 by simp [F]] at h₁; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.055767] rewrite [show x = F 0 by simp [F]] at h₁ [Elab.step] [0.052705] simp [F] [Elab.step] [0.052692] simp [F] [Elab.step] [0.052678] simp [F] [Meta.isDefEq] [0.044696] ✅️ 0 • ?m =?= 0 • v [Meta.isDefEq] [0.044437] ✅️ instHSMul =?= instHSMul [Meta.isDefEq.delta] [0.044411] ✅️ instHSMul =?= instHSMul [Meta.synthInstance] [0.044136] ✅️ SMulWithZero 𝕜 E [Meta.synthInstance] [0.026790] ✅️ apply MulActionWithZero.toSMulWithZero to SMulWithZero 𝕜 E [Meta.synthInstance.tryResolve] [0.026707] ✅️ SMulWithZero 𝕜 E ≟ SMulWithZero 𝕜 E [Meta.isDefEq] [0.019032] ✅️ ?m.67 =?= MulActionWithZero.toSMulWithZero 𝕜 E [Meta.isDefEq.assign] [0.019025] ✅️ ?m.67 := MulActionWithZero.toSMulWithZero 𝕜 E [Meta.isDefEq.assign.checkTypes] [0.018987] ✅️ (?m.67 : SMulWithZero 𝕜 E) := (MulActionWithZero.toSMulWithZero 𝕜 E : SMulWithZero 𝕜 E) [Meta.isDefEq] [0.018979] ✅️ SMulWithZero 𝕜 E =?= SMulWithZero 𝕜 E [Meta.synthInstance] [0.015901] ✅️ Zero E [Elab.step] [0.077800] exact (Continuous.continuousAt (by fun_prop)).preimage_mem_nhds h₁ [Elab.step] [0.062362] fun_prop [Elab.step] [0.062350] fun_prop [Elab.step] [0.062334] fun_prop [Meta.Tactic.fun_prop] [0.061226] [✅️] Continuous F [Meta.Tactic.fun_prop] [0.059665] [✅️] Continuous fun t ↦ x + t • v [Meta.Tactic.fun_prop] [0.059384] [✅️] applying: Continuous.add [Meta.synthInstance] [0.016038] ✅️ ContinuousAdd E [Meta.synthInstance] [0.011655] ❌️ apply @IsTopologicalSemiring.toContinuousAdd to ContinuousAdd E [Meta.synthInstance.tryResolve] [0.011634] ❌️ ContinuousAdd E ≟ ContinuousAdd ?m.90 [Meta.isDefEq] [0.011628] ❌️ ContinuousAdd E =?= ContinuousAdd ?m.90 [Meta.isDefEq] [0.011532] ❌️ NormedAddCommGroup.toENormedAddCommMonoid.toAddCommMonoid.toAddCommSemigroup.toAddCommMagma.toAdd =?= NonUnitalNonAssocSemiring.toDistrib.toAdd [Meta.isDefEq] [0.011344] ❌️ NormedAddCommGroup.toENormedAddCommMonoid.toAddCommMonoid.toAddCommSemigroup.toAddCommMagma.1 =?= NonUnitalNonAssocSemiring.toDistrib.2 [Meta.isDefEq] [0.011305] ❌️ NormedAddCommGroup.toENormedAddCommMonoid.toAddCommMonoid.toAddCommSemigroup.toAdd =?= NonUnitalNonAssocSemiring.toAddCommMonoid.toAdd [Meta.isDefEq.delta] [0.010875] ❌️ NormedAddCommGroup.toENormedAddCommMonoid.toAddCommMonoid.toAddCommSemigroup.toAdd =?= NonUnitalNonAssocSemiring.toAddCommMonoid.toAdd [Meta.Tactic.fun_prop] [0.040150] [✅️] Continuous fun x ↦ x • v [Meta.Tactic.fun_prop] [0.038993] [✅️] applying: Continuous.smul [Meta.synthInstance] [0.037041] ✅️ ContinuousSMul 𝕜 E Build completed successfully (1850 jobs). ``` ### Trace profiling of `HasLineDerivAt.congr_of_eventuallyEq` after PR 28204 ```diff diff --git a/Mathlib/Analysis/Calculus/LineDeriv/Basic.lean b/Mathlib/Analysis/Calculus/LineDeriv/Basic.lean index 97ba668da2..b5600c87d2 100644 --- a/Mathlib/Analysis/Calculus/LineDeriv/Basic.lean +++ b/Mathlib/Analysis/Calculus/LineDeriv/Basic.lean @@ -349,12 +349,10 @@ lemma HasLineDerivWithinAt.congr_of_eventuallyEq (hf : HasLineDerivWithinAt 𝕜 have A : Continuous (fun (t : 𝕜) ↦ x + t • v) := by fun_prop exact A.continuousWithinAt.preimage_mem_nhdsWithin'' h'f (by simp) +set_option trace.profiler true in theorem HasLineDerivAt.congr_of_eventuallyEq (h : HasLineDerivAt 𝕜 f f' x v) (h₁ : f₁ =ᶠ[𝓝 x] f) : - HasLineDerivAt 𝕜 f₁ f' x v := by - apply HasDerivAt.congr_of_eventuallyEq h - let F := fun (t : 𝕜) ↦ x + t • v - rw [show x = F 0 by simp [F]] at h₁ - exact (Continuous.continuousAt (by fun_prop)).preimage_mem_nhds h₁ + HasLineDerivAt 𝕜 f₁ f' x v := + (EventuallyEq.hasLineDerivAt_iff (EventuallyEq.symm h₁)).mp h theorem LineDifferentiableWithinAt.congr_of_eventuallyEq (h : LineDifferentiableWithinAt 𝕜 f s x v) (h₁ : f₁ =ᶠ[𝓝[s] x] f) (hx : f₁ x = f x) : LineDifferentiableWithinAt 𝕜 f₁ s x v := ``` ``` ℹ [1850/1850] Built Mathlib.Analysis.Calculus.LineDeriv.Basic (6.7s) info: Mathlib/Analysis/Calculus/LineDeriv/Basic.lean:353:0: [Elab.command] [0.030358] theorem congr_of_eventuallyEq (h : HasLineDerivAt 𝕜 f f' x v) (h₁ : f₁ =ᶠ[𝓝 x] f) : HasLineDerivAt 𝕜 f₁ f' x v := (EventuallyEq.hasLineDerivAt_iff (EventuallyEq.symm h₁)).mp h [Elab.step] [0.014668] expected type: Type (max u_2 u_3), term E →L[𝕜] F [Elab.step] [0.014538] expected type: Type (max u_2 u_3), term ContinuousLinearMap✝ (RingHom.id✝ 𝕜) E F info: Mathlib/Analysis/Calculus/LineDeriv/Basic.lean:353:0: [Elab.command] [0.030661] theorem HasLineDerivAt.congr_of_eventuallyEq (h : HasLineDerivAt 𝕜 f f' x v) (h₁ : f₁ =ᶠ[𝓝 x] f) : HasLineDerivAt 𝕜 f₁ f' x v := (EventuallyEq.hasLineDerivAt_iff (EventuallyEq.symm h₁)).mp h info: Mathlib/Analysis/Calculus/LineDeriv/Basic.lean:353:0: [Elab.async] [0.018140] elaborating proof of HasLineDerivAt.congr_of_eventuallyEq [Elab.definition.value] [0.017158] HasLineDerivAt.congr_of_eventuallyEq Build completed successfully (1850 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-analysis awaiting-author 2/5 Mathlib/Analysis/Calculus/LineDeriv/Basic.lean 1 8 ['eric-wieser', 'euprunin', 'github-actions', 'grunweg', 'kim-em'] nobody
2-71532
2 days ago
2-71532
2 days ago
2-48598
2 days
28588 vihdzp
author:vihdzp
feat: supremum of principal ordinals is principal Used in the [`combinatorial-games`](https://github.com/vihdzp/combinatorial-games) repository. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 21/0 Mathlib/SetTheory/Ordinal/Principal.lean 1 1 ['github-actions'] nobody
2-64496
2 days ago
2-65271
2 days ago
2-65316
2 days
28589 vihdzp
author:vihdzp
feat: more lemmas on characteristic 2 rings --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra easy
label:t-algebra$
11/0 Mathlib/Algebra/CharP/Two.lean 1 1 ['github-actions'] nobody
2-64449
2 days ago
2-64648
2 days ago
2-64642
2 days
28590 euprunin
author:euprunin
chore(Data/List): golf entire `idxOf_eq_length_iff` using `grind` ---
Show trace profiling of idxOf_eq_length_iff: 104 ms before, 24 ms after 🎉 ### Trace profiling of `idxOf_eq_length_iff` before PR 28590 ```diff diff --git a/Mathlib/Data/List/Basic.lean b/Mathlib/Data/List/Basic.lean index 9120dea54a..2b2dd2b76a 100644 --- a/Mathlib/Data/List/Basic.lean +++ b/Mathlib/Data/List/Basic.lean @@ -527,6 +527,7 @@ theorem idxOf_cons_eq {a b : α} (l : List α) : b = a → idxOf a (b :: l) = 0 theorem idxOf_cons_ne {a b : α} (l : List α) : b ≠ a → idxOf a (b :: l) = succ (idxOf a l) | h => by simp only [idxOf_cons, Bool.cond_eq_ite, beq_iff_eq, if_neg h] +set_option trace.profiler true in theorem idxOf_eq_length_iff {a : α} {l : List α} : idxOf a l = length l ↔ a ∉ l := by induction l with | nil => exact iff_of_true rfl not_mem_nil ``` ``` ℹ [431/431] Built Mathlib.Data.List.Basic (2.0s) info: Mathlib/Data/List/Basic.lean:531:0: [Elab.async] [0.104377] elaborating proof of List.idxOf_eq_length_iff [Elab.definition.value] [0.103682] List.idxOf_eq_length_iff [Elab.step] [0.103281] induction l with | nil => exact iff_of_true rfl not_mem_nil | cons b l ih => simp only [length, mem_cons, idxOf_cons] rw [cond_eq_if] split_ifs with h <;> simp at h · exact iff_of_false (by rintro ⟨⟩) fun H => H <| Or.inl h.symm · simp only [Ne.symm h, false_or] rw [← ih] exact succ_inj [Elab.step] [0.103268] induction l with | nil => exact iff_of_true rfl not_mem_nil | cons b l ih => simp only [length, mem_cons, idxOf_cons] rw [cond_eq_if] split_ifs with h <;> simp at h · exact iff_of_false (by rintro ⟨⟩) fun H => H <| Or.inl h.symm · simp only [Ne.symm h, false_or] rw [← ih] exact succ_inj [Elab.step] [0.103257] induction l with | nil => exact iff_of_true rfl not_mem_nil | cons b l ih => simp only [length, mem_cons, idxOf_cons] rw [cond_eq_if] split_ifs with h <;> simp at h · exact iff_of_false (by rintro ⟨⟩) fun H => H <| Or.inl h.symm · simp only [Ne.symm h, false_or] rw [← ih] exact succ_inj [Elab.step] [0.101212] simp only [length, mem_cons, idxOf_cons] rw [cond_eq_if] split_ifs with h <;> simp at h · exact iff_of_false (by rintro ⟨⟩) fun H => H <| Or.inl h.symm · simp only [Ne.symm h, false_or] rw [← ih] exact succ_inj [Elab.step] [0.101182] simp only [length, mem_cons, idxOf_cons] rw [cond_eq_if] split_ifs with h <;> simp at h · exact iff_of_false (by rintro ⟨⟩) fun H => H <| Or.inl h.symm · simp only [Ne.symm h, false_or] rw [← ih] exact succ_inj [Elab.step] [0.085979] split_ifs with h <;> simp at h [Elab.step] [0.085910] focus split_ifs with h with_annotate_state"<;>" skip all_goals simp at h [Elab.step] [0.085900] split_ifs with h with_annotate_state"<;>" skip all_goals simp at h [Elab.step] [0.085892] split_ifs with h with_annotate_state"<;>" skip all_goals simp at h [Elab.step] [0.081108] split_ifs with h Build completed successfully (431 jobs). ``` ### Trace profiling of `idxOf_eq_length_iff` after PR 28590 ```diff diff --git a/Mathlib/Data/List/Basic.lean b/Mathlib/Data/List/Basic.lean index 9120dea54a..b32134ed29 100644 --- a/Mathlib/Data/List/Basic.lean +++ b/Mathlib/Data/List/Basic.lean @@ -527,17 +527,9 @@ theorem idxOf_cons_eq {a b : α} (l : List α) : b = a → idxOf a (b :: l) = 0 theorem idxOf_cons_ne {a b : α} (l : List α) : b ≠ a → idxOf a (b :: l) = succ (idxOf a l) | h => by simp only [idxOf_cons, Bool.cond_eq_ite, beq_iff_eq, if_neg h] +set_option trace.profiler true in theorem idxOf_eq_length_iff {a : α} {l : List α} : idxOf a l = length l ↔ a ∉ l := by - induction l with - | nil => exact iff_of_true rfl not_mem_nil - | cons b l ih => - simp only [length, mem_cons, idxOf_cons] - rw [cond_eq_if] - split_ifs with h <;> simp at h - · exact iff_of_false (by rintro ⟨⟩) fun H => H <| Or.inl h.symm - · simp only [Ne.symm h, false_or] - rw [← ih] - exact succ_inj + grind ``` ``` ℹ [431/431] Built Mathlib.Data.List.Basic (2.5s) info: Mathlib/Data/List/Basic.lean:531:0: [Elab.async] [0.024881] elaborating proof of List.idxOf_eq_length_iff [Elab.definition.value] [0.024415] List.idxOf_eq_length_iff [Elab.step] [0.024206] grind [Elab.step] [0.024193] grind [Elab.step] [0.024177] grind Build completed successfully (431 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-data 1/10 Mathlib/Data/List/Basic.lean 1 1 ['github-actions'] nobody
2-63558
2 days ago
2-63602
2 days ago
2-63643
2 days
28519 euprunin
author:euprunin
chore(LinearAlgebra/AffineSpace/AffineSubspace): deprecate `mem_mk'_iff_vsub_mem` (duplicate) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
8/14 Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Geometry/Euclidean/Sphere/SecondInter.lean,Mathlib/Geometry/Euclidean/Sphere/Tangent.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean 4 3 ['Ruben-VandeVelde', 'euprunin', 'github-actions'] nobody
2-63215
2 days ago
2-63215
2 days ago
4-726
4 days
27109 pechersky
author:pechersky
feat(RingTheory/AdicValuation): valuation_surjective for both the base valuation and the one on the extension --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-analysis t-number-theory delegated 31/0 Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/Topology/Algebra/Valued/ValuedField.lean 2 4 ['github-actions', 'mathlib-bors', 'mathlib4-merge-conflict-bot', 'riccardobrasca'] riccardobrasca
assignee:riccardobrasca
2-61049
2 days ago
2-61049
2 days ago
34-19371
34 days
28412 CBirkbeck
author:CBirkbeck
Log deriv lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import 98/1 Mathlib.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/LogDeriv.lean,Mathlib/Analysis/Calculus/LogDerivUniformlyOn.lean 4 1 ['github-actions'] nobody
2-59178
2 days ago
6-32777
6 days ago
0-0
0 seconds
28544 themathqueen
author:themathqueen
feat(Algebra/Star/Unitary): `unitary * a * star unitary` is self-adjoint iff `a` is --- - [x] depends on: #28476 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra easy
label:t-algebra$
8/0 Mathlib/Algebra/Star/Unitary.lean 1 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
2-58792
2 days ago
2-60516
2 days ago
2-60540
2 days
28366 BoltonBailey
author:BoltonBailey
chore(downstream_dashboard.py): Allow empty workflow list This PR allows the workflows list to be empty. When I try to run it on my repository with listing any workflows, I currently get the following error: ``` File "/Users/boltonbailey/Desktop/mathlibcontribution/mathlib4/scripts/downstream_dashboard.py", line 189, in check_workflow_uses_action workflow_filename = repo['workflows'][workflow_name] KeyError: 'workflows' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/boltonbailey/Desktop/mathlibcontribution/mathlib4/scripts/downstream_dashboard.py", line 321, in main() File "/Users/boltonbailey/Desktop/mathlibcontribution/mathlib4/scripts/downstream_dashboard.py", line 260, in main success = check_workflow_uses_action(repo, 'build', 'leanprover/lean-action') and success File "/Users/boltonbailey/Desktop/mathlibcontribution/mathlib4/scripts/downstream_dashboard.py", line 193, in check_workflow_uses_action example_entry = {**repo, 'workflows': {**repo['workflows'], workflow_name: f'{workflow_name}.yml'}} KeyError: 'workflows' ``` It would be nice if I could run the script without specifying the workflows I already have in the `downstream_repos.yml` file. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI delegated 5/2 scripts/downstream_dashboard.py 1 3 ['Vierkantor', 'github-actions', 'mathlib-bors'] nobody
2-57442
2 days ago
2-57442
2 days ago
4-33511
4 days
27840 CBirkbeck
author:CBirkbeck
feat(NumberTheory/ModularForms/EisensteinSeries): define gammaSetN We define gammaSetWithGcd, which is the set of integer vectors with gcd equal to some natural number N. This is useful for giving the q-expansions of Eisenstein series at level one. Which can be seen here #27606 (these equivalences are used in `tsum_prod_eisSummand_eq_riemannZeta_eisensteinSeries` in the QExpansions file). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 75/2 Mathlib/NumberTheory/ModularForms/EisensteinSeries/Defs.lean,Mathlib/RingTheory/EuclideanDomain.lean 2 7 ['CBirkbeck', 'MichaelStollBayreuth', 'github-actions'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
2-54871
2 days ago
8-48627
8 days ago
17-41103
17 days
27254 yuanyi-350
author:yuanyi-350
2025 imo problem3 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) IMO 918/0 Archive.lean,Archive/Imo/Imo2025Q3.lean,Mathlib/Algebra/GeomSum.lean,Mathlib/Algebra/Ring/Int/Parity.lean,Mathlib/Algebra/Ring/Parity.lean,Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/NumberTheory/Multiplicity.lean,Mathlib/NumberTheory/Padics/PadicVal/Basic.lean 8 19 ['github-actions', 'leanprover-community-bot-assistant', 'madvorak', 'mathlib4-merge-conflict-bot', 'themathqueen', 'wwylele', 'yuanyi-350'] nobody
2-52536
2 days ago
5-38270
5 days ago
21-60018
21 days
5897 eric-wieser
author:eric-wieser
feat: add a `MonadError` instance for `ContT` We already have a `MonadExcept` instance; this promotes it to `MonadError`. Note the issue with the existing `MonadExcept` instance still applies. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta awaiting-author 16/0 Mathlib/Control/Monad/Cont.lean 1 25 ['Vierkantor', 'YaelDillies', 'eric-wieser', 'github-actions', 'kmill'] nobody
2-50538
2 days ago
398-71252
1 year ago
339-53816
339 days
28276 eric-wieser
author:eric-wieser
refactor: tidy `lift_unique` lemmas --- - [ ] depends on: #28275 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
37/20 Mathlib/Algebra/FreeAlgebra.lean,Mathlib/Algebra/Lie/UniversalEnveloping.lean,Mathlib/LinearAlgebra/DFinsupp.lean,Mathlib/LinearAlgebra/ExteriorAlgebra/Basic.lean 4 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
2-49809
2 days ago
2-49828
2 days ago
0-0
0 seconds
28496 ntapiam
author:ntapiam
feat(Algebra/LieAdmissible/Defs): define Lie-admissible rings/algebras define lie-admissible rings/algebras and prove they can be upgraded to lie-rings/algebras also show that pre-lie rings are lie-admissible --- - [ ] depends on #28495 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
153/12 Mathlib.lean,Mathlib/Algebra/LieAdmissible/Defs.lean,docs/references.bib 3 1 ['github-actions'] ocfnash
assignee:ocfnash
2-49479
2 days ago
5-14604
5 days ago
5-14646
5 days
27977 smmercuri
author:smmercuri
feat: predicates for extensions of complex embeddings This PR continues the work from #24877. Original PR: https://github.com/leanprover-community/mathlib4/pull/24877 t-number-theory WIP 91/0 Mathlib/NumberTheory/NumberField/InfinitePlace/Embeddings.lean 1 2 ['github-actions', 'smmercuri'] riccardobrasca
assignee:riccardobrasca
2-46504
2 days ago
15-52187
15 days ago
0-30
30 seconds
25780 emilyriehl
author:emilyriehl
the homotopy category functor preserves products This proves that the homotopy category construction defines a lax monoidal functor from simplicial sets to categories. In particular, simplicially enriched categories have quotient categorically enriched categories, which might be thought of as "homotopy bicategories." Co-authored-by: Dominic Verity , Bhavik Mehta , Thomas Murrills , and Andrew Yang . --- - [x] depends on: #27576 *This PR continues the work from #25010.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/25010* t-algebraic-topology infinity-cosmos large-import t-category-theory 251/11 Mathlib/AlgebraicTopology/SimplexCategory/Defs.lean,Mathlib/AlgebraicTopology/SimplicialSet/Nerve.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveAdjunction.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/CategoryTheory/Category/ULift.lean,Mathlib/CategoryTheory/ComposableArrows.lean,Mathlib/CategoryTheory/Limits/Preserves/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean,Mathlib/Order/Hom/Basic.lean 10 6 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
2-41791
2 days ago
2-41809
2 days ago
2-42857
2 days
28598 lauramonk
author:lauramonk
feat(Combinatorics/Graph) add definitions of incidenceSet and loopSet Add the definition for `incidenceSet` and `loopSet` of a vertex in a graph, and a proof that the `loopSet` is included in the `incidenceSet`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics easy 22/0 Mathlib/Combinatorics/Graph/Basic.lean 1 2 ['github-actions', 'lauramonk'] nobody
2-40553
2 days ago
2-40561
2 days ago
2-40603
2 days
28582 Thmoas-Guan
author:Thmoas-Guan
feat(Data): some lemmas about withBot ENat Add some lemma about withBot ENat discovered when dealing with `ringKrullDim` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 18/0 Mathlib/Data/ENat/Basic.lean 1 1 ['github-actions'] nobody
2-40193
2 days ago
2-78312
2 days ago
2-78357
2 days
27958 pechersky
author:pechersky
feat(NumberTheory/Padics): norm of Int lt one iff p divides On the way to p-1 roots of unity With helper lemmas for natCast and simplification of norms of Int.natAbs Move some lemmas out of `padicNormE` namespace into `Padic` namespace which is similar to already existing lemmas in `PadicInt` namespace --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-analysis t-number-theory delegated
label:t-algebra$
92/38 Mathlib/Analysis/Normed/Ring/Basic.lean,Mathlib/NumberTheory/Harmonic/Int.lean,Mathlib/NumberTheory/Padics/Complex.lean,Mathlib/NumberTheory/Padics/Hensel.lean,Mathlib/NumberTheory/Padics/PadicIntegers.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/Padics/RingHoms.lean 7 29 ['YaelDillies', 'github-actions', 'kckennylau', 'mathlib-bors', 'pechersky', 'riccardobrasca'] YaelDillies
assignee:YaelDillies
2-40176
2 days ago
2-45796
2 days ago
13-35113
13 days
28338 themathqueen
author:themathqueen
feat(Analysis/InnerProductSpace/IsPositive): `(adjoint S ∘ S).IsPositive` and `(S ∘ adjoint S).IsPositive` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis easy 16/0 Mathlib/Analysis/InnerProductSpace/Positive.lean 1 1 ['github-actions'] nobody
2-40145
2 days ago
7-52687
7 days ago
7-52691
7 days
28587 vihdzp
author:vihdzp
feat: irreducible polynomial has positive degree --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra easy
label:t-algebra$
12/2 Mathlib/Algebra/Polynomial/FieldDivision.lean 1 1 ['github-actions', 'lauramonk'] nobody
2-39914
2 days ago
2-65999
2 days ago
2-65992
2 days
23835 chrisflav
author:chrisflav
feat(Topology): cardinality of connected components is bounded by cardinality of fiber We show that if `f : X → Y` is an open and closed map to `Y` and `Y` is connected, the number of connected components of `X` is bounded by the cardinality of the fiber of any point. In particular, if `Y` has finitely many connected components and `f` finite fibers, also `X` as finitely many connected components. From Pi1. --- - [x] depends on: #23849 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 242/1 Mathlib.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/SetTheory/Cardinal/Finite.lean,Mathlib/Topology/Clopen.lean,Mathlib/Topology/Connected/CardComponents.lean,Mathlib/Topology/Connected/Clopen.lean 6 5 ['chrisflav', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
2-39887
2 days ago
2-44997
2 days ago
4-39031
4 days
23881 YaelDillies
author:YaelDillies
feat: `ℝ≥0`-valued Lᵖ norm This is useful when inputting the Lp norm in places that expect a real number, like an exponent. From LeanAPAP --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability awaiting-author 218/6 Mathlib.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Defs.lean,Mathlib/MeasureTheory/Function/LpSeminorm/NNLpNorm.lean,Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean 4 20 ['YaelDillies', 'b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot', 'sgouezel'] nobody
2-39737
2 days ago
2-39756
2 days ago
13-15316
13 days
26211 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra): vanishing of induced hom between ext In this PR we proved that the induced map `Ext(N,M)` -> `Ext(N,M)` from the left scalar multiple on `M` with `x` when `x` in `ann(N)` is zero. Co-authored-by: Wang Jingting Co-authored-by: Hu Yongle --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra
label:t-algebra$
88/3 Mathlib/RingTheory/Ideal/AssociatedPrime/Localization.lean,Mathlib/RingTheory/Regular/Category.lean,Mathlib/RingTheory/Regular/Depth.lean 3 n/a ['Thmoas-Guan', 'github-actions'] nobody
2-38714
2 days ago
unknown
unknown
26210 Thmoas-Guan
author:Thmoas-Guan
feat(RingTheory): associated primes of localized module We prove that `Ass(S^{-1}M)` is equal to the preimage of `Ass(M)` under `Ideal.comap` if the base ring is Noetherian. From this we conclude that every minimal prime over `Module.annihilator R M` is in `Ass(M)` when `M` is finitely generated. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import awaiting-author 85/22 Mathlib/RingTheory/Ideal/AssociatedPrime/Localization.lean,Mathlib/RingTheory/Regular/Depth.lean 2 29 ['Thmoas-Guan', 'chrisflav', 'github-actions', 'mathlib4-merge-conflict-bot', 'mbkybky'] chrisflav
assignee:chrisflav
2-38389
2 days ago
4-42304
4 days ago
36-71207
36 days
24528 chrisflav
author:chrisflav
feat(AlgebraicGeometry): directed covers Directed covers are covers, where every intersection can be covered by a component of the cover. For open covers this is equivalent to the images forming a basis of the topology. If a cover is directed, the compatibility conditions for gluing become easier, because only compatibility with the transition maps needs to be checked. In particular, the covered scheme naturally is the colimit of the components of the cover. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 291/0 Mathlib.lean,Mathlib/AlgebraicGeometry/Cover/Directed.lean 2 9 ['chrisflav', 'erdOne', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mattrobball'] mattrobball
assignee:mattrobball
2-38344
2 days ago
2-38344
2 days ago
103-22017
103 days
28531 Ruben-VandeVelde
author:Ruben-VandeVelde
chore: remove Cardinal imports from Topology.Algebra.InfiniteSum.Group --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 51/15 Mathlib.lean,Mathlib/Analysis/BoxIntegral/UnitPartition.lean,Mathlib/Analysis/Normed/Group/Pointwise.lean,Mathlib/Analysis/Normed/Module/Convex.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/Topology/Algebra/InfiniteSum/Const.lean,Mathlib/Topology/Algebra/InfiniteSum/Group.lean,Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean,Mathlib/Topology/Algebra/InfiniteSum/Real.lean,Mathlib/Topology/Category/Stonean/Basic.lean,Mathlib/Topology/Instances/ENNReal/Lemmas.lean,Mathlib/Topology/Instances/NNReal/Lemmas.lean,Mathlib/Topology/MetricSpace/HausdorffDistance.lean,Mathlib/Topology/MetricSpace/Thickening.lean,Mathlib/Topology/PartitionOfUnity.lean 16 4 ['Ruben-VandeVelde', 'YaelDillies', 'github-actions'] nobody
2-35135
2 days ago
4-12266
4 days ago
4-12249
4 days
28599 Thmoas-Guan
author:Thmoas-Guan
feat(RingTheory) : polynomial over CM ring is CM polynomial over Cohen Macaulay ring is Cohen Macaulay --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import 2481/28 Mathlib.lean,Mathlib/Algebra/Category/Grp/Preadditive.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Polynomial.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean,Mathlib/RingTheory/Flat/Localization.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Localization.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Localization.lean,Mathlib/RingTheory/IsTensorProduct.lean,Mathlib/RingTheory/KrullDimension/Module.lean,Mathlib/RingTheory/KrullDimension/Regular.lean,Mathlib/RingTheory/Nakayama.lean,Mathlib/RingTheory/Regular/Category.lean,Mathlib/RingTheory/Regular/Depth.lean,Mathlib/RingTheory/Regular/Flat.lean,Mathlib/RingTheory/Regular/Ischebeck.lean,Mathlib/RingTheory/Support.lean 20 n/a ['github-actions'] nobody
2-34019
2 days ago
unknown
unknown
28175 dsfxcimk
author:dsfxcimk
add Exterior angle theorem Add Exterior angle theorem --- The Exterior Angle Theorem states that the exterior angle of a triangle equals the sum of the two non-adjacent interior angles. I plan to place this in Mathlib.Geometry.Euclidean.Triangle [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-euclidean-geometry 11/0 Mathlib/Geometry/Euclidean/Triangle.lean 1 3 ['FrankieNC', 'github-actions'] nobody
2-33999
2 days ago
10-59446
10 days ago
10-59497
10 days
28517 Vierkantor
author:Vierkantor
chore(*): address some `@[simps]` porting notes Search for porting notes mentioning `simps` and fix the ones that are easy to fix. The search also caught some that refer to `simps` as in a `simp` set, so we fix them too. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt 54/76 Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean,Mathlib/AlgebraicGeometry/Spec.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/CategoryTheory/Limits/Cones.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryBiproducts.lean,Mathlib/CategoryTheory/Limits/Shapes/Biproducts.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Cospan.lean,Mathlib/CategoryTheory/Localization/Predicate.lean,Mathlib/CategoryTheory/Monad/Adjunction.lean,Mathlib/CategoryTheory/Monad/Algebra.lean,Mathlib/CategoryTheory/Monad/Basic.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Preadditive/Mat.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/RepresentationTheory/Rep.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/Topology/Homotopy/HomotopyGroup.lean 19 1 ['github-actions'] nobody
2-32684
2 days ago
2-32684
2 days ago
2-32668
2 days
28606 euprunin
author:euprunin
chore(Data/Set): golf entire `compl_prod_eq_union` using `grind` ---
Show trace profiling of compl_prod_eq_union: 10 ms before, 16 ms after ### Trace profiling of `compl_prod_eq_union` before PR 28606 ```diff diff --git a/Mathlib/Data/Set/Prod.lean b/Mathlib/Data/Set/Prod.lean index 55aacc6e21..f99b9ea194 100644 --- a/Mathlib/Data/Set/Prod.lean +++ b/Mathlib/Data/Set/Prod.lean @@ -129,6 +129,7 @@ theorem prod_inter_prod : s₁ ×ˢ t₁ ∩ s₂ ×ˢ t₂ = (s₁ ∩ s₂) × ext ⟨x, y⟩ simp [and_assoc, and_left_comm] +set_option trace.profiler true in lemma compl_prod_eq_union {α β : Type*} (s : Set α) (t : Set β) : (s ×ˢ t)ᶜ = (sᶜ ×ˢ univ) ∪ (univ ×ˢ tᶜ) := by ext p ``` ``` ℹ [368/368] Built Mathlib.Data.Set.Prod (2.3s) info: Mathlib/Data/Set/Prod.lean:133:0: [Elab.command] [0.014692] theorem compl_prod_eq_union {α β : Type*} (s : Set α) (t : Set β) : (s ×ˢ t)ᶜ = (sᶜ ×ˢ univ) ∪ (univ ×ˢ tᶜ) := by ext p simp only [mem_compl_iff, mem_prod, not_and, mem_union, mem_univ, and_true, true_and] constructor <;> intro h · by_cases fst_in_s : p.fst ∈ s · exact Or.inr (h fst_in_s) · exact Or.inl fst_in_s · intro fst_in_s simpa only [fst_in_s, not_true, false_or] using h [Elab.definition.header] [0.013915] Set.compl_prod_eq_union [Elab.step] [0.013615] expected type: Sort ?u.4299, term (s ×ˢ t)ᶜ = (sᶜ ×ˢ univ) ∪ (univ ×ˢ tᶜ) [Elab.step] [0.013608] expected type: Sort ?u.4299, term binrel% Eq✝ (s ×ˢ t)ᶜ ((sᶜ ×ˢ univ) ∪ (univ ×ˢ tᶜ)) [Elab.step] [0.010755] expected type: , term Union.union✝ (sᶜ ×ˢ univ) (univ ×ˢ tᶜ) info: Mathlib/Data/Set/Prod.lean:133:0: [Elab.command] [0.014746] lemma compl_prod_eq_union {α β : Type*} (s : Set α) (t : Set β) : (s ×ˢ t)ᶜ = (sᶜ ×ˢ univ) ∪ (univ ×ˢ tᶜ) := by ext p simp only [mem_compl_iff, mem_prod, not_and, mem_union, mem_univ, and_true, true_and] constructor <;> intro h · by_cases fst_in_s : p.fst ∈ s · exact Or.inr (h fst_in_s) · exact Or.inl fst_in_s · intro fst_in_s simpa only [fst_in_s, not_true, false_or] using h info: Mathlib/Data/Set/Prod.lean:133:0: [Elab.async] [0.010868] elaborating proof of Set.compl_prod_eq_union [Elab.definition.value] [0.010258] Set.compl_prod_eq_union Build completed successfully (368 jobs). ``` ### Trace profiling of `compl_prod_eq_union` after PR 28606 ```diff diff --git a/Mathlib/Data/Set/Prod.lean b/Mathlib/Data/Set/Prod.lean index 55aacc6e21..3ea6d5117e 100644 --- a/Mathlib/Data/Set/Prod.lean +++ b/Mathlib/Data/Set/Prod.lean @@ -129,16 +129,10 @@ theorem prod_inter_prod : s₁ ×ˢ t₁ ∩ s₂ ×ˢ t₂ = (s₁ ∩ s₂) × ext ⟨x, y⟩ simp [and_assoc, and_left_comm] +set_option trace.profiler true in lemma compl_prod_eq_union {α β : Type*} (s : Set α) (t : Set β) : (s ×ˢ t)ᶜ = (sᶜ ×ˢ univ) ∪ (univ ×ˢ tᶜ) := by - ext p - simp only [mem_compl_iff, mem_prod, not_and, mem_union, mem_univ, and_true, true_and] - constructor <;> intro h - · by_cases fst_in_s : p.fst ∈ s - · exact Or.inr (h fst_in_s) - · exact Or.inl fst_in_s - · intro fst_in_s - simpa only [fst_in_s, not_true, false_or] using h + grind @[simp] theorem disjoint_prod : Disjoint (s₁ ×ˢ t₁) (s₂ ×ˢ t₂) ↔ Disjoint s₁ s₂ ∨ Disjoint t₁ t₂ := by ``` ``` ℹ [368/368] Built Mathlib.Data.Set.Prod (2.1s) info: Mathlib/Data/Set/Prod.lean:133:0: [Elab.command] [0.012252] theorem compl_prod_eq_union {α β : Type*} (s : Set α) (t : Set β) : (s ×ˢ t)ᶜ = (sᶜ ×ˢ univ) ∪ (univ ×ˢ tᶜ) := by grind [Elab.definition.header] [0.010273] Set.compl_prod_eq_union info: Mathlib/Data/Set/Prod.lean:133:0: [Elab.command] [0.012858] lemma compl_prod_eq_union {α β : Type*} (s : Set α) (t : Set β) : (s ×ˢ t)ᶜ = (sᶜ ×ˢ univ) ∪ (univ ×ˢ tᶜ) := by grind info: Mathlib/Data/Set/Prod.lean:133:0: [Elab.async] [0.016424] elaborating proof of Set.compl_prod_eq_union [Elab.definition.value] [0.016040] Set.compl_prod_eq_union [Elab.step] [0.015891] grind [Elab.step] [0.015882] grind [Elab.step] [0.015870] grind Build completed successfully (368 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-data 1/8 Mathlib/Data/Set/Prod.lean 1 1 ['github-actions'] nobody
2-27984
2 days ago
2-28005
2 days ago
2-28048
2 days
28602 gmcninch-tufts
author:gmcninch-tufts
feat(Algebra/Polynomial/Module): prove equivalence of a certain tensor product with PolynomialModule For a commutative ring `R` and an `R`-module `M`, construct an equivalence between the `R[X]`-modules `R[X] ⊗[R] M` and `PolynomialModule R M`. This equivalence enables application of some base-change results to `PolynomialModule R M` . --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
210/0 Mathlib.lean,Mathlib/Algebra/Polynomial/Module/TensorProduct.lean 2 1 ['github-actions'] nobody
2-27509
2 days ago
2-36915
2 days ago
2-36959
2 days
26308 LessnessRandomness
author:LessnessRandomness
feat(Analysis.NormedSpace): add normalized vectors --- Add normalized vectors to Mathlib (zero vector for zero vector, the corresponding unit vectors for nonzero vectors) new-contributor t-analysis awaiting-author 68/0 Mathlib.lean,Mathlib/Analysis/NormedSpace/Normalize.lean 2 30 ['JovanGerb', 'LessnessRandomness', 'github-actions', 'j-loreaux'] nobody
2-27195
2 days ago
25-28368
25 days ago
33-6190
33 days
27943 dupuisf
author:dupuisf
feat: `StarOrderedRing` implies `OrderedSMul` We show that `StarOrderedRing R` implies `OrderedSMul 𝕜 R`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra t-analysis
label:t-algebra$
12/0 Mathlib/Algebra/Order/Star/Basic.lean 1 10 ['YaelDillies', 'dupuisf', 'github-actions', 'themathqueen'] YaelDillies
assignee:YaelDillies
2-21020
2 days ago
15-35718
15 days ago
16-22998
16 days
28609 mans0954
author:mans0954
feature(Analysis/LocallyConvex/Bounded): Quasi-complete spaces Define a quasi-complete space (Bourbaki, III.8) and prove that in a quasi-complete space: - `isCompact_closure_of_totallyBounded_quasiComplete`: the closure of a totally bounded set is compact . - `isCompact_closedAbsConvexHull_of_totallyBounded`: the closed absolute convex hull of a totally bounded set is compact . The closure of a totally bounded subset of a complete space is also compact. For a complete space with zero equipped with a scalar multiplication by a seminormed ring, this is a special case of `isCompact_closure_of_totallyBounded_quasiComplete`, but we also provide `isCompact_closure_of_totallyBounded_complete` which does not require a zero or a scalar multiplication. (N.B. `isCompact_of_totallyBounded_isClosed (TotallyBounded.closure ht) isClosed_closure` provides an alternative proof of `isCompact_closure_of_totallyBounded_complete`.) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 44/0 Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/Bounded.lean,Mathlib/Topology/UniformSpace/Cauchy.lean 3 1 ['github-actions'] nobody
2-17491
2 days ago
2-17491
2 days ago
2-19806
2 days
28612 euprunin
author:euprunin
chore(Data/List): golf entire `idxOf_append_of_mem`, `cons_sublist_cons'`, `length_eraseIdx_add_one`, `length_eraseP_add_one` and `idxOf_append_of_notMem` using `grind` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 5/26 Mathlib/Data/List/Basic.lean 1 1 ['github-actions'] nobody
2-17351
2 days ago
2-17378
2 days ago
2-17421
2 days
28451 yapudpill
author:yapudpill
feat(RingTheory/Noetherian): add `IsNoetherianRing.of_prime` This PR introduces the first usage of `Ideal.IsOka` introduced in #27200 to prove that if all prime ideals of a `CommRing` are finitely generated then this ring is Noetherian. To do so, we also added the lemma `Ideal.mem_span_range_self`. --- - [x] depends on: #28525 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor 104/12 Mathlib.lean,Mathlib/RingTheory/Ideal/Span.lean,Mathlib/RingTheory/Noetherian/OfPrime.lean,docs/references.bib 4 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
2-12397
2 days ago
3-38254
3 days ago
5-5140
5 days
28477 yapudpill
author:yapudpill
feat(RingTheory): golf `IsPrincipalIdealRing.of_prime` In complement to #28451 and as discussed in #27200, this PR uses the newly added Oka predicates to golf the proof of `IsPrincipalIdealRing.of_prime`. --- - [x] depends on: #28525 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor 61/56 Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/PrincipalIdealDomainOfPrime.lean 2 5 ['Ruben-VandeVelde', 'github-actions', 'mathlib4-dependent-issues-bot', 'yapudpill'] nobody
2-12297
2 days ago
3-37184
3 days ago
4-19354
4 days
28035 euprunin
author:euprunin
chore: replace `norm_num` with `simp` where applicable Same motivation as in kim-em's #24064 (chore: replace `norm_num` with `simp` where applicable): > Consider replacing a tactic with a (ahem) simpler alternative. 204/205 Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Star/CHSH.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/Calculus/Deriv/MeanValue.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/ConstantSpeed.lean,Mathlib/Analysis/Convex/Function.lean,Mathlib/Analysis/Fourier/AddCircle.lean,Mathlib/Analysis/Fourier/Inversion.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/InnerProductSpace/LinearMap.lean,Mathlib/Analysis/InnerProductSpace/Orthonormal.lean,Mathlib/Analysis/InnerProductSpace/TwoDim.lean,Mathlib/Analysis/NormedSpace/ENormedSpace.lean,Mathlib/Analysis/PSeries.lean,Mathlib/Analysis/SpecialFunctions/BinaryEntropy.lean,Mathlib/Analysis/SpecialFunctions/Complex/LogBounds.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Analysis/SpecialFunctions/Gamma/BohrMollerup.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/Analysis/SpecialFunctions/Integrals/PosLogEqCircleAverage.lean,Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Bounds.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean,Mathlib/Combinatorics/Additive/SmallTripling.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Bound.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Chunk.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean,Mathlib/Computability/Ackermann.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean,Mathlib/Data/Complex/Trigonometric.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Data/Nat/Digits/Div.lean,Mathlib/Data/Real/Cardinality.lean,Mathlib/Data/Real/GoldenRatio.lean,Mathlib/Data/Real/Pi/Bounds.lean,Mathlib/Data/Real/Pi/Wallis.lean,Mathlib/Data/Real/Sign.lean,Mathlib/Geometry/Euclidean/Basic.lean,Mathlib/Geometry/Euclidean/MongePoint.lean,Mathlib/Geometry/Euclidean/Triangle.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/SpecificGroups/Alternating/KleinFour.lean,Mathlib/GroupTheory/SpecificGroups/Quaternion.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/RootSystem/Reduced.lean,Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Integral/CircleIntegral.lean,Mathlib/NumberTheory/ADEInequality.lean,Mathlib/NumberTheory/Bernoulli.lean,Mathlib/NumberTheory/Cyclotomic/Discriminant.lean,Mathlib/NumberTheory/Cyclotomic/PID.lean,Mathlib/NumberTheory/Cyclotomic/Rat.lean,Mathlib/NumberTheory/FactorisationProperties.lean,Mathlib/NumberTheory/Fermat.lean,Mathlib/NumberTheory/FermatPsp.lean,Mathlib/NumberTheory/Harmonic/GammaDeriv.lean,Mathlib/NumberTheory/Harmonic/ZetaAsymp.lean,Mathlib/NumberTheory/LSeries/DirichletContinuation.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/NumberTheory/Modular.lean,Mathlib/NumberTheory/ModularForms/Basic.lean,Mathlib/NumberTheory/ModularForms/LevelOne.lean,Mathlib/NumberTheory/Multiplicity.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/ConvexBody.lean,Mathlib/NumberTheory/NumberField/Discriminant/Basic.lean,Mathlib/NumberTheory/NumberField/Discriminant/Defs.lean,Mathlib/NumberTheory/Padics/Hensel.lean,Mathlib/NumberTheory/Zsqrtd/GaussianInt.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/Fintype.lean,Mathlib/RingTheory/Ideal/NatInt.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/ZMod/UnitsCyclic.lean,Mathlib/Tactic/NormNum/LegendreSymbol.lean,Mathlib/Topology/Algebra/Valued/WithZeroMulInt.lean,Mathlib/Topology/Instances/CantorSet.lean,Mathlib/Topology/Instances/ENNReal/Lemmas.lean,Mathlib/Topology/Separation/CompletelyRegular.lean 95 7 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] nobody
2-7722
2 days ago
2-7722
2 days ago
14-29840
14 days
28163 euprunin
author:euprunin
chore: replace `aesop` with `simp_all` where applicable Motivation: `aesop` runs `simp_all` by default, so these ~160 `aesop` calls seem to be just `simp_all` in disguise. It seems better to use plain `simp_all` instead. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 148/148 Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Lie/Weights/Killing.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/Module/Submodule/Union.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Continuity.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Complex/Tietze.lean,Mathlib/Analysis/Convex/Jensen.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/Normed/Group/CocompactMap.lean,Mathlib/Analysis/Normed/Group/ZeroAtInfty.lean,Mathlib/Analysis/NormedSpace/FunctionSeries.lean,Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/CategoryTheory/Comma/Arrow.lean,Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/Limits/Types/ColimitType.lean,Mathlib/CategoryTheory/Limits/Types/Limits.lean,Mathlib/CategoryTheory/Types.lean,Mathlib/Combinatorics/Additive/FreimanHom.lean,Mathlib/Combinatorics/Schnirelmann.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/WalkDecomp.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean,Mathlib/Combinatorics/SimpleGraph/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Prod.lean,Mathlib/Combinatorics/SimpleGraph/Tutte.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean,Mathlib/Data/ENNReal/Holder.lean,Mathlib/Data/Finset/Basic.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Finset/Lattice/Prod.lean,Mathlib/Data/Finset/Sym.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Int/GCD.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/List/TakeDrop.lean,Mathlib/Data/Matrix/Basis.lean,Mathlib/Data/Matrix/ColumnRowPartitioned.lean,Mathlib/Data/Matroid/Minor/Restrict.lean,Mathlib/Data/Multiset/DershowitzManna.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/Geometry/Group/Growth/QuotientInter.lean,Mathlib/Geometry/Manifold/VectorField/LieBracket.lean,Mathlib/GroupTheory/CoprodI.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/RootSystem/Base.lean,Mathlib/LinearAlgebra/RootSystem/CartanMatrix.lean,Mathlib/LinearAlgebra/RootSystem/Finite/G2.lean,Mathlib/LinearAlgebra/RootSystem/Finite/Lemmas.lean,Mathlib/LinearAlgebra/RootSystem/Finite/Nondegenerate.lean,Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Basic.lean,Mathlib/LinearAlgebra/RootSystem/Reduced.lean,Mathlib/LinearAlgebra/Span/Defs.lean,Mathlib/MeasureTheory/Function/AEMeasurableOrder.lean,Mathlib/MeasureTheory/Group/GeometryOfNumbers.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Markov.lean,Mathlib/MeasureTheory/Measure/Dirac.lean,Mathlib/NumberTheory/Cyclotomic/Basic.lean,Mathlib/NumberTheory/Divisors.lean,Mathlib/NumberTheory/LSeries/RiemannZeta.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean,Mathlib/Order/Atoms.lean,Mathlib/Order/BooleanAlgebra/Basic.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Order/Interval/Set/OrdConnectedLinear.lean,Mathlib/Order/Interval/Set/SuccPred.lean,Mathlib/Order/SupIndep.lean,Mathlib/Order/WithBot.lean,Mathlib/RepresentationTheory/Basic.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Finiteness.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/IntegralClosure/IntegrallyClosed.lean,Mathlib/RingTheory/KrullDimension/NonZeroDivisors.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/NewtonIdentities.lean,Mathlib/Topology/Algebra/IsUniformGroup/Basic.lean,Mathlib/Topology/Category/Profinite/Nobeling/Basic.lean,Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/GDelta/Basic.lean,Mathlib/Topology/Order/IntermediateValue.lean,Mathlib/Topology/Order/IsLUB.lean,Mathlib/Topology/Order/LawsonTopology.lean,Mathlib/Topology/Separation/CompletelyRegular.lean,Mathlib/Topology/Sets/CompactOpenCovered.lean,Mathlib/Topology/Spectral/Prespectral.lean 93 6 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] nobody
2-6265
2 days ago
2-6265
2 days ago
11-1761
11 days
27460 IvanRenison
author:IvanRenison
feat(Combinatorics/SimpleGraph/Walk): add theorems about membership on the support of `Walk.concat` This contribution was created as part of the Utrecht Summerschool "Formalizing Mathematics in Lean" in July 2025. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics awaiting-author 18/0 Mathlib/Combinatorics/SimpleGraph/Walk.lean 1 4 ['b-mehta', 'github-actions'] b-mehta
assignee:b-mehta
2-5888
2 days ago
2-5888
2 days ago
24-49771
24 days
28339 JovanGerb
author:JovanGerb
feat(gcongr): support `@[gcongr]` for `Monotone` and friends This PR adds the feature to `gcongr` that you can now tag lemmas whose conclusion is `Monotone f`, `Antitone f`, etc. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 119/88 Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Algebra/Order/Module/Algebra.lean,Mathlib/Algebra/Order/Ring/Cast.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/ERealExp.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean,Mathlib/Data/Complex/Exponential.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Multiset/Defs.lean,Mathlib/Data/Nat/Cast/Order/Basic.lean,Mathlib/Data/Rat/Cast/Order.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/LinearAlgebra/Basis/Flag.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/Order/Filter/Map.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Tactic/GCongr/Core.lean,MathlibTest/GCongr/inequalities.lean 20 3 ['github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] nobody
2-5406
2 days ago
2-5529
2 days ago
7-6909
7 days
28533 kim-em
author:kim-em
feat(linarith): add `linarith?` mode which suggests a `linarith only` call Adds `linarith?`, which traces the internal to watch which inequalities are being used, and suggests a `linarith only` call via the "try this:" mechanism. Also adds a `+minimize` flag, on by default, which then greedily tries to drop hypotheses from the used set, to see if the problem is still possible with a smaller set. Currently I don't have test case showing this is worthwhile, however. Contributions welcome. ------ https://chatgpt.com/codex/tasks/task_e_68a02bce93a883218485c7e7cafb877a codex t-meta 213/68 Mathlib/Tactic/Linarith/Frontend.lean,Mathlib/Tactic/Linarith/Verification.lean,MathlibTest/linarith.lean 3 2 ['github-actions', 'kim-em'] nobody
2-4920
2 days ago
4-8433
4 days ago
4-8484
4 days
26259 Raph-DG
author:Raph-DG
feat(Topology): Connecting different notions of locally finite In this PR we connect the notions of local finiteness of an indexed family of sets (as in LocallyFinite) and of a set of sets (as in Function.locallyFinsuppWithin) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 32/0 Mathlib/Topology/LocallyFinsupp.lean 1 6 ['Raph-DG', 'github-actions', 'jcommelin', 'kckennylau'] jcommelin
assignee:jcommelin
2-2430
2 days ago
60-23920
1 month ago
60-23961
60 days
27395 joelriou
author:joelriou
feat(Algebra/Homology): the canonical t-structure on the derived category --- - [x] depends on: #27536 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 227/1 Mathlib.lean,Mathlib/Algebra/Homology/DerivedCategory/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/TStructure.lean,Mathlib/Algebra/Homology/Embedding/CochainComplex.lean,Mathlib/CategoryTheory/Triangulated/TStructure/Basic.lean 5 2 ['github-actions', 'mathlib4-dependent-issues-bot'] riccardobrasca
assignee:riccardobrasca
2-1436
2 days ago
9-27373
9 days ago
9-27419
9 days
27573 jsm28
author:jsm28
feat(LinearAlgebra/AffineSpace/Simplex/Basic): membership of interior of a face Add lemmas about when an affine combination of all the vertices of a simplex lies in the `interior` or `closedInterior` of a face. Feel free to golf, these lemmas really ought to be a lot simpler to prove. --- - [x] depends on: #26822 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
128/0 Mathlib/LinearAlgebra/AffineSpace/Independent.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean 2 9 ['github-actions', 'jcommelin', 'jsm28', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] chrisflav
assignee:chrisflav
2-1435
2 days ago
13-55918
13 days ago
16-67832
16 days
28072 kckennylau
author:kckennylau
feat(RingTheory/Valuation): make tactic rw_val_equiv Co-authored by Aaron Liu and Bhavik Mehta. A tactic to rewrite relations such as `max (v₁ x) (v₁ y) * v₁ z < 1` into `max (v₂ x) (v₂ y) * v₂ z < 1` , given `h : v₁.IsEquiv v₂`. Allowed relations are `≤`, `<`, `=`, `≠`. Allowed operations are: `0`, `1`, `v₁ r`, `⁻¹`, `^` (both `ℕ` and `ℤ`), `*`, `/`, `min`, `max`. Examples: ```lean example {R Γ₁ Γ₂ : Type} [Ring R] [LinearOrderedCommMonoidWithZero Γ₁] [LinearOrderedCommMonoidWithZero Γ₂] {v₁ : Valuation R Γ₁} {v₂ : Valuation R Γ₂} (h : v₁.IsEquiv v₂) {y z : R} : {x | v₁ x ^ 2 * min (v₁ y) (v₁ z) ≤ 1} = {x | v₂ x ^ 2 * min (v₂ y) (v₂ z) ≤ 1} := by rw_val_equiv h ``` It is also possible to use `←` to rewrite in the opposite direction, and to use `at h1 h3 ⊢` to specify which hypotheses (and/or goal) to rewrite, similar to the syntax of `rw`. There is also `rwa_val_equiv` to work like `rwa`. --- Zulip: [#Is there code for X? > Tactics for comparing equivalent valuations](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Tactics.20for.20comparing.20equivalent.20valuations) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 455/13 Mathlib/RingTheory/Valuation/Basic.lean,MathlibTest/Simproc/ValEquiv.lean 2 34 ['b-mehta', 'eric-wieser', 'github-actions', 'kckennylau', 'pechersky', 'plp127'] erdOne
assignee:erdOne
2-1434
2 days ago
12-23126
12 days ago
12-84031
12 days
28191 kckennylau
author:kckennylau
feat(Logic): tag Injective, Surjective, and Bijective with fun_prop --- Zulip: * [#Is there code for X? > surjective is not funprop!](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/surjective.20is.20not.20funprop!) * [#mathlib4 > `fun_prop` for Injective/Surjective/Bijective?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60fun_prop.60.20for.20Injective.2FSurjective.2FBijective.3F) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 16/0 Mathlib/Tactic/FunProp.lean 1 3 ['github-actions', 'grunweg', 'kckennylau'] alexjbest
assignee:alexjbest
2-1432
2 days ago
9-37943
9 days ago
10-16154
10 days
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/) 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 1 ['github-actions'] nobody
2-90
2 days ago
2-1543
2 days ago
2-1526
2 days
28628 euprunin
author:euprunin
chore(Order/BooleanAlgebra): golf entire `diff_insert_of_notMem`, `insert_diff_of_mem`, `insert_diff_of_notMem` and `subset_insert_iff` using `grind` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 4/14 Mathlib/Order/BooleanAlgebra/Set.lean 1 1 ['github-actions'] nobody
1-72787
1 day ago
1-72798
1 day ago
1-72838
1 day
28343 RemyDegenne
author:RemyDegenne
feat(Probability): Fernique's theorem for distributions that are invariant by rotation Let `μ` be a finite measure on a second-countable normed space `E` such that the product measure `μ.prod μ` on `E × E` is invariant by rotation of angle `-π/4`. Then there exists a constant `C > 0` such that the function `x ↦ exp (C * ‖x‖ ^ 2)` is integrable with respect to `μ`. The main application of this theorem will be for Gaussian measures. --- The PR is large, but is basically one big proof, so I don't think I can cut it at a meaningful place. - [ ] depends on: #28342 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 614/0 Mathlib.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/Probability/Distributions/Fernique.lean,docs/references.bib 4 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-68372
1 day ago
1-68403
1 day ago
1-75682
1 day
28546 Sfgangloff
author:Sfgangloff
feat(SymbolicDynamics): basic setup of Zd, full shift, cylinders, pat… # Symbolic dynamics on groups: core API and entropy along finite shapes This PR adds a **group-generic** foundation for symbolic dynamics over an arbitrary group `G`, together with convenient specializations for `ℤ` and `ℤ^d`. ## Summary of additions - **Full shift and shift action** - `abbrev FullShift (A G) := G → A` (inherits product topology from the Π-type). - Right shift `shift g x` with convention `(shift g x) h = x (h * g)`. - **Cylinders and topology** - `cylinder U x : Set (G → A)` for finite `U : Finset G`. - Cylinders are open under `[DiscreteTopology A]`; with a finite alphabet they are also closed. - Equality with dependent products: `cylinder U x = Set.pi (↑U) (fun i => ({x i} : Set A))`, enabling use of the `Set.pi` API. - **Patterns, occurrences, and subshifts** - `Pattern A G` with finite `support : Finset G` and `data : support → A`. - `Pattern.occursIn p x g` (occurrence at translate `g`) and the expected shift law. - `forbids F` and `Subshift A G` (closed, shift-invariant subsets). - `FixedSupport A G U` with an equivalence to `(U → A)` to obtain finiteness. - **Language on finite shapes and counting** - `languageOn X U`, `languageCardOn X U`, and `patternCountOn Y U`. - **Entropy along a shape sequence** - `limsupAtTop` (as an `sInf` of eventual upper bounds). - `entropyAlong X F hF := limsup (log (patternCountOn X (F n) + 1) / |F n|)` for any nonempty finite shapes `F : ℕ → Finset G` (the `+ 1` avoids `log 0`). - **Specializations** - `IntShapes`: segments `[-n,n]` on `Multiplicative ℤ`, with `entropy_Z`. - `ZdShapes`: boxes `[-n,n]^d` on `ℤ^d` (as functions `Fin d → ℤ`), with `entropy_Zd`. ## Mathematical remarks - The API is **shape-parametric**: entropy is defined along user-provided finite shapes. - On **amenable** groups, using a **Følner** sequence yields a canonical value (Ornstein–Weiss). This PR does not assume amenability; the family of shapes is an explicit input. ## Motivation Provide a clean, reusable base for symbolic dynamics on groups in mathlib. ## Future work - Add a Følner predicate and prove shape-independence / limit existence on amenable groups. - Expand the `ℤ`/`ℤ^d` toolkit (alternative shapes, mixing, factors). - Develop 1D theory and, longer-term, multidimensional SFT results (e.g. along the lines of Hochman–Meyerovitch). new-contributor t-dynamics 516/0 Mathlib.lean,Mathlib/Dynamics/SymbolicDynamics/Basic.lean,Mathlib/Dynamics/SymbolicDynamics/EntropyFinitelyGenerated.lean 3 14 ['Sfgangloff', 'eric-wieser', 'github-actions', 'kckennylau', 'sgouezel'] nobody
1-66948
1 day ago
3-43221
3 days ago
3-43263
3 days
28511 YaelDillies
author:YaelDillies
feat(Finsupp): `congr!`-compatible version of `prod_congr` `congr!` doesn't like the `g1 x (f x)` appearing in the hypothesis of `Finsupp.prod_congr`: `f x` isn't a free variable. Note: A few proofs broke due to `simp` using `congr` lemmas internally. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
17/11 Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/Category/MonCat/Adjunctions.lean,Mathlib/Data/Finsupp/Multiset.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LowDegree.lean 5 4 ['JovanGerb', 'YaelDillies', 'eric-wieser', 'github-actions'] nobody
1-62958
1 day ago
4-58981
4 days ago
4-59022
4 days
28575 YaelDillies
author:YaelDillies
feat: `IsOrderBornology` instances for `ℕ` and `ℤ` ... using a new constructor assuming `IsCompactIcc`. As a result, I could make all existing instances on concrete types into one-liners. --- As requested by @teorth. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import 33/44 Mathlib/Order/Bounds/Basic.lean,Mathlib/Topology/Bornology/Real.lean,Mathlib/Topology/Instances/Int.lean,Mathlib/Topology/Instances/Nat.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean,Mathlib/Topology/Order/Bornology.lean 6 1 ['github-actions'] nobody
1-61538
1 day ago
3-26357
3 days ago
3-26405
3 days
28100 themathqueen
author:themathqueen
feat(LinearAlgebra/Matrix): algebra automorphisms on matrices are inner For any algebra automorphism `f : Matrix n n R ≃ₐ[R] Matrix n n R`, there exists an invertible matrix `T` such that `f a = T * a * T⁻¹` for all `a`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
76/0 Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Basic.lean 1 6 ['eric-wieser', 'github-actions', 'themathqueen'] Vierkantor
assignee:Vierkantor
1-61229
1 day ago
13-5035
13 days ago
13-7819
13 days
25692 Whysoserioushah
author:Whysoserioushah
feat(RingTheory/MatrixAlgebra): add a more general version of `matrixEquivTensor` This adds `tensorMatrixLinearEquiv : A ⊗[R] Matrix n n B ≃ₐ[S] Matrix n n (A ⊗[R] B)` which is a more general version of `matrixEquivTensor : Matrix n n A ≃ₐ[R] (A ⊗[R] Matrix n n R)`. The latter is then implemented as a trivial consequence of the former. Many internal implementation details are deleted without deprecation, although strictly these were not private. Co-authored-by: @erdOne Co-authored-by: Eric Wieser --- - [ ] depends on: #28367 - [ ] depends on: #28359 - [ ] depends on: #28368 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory awaiting-author 129/110 Mathlib/RingTheory/MatrixAlgebra.lean 1 27 ['Whysoserioushah', 'chrisflav', 'eric-wieser', 'github-actions', 'jcommelin', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'mattrobball'] chrisflav
assignee:chrisflav
1-61160
1 day ago
1-61160
1 day ago
63-50556
63 days
25832 xroblot
author:xroblot
feat(FieldTheory/LinearDisjoint): `trace` (resp. `norm`) and `algebraMap` commutes For `A` and `B` two linearly disjoint `R`-subalgebras in a commutative algebra `S` and `b` a `R`-basis of `B`, we construct a `A`-basis of `S = A ⊔ B` from `b` (and a similar construction using a `R`-basis of `A`). Then, we prove in this situation that `trace` commutes with `algebraMap`, that is: ```lean Algebra.trace A S (algebraMap B S x) = algebraMap R A (Algebra.trace R B x) ``` and a similar result for the norm. We also add a similar basis construction for `A` and `B` two linearly disjoint intermediate fields with the hypothesis that `A.toSubalgebra ⊔ B.toSubalgebra = ⊤`. This hypothesis is equivalent to `A ⊔ B = ⊤` in many cases (for example, one of the two extensions is algebraic over the base field) but not always. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import maintainer-merge t-algebra
label:t-algebra$
159/9 Mathlib/FieldTheory/LinearDisjoint.lean,Mathlib/RingTheory/LinearDisjoint.lean 2 47 ['acmepjz', 'chrisflav', 'github-actions', 'xroblot'] chrisflav
assignee:chrisflav
1-60530
1 day ago
1-61192
1 day ago
64-26172
64 days
25858 themathqueen
author:themathqueen
feat(RingTheory/Coalgebra/MulOpposite): coalgebra instance for MulOpposite Adding an instance for `Aᵐᵒᵖ` being an `R`-coalgebra when `A` is. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory maintainer-merge new-contributor 69/0 Mathlib.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/RingTheory/Coalgebra/MulOpposite.lean 3 6 ['chrisflav', 'github-actions'] chrisflav
assignee:chrisflav
1-60339
1 day ago
1-60339
1 day ago
67-43110
67 days
28117 RemyDegenne
author:RemyDegenne
feat(Probability): definitions of risk, Bayesian risk, Bayes risk, minimax risk This PR adds the basic definitions needed for decision theory (or statistical estimation): risk of an estimator with respect to a loss, a data-generating kernel and a prior on the parameter, Bayes risk, minimax risk. The file is placed in the Probability folder, in a new Decision folder (for decision theory), in a Risk subfolder. co-authored by: Lorenzo Luccioli @LorenzoLuccioli From the TestingLowerBounds project. --- This is the first part of #27579, which includes several results about risks, a definition of the DeGroot statistical information of an experiment, and as a special case a definition of the total variation distance between two probability measures. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 141/0 Mathlib.lean,Mathlib/MeasureTheory/Measure/Dirac.lean,Mathlib/Probability/Decision/Risk/Defs.lean 3 16 ['EtienneC30', 'RemyDegenne', 'github-actions', 'sgouezel'] EtienneC30
assignee:EtienneC30
1-58856
1 day ago
1-58856
1 day ago
10-3257
10 days
28631 faenuccio
author:faenuccio
feat(Data\Nat\ModEq.lean): add grind attribute to ModEq --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data WIP 7/0 Mathlib/Data/Nat/ModEq.lean 1 4 ['faenuccio', 'github-actions', 'leanprover-bot'] nobody
1-56191
1 day ago
1-58710
1 day ago
0-22
22 seconds
28526 xroblot
author:xroblot
feat(DedekindDomain): More instances Add more instances for the case of a the localisation of a tower of rings `R ⊆ S ⊆ T` localized at a prime ideal `P` of `R`. --- - [x] depends on: #28543 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 70/3 Mathlib/Algebra/Algebra/Tower.lean,Mathlib/RingTheory/DedekindDomain/Instances.lean 2 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-54604
1 day ago
1-55280
1 day ago
1-57018
1 day
28617 kckennylau
author:kckennylau
feat(AlgebraicGeometry): jointly surjective topology We define `jointlySurjectiveTopology` to have the same condition as `jointlySurjectivePretopology`, which is the new name of the former `surjectiveFamiliesPretopology`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-algebraic-geometry 48/3 Mathlib/AlgebraicGeometry/Sites/MorphismProperty.lean,Mathlib/CategoryTheory/Sites/Grothendieck.lean 2 6 ['chrisflav', 'github-actions', 'kckennylau'] chrisflav
assignee:chrisflav
1-54377
1 day ago
1-54727
1 day ago
2-6880
2 days
26329 Timeroot
author:Timeroot
feat: Definition of `Clone` notations and typeclasses Definitions and notation typeclasses for #20051 --- This PR continues the work from #23459. Original PR: https://github.com/leanprover-community/mathlib4/pull/23459 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-CI awaiting-author
label:t-algebra$
100/0 Mathlib.lean,Mathlib/Algebra/Clone/Defs.lean 2 3 ['Timeroot', 'YaelDillies', 'github-actions'] nobody
1-54074
1 day ago
1-54074
1 day ago
0-21917
6 hours
28349 kckennylau
author:kckennylau
feat(Meta): add notation for naming stacked polynomials This PR changes the notation for naming formal variables associated to recursive polynomial-like objects. Registration is done only once per each polynomial-like functor. Usage: ```lean #register_poly_vars "[" X "]" Polynomial Polynomial.C Polynomial.X #register_poly_vars "[" X, ... "]" MvPolynomial MvPolynomial.C MvPolynomial.X #name_poly_vars R[a,b][C] #name_poly_vars _[[x,y,z]] ``` `_[[x,y,z]]` allows for the hole to be substituted by any base ring, so `(x : R[[x,y,z]])` will make sense. --- I have not mass deployed the new syntax at every possible location, I plan to do that in a future PR following this. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 395/57 Counterexamples/CliffordAlgebraNotInjective.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Basic.lean,Mathlib/Tactic/Ring/NamePolyVars.lean,MathlibTest/NamePolyVars.lean 6 11 ['eric-wieser', 'github-actions', 'kckennylau', 'plp127'] adamtopaz
assignee:adamtopaz
1-52868
1 day ago
7-39338
7 days ago
7-39387
7 days
27973 smmercuri
author:smmercuri
feat: the ring of integers of a `ℤₘ₀`-valued field is compact whenever it is a DVR and the residue field is finite This PR continues the work from #21844. Original PR: https://github.com/leanprover-community/mathlib4/pull/21844 large-import 54/2 Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/Topology/Algebra/Valued/WithZeroMulInt.lean 2 1 ['github-actions'] nobody
1-51374
1 day ago
8-31717
8 days ago
8-31732
8 days
28581 bennett-chow
author:bennett-chow
fix: riemmanian -> riemannian changed riemmanian to riemannian --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-differential-geometry awaiting-author 8/8 Mathlib/Geometry/Manifold/Riemannian/Basic.lean 1 5 ['bennett-chow', 'bryangingechen', 'github-actions', 'grunweg'] nobody
1-50375
1 day ago
2-38763
2 days ago
0-40695
11 hours
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/) 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 31 ['eric-wieser', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'plp127'] eric-wieser
assignee:eric-wieser
1-49835
1 day ago
3-44374
3 days ago
9-45828
9 days
28446 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): `card_edgeFinset_map` --- Needed for a proof of the Erdős-Stone-Simonovits theorem in future PR. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics delegated 47/14 Mathlib/Combinatorics/SimpleGraph/Extremal/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Operations.lean 4 10 ['b-mehta', 'eric-wieser', 'github-actions', 'mathlib-bors', 'mitchell-horner'] nobody
1-48978
1 day ago
2-6293
2 days ago
4-6247
4 days
26106 mbkybky
author:mbkybky
feat(RingTheory/Regular): flat base change of weakly regular sequence Show that [RingTheory.Sequence.IsWeaklyRegular](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Regular/RegularSequence.html#RingTheory.Sequence.IsWeaklyRegular) is stable under flat base change and [RingTheory.Sequence.IsRegular](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Regular/RegularSequence.html#RingTheory.Sequence.IsRegular) is stable under faithfully flat base change. Co-authored-by: Nailin Guan @Thmoas-Guan - [x] depends on: #26297 - [x] depends on: #27757 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory awaiting-author 156/0 Mathlib.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean,Mathlib/RingTheory/Flat/Localization.lean,Mathlib/RingTheory/IsTensorProduct.lean,Mathlib/RingTheory/Regular/Flat.lean 6 21 ['chrisflav', 'github-actions', 'mathlib4-dependent-issues-bot', 'mbkybky'] nobody
1-48856
1 day ago
1-60513
1 day ago
24-14181
24 days
28615 kckennylau
author:kckennylau
feat(RingTheory): Standard open immersion We define the ring hom property `RingHom.IsStandardOpenImmersion` which is one that is a localization map away from some element. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory maintainer-merge 122/2 Mathlib.lean,Mathlib/RingTheory/Localization/Away/Basic.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/RingHom/OpenImmersion.lean 4 15 ['chrisflav', 'github-actions', 'kckennylau'] chrisflav
assignee:chrisflav
1-47865
1 day ago
1-47865
1 day ago
2-7957
2 days
26960 joelriou
author:joelriou
feat(AlgebraicTopology/ModelCategory): the lemma by K. S. Brown In a model category, any morphism `f : X ⟶ Y` between cofibrant objects can be factored as `i ≫ j` with `i` a cofibration and `j` a trivial fibration which has a section `s` that is a cofibration. In particular, if `f` is a weak equivalence, both `i` and `s` are trivial cofibrations. This has important consequences in homotopical algebra (e.g. construction of derived functors). --- - [x] depends on: #26171 - [x] depends on: #26958 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology t-category-theory 151/0 Mathlib.lean,Mathlib/AlgebraicTopology/ModelCategory/BrownLemma.lean 2 7 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mattrobball'] robin-carlier
assignee:robin-carlier
1-47773
1 day ago
9-26926
9 days ago
9-27349
9 days
28627 plp127
author:plp127
chore: rename `Set.surjective_onto_image` Rename `Set.surjective_onto_image` to `Set.imageFactorization_surjective`. This matches better with other theorems like `Set.restrictPreimage_surjective`. Also rename `Set.surjective_onto_range` similarly. I was looking on loogle today and noticed this one again, which doesn't fit any of the naming conventions. I decided to fix it this time. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 30/22 Mathlib/Algebra/Group/Subgroup/ZPowers/Lemmas.lean,Mathlib/Data/Finite/Card.lean,Mathlib/Data/Set/Countable.lean,Mathlib/Data/Set/Image.lean,Mathlib/Logic/Small/Set.lean,Mathlib/MeasureTheory/Constructions/Polish/Basic.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/AEStronglyMeasurable.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/MeasurableSpace/Embedding.lean,Mathlib/Order/Filter/Finite.lean,Mathlib/Order/SupIndep.lean,Mathlib/RingTheory/AlgebraicIndependent/TranscendenceBasis.lean,Mathlib/RingTheory/Localization/AsSubring.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Finite.lean,Mathlib/Topology/NoetherianSpace.lean 16 1 ['github-actions'] nobody
1-47727
1 day ago
2-188
2 days ago
2-229
2 days
28319 kim-em
author:kim-em
chore: scope the IsSimpleOrder -> Fintype instance I noticed these rarely useful instances firing while investigating a slow typeclass search. Doesn't seem to have much impact, but perhaps good to scope these anyway. 11/4 Mathlib/Order/Atoms/Finite.lean,Mathlib/RingTheory/FiniteLength.lean,Mathlib/RingTheory/SimpleModule/Basic.lean 3 14 ['eric-wieser', 'github-actions', 'kim-em', 'leanprover-bot', 'mattrobball'] nobody
1-45819
1 day ago
1-50154
1 day ago
7-84829
7 days
28614 kckennylau
author:kckennylau
feat(CategoryTheory): The finite pretopology on a category We define `CategoryTheory.Pretopology.finite`, the finite pretopology on a category, which consists of presieves that contain only finitely many arrows. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 120/0 Mathlib.lean,Mathlib/CategoryTheory/Sites/Finite.lean,Mathlib/CategoryTheory/Sites/Sieves.lean 3 16 ['chrisflav', 'github-actions', 'kckennylau'] chrisflav
assignee:chrisflav
1-44529
1 day ago
1-44578
1 day ago
2-8081
2 days
27321 kckennylau
author:kckennylau
feat(CategoryTheory): Colimit can be computed fiberwise We consider category `J` equipped with a functor `F : J ⥤ D` to a discrete category `D`. Then the colimit of any diagram `diagram : J ⥤ C` can be computed using the following algorithm: 1. For each `d : D`, compute the colimit of the restricted diagram `F.fiberIncl d ⋙ diagram`. 2. Take the coproduct of these colimits over all `d : D`. We call this "computing the colimit fiberwise". --- Zulip: [#Is there code for X? > over category via a functor](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/over.20category.20via.20a.20functor/with/529574191) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 134/0 Mathlib.lean,Mathlib/CategoryTheory/FiberedCategory/Fiber.lean,Mathlib/CategoryTheory/Limits/Shapes/Fiberwise.lean 3 18 ['github-actions', 'kckennylau', 'robin-carlier'] nobody
1-42624
1 day ago
1-51395
1 day ago
12-79614
12 days
28623 gilesgshaw
author:gilesgshaw
feat(Logic/Basic): minor additions and simplification of proofs Three seemingly 'missing' theorems from the family related to `ite_eq_iff` are provided, as well as new theorems `apply_[d]ite_iff_or` and `apply_[d]ite_iff_and` which generalize numerous existing ones in the file. Various proofs are simplified, especially those that can be replaced simply by applications of the above. --- new-contributor t-logic 49/40 Mathlib/Logic/Basic.lean 1 9 ['eric-wieser', 'gilesgshaw', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127'] nobody
1-39483
1 day ago
1-39808
1 day ago
1-43473
1 day
27963 ShreckYe
author:ShreckYe
feat(Algebra/GCDMonoid): add some theorems related to divisibility and `lcm` for both `GCDMonoid` and `Nat` While working on formalizing some math olympiad problems, I found that the theorem `dvd_lcm : p ∣ lcm a b ↔ p ∣ a ∨ p ∣ b` is missing in Mathlib. So I added this along with some other related theorems. These theorems are simlilar to those related to divisibility and multiplication (`dvd_mul` as compared to `dvd_lcm` for example), as commented in the doc strings. new-contributor t-algebra
label:t-algebra$
102/0 Mathlib.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Data/Nat/GCD/Basic.lean,Mathlib/Data/Nat/GCD/Prime.lean 4 28 ['Ruben-VandeVelde', 'ShreckYe', 'github-actions', 'themathqueen'] erdOne
assignee:erdOne
1-39319
1 day ago
1-41329
1 day ago
9-44974
9 days
28641 sun123zxy
author:sun123zxy
feat(RingTheory/Nakayama): add a version of Nakayama's lemma (stacks 00DV (8)) This PR adds a version of Nakayama's lemma from [Stacks 00DV](https://stacks.math.columbia.edu/tag/00DV) (8). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor 18/2 Mathlib/RingTheory/Nakayama.lean 1 1 ['github-actions'] nobody
1-38352
1 day ago
1-38352
1 day ago
1-39976
1 day
26614 Rida-Hamadani
author:Rida-Hamadani
feat(SimpleGraph): add more API for `take`/`drop` These came up while proving the Girth-Diameter inequality. The main lemma proves that taking `n` vertices of a walk results in a sub-walk of taking `k` vertices when `n` is less than or equal to `k`. The sub-walk relation is represented as `p.support.Sublist q.support` where `p` and `q` are walks. - [ ] depends on: #26655 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics awaiting-author 74/4 Mathlib/Combinatorics/SimpleGraph/Walk.lean 1 17 ['Rida-Hamadani', 'b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
1-36495
1 day ago
1-36506
1 day ago
4-83551
4 days
27320 Jlh18
author:Jlh18
doc (CategoryTheory/Bicategory/Grothendieck): rename Grothendieck to coGrothendieck Rename `CategoryTheory.Pseudofunctor.Grothendieck` to `CategoryTheory.Pseudofunctor.coGrothendieck`. Currently there are two inconsistent conventions taken in [`CategoryTheory.Grothendieck`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/CategoryTheory/Grothendieck.html#CategoryTheory.Grothendieck) and [`CategoryTheory.Pseudofunctor.Grothendieck`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/CategoryTheory/Bicategory/Grothendieck.html#CategoryTheory.Pseudofunctor.Grothendieck), namely the latter includes an `op` on the indexing category / base category of the Grothendieck construction. Later on, I will make more PRs to introduce the version of `CategoryTheory.Pseudofunctor.Grothendieck` that does not have an `op`. Zulip discussion: [#mathlib4 > Refactor Grothendieck from Pseudofunctor.Grothendieck](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Refactor.20Grothendieck.20from.20Pseudofunctor.2EGrothendieck/with/529165679). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-category-theory 45/37 Mathlib/CategoryTheory/Bicategory/Grothendieck.lean,Mathlib/CategoryTheory/FiberedCategory/Grothendieck.lean 2 6 ['Jlh18', 'github-actions', 'joelriou', 'kckennylau', 'mathlib4-merge-conflict-bot'] nobody
1-35826
1 day ago
1-35844
1 day ago
12-5535
12 days
27964 smmercuri
author:smmercuri
feat: two inequivalent absolute values have a `< 1` and `> 1` value This PR continues the work from #22100. Original PR: https://github.com/leanprover-community/mathlib4/pull/22100 142/0 Mathlib/Algebra/Order/AbsoluteValue/Basic.lean,Mathlib/Analysis/AbsoluteValue/Equivalence.lean 2 1 ['github-actions'] nobody
1-34989
1 day ago
10-40518
10 days ago
11-51591
11 days
28180 kckennylau
author:kckennylau
chore(Meta): clean up PiFin.mkLiteralQ Co-authored by Aaron Liu. This PR fixes the resulting type of `loop`, adds a docstring, and removes an unused variable. --- Zulip: [#PR reviews > #28148 Simproc for Matrix Transpose](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2328148.20Simproc.20for.20Matrix.20Transpose) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data maintainer-merge t-meta 7/4 Mathlib/Data/Fin/VecNotation.lean 1 23 ['JovanGerb', 'eric-wieser', 'github-actions', 'kckennylau', 'plp127'] nobody
1-34091
1 day ago
1-41513
1 day ago
4-35645
4 days
28317 kckennylau
author:kckennylau
feat(Algebra): more lemmas about units in ordered monoid --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
96/16 Mathlib/Algebra/Order/Monoid/Unbundled/Units.lean 1 22 ['YaelDillies', 'eric-wieser', 'github-actions', 'kckennylau'] nobody
1-33271
1 day ago
1-43988
1 day ago
1-83603
1 day
28305 euprunin
author:euprunin
chore(RingTheory/MvPolynomial): golf entire `weightedHomogeneousComponent_of_isWeightedHomogeneous_same` and `weightedHomogeneousComponent_of_isWeightedHomogeneous_ne` ---
Show trace profiling of weightedHomogeneousComponent_of_isWeightedHomogeneous_same: 12 ms before, <10 ms after 🎉 ### Trace profiling of `weightedHomogeneousComponent_of_isWeightedHomogeneous_same` before PR 28305 ```diff diff --git a/Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean b/Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean index 6490df8bf8..1bdb4d75ae 100644 --- a/Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean +++ b/Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean @@ -434,2 +434,3 @@ theorem weightedHomogeneousComponent_of_mem [DecidableEq M] {m n : M} +set_option trace.profiler true in theorem weightedHomogeneousComponent_of_isWeightedHomogeneous_same ``` ``` ℹ [1208/1208] Built Mathlib.RingTheory.MvPolynomial.WeightedHomogeneous info: Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean:436:0: [Elab.async] [0.012999] elaborating proof of MvPolynomial.weightedHomogeneousComponent_of_isWeightedHomogeneous_same [Elab.definition.value] [0.012383] MvPolynomial.weightedHomogeneousComponent_of_isWeightedHomogeneous_same [Elab.step] [0.012139] classical ext x rw [coeff_weightedHomogeneousComponent] by_cases zero_coeff : coeff x p = 0 · simp [zero_coeff] · rw [hp zero_coeff, if_pos rfl] [Elab.step] [0.012134] classical ext x rw [coeff_weightedHomogeneousComponent] by_cases zero_coeff : coeff x p = 0 · simp [zero_coeff] · rw [hp zero_coeff, if_pos rfl] [Elab.step] [0.012128] classical ext x rw [coeff_weightedHomogeneousComponent] by_cases zero_coeff : coeff x p = 0 · simp [zero_coeff] · rw [hp zero_coeff, if_pos rfl] [Elab.step] [0.012045] ext x rw [coeff_weightedHomogeneousComponent] by_cases zero_coeff : coeff x p = 0 · simp [zero_coeff] · rw [hp zero_coeff, if_pos rfl] [Elab.step] [0.012034] ext x rw [coeff_weightedHomogeneousComponent] by_cases zero_coeff : coeff x p = 0 · simp [zero_coeff] · rw [hp zero_coeff, if_pos rfl] Build completed successfully. ``` ### Trace profiling of `weightedHomogeneousComponent_of_isWeightedHomogeneous_same` after PR 28305 ```diff diff --git a/Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean b/Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean index 6490df8bf8..df101a703d 100644 --- a/Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean +++ b/Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean @@ -434,11 +434,7 @@ theorem weightedHomogeneousComponent_of_mem [DecidableEq M] {m n : M} +set_option trace.profiler true in theorem weightedHomogeneousComponent_of_isWeightedHomogeneous_same {m : M} {p : MvPolynomial σ R} (hp : IsWeightedHomogeneous w p m) : - weightedHomogeneousComponent w m p = p := by - classical - ext x - rw [coeff_weightedHomogeneousComponent] - by_cases zero_coeff : coeff x p = 0 - · simp [zero_coeff] - · rw [hp zero_coeff, if_pos rfl] + weightedHomogeneousComponent w m p = p := + IsWeightedHomogeneous.weightedHomogeneousComponent_same hp @@ -446,9 +442,4 @@ theorem weightedHomogeneousComponent_of_isWeightedHomogeneous_ne {m n : M} {p : MvPolynomial σ R} (hp : IsWeightedHomogeneous w p m) (hn : n ≠ m) : - weightedHomogeneousComponent w n p = 0 := by - classical - ext x - rw [coeff_weightedHomogeneousComponent] - by_cases zero_coeff : coeff x p = 0 - · simp [zero_coeff] - · rw [if_neg (by simp only [hp zero_coeff, hn.symm, not_false_eq_true]), coeff_zero] + weightedHomogeneousComponent w n p = 0 := + IsWeightedHomogeneous.weightedHomogeneousComponent_ne n hp hn ``` ``` ✔ [1208/1208] Built Mathlib.RingTheory.MvPolynomial.WeightedHomogeneous Build completed successfully. ```
---
Show trace profiling of weightedHomogeneousComponent_of_isWeightedHomogeneous_ne: 13 ms before, <10 ms after 🎉 ### Trace profiling of `weightedHomogeneousComponent_of_isWeightedHomogeneous_ne` before PR 28305 ```diff diff --git a/Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean b/Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean index 6490df8bf8..b83c5c6269 100644 --- a/Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean +++ b/Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean @@ -444,2 +444,3 @@ theorem weightedHomogeneousComponent_of_isWeightedHomogeneous_same +set_option trace.profiler true in theorem weightedHomogeneousComponent_of_isWeightedHomogeneous_ne ``` ``` ℹ [1208/1208] Built Mathlib.RingTheory.MvPolynomial.WeightedHomogeneous info: Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean:446:0: [Elab.async] [0.013611] elaborating proof of MvPolynomial.weightedHomogeneousComponent_of_isWeightedHomogeneous_ne [Elab.definition.value] [0.012857] MvPolynomial.weightedHomogeneousComponent_of_isWeightedHomogeneous_ne [Elab.step] [0.012517] classical ext x rw [coeff_weightedHomogeneousComponent] by_cases zero_coeff : coeff x p = 0 · simp [zero_coeff] · rw [if_neg (by simp only [hp zero_coeff, hn.symm, not_false_eq_true]), coeff_zero] [Elab.step] [0.012512] classical ext x rw [coeff_weightedHomogeneousComponent] by_cases zero_coeff : coeff x p = 0 · simp [zero_coeff] · rw [if_neg (by simp only [hp zero_coeff, hn.symm, not_false_eq_true]), coeff_zero] [Elab.step] [0.012508] classical ext x rw [coeff_weightedHomogeneousComponent] by_cases zero_coeff : coeff x p = 0 · simp [zero_coeff] · rw [if_neg (by simp only [hp zero_coeff, hn.symm, not_false_eq_true]), coeff_zero] [Elab.step] [0.012450] ext x rw [coeff_weightedHomogeneousComponent] by_cases zero_coeff : coeff x p = 0 · simp [zero_coeff] · rw [if_neg (by simp only [hp zero_coeff, hn.symm, not_false_eq_true]), coeff_zero] [Elab.step] [0.012443] ext x rw [coeff_weightedHomogeneousComponent] by_cases zero_coeff : coeff x p = 0 · simp [zero_coeff] · rw [if_neg (by simp only [hp zero_coeff, hn.symm, not_false_eq_true]), coeff_zero] Build completed successfully. ``` ### Trace profiling of `weightedHomogeneousComponent_of_isWeightedHomogeneous_ne` after PR 28305 ```diff diff --git a/Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean b/Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean index 6490df8bf8..066f4824e9 100644 --- a/Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean +++ b/Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean @@ -436,19 +436,10 @@ theorem weightedHomogeneousComponent_of_isWeightedHomogeneous_same {m : M} {p : MvPolynomial σ R} (hp : IsWeightedHomogeneous w p m) : - weightedHomogeneousComponent w m p = p := by - classical - ext x - rw [coeff_weightedHomogeneousComponent] - by_cases zero_coeff : coeff x p = 0 - · simp [zero_coeff] - · rw [hp zero_coeff, if_pos rfl] + weightedHomogeneousComponent w m p = p := + IsWeightedHomogeneous.weightedHomogeneousComponent_same hp +set_option trace.profiler true in theorem weightedHomogeneousComponent_of_isWeightedHomogeneous_ne {m n : M} {p : MvPolynomial σ R} (hp : IsWeightedHomogeneous w p m) (hn : n ≠ m) : - weightedHomogeneousComponent w n p = 0 := by - classical - ext x - rw [coeff_weightedHomogeneousComponent] - by_cases zero_coeff : coeff x p = 0 - · simp [zero_coeff] - · rw [if_neg (by simp only [hp zero_coeff, hn.symm, not_false_eq_true]), coeff_zero] + weightedHomogeneousComponent w n p = 0 := + IsWeightedHomogeneous.weightedHomogeneousComponent_ne n hp hn ``` ``` ✔ [1208/1208] Built Mathlib.RingTheory.MvPolynomial.WeightedHomogeneous Build completed successfully. ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-ring-theory 6/17 Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean 1 2 ['github-actions', 'mattrobball'] nobody
1-31734
1 day ago
8-21965
8 days ago
8-22010
8 days
28639 ChrisHughes24
author:ChrisHughes24
feat(Nullstellensatz); Generalize nullstellensatz to use a different field for the polynomial ring --- This generalizes Nullstellensatz to Wikipedia's statement of the theorem, where there are two fields and one is algebraically closed. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 88/91 Mathlib/FieldTheory/AxGrothendieck.lean,Mathlib/ModelTheory/Algebra/Ring/Definability.lean,Mathlib/RingTheory/Nullstellensatz.lean 3 1 ['github-actions'] nobody
1-31699
1 day ago
1-41974
1 day ago
1-41957
1 day
28644 kckennylau
author:kckennylau
don't mind me, i just want cache --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) will-close-soon WIP 214/24 Mathlib.lean,Mathlib/NumberTheory/LocalField/Basic.lean,Mathlib/RingTheory/Valuation/RankOne.lean,Mathlib/RingTheory/Valuation/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean 5 1 ['github-actions'] nobody
1-30267
1 day ago
1-35838
1 day ago
0-13
13 seconds
25070 erdOne
author:erdOne
feat(EllipticCurve): rational points on singular cuspidal cubics --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry awaiting-author 123/0 Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Singular/Cusp.lean 2 11 ['Multramate', 'acmepjz', 'adamtopaz', 'erdOne', 'github-actions', 'kckennylau'] adamtopaz
assignee:adamtopaz
1-29861
1 day ago
1-29959
1 day ago
90-52970
90 days
26310 kckennylau
author:kckennylau
Binary form This PR provides the basic definition of binary forms, which are homogeneous polynomials in two variables. --- - [ ] depends on: #26312 - [ ] depends on: #26313 - [ ] depends on: #26314 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-author
label:t-algebra$
73/0 Mathlib.lean,Mathlib/RingTheory/MvPolynomial/BinaryForm.lean 2 12 ['MichaelStollBayreuth', 'github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot', 'ocfnash'] ocfnash
assignee:ocfnash
1-29715
1 day ago
1-32316
1 day ago
57-1104
57 days
27696 pechersky
author:pechersky
feat(Padic/WithVal): WithVal v is isomorphic to Q_p as fields and uniform spaces On the way to a topological ring equiv --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-number-theory delegated
label:t-algebra$
187/0 Mathlib.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/Padics/WithVal.lean 3 13 ['faenuccio', 'github-actions', 'mathlib-bors', 'riccardobrasca'] riccardobrasca
assignee:riccardobrasca
1-29324
1 day ago
1-29324
1 day ago
19-78579
19 days
27610 RemyDegenne
author:RemyDegenne
feat: covariance with respect to a product measure - `cov[fun x ↦ X x.1, fun x ↦ Y x.2; μ.prod ν] = 0` and a consequence for the variance of a sum. - For a continuous linear map `L : E × F →L[ℝ] ℝ`, `Var[L; μ.prod ν] = Var[L.comp (.inl ℝ E F); μ] + Var[L.comp (.inr ℝ E F); ν]`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability awaiting-author 70/0 Mathlib/Probability/Moments/Variance.lean 1 16 ['EtienneC30', 'RemyDegenne', 'github-actions', 'mathlib4-merge-conflict-bot'] EtienneC30
assignee:EtienneC30
1-29258
1 day ago
1-29258
1 day ago
3-66654
3 days
28655 YaelDillies
author:YaelDillies
CI: list the projects I maintain I've sorted the repos in alphabetical order, because I found it became difficult to track which ones I had already added. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI 88/22 scripts/downstream_repos.yml 1 1 ['github-actions'] nobody
1-29191
1 day ago
1-29202
1 day ago
1-29243
1 day
28653 strihanje01
author:strihanje01
feat(Combinatorics/Additive/Convolution): convolution map add convolution of finite subsets of a group --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 97/0 Mathlib.lean,Mathlib/Combinatorics/Additive/Convolution.lean 2 2 ['github-actions', 'strihanje01'] nobody
1-27929
1 day ago
1-30500
1 day ago
1-30564
1 day
26640 euprunin
author:euprunin
chore(Data): golf `Data/` using `grind` t-data 12/87 Mathlib/Data/EReal/Operations.lean,Mathlib/Data/List/Cycle.lean,Mathlib/Data/List/Induction.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/List/Permutation.lean,Mathlib/Data/List/Sigma.lean,Mathlib/Data/PEquiv.lean,Mathlib/Data/PNat/Xgcd.lean,Mathlib/Data/Prod/Lex.lean,Mathlib/Data/Seq/Parallel.lean,Mathlib/Data/Set/Lattice.lean 11 21 ['euprunin', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] nobody
1-27929
1 day ago
1-27930
1 day ago
48-84947
48 days
28604 alreadydone
author:alreadydone
chore(Algebra/Ring/Defs): add two classes (minimally invasive version) Add the missing `NonAssocComm(Semi)ring` classes and add some missing instances between existing classes. Contrary to #28532, the approach here doesn't add any new `extends`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra WIP
label:t-algebra$
62/22 Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean,Mathlib/NumberTheory/SelbergSieve.lean,Mathlib/RingTheory/Localization/Integral.lean,Mathlib/RingTheory/PowerSeries/GaussNorm.lean,Mathlib/RingTheory/Valuation/Discrete/Basic.lean 7 15 ['alreadydone', 'github-actions', 'leanprover-bot'] nobody
1-26952
1 day ago
1-51255
1 day ago
0-59042
16 hours
26923 oliver-butterley
author:oliver-butterley
feat(Dynamics/BirkhoffSum): add the pointwise ergodic theorem (Birkhoff's) The Pointwise Ergodic Theorem, also known as Birkhoff's Ergodic Theorem. Co-authored-by: Lua Viana Reis - [x] depends on: #26074 - [x] depends on: #26807 - [x] depends on: #26810 - [x] depends on: #26840 - [x] depends on: #26842 - [x] depends on: #26848 - [x] depends on: #26851 - [x] depends on: #26852 - [x] depends on: #26853 - [x] depends on: #27008 Zulip: [PR thread](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2326923.20The.20pointwise.20ergodic.20theorem.20.28Birkhoff's.29/with/527835158) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-dynamics 401/0 Mathlib.lean,Mathlib/Dynamics/BirkhoffSum/Pointwise.lean 2 6 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-26710
1 day ago
2-12462
2 days ago
2-13460
2 days
27972 smmercuri
author:smmercuri
chore: make `Valuation.Completion` a `def` and refactor more of `AdicValuation.lean` This PR continues the work from #24590. Original PR: https://github.com/leanprover-community/mathlib4/pull/24590 t-algebra t-number-theory WIP
label:t-algebra$
174/90 Mathlib/NumberTheory/NumberField/FinitePlaces.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean 5 5 ['github-actions', 'leanprover-bot', 'smmercuri'] nobody
1-22573
1 day ago
15-50227
15 days ago
0-84
1 minute
25836 jt496
author:jt496
feat(SimpleGraph/FiveWheelLike): add the Andrásfai-Erdős-Sós theorem Add the Andrásfai-Erdős-Sós theorem `colorable_of_cliqueFree_lt_minDegree` which says that an `r + 1`-cliquefree graph `G` with sufficiently large minimum degree is `r`-colorable. Co-authored-by: Lian Bremner Tattersall --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #25313.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/25313* large-import t-combinatorics 308/4 Mathlib/Combinatorics/SimpleGraph/FiveWheelLike.lean 1 3 ['YaelDillies', 'github-actions', 'jt496'] YaelDillies
assignee:YaelDillies
1-20521
1 day ago
1-29107
1 day ago
50-35857
50 days
27752 plp127
author:plp127
feat(Order): `NoBotOrder α` implies `NoMinOrder α` under `IsDirected α (· ≥ ·)` This PR continues the work from #24266. Original PR: https://github.com/leanprover-community/mathlib4/pull/24266 t-order awaiting-author 14/0 Mathlib/Order/Directed.lean 1 4 ['github-actions', 'j-loreaux', 'plp127'] nobody
1-19050
1 day ago
1-19050
1 day ago
19-20394
19 days
28013 astrainfinita
author:astrainfinita
feat: Lindemann-Weierstrass Theorem This PR continues the work from #6718. Original PR: https://github.com/leanprover-community/mathlib4/pull/6718 t-algebra t-analysis WIP
label:t-algebra$
1344/54 Mathlib.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/FieldTheory/Minpoly/ConjRootClass.lean,Mathlib/FieldTheory/Minpoly/IsConjRoot.lean,Mathlib/NumberTheory/Transcendental/Lindemann/AlgebraicPart.lean,Mathlib/NumberTheory/Transcendental/Lindemann/AnalyticalPart.lean,Mathlib/NumberTheory/Transcendental/Lindemann/Basic.lean,Mathlib/NumberTheory/Transcendental/Lindemann/SumAEvalARoots.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/Eval.lean,docs/100.yaml,docs/1000.yaml 11 n/a ['astrainfinita', 'github-actions', 'j-loreaux'] nobody
1-15741
1 day ago
unknown
unknown
28661 harahu
author:harahu
doc(MeasureTheory): Miscellaneous typo fixes --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 22/22 Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/DomAct/Continuous.lean,Mathlib/MeasureTheory/Integral/Bochner/L1.lean,Mathlib/MeasureTheory/Integral/CircleAverage.lean,Mathlib/MeasureTheory/Integral/CircleIntegral.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Periodic.lean,Mathlib/MeasureTheory/MeasurableSpace/EventuallyMeasurable.lean,Mathlib/MeasureTheory/MeasurableSpace/Invariants.lean,Mathlib/MeasureTheory/Measure/Count.lean,Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean,Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean,Mathlib/MeasureTheory/Measure/SeparableMeasure.lean,Mathlib/MeasureTheory/Measure/WithDensityFinite.lean 15 4 ['github-actions', 'harahu'] nobody
1-14903
1 day ago
1-15227
1 day ago
1-15269
1 day
28552 loefflerd
author:loefflerd
feat(Compactification/OnePoint): classify GL2 elements by fixed points Classify 2x2 matrices over R as elliptic, parabolic or hyperbolic and describe their fixed points. --- Carved off from the larger WIP PR #26651. - [x] depends on: #26811 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra
label:t-algebra$
320/7 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Basic.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/FinTwo.lean,Mathlib/Topology/Compactification/OnePoint/ProjectiveLine.lean 4 11 ['CBirkbeck', 'github-actions', 'loefflerd', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-9756
1 day ago
1-21565
1 day ago
1-36324
1 day
28553 themathqueen
author:themathqueen
feat(Analysis/InnerProductSpace/Positive): `A.toEuclideanLin.IsPositive` iff `A.PosSemidef` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 16/0 Mathlib/Analysis/InnerProductSpace/Positive.lean,Mathlib/LinearAlgebra/Matrix/Hermitian.lean 2 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
1-9121
1 day ago
1-9144
1 day ago
3-31071
3 days
28549 themathqueen
author:themathqueen
feat(Analysis/InnerProductSpace/Positive): `LinearIsometryEquiv ∘ T ∘ LinearIsometryEquiv.symm` is positive iff `T` is --- - [x] depends on: #28548 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis easy 8/0 Mathlib/Analysis/InnerProductSpace/Positive.lean 1 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-9075
1 day ago
1-9097
1 day ago
1-11750
1 day
28316 eric-wieser
author:eric-wieser
feat(Tactic/NormNum): better trace nodes Comparing the infoview on the first example in the test file | Before | After | |---|---| | image | image| In the after version, the extension names are all clickable. Similar to #21450. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 138/5 Mathlib.lean,Mathlib/Tactic/NormNum/Core.lean,Mathlib/Util/Trace.lean,MathlibTest/norm_num_trace.lean 4 6 ['eric-wieser', 'github-actions', 'leanprover-bot', 'plp127'] nobody
1-4924
1 day ago
8-9505
8 days ago
8-9494
8 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. new-contributor t-combinatorics 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 1 ['github-actions'] awainverse
assignee:awainverse
1-1442
1 day ago
12-19911
12 days ago
12-19956
12 days
28153 kckennylau
author:kckennylau
feat(Simproc): Simproc for explicit diagonal matrices ```lean example : (diagonal ![37, -1] : Matrix (Fin 2) (Fin 2) ℤ) = !![37, 0; 0, -1] := by simp ``` --- Shares code with #28148. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 114/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simproc/Matrix.lean,scripts/noshake.json 4 1 ['github-actions'] alexjbest
assignee:alexjbest
1-1440
1 day ago
11-26182
11 days ago
11-26233
11 days
28186 Sebi-Kumar
author:Sebi-Kumar
feat(Topology/Homotopy/Path): Add IsEquiv instance for Path.Homotopic Add `instance : IsEquiv (Path x₀ x₁) Homotopic` to the library. Allow use of lemmas like `of_eq` when proving two paths are homotopic. --- To provide additional context, I am relatively new to contributing to Mathlib, and I am doing so as a part of the Fields Undergraduate Summer Research Program hosted at the University of Western Ontario and supervised by Chris Kapulkin and Daniel Carranza. My goal is to prove that the `n`-sphere is simply connected for `n > 1`. Also, I am not super familiar with `IsEquiv` and when it should/shouldn't be used. I just wanted to use a lemma like `Path.Homotopic.of_eq` at one point while working on my code, and thought this was the best way to add such a result to the library. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology 5/0 Mathlib/Topology/Homotopy/Path.lean 1 4 ['Sebi-Kumar', 'github-actions', 'kckennylau'] PatrickMassot
assignee:PatrickMassot
1-1439
1 day ago
10-32769
10 days ago
10-32817
10 days
28174 YaelDillies
author:YaelDillies
feat: torsion-free modules Provide some very minimal API for torsion-free modules. This is mostly to agree on the definition. We can't add much further API before refactoring `Algebra.Module.Torsion` to have imports as light as `NoZeroSMulDivisors` and making `Module.IsTorsion` a class. From ClassFieldTheory --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CFT t-algebra
label:t-algebra$
43/1 Mathlib/Algebra/Module/Torsion.lean 1 10 ['YaelDillies', 'github-actions', 'kckennylau'] jcommelin
assignee:jcommelin
1-1439
1 day ago
10-66453
10 days ago
10-66453
10 days
28234 alreadydone
author:alreadydone
chore(AlgebraicTopology): clean up FundamentalGroupoid + Extract `FundamentalGroupoid.map (f : C(X, Y)) : FundamentalGroupoid X ⥤ FundamentalGroupoid Y` from `fundamentalGroupoidFunctor : TopCat ⥤ CategoryTheory.Grpd` + Define `FundamentalGroup.map (f : C(X, Y)) (x : X) : FundamentalGroup X x →* FundamentalGroup Y (f x)` and `mapOfEq : FundamentalGroup X x →* FundamentalGroup Y y` that takes an assumption `f x = y`. + Redefine `FundamentalGroup` to be `End` rather than `Aut`: since `FundamentalGroupoid` is a groupoid, `End` already has a group structure. This requires fixing some proofs about `HomotopyGroup`s, so we take this opportunity to golf a few proofs and replace `=>` by `↦`. + Golf within the file FundamentalGroupoid/Basic. + Generalize `toArrow` up to `fromPath` in `FundamentalGroupoid/FundamentalGroup` from `X : TopCat` to `[TopologicalSpace X]`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology 104/141 Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnected.lean,Mathlib/CategoryTheory/Groupoid.lean,Mathlib/Topology/Covering.lean,Mathlib/Topology/Homotopy/HomotopyGroup.lean,Mathlib/Topology/Homotopy/Product.lean 8 1 ['github-actions'] mattrobball
assignee:mattrobball
1-1437
1 day ago
9-45431
9 days ago
9-45415
9 days
28284 sgouezel
author:sgouezel
feat: finite product of probability measures We copy the API for the binary product of probability measures. Notably, we show that a finite product of probability measures depends continuously on the factors. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 126/0 Mathlib.lean,Mathlib/MeasureTheory/Measure/FiniteMeasurePi.lean 2 1 ['github-actions'] urkud
assignee:urkud
1-1436
1 day ago
8-53519
8 days ago
8-53566
8 days
28290 eric-wieser
author:eric-wieser
refactor(Tactic/Linarith): switch to using AtomM in natToInt This seems to result in a slight behavior change; the equations now end up being handled in `linarith` in the order they appear in the context, rather than in the order that `Expr.lt` sorts them. This matters when unifying metavariables, and sorting with `Expr.lt` increases the chance of non-determinism (as this can include metavariable names). This follows on from #14586; at the time I did not contribute it as I did not have a test-case that changed behavior. The metavariable assignment behavior here still feels pretty random ([#mathlib4 > Adding an extra hypothesis breaks linarith @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Adding.20an.20extra.20hypothesis.20breaks.20linarith/near/533973472)), but I think this change is probably still good. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 46/5 Mathlib/Tactic/Linarith/Preprocessing.lean,MathlibTest/linarith.lean 2 1 ['github-actions'] robertylewis
assignee:robertylewis
1-1435
1 day ago
8-43831
8 days ago
8-43883
8 days
26219 Thmoas-Guan
author:Thmoas-Guan
feat(RingTheory/KrullDimension): Krull Dimension of quotient regular sequence We show that if M is a finite module over a Noetherian local ring R, [r₁, …, rₙ] is an M-sequence, then dim M⧸(r₁, …, rₙ)M + n = dim M. Co-authored-by: Yongle Hu @mbkybky --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 241/15 Mathlib.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Localization.lean,Mathlib/RingTheory/Jacobson/Ideal.lean,Mathlib/RingTheory/KrullDimension/Module.lean,Mathlib/RingTheory/KrullDimension/Regular.lean,Mathlib/RingTheory/LocalRing/MaximalIdeal/Basic.lean,Mathlib/RingTheory/Nakayama.lean,Mathlib/RingTheory/Support.lean 9 n/a ['Thmoas-Guan', 'chrisflav', 'github-actions', 'leanprover-community-bot-assistant', 'mbkybky'] chrisflav
assignee:chrisflav
0-82515
22 hours ago
unknown
unknown
27039 Scarlett-le
author:Scarlett-le
feat(Geometry/Euclidean/Sphere/Basic): add theorems for angles subtended by diameters Add two formulations relating sphere diameters and right angles: * `angle_eq_pi_div_two_iff_mem_sphere_of_isDiameter`: For a diameter of a sphere, the angle subtended by the diameter at any other point on the sphere is a right angle if and only if the point lies on the sphere. * `angle_eq_pi_div_two_iff_mem_sphere_ofDiameter`: For three distinct points, the angle at the second point is a right angle if and only if the second point lies on the sphere having the first and third points as diameter endpoints. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge new-contributor t-euclidean-geometry awaiting-author 44/0 Mathlib/Geometry/Euclidean/Angle/Sphere.lean,docs/1000.yaml 2 22 ['JovanGerb', 'Scarlett-le', 'github-actions', 'jcommelin', 'jsm28'] nobody
0-71741
19 hours ago
6-39714
6 days ago
4-32009
4 days
28401 themathqueen
author:themathqueen
chore(LinearAlgebra/Matrix/HermitianFunctionalCalculus): moving and renaming stuff This moves the results about `spectrum` from `Matrix/HermitianFunctionalCalculus` to `Matrix/Spectrum` so that we can use them in other files. This also renames `Matrix.IsHermitian.eigenvalues_eq_spectrum_real`, as it should be `Matrix.IsHermitian.spectrum_real_eq_range_eigenvalues` since it states: `spectrum ℝ A = Set.range hA.eigenvalues` and not the other way around. Also added a result for what the `𝕜`-spectrum of a Hermitian matrix is. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra easy
label:t-algebra$
26/18 Mathlib/LinearAlgebra/Matrix/HermitianFunctionalCalculus.lean,Mathlib/LinearAlgebra/Matrix/Spectrum.lean 2 1 ['JonBannon', 'github-actions'] nobody
0-71331
19 hours ago
4-14210
4 days ago
6-46964
6 days
28344 themathqueen
author:themathqueen
feat(Analysis/InnerProductSpace/PiL2): `(innerSL _ x).toMatrix` and `(toSpanSingleton _ x).toMatrix` In [bra-ket notation](https://en.wikipedia.org/wiki/Bra–ket_notation), this says that the matrix of `|x⟩` given by basis `b` is the column matrix `b.repr x`, and that the matrix of `⟨x|` given by orthonormal basis `b` is the row matrix `star (b.repr x)`, where `|x⟩ = toSpanSingleton _ x` and `⟨x| = innerSL _ x` So then the matrix of a rank-one operator `|x⟩⟨y|` given by orthonormal basis `b₂` and basis `b` is equal to `vecMulVec (b.repr x) (star (b₂.repr y))`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 35/0 Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Mul.lean,Mathlib/Data/Matrix/RowCol.lean,Mathlib/LinearAlgebra/Basis/Basic.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean 5 20 ['eric-wieser', 'github-actions', 'themathqueen'] nobody
0-68348
18 hours ago
1-41478
1 day ago
7-43617
7 days
27162 themathqueen
author:themathqueen
feat(Analysis/InnerProductSpace/Positive): `U.starProjection ≤ V.starProjection` iff `U ≤ V` For symmetric projections `p` and `q`, `p ≤ q` iff `q ∘ p = p`, so then a corollary is: `U.starProjection ≤ V.starProjection` iff `U ≤ V`. --- - [x] depends on: #25910 - [x] depends on: #27619 - [x] depends on: #27642 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 38/0 Mathlib/Analysis/InnerProductSpace/Positive.lean,Mathlib/Analysis/InnerProductSpace/Symmetric.lean 2 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-67917
18 hours ago
1-9387
1 day ago
5-76216
5 days
28630 Antidite
author:Antidite
feat(Archive/Imo): right isosceles configuration in the complex plane feat(Archive/Imo): right isosceles configuration in the complex plane This adds `Archive/Imo/Imo1975Q3.lean`, formalizing a triangle configuration with points A=0, B=1, C=z and auxiliary points R, P, Q built via complex rotations and sine-based scale factors. Main results: * `angle_and_distance`: ∠QRP = π/2 and dist Q R = dist R P. * Key identity `QRP_rot90`: (Q z).z − R.z = e^{iπ/2} · ((P z).z − R.z). Design/Style: * Minimal imports; module docstring; semantic lemma names; all definitions and theorems live under the namespace `IMO.TriangleConfig`. Moves: - (none) Deletions: - (none) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) IMO new-contributor 196/0 Archive.lean,Archive/Imo/Imo1975Q3.lean 2 32 ['Antidite', 'LLaurance', 'github-actions'] nobody
0-66576
18 hours ago
1-58800
1 day ago
1-58844
1 day
27937 madvorak
author:madvorak
feat(Logic/Basic): `congr_heq₂` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic 6/0 Mathlib/Logic/Basic.lean 1 7 ['YaelDillies', 'github-actions', 'madvorak', 'vihdzp'] fpvandoorn
assignee:fpvandoorn
0-64582
17 hours ago
0-65566
18 hours ago
16-40493
16 days
28681 euprunin
author:euprunin
chore(Data/Finset): golf entire `diag_union_offDiag`, `erase_right_comm`, `univ_filter_mem_range` and `powersetCard_map` using `grind` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 4/12 Mathlib/Data/Finset/BooleanAlgebra.lean,Mathlib/Data/Finset/Erase.lean,Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Finset/Prod.lean 4 1 ['github-actions'] nobody
0-62718
17 hours ago
0-63664
17 hours ago
0-63704
17 hours
24514 b-mehta
author:b-mehta
chore(Int/GCD): use fuel in xgcd Modify the definition of xgcd to use fuel recursion, to allow it to be reduced in the kernel. As a consequence, this means the evaluation of field operations in ZMod p become provable by `rfl` and `decide`. Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/opaque.20recursion.20definitions.20break.20mergeSort.20decidability --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data awaiting-author 44/22 Mathlib/Data/Int/GCD.lean 1 5 ['astrainfinita', 'b-mehta', 'eric-wieser', 'github-actions', 'nomeata', 'urkud'] nobody
0-61884
17 hours ago
53-4581
1 month ago
58-34020
58 days
26645 erdOne
author:erdOne
feat(RingTheory/PowerSeries): Construction of `Q` such that `P(Q(X)) = X` Co-authored-by: Junnosuke Koizumi Co-authored-by: Hyeon, Seung-Hyeon Co-authored-by: Yuichiro Taguchi This contribution was created as part of the ZMC conference 2025 "Anabelian Geometry and its Computer Formalization". --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory awaiting-author 133/0 Mathlib/RingTheory/PowerSeries/Substitution.lean 1 9 ['chrisflav', 'erdOne', 'github-actions', 'kckennylau'] kbuzzard
assignee:kbuzzard
0-61714
17 hours ago
0-61714
17 hours ago
48-29860
48 days
26783 matthewjasper
author:matthewjasper
feat(RingTheory/Flat): Add theorems relating Submodule.torsion and Module.Flat Co-authored-by: Kevin Buzzard --- This PR continues the work from #25334. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory FLT new-contributor awaiting-author 205/0 Mathlib.lean,Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/RingTheory/Flat/TorsionFree.lean,Mathlib/RingTheory/Ideal/IsPrincipal.lean 5 3 ['github-actions', 'kbuzzard'] kbuzzard
assignee:kbuzzard
0-60993
16 hours ago
0-60993
16 hours ago
45-72945
45 days
27157 riccardobrasca
author:riccardobrasca
feat: add relNorm_algebraMap --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra delegated
label:t-algebra$
28/3 Mathlib/RingTheory/Ideal/Norm/RelNorm.lean 1 9 ['eric-wieser', 'github-actions', 'mathlib-bors', 'ocfnash', 'xroblot'] ocfnash
assignee:ocfnash
0-60488
16 hours ago
0-60488
16 hours ago
14-66282
14 days
28650 Vierkantor
author:Vierkantor
chore(Analysis): address a lot of porting notes Go through all porting notes in the Analysis folder and address those with an obvious resolution. A few won'tfixes where Lean 4 is stricter about unfolding or where `@[simp]` attributes were already wrong; otherwise most are easily resolved. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-analysis 69/134 Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Tagged.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Calculus/FDeriv/Prod.lean,Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Convex/Body.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Convex/Intrinsic.lean,Mathlib/Analysis/Convex/SimplicialComplex/Basic.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/Orientation.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/InnerProductSpace/Projection/Basic.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Analysis/InnerProductSpace/TwoDim.lean,Mathlib/Analysis/Matrix.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Analysis/Normed/Group/AddTorsor.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Group/Quotient.lean,Mathlib/Analysis/Normed/Group/Rat.lean,Mathlib/Analysis/Normed/Group/SemiNormedGrp/Kernels.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Analysis/Normed/Operator/Banach.lean,Mathlib/Analysis/Normed/Operator/BoundedLinearMaps.lean,Mathlib/Analysis/Normed/Ring/Lemmas.lean,Mathlib/Analysis/Normed/Unbundled/RingSeminorm.lean,Mathlib/Analysis/NormedSpace/Extend.lean,Mathlib/Analysis/NormedSpace/MStructure.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Completeness.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/PolarCoord.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/LinearAlgebra/FiniteDimensional/Defs.lean 41 11 ['Vierkantor', 'github-actions'] nobody
0-60361
16 hours ago
1-31274
1 day ago
1-31259
1 day
19872 YaelDillies
author:YaelDillies
chore(GroupTheory/Index): rename `relindex` to `relIndex` Zulip discussion about renaming: [#PR reviews > #19872 rename relindex to relIndex @ 💬](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2319872.20rename.20relindex.20to.20relIndex/near/515908054) --- - [x] depends on: #24044 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) FLT maintainer-merge t-algebra
label:t-algebra$
288/182 Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/FieldTheory/Relrank.lean,Mathlib/GroupTheory/Commensurable.lean,Mathlib/GroupTheory/CosetCover.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/IndexNormal.lean,Mathlib/GroupTheory/PGroup.lean,Mathlib/GroupTheory/Schreier.lean,Mathlib/GroupTheory/SchurZassenhaus.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/GroupTheory/Transfer.lean,Mathlib/LinearAlgebra/FreeModule/Finite/CardQuotient.lean,Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean,Mathlib/NumberTheory/NumberField/Discriminant/Different.lean,Mathlib/NumberTheory/NumberField/Units/Regulator.lean,Mathlib/RingTheory/Ideal/Quotient/Index.lean 17 27 ['Ruben-VandeVelde', 'TwoFX', 'YaelDillies', 'alreadydone', 'eric-wieser', 'github-actions', 'kbuzzard', 'leanprover-community-bot-assistant', 'loefflerd', 'madvorak', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'tb65536'] nobody
0-60235
16 hours ago
7-55242
7 days ago
200-68756
200 days
27644 themathqueen
author:themathqueen
chore(LinearAlgebra/Projection): deprecating `subtype ∘ linearProjOfIsCompl` in favor of `IsCompl.projection` This deprecates all instances of `U.subtype ∘ U.linearProjOfIsCompl V hUV` and `(U.linearProjOfIsCompl V hUV x : E)` in favor of `hUV.projection` and `hUV.projection x` respectively in `LinearAlgebra/Projection` and other files. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
45/30 Mathlib/Algebra/Lie/LieTheorem.lean,Mathlib/Analysis/InnerProductSpace/Projection/Submodule.lean,Mathlib/Analysis/InnerProductSpace/Symmetric.lean,Mathlib/LinearAlgebra/Projection.lean 4 7 ['github-actions', 'j-loreaux', 'themathqueen'] nobody
0-59830
16 hours ago
1-6142
1 day ago
22-14854
22 days
27825 yonggyuchoimath
author:yonggyuchoimath
feat(RingTheory/Ideal/Height): sup of ideal heights equals Krull dimension Adds `Ideal.sup_height_eq_ringKrullDim` and `Ideal.sup_primeHeight_eq_ringKrullDim`. They show the suprema of heights of ideals / prime ideals are equal to the Krull dimension, when the ring is nonzero. t-ring-theory new-contributor 53/0 Mathlib/RingTheory/Ideal/Height.lean 1 5 ['github-actions', 'kbuzzard', 'yonggyuchoimath'] kbuzzard
assignee:kbuzzard
0-57526
15 hours ago
16-27999
16 days ago
19-43087
19 days
28669 kckennylau
author:kckennylau
chore: clean up some proofs about locally compact valuation --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 40/25 Mathlib/RingTheory/Valuation/Archimedean.lean,Mathlib/Topology/Algebra/Valued/LocallyCompact.lean 2 3 ['github-actions', 'kckennylau', 'pechersky'] nobody
0-57416
15 hours ago
0-86387
23 hours ago
0-86370
23 hours
28663 harahu
author:harahu
doc(Tactic): hyphenate "right-hand" and "left-hand" where appropriate --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-meta 18/18 Mathlib/Tactic/ApplyCongr.lean,Mathlib/Tactic/CC/Addition.lean,Mathlib/Tactic/CC/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Slice.lean,Mathlib/Tactic/LinearCombination'.lean,Mathlib/Tactic/LinearCombination.lean,Mathlib/Tactic/SetLike.lean,Mathlib/Tactic/Widget/LibraryRewrite.lean 8 3 ['github-actions', 'grunweg'] nobody
0-55983
15 hours ago
0-56113
15 hours ago
1-12237
1 day
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 t-algebra t-analysis t-number-theory
label:t-algebra$
199/20 Mathlib.lean,Mathlib/Analysis/Normed/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean 3 17 ['ADedecker', 'adamtopaz', 'github-actions', 'kbuzzard', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] kbuzzard
assignee:kbuzzard
0-54683
15 hours ago
7-34329
7 days ago
44-13653
44 days
28176 vihdzp
author:vihdzp
chore: add `simp` attribute to `abs_mul` See [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/abs_mul.20simp). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra easy
label:t-algebra$
3/3 Mathlib/Algebra/Order/Ring/Abs.lean,Mathlib/NumberTheory/Ostrowski.lean 2 4 ['github-actions', 'kbuzzard', 'leanprover-bot'] jcommelin
assignee:jcommelin
0-53700
14 hours ago
10-11194
10 days ago
10-50313
10 days
27837 CBirkbeck
author:CBirkbeck
feat(NumberTheory/Divisors): add divisorAntidiagonal equivalence. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-number-theory 1/0 Mathlib.lean 1 10 ['CBirkbeck', 'github-actions', 'riccardobrasca', 'tb65536'] tb65536
assignee:tb65536
0-50006
13 hours ago
9-8828
9 days ago
17-37630
17 days
28691 or4nge19
author:or4nge19
feat(Probability/Invariance):Reversibility/DetailedBalance Add reversibility (detailed balance) for Markov kernels and show it implies invariance --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability 25/1 Mathlib/Probability/Kernel/Invariance.lean 1 1 ['github-actions'] nobody
0-48978
13 hours ago
0-52123
14 hours ago
0-52165
14 hours
28142 YaelDillies
author:YaelDillies
refactor: state hypotheses of `BialgHom.ofAlgHom` as equalities of `AlgHom`s ... as opposed to equalities of `LinearMap`s, and similarly for `BialgEquiv.ofAlgEquiv`. This way, dedicated `ext` lemmas can fire. From Toric --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory toric maintainer-merge 34/19 Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/RingTheory/Bialgebra/Equiv.lean,Mathlib/RingTheory/Bialgebra/Hom.lean 3 3 ['chrisflav', 'github-actions'] chrisflav
assignee:chrisflav
0-46289
12 hours ago
0-55519
15 hours ago
11-64575
11 days
28682 Thmoas-Guan
author:Thmoas-Guan
feat(RingTheory): definition of regular local ring In this PR, we give the definition of regular local ring. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 136/0 Mathlib.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/RingTheory/RegularLocalRing.lean 3 23 ['Thmoas-Guan', 'chrisflav', 'github-actions', 'mbkybky'] chrisflav
assignee:chrisflav
0-45821
12 hours ago
0-58675
16 hours ago
0-1866
31 minutes
27511 Nebula691
author:Nebula691
feat(Algebra/QuadraticAlgebra) : Define Quadratic Algebra Co-authored-by: Edison Xie Co-authored-by: Kenny Lau --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
419/0 Mathlib.lean,Mathlib/Algebra/QuadraticAlgebra.lean 2 70 ['Whysoserioushah', 'YaelDillies', 'eric-wieser', 'github-actions', 'kckennylau'] eric-wieser
assignee:eric-wieser
0-45140
12 hours ago
25-35739
25 days ago
25-35784
25 days
28151 iehality
author:iehality
feat(Computability): r.e. sets are closed under inter/union/projection/composition Prove that r.e. sets are closed under intersections, unions, projection and composition. --- This PR continues the work from #16705. Original PR: https://github.com/leanprover-community/mathlib4/pull/16705 t-computability awaiting-author 120/0 Mathlib/Computability/Halting.lean 1 11 ['YaelDillies', 'github-actions', 'iehality'] YaelDillies
assignee:YaelDillies
0-44597
12 hours ago
1-53936
1 day ago
9-70671
9 days
26156 oliver-butterley
author:oliver-butterley
feat(MeasureTheory.VectorMeasure) : add a definition of total variation for VectorMeasure This PR adds variation for any `VectorMeasure` using a supremum definition. Currently mathlib has `TotalVariation` defined for a signed measure using the Hahn-Jordan decomposition, but this doesn't generalise. Motivation: generally this is an important concept but specifically as a step for proving RMK in the complex case which in turn is a step to prove the spectral theorem. Co-authored-by: @yoh-tanimoto This PR was migrated from #25442. PR divided into smaller pieces, this is just the definition without additional lemmas. PRs adding further results related to variation are: * #26160 * #26165 * #26168 (shows that for `SignedMeasures` the two definitions of variation coincide) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability awaiting-author 354/0 Mathlib.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Defs.lean 2 27 ['EtienneC30', 'github-actions'] EtienneC30
assignee:EtienneC30
0-44271
12 hours ago
20-33801
20 days ago
42-9361
42 days
27596 Paul-Lez
author:Paul-Lez
feat(Topology/Instances/Matrix/{*}): Add `TopologicalSpace` instance for `SpecialLinearGroup`. Add `TopologicalSpace` instance for `SpecialLinearGroup`. In order to avoid a large import issue, I've created a new `Matrix` subdirectory in `Topology/Instances` which contains the old `Topology/Instances/Matrix.lean` (renamed to `Basic.lean`) and a new file `SpecialLinearGroup.lean`. Context: this came up in the following [formal-conjectures PR](https://github.com/google-deepmind/formal-conjectures/pull/455) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed t-algebra easy
label:t-algebra$
26/3 Mathlib.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/NumberTheory/Modular.lean,Mathlib/Topology/Instances/Matrix/Basic.lean,Mathlib/Topology/Instances/Matrix/SpecialLinearGroup.lean 5 6 ['Paul-Lez', 'github-actions', 'mathlib4-merge-conflict-bot', 'ocfnash'] ocfnash
assignee:ocfnash
0-44144
12 hours ago
5-57336
5 days ago
13-36782
13 days
26014 CBirkbeck
author:CBirkbeck
feat: define the Eisenstein Series E2 This PR continues the work from #24822. Original PR: https://github.com/leanprover-community/mathlib4/pull/24822 - [ ] depends on : #27606 t-number-theory 1038/6 Mathlib.lean,Mathlib/Analysis/Complex/IntegerCompl.lean,Mathlib/Analysis/Complex/SummableUniformlyOn.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean,Mathlib/Data/Complex/Exponential.lean,Mathlib/NumberTheory/ArithmeticFunction.lean,Mathlib/NumberTheory/Divisors.lean,Mathlib/NumberTheory/LSeries/RiemannZeta.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Basic.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Defs.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/QExpansion.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean,Mathlib/RingTheory/EuclideanDomain.lean,Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean 16 2 ['CBirkbeck', 'github-actions'] nobody
0-42591
11 hours ago
64-58047
2 months ago
0-0
0 seconds
28680 vihdzp
author:vihdzp
feat: set has cardinality one iff singleton --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory easy awaiting-author 11/1 Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Defs.lean 2 5 ['b-mehta', 'github-actions', 'kckennylau'] nobody
0-42075
11 hours ago
0-42075
11 hours ago
0-24645
6 hours
28642 chrisflav
author:chrisflav
chore(RingTheory/Localization/Algebra): generalize universes and to `CommSemiring` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 23/29 Mathlib/Algebra/Algebra/Hom.lean,Mathlib/RingTheory/Localization/Algebra.lean,Mathlib/RingTheory/Localization/Basic.lean 3 1 ['github-actions'] nobody
0-41957
11 hours ago
0-41964
11 hours ago
1-36531
1 day
28165 javra
author:javra
feat(CategoryTheory/Enriched): transport enrichment on enriched ordinary categories --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) infinity-cosmos t-category-theory delegated 147/3 Mathlib/CategoryTheory/Enriched/Basic.lean,Mathlib/CategoryTheory/Enriched/Ordinary/Basic.lean 2 6 ['emilyriehl', 'github-actions'] b-mehta
assignee:b-mehta
0-41764
11 hours ago
10-19472
10 days ago
10-24008
10 days
27785 staroperator
author:staroperator
chore(Algebra/Group/Submonoid): golf `Nat.addSubmonoidClosure_one` using `simp` This should improve the proof readability. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra
label:t-algebra$
8/15 Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Order/Star/Basic.lean 3 8 ['github-actions', 'joneugster', 'leanprover-bot', 'mathlib4-merge-conflict-bot', 'staroperator'] joneugster
assignee:joneugster
0-41676
11 hours ago
0-41676
11 hours ago
19-25569
19 days
27936 alreadydone
author:alreadydone
feat(Algebra): additivize Dvd and Prime `Prime` can't be directly additivized, so we introduce `Preprime`, which drops the `≠ 0` condition, and additivize it to `AddPrime`. To show that `Preprime` is a reasonable definition, we show its connection to `Irreducible` under `IsPrimal` and `IsRegular` conditions. We also show that an element in a product monoid is preprime iff one component is a unit and the other is preprime, and the same with `Preprime` replaced by `Irreducible`. Also additivize `IsPrimal`, `IsRelPrime` and `DecompositionMonoid`. The motivation is that the primality of `single g 1` in `AddMonoidAlgebra k G` is connected to the primality of `g` in `G`. --- I've checked [all 29 files](https://github.com/search?q=repo%3Aleanprover-community%2Fmathlib4%20%E2%88%A3%20to_additive&type=code) containing the `∣` symbol and the `to_additive` attribute and fixed the wrongly translated (`dvd` to `addDvd`) names. TODO: connect (Add)Dvd to [ExistsMul/AddOfLE](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Monoid/Unbundled/ExistsOfLE.html#ExistsMulOfLE) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
401/191 Mathlib.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/BigOperators/Group/Finset/Piecewise.lean,Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean,Mathlib/Algebra/Divisibility/Basic.lean,Mathlib/Algebra/Divisibility/Finite.lean,Mathlib/Algebra/Divisibility/Hom.lean,Mathlib/Algebra/Divisibility/Prod.lean,Mathlib/Algebra/Divisibility/Units.lean,Mathlib/Algebra/Group/Action/Pointwise/Finset.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Algebra/Notation/Defs.lean,Mathlib/Algebra/Prime/Defs.lean,Mathlib/Algebra/Prime/Lemmas.lean,Mathlib/Algebra/Prime/Prod.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/Dynamics/PeriodicPts/Defs.lean,Mathlib/GroupTheory/Coset/Card.lean,Mathlib/GroupTheory/Exponent.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/GroupTheory/GroupAction/Period.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/OrderOfElement.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/GroupTheory/Schreier.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/Tactic/ToAdditive/GuessName.lean 30 4 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
0-41593
11 hours ago
1-9079
1 day ago
14-79300
14 days
25183 YaelDillies
author:YaelDillies
feat: convolution product on linear maps from a coalgebra to an algebra Construct the ring structure on linear maps `C → A` where `C` is a coalgebra and `A` an algebra, where multiplication is given by `(f * g)(x) = ∑ f x₍₁₎ * g x₍₂₎` in Sweedler notation or ``` | μ | | / \ f * g = f g | | \ / δ | ``` diagrammatically, where `μ` stands for multiplication and `δ` for comultiplication. [Zulip](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/.60Mul.60.20instance.20on.20algebra.20homomorphisms.20from.20monoid.20algebra) From Toric Co-authored-by: Michał Mrugała Co-authored-by: Yunzhou Xie --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-algebra
label:t-algebra$
137/0 Mathlib.lean,Mathlib/RingTheory/Coalgebra/Convolution.lean 2 19 ['YaelDillies', 'erdOne', 'eric-wieser', 'github-actions', 'kbuzzard', 'smorel394'] kbuzzard
assignee:kbuzzard
0-40357
11 hours ago
87-21588
2 months ago
87-25508
87 days
27282 artie2000
author:artie2000
feat(Algebra/Order/Ring): define ring orderings Define preorderings, their supports, orderings These objects are the right generalisation of the "positive cones" / "orderings" defined on fields in the classical Artin-Schreier argument that a field can be ordered if and only if -1 is not a sum of squares. See *An introduction to real algebra* by T.Y. Lam for details. Contrast `Algebra.Order.Ring.Cone`, which defines an algebraic axiomatisation of a (partially/linearly) ordered ring. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import delegated 209/20 Mathlib.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Order/Group/Cone.lean,Mathlib/Algebra/Order/Ring/Cone.lean,Mathlib/Algebra/Order/Ring/Ordering/Defs.lean 5 121 ['YaelDillies', 'adomani', 'artie2000', 'bryangingechen', 'chrisflav', 'github-actions', 'mathlib-bors', 'wwylele'] chrisflav
assignee:chrisflav
0-40214
11 hours ago
0-46175
12 hours ago
14-21388
14 days
26330 Timeroot
author:Timeroot
"Junk value" test file This PR continues the work from #25173. Original PR: https://github.com/leanprover-community/mathlib4/pull/25173 t-data 360/0 MathlibTest/Junk.lean 1 3 ['Timeroot', 'github-actions', 'leanprover-community-bot-assistant'] nobody
0-39438
10 hours ago
41-17920
1 month ago
56-66802
56 days
27889 astrainfinita
author:astrainfinita
chore(RingTheory/(Mv)PowerSeries): use implicit parameters in `monomial`, `coeff`, `map`, `C`, and `constantCoeff` Just like what we did for `Polynomial`, `MvPolynomial`, and `HahnSeries`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-algebra
label:t-algebra$
555/572 Archive/Wiedijk100Theorems/Partition.lean,Mathlib/NumberTheory/Bernoulli.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean,Mathlib/RingTheory/HahnSeries/HEval.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/KrullDimension/NonZeroDivisors.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/MvPowerSeries/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Evaluation.lean,Mathlib/RingTheory/MvPowerSeries/Inverse.lean,Mathlib/RingTheory/MvPowerSeries/LexOrder.lean,Mathlib/RingTheory/MvPowerSeries/LinearTopology.lean,Mathlib/RingTheory/MvPowerSeries/NoZeroDivisors.lean,Mathlib/RingTheory/MvPowerSeries/Order.lean,Mathlib/RingTheory/MvPowerSeries/PiTopology.lean,Mathlib/RingTheory/MvPowerSeries/Substitution.lean,Mathlib/RingTheory/MvPowerSeries/Trunc.lean,Mathlib/RingTheory/Polynomial/Eisenstein/Distinguished.lean,Mathlib/RingTheory/Polynomial/GaussNorm.lean,Mathlib/RingTheory/Polynomial/HilbertPoly.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/Binomial.lean,Mathlib/RingTheory/PowerSeries/CoeffMulMem.lean,Mathlib/RingTheory/PowerSeries/Derivative.lean,Mathlib/RingTheory/PowerSeries/Evaluation.lean,Mathlib/RingTheory/PowerSeries/GaussNorm.lean,Mathlib/RingTheory/PowerSeries/Inverse.lean,Mathlib/RingTheory/PowerSeries/NoZeroDivisors.lean,Mathlib/RingTheory/PowerSeries/Order.lean,Mathlib/RingTheory/PowerSeries/PiTopology.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean,Mathlib/RingTheory/PowerSeries/Trunc.lean,Mathlib/RingTheory/PowerSeries/WeierstrassPreparation.lean,Mathlib/RingTheory/PowerSeries/WellKnown.lean 34 21 ['alreadydone', 'github-actions', 'leanprover-bot', 'mathlib4-merge-conflict-bot'] nobody
0-38455
10 hours ago
0-47180
13 hours ago
11-23438
11 days
28637 JovanGerb
author:JovanGerb
feat(to_additive): `(dont_translate := ...)` option This PR adds the `(dont_translate := ...)` option to `to_additive`. This helps with additivizing delarations that have some multiplicative structure that can't be translated, such as a `GroupWithZero`, `Ring` or `Field`. In a future PR some automation will be added to infer these arguments automatically based on the type of the declaration. For example if the type includes `GroupWithZero G`, then `G` will be automatically not translated. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 120/27 Mathlib/Tactic/ToAdditive/Frontend.lean,MathlibTest/toAdditive.lean 2 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
0-37930
10 hours ago
0-53575
14 hours ago
0-81869
22 hours
27443 yuanyi-350
author:yuanyi-350
Stacks tags --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra WIP
label:t-algebra$
6/3 Mathlib/Data/Nat/Init.lean,Mathlib/RingTheory/Localization/AtPrime/Basic.lean,Mathlib/RingTheory/Noetherian/Basic.lean 3 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
0-36558
10 hours ago
5-38410
5 days ago
0-990
16 minutes
28645 YaelDillies
author:YaelDillies
chore: rename `mul_le_mul_left`/`mul_le_mul_right` to `mul_le_mul_iff_right₀`/`mul_le_mul_iff_left₀` This is one of the longest standing naming issues in mathlib. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-CI 115/108 Archive/Imo/Imo1972Q5.lean,Archive/Imo/Imo1975Q1.lean,Archive/Imo/Imo1998Q2.lean,Archive/Imo/Imo2013Q5.lean,Archive/Imo/Imo2015Q6.lean,Archive/Sensitivity.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Defs.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/OrderIso.lean,Mathlib/Algebra/Order/Positive/Ring.lean,Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/UnitPartition.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Convex/Cone/Extension.lean,Mathlib/Analysis/Fourier/FourierTransformDeriv.lean,Mathlib/Analysis/Fourier/PoissonSummation.lean,Mathlib/Analysis/Hofer.lean,Mathlib/Analysis/InnerProductSpace/LaxMilgram.lean,Mathlib/Analysis/InnerProductSpace/LinearMap.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/Normed/Group/AddCircle.lean,Mathlib/Analysis/Normed/Unbundled/FiniteExtension.lean,Mathlib/Analysis/Normed/Unbundled/IsPowMulFaithful.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromConst.lean,Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean,Mathlib/Analysis/NormedSpace/Extend.lean,Mathlib/Analysis/NormedSpace/MStructure.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/NormedSpace.lean,Mathlib/Analysis/NormedSpace/Real.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Analysis/SpecialFunctions/Log/Monotone.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean,Mathlib/Combinatorics/Extremal/RuzsaSzemeredi.lean,Mathlib/Combinatorics/SetFamily/Kleitman.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/TuranDensity.lean,Mathlib/Computability/Ackermann.lean,Mathlib/Data/Complex/Norm.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Ordmap/Ordset.lean,Mathlib/GroupTheory/GroupAction/Primitive.lean,Mathlib/LinearAlgebra/Matrix/ToLinearEquiv.lean,Mathlib/LinearAlgebra/RootSystem/Finite/Lemmas.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/NumberTheory/DiophantineApproximation/Basic.lean,Mathlib/NumberTheory/ModularForms/JacobiTheta/TwoVariable.lean,Mathlib/NumberTheory/Pell.lean,Mathlib/NumberTheory/SumPrimeReciprocals.lean,Mathlib/RingTheory/DedekindDomain/SelmerGroup.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/Tactic/CancelDenoms/Core.lean 57 1 ['github-actions'] nobody
0-35790
9 hours ago
1-33350
1 day ago
0-39
39 seconds
28636 YaelDillies
author:YaelDillies
feat(Data/Nat): `gcongr` attributes for `sub` lemma From ForbiddenMatrix --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 3/0 Mathlib/Data/Nat/Init.lean 1 2 ['github-actions', 'j-loreaux'] nobody
0-35153
9 hours ago
1-13952
1 day ago
0-30603
8 hours
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/) large-import new-contributor t-number-theory 52/3 Mathlib/NumberTheory/ArithmeticFunction.lean 1 7 ['b-mehta', 'eric-wieser', 'github-actions'] nobody
0-33851
9 hours ago
0-75004
20 hours ago
0-75975
21 hours
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/) new-contributor t-analysis awaiting-author WIP 497/0 Mathlib.lean,Mathlib/Analysis/Calculus/FDeriv/Partial.lean,Mathlib/Analysis/Normed/Module/Convex.lean,Mathlib/Analysis/Normed/Operator/BoundedLinearMaps.lean 4 19 ['YaelDillies', 'agjftucker', 'github-actions', 'igorkhavkine', 'mathlib4-dependent-issues-bot', 'sgouezel'] sgouezel
assignee:sgouezel
0-33620
9 hours ago
6-25325
6 days ago
50-22679
50 days
27715 dupuisf
author:dupuisf
feat(CStarAlgebra): `a => a ^ p` is operator monotone for `p ∈ Icc 0 1` This PR shows that `a => a ^ p` is operator monotone for `p ∈ Icc 0 1`, i.e. that `CFC.nnrpow`, `CFC.rpow` and `CFC.sqrt` are monotone, using the integral representation for the power function. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-analysis awaiting-author 297/12 Mathlib/Algebra/Algebra/Spectrum/Quasispectrum.lean,Mathlib/Analysis/CStarAlgebra/ApproximateUnit.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean,Mathlib/Topology/ContinuousOn.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/Separation/Hausdorff.lean 8 21 ['dupuisf', 'github-actions', 'j-loreaux'] j-loreaux
assignee:j-loreaux
0-33506
9 hours ago
0-84759
23 hours ago
19-971
19 days
27040 Scarlett-le
author:Scarlett-le
feat(Geometry/Euclidean/Sphere/Power): add power of a point theorems Add the definition of power of a point and fundamental theorems relating point positions to intersection distances: * `Sphere.power`: The power of a point with respect to a sphere, defined as the square of the distance from the point to the center minus the square of the radius. * `Sphere.power_eq_zero_iff_mem_sphere`: A point lies on the sphere if and only if its power is zero. * `Sphere.power_pos_iff_dist_center_gt_radius`: The power is positive if and only if the point is outside the sphere. * `Sphere.power_neg_iff_dist_center_lt_radius`: The power is negative if and only if the point is inside the sphere. * `Sphere.mul_dist_eq_power_of_dist_center_gt_radius`: For external points, the product of intersection distances equals the power. * `Sphere.mul_dist_eq_neg_power_of_dist_center_lt_radius`: For internal points, the product equals the negative power. * `Sphere.mul_dist_eq_abs_power`: General form relating intersection distance products to absolute power. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge new-contributor t-euclidean-geometry awaiting-author 110/1 Mathlib/Geometry/Euclidean/Sphere/Power.lean 1 31 ['JovanGerb', 'Scarlett-le', 'alreadydone', 'github-actions', 'jcommelin', 'jsm28'] jsm28
assignee:jsm28
0-33412
9 hours ago
6-37881
6 days ago
32-72818
32 days
26138 xroblot
author:xroblot
Development branch (2) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import WIP 3777/184 Mathlib.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Group/Torsion.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Algebra/GroupWithZero/Regular.lean,Mathlib/Algebra/GroupWithZero/Torsion.lean,Mathlib/Algebra/Polynomial/Eval/Degree.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean,Mathlib/FieldTheory/LinearDisjoint.lean,Mathlib/LinearAlgebra/BilinearForm/Properties.lean,Mathlib/Misc.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/RingTheory/Binomial.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/DedekindDomain/Factorization.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/DedekindDomain/IntegralClosure.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/Ideal/GoingUp.lean,Mathlib/RingTheory/Ideal/Int.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Norm/RelNorm.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/Ideal/Prime.lean,Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean,Mathlib/RingTheory/IntegralClosure/IntegrallyClosed.lean,Mathlib/RingTheory/LinearDisjoint.lean,Mathlib/RingTheory/Localization/AtPrime/Basic.lean,Mathlib/RingTheory/Localization/AtPrime/Extension.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/FractionRing.lean,Mathlib/RingTheory/Trace/Basic.lean,Mathlib/RingTheory/Trace/Quotient.lean,Mathlib/Sandbox.lean,Mathlib/relNorm.lean 38 n/a ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] nobody
0-32482
9 hours ago
unknown
unknown
28169 xroblot
author:xroblot
feat(DedekindDomain): Monoid of ideals is torsion-free We prove that an unique factorization monoid `M` that can be equipped with a `NormalizationMonoid` structure and such that `Mˣ` is torsion-free, is torsion-free. As consequence, we get the instance ``` import Mathlib.Algebra.GroupWithZero.Torsion import Mathlib.RingTheory.DedekindDomain.Ideal.Basic variable {R : Type*} [CommRing R] [IsDedekindDomain R] instance : IsMulTorsionFree (Ideal R) := inferInstance ``` Co-authored-by: Kenny Lau --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 75/0 Mathlib.lean,Mathlib/Algebra/Group/Torsion.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Algebra/GroupWithZero/Regular.lean,Mathlib/Algebra/GroupWithZero/Torsion.lean,Mathlib/RingTheory/Binomial.lean,Mathlib/RingTheory/IntegralClosure/IntegrallyClosed.lean 7 9 ['alreadydone', 'github-actions', 'kckennylau', 'xroblot'] nobody
0-31827
8 hours ago
3-42897
3 days ago
5-33004
5 days
28638 YaelDillies
author:YaelDillies
refactor: syntactically generalise the `Nontrivial (Fin n)` instance This way, it applies to expression not of the form `_ + 1`. From ForbiddenMatrix --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 25/24 Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Nat/Cast/Defs.lean,Mathlib/Data/Nat/Init.lean 3 2 ['github-actions', 'jsm28'] nobody
0-31764
8 hours ago
0-31771
8 hours ago
0-63630
17 hours
28547 YaelDillies
author:YaelDillies
feat: `measurable_from_prod_countable_right` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 28/15 Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Group/Arithmetic.lean,Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/Probability/Kernel/Disintegration/Basic.lean,Mathlib/Probability/Kernel/Disintegration/Density.lean,Mathlib/Probability/Kernel/RadonNikodym.lean 6 1 ['github-actions'] nobody
0-30629
8 hours ago
3-42755
3 days ago
3-42798
3 days
27216 D-Thomine
author:D-Thomine
feat(Cardinal/Finite): ENat powers and cardinality This PR continues the work from #25574. Original PR: https://github.com/leanprover-community/mathlib4/pull/25574 t-algebra
label:t-algebra$
204/5 Mathlib.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/Data/ENat/Pow.lean,Mathlib/SetTheory/Cardinal/Finite.lean 4 13 ['D-Thomine', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] kbuzzard
assignee:kbuzzard
0-30459
8 hours ago
0-57489
15 hours ago
29-7260
29 days
26267 vasnesterov
author:vasnesterov
feat(Analysis/Calculus): Taylor series converges to function on whole ball * Prove `FormalMultilinearSeries.AnalyticOnNhd`: the sum of series is analytic on its ball of convergence. * Prove `AnalyticOn.hasFPowerSeriesOnBall`: a variant of `AnalyticAt.hasFPowerSeriesAt` which gives convergence to the function on the ball of convergence. --- - [x] depends on: #23745 - [x] depends on: #23747 - [x] depends on: #23748 - [x] depends on: #26247 This PR continues the work from #23749. Original PR: https://github.com/leanprover-community/mathlib4/pull/23749 t-analysis 47/0 Mathlib/Analysis/Analytic/ChangeOrigin.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean 2 5 ['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'vasnesterov'] urkud
assignee:urkud
0-30394
8 hours ago
1-15028
1 day ago
46-71295
46 days
28448 ShreckYe
author:ShreckYe
chore(Data/Nat/Factorization/PrimePow): possibly simplify the last line of `isPrimePow_pow_iff` Found this while working on #28557. t-data new-contributor easy delegated 1/1 Mathlib/Data/Nat/Factorization/PrimePow.lean 1 2 ['ShreckYe', 'github-actions'] nobody
0-30087
8 hours ago
3-29756
3 days ago
6-10855
6 days
28456 euprunin
author:euprunin
chore(Data/Nat): deprecate `exists_lt_succ` (duplicate) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data awaiting-author 1/4 Mathlib/Data/Nat/Init.lean 1 1 ['github-actions'] nobody
0-29827
8 hours ago
5-68819
5 days ago
5-68869
5 days
21965 JovanGerb
author:JovanGerb
feat: extensible `push` and `pull` tactics This PR defines the `push` and `pull` tactics, and makes `push_neg` a macro for `push Not`. The tactics are also available in `conv` mode. For tagging, there is only the `@[push]` attribute, which adds the reverse rewrite for the `pull` tactic when relevant. It is not yet clear whether we need a separate `@[pull X]` attribute for pulling `X`. Thanks to this change, we will be able to make `push_neg` into a more powerful tactic by tagging more lemmas. It also means that about 60 files now don't need to import `LinearOrder`/`PartialOrder`. This will be especially useful when we get the `@[to_dual]` attribute. This work started in #21769, where a lot of lemmas have been tagged with `@[push]` The `@[push]` attribute is defined in `Mathlib.Tactic.Push.Attr` and the main implementation of `push` and `pull` is in `Mathlib.Tactic.Push`. Zulip conversation: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/I.20made.20an.20extensible.20.60push.60.20tactic.20generalizing.20.60push_neg.60/near/499492535 closes #21841 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta awaiting-author 602/192 Mathlib.lean,Mathlib/Algebra/Lie/Weights/Killing.lean,Mathlib/Algebra/Notation/Pi/Defs.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Basic.lean,Mathlib/Data/Nat/Basic.lean,Mathlib/Data/Nat/Cast/Basic.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Order/Defs/LinearOrder.lean,Mathlib/RingTheory/AlgebraicIndependent/TranscendenceBasis.lean,Mathlib/RingTheory/HahnSeries/Lex.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Push.lean,Mathlib/Tactic/Push/Attr.lean,Mathlib/Topology/Algebra/IsUniformGroup/Basic.lean,MathlibTest/push.lean,MathlibTest/push_neg.lean,scripts/noshake.json 20 49 ['JovanGerb', 'github-actions', 'grunweg', 'j-loreaux', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot', 'plp127'] robertylewis
assignee:robertylewis
0-29001
8 hours ago
0-50262
13 hours ago
128-56784
128 days
27824 ChrisHughes24
author:ChrisHughes24
feat(Calculus): exists_gt_of_deriv_pos and variants --- I created a new file for this as I anticipate there will be many lemmas relating derivatives and monotonicity in future. Some lemmas relating deriviatives to monotonicity are already in mathlib and should maybe moved to the file (e.g. docs#HasDerivWithinAt.nonneg_of_monotoneOn). I stated them in as much generality as I could, copying the generality of `HasDerivWithinAt.nonneg_of_monotoneOn`. - [ ] depends on: #28039 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 86/0 Mathlib.lean,Mathlib/Analysis/Calculus/Deriv/Order.lean 2 19 ['ChrisHughes24', 'EtienneC30', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-28935
8 hours ago
5-31645
5 days ago
9-49343
9 days
26331 Timeroot
author:Timeroot
feat(Algebra/Polynomial): Descartes' Rule of signs This PR continues the work from #23681. Original PR: https://github.com/leanprover-community/mathlib4/pull/23681 t-algebra
label:t-algebra$
616/3 Mathlib.lean,Mathlib/Algebra/Polynomial/CoeffList.lean,Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Algebra/Polynomial/RuleOfSigns.lean 5 5 ['Timeroot', 'adomani', 'github-actions'] nobody
0-28801
8 hours ago
57-80551
1 month ago
57-80595
57 days
27212 CBirkbeck
author:CBirkbeck
Cot series iterated deriv within --- - [x] depends on: #27209 - [x] depends on: #26016 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 237/2 Mathlib/Analysis/Complex/IntegerCompl.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean 4 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-28279
7 hours ago
8-57621
8 days ago
8-71582
8 days
28701 unknown
author:unknown
feat: the maximal atlas is closed under restriction unknown description t-differential-geometry -1/-1 -1 n/a [] nobody
0-28201
7 hours ago
unknown
unknown
28613 espottesmith
author:espottesmith
feat(Combinatorics): define undirected hypergraphs This PR defines undirected hypergraphs: ``` @[ext] structure Hypergraph (α : Type*) where /-- The vertex set -/ vertexSet : Set α /-- The hyperedge set -/ hyperedgeSet : Set (Set α) /-- All hyperedges must be subsets of the vertex set -/ hyperedge_isSubset_vertexSet : ∀ ⦃e⦄, e ∈ hyperedgeSet → e ⊆ vertexSet ``` In addition to the main definition, some additional definitions and related lemmas are provided: - vertex adjacency - hyperedge adjacency - vertex "stars" - special cases (loops, empty hypergraphs, trivial hypergraphs, complete hypergraphs, simple hypergraphs, k-uniform hypergraphs, and d-regular hypergraphs) - (some) hypergraph cardinality - subhypergraphs, induced subhypergraphs, and partial hypergraphs This implementation is certainly bare-bones. I'm submitting this PR at this point, rather than when my developments are more fleshed out, because there has been some interest in others contributing to hypergraph formalization in mathlib. In the near future, goals include: - defining incidence matrices (i.e., conversion from `Hypergraph α` to `Matrix α (Set α) β` - coersion/generalization of graph as 2-uniform hypergraph - conversion of a hypergraph into its associated clique graph/two-section graph - constructing the dual of a hypergraph (note: on first blush, this appears somewhat challenging, given that we define hyperedges as `Set α` rather than some other type `β`) - rank and co-rank - walks, paths, cycles, etc. on hypergraphs --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 418/0 Mathlib.lean,Mathlib/Combinatorics/Hypergraph/Basic.lean 2 22 ['b-mehta', 'espottesmith', 'github-actions', 'lauramonk'] b-mehta
assignee:b-mehta
0-27051
7 hours ago
2-15639
2 days ago
2-15683
2 days
28469 EtienneC30
author:EtienneC30
feat: basic properties of toLp and ofLp Provide a `homeomorph` and `uniformEquiv` version of `WithLp.equiv`. Show that `toLp` and `ofLp` are Lipschitz and anti-Lipschitz, and that `toLp` is a uniform inducing. Show that evaluation in PiLp is continuous and open. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 62/1 Mathlib/Analysis/Normed/Lp/PiLp.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean 2 1 ['github-actions'] nobody
0-26480
7 hours ago
5-42210
5 days ago
5-42830
5 days
28693 faenuccio
author:faenuccio
feat(Analysis.Normed.Module.Milman-Pettis): add Milman-Pettis theorem We add the Milman-Pettis theorem stating that an uniformly convex Banach space is reflexive. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis WIP 12/0 Mathlib/Analysis/Normed/Module/Milman-Pettis.lean 1 1 ['github-actions'] nobody
0-26422
7 hours ago
0-43156
11 hours ago
0-1
1 second
25970 wwylele
author:wwylele
feat(RingTheory): decompose archimedean classes of HahnSeries In preparation for #25140, this connects archimedean class and HahnSeries --- - [x] depends on: #26773 - [x] depends on: #26787 - [x] depends on: #26788 - [x] depends on: #26789 - [x] depends on: #28192 - [x] depends on: #28394 - [x] depends on: #28632 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import 213/5 Mathlib/Algebra/Order/Group/Synonym.lean,Mathlib/RingTheory/HahnSeries/Basic.lean,Mathlib/RingTheory/HahnSeries/Lex.lean 3 47 ['ScottCarnahan', 'YaelDillies', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'wwylele'] alreadydone
assignee:alreadydone
0-25642
7 hours ago
2-6015
2 days ago
50-7120
50 days
26975 Whysoserioushah
author:Whysoserioushah
feat: a norm_num extension for complex numbers co-authored-by : @thefundamentaltheor3m, @hrmacbeth --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 350/0 Mathlib.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/NormNum/NormNumI.lean,MathlibTest/norm_numI.lean 5 46 ['Whysoserioushah', 'dupuisf', 'eric-wieser', 'github-actions', 'hrmacbeth'] robertylewis
assignee:robertylewis
0-25619
7 hours ago
34-25561
1 month ago
34-29878
34 days
25775 emilyriehl
author:emilyriehl
feat(AlgebraicTopology/SimplicialSet/NerveAdjunction): to Strict Segal 2 Under a suitable hypothesis, a map of 2-truncated simplicial sets can be generated from a refl prefunctor between the underlying reflexive quivers --- provided the codomain is `StrictSegal`. This abstracts a previously formalized result that requires the codomain to be the 2-truncated nerve of a category. Co-authored-by: Aaron Liu --- The current draft displays the old code for comparison with new versions labeled ALT. After initial review this will be cut. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #23848.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/23848* t-algebraic-topology infinity-cosmos t-category-theory awaiting-author 457/206 Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Defs.lean,Mathlib/AlgebraicTopology/SimplicialSet/HomotopyCat.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveAdjunction.lean,Mathlib/AlgebraicTopology/SimplicialSet/StrictSegal.lean,Mathlib/CategoryTheory/ComposableArrows.lean,Mathlib/CategoryTheory/EqToHom.lean 7 32 ['emilyriehl', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'robin-carlier'] robin-carlier
assignee:robin-carlier
0-24549
6 hours ago
13-35520
13 days ago
17-40777
17 days
28706 unknown
author:unknown
chore: golf entire `apply_eq_iff_eq_symm_apply`, `dite_ne_left_iff`, `exists_prime_lt_and_le_two_mul_succ`, `lt_up` and `sUnion_mem_empty_univ` using `grind` unknown description -1/-1 -1 n/a [] nobody
0-23791
6 hours ago
unknown
unknown
25179 YaelDillies
author:YaelDillies
feat: `#print sorries`, a command to find usage of `sorry` `#print sorries` returns all sorries in the current file. `#print sorries id1 ... idn` returns all sorries in declarations `id1`, ..., `idn`. Such a command is a recurrent need of the community, see eg [here](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Hunting.20down.20axioms/with/495448595) most recently. From Toric Co-authored-by: Henrik Böving Co-authored-by: Kyle Miller --- An alternative implementation was provided in [#Is there code for X? > ✔ Finding usages of `sorry` in external code @ 💬](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/.E2.9C.94.20Finding.20usages.20of.20.60sorry.60.20in.20external.20code/near/430509619) by @kmill. I prefer the current one because it only prints something for uses of `sorry` and not the other three standard axioms. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric maintainer-merge t-meta 121/0 Mathlib.lean,Mathlib/Util/PrintSorries.lean,MathlibTest/Util/PrintSorries.lean 3 29 ['YaelDillies', 'bryangingechen', 'dwrensha', 'eric-wieser', 'github-actions', 'kmill'] dwrensha
assignee:dwrensha
0-23022
6 hours ago
0-45999
12 hours ago
86-60800
86 days
28696 or4nge19
author:or4nge19
feat(Quiver/Path/Vertices): add splitting lemmas and decomposition results introduce splitting and decomposition results (exists_decomp_at_length, exists_decomp_of_mem_vertices, split_at_vertex needed to reason about the list of vertices of a path and to split paths at a chosen vertex. Part of Perron-Frobenius theorem pre-requisites see https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Formalizing.20Perron-Frobenius/with/525516636 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor 112/0 Mathlib/Combinatorics/Quiver/Path/Vertices.lean,Mathlib/Data/List/Basic.lean 2 1 ['github-actions'] nobody
0-22207
6 hours ago
0-40732
11 hours ago
0-40800
11 hours
28662 gasparattila
author:gasparattila
feat: products of affine maps This PR defines some maps and isomorphisms between products of affine spaces. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-euclidean-geometry t-algebra
label:t-algebra$
168/0 Mathlib/LinearAlgebra/AffineSpace/AffineEquiv.lean,Mathlib/LinearAlgebra/AffineSpace/AffineMap.lean,Mathlib/LinearAlgebra/AffineSpace/ContinuousAffineEquiv.lean,Mathlib/Topology/Algebra/ContinuousAffineMap.lean 4 2 ['eric-wieser', 'github-actions'] nobody
0-22104
6 hours ago
0-65080
18 hours ago
0-36246
10 hours
27301 js2357
author:js2357
feat: `MeasureTheory.Measure.sum_restrict_le` Prove that `Measure.sum (fun i ↦ μ.restrict (s i)) ≤ M • μ.restrict (⋃ i, s i)`, if at most `M` of the `s i` overlap at a single point. Also add `restrict_biUnion_le`, which is a straightforward biUnion version of the existing `restrict_iUnion_le`. Done for the Carleson project. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) carleson t-measure-probability awaiting-author 79/0 Mathlib/MeasureTheory/Measure/Restrict.lean 1 10 ['EtienneC30', 'RemyDegenne', 'github-actions', 'js2357'] EtienneC30
assignee:EtienneC30
0-21024
5 hours ago
11-22012
11 days ago
29-71948
29 days
27174 ADedecker
author:ADedecker
chore(OreLocalization): generalize some results from rings to monoids with zeros --- 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/) t-algebra delegated
label:t-algebra$
112/73 Mathlib.lean,Mathlib/RingTheory/OreLocalization/Basic.lean,Mathlib/RingTheory/OreLocalization/NonZeroDivisors.lean,Mathlib/RingTheory/OreLocalization/Ring.lean 4 6 ['Ruben-VandeVelde', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib-bors', 'riccardobrasca'] jcommelin
assignee:jcommelin
0-20847
5 hours ago
2-59034
2 days ago
33-30654
33 days
28708 unknown
author:unknown
feat (Data) : edit DoublyStochastic, add Stochastic to matrix unknown description t-data new-contributor -1/-1 -1 n/a [] nobody
0-20663
5 hours ago
unknown
unknown
28704 unknown
author:unknown
chore: remove unnecessary tactic invocations unknown description -1/-1 -1 n/a [] nobody
0-20564
5 hours ago
unknown
unknown
25902 pfaffelh
author:pfaffelh
feat: The finite product of semi-rings (in terms of measure theory) is a semi-ring. ~~Move results for rings (in terms of measure theory) to a separate file; was in Semiring.lean before.~~ For `∀ i ∈ s, IsSetSemiring (C i))`, the product `s.pi '' s.pi C` is a semiring. Prove two auxiliary lemmas in `Data.Set.Prod` needed on the way. --- *This PR continues the work from #22714.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/22714* large-import t-measure-probability 288/3 Mathlib/Data/Set/Pairwise/Lattice.lean,Mathlib/MeasureTheory/MeasurableSpace/Pi.lean,Mathlib/MeasureTheory/SetSemiring.lean 3 1 ['github-actions'] nobody
0-18332
5 hours ago
2-11913
2 days ago
2-22109
2 days
25883 pfaffelh
author:pfaffelh
feat: introduce Gram matrices A Gram matrix has entry `⟪v i, v j⟫` at `i j : n`, where `v : n → α` is an `InnerProductSpace 𝕜 α`. Give this notion and show that Gram matrices are positive semi-definite. This will be used later in order to show that the covariance matrix for Brownian Motion is positive semi-definite. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24575.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24575* migrated-from-branch new-contributor t-analysis 145/2 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/GramMatrix.lean,Mathlib/MeasureTheory/Function/L2Space.lean 3 29 ['EtienneC30', 'eric-wieser', 'github-actions', 'pfaffelh'] nobody
0-18160
5 hours ago
1-20606
1 day ago
43-22031
43 days
25899 pfaffelh
author:pfaffelh
feat(Topology/Compactness/CompactSystem): introduce compact Systems A compact system is a set systems with the property that, whenever a countable intersections of sets in the set system is empty, there is a finite subset of sets with empty intersection. These are needed e.g. in measure theory if one wants to show sigma-additivity of a set function on a ring. * Main result: The set of sets which are either compact and closed, or `univ`, is a compact system. * Introduce `Dissipate s x := ⋂ y ≤ x, s y` (Data/Set/Dissipate), which is parallel to Data/Set/Accumulate. Co-authored-by: Rémy Degenne remydegenne@gmail.com --- *This PR continues the work from #24541.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24541* t-topology 471/14 Mathlib.lean,Mathlib/Data/Set/Accumulate.lean,Mathlib/Data/Set/Dissipate.lean,Mathlib/MeasureTheory/PiSystem.lean,Mathlib/Topology/Compactness/CompactSystem.lean 5 13 ['github-actions', 'pfaffelh', 'sgouezel'] nobody
0-18139
5 hours ago
25-38544
25 days ago
41-10608
41 days
28700 unknown
author:unknown
feat(ModelTheory): Set.Definable is transitive unknown description large-import -1/-1 -1 n/a [] nobody
0-17477
4 hours ago
unknown
unknown
28697 chrisflav
author:chrisflav
chore(RingTheory/Generators): make type argument in `localizationAway` and `baseChange` explicit The `S` (resp. `T`) argument in `Generators.localizationAway` (resp. `Generators.baseChange`) is not inferable from the other arguments and is currently frequently explicitly provided. Moreover, `Presentation.localizationAway` (resp. `Presentation.baseChange`) already take `S` (resp. `T`) explicitly. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory maintainer-merge 21/19 Mathlib/RingTheory/Extension/Cotangent/LocalizationAway.lean,Mathlib/RingTheory/Extension/Generators.lean,Mathlib/RingTheory/Extension/Presentation/Basic.lean 3 2 ['Ruben-VandeVelde', 'github-actions'] nobody
0-17426
4 hours ago
0-17426
4 hours ago
0-39437
10 hours
28667 kckennylau
author:kckennylau
feat(Algebra/Order): two auxiliary definitions This PR introduces two constructors for isomorphisms of ordered monoids: 1. `α ≃*o β` gives `αˣ ≃*o βˣ` 2. `(⊤ : Submonoid α) ≃*o α`. --- This is used for a [PR](https://github.com/kckennylau/mathlib4/pull/13) to a [PR](https://github.com/erdOne/mathlib4/pull/1) to a [PR](https://github.com/leanprover-community/mathlib4/pull/27465). Short justification for new files: We are basically in a unique situation where every component used seems to be orthogonal to each other: * We have the instances that install order on units and submonoids (different files, I would presume), and these files know nothing about `OrderMonoidIso`. * We have `OrderMonoidIso` on the other hand which also knows nothing about units or submonoids. * And furthermore, `Submonoid.topEquiv` lives in yet another completely different place, since this is about operations on monoids (and do not require order!). More notes: I have decided to deviate from the usual naming scheme of `Units.map` to make dot notation work. I believe that `Units.map` is a bad name as well, but that's a discussion for another time. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
38/0 Mathlib.lean,Mathlib/Algebra/Order/Hom/Submonoid.lean,Mathlib/Algebra/Order/Hom/Units.lean 3 3 ['YaelDillies', 'github-actions'] nobody
0-17235
4 hours ago
1-3890
1 day ago
1-3931
1 day
28656 euprunin
author:euprunin
chore(Data/Int): golf entire `coe_leastOfBdd_eq` and `coe_greatestOfBdd_eq` using `grind` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data maintainer-merge 2/6 Mathlib/Data/Int/LeastGreatest.lean 1 1 ['github-actions'] nobody
0-16839
4 hours ago
1-28655
1 day ago
1-28701
1 day
28640 euprunin
author:euprunin
chore(Data/List): golf entire `getElem?_getD_replicate_default_eq` and `getD_append_right` using `grind` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data maintainer-merge 2/9 Mathlib/Data/List/GetD.lean 1 1 ['github-actions'] nobody
0-16792
4 hours ago
1-40218
1 day ago
1-40266
1 day
26345 mans0954
author:mans0954
feature(Analysis/LocallyConvex/Polar): Bipolar theorem The bipolar theorem states that the polar of the polar of a set `s` is equal to the closed absolutely convex hull of `s`. The argument here follows Conway, Chapter V. 1.8. This PR continues the work from #20843. Original PR: https://github.com/leanprover-community/mathlib4/pull/20843 - [x] depends on: #27316 large-import t-analysis awaiting-author 182/25 Mathlib.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/Bipolar.lean,Mathlib/Analysis/Normed/Module/Dual.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean 5 n/a ['eric-wieser', 'faenuccio', 'github-actions', 'j-loreaux', 'leanprover-community-bot-assistant', 'mans0954', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-16720
4 hours ago
unknown
unknown
25795 dagurtomas
author:dagurtomas
chore(Condensed): introduce an abbrev for the equivalence of light condensed sets with a category of sheaves on a small site --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24522.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24522* t-condensed 39/0 Mathlib.lean,Mathlib/Condensed/Light/Small.lean 2 1 ['github-actions'] joneugster
assignee:joneugster
0-16555
4 hours ago
69-53064
2 months ago
69-53047
69 days
26722 vlad902
author:vlad902
feat(SimpleGraph): sub-walks of minimal length are also minimal Helper lemma to show that sub-walks of minimal length walks are also of minimal length. - [ ] depends on: #26655 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics awaiting-author 14/0 Mathlib/Combinatorics/SimpleGraph/Metric.lean 1 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
0-16439
4 hours ago
1-62330
1 day ago
1-64307
1 day
26201 scholzhannah
author:scholzhannah
feat: subcomplexes of a classical CW complex This PR defines subcomplexes of a (classical relative) CW complex to be a closed subspace which is a union of open cells. It provides additional definitions for alternative ways to describe subcomplexes. Lastly, it refactors the definition of the skeleton to define it as a subcomplex. Co-authored-by: Floris van Doorn --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 213/25 Mathlib/Topology/CWComplex/Classical/Basic.lean 1 2 ['github-actions', 'leanprover-community-bot-assistant'] ADedecker
assignee:ADedecker
0-15905
4 hours ago
40-45736
1 month ago
59-71075
59 days
25794 dagurtomas
author:dagurtomas
feat(CategoryTheory): localization preserves braided structure --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24485.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24485* file-removed t-category-theory 733/427 Mathlib.lean,Mathlib/CategoryTheory/Localization/Monoidal.lean,Mathlib/CategoryTheory/Localization/Monoidal/Basic.lean,Mathlib/CategoryTheory/Localization/Monoidal/Braided.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Sites/Monoidal.lean 6 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
0-15519
4 hours ago
46-75991
1 month ago
22-63640
22 days
26120 vasnesterov
author:vasnesterov
feat(Data/Seq): `update` and `set` operations for `Seq` Introduce `modify` and `set` operations for sequences, along with a few lemmas about them. --- - [x] depends on: #20071 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) This PR continues the work from #20160. Original PR: https://github.com/leanprover-community/mathlib4/pull/20160 t-data 69/0 Mathlib/Data/Seq/Seq.lean 1 4 ['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'vasnesterov'] nobody
0-15023
4 hours ago
63-20340
2 months ago
63-20390
63 days
28702 unknown
author:unknown
Experiment for swapping MulOneClass -> Mul, One in MonoidHom unknown description bench-after-CI t-algebra
label:t-algebra$
-1/-1 -1 n/a [] nobody
0-14815
4 hours ago
unknown
unknown
28534 raja-19
author:raja-19
feat(Data/Set/Card): add lemmas of the form `card_Union_le` Add `Finset`/`Fintype`/`Finite` and `ncard`/`encard` variants. [Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.60card_Union_le_sum_card.60.20lemmas) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 52/3 Mathlib/Data/Set/Card/Arithmetic.lean 1 15 ['github-actions', 'kckennylau', 'raja-19'] nobody
0-14687
4 hours ago
4-8417
4 days ago
4-8462
4 days
25123 eric-wieser
author:eric-wieser
feat: add rfl lemmas for monoidal categories Making these `simp` opens a can of worms best left to #24823 `simps` would generate bad names here. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-algebra
label:t-algebra$
111/0 Mathlib/Algebra/Category/AlgCat/Monoidal.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat/Monoidal.lean 3 1 ['github-actions'] dagurtomas
assignee:dagurtomas
0-14384
3 hours ago
90-774
2 months ago
90-824
90 days
28400 CBirkbeck
author:CBirkbeck
Define the Dedekind Eta function --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 174/0 Mathlib.lean,Mathlib/Analysis/Complex/Periodic.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/Summable.lean,Mathlib/NumberTheory/ModularForms/DedekindEta.lean 5 12 ['CBirkbeck', 'github-actions', 'loefflerd'] nobody
0-14177
3 hours ago
0-34178
9 hours ago
6-54811
6 days
28712 unknown
author:unknown
chore: remove unnecessary tactic invocations unknown description -1/-1 -1 n/a [] nobody
0-14126
3 hours ago
unknown
unknown
25743 robin-carlier
author:robin-carlier
feat(AlgebraicTopology/SimplexCategory/Augmented): monoidal structure on `AugmentedSimplexCategory` We construct a monoidal category structure on `AugmentedSimplexCategory`. The tensor products corresponds to ordinal sum. We characterize morphisms out of a tensor product of object in terms of their precomposition with canonical maps `x ⟶ x ⊗ y` and `y ⟶ x ⊗ y` coming from the fact that the unit is an initial object. When constructing this structure, we found that making `AugmentedSimplexCategory` an abbrev rather than a `def` worked better. --- - [x] depends on: #25742 Future work includes using this monoidal structure and Day convolution to define the join monoidal structure on augmented simplicial sets, and also using this category as a way to encode monoidal and monadic bar constructions. Happy to discuss the fact that I had to make `AugmentedSimplexCategory` an abbrev, I can revert this but this makes the proofs a bit harder (but, I guess, also less abusing some of defeqs?). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #22768.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/22768* t-algebraic-topology t-category-theory 523/111 Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Monoidal.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean 5 6 ['github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'robin-carlier'] dagurtomas
assignee:dagurtomas
0-13019
3 hours ago
20-48595
20 days ago
66-15624
66 days
28099 themathqueen
author:themathqueen
feat(LinearAlgebra/Matrix/Spectrum): the eigenvalues of Hermitian `A` are all `0` iff `A = 0` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra easy
label:t-algebra$
7/0 Mathlib/LinearAlgebra/Matrix/Spectrum.lean 1 2 ['github-actions', 'themathqueen'] riccardobrasca
assignee:riccardobrasca
0-12028
3 hours ago
10-22915
10 days ago
13-14504
13 days
28678 vihdzp
author:vihdzp
feat: well-founded instances for `ULift` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order easy 9/0 Mathlib/Order/WellFounded.lean 1 4 ['eric-wieser', 'github-actions'] nobody
0-11409
3 hours ago
0-58920
16 hours ago
0-10221
2 hours
28665 staroperator
author:staroperator
feat(Algebra/Group): add theorems about `Submonoid.pi` This PR adds theorems on `Submonoid.pi`, which are the same theorems on `Subgroup.pi`. I'm also moving `Submonoid.pi` from Subgroup/Basic.lean to Submonoid/Operations.lean; the comment says > defined here and not in Algebra.Group.Submonoid.Operations to have access to Algebra.Group.Pi but Submonoid folder is much more suitable for this definition. (Let's see if there is a large import.) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
89/41 Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Data/Set/Prod.lean 3 3 ['eric-wieser', 'github-actions', 'staroperator'] nobody
0-10835
3 hours ago
1-7342
1 day ago
1-7389
1 day
28718 unknown
author:unknown
Added chosen finite coproducts unknown description new-contributor t-category-theory -1/-1 -1 n/a [] nobody
0-9968
2 hours ago
unknown
unknown
28658 hrmacbeth
author:hrmacbeth
feat(Tactic/FieldSimp): rewrite for performance and robustness This is a rewrite from scratch of the `field_simp` tactic. The former implementation was a lightweight wrapper around `simp` (with a custom simp-set and discharger). Broadly speaking, the new implementation reduces expressions to an internal normal form `x1 ^ k1 * ... * xn ^ kn`, where `x1`, ... `xn` are atoms tracked by the `AtomM` monad and `k1`, ... `kn` are integers. This is more robust: the tactic now solves goals which were not in scope for the simp-set version, often to the confusion of users. For example, `x ^ 2 / x` is now reduced to `x`, and `x / (x * y)` is now reduced, given `(hx : x ≠ 0)`, to `1 / y`. We hope it will also be faster: let's see what the benchmarking suite says, but on a typical large example taken from Mathlib, the heartbeat count reduces from 19983 heartbeats to 2979 heartbeats. There is a big diff: the old `field_simp` subsumed `simp`, and this was often exploited. We offer a simproc version of the new `field_simp`, and switching to a `simp` call with this simproc fixes about 80% of the cases that break; the rest are handled individually (typically by alternating `simp` and `field_simp` calls). Developed at Big Proof at the Isaac Newton Institute. Co-authored-by: Arend Mellendijk @FLDutchmann Co-authored-by: Michael Rothgang @grunweg --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #27562 For ease of review, the PR is built from two commits: the [tactic implementation](https://github.com/leanprover-community/mathlib4/pull/28658/commits/50130021140244234296bd6b57500ff3eb1042fa) itself (+1318, -265), and the [fixes across the library](https://github.com/leanprover-community/mathlib4/pull/28658/commits/99d2aca362d3c1c4c66084c986cf2bd543c66848) (+511, -533). A good way to get a sense of the changed implementation is to look at the diff in `MathlibTest.FieldSimp`. large-import t-meta 1829/798 Archive/Imo/Imo2005Q3.lean,Archive/Imo/Imo2006Q3.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2008Q4.lean,Archive/Imo/Imo2013Q1.lean,Archive/Imo/Imo2024Q1.lean,Archive/Wiedijk100Theorems/AreaOfACircle.lean,Archive/Wiedijk100Theorems/BallotProblem.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Archive/Wiedijk100Theorems/HeronsFormula.lean,Archive/Wiedijk100Theorems/InverseTriangleSum.lean,Archive/Wiedijk100Theorems/SolutionOfCubicQuartic.lean,Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Mathlib.lean,Mathlib/Algebra/CharP/MixedCharZero.lean,Mathlib/Algebra/ContinuedFractions/Computation/CorrectnessTerminating.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Algebra/Polynomial/HasseDeriv.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/IsomOfJ.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/NormalForms.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Formula.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/ConvergenceRadius.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/Box/SubboxInduction.lean,Mathlib/Analysis/CStarAlgebra/ApproximateUnit.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/Deriv/Inv.lean,Mathlib/Analysis/Calculus/Deriv/Inverse.lean,Mathlib/Analysis/Calculus/Deriv/ZPow.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Calculus/InverseFunctionTheorem/ApproximatesLinearOn.lean,Mathlib/Analysis/Calculus/LogDeriv.lean,Mathlib/Analysis/Calculus/Monotone.lean,Mathlib/Analysis/Calculus/Rademacher.lean,Mathlib/Analysis/Calculus/TangentCone.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/Complex/Angle.lean,Mathlib/Analysis/Complex/Arg.lean,Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/Analysis/Complex/Conformal.lean,Mathlib/Analysis/Complex/LocallyUniformLimit.lean,Mathlib/Analysis/Complex/MeanValue.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Metric.lean,Mathlib/Analysis/Complex/UpperHalfPlane/MoebiusAction.lean,Mathlib/Analysis/Convex/Between.lean,Mathlib/Analysis/Convex/Continuous.lean,Mathlib/Analysis/Convex/Jensen.lean,Mathlib/Analysis/Convex/Mul.lean,Mathlib/Analysis/Convex/Side.lean,Mathlib/Analysis/Convex/Slope.lean,Mathlib/Analysis/Fourier/AddCircle.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean,Mathlib/Analysis/Hofer.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/InnerProductSpace/Defs.lean,Mathlib/Analysis/InnerProductSpace/Projection/Basic.lean,Mathlib/Analysis/InnerProductSpace/Rayleigh.lean,Mathlib/Analysis/MellinInversion.lean,Mathlib/Analysis/Meromorphic/Basic.lean,Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Field/Lemmas.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/NormedSpace/HomeomorphBall.lean,Mathlib/Analysis/NormedSpace/RCLike.lean,Mathlib/Analysis/NormedSpace/RieszLemma.lean,Mathlib/Analysis/PSeries.lean,Mathlib/Analysis/Polynomial/CauchyBound.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/SpecialFunctions/Bernstein.lean,Mathlib/Analysis/SpecialFunctions/BinaryEntropy.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arctan.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Complex/Circle.lean,Mathlib/Analysis/SpecialFunctions/Complex/LogBounds.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean,Mathlib/Analysis/SpecialFunctions/Exp.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean,Mathlib/Analysis/SpecialFunctions/Gamma/BohrMollerup.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Deligne.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean,Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/Base.lean,Mathlib/Analysis/SpecialFunctions/Log/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Log/Summable.lean,Mathlib/Analysis/SpecialFunctions/Pow/Asymptotics.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean 189 30 ['github-actions', 'grunweg', 'hrmacbeth', 'j-loreaux', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127'] nobody
0-9120
2 hours ago
0-52210
14 hours ago
0-67245
18 hours
28296 strihanje01
author:strihanje01
feat(Combinatorics/Additive/VerySmallDoubling): Hamidoune's Freiman-Kneser theorem for nonabelian groups add noncommutative Freiman-Kneser theorem for doubling less than 2-\epsilon --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-combinatorics awaiting-author 580/5 Mathlib/Combinatorics/Additive/VerySmallDoubling.lean 1 4 ['YaelDillies', 'github-actions', 'strihanje01'] nobody
0-8992
2 hours ago
6-54077
6 days ago
1-63267
1 day
28705 unknown
author:unknown
feat(MetricSpace/Closeds): set of nonempty compacts below a closed set is closed unknown description t-topology -1/-1 -1 n/a [] nobody
0-8300
2 hours ago
unknown
unknown
26243 DavidLedvinka
author:DavidLedvinka
feat(Topology): Add PairReduction.lean Add file PairReduction.lean which proves the theorem `pair_reduction` which is needed for the proof of the general Kolmogorov-Chentsov theorem in the Brownian Motion project. Co-authored-by: @RemyDegenne - [x] depends on: #27239 t-topology awaiting-author 424/0 Mathlib.lean,Mathlib/Topology/EMetricSpace/PairReduction.lean 2 76 ['DavidLedvinka', 'EtienneC30', 'RemyDegenne', 'github-actions', 'mathlib4-dependent-issues-bot', 'sgouezel'] nobody
0-8193
2 hours ago
6-23917
6 days ago
39-560
39 days
28710 unknown
author:unknown
chore(Algebra): make MulEquivClass an alias of MulHomClass unknown description t-algebra
label:t-algebra$
-1/-1 -1 n/a [] nobody
0-7222
2 hours ago
unknown
unknown
28719 unknown
author:unknown
refactor: move and refactor Turan.lean, redefine `IsTuranMaximal` unknown description large-import t-combinatorics -1/-1 -1 n/a [] nobody
0-7195
1 hour ago
unknown
unknown
28674 bwangpj
author:bwangpj
feat: ContMDiff.iterate Add iterate lemma for `ContMDiff`. Compare [`Continuous.iterate`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Continuous.html#Continuous.iterate). 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/) new-contributor t-differential-geometry awaiting-author 12/0 Mathlib/Geometry/Manifold/ContMDiff/Basic.lean 1 1 ['github-actions'] nobody
0-7122
1 hour ago
0-78396
21 hours ago
0-78440
21 hours
28709 unknown
author:unknown
add instance `CompleteSpace` for a subtype with `IsClosed` instance unknown description t-topology -1/-1 -1 n/a [] nobody
0-5732
1 hour ago
unknown
unknown
28480 euprunin
author:euprunin
chore(Combinatorics): golf entire `ofColex_inj`, `homOfEq_heq` and `mem_supp_of_adj_mem_supp`. deprecate `tail_cons_eq`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 11/20 Mathlib/Combinatorics/Colex.lean,Mathlib/Combinatorics/Quiver/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean 5 4 ['b-mehta', 'euprunin', 'github-actions', 'mathlib-bors'] nobody
0-1554
25 minutes ago
0-74856
20 hours ago
3-29774
3 days
28720 unknown
author:unknown
feat(RingTheory/PowerSeries): mul and pow of monomial unknown description t-ring-theory -1/-1 -1 n/a [] nobody
0-1529
25 minutes ago
unknown
unknown
26738 javra
author:javra
feat(AlgebraicToplogy/SimplexCategory): add notation for faces and degeneracies general truncated simplex categories --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology infinity-cosmos 43/32 Mathlib/AlgebraicTopology/SimplexCategory/Truncated.lean,Mathlib/AlgebraicTopology/SimplicialSet/HomotopyCat.lean 2 4 ['emilyriehl', 'github-actions', 'leanprover-community-bot-assistant'] nobody
0-1452
24 minutes ago
19-47751
19 days ago
33-38754
33 days
26829 pechersky
author:pechersky
feat(RingTheory/Valuation): Valuation.leAddSubgroup and ideal/submodule versions of ltAddSubgroup Extracted from #25450 without changing how Valued works --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) @faenuccio hopefully this bypasses any wait on #14752 because I am not changing Valued files. t-ring-theory 172/0 Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/Integers.lean 2 3 ['JovanGerb', 'github-actions', 'mathlib4-merge-conflict-bot'] nobody
0-1451
24 minutes ago
12-23774
12 days ago
44-84694
44 days
27244 xroblot
author:xroblot
feat(RingTheory/DedekindDomain): lifting an ideal in an extension is injective This PR develops some API for [FractionalIdeal.extended](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/FractionalIdeal/Extended.html#FractionalIdeal.extended) and in particular for when it is an injective map (for an algebra map). As a consequence, it deduces the fact that lifting an integral ideal in an extension of Dedekind domains is an injective map. Note: the import increase happens in a leaf file `Mathlib.RingTheory.FractionalIdeal.Extended` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import 190/5 Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/Localization/Basic.lean 3 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
0-1450
24 minutes ago
16-27816
16 days ago
33-53809
33 days
27657 euprunin
author:euprunin
chore(Geometry/RingedSpace): remove use of `erw` in `forget_preservesLimitsOfLeft` t-algebraic-geometry 5/2 Mathlib/Geometry/RingedSpace/OpenImmersion.lean 1 1 ['github-actions'] nobody
0-1450
24 minutes ago
22-10020
22 days ago
22-10067
22 days
27992 staroperator
author:staroperator
feat(Algebra): cancellation inheritance This PR: 1. adds `Is{Left,Right}Cancel{Add,Mul,MulZero}` instances for `{Add,Mul,MulZero}MemClass` etc. 2. duplicates such instances for `Subsemiring` and `Subalgebra`, following #27955 (which is for `Submonoid` and `Submodule`). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
74/1 Mathlib.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/Algebra/Group/Subsemigroup/Defs.lean,Mathlib/Algebra/GroupWithZero/Submonoid/CancelMulZero.lean,Mathlib/Algebra/Module/Submodule/Defs.lean,Mathlib/Algebra/Ring/Subsemiring/Defs.lean 7 7 ['Vierkantor', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'staroperator'] nobody
0-1449
24 minutes ago
9-10107
9 days ago
15-20274
15 days
28124 kckennylau
author:kckennylau
feat(Tactic): Call an arbitrary Simproc In the current framework, `Simproc`s are declared by name, and can only be referred to by name. For example, [Nat.divisors_ofNat](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Tactic/Simproc/Divisors.html#Nat.divisors_ofNat) is declared as: ```lean dsimproc_decl Nat.divisors_ofNat (Nat.divisors _) := fun e => do ``` This declaration syntax does not allow for a `Simproc` to depend on any arguments, and even if one constructed a `Simproc` that depends on e.g. a natural number, such as `foo : ℕ → Simproc`, one still cannot call it using the syntax `by simp [foo 37]`. Therefore, this new function aims to solve this problem, by allowing an arbitrary `Simproc` to be executed, using the newly defined function `Lean.Meta.Simp.Simproc.apply (s : Simproc) : TacticM Unit`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 99/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simproc/Apply.lean,MathlibTest/Simproc/Apply.lean 4 12 ['b-mehta', 'eric-wieser', 'github-actions', 'hrmacbeth', 'kckennylau'] nobody
0-1448
24 minutes ago
12-9325
12 days ago
12-19525
12 days
28248 YaelDillies
author:YaelDillies
feat: expectation and (conditional) variance of a Bernoulli random variable Compute the expectation, variance, conditional variance of a Bernoulli random variable. From MiscYD --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 168/0 Mathlib.lean,Mathlib/MeasureTheory/Integral/Bochner/Set.lean,Mathlib/Probability/Bernoulli.lean,Mathlib/Probability/Moments/Variance.lean 4 5 ['YaelDillies', 'github-actions', 'themathqueen'] kex-y
assignee:kex-y
0-1447
24 minutes ago
9-33261
9 days ago
9-33315
9 days
28329 pechersky
author:pechersky
feat(RingTheory/Valuation): generalize CommGroupWithZero on mrange to MonoidWithZeroHom Before, they were only for Valuation, but that is too restricted --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-order t-algebra
label:t-algebra$
21/4 Mathlib/RingTheory/Valuation/Archimedean.lean,Mathlib/RingTheory/Valuation/Basic.lean 2 3 ['eric-wieser', 'github-actions', 'pechersky'] nobody
0-1446
24 minutes ago
7-70019
7 days ago
7-70065
7 days
28287 robin-carlier
author:robin-carlier
chore(CategoryTheory/Bicategory): move `map₂_eqToHom` earlier in the import graph The lemma `PrelaxFunctor.map₂_eqToHom` currently sits in the file `CategoryTheory/Bicategory/LocallyDiscrete`. This has low discoverability, and it is unavailable to other files that deals with `eqToHoms`, such as `CategoryTheory/Bicategory/Functor/Strict`. We move the lemma in the file `Category/Bicategory/Functor/Prelax`. This comes at the cost of an extra import (`CategoryTheory.EqToHom`) in the file. The lemma is unsimped for consistency with the corresponding lemma for ordinary categories, which is intentionally not a simp lemma. We also sneak in the `eqToIso` version for completeness. --- Feel free to disagree with the extra import. I think putting this lemma closer to the definition of prelax functors is what makes most sense. An other possible home for this lemma is the file `CategoryTheory/Bicategory/EqToHom` that I introduce in #28242, but this would require that it imports prelax functors. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-category-theory 13/12 Mathlib/CategoryTheory/Bicategory/Functor/Prelax.lean,Mathlib/CategoryTheory/Bicategory/Grothendieck.lean,Mathlib/CategoryTheory/Bicategory/LocallyDiscrete.lean,Mathlib/CategoryTheory/FiberedCategory/Grothendieck.lean 4 1 ['github-actions'] nobody
0-1446
24 minutes ago
8-48462
8 days ago
8-48978
8 days
28352 agjftucker
author:agjftucker
feat(Analysis): add three little theorems relating argument to image These relate argument to image under a continuous function, given a Prop that eventually holds on a product of filters in domain and codomain. In fact the second pair of statements concern a segment whose end-points are the image. They should prove useful in PRs 26300 and 26985. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 28/3 Mathlib/Analysis/Normed/Module/Convex.lean,Mathlib/Order/Filter/Prod.lean 2 1 ['github-actions'] nobody
0-1445
24 minutes ago
7-26148
7 days ago
7-33339
7 days
14720 eric-wieser
author:eric-wieser
refactor: change `CliffordAlgebra.lift` to use quadratic maps This works towards addressing a footnote on [page 152](https://eric-wieser.github.io/thesis/eric-wieser-thesis.pdf#page=164) of my thesis. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
200/167 Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Equivs.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Prod.lean,Mathlib/LinearAlgebra/QuadraticForm/Complex.lean,Mathlib/LinearAlgebra/QuadraticForm/Dual.lean,Mathlib/LinearAlgebra/QuadraticForm/Isometry.lean,Mathlib/LinearAlgebra/QuadraticForm/IsometryEquiv.lean,Mathlib/LinearAlgebra/QuadraticForm/Prod.lean,Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat.lean,Mathlib/LinearAlgebra/QuadraticForm/Real.lean,Mathlib/LinearAlgebra/QuadraticForm/TensorProduct/Isometries.lean 11 1 ['github-actions'] nobody
385-61868
1 year ago
399-52863
1 year ago
0-0
0 seconds
14426 adomani
author:adomani
dev: `#min_imps` command --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict WIP 142/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MinImports.lean,test/MinImports.lean 4 2 ['adomani', 'github-actions'] nobody
385-61868
1 year ago
398-58249
1 year ago
0-0
0 seconds
13847 alreadydone
author:alreadydone
feat(EllipticCurve): the universal elliptic curve + Define the universal Weierstrass curve (`Universal.curve`) over the polynomial ring `ℤ[A₁,A₂,A₃,A₄,A₆]`, and the universal pointed elliptic curve (`Universal.pointedCurve`) over the field of fractions (`Universal.Field`) of the universal ring `ℤ[A₁,A₂,A₃,A₄,A₆,X,Y]/⟨P⟩ = Universal.Poly/⟨P⟩` (`Universal.Ring`, where `P` is the Weierstrass polynomial) with distinguished point `(X,Y)`. + Given a Weierstrass curve `W` over a commutative ring `R`, we define the specialization homomorphism `W.specialize : ℤ[A₁,A₂,A₃,A₄,A₆] →+* R`. If `(x,y)` is a point on the affine plane, we define `W.polyEval x y : Universal.Poly →+* R`, which factors through `W.ringEval x y : Universal.Ring →+* R` if `(x,y)` is on `W`. + Introduce the cusp curve `Y² = X³`, on which lies the rational point `(1,1)`, with the nice property that `ψₙ(1,1) = n`, making it easy to prove nonvanishing of the universal `ψₙ` when `n ≠ 0` by specializing to the cusp curve, which shows that `(X,Y)` is a point of infinite order on the universal pointed elliptic curve. --- - [x] depends on: #13845 - [x] depends on: #12883 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-algebraic-geometry merge-conflict awaiting-author
label:t-algebra$
543/208 Mathlib.lean,Mathlib/Algebra/Polynomial/Bivariate.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Universal.lean 6 4 ['Multramate', 'alreadydone', 'github-actions', 'leanprover-community-mathlib4-bot'] nobody
385-61867
1 year ago
419-2164
1 year ago
0-0
0 seconds
14036 adomani
author:adomani
Test/decl diff in lean --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 465/1040 .github/workflows/Lean_decl_diff.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,.github/workflows/mk_build_yml.sh,scripts/decls_diff_hybrid.sh,scripts/list_decls.lean 8 1 ['github-actions'] nobody
385-61867
1 year ago
423-60158
1 year ago
0-0
0 seconds
14167 alreadydone
author:alreadydone
feat: Group scheme structure on Weierstrass curve --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) workshop-AIM-AG-2024 t-algebraic-geometry merge-conflict WIP 727/41 Mathlib.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Polynomial/Bivariate.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Scheme.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Universal.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/GroupTheory/MonoidLocalization.lean,Mathlib/LinearAlgebra/Basis.lean,Mathlib/LinearAlgebra/FreeModule/Basic.lean,Mathlib/RingTheory/AlgebraTower.lean,Mathlib/RingTheory/MvPolynomial/Basic.lean 12 3 ['Multramate', 'github-actions', 'jcommelin'] nobody
385-61867
1 year ago
398-49478
1 year ago
0-0
0 seconds
13512 adomani
author:adomani
test: count all --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 85/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/Tally.lean 4 0 [] nobody
385-61866
1 year ago
427-56648
1 year ago
0-0
0 seconds
13297 urkud
author:urkud
feat(Semicontinuous): add `comp` lemma --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order t-topology merge-conflict awaiting-author 31/13 Mathlib/Topology/Semicontinuous.lean 1 3 ['sgouezel', 'urkud'] nobody
385-61866
1 year ago
397-39597
1 year ago
0-18175
5 hours
13372 adomani
author:adomani
dev: generic replacement --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 446/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/ReplaceRefine.lean,Mathlib/Tactic/Replacements.lean 4 4 ['adomani', 'github-actions'] nobody
385-61866
1 year ago
427-56775
1 year ago
0-0
0 seconds
12473 adomani
author:adomani
first translations --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 424/265 Mathlib.lean,Mathlib/Order/Lattice.lean,Mathlib/Order/WithBot.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MinMax.lean 5 0 [] nobody
385-61865
1 year ago
455-62008
1 year ago
0-0
0 seconds
12416 adomani
author:adomani
chore: remove some cdots --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 3830/3239 Archive/Imo/Imo1972Q5.lean,Archive/Imo/Imo2006Q5.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2021Q1.lean,Archive/Wiedijk100Theorems/AbelRuffini.lean,Archive/Wiedijk100Theorems/BallotProblem.lean,Archive/Wiedijk100Theorems/BirthdayProblem.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Archive/Wiedijk100Theorems/Partition.lean,Counterexamples/Cyclotomic105.lean,Counterexamples/DirectSumIsInternal.lean,Mathlib.lean,Mathlib/Algebra/Algebra/Spectrum.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/List/Basic.lean,Mathlib/Algebra/Category/GroupCat/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/Images.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/CharP/Quotient.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/DirectLimit.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/GeomSum.lean,Mathlib/Algebra/Group/UniqueProds.lean,Mathlib/Algebra/GroupPower/Order.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/Algebra/Homology/Exact.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/Triangulated.lean,Mathlib/Algebra/Homology/LocalCohomology.lean,Mathlib/Algebra/Homology/TotalComplex.lean,Mathlib/Algebra/Lie/DirectSum.lean,Mathlib/Algebra/Lie/IdealOperations.lean,Mathlib/Algebra/Lie/Nilpotent.lean,Mathlib/Algebra/Lie/Weights/Basic.lean,Mathlib/Algebra/Module/DedekindDomain.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/Module/LocalizedModule.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Module/Submodule/Bilinear.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/Module/Zlattice/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/MonoidAlgebra/Ideal.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Order/Archimedean.lean,Mathlib/Algebra/Order/BigOperators/Group/List.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Algebra/Order/Group/Int.lean,Mathlib/Algebra/Order/Group/MinMax.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/Pointwise.lean,Mathlib/Algebra/Order/Sub/Defs.lean,Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Module/Basic.lean,Mathlib/Algebra/Polynomial/PartialFractions.lean,Mathlib/Algebra/Polynomial/Reverse.lean,Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/Algebra/Polynomial/UnitTrinomial.lean,Mathlib/Algebra/Quandle.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean,Mathlib/AlgebraicGeometry/FunctionField.lean,Mathlib/AlgebraicGeometry/Gluing.lean,Mathlib/AlgebraicGeometry/Morphisms/Basic.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiCompact.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiSeparated.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/Properties.lean,Mathlib/AlgebraicGeometry/Pullbacks.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/AlgebraicTopology/SimplexCategory.lean,Mathlib/AlgebraicTopology/SplitSimplicialObject.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Extend.lean,Mathlib/Analysis/Calculus/InverseFunctionTheorem/ApproximatesLinearOn.lean,Mathlib/Analysis/Calculus/LocalExtr/Basic.lean,Mathlib/Analysis/Calculus/ParametricIntegral.lean,Mathlib/Analysis/Calculus/TangentCone.lean 608 0 [] nobody
385-61865
1 year ago
477-63863
1 year ago
0-0
0 seconds
12936 mattrobball
author:mattrobball
chore(Quiver.Opposite): make `Quiver.Hom.op/unop` `abbrev`'s These are wrappers around the constructor and projection for `Opposite Quiver.Hom _ _`. The projection itself is reducible and with structure eta built in to defeq it seems like we might be making Lean work harder than is necessary. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 39/34 Mathlib/Algebra/Homology/ShortComplex/Homology.lean,Mathlib/Algebra/Homology/ShortComplex/RightHomology.lean,Mathlib/CategoryTheory/Idempotents/Basic.lean,Mathlib/CategoryTheory/Limits/HasLimits.lean,Mathlib/CategoryTheory/Limits/Opposites.lean,Mathlib/CategoryTheory/Opposites.lean,Mathlib/CategoryTheory/Sites/CoverLifting.lean,Mathlib/CategoryTheory/Subobject/Comma.lean,Mathlib/CategoryTheory/Triangulated/Opposite.lean,Mathlib/Combinatorics/Quiver/Basic.lean 10 9 ['YaelDillies', 'kim-em', 'leanprover-bot', 'mattrobball'] nobody
385-61865
1 year ago
453-27857
1 year ago
0-0
0 seconds
12933 grunweg
author:grunweg
chore: replace some use of > or ≥ by < or ≤ These were flagged by the linter in #12879: it is easy to simple avoid > or ≥ in hypotheses or `have`s. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict awaiting-author 123/123 Archive/Imo/Imo1960Q1.lean,Archive/Imo/Imo1962Q1.lean,Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo2005Q3.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2008Q4.lean,Archive/Imo/Imo2011Q5.lean,Archive/Imo/Imo2019Q4.lean,Archive/Wiedijk100Theorems/AreaOfACircle.lean,Archive/Wiedijk100Theorems/BallotProblem.lean,Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Star/CHSH.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/InnerProductSpace/Projection.lean,Mathlib/Analysis/Normed/Group/ControlledClosure.lean,Mathlib/Analysis/SpecialFunctions/Log/Base.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Data/FP/Basic.lean,Mathlib/Data/Finset/Basic.lean,Mathlib/Data/Finsupp/Notation.lean,Mathlib/Data/Nat/Dist.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Nat/Parity.lean,Mathlib/Data/Ordmap/Ordset.lean,Mathlib/Data/PNat/Basic.lean,Mathlib/Data/UInt.lean,Mathlib/GroupTheory/Coxeter/Length.lean,Mathlib/MeasureTheory/Constructions/Polish.lean,Mathlib/MeasureTheory/Covering/Besicovitch.lean,Mathlib/MeasureTheory/Covering/Vitali.lean,Mathlib/MeasureTheory/Covering/VitaliFamily.lean,Mathlib/MeasureTheory/Integral/Layercake.lean,Mathlib/NumberTheory/LegendreSymbol/JacobiSymbol.lean,Mathlib/NumberTheory/Padics/Hensel.lean,Mathlib/NumberTheory/Padics/PadicNorm.lean,Mathlib/NumberTheory/PellMatiyasevic.lean,Mathlib/NumberTheory/Rayleigh.lean,Mathlib/Probability/Process/Stopping.lean,Mathlib/Tactic/CancelDenoms/Core.lean,Mathlib/Tactic/IntervalCases.lean,Mathlib/Tactic/Linarith/Lemmas.lean,Mathlib/Tactic/Linarith/Oracle/FourierMotzkin.lean,Mathlib/Tactic/NormNum/GCD.lean,Mathlib/Tactic/NormNum/Inv.lean,Mathlib/Tactic/Ring/Basic.lean,Mathlib/Topology/Category/Profinite/Nobeling.lean,Mathlib/Topology/ContinuousFunction/Bounded.lean,Mathlib/Topology/MetricSpace/CauSeqFilter.lean,Mathlib/Topology/Sequences.lean,test/LibrarySearch/basic.lean,test/Use.lean,test/cancel_denoms.lean,test/linarith.lean,test/norm_cast.lean 64 6 ['YaelDillies', 'github-actions', 'grunweg'] nobody
385-61865
1 year ago
398-71456
1 year ago
0-55655
15 hours
12679 MichaelStollBayreuth
author:MichaelStollBayreuth
perf(NumberTheory/RamificationInertia): speed up slow file A repetition of the earlier experiment at [#12412](https://github.com/leanprover-community/mathlib4/pull/12412) with Lean 4.8.0-rc1. This time, I tried not to introduce local instances if possible, but instead to tweak instance priorities. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict WIP 57/14 Mathlib/NumberTheory/RamificationInertia.lean 1 3 ['MichaelStollBayreuth', 'github-actions', 'leanprover-bot'] nobody
385-61865
1 year ago
443-21010
1 year ago
0-0
0 seconds
12637 adomani
author:adomani
translation: MonoidAlgebra to AddMonoidAlgebra [Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/merge.20Add-MonoidAlgebra) * #12646 was found as a consequence of unification. * #12659 the typo `single 1 1` for `single 0 1`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-meta merge-conflict
label:t-algebra$
615/986 Mathlib.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Division.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MinMaxTwo.lean,scripts/noshake.json 7 0 [] nobody
385-61865
1 year ago
407-42565
1 year ago
0-0
0 seconds
12465 rosborn
author:rosborn
style: Change Subtype.val to (↑) --- This is a test to see replacing `Subtype.val` with `(↑)` where appropriate. After performing the rewrite, some of the types subtly changed in a difficult to detect manner. Before the change, `openEmbedding' _` had type `OpenEmbedding Subtype.val` where `Subtype.val` expanded as `@Subtype.val α fun x ↦ x ∈ U : ↥U → α`. After the change, `Subtype.val` expands to `@Subtype.val α fun x ↦ x ∈ ↑U : { x // x ∈ ↑U } → α`. This caused some later proofs to fail due to the different definition. In a similar case, within the proof of `mfderiv_coe_sphere_injective` on line 553 `Subtype.val` expanded as `@Subtype.val E fun x ↦ x ∈ (Submodule.span ℝ {↑(-v)})ᗮ : ↥(Submodule.span ℝ {↑(-v)})ᗮ → E`. After changing to `(↑)`, it expanded to `@Subtype.val E fun x ↦ x ∈ ↑(Submodule.span ℝ {↑(-v)})ᗮ : { x // x ∈ ↑(Submodule.span ℝ {↑(-v)})ᗮ } → E`. One benefit to using `(↑)` was that it lead to a shorter proof as `ContinuousLinearEquiv.coe_coe` could be removed on line 559. In general, this subtle change in types is basically impossible to detect without a tool like leaff. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 50/50 Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/Normed/Group/Hom.lean,Mathlib/CategoryTheory/Generator.lean,Mathlib/CategoryTheory/Limits/Shapes/Types.lean,Mathlib/CategoryTheory/Subobject/Types.lean,Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Set/Function.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/Geometry/Manifold/ContMDiff/Basic.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/Geometry/Manifold/LocalInvariantProperties.lean,Mathlib/GroupTheory/Subsemigroup/Operations.lean,Mathlib/LinearAlgebra/LinearIndependent.lean,Mathlib/Order/Directed.lean,Mathlib/Order/RelIso/Basic.lean,Mathlib/Order/RelIso/Set.lean,Mathlib/RingTheory/Artinian.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean,Mathlib/SetTheory/Game/Basic.lean,Mathlib/SetTheory/Game/PGame.lean,Mathlib/SetTheory/Surreal/Basic.lean,Mathlib/Topology/Bornology/Constructions.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean,Mathlib/Topology/Germ.lean,Mathlib/Topology/UniformSpace/Basic.lean,Mathlib/Topology/UniformSpace/UniformConvergenceTopology.lean,Mathlib/Topology/UniformSpace/UniformEmbedding.lean 28 1 ['eric-wieser', 'rosborn'] nobody
385-61865
1 year ago
474-37656
1 year ago
0-0
0 seconds
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 11 ['YaelDillies', 'adomani', 'github-actions', 'grunweg', 'jcommelin', 'urkud'] nobody
385-61865
1 year ago
398-71462
1 year ago
1-73101
1 day
12608 eric-wieser
author:eric-wieser
feat: allow `nsmul` / `zsmul` to be omitted again, with a warning --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-meta merge-conflict awaiting-author
label:t-algebra$
118/2 Mathlib.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Tactic.lean,Mathlib/Tactic/DefaultFieldLinter.lean,scripts/noshake.json,test/default_field_linter.lean 6 12 ['YaelDillies', 'eric-wieser', 'fpvandoorn', 'github-actions'] nobody
385-61865
1 year ago
434-56929
1 year ago
5-72414
5 days
12588 adomani
author:adomani
remove trailingDegree --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 1280/979 Mathlib.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Degree/TrailingDegree.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/Mirror.lean,Mathlib/Order/WithBot.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MinMax.lean,Mathlib/Tactic/MinMaxTwo.lean,test/MinMax.lean 11 0 [] nobody
385-61865
1 year ago
473-65441
1 year ago
0-0
0 seconds
12528 adomani
author:adomani
test: autotranslations Bot --> Top --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 350/294 Mathlib.lean,Mathlib/Order/WithBot.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MinMax.lean,test/MinMax.lean 5 0 [] nobody
385-61865
1 year ago
455-62007
1 year ago
0-0
0 seconds
11617 urkud
author:urkud
refactor(Finset): redefine Finset.diag, review API Redefine `Finset.diag` using `Finset.map`. The new definition doesn't rely on `DecidableEq` and is much more computationally efficient. Also review API and golf proofs here and there. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic merge-conflict awaiting-author 187/181 Archive/Imo/Imo1998Q2.lean,Mathlib.lean,Mathlib/Algebra/BigOperators/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Energy.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Increment.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean,Mathlib/Data/Finset/Diag.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/Finset/Prod.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Set/Prod.lean,Mathlib/Data/Sym/Card.lean,Mathlib/Data/Sym/Sym2.lean 13 7 ['YaelDillies', 'eric-wieser', 'urkud'] nobody
385-61864
1 year ago
508-13594
1 year ago
1-12270
1 day
12192 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: generalize isLittleO_const_id_atTop/atBot From PNT+. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict awaiting-author 10/4 Mathlib/Analysis/Asymptotics/Asymptotics.lean 1 6 ['Ruben-VandeVelde', 'llllvvuu', 'urkud'] nobody
385-61864
1 year ago
397-39731
1 year ago
1-21749
1 day
10521 eric-wieser
author:eric-wieser
chore: generalize `IsBoundedLinearMap` to modules Most of the lemmas don't actually need the normed on the scalars at all. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict awaiting-author 58/42 Mathlib/Analysis/NormedSpace/BoundedLinearMaps.lean 1 3 ['github-actions', 'j-loreaux', 'urkud'] nobody
385-61863
1 year ago
492-75925
1 year ago
1-29105
1 day
10721 urkud
author:urkud
feat(Order/FunLike): define `PointwiseLE` - introduce a mixin class `DFunLike.PointwiseLE`, use it to define `DFunLike.instPartialOrder`; - add a generic `DFunLike.orderEmbeddingCoe` - add `DFunLike.PointwiseLE` instances here and there. With this refactor and #13022, I'm going to generalize lemmas like `MeasureTheory.ae_mono` to `OuterMeasureClass`. --- - [x] depends on: #12983 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic t-order merge-conflict 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
385-61863
1 year ago
407-42565
1 year ago
64-12826
64 days
11100 eric-wieser
author:eric-wieser
feat(CategoryTheory/Limits): add `Functor.mapBinaryBiconeInv` --- - [ ] depends on: #11130 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) It's tempting to try to prove something like ```lean theorem Functor.mapBinaryBiconeInv_toCone [Limits.HasZeroMorphisms C] [Limits.HasZeroMorphisms D] (e : D ⥤ C) [IsEquivalence e] {X Y : D} (b : BinaryBicone (e.obj X) (e.obj Y)) : (e.mapBinaryBiconeInv b).toCone = (e.mapConeInv <| (Cones.postcompose (pairComp X Y e).symm.hom).obj b.toCone) := by simp sorry theorem Functor.mapBinaryBiconeInv_toCocone [Limits.HasZeroMorphisms C] [Limits.HasZeroMorphisms D] (e : D ⥤ C) [IsEquivalence e] {X Y : D} (b : BinaryBicone (e.obj X) (e.obj Y)) : (e.mapBinaryBiconeInv b).toCocone = (e.mapCoconeInv <| (Cocones.precompose (pairComp X Y e).hom).obj b.toCocone) := by sorry ``` but maybe equality is evil here t-category-theory awaiting-CI merge-conflict 52/0 Mathlib/CategoryTheory/Adjunction/Basic.lean,Mathlib/CategoryTheory/Equivalence.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Biproducts.lean 3 6 ['TwoFX', 'eric-wieser', 'leanprover-community-mathlib4-bot'] nobody
385-61863
1 year ago
407-42565
1 year ago
0-0
0 seconds
10594 lecopivo
author:lecopivo
feat: `fun_trans` function transformation tactic e.g. for computing derivatives feat: `fun_trans` function transformation tactic e.g. for computing derivatives Function transformation tactic/simproc. For example it can be used for computing derivatives. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict WIP 1819/56 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/Decl.lean,Mathlib/Tactic/FunProp/Elab.lean,Mathlib/Tactic/FunProp/FunctionData.lean,Mathlib/Tactic/FunProp/MorExt.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/FunTrans/Attr.lean,Mathlib/Tactic/FunTrans/Core.lean,Mathlib/Tactic/FunTrans/Decl.lean,Mathlib/Tactic/FunTrans/Elab.lean,Mathlib/Tactic/FunTrans/Theorems.lean,Mathlib/Tactic/FunTrans/Types.lean,test/fun_prop2.lean,test/fun_prop_dev.lean,test/fun_trans_dev.lean 17 11 ['github-actions'] nobody
385-61863
1 year ago
446-85522
1 year ago
0-0
0 seconds
10845 Shamrock-Frost
author:Shamrock-Frost
Refactor: Make MonoidalFunctor carry the data of an inverse We change the definition of a strong monoidal functor from a lax monoidal functor for which the unitor and tensorator are `IsIso` to a lax monoidal functor with the data of inverses for the unitor and tensorator. This requires fixing a lot of knock on effects. --- This is a **draft PR**. I would like to talk with people on zulip before merging it, and plan ahead to when we have oplax/colax monoidal functors as well. I'm not sure the approach I took here where `MonoidalFunctor` inherits from `LaxMonoidalFunctor` is a good choice if we want to be lax/oplax symmetric. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory RFC merge-conflict WIP 3799/1589 Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Algebra/Homology/HomotopyCategory/DegreewiseSplit.lean,Mathlib/CategoryTheory/Adjunction/Basic.lean,Mathlib/CategoryTheory/Adjunction/Mates.lean,Mathlib/CategoryTheory/Adjunction/Opposites.lean,Mathlib/CategoryTheory/Adjunction/Prod.lean,Mathlib/CategoryTheory/Adjunction/Whiskering.lean,Mathlib/CategoryTheory/Bicategory/End.lean,Mathlib/CategoryTheory/Bicategory/SingleObj.lean,Mathlib/CategoryTheory/CatCommSq.lean,Mathlib/CategoryTheory/CatSquares.lean,Mathlib/CategoryTheory/Enriched/Basic.lean,Mathlib/CategoryTheory/Equivalence.lean,Mathlib/CategoryTheory/Iso.lean,Mathlib/CategoryTheory/Monoidal/Adjunction.lean,Mathlib/CategoryTheory/Monoidal/Braided.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/CategoryTheory/Monoidal/CommMon_.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/CategoryTheory/Monoidal/End.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/Limits.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/NaturalTransformation.lean,Mathlib/CategoryTheory/Monoidal/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Rigid/FunctorCategory.lean,Mathlib/CategoryTheory/Monoidal/Rigid/OfEquivalence.lean,Mathlib/CategoryTheory/Monoidal/Subcategory.lean,Mathlib/CategoryTheory/Monoidal/Transport.lean,Mathlib/CategoryTheory/Monoidal/Types/Basic.lean,Mathlib/CategoryTheory/Opposites.lean,Mathlib/CategoryTheory/Products/Associator.lean,Mathlib/CategoryTheory/Products/Basic.lean,Mathlib/CategoryTheory/Shift/Basic.lean,Mathlib/CategoryTheory/Shift/Pullback.lean,Mathlib/CategoryTheory/Whiskering.lean,Mathlib/RepresentationTheory/Action/Monoidal.lean,Mathlib/RepresentationTheory/GroupCohomology/Resolution.lean,Mathlib/RepresentationTheory/Rep.lean 41 7 ['Shamrock-Frost', 'joelriou'] nobody
385-61863
1 year ago
540-86396
1 year ago
0-0
0 seconds
10024 ADedecker
author:ADedecker
feat: rename `connectedComponentOfOne` to `identityComponent`, prove that it is normal and open --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology awaiting-CI merge-conflict 58/24 Mathlib/FieldTheory/AbsoluteGaloisGroup.lean,Mathlib/Topology/Algebra/Group/Basic.lean,Mathlib/Topology/Algebra/Group/TopologicalAbelianization.lean,Mathlib/Topology/Algebra/OpenSubgroup.lean,Mathlib/Topology/Connected/Basic.lean 5 0 [] nobody
385-61863
1 year ago
397-40320
1 year ago
0-832
13 minutes
10444 urkud
author:urkud
doc(IsROrC): expand the docstring --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict awaiting-author documentation 34/0 Mathlib/Data/IsROrC/Basic.lean 1 9 ['eric-wieser', 'kbuzzard', 'urkud'] nobody
385-61863
1 year ago
510-47755
1 year ago
1-62352
1 day
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 t-analysis merge-conflict awaiting-author WIP help-wanted 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
385-61862
1 year ago
563-41764
1 year ago
0-0
0 seconds
8658 eric-wieser
author:eric-wieser
feat: support right actions for `Con` This adds a new `Con.CompatibleSMul` typeclass that captures exactly the condition when `smul` descends to the quotient. I was not quite able to merge this with `MulAction.QuotientAction`: * The imports are such that the congruence relation `QuotientGroup.con` is not yet available in that file * `QuotientGroup.con` requires the subgroup to be normal, while `MulAction.QuotientAction` does not --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict awaiting-author
label:t-algebra$
80/18 Mathlib/GroupTheory/Congruence.lean,Mathlib/RingTheory/Congruence.lean 2 6 ['YaelDillies', 'eric-wieser'] nobody
385-61862
1 year ago
435-40516
1 year ago
29-65537
29 days
9356 alexjbest
author:alexjbest
feat: assumption? A little helper for replacing `assumption`s with `exact` statements quickly --- If this is approved I will add tests This begs the question of whether it might simply be better to add some sort of code action for "replace with trythis output" [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict awaiting-author 24/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/TryAssumption.lean 4 5 ['alexjbest', 'j-loreaux', 'jcommelin'] nobody
385-61862
1 year ago
568-82259
1 year ago
19-26304
19 days
9252 FR-vdash-bot
author:FR-vdash-bot
chore: remove redundant covariance instances, add priority I noticed that the following code is surprisingly slow. ``` lean import Mathlib count_heartbeats in example {n : ℕ} : CovariantClass (Fin (n + 1)) (Fin (n + 1)) (· + ·) (· < ·) := by try infer_instance sorry ``` This PR removed some redundant instances. The heartbeats have dropped from 19118 to 11450 (still too slow). Lean4 still seems to make some redundant attempts. See also https://github.com/leanprover-community/mathlib4/issues/6646#issuecomment-1691792488. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) slow-typeclass-synthesis t-order t-algebra merge-conflict awaiting-author WIP
label:t-algebra$
40/32 Mathlib/Algebra/CovariantAndContravariant.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/CategoryTheory/Abelian/DiagramLemmas/Four.lean 4 8 ['FR-vdash-bot', 'leanprover-bot', 'urkud'] nobody
385-61862
1 year ago
444-18887
1 year ago
0-0
0 seconds
9504 alreadydone
author:alreadydone
chore: remove some IsSeparable assumptions --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
41/14 Mathlib/NumberTheory/NumberField/Norm.lean,Mathlib/RingTheory/Norm.lean 2 0 [] nobody
385-61862
1 year ago
474-36646
1 year ago
0-0
0 seconds
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/) awaiting-CI merge-conflict please-adopt awaiting-author 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
385-61862
1 year ago
573-54106
1 year ago
0-0
0 seconds
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/) t-algebra merge-conflict
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
385-61862
1 year ago
419-49764
1 year ago
0-0
0 seconds
8906 jjaassoonn
author:jjaassoonn
feat: add some missing lemmas about linear algebra --- - [ ] depends on: #8905 [lifting injective modules to higher universe] [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict awaiting-author
label:t-algebra$
45/1 Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/LinearAlgebra/Basic.lean,Mathlib/LinearAlgebra/BilinearMap.lean 4 21 ['AntoineChambert-Loir', 'alreadydone', 'jjaassoonn', 'leanprover-community-mathlib4-bot'] nobody
385-61862
1 year ago
487-11591
1 year ago
0-0
0 seconds
9570 eric-wieser
author:eric-wieser
feat(Algebra/Star): Non-commutative generalization of `StarModule` [Zulip thread](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/Star.20modules.20over.20non-commutative.20scalars/near/383664005). Until we address #7152, we have to have both `StarModule` and `StarModule'`. To prove this generalization is useful, this shows that with it as an assumption, `TrivSqZeroExt` is a `StarRing`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-CI merge-conflict WIP
label:t-algebra$
66/6 Mathlib/Algebra/Star/Basic.lean,Mathlib/Algebra/Star/Pi.lean,Mathlib/Algebra/Star/Prod.lean,Mathlib/Algebra/TrivSqZeroExt.lean 4 0 [] nobody
385-61862
1 year ago
478-52068
1 year ago
0-0
0 seconds
9482 yuma-mizuno
author:yuma-mizuno
refactor(CategoryTheory/Monoidal): add `LaxMonoidalStruct` Add a `LaxMonoidalStruct` with only the unit morphism `ε` and the tensorator `μ`. This is used in #6307 to provide two different constructors for `LaxMonoidal` that have common `ε` and `μ` but use the tensor of morphisms or the whiskerings. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict WIP 21/8 Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/CategoryTheory/Monoidal/Functorial.lean,Mathlib/CategoryTheory/Monoidal/Limits.lean 3 0 [] nobody
385-61862
1 year ago
573-65711
1 year ago
0-0
0 seconds
9229 eric-wieser
author:eric-wieser
refactor(Algebra/GradedMonoid): Use `HMul` to define `GMul` This make the notation much nicer, but I'm pretty sure this is a bad idea for performance / ambiguity reasons. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
114/125 Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/GradedMulAction.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/Algebra/MonoidAlgebra/ToDirectSum.lean,Mathlib/LinearAlgebra/TensorAlgebra/ToTensorPower.lean,Mathlib/LinearAlgebra/TensorPower.lean,Mathlib/LinearAlgebra/TensorProduct/Graded/Internal.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean 11 6 ['eric-wieser', 'leanprover-bot'] nobody
385-61862
1 year ago
549-51579
1 year ago
0-0
0 seconds
9354 chenyili0818
author:chenyili0818
feat: monotonicity of gradient on convex real-valued functions This file is based on Mathlib.Analysis.Calculus.Gradient.Basic, and describes the calculation properties co-authored-by: Ziyu Wang [tropicalfish910@gmail.com](mailto:tropicalfish910@gmail.com) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict awaiting-author 540/0 Mathlib.lean,Mathlib/Analysis/Convex/ConvexFunction.lean 2 15 ['github-actions', 'winstonyin'] nobody
385-61862
1 year ago
516-28551
1 year ago
22-72922
22 days
9146 laughinggas
author:laughinggas
feat(Data/ZMod/Defs): Topological structure on `ZMod` Added a discrete topology structure to `ZMod n` for all `n` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-topology merge-conflict awaiting-author
label:t-algebra$
55/3 Mathlib.lean,Mathlib/Topology/Algebra/Constructions.lean,Mathlib/Topology/Algebra/Group/Basic.lean,Mathlib/Topology/Instances/ZMod.lean,Mathlib/Topology/Maps.lean 5 61 ['YaelDillies', 'eric-wieser', 'github-actions', 'jcommelin', 'laughinggas', 'mo271', 'urkud'] nobody
385-61862
1 year ago
566-69990
1 year ago
7-6153
7 days
9487 eric-wieser
author:eric-wieser
feat: the exponential of dual numbers over non-commutative rings This is a work in progress, as I don't know my way around the measure theory library. --- - [x] depends on: #9489 - [x] depends on: #9486 - [x] depends on: #10427 - [ ] depends on: #10452 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability t-algebra t-analysis merge-conflict WIP
label:t-algebra$
97/0 Mathlib/Analysis/NormedSpace/TrivSqZeroExt.lean 1 7 ['github-actions', 'leanprover-community-mathlib4-bot'] nobody
385-61862
1 year ago
390-56931
1 year ago
0-0
0 seconds
9564 AntoineChambert-Loir
author:AntoineChambert-Loir
weaken commutativity assumptions for AdjoinRoot.lift and AdjoinRoot.liftHom I weaken a commutativity assumption for docs#AdjoinRoot.liftHom that the target algebra be commutative. It is only assumed to be a Semiring. For that, I need to generalize docs#AdjoinRoot.lift which takes `i : R ->+* S`, `a : S` with `f.eval₂ i a = 0` and defines `AdjoinRoot f ->+* S` that extends `i ` and sends `AdjoinRoot.root f` to `a`. --- The initial version of the PR was to define `AdjoinRoot.lift'` where `S` is only a Semiring, with the additional assumption `hcomm : ∀ r, Commute (i r) a` that the element `a` commutes with the image of `i`. @jcommelin suggested to provide this argument as an `autoParam`, filled in by an ad hoc `commutativity` tactic. However, such an argument cannot be made implicit and a first version required to have this argument given each time, most of the time by `_`, even for all subsequent lemmas, `AdjoinRoot.lift_mk`, etc. To avoid this, I tried to make this assumption a `⦃hcomm : ∀ r, Commute (i r) a⦄`. This appears to have some side effects that proofs using an `exact` tactic or in term mode do not work well, but one can resort on `by simp […]`. Maybe @eric-wieser or @Vierkantor will have opinions on that. In some cases one can still give the argument as `(hcomm := by commutativity)`. (There are 3 options : - separate lemmas for the fully commutative case and for the case where a proof is needed - using the `commutativity` tactic, but with an argument `_` sometimes - using the optional argument.) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
146/30 Mathlib.lean,Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Group/Commute/Defs.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Commutativity.lean,Mathlib/Tactic/Commutativity/Init.lean 8 14 ['AntoineChambert-Loir', 'Vierkantor', 'eric-wieser', 'jcommelin'] nobody
385-61862
1 year ago
407-42565
1 year ago
16-24540
16 days
8585 thorimur
author:thorimur
chore: bench lean4#2944 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 1/1 lean-toolchain 1 2 ['leanprover-bot', 'thorimur'] nobody
385-61862
1 year ago
636-67040
1 year ago*
0-0
0 seconds*
8503 thorimur
author:thorimur
feat: meta utils for `refine?` This PR introduces some metaprogramming infrastructure and utilities that are necessary for `refine?` (#8364). * `elabTermWithHoles'` (and `withCollectingNewGoalsFrom'`): a more configurable version of `elabTermWithHoles`, which allows: preserving the initial mvar type; *not* tagging untagged goals; and postponing mvars. * Some `Syntax` and `TSyntax` functionality, including: * `TSyntax.map`(`M`), for acting on `TSyntax` with functions `f : Syntax -> (m) Syntax` * Range operations: `includes` and `isEqByRange` * `setTrailingInfoBy?` and `unsetOriginalTrailing`, which is like `unsetTrailing`, but behaves as expected. * `Term.withoutModifyingState`, which does not allow unknown mvarIds to escape via the infotree * `hasNewErrors`, which runs a monad computation and returns the value along with `true` or `false` depending on whether new error messages have been logged * the option `pp.anonymousMVarSuffixes`, which can be set to `false` to replace all numeric suffixes of anonymous mvars with `✝`, which is useful in tandem with `#guard_msgs` for tests (but is essentially a workaround—although it can make some tactic states more legible). --- I'm open to suggestions on the location and name of the option/delaborator used for trimming the numeric suffixes of anonymous mvar names (which is used in the tests)—including whether or not it should exist in the first place, as it's essentially just a workaround. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict awaiting-author 312/5 Mathlib.lean,Mathlib/Lean/CoreM.lean,Mathlib/Lean/Elab/Tactic/ElabTerm.lean,Mathlib/Lean/Elab/Term.lean,Mathlib/Util/Delaborators.lean,Mathlib/Util/Syntax.lean 6 2 ['kmill', 'thorimur'] kmill
assignee:kmill
385-61862
1 year ago
587-72160
1 year ago
38-46649
38 days
8616 eric-wieser
author:eric-wieser
feat(Algebra/FreeAlgebra): add right action and `IsCentralScalar` --- - [ ] depends on: #8652 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-CI merge-conflict
label:t-algebra$
30/8 Mathlib/Algebra/FreeAlgebra.lean 1 1 ['leanprover-community-mathlib4-bot'] nobody
385-61862
1 year ago
407-42565
1 year ago
0-0
0 seconds
8582 eric-wieser
author:eric-wieser
wip --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 3/7 Mathlib/Algebra/Category/AlgebraCat/Monoidal.lean,Mathlib/LinearAlgebra/TensorProduct.lean 2 4 ['eric-wieser', 'leanprover-bot'] nobody
385-61862
1 year ago
636-48718
1 year ago
0-0
0 seconds
8519 eric-wieser
author:eric-wieser
refactor(LinearAlgebra/TensorProduct): golf using `liftAddHom` This new `TensorProduct.liftAddHom` doesn't require bilinearity, only that scalar multiplication can be moved between the arguments. While in theory we only need the `AddMonoidHom` version as it offers exactly the same generality, we first provide an unbundled `liftFun` as this seems to give a sizeable performance boost if used in downstream `lift` variants. --- - [x] depends on: #8571 - [x] depends on: #8584 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict awaiting-author
label:t-algebra$
53/50 Mathlib/Algebra/Category/AlgebraCat/Monoidal.lean,Mathlib/LinearAlgebra/TensorProduct.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean 3 28 ['bustercopley', 'eric-wieser', 'jcommelin', 'jjaassoonn', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib-bors'] nobody
385-61862
1 year ago
534-34177
1 year ago
5-6524
5 days
7713 RemyDegenne
author:RemyDegenne
feat: add_left/right_inj for measures `μ + ν₁ = μ + ν₂ ↔ ν₁ = ν₂`, and similarly on the right. This is not true in general for measures, but is true when `μ` is mutually singular with the two other measures or when `μ` is finite. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability merge-conflict awaiting-author 53/1 Mathlib/MeasureTheory/Measure/MutuallySingular.lean,lean-toolchain 2 6 ['RemyDegenne', 'digama0', 'eric-wieser', 'fpvandoorn'] nobody
385-61861
1 year ago
659-67701
1 year ago
0-62955
17 hours
7615 eric-wieser
author:eric-wieser
chore(LinearAlgebra/Basic): generalize compatibleMaps to semilinear maps Spotted while reviewing #7611 --- - [x] depends on: #7611 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-CI easy merge-conflict
label:t-algebra$
9/33 Mathlib/LinearAlgebra/Basic.lean 1 1 ['leanprover-community-mathlib4-bot'] nobody
385-61861
1 year ago
407-42565
1 year ago
0-0
0 seconds
7351 shuxuezhuyi
author:shuxuezhuyi
feat(Topology/Algebra/Order): extend function on `Ioo` to `Icc` Extend a strictly monotone function defined on an open interval. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order merge-conflict awaiting-author 59/0 Mathlib.lean,Mathlib/Data/Set/Function.lean,Mathlib/Topology/Algebra/Order/IccExtendFromIoo.lean 3 7 ['j-loreaux', 'shuxuezhuyi'] nobody
385-61861
1 year ago
515-25127
1 year ago
30-30522
30 days
7227 kmill
author:kmill
feat: flexible binders and integration into notation3 Introduces `flexibleBinders`, which is an extensible system for binder notations that allow destructuring, bounded domains, and other niceties. Integrates this into `notation3`, and makes `Finset.sum`/`Finset.prod` use it. --- - [ ] depends on: #6833 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict WIP 1215/131 Mathlib.lean,Mathlib/Algebra/BigOperators/Basic.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/BigOperators/NatAntidiagonal.lean,Mathlib/Mathport/Notation.lean,Mathlib/Util/FlexibleBinders.lean,Mathlib/Util/FlexibleBindersFinset.lean,Mathlib/Util/SyntaxFun.lean,test/FlexibleBinders.lean,test/notation3.lean 10 3 ['eric-wieser', 'kmill', 'leanprover-community-mathlib4-bot'] nobody
385-61861
1 year ago
588-43297
1 year ago
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/) t-analysis merge-conflict help-wanted 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
385-61861
1 year ago
407-42565
1 year ago
0-0
0 seconds
7225 jjaassoonn
author:jjaassoonn
some random stuff - Consider two commutative rings `R` and `S` and `X` and `(R, S)`-bimodule. Consider the tensor functor `(X ⊗[R] .)` from the category of `R`-modules to the category of `S`-modules and the hom functor `X →ₗ[S] .` from the category of `S`-modules to the category of `R`-modules, they form an adjunction. - direct limits of modules commute with tensor product - A proof of ![00HD](https://stacks.math.columbia.edu/tag/00HD) Three definitions for flatness: 1. in terms of injectiveness ```lean def Flat.injective : Prop := ∀ ⦃N N' : ModuleCat.{u} R⦄ (L : N ⟶ N'), Function.Injective L → Function.Injective ((tensorRight (ModuleCat.of R M)).map L) ``` 2. in terms of ideals ```lean def Flat.ideal : Prop := ∀ (I : Ideal R), Function.Injective (TensorProduct.lift ((lsmul R M).comp I.subtype)) ``` 3. in terms of finitely generated ideal ```lean def Flat.fg_ideal : Prop := ∀ ⦃I : Ideal R⦄ (_ : I.FG), Function.Injective (TensorProduct.lift ((lsmul R M).comp I.subtype)) ``` and they are all equivalent: ```lean lemma tfae : List.TFAE [ Flat.injective R M, Flat.ideal R M, Flat.fg_ideal R M ] := by ``` The dependencies between these changed files are: ``` Algebra.Module.LinearMap--------------------------------- | | | | v v Algebra.Category.ModuleCat.TensorProduct -----> Algebra.Character | | | v Algebra.DirectLimitAndTensorProduct -------------> RingTheory.Flat ``` to prove equivalence of other definitions, e.g. exact functor, tor, etc should be easier with this because the proof is will be categorical --- ------------- Some other stuff not about flatness 1. If $S$ is a submonoid and $I$ is maximally disjoint from $S$ then $I$ is prime 2. if $\mathfrak p$ is a minimal prime, then $x \in \mathfrak p$ implies that $x$ is a zero divisor 3. Noetherian rings has only finitely many minimal ideals 4. One version of [the prime avoidance lemma](https://en.wikipedia.org/wiki/Prime_avoidance_lemma): if $E$ is an addsubgroup of a ring and is mutiplicatively closed, and $\mathfrak p_i$ is some prime ideals, then not being any subset of the individual prime ideal implies that not being a subset of their union ---------- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 1828/16 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/TensorProduct.lean,Mathlib/Algebra/Character.lean,Mathlib/Algebra/DirectLimitAndTensorProduct.lean,Mathlib/Algebra/Module/LinearMap.lean,Mathlib/AlgebraicGeometry/PrimeSpectrum/Basic.lean,Mathlib/AlgebraicGeometry/PrimeSpectrum/Noetherian.lean,Mathlib/CategoryTheory/Functor/Fin.lean,Mathlib/CategoryTheory/ShortExactSequence.lean,Mathlib/RingTheory/Flat.lean,Mathlib/RingTheory/Ideal/Basic.lean,Mathlib/RingTheory/Ideal/MinimalPrime.lean,Mathlib/RingTheory/Ideal/PrimeAvoidance.lean 13 6 ['eric-wieser', 'jjaassoonn'] nobody
385-61861
1 year ago
579-40766
1 year ago
0-0
0 seconds
7835 shuxuezhuyi
author:shuxuezhuyi
feat(LinearAlgebra/Matrix): `lift` for projective special linear group We provide converters to help with the use of "quotient.liftOn" on projective special linear groups. --- - [x] depends on: #7826 - [x] depends on: #7791 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict awaiting-author
label:t-algebra$
52/0 Mathlib/LinearAlgebra/Matrix/ProjectiveSpecialLinearGroup.lean 1 3 ['jcommelin', 'leanprover-community-mathlib4-bot', 'shuxuezhuyi'] jcommelin
assignee:jcommelin
385-61861
1 year ago
406-15320
1 year ago
1-85757
1 day
7909 mcdoll
author:mcdoll
fix(Tactic/Continuity): remove npowRec and add new tag for Continuous.pow --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology t-meta merge-conflict WIP 14/9 Mathlib/Tactic/Continuity.lean,Mathlib/Topology/Category/TopCat/Limits/Basic.lean,test/Continuity.lean 3 2 ['eric-wieser'] nobody
385-61861
1 year ago
661-1902
1 year ago
0-72515
20 hours
7427 MohanadAhmed
author:MohanadAhmed
Mohanad ahmed/sort eigenvalues abs In the file `Analysis.InnerProductSpace.Spectrum` todo notes were left saying: > TODO Postcompose with a permutation so that these eigenvectors are listed in increasing order of eigenvalue. > TODO Postcompose with a permutation so that these eigenvalues are listed in increasing order. - This is a start in that direction --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict WIP 162/4 Mathlib/Analysis/InnerProductSpace/Spectrum.lean,Mathlib/Analysis/NormedSpace/PiLp.lean,Mathlib/LinearAlgebra/Matrix/Spectrum.lean 3 0 [] nobody
385-61861
1 year ago
563-2158
1 year ago
0-0
0 seconds
7467 ADedecker
author:ADedecker
feat: spectrum of X →ᵇ ℂ is StoneCech X --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict WIP 121/23 Mathlib/Analysis/NormedSpace/Star/BoundedContinuousFunction.lean,Mathlib/Analysis/NormedSpace/Star/GelfandDuality.lean,Mathlib/Topology/ContinuousFunction/Bounded.lean,Mathlib/Topology/ContinuousFunction/Compact.lean 4 1 ['github-actions'] nobody
385-61861
1 year ago
547-10873
1 year ago
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/) awaiting-CI merge-conflict awaiting-author help-wanted 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
385-61861
1 year ago
702-29721
1 year ago
0-0
0 seconds
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/) slow-typeclass-synthesis t-algebra merge-conflict
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
385-61861
1 year ago
407-42565
1 year ago
1-47913
1 day
7962 eric-wieser
author:eric-wieser
feat: `DualNumber (Quaternion R)` as a `CliffordAlgebra` This provides a clifford algebra isomorphic to the dual quaternions --- - [x] depends on: #7934 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
307/7 Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/QuaternionBasis.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Equivs.lean 3 16 ['github-actions', 'leanprover-community-mathlib4-bot'] nobody
385-61861
1 year ago
397-40450
1 year ago
0-0
0 seconds
6777 adomani
author:adomani
chore(Co*variantClass): replace eta-expanded (· * ·), (· + ·), (· ≤ ·), (· < ·) Replace `CovariantClass X X (· * ·) (· ≤ ·)` with -> `CovariantClass X X HMul.hMul LE.le` and similarly for `HAdd`, `LT`, `Contravariant`. This PR is inspired by [Issue #6646](https://github.com/leanprover-community/mathlib4/issues/6646) and, more specifically, [this comment](https://github.com/leanprover-community/mathlib4/issues/6646#issuecomment-1692792066). Note that https://github.com/leanprover/lean4/pull/2267 would make this unnecessary --- ```bash # First sed command: # the first captured pattern is `Co*variantClass ` # the second captured pattern is `` # the third captured pattern is `+` or `*` # the fourth captured pattern is `<` or `≤` # a match for `Co*variantClass ·) (· ·)` becomes # `Co*variantClass replaceop replaceop` # Second sed command: similar to the first, but looks for `(Function.swap (· ·))` sed -i ' s=\(Co[ntra]*variantClass \(..*\) \2 \)(· *\([+*]\) *·) (· *\([<≤]\) *·)=\1replaceop\3 replaceop\4=g s=\(Co[ntra]*variantClass \(..*\) \2 \)(\([Functio\.swap ]*\)(· *\([+*]\) *·)) (· *\([<≤]\) *·)=\1(\3replaceop\4) replaceop\5=g s=replaceop+=HAdd.hAdd=g s=replaceop\*=HMul.hMul=g s=replaceop<=LT.lt=g s=replaceop≤=LE.le=g s=\(Co[ntra]*variantClass N N\) (· \* ·) r=\1 HMul.hMul r=g s=\(Co[ntra]*variantClass N N (swap μ)\) (· ≤ ·)=\1 LE.le=g s=\(Co[ntra]*variantClass N N\) (swap (· \* ·)) r=\1 (swap HMul.hMul) r=g s=\(CovariantClass (Filter α) (Filter α)\) (· / ·) (· ≤ ·)=\1 HDiv.hDiv LE.le=g s=\(CovariantClass (Filter α) (Filter α)\) (swap (· / ·)) (· ≤ ·)=\1 (swap HDiv.hDiv) LE.le=g s=\(Co[ntra]*variantClass .* (fun x y .> . \* .)\) (· ≤ ·)=\1 LE.le=g s=\(Co[ntra]*variantClass .* (fun x y .> . \* .)\) (· < ·)=\1 LT.lt=g s=\(Co[ntra]*variantClass [^}]*\) (· ≤ ·)=\1 LE.le=g s=\(CovariantClass .* (Filter β)\) (· • ·) LE.le=\1 HSMul.hSMul LE.le=g ' $(git ls-files '*.lean') ``` [![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 36 ['adomani', 'alreadydone', 'digama0', 'eric-wieser', 'ericrbg', 'jcommelin', 'leanprover-bot', 'sgouezel'] nobody
385-61861
1 year ago
407-42565
1 year ago
35-56459
35 days
7932 eric-wieser
author:eric-wieser
refactor(Algebra/TrivSqZeroExt): replace with a structure This is dogfooding my claim that "one-field structures are the lesser evil in Lean 4". This runs into the `simp [(stupid_parens)]` bug; or rather, a particular nasty instance of it where the offending simp call is inside `@[simps]`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-CI merge-conflict
label:t-algebra$
155/73 Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/TrivSqZeroExt.lean,Mathlib/Logic/Equiv/TransferInstance.lean,Mathlib/Topology/Instances/TrivSqZeroExt.lean 4 1 ['github-actions'] nobody
385-61861
1 year ago
407-42565
1 year ago
0-0
0 seconds
6580 adomani
author:adomani
chore: `move_add`-driven replacements This PR accompanies #6576 and uses `move_add/mul` to simplify/streamline a selection of proofs. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict awaiting-author 12/13 Counterexamples/Monic_nonRegular.lean,Mathlib/Algebra/Associated.lean,Mathlib/Data/Polynomial/RingDivision.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean 4 0 [] nobody
385-61861
1 year ago
502-50293
1 year ago
0-0
0 seconds
6930 kmill
author:kmill
feat: `resynth_instances` tactic for resynthesizing instances in the goal or local context This tactic can be useful for debugging non-canonical instances or for fixing up goals and hypotheses after using the `classical` tactic. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict WIP 327/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ResynthInstances.lean,test/ResynthInstances.lean 4 0 [] nobody
385-61861
1 year ago
716-35884
1 year ago
0-0
0 seconds
7601 digama0
author:digama0
feat: ring hom support in `ring` As [requested on Zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/aroots/near/395750055). Adds support for distributing ring morphisms in `ring`: ```lean example (p : ℤ[X]) (r : ℤ) : C (2 * r) * p = C r * p + C r * p := by ring ``` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-meta merge-conflict awaiting-author
label:t-algebra$
257/48 Mathlib/Tactic/Ring/Basic.lean,test/linear_combination.lean,test/ring.lean 3 1 ['eric-wieser'] nobody
385-61861
1 year ago
442-72853
1 year ago
0-0
0 seconds
6630 MohanadAhmed
author:MohanadAhmed
feat: Reduced Spectral Theorem For A hermitian matrix $A : n \times n$ with rank $A.rank \leq n$, we can eliminate the zero eigenvalues and their corresponding eigenvectors from the (alternate) spectral theorem. As such the matrix $A$ can be written as: $$A = V₁ D V₁ᴴ$$ where - $V₁$ : $n \times r$ is the matrix of eigenvector with non-zero associated eigenvalues. - $D$ is $r \times r$ is the diagonal matrix containing only non-zero eigenvalues on its main diagonal. with $r = A.rank$ being the rank of the matrix Towards that goal we make several equivalence definitions: - `{i // hA.eigenvalues i ≠ 0} ≃ Fin (A.rank)` the set of non-zero eigenvalues can be indexed by the numbers from 0 to (r - 1). - `{i // ¬ hA.eigenvalues i ≠ 0} ≃ Fin (n - A.rank)` the set of non-zero eigenvalues can be indexed by the numbers from 0 to (n - r - 1). - `{i // hA.eigenvalues i ≠ 0} ⊕ {i // ¬hA.eigenvalues i ≠ 0} ≃ n`: the index set of the matrix (together with the associated eigenvector matrix and eigenvalues matrix ) can be partitioned into two complement groups the ones corresponding to non-zero eigenvalues and the ones corresponding to zero eigenvalues. - We can then put the previous definitions together to obtain a: `Fin (A.rank) ⊕ Fin (Fintype.card n - A.rank) ≃ n` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
31/0 Mathlib/LinearAlgebra/Matrix/Spectrum.lean 1 0 [] nobody
385-61861
1 year ago
397-40578
1 year ago
0-0
0 seconds
3575 Kha
author:Kha
perf: selectively enable precompilation --- This is an initial performance test on Linux. TODO: - [ ] test on macOS and Windows as well - [ ] adapt caching merge-conflict WIP 3/0 lakefile.lean 1 21 ['Kha', 'kim-em', 'leanprover-bot', 'tydeu'] nobody
385-61860
1 year ago
417-35455
1 year ago
0-0
0 seconds
6079 eric-wieser
author:eric-wieser
fix: deduplicate variables `variables {A} [Ring A]` meant "update the binder of `A`" in Lean 3, but now means "create a duplicate variable called `A`" (or at least, does so when inspecting the state within the variables line). This removes a number of porting notes that were stumbling over this behavior. [Related Zulip thread](https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/unexpected.20.60variable.60.20behaviour.3F/near/360154080) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-CI merge-conflict 1012/443 Archive/Wiedijk100Theorems/CubingACube.lean,Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Algebra/CharP/Basic.lean,Mathlib/Algebra/CovariantAndContravariant.lean,Mathlib/Algebra/DirectLimit.lean,Mathlib/Algebra/DirectSum/Finsupp.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/Group/Pi.lean,Mathlib/Algebra/GroupPower/Basic.lean,Mathlib/Algebra/GroupPower/Lemmas.lean,Mathlib/Algebra/Hom/Aut.lean,Mathlib/Algebra/Hom/Equiv/Basic.lean,Mathlib/Algebra/Hom/Group.lean,Mathlib/Algebra/Homology/HomologicalComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory.lean,Mathlib/Algebra/Homology/ImageToKernel.lean,Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean,Mathlib/Algebra/IndicatorFunction.lean,Mathlib/Algebra/Jordan/Basic.lean,Mathlib/Algebra/Lie/Classical.lean,Mathlib/Algebra/Lie/Subalgebra.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Lie/TensorProduct.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/Algebra/Module/LinearMap.lean,Mathlib/Algebra/Module/Submodule/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Grading.lean,Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Algebra/Order/Pi.lean,Mathlib/Algebra/Order/Ring/Lemmas.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Algebra/SMulWithZero.lean,Mathlib/Algebra/Star/Module.lean,Mathlib/Algebra/Support.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Point.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/AlgebraicTopology/DoldKan/Decomposition.lean,Mathlib/AlgebraicTopology/MooreComplex.lean,Mathlib/Analysis/Calculus/ContDiff.lean,Mathlib/Analysis/Calculus/FormalMultilinearSeries.lean,Mathlib/Analysis/Calculus/LocalExtr.lean,Mathlib/Analysis/Calculus/TangentCone.lean,Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/Convex/Combination.lean,Mathlib/Analysis/Convex/Extreme.lean,Mathlib/Analysis/Convex/Function.lean,Mathlib/Analysis/Convex/Hull.lean,Mathlib/Analysis/Convex/Independent.lean,Mathlib/Analysis/Convex/Intrinsic.lean,Mathlib/Analysis/Convex/Join.lean,Mathlib/Analysis/Convex/Quasiconvex.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/Analysis/Convex/Star.lean,Mathlib/Analysis/Convex/Uniform.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/BalancedCoreHull.lean,Mathlib/Analysis/LocallyConvex/Basic.lean,Mathlib/Analysis/LocallyConvex/Bounded.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Group/AddCircle.lean,Mathlib/Analysis/Normed/Group/Hom.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Analysis/NormedSpace/Completion.lean,Mathlib/Analysis/NormedSpace/LinearIsometry.lean,Mathlib/Analysis/NormedSpace/Multilinear.lean,Mathlib/Analysis/NormedSpace/OperatorNorm.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/CategoryTheory/Action.lean,Mathlib/CategoryTheory/Bicategory/LocallyDiscrete.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation.lean,Mathlib/CategoryTheory/Closed/Ideal.lean,Mathlib/CategoryTheory/ConcreteCategory/UnbundledHom.lean,Mathlib/CategoryTheory/Core.lean,Mathlib/CategoryTheory/Endofunctor/Algebra.lean,Mathlib/CategoryTheory/Enriched/Basic.lean,Mathlib/CategoryTheory/EssentialImage.lean,Mathlib/CategoryTheory/FullSubcategory.lean,Mathlib/CategoryTheory/Functor/Category.lean,Mathlib/CategoryTheory/Limits/Fubini.lean,Mathlib/CategoryTheory/Limits/HasLimits.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Kernels.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean,Mathlib/CategoryTheory/Limits/Shapes/Biproducts.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Limits/Shapes/Images.lean,Mathlib/CategoryTheory/Limits/Shapes/WidePullbacks.lean,Mathlib/CategoryTheory/Linear/LinearFunctor.lean,Mathlib/CategoryTheory/Localization/Construction.lean,Mathlib/CategoryTheory/Monoidal/Braided.lean,Mathlib/CategoryTheory/Monoidal/CommMon_.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean 302 1 ['timotree3'] nobody
385-61860
1 year ago
407-42565
1 year ago
0-0
0 seconds
4960 eric-wieser
author:eric-wieser
chore: use `open scoped` Earlier versions of mathport did not know about this. This was done by searching for all `open` commands referencing: * `Classical` * `BigOperators` * `Topology` * `Pointwise` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-CI merge-conflict 1026/981 Mathlib/Algebra/AddTorsor.lean,Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/Algebra/Subalgebra/Tower.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/BigOperators/Basic.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Finsupp.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/BigOperators/NatAntidiagonal.lean,Mathlib/Algebra/BigOperators/Option.lean,Mathlib/Algebra/BigOperators/Order.lean,Mathlib/Algebra/BigOperators/Pi.lean,Mathlib/Algebra/BigOperators/Ring.lean,Mathlib/Algebra/BigOperators/RingEquiv.lean,Mathlib/Algebra/Bounds.lean,Mathlib/Algebra/Category/GroupCat/Biproducts.lean,Mathlib/Algebra/Category/GroupCat/FilteredColimits.lean,Mathlib/Algebra/Category/GroupCat/Injective.lean,Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Algebra/Category/ModuleCat/Biproducts.lean,Mathlib/Algebra/Category/Mon/FilteredColimits.lean,Mathlib/Algebra/Category/Ring/Adjunctions.lean,Mathlib/Algebra/Category/Ring/FilteredColimits.lean,Mathlib/Algebra/CharP/Basic.lean,Mathlib/Algebra/CharP/Two.lean,Mathlib/Algebra/DirectLimit.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Decomposition.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/Field/Defs.lean,Mathlib/Algebra/GCDMonoid/Div.lean,Mathlib/Algebra/GeomSum.lean,Mathlib/Algebra/GroupWithZero/Basic.lean,Mathlib/Algebra/GroupWithZero/Commute.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Homology/Additive.lean,Mathlib/Algebra/Homology/ComplexShape.lean,Mathlib/Algebra/Homology/Homology.lean,Mathlib/Algebra/Homology/Homotopy.lean,Mathlib/Algebra/Homology/HomotopyCategory.lean,Mathlib/Algebra/Homology/ImageToKernel.lean,Mathlib/Algebra/IndicatorFunction.lean,Mathlib/Algebra/LinearRecurrence.lean,Mathlib/Algebra/Module/BigOperators.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/Algebra/Module/LinearMap.lean,Mathlib/Algebra/Module/PointwisePi.lean,Mathlib/Algebra/Module/Submodule/Basic.lean,Mathlib/Algebra/Module/Submodule/Bilinear.lean,Mathlib/Algebra/Module/Submodule/Lattice.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/Order/Chebyshev.lean,Mathlib/Algebra/Order/Module.lean,Mathlib/Algebra/Order/Pointwise.lean,Mathlib/Algebra/Order/Rearrangement.lean,Mathlib/Algebra/Order/SMul.lean,Mathlib/Algebra/Order/UpperLower.lean,Mathlib/Algebra/Periodic.lean,Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/GroupRingAction.lean,Mathlib/Algebra/Star/BigOperators.lean,Mathlib/Algebra/Star/Pointwise.lean,Mathlib/Algebra/Star/Subalgebra.lean,Mathlib/Algebra/Support.lean,Mathlib/Algebra/TrivSqZeroExt.lean,Mathlib/Algebra/Tropical/BigOperators.lean,Mathlib/AlgebraicGeometry/PrimeSpectrum/Basic.lean,Mathlib/AlgebraicGeometry/PrimeSpectrum/Maximal.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean,Mathlib/AlgebraicTopology/AlternatingFaceMapComplex.lean,Mathlib/AlgebraicTopology/ExtraDegeneracy.lean,Mathlib/AlgebraicTopology/TopologicalSimplex.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean,Mathlib/Analysis/Asymptotics/Asymptotics.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean,Mathlib/Analysis/Asymptotics/Theta.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/BoxIntegral/Box/SubboxInduction.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Filter.lean,Mathlib/Analysis/BoxIntegral/Partition/Split.lean,Mathlib/Analysis/BoxIntegral/Partition/SubboxInduction.lean,Mathlib/Analysis/BoxIntegral/Partition/Tagged.lean,Mathlib/Analysis/Calculus/ContDiffDef.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean 788 0 [] nobody
385-61860
1 year ago
407-42565
1 year ago
0-0
0 seconds
3808 kim-em
author:kim-em
feat: #formalize, backed by a choice of LLMs This replaces * https://github.com/leanprover-community/mathlib4/pull/3785, which has essentially been moved to an [independent repository](https://github.com/leanprover-community/llm) and generalised to interface with a choice of OpenAI's GPT, a gpt4all model (running locally via their python binding), or a model compatible with `llama.cpp` (e.g. the 4-bit quantised versions of Meta's LLaMa models). * https://github.com/leanprover-community/mathlib4/pull/3786, which has been modified slightly but still adds code here in `Mathlib.Tactic.Formalize`. Typical output: ``` #formalize "There are infinitely many primes numbers ending with a 7." ``` produces: * GPT4 ``` -- /-- There are infinitely many prime numbers ending with a 7. -/ -- theorem infinitely_many_primes_ending_with_7 : ∀ N : Nat, ∃ p, N < p ∧ p.Prime ∧ p % 10 = 7 := -- sorry ``` * ggml-gpt4all-j-v1.3-groovy.bin: ``` -- There are infinitely many prime numbers that end with a 7. ``` * 7B/ggml-model-q4_0.bin: ``` -- ∀ p : nat, 7 < 7p + 1 := sorry -– \end{code} ``` There are other sample outputs in `test/formalize.lean` If you don't currently have a LLM that the `leanprover-community/llm` project can recognise, when you run `#formalize` you get an error message, which currently reads: ``` Could not find a usable chat bot! You can try one of the following: * Obtain an OpenAI API access key at https://platform.openai.com/account/api-keys, and store it in the environment variable OPENAI_API_KEY. This will enable you to use ChatGPT. * Download the GPT4All-J model `https://gpt4all.io/models/ggml-gpt4all-j-v1.3-groovy.bin`, and put it in either `$HOME/.models/` or `$LLM_MODELS`. Also install the gpt4all python bindings via `pip3 install pygpt4all`. * Clone the `llama.cpp` repository from https://github.com/ggerganov/llama.cpp. Set the environment variable `LLAMA_CPP_HOME` to this repository. Follow the instructions in the README to produce `7B/ggml-model-q4_0.bin` starting from the Meta LLaMa weights. You can store this file at one of * `$LLAMA_CPP_HOME/models/7B/ggml-model-q4_0.bin` * `$HOME/.models/7B/ggml-model-q4_0.bin` * `$LLM_MODELS/7B/ggml-model-q4_0.bin` ``` Currently there are not user-configurable hooks to pick which LLM to use: it checks the conditions described in those bullet points, and takes the first one it finds. (i.e. if you want to use the LLaMa `7B/ggml-model-q4_0.bin`, you have to remove your OpenAI API key!). However a tactic in a downstream project (e.g. mathlib) can specify which interface and model it wants to use, or just call `findChatBot` for the behaviour described in that message. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict awaiting-author 180/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Formalize.lean,lake-manifest.json,lakefile.lean,test/formalize.lean 6 2 ['digama0', 'jcommelin'] nobody
385-61860
1 year ago
705-64988
1 year ago
124-45187
124 days
4771 thorimur
author:thorimur
feat: Backtrack minimize Utilities for backtracking in order to attain a minimum according to some arbitrary notion of size when generating lists of parts and alternatives in alternating fashion. Motivated by minimizing the number of generated subgoals under apply-like actions on the goal. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict 482/1 Mathlib/Tactic/Backtracking.lean,test/Backtracking.lean 2 0 [] nobody
385-61860
1 year ago
707-81235
1 year ago
0-0
0 seconds
4871 j-loreaux
author:j-loreaux
feat: define the additive submonoid of positive elements in a star ordered ring This file defines the `AddSubmonoid` of nonegative elements `StarOrderedRing.positive R` in a star ordered ring `R` with carrier `{ x : R | 0 ≤ x }` (in fact, the definition only requires `OrderedAddCommMonoid R` to allow for other use cases, but it is primarily intended for `StarOrderedRing R`). Equivalently, this is the `AddSubmonoid` generated by the elements of the form `star s * s`. Even though this technically corresponds to the nonnegative elements, the "positive" terminology is standard throughout the literature (at least in C⋆-algebra theory and operator theory), so we choose to prefer that. The advantage of using this over other definitions of positivity is that it allows us to unify several different concepts under a single umbrella. For example, one might be tempted to consider the collection of bounded linear operators on an Hilbert space and define positivity as `∀ x, 0 ≤ ⟪T x, x⟫`, but this doesn't generalize nicely to C⋆-algebras. Alternatively, one could define positivity as those self-adjoint elements with nonnegative spectrum, but this requires the algebra to be unital. Our definition herein conveniently sidesteps these issues. --- Note: I declared the `AddMonoidWithOne` and `AddGroupWithOne` instances for `selfAdjoint R` separately because it made the proof of the latter easier. - [x] depends on: #6229 - [x] depends on: #10209 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-CI merge-conflict
label:t-algebra$
216/12 Mathlib.lean,Mathlib/Algebra/Order/Ring/CharZero.lean,Mathlib/Algebra/Star/Order.lean,Mathlib/Algebra/Star/Positive.lean,Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/GroupTheory/Submonoid/Operations.lean 6 28 ['eric-wieser', 'j-loreaux', 'leanprover-community-mathlib4-bot'] nobody
385-61860
1 year ago
407-42565
1 year ago
5-55287
5 days
6002 slerpyyy
author:slerpyyy
feat(Analysis.SpecialFunctions.Gaussian): add `integrable_fun_mul_exp_neg_mul_sq` If `f : ℝ → ℝ` is bounded by a polynomial, `fun x : ℝ => f x * exp (-b * x ^ 2)` is integrable. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict awaiting-author 26/0 Mathlib/Analysis/SpecialFunctions/Gaussian.lean 1 3 ['ocfnash', 'slerpyyy', 'urkud'] nobody
385-61860
1 year ago
650-51457
1 year ago
9-67365
9 days
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 t-meta merge-conflict mathlib-port help-wanted 183/0 Mathlib.lean,Mathlib/Data/Rat/MetaDefs.lean,test/rat.lean 3 4 ['eric-wieser', 'gebner'] nobody
385-61860
1 year ago
555-48849
1 year ago
0-0
0 seconds
6328 FR-vdash-bot
author:FR-vdash-bot
chore: make some instance about `Sub...Class` lower priority Many similar instances have been marked as lower priority. I'd like to see if this would make things faster. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-CI merge-conflict WIP
label:t-algebra$
14/14 Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean,Mathlib/RingTheory/Subsemiring/Basic.lean,lean-toolchain 3 1 ['digama0'] nobody
385-61860
1 year ago
659-68468
1 year ago
0-0
0 seconds
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/) t-algebra merge-conflict
label:t-algebra$
24/10 Mathlib/Algebra/Hom/GroupAction.lean 1 0 [] nobody
385-61860
1 year ago
407-42565
1 year ago
83-76369
83 days
6268 eric-wieser
author:eric-wieser
Fixups to #3838 This is an attempt to make #3838 universe polymorphic --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) * Depends on #6271 * Depends on #8876 merge-conflict WIP 186/107 Mathlib/Control/Random.lean,Mathlib/Tactic/SlimCheck.lean,Mathlib/Testing/SlimCheck/Functions.lean,Mathlib/Testing/SlimCheck/Gen.lean,Mathlib/Testing/SlimCheck/Sampleable.lean,Mathlib/Testing/SlimCheck/Testable.lean,test/slim_check.lean 7 10 ['github-actions', 'kim-em'] nobody
385-61860
1 year ago
612-7327
1 year ago
0-0
0 seconds
6633 adomani
author:adomani
feat(..Polynomial..): `MvPolynomial`s have no zero divisors This PR continues #6627, placing the `NoZeroDivisors` instance on `MvPolynomial`s and removing auxiliary intermediate results that are no longer needed. Affected files: ``` Data/MvPolynomial/Basic.lean Data/Polynomial/RingDivision.lean RingTheory/Polynomial/Basic.lean ``` --- - [ ] depends on: #6227 for the `NoZeroDivisors` instance on `AddMonoidAlgebra`s [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict awaiting-author
label:t-algebra$
143/57 Mathlib/Algebra/MonoidAlgebra/NoZeroDivisors.lean,Mathlib/Data/MvPolynomial/Basic.lean,Mathlib/Data/Polynomial/RingDivision.lean,Mathlib/RingTheory/Polynomial/Basic.lean 4 4 ['adomani', 'eric-wieser', 'leanprover-community-mathlib4-bot'] nobody
385-61860
1 year ago
732-23385
2 years ago
0-19160
5 hours
6307 yuma-mizuno
author:yuma-mizuno
refactor(CategoryTheory/Monoidal): add whiskering operators We introduce whiskering operators. This allows us to introduce a simp-normal form for morphisms in monoidal categories. Rewriting into simp-normal forms is especially useful when combined with the coherence tactic. --- - [x] depends on: #6420 - [x] depends on: #8191 - [x] depends on: #9988 - [x] depends on: #9991 - [x] depends on: #9995 - [x] depends on: #10061 - [x] depends on: #10078 - [x] depends on: #10898 - [x] depends on: #10912 - [x] depends on: #11223 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict awaiting-author 325/280 Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/CategoryTheory/Bicategory/End.lean,Mathlib/CategoryTheory/Closed/Ideal.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/FunctorCategory.lean,Mathlib/CategoryTheory/Monoidal/Limits.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/NaturalTransformation.lean,Mathlib/CategoryTheory/Monoidal/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Transport.lean,test/CategoryTheory/Coherence.lean 15 38 ['eric-wieser', 'github-actions', 'grunweg', 'jcommelin', 'kim-em', 'leanprover-community-mathlib4-bot', 'yuma-mizuno'] nobody
385-61860
1 year ago
400-74689
1 year ago
0-0
0 seconds
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/) t-algebra merge-conflict
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
385-61860
1 year ago
407-42565
1 year ago
102-21189
102 days
6330 FR-vdash-bot
author:FR-vdash-bot
chore: make some instance about `Sub...Class` higher priority than `Sub...` The opposite direction to #6328. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) slow-typeclass-synthesis t-algebra merge-conflict WIP
label:t-algebra$
123/128 Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/FieldTheory/IsAlgClosed/Basic.lean,Mathlib/FieldTheory/Subfield.lean,Mathlib/RingTheory/NonUnitalSubring/Basic.lean,Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean,Mathlib/RingTheory/Polynomial/Quotient.lean,Mathlib/RingTheory/Subring/Basic.lean,Mathlib/RingTheory/Subsemiring/Basic.lean,lean-toolchain 11 13 ['FR-vdash-bot', 'digama0', 'leanprover-bot'] nobody
385-61860
1 year ago
444-18950
1 year ago
0-0
0 seconds
7076 grunweg
author:grunweg
feat: define measure zero subsets of a manifold A topological manifold has no canonical measure, but there is a canonical notion of measure zero subsets. We show that these are closed under subsets and countable unions (hence define a filter, the almost everywhere filter) and that a closed nowhere dense has empty interior. This is necessary for stating the general version of Sard's theorem (in finite dimensions), and a first step towards its proof. This code was written at LftCM 2023. Thanks for @fpvandoorn for mentoring me! :heart: --- Unresolved questions/looking for feedback - Is "measure zero" a good name or would "null set" be better? I tend towards the former, but welcome input from a measure theorist (which I'm not). - What is the correct definition? One could also define "measure zero" using any `IsOpenPosMeasure` on the charted space. I think all results in this file still hold then, but for applications (e.g., Sard's theorem), this might be too general. - define custom notation, similar to the a.e. filter on a measure space? (We could include $J$ instead of $\mu$.) - what's the right syntax for formulas in docstrings --- use LaTeX or backticks? I don't know how to preview the generated docs, the guidelines are a bit ambiguous for me. t-measure-probability t-differential-geometry merge-conflict WIP 165/0 Mathlib.lean,Mathlib/Geometry/Manifold/MeasureZero.lean,docs/references.bib 3 27 ['ADedecker', 'github-actions', 'grunweg', 'mo271', 'sgouezel'] ADedecker
assignee:ADedecker
385-61860
1 year ago
424-57671
1 year ago
43-56043
43 days
6403 FR-vdash-bot
author:FR-vdash-bot
chore: change instance priorities of `Ordered*` hierarchy --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) slow-typeclass-synthesis t-order t-algebra merge-conflict awaiting-author
label:t-algebra$
253/79 Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Algebra/Order/Field/Canonical/Defs.lean,Mathlib/Algebra/Order/Field/Defs.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Monoid/Basic.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/WithZero/Defs.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/Star.lean,Mathlib/Algebra/Order/WithZero.lean,Mathlib/Analysis/InnerProductSpace/Orientation.lean,Mathlib/LinearAlgebra/Orientation.lean,Mathlib/RingTheory/HahnSeries.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/Tactic/Positivity/Core.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean 18 39 ['FR-vdash-bot', 'Vierkantor', 'digama0', 'eric-wieser', 'j-loreaux', 'leanprover-bot'] nobody
385-61860
1 year ago
444-18930
1 year ago
13-18399
13 days
6195 eric-wieser
author:eric-wieser
chore(RingTheory/TensorProduct): golf the `mul` definition --- - [x] depends on: #6211 - [x] depends on: #6187 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) Strangely this causes a timeout downstream t-algebra awaiting-CI merge-conflict
label:t-algebra$
4/29 Mathlib/RingTheory/TensorProduct.lean 1 1 ['leanprover-community-mathlib4-bot'] nobody
385-61860
1 year ago
407-42565
1 year ago
0-0
0 seconds
4127 kmill
author:kmill
refactor: create HasAdj class, define Digraph, and generalize some SimpleGraph API --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics merge-conflict awaiting-author 1403/551 Mathlib.lean,Mathlib/Combinatorics/Digraph/Basic.lean,Mathlib/Combinatorics/Graph/Classes.lean,Mathlib/Combinatorics/Graph/Dart.lean,Mathlib/Combinatorics/Graph/Hom.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity.lean,Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/Density.lean,Mathlib/Combinatorics/SimpleGraph/Ends/Defs.lean,Mathlib/Combinatorics/SimpleGraph/Finsubgraph.lean,Mathlib/Combinatorics/SimpleGraph/Hasse.lean,Mathlib/Combinatorics/SimpleGraph/Prod.lean,Mathlib/Combinatorics/SimpleGraph/StronglyRegular.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean 18 0 [] nobody
385-61860
1 year ago
426-59288
1 year ago
0-0
0 seconds
5912 ADedecker
author:ADedecker
feat(Analysis.Distribution.ContDiffMapSupportedIn): space of smooth maps with support in a fixed compact --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict WIP 513/13 Mathlib.lean,Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Data/FunLike/Basic.lean,Mathlib/Data/Set/Function.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean,Mathlib/Topology/ContinuousFunction/Bounded.lean 8 0 [] nobody
385-61860
1 year ago
736-29501
2 years ago
0-0
0 seconds
6210 MohanadAhmed
author:MohanadAhmed
feat(Data/IsROrC/Basic): add a `StarOrderedRing` instance This PR implements a suggestion by @urkud on [Zulip thread](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/PartialOrder.20and.20StarOrderedRing.20on.20IsROrC) on how to get a `StarOrderedRing` on the `IsROrC` class. In that discussion the suggested step were: 1. Add PartialOrder K to the list of extends and add le_iff_re_im : z ≤ w ↔ re z ≤ re w ∧ im z = im w to the list of axioms. 2. Prove StarOrderedRing instance for any IsROrC. 3. Add (almost trivial) le_iff_re_im proofs to IsROrC instances for real and complex numbers. This PR does exactly these three steps --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-analysis merge-conflict WIP
label:t-algebra$
25/24 Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Data/IsROrC/Basic.lean 4 19 ['MohanadAhmed', 'eric-wieser', 'j-loreaux'] nobody
385-61860
1 year ago
736-64997
2 years ago
0-4269
1 hour
6590 mcdoll
author:mcdoll
feat: composition of LinearPMaps This PR changes the definition of the composition to allow composition of arbitrary LinearPMaps by restricting the domains appropriately. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
51/7 Mathlib/LinearAlgebra/LinearPMap.lean,lean-toolchain 2 3 ['ADedecker', 'digama0', 'mcdoll'] nobody
385-61860
1 year ago
659-68467
1 year ago
3-26416
3 days
4775 thorimur
author:thorimur
feat: `SubExpr` utilities This file contains utilities for handling positions in expressions, including folding over subexpressions along with their positions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict WIP 148/0 Mathlib.lean,Mathlib/Lean/SubExpr.lean 2 0 [] nobody
385-61860
1 year ago
805-73176
2 years ago
0-0
0 seconds
5133 kmill
author:kmill
feat: IntermediateField adjoin syntax for sets of elements Adds support for both `F⟮S⟯` and `F⟮α⟯`. The term `x` in `F⟮x⟯` is elaborated, and if it has type `Set _` the first interpretation is used, and otherwise the second is. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
110/55 Mathlib/FieldTheory/Adjoin.lean 1 0 [] nobody
385-61860
1 year ago
741-13724
2 years ago
0-0
0 seconds
4109 kim-em
author:kim-em
feat: run library_search when the cursor is at a sorry --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict 77/0 Mathlib.lean,Mathlib/Data/Nondet/Basic.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/LibrarySearch.lean,Mathlib/Util/CodeAction/RunTactic.lean 5 0 [] nobody
385-61860
1 year ago
593-82052
1 year ago
0-0
0 seconds
3757 thorimur
author:thorimur
feat: config options for `fail_if_no_progress` This PR creates config options for `fail_if_no_progress` that allow the user to tweak what exactly counts as "progress". This includes whether to use defeq or `BEq`, what transparency to use, and which parts of the goal and local context to check. It also splits off the comparison functionality into `Mathlib.Lean.Meta.Compare`, which provides fully configurable comparison functions for common complex metaprogramming types not specific to `fail_if_no_progress`. These types are `Expr`, `LocalDecl`, `LocalContext`, `MetavarDecl`, `MVarId`, and `List MVarId`. --- See [zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/progress.20on.20fail_if_no_progress) for a couple review questions. Status update: this PR is now basically done, save for some extra tests which should probably be included. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict WIP 603/54 Mathlib.lean,Mathlib/Lean/Meta.lean,Mathlib/Lean/Meta/Compare.lean,Mathlib/Tactic/FailIfNoProgress.lean,test/fail_if_no_progress.lean 5 38 ['alexjbest', 'github-actions', 'joneugster', 'kim-em', 'thorimur'] nobody
385-61859
1 year ago
637-73045
1 year ago
45-49113
45 days
12353 thorimur
author:thorimur
feat: `conv%` This PR introduces `conv% e => tac`, along with `simp%`, `norm_num%`, and `push_neg%`, which are defined in terms of `conv%`. It also introduces `conv%?` (and `simp%?`, `norm_num%?`, and `push_neg%?`) as shortcuts for `show_term ...`. This is a relatively straightforward refactor of code already present in the implementation of `#conv`, and otherwise relies entirely on simple macros. This PR also introduces some modifications to existing command syntax for `#conv`, `#simp`, and `#norm_num`: * The syntax for `#conv` was `#conv tac => e`; however, this is inconsistent with the tactic syntax, and so this has been flipped to `#conv e => tac`. Likewise, `conv%` uses the same (new) syntax `conv% e => tac`. * `#simp` and `#norm_num` separated their config and `only` syntax from the expression by an optional `=>` (for `#simp`) and an optional `:` (for `#norm_num`) (e.g. `#simp only [lem] => e`). These have both been replaced with an optional`on` (e.g. `#simp only [lem] on e`) which is also used for `simp%` and `norm_num%`. Although `#whnf` is implemented in terms of `#conv`, this PR doesn't introduce `whnf%` in the same way, as that's probably better off being implemented directly instead of through `conv`. --- WIP: needs tests. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict WIP 131/32 Mathlib/Tactic/Conv.lean,Mathlib/Tactic/NormNum/Core.lean,Mathlib/Tactic/PushNeg.lean,docs/Conv/Guide.lean 4 0 [] nobody
381-38169
1 year ago
381-38169
1 year ago
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/) t-topology merge-conflict help-wanted 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
378-49838
1 year ago
378-49838
1 year ago
0-0
0 seconds
14994 kim-em
author:kim-em
profiling: skipKernelTC merge-conflict 2/1 lakefile.lean 1 3 ['github-actions', 'kim-em', 'leanprover-bot'] nobody
376-81982
1 year ago
376-81982
1 year ago
0-0
0 seconds
15400 grunweg
author:grunweg
feat: "confusing variables" linter 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 leanprover/lean4#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/) t-linter merge-conflict WIP 292/47 Cache/Requests.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Prod.lean,Mathlib/Dynamics/Ergodic/Ergodic.lean,Mathlib/FieldTheory/AbelRuffini.lean,Mathlib/FieldTheory/Adjoin.lean,Mathlib/FieldTheory/IntermediateField.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/FieldTheory/Minpoly/MinpolyDiv.lean,Mathlib/FieldTheory/Normal.lean,Mathlib/FieldTheory/PurelyInseparable.lean,Mathlib/Geometry/Manifold/BumpFunction.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Geometry/Manifold/ContMDiff/Basic.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean,Mathlib/Geometry/Manifold/VectorBundle/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/Tangent.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean,Mathlib/Tactic/Linter/Lint.lean,Mathlib/Tactic/ToAdditive/Frontend.lean,Mathlib/Topology/FiberBundle/Basic.lean,Mathlib/Topology/FiberBundle/Trivialization.lean,test/Lint.lean 22 1 ['github-actions'] nobody
373-42932
1 year ago
378-79954
1 year ago
0-0
0 seconds
12143 adomani
author:adomani
feat: generic linter, absorbing `cdot` linter and `attribute [instance] in` linter A "generic" syntax linter that can be configured using a function `Syntax → Array Syntax`. The expectations is that the function returns sub-syntax extracted from the input that should be flagged by the linter. This PR provides two examples. * Flags uses of `cdot` that are not typed as `·`. * #12137 is a PR that inspired this one. * Flag uses of `attribute [instance] in` that is not limited to the next declaration * Inspired by the existing PR by Michael Rothgang #13190 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter merge-conflict 210/2 Mathlib.lean,Mathlib/Combinatorics/Colex.lean,Mathlib/NumberTheory/LegendreSymbol/AddCharacter.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/GenericSyntaxLinter.lean,test/GenericSyntaxLinter.lean 7 17 ['adomani', 'github-actions', 'grunweg', 'leanprover-bot'] nobody
373-34179
1 year ago
373-34179
1 year ago
41-49960
41 days
14654 grunweg
author:grunweg
feat(runLinter): allow only running certain linters This adds a script `run_linter`, which is a fork of batteries' `runLinter` with extra features: - rewrite as a CLI app, so --help messages etc. come for free - add a `--list` option, which prints the list of linters it was about to run, and exists - add `--select`, `--ignore` and `--only` options which ensure certain linters are always run, never resp. that only a certain list of linters are run. (`add` takes priority over `exclude` or `only`.) - add an `update_only_remove` flag which only runs linters mentioned in the `nolints` file: this only removes entries (by design), but is often much faster. - renamed to `run_linter`: actually, per the [zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Naming.20convention/near/450896930), this should be `run-linter` --- and one could as well use the opportunity to rename this to e.g. `env-linter`. Asked [here](https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Configuring.2Fmodernizing.20runLinter). Intended use cases 1. Run `update_only_remove` when updating the nolints file. In fact, it is so fast that it could even run during regular CI, after the normal `lint` step... 2. Run the mathlib linters locally. The simpNF linters are slow enough (for a reason, but still) that doing so is currently annoying. On my notebook, they can easily take half an hour, during which my notebook is otherwise hardly usable. 3. You're developing a new linter and only want to run *that* one (as there was no change about the other ones). Probably, the nicest result would be this PR landing in batteries (perhaps in pieces) instead of here. --- Two CLI warts I'm unhappy about. - how can I have flag names with a hyphen? Currently, I have to write `--print_linters`, which is less pretty. - many options take an `Array String`: how can I pass this to the executable? This is not obvious to me... [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter RFC 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 5 ['github-actions', 'grunweg', 'rosborn'] nobody
373-19782
1 year ago
373-19782
1 year ago
13-61906
13 days
15679 adomani
author:adomani
test: refactor in CI --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict WIP 213/5 .github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,Mathlib.lean,Mathlib/Algebra/Homology/HomotopyCategory/SingleFunctors.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unique.lean,Mathlib/Analysis/Convex/Combination.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/CategoryTheory/Bicategory/Adjunction.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/Order/Filter/Cocardinal.lean,Mathlib/Order/UpperLower/Basic.lean,Mathlib/TestRefactor.lean,Refactor/Main.lean,lakefile.lean,lean-toolchain 21 1 ['github-actions'] nobody
373-19014
1 year ago
373-19014
1 year ago
0-8
8 seconds
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/) t-data merge-conflict 11/0 Mathlib/Data/List/Basic.lean 1 1 ['eric-wieser'] nobody
371-55405
1 year ago
371-55405
1 year ago
53-73442
53 days
9973 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: polynomials formed by lists From https://github.com/leanprover-community/mathlib/pull/15476 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict please-adopt 311/0 Mathlib.lean,Mathlib/Data/Polynomial/OfList.lean 2 0 [] nobody
371-54938
1 year ago
371-54938
1 year ago
0-0
0 seconds
12926 joelriou
author:joelriou
feat(CategoryTheory): the monoidal category structure induced by a monoidal functor In this PR, given a monoidal functor `F : MonoidalFunctor C D`, we define a monoidal category structure on the category `InducedCategory D F.obj`, which has the "same" objects as `C`, but the morphisms between `X` and `Y` identify to `F.obj X ⟶ F.obj Y`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict WIP 105/0 Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Induced.lean 2 3 ['eric-wieser', 'github-actions', 'joelriou'] nobody
371-53337
1 year ago
371-53337
1 year ago
0-0
0 seconds
12869 adomani
author:adomani
feat: linter and script for `theorem` vs `lemma` This PR contains a linter for flagging doc-string-less `theorem`s, as well as a bash script that, once the linter ran on Mathlib, automatically replaces every linter-offending `theorem` by `lemma`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter merge-conflict awaiting-author 106/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/ThmLemma.lean,scripts/thmLemma.sh 4 13 ['adomani', 'github-actions', 'grunweg', 'joneugster'] nobody
371-40101
1 year ago
371-40101
1 year ago
0-0
0 seconds
14308 grhkm21
author:grhkm21
feat(Algebra/Category): Direct construction of colimits in algebraic categories (Below I only write about colimits since that's what I'm familiar with after working on it the last few days, but maybe it's the same for other categorical constructions) **Main feature:** Construct colimits in `AddCommGrp`/`ModuleCat`/`FGModuleCat`(/...) directly as coequalizer (i.e. cokernel i.e. quotient) of two maps, allowing one to say $\coprod_j M_j \cong *$ Currently, if you look at how colimits are constructed for [AddCommGrp](https://github.com/leanprover-community/mathlib4/blob/master/Mathlib/Algebra/Category/Grp/Colimits.lean#L69-L92), you see this massive block of code of all relations generating the quotient relation, but that's kind of bad, you can't say anything concretely about it. Also as noted in the TODOs of a few files: ``` TODO: In fact, in `ModuleCat R` there is a much nicer model of colimits as quotients of finitely supported functions, and we really should implement this as well. ``` I wrote it down [here](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Braided.20left.20rigid.20categories.20are.20right.20rigid/near/447490672), and **have formalised it** in a small file already [here](https://gist.github.com/grhkm21/5b2d938753c0ce0900d21c93a39e3b7d#file-addcommgrpcolimits-lean-L162-L163) (I also have a `ModuleCat` version, and proving existence of colimits in `FGModuleCat` from it). Usually I will try to merge the file into Mathlib directly (preferably in one sitting), but I have been trying for a while now and been struggling. One issue is I am struggling to understand universes, which I asked [here](https://leanprover.zulipchat.com/#narrow/stream/113489-new-members/topic/Universe.20constraints!/near/448049266) along with many other places. A more concrete issue is that - [ ] FGModuleCat (and `FullSubcategory` in general) requires morphism and objects to be on the same universe, whereas generally `Category.{v, u}` don't. So that seems to limit what I can express, and maybe I have to fix it first. Here are a few more TODOs just so I don't forget, probably done before the one above: - [ ] Generalise `cokernelIsoQuotient` to other categories. - [ ] Also prove `coproductIsoDirectSum` - [ ] Also prove coequalizer (f + h) (g + h) ~ coequalizer f g ~ cokernel (f - g) 0 - [ ] Fix typo `FGModuleCatCat` If anyone is familiar with universe stuff and can answer my many questions that'll be great too. I need help understanding just [these five lines](https://github.com/leanprover-community/mathlib4/blob/master/Mathlib/Algebra/Category/Grp/Colimits.lean#L267-L271) t-algebra merge-conflict WIP
label:t-algebra$
10/3 Mathlib/Algebra/DirectSum/Module.lean,Mathlib/LinearAlgebra/FreeModule/Basic.lean 2 1 ['github-actions'] nobody
370-52122
1 year ago
370-52122
1 year ago
0-0
0 seconds
13010 ADedecker
author:ADedecker
feat: relax universe constraint in stoneCechExtend --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict 33/3 Mathlib/Topology/StoneCech.lean 1 2 ['ADedecker', 'erdOne'] nobody
370-51919
1 year ago
370-51919
1 year ago
0-0
0 seconds
12411 adomani
author:adomani
feat: more linting of cdots --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter merge-conflict 953/617 Archive/Wiedijk100Theorems/CubingACube.lean,Mathlib.lean,Mathlib/Algebra/Category/GroupCat/Colimits.lean,Mathlib/Algebra/Homology/Exact.lean,Mathlib/Algebra/Homology/LocalCohomology.lean,Mathlib/Algebra/Lie/Nilpotent.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Module/Submodule/Bilinear.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/Order/Archimedean.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/InverseFunctionTheorem/ApproximatesLinearOn.lean,Mathlib/Analysis/Calculus/LocalExtr/Basic.lean,Mathlib/Analysis/Calculus/TangentCone.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/InnerProductSpace/Projection.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/Normed/Group/ControlledClosure.lean,Mathlib/Analysis/Normed/Group/Pointwise.lean,Mathlib/Analysis/NormedSpace/FiniteDimension.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Separation.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean,Mathlib/Analysis/NormedSpace/Star/Basic.lean,Mathlib/Analysis/NormedSpace/Star/Multiplier.lean,Mathlib/Analysis/NormedSpace/lpSpace.lean,Mathlib/Analysis/PSeries.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Log/Base.lean,Mathlib/Analysis/SpecialFunctions/Log/Monotone.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/CategoryTheory/Action.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation.lean,Mathlib/CategoryTheory/Category/Cat/Limit.lean,Mathlib/CategoryTheory/Category/PartialFun.lean,Mathlib/CategoryTheory/Category/TwoP.lean,Mathlib/CategoryTheory/Closed/Cartesian.lean,Mathlib/CategoryTheory/Functor/Flat.lean,Mathlib/CategoryTheory/Galois/GaloisObjects.lean,Mathlib/CategoryTheory/Limits/Over.lean,Mathlib/CategoryTheory/Limits/VanKampen.lean,Mathlib/CategoryTheory/Localization/Predicate.lean,Mathlib/CategoryTheory/Monad/Coequalizer.lean,Mathlib/CategoryTheory/Monad/Monadicity.lean,Mathlib/CategoryTheory/Pi/Basic.lean,Mathlib/CategoryTheory/Sites/DenseSubsite.lean,Mathlib/CategoryTheory/Sites/InducedTopology.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/Combinatorics/Additive/PluenneckeRuzsa.lean,Mathlib/Combinatorics/HalesJewett.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Chunk.lean,Mathlib/Computability/Reduce.lean,Mathlib/Data/Holor.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Nat/Pairing.lean,Mathlib/Data/Real/Cardinality.lean,Mathlib/Data/Real/Hyperreal.lean,Mathlib/Data/Real/Irrational.lean,Mathlib/Data/Set/Card.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean,Mathlib/FieldTheory/Finite/Polynomial.lean,Mathlib/FieldTheory/Minpoly/IsIntegrallyClosed.lean,Mathlib/FieldTheory/PerfectClosure.lean,Mathlib/FieldTheory/RatFunc.lean,Mathlib/Geometry/RingedSpace/OpenImmersion.lean,Mathlib/Geometry/RingedSpace/PresheafedSpace/Gluing.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/GroupTheory/Perm/Finite.lean,Mathlib/GroupTheory/SpecificGroups/Quaternion.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/LinearAlgebra/Dimension/RankNullity.lean,Mathlib/LinearAlgebra/Dual.lean,Mathlib/LinearAlgebra/LinearIndependent.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/LinearAlgebra/Prod.lean,Mathlib/LinearAlgebra/QuadraticForm/Complex.lean,Mathlib/LinearAlgebra/Reflection.lean,Mathlib/MeasureTheory/Constructions/Pi.lean,Mathlib/MeasureTheory/Covering/VitaliFamily.lean,Mathlib/MeasureTheory/Measure/Haar/Basic.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/Typeclasses.lean,Mathlib/MeasureTheory/OuterMeasure/Basic.lean,Mathlib/ModelTheory/Skolem.lean,Mathlib/NumberTheory/Dioph.lean,Mathlib/NumberTheory/LegendreSymbol/Basic.lean,Mathlib/NumberTheory/Padics/Hensel.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/Padics/RingHoms.lean,Mathlib/NumberTheory/RamificationInertia.lean,Mathlib/RingTheory/AdjoinRoot.lean 147 2 ['adomani', 'leanprover-bot'] nobody
370-51782
1 year ago
370-51782
1 year ago
0-0
0 seconds
12279 casavaca
author:casavaca
WIP: feat: Holder's inequality n-ary --- - [x] depends on #12291 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict WIP 129/0 Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean 2 13 ['github-actions'] nobody
370-51767
1 year ago
370-51767
1 year ago
0-0
0 seconds
12093 ADedecker
author:ADedecker
feat: tweak the definition of semicontinuity to behave better in nonlinear orders Summary of the changes: - change definitions to make [lowerSemicontinuous_iff_isClosed_preimage](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Semicontinuous.html#lowerSemicontinuous_iff_isClosed_preimage) true without assuming `LinearOrder`, so that semicontinuity corresponds to continuity for lower/upper order topology on the codomain. See discussion on [Zulip](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/Semicontinuity.20definition.20for.20non-linear.20orders/near/432898278) - add new `iff` lemmas for unfolding the definition - add `iff` lemmas with the old definition in the linearly ordered case - some basic lemmas need to be changed in an easy way - minimize assumptions for continuity => semicontinuity - prove the semicontinuity criterion for indicators using "preimage of Ici/Iic" instead of a direct proof, because the proof is more natural (especially because we have no `filter_upwards` for `Frequently`) - in the rest of the file (which is about linear orders anyway), we don't touch the statements and just rewrite to the old definition. Some of these could be generalized, but we keep that for a later PR. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict WIP 274/130 Mathlib/Analysis/BoundedVariation.lean,Mathlib/MeasureTheory/Integral/FundThmCalculus.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Topology/Semicontinuous.lean 4 0 [] nobody
370-51729
1 year ago
370-51729
1 year ago
0-0
0 seconds
11519 thorimur
author:thorimur
feat: `syntax_rules` --- Experimental. WIP. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict 485/0 Mathlib.lean,Mathlib/Command/SyntaxRules.lean,Mathlib/Command/SyntaxRules/Attr.lean,Mathlib/Command/SyntaxRules/Elab.lean,Mathlib/Command/SyntaxRules/Header.lean,Mathlib/Command/SyntaxRules/Util.lean,scripts/noshake.json 7 0 [] nobody
370-51705
1 year ago
370-51705
1 year ago
0-0
0 seconds
11393 mcdoll
author:mcdoll
feat(Analysis/Distribution/SchwartzSpace): The Heine-Borel property --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict WIP 688/3 Mathlib.lean,Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/UniformSpace/Ascoli.lean,Mathlib/Topology/UniformSpace/Pi.lean,Mathlib/Topology/UniformSpace/UniformConvergenceTopology.lean 6 0 [] nobody
370-51695
1 year ago
370-51695
1 year ago
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/) t-number-theory merge-conflict help-wanted 27/0 Mathlib/NumberTheory/NumberField/Basic.lean,Mathlib/RingTheory/IntegralClosure.lean 2 9 ['erdOne', 'leanprover-bot', 'mattrobball', 'riccardobrasca', 'xroblot'] nobody
370-51614
1 year ago
370-51614
1 year ago
0-0
0 seconds
8931 hmonroe
author:hmonroe
feat(Computable): define P, NP, and NP-complete Revised to focus on languages that are binary strings, given the issue of non-acceptable encodings of unspecified Types --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability merge-conflict awaiting-author 381/5 Mathlib.lean,Mathlib/Computability/Complexity copy.lean,Mathlib/Computability/Complexity.lean,Mathlib/Computability/Encoding.lean,Mathlib/Computability/TMComputable.lean,Mathlib/Computability/TuringMachine.lean,Mathlib/Computability/halting example.lean,docs/references.bib 8 3 ['fpvandoorn', 'github-actions', 'hmonroe'] nobody
370-51579
1 year ago
370-51579
1 year ago
5-62479
5 days
10641 newell
author:newell
feat(Topology/MetricSpace/WellSpaced): Define sets that are *well-spaced*. Create a new file `Mathlib.Topology.MetricSpace.WellSpaced` that contains definitions of sets which are in some sense *well-spaced*. Some examples are Delone and Meyer sets, which find applications in Quasicrystals and Coding Theory, among others. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict 1073/14 Mathlib.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Topology/EMetricSpace/Basic.lean,Mathlib/Topology/GMetric/Basic.lean,Mathlib/Topology/GMetric/GInfSep.lean,Mathlib/Topology/GMetric/WellSpaced.lean,Mathlib/Topology/GPseudoMetric/Basic.lean,Mathlib/Topology/MetricSpace/WellSpaced.lean 8 1 ['edegeltje'] nobody
370-51547
1 year ago
370-51547
1 year ago
0-0
0 seconds
10428 dwrensha
author:dwrensha
feat: add simp_digits tactic With the introduction of the simprocs `reduceLE`, `reduceMod`, `reduceDiv` etc. in Lean v4.6.0, now `simp` can fully normalize typical `Nat.digits` calls that have concrete arguments. The situation is still a bit delicate however, as we want to avoid invoking kernel reduction on `Nat.digits`, because the `Acc`-based ("well founded") recursion in `digitsAux` can get bogged down. This PR introduces a new tactic `simp_digits` tactic that contains only the simp lemmas and simprocs needed to reduce `Nat.digits`. This allows proofs involving `Nat.digits` to be cleanly factored into two steps: 1. reduce `Nat.digits` via `simp_digits`, 2. do things that require kernel reduction such as `simp_arith`, `decide`, or `rfl`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict 6/124 Archive/Imo/Imo1960Q1.lean,Archive/Imo/Imo1962Q1.lean,Mathlib/Data/Nat/Digits.lean 3 2 ['dwrensha'] nobody
370-51401
1 year ago
370-51401
1 year ago
0-0
0 seconds
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/) t-algebra merge-conflict WIP
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 0 [] nobody
370-51224
1 year ago
370-51224
1 year ago
0-0
0 seconds
6603 tydeu
author:tydeu
feat: automatically try `cache get` before build --- A quick proof-of-concept. With this, `lake build` will always try `cache get` before building mathlib. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI merge-conflict WIP 29/0 lakefile.lean 1 3 ['kim-em', 'tydeu'] nobody
370-51166
1 year ago
370-51166
1 year ago
11-1960
11 days
6058 apurvnakade
author:apurvnakade
feat: duality theory for cone programs This PR tracks the development of duality theory for cone programs. [Reference](https://ti.inf.ethz.ch/ew/courses/ApproxSDP09/notes/conelp.pdf) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #6059 - [ ] define direct sum of cones - [ ] weak duality - [ ] regular duality - [ ] slater condition - [ ] strong duality t-analysis merge-conflict WIP 159/0 Mathlib.lean,Mathlib/Analysis/Convex/Cone/ConeLinearProgram.lean 2 1 ['leanprover-community-mathlib4-bot'] nobody
370-51111
1 year ago
370-51111
1 year ago
0-0
0 seconds
6449 ADedecker
author:ADedecker
feat: functions with finite fibers --- This has been discussed before on [Zulip](https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there-code-for-X.3F/topic/.E2.9C.94.20Cofinite.20maps.3F) and it came up again while working with @kkytola's student. As explained in the docstring, we could absolutely just use `Tendsto f cofinite cofinite` all the time, but (1) we lack some API for it (2) the API is nicer to setup if we have a separate def (e.g for dot notation) and (3) mentioning filters for such a simple concept is really not beginner-friendly. I'm not sure at all about the name. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict awaiting-author 203/0 Mathlib.lean,Mathlib/Logic/Function/HasFiniteFibers.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Cofinite.lean 4 14 ['ADedecker', 'YaelDillies', 'alexjbest', 'kkytola'] nobody
370-51105
1 year ago
370-51105
1 year ago
6-70040
6 days
8100 digama0
author:digama0
feat: add support for other types in norm_num --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict 177/12 Mathlib/Tactic/NormNum/Basic.lean,Mathlib/Tactic/NormNum/Eq.lean,Mathlib/Tactic/NormNum/Ineq.lean,Mathlib/Tactic/NormNum/Pow.lean,Mathlib/Tactic/NormNum/Result.lean,Mathlib/Tactic/NormNum/Structural.lean,test/norm_num.lean 7 4 ['dwrensha'] nobody
370-50973
1 year ago
370-50973
1 year ago
0-0
0 seconds
7739 mcdoll
author:mcdoll
feat(LinearAlgebra/LinearPMap): difference of inverses --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
126/7 Mathlib/LinearAlgebra/LinearPMap.lean,lean-toolchain 2 2 ['digama0', 'eric-wieser'] nobody
370-50945
1 year ago
370-50945
1 year ago
0-0
0 seconds
15585 FR-vdash-bot
author:FR-vdash-bot
test make `HasQuotient.quotient'` reducible --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
8/1 Mathlib/Algebra/Quotient.lean,Mathlib/GroupTheory/Coset.lean 2 1 ['github-actions'] nobody
368-83381
1 year ago
368-83381
1 year ago
0-0
0 seconds
15586 FR-vdash-bot
author:FR-vdash-bot
test make `HasQuotient` out put a `setoid` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
22/36 Mathlib/Algebra/Lie/CartanExists.lean,Mathlib/Algebra/Lie/Quotient.lean,Mathlib/Algebra/Lie/Weights/Basic.lean,Mathlib/Algebra/Quotient.lean,Mathlib/Analysis/Normed/Group/AddCircle.lean,Mathlib/GroupTheory/Commensurable.lean,Mathlib/GroupTheory/Coset.lean,Mathlib/GroupTheory/CosetCover.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/QuotientGroup.lean,Mathlib/LinearAlgebra/Quotient.lean,Mathlib/RingTheory/Ideal/Quotient.lean,Mathlib/Topology/Algebra/UniformRing.lean 14 5 ['FR-vdash-bot', 'github-actions', 'leanprover-bot'] nobody
368-83381
1 year ago
368-83381
1 year ago
0-0
0 seconds
13791 digama0
author:digama0
refactor: Primrec and Partrec General cleanup of the `Primrec` and `Partrec` files, to better adjust to lean 4 things. The main user-visible change is that `Primrec₂` is no longer a `def` but an `abbrev`, because it was causing inference issues in lean 4. I also removed all the nonterminal `simp`s in `PartrecCode.lean`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-computability merge-conflict 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
367-18250
1 year ago
407-42565
1 year 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. --- - [ ] depends on: #11947 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry t-category-theory merge-conflict 210/0 Mathlib.lean,Mathlib/AlgebraicGeometry/FunctorOfPoints.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean 3 4 ['github-actions', 'grunweg', 'leanprover-community-mathlib4-bot'] nobody
367-18109
1 year ago
407-42565
1 year 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
367-18008
1 year ago
407-42565
1 year ago
29-14218
29 days
9978 FR-vdash-bot
author:FR-vdash-bot
chore(FieldTheory/KummerExtension): move some lemmas earlier --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict awaiting-author
label:t-algebra$
197/177 Mathlib.lean,Mathlib/Data/Polynomial/FieldDivision.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Polynomial/Irreducible.lean 5 5 ['alreadydone', 'grunweg', 'riccardobrasca'] nobody
367-17800
1 year ago
367-17800
1 year ago
8-83342
8 days
12429 adomani
author:adomani
feat: toND -- auto-generating natDegree This is an experiment to automatically translate theorems about `degree` to theorems about `natDegree`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra RFC t-meta merge-conflict awaiting-author
label:t-algebra$
167/132 Mathlib.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Degree/Lemmas.lean,Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Algebra/Polynomial/HasseDeriv.lean,Mathlib/Algebra/Polynomial/Inductions.lean,Mathlib/Algebra/Polynomial/Mirror.lean,Mathlib/Algebra/Polynomial/Reverse.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ToNatDegree.lean,scripts/noshake.json 11 2 ['adomani', 'grunweg'] nobody
367-17111
1 year ago
367-17111
1 year ago
0-0
0 seconds
15823 eric-wieser
author:eric-wieser
Quotients of rings in model theory --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic merge-conflict 55/13 Mathlib/ModelTheory/Algebra/Ring/FreeCommRing.lean,Mathlib/ModelTheory/Syntax.lean 2 1 ['github-actions'] nobody
366-82074
1 year ago
366-82074
1 year ago
0-0
0 seconds
12178 joneugster
author:joneugster
feat(Data/Matrix/Basic): add notation for `m×n`-Matrices Introduce the notation `Mat[m,n][R]` for `Matrix (Fin m) (Fin n) R`. [Zulip thread](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Why.20does.20.60Matrix.2Erow.60.20use.20.20.60Unit.60.20instead.20of.20.60Fin.201.60.3F/near/427949223) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
139/135 Mathlib/Algebra/Lie/CartanMatrix.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Rank.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/LinearAlgebra/Matrix/Adjugate.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/LinearAlgebra/Matrix/Determinant.lean,Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/Matrix/Transvection.lean,Mathlib/LinearAlgebra/PID.lean,Mathlib/LinearAlgebra/Vandermonde.lean,Mathlib/NumberTheory/Modular.lean,Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean,Mathlib/NumberTheory/ModularForms/SlashActions.lean,Mathlib/NumberTheory/ModularForms/SlashInvariantForms.lean,Mathlib/NumberTheory/RamificationInertia.lean,Mathlib/RingTheory/SimpleModule.lean,test/matrix.lean 22 9 ['YaelDillies', 'eric-wieser', 'grunweg', 'joneugster'] nobody
366-59198
1 year ago
366-63112
1 year ago
0-0
0 seconds
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/) t-data new-contributor merge-conflict 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
366-39162
1 year ago
371-55404
1 year ago
54-52408
54 days
15448 urkud
author:urkud
chore(*): deprecate `Option.elim'` Use `Option.elim` instead. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt merge-conflict awaiting-author 54/50 Mathlib/Algebra/BigOperators/Option.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Split.lean,Mathlib/Analysis/Calculus/LagrangeMultipliers.lean,Mathlib/CategoryTheory/Category/PartialFun.lean,Mathlib/Computability/TMToPartrec.lean,Mathlib/Data/Option/Defs.lean,Mathlib/LinearAlgebra/Basis.lean,Mathlib/Logic/Embedding/Set.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/MeasureTheory/OuterMeasure/Induced.lean,Mathlib/NumberTheory/Dioph.lean,Mathlib/Topology/Compactness/Paracompact.lean,Mathlib/Topology/LocallyFinite.lean 17 12 ['Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'grunweg', 'urkud'] nobody
366-28215
1 year ago
367-17362
1 year ago
7-18420
7 days
10349 Shamrock-Frost
author:Shamrock-Frost
refactor(CategoryTheory/MorphismProperty) 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 - [ ] depends on: #10348 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict 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
364-41445
11 months ago
407-42565
1 year ago
0-418
6 minutes
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/) t-data merge-conflict 169/3 Mathlib/Data/Setoid/Basic.lean,Mathlib/Data/Setoid/Partition.lean,Mathlib/Order/Closure.lean 3 1 ['leanprover-community-mathlib4-bot'] nobody
364-41436
11 months ago
371-55406
1 year ago
19-74514
19 days
13573 Shamrock-Frost
author:Shamrock-Frost
feat: add multivariate polynomial modules Add a type synonym for multivariate polynomials with coefficients in a module. --- Multivariate polynomials with module coefficients are sort of silly, but they sometimes show up in commutative algebra (eg in the definition of a quasi regular sequence). Writing this code involved a lot of copy and pasting from `PolynomialModule` and `MvPolynomial`. The API is definitely lacking at this stage but it's a start. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict awaiting-author
label:t-algebra$
691/6 Mathlib.lean,Mathlib/Algebra/MvPolynomial/Module/Basic.lean,Mathlib/Algebra/MvPolynomial/Module/MvAEval.lean,Mathlib/Algebra/Polynomial/Module/Basic.lean 4 9 ['Shamrock-Frost', 'erdOne', 'github-actions'] nobody
364-41416
11 months ago
370-52011
1 year ago
39-72739
39 days
6517 MohanadAhmed
author:MohanadAhmed
feat: discrete Fourier transform of a finite sequence # Discrete Fourier Transform (DFT) Matrix and DFT of a (finite) sequence This file defines the `dft` opertaion on a sequence (also a vecotr) and the DFT operation matrix ## Main definitions - `dft v`: given a sequence (v : (Fin n) → ℂ) we can transform it into a sequence (V : (Fin n) →ℂ) such that $$V [p] = ∑_{k = 0}^{N - 1} e^{-j*2πkp/n} v [k]$$ - `idft V` : given a sequence (V : (Fin n) → ℂ) we can transform it into a sequence (v : (Fin n) → ℂ) such that $$v [k] = \frac{1}{N}∑_{p = 0}^{n - 1} e^{j*2πkp/N} v [p]$$ - `dftMatrix n` : the dft matrix of dimensions $n \times n$ with the `k, p` entry equal to $$Wₙ[k, p] = e^{-j2πkp/n}$$ - `(dftMatrix n)⁻¹` : the idft matrix of dimensions $n \times n$ with the `k, p` entry equal to $$Wₙ[k, p] = (1/N) e^{j2πkp/n}$$ ## Main results - `dft v = (dftMatrix n) v` : the dft operation on a sequence is the same as the dft matrix applied to the vector - `idft V = (dftMatrix n)⁻¹ V` : the idft operation on a sequence is the same as the idft matrix applied to the vector - `dft (idft v) = dft ( idft v) = v` the dft and idft operations are inverses - `Wₙ = vandermonde (w)` : the dft matrix is vandermonde with `w` being the first row of the dft matrix - `circulant t = (dftMatrix n)⁻¹ ⬝ diagonal (dft t) ⬝ (dftMatrix n)` : a circulant matrix is diagonalizable by the dft and idft matrix pair. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict awaiting-author
label:t-algebra$
294/0 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/DFT.lean 2 26 ['MohanadAhmed', 'ericrbg'] nobody
364-41254
11 months ago
443-30844
1 year ago
65-20427
65 days
13155 alreadydone
author:alreadydone
feat(NumberTheory/EllipticDivisibilitySequence): show elliptic relations follow from even-odd recursion This PR is centered around the (generalized) elliptic relations (`rel₄`) $E(a,b,c,d): W_{a+b}W_{a-b}W_{c+d}W_{c-d}=W_{a+c}W_{a-c}W_{b+d}W_{b-d}-W_{a+d}W_{a-d}W_{b+c}W_{b-c}$. For an integer-indexed sequence W valued in a commutative ring, the relation makes sense only when a,b,c,d are all integers or all half integers. For convenience of formalization, we instead consider integers a,b,c,d of the same parity and divide all subscripts by 2. We extract the subexpression $W_{(a+b)/2}W_{(a-b)/2}$ (which appear six times) as `addMulSub W a b`. The collection of all $E(a,b,c,d)$ is equivalent to Stange's axiom for elliptic nets (`net`), and the literature (e.g. Silverman) commonly consider only the three-index special case $E(m,n,r,0)$ (`Rel₃`). Important special cases of these relations are (i) $E(m+1,m,1,0): W_{2m+1}W_1^3=W_{m+2}W_m^3-W_{m+1}^3 W_{m-1}$ (`oddRec`) and (ii) $E(m+1,m-1,1,0): W_{2m}W_2 W_1^2=W_m(W_{m+2}W_{m-1}^2-W_{m-2}W_{m+1}^2)$ (`evenRec`), which suffice to uniquely specify $W$ on all positive integers recursively from four initial values $W_1, W_2, W_3, W_4$ (`IsEllSequence.ext`, if $W_1 W_2$ is not a zero divisor). In the usual setting where $W_1=1$ and $W_2\mid W_4$, there does exist a sequence (`normEDS`) satisfying (i) and (ii) given initial values $W_2, W_3$ and $W_4/W_2$. It turns out the same non-zerodivisor condition also guarantees that W is an odd function with $W_0=0$, which naturally extends W to all integers. The main result of this PR (`rel₄_of_oddRec_evenRec`, `IsEllSequence.of_oddRec_evenRec`) is a purely algebraic proof that the sequence W defined by the single-parameter elliptic relations (i) and (ii) implies all $E(a,b,c,d)$, based on my original argument first published on [Math.SE](https://math.stackexchange.com/a/4903422/12932). It's based on the observation that a nonzerodivisor-multiple of $E(a,b,c,d)$ can be expressed as a linear combination of various $E(a,b,c_\min,d_\min)$ with the two smallest indices fixed at their minimal possible values, which can be transformed (`transf`) to an elliptic relation with smaller `a` (which can be assumed to hold by induction), unless they are of the form (i) or (ii) which hold by assumption. For this argument it's necessary to assume `a > b > c > d ≥ 0` (see `StrictAnti₄` and `Rel₄OfValid`), but it's easy to extend to arbitrary a,b,c,d by symmetry properties of `rel₄` under negation and permutations of indices. In the subsequent PR #13057, we show all normalized EDSs (`normEDS`), defined using the even-odd recursion (i)-(ii), are elliptic (i.e. satisfy the elliptic relations) divisibility sequences. This PR doesn't directly apply because a normEDS doesn't always satisfy the nonzerodivisor condition, but they are specializations of the universal normEDS, which does satisfy the condition. The technique of reducing to the universal case will be applied many times, and relies on the naturality (`map`) lemmas. We also change the `ℕ` in the definition `IsDivSequence` to `ℤ` which is more natural given that W is a `ℤ`-indexed sequence. --- - [x] depends on: #13153 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-number-theory merge-conflict awaiting-author
label:t-algebra$
565/12 Mathlib/NumberTheory/EllipticDivisibilitySequence.lean 1 55 ['Multramate', 'alreadydone', 'github-actions', 'grunweg', 'leanprover-community-mathlib4-bot'] nobody
358-54858
11 months ago
358-54858
11 months ago
26-39367
26 days
15600 adomani
author:adomani
feat: lint also `let` vs `have` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter merge-conflict WIP 77/26 Mathlib/Tactic/Linter/HaveLetLinter.lean,test/HaveLetLinter.lean 2 1 ['github-actions'] nobody
357-23134
11 months ago
357-23134
11 months ago
0-8
8 seconds
13970 adomani
author:adomani
feat: a linter to flag unnecessary uses of `nolint simpNF` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter merge-conflict awaiting-author 230/0 Mathlib.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/Quaternion.lean,Mathlib/CategoryTheory/Comma/Arrow.lean,Mathlib/CategoryTheory/Monoidal/End.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/Data/Rat/Defs.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Even.lean,Mathlib/LinearAlgebra/CliffordAlgebra/EvenEquiv.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/UnnecessarySyntax.lean,test/UnnecessarySyntax.lean 13 4 ['adomani', 'github-actions', 'grunweg', 'leanprover-bot'] nobody
355-46348
11 months ago
355-46349
11 months ago
0-0
0 seconds
15162 adomani
author:adomani
feat: checkAsSorry linter A very preliminary version of the `checkAsSorry` linter. It flags declarations whose type is not equal to the 'asSorry'ed one. [Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Running.20Mathlib.20under.20.60set_option.20debug.2EbyAsSorry.60) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter merge-conflict 119/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/CheckAsSorry.lean,test/CheckAsSorry.lean 4 1 ['github-actions'] nobody
355-45336
11 months ago
355-45336
11 months ago
0-0
0 seconds
14046 adomani
author:adomani
test: diff of declarations in lean --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict WIP 231/2 .github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,.github/workflows/mk_build_yml.sh,Mathlib/Tactic/Eval.lean,scripts/decls_diff_hybrid.sh,scripts/list_decls.lean 8 2 ['github-actions'] nobody
351-38850
11 months ago
351-38850
11 months ago
0-0
0 seconds
14038 adomani
author:adomani
test/decl diff in lean dev --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict WIP 231/2 .github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,.github/workflows/mk_build_yml.sh,Mathlib/Tactic/Eval.lean,scripts/decls_diff_hybrid.sh,scripts/list_decls.lean 8 3 ['github-actions'] nobody
351-38850
11 months ago
351-38850
11 months ago
0-0
0 seconds
12107 yuma-mizuno
author:yuma-mizuno
feat(Mathlib/Tactic/Widget/StringDiagram): support 2-morphisms in bicategories --- - [x] depends on: #11080 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory t-meta merge-conflict 1158/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/Coherence.lean,Mathlib/Tactic/Widget/StringDiagram.lean,scripts/noshake.json,test/StringDiagram.lean,widget/src/penrose/monoidal.dsl,widget/src/penrose/monoidal.sty 8 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
346-33594
11 months ago
346-33597
11 months ago
0-0
0 seconds
15925 yuma-mizuno
author:yuma-mizuno
feat(CategoryTheory/Monoida): proof producing coherence tactic --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory t-meta merge-conflict 5018/265 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/Adjunction.lean,Mathlib/CategoryTheory/Bicategory/Kan/Adjunction.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/CoherenceLemmas.lean,Mathlib/CategoryTheory/Monoidal/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Rigid/Basic.lean,Mathlib/CategoryTheory/Monoidal/Rigid/Braided.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/BicategoricalComp.lean,Mathlib/Tactic/CategoryTheory/Bicategory/Normalize.lean,Mathlib/Tactic/CategoryTheory/Bicategory/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/Coherence.lean,Mathlib/Tactic/CategoryTheory/Coherence/Basic.lean,Mathlib/Tactic/CategoryTheory/Coherence/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Coherence/Normalize.lean,Mathlib/Tactic/CategoryTheory/Coherence/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/CoherenceNew.lean,Mathlib/Tactic/CategoryTheory/Monoidal.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Basic.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/MonoidalComp.lean,Mathlib/Tactic/Widget/StringDiagram.lean,lake-manifest.json,scripts/noshake.json,test/CategoryTheory/Bicategory.lean,test/CategoryTheory/Coherence.lean,test/CategoryTheory/CoherenceNew.lean,test/CategoryTheory/Monoidal.lean,test/CategoryTheory/Monoidal/Basic.lean,test/CategoryTheory/Monoidal/Normalize.lean,test/CategoryTheory/MonoidalComp.lean,test/StringDiagram.lean 35 n/a ['github-actions'] nobody
345-80131
11 months ago
unknown
unknown
6475 joneugster
author:joneugster
refactor(LinearAlgebra/Span): replace ∙ with • as notation for `span R {x}` Change the notation for `Submodule.span R {x}` from `R ∙ x` to the bullet `R • x`, which is also used for scalar multiplication. --- (this was an experiment originating from a [Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/.2E.C2.B7.E2.AC.9D.20.5Brant.5D), I don't have a clear opinion if this is actually a desired thing to do...) Generally this works and Lean seems to do fine figuring out the difference between `r • x` and `R • x` (The former is scalar multiplication in an `R`-module `M`, the latter is the `Submodule R M` generated by `x`). Encountered a few regressions that should be considered (the first two might be also bugs that could be looked at independently): 1. `(· • ·)`, and general simple function syntax, does not work as notation for `HSMul.hSMul` anymore. For this reason, I introduced the notation `scoped` to minimise the effect of this. Now it's only a problem if you `open Span`. Note that `fun x₁ x₂ ↦ x₁ • x₂` works flawlessly all the time. 4. `change` and `convert` have troubles to deal with the two competing notations. `have := _; convert this` works. 5. `R • x - y` is not valid anymore and needs parentheses: `R • (x - y)`. I do think this actually helps readability, so I don't mind. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra RFC merge-conflict
label:t-algebra$
323/240 Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Lie/Engel.lean,Mathlib/Algebra/Lie/Normalizer.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Analysis/InnerProductSpace/Orthogonal.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/InnerProductSpace/Projection.lean,Mathlib/Analysis/InnerProductSpace/TwoDim.lean,Mathlib/Analysis/NormedSpace/ContinuousLinearMap.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Extension.lean,Mathlib/Analysis/NormedSpace/OperatorNorm.lean,Mathlib/Data/ZMod/Quotient.lean,Mathlib/Geometry/Euclidean/Angle/Oriented/Basic.lean,Mathlib/Geometry/Euclidean/Inversion/Calculus.lean,Mathlib/Geometry/Euclidean/MongePoint.lean,Mathlib/Geometry/Euclidean/PerpBisector.lean,Mathlib/Geometry/Euclidean/Sphere/SecondInter.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace.lean,Mathlib/LinearAlgebra/AffineSpace/FiniteDimensional.lean,Mathlib/LinearAlgebra/BilinearForm.lean,Mathlib/LinearAlgebra/DFinsupp.lean,Mathlib/LinearAlgebra/Dimension.lean,Mathlib/LinearAlgebra/FiniteDimensional.lean,Mathlib/LinearAlgebra/LinearIndependent.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/ProjectiveSpace/Basic.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/Quotient.lean,Mathlib/LinearAlgebra/SesquilinearForm.lean,Mathlib/LinearAlgebra/Span.lean,Mathlib/MeasureTheory/Integral/Periodic.lean,Mathlib/RingTheory/Coprime/Ideal.lean,Mathlib/RingTheory/Finiteness.lean,Mathlib/RingTheory/Ideal/AssociatedPrime.lean,Mathlib/RingTheory/Ideal/IdempotentFG.lean,Mathlib/RingTheory/Noetherian.lean,Mathlib/Topology/Instances/AddCircle.lean 42 3 ['eric-wieser', 'joneugster', 'leanprover-bot'] nobody
344-58487
11 months ago
344-58487
11 months ago
0-0
0 seconds
7545 shuxuezhuyi
author:shuxuezhuyi
feat: APIs of `Function.extend f g e'` when `f` is injective We characterizes `range g`, `Injective g`, `Surjective g` and `Bijective g` in terms of `extend f g e'`.​ --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic merge-conflict awaiting-author 50/0 Mathlib.lean,Mathlib/Logic/Function/ApiForExtend.lean 2 1 ['fpvandoorn'] nobody
343-74023
11 months ago
343-74023
11 months ago
32-30254
32 days
12632 urkud
author:urkud
feat(List/OffDiag): new file --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict awaiting-author 184/3 Mathlib.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Enum.lean,Mathlib/Data/List/EraseIdx.lean,Mathlib/Data/List/OffDiag.lean 5 3 ['eric-wieser', 'github-actions', 'urkud'] nobody
340-44838
11 months ago
340-44838
11 months ago
0-0
0 seconds
16658 adomani
author:adomani
add tips file --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) test-ci merge-conflict awaiting-author WIP 51/508 .github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,scripts/Tips.lean 5 1 ['github-actions'] nobody
340-16556
11 months ago
340-16556
11 months ago
0-0
0 seconds
14078 Ruben-VandeVelde
author:Ruben-VandeVelde
feat(CI): continue after mk_all fails --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI merge-conflict awaiting-author 43/0 .github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,Mathlib/Data/Nat/Test.lean 5 2 ['bryangingechen', 'github-actions'] nobody
339-83256
11 months ago
339-83256
11 months ago
0-0
0 seconds
11800 JADekker
author:JADekker
feat : Define 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/) awaiting-zulip t-topology merge-conflict please-adopt 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
338-74033
11 months ago
339-9608
11 months ago
119-10687
119 days
11283 hmonroe
author:hmonroe
feat(ModelTheory/Satisfiability): define theory with independent sentence --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic merge-conflict WIP 8/0 Mathlib/ModelTheory/Satisfiability.lean 1 2 ['fpvandoorn', 'hmonroe'] nobody
337-53810
11 months ago
337-53810
11 months ago
3-5240
3 days
16914 siddhartha-gadgil
author:siddhartha-gadgil
Loogle syntax with non-reserved This is PR mainly to test that loogle syntax does not break stuff downstream --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict WIP 4/4 lake-manifest.json,lakefile.lean 2 1 ['github-actions'] nobody
335-42419
11 months ago
335-42419
11 months ago
0-14835
4 hours
10075 dupuisf
author:dupuisf
refactor: generalize `MonoidHom.ker` and `MonoidHom.range` to `MonoidHomClass` With this refactor, `MonoidHom.ker` and `MonoidHom.range` will be defined for any `MonoidHomClass` type, not just `MonoidHom`s. This brings the design in line with `LinearMap.ker`/`range` and `MonoidHom.mker`/`mrange`. `Subgroup.map`/`comap` are also generalized. As with those previous refactors, the main drawback is the loss of dot notation in many cases. Other than that, the impact is fairly minor given that this is happening is rather basic files. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict awaiting-author
label:t-algebra$
464/389 Mathlib/Algebra/Category/GroupCat/Abelian.lean,Mathlib/Algebra/Category/GroupCat/Basic.lean,Mathlib/Algebra/Category/GroupCat/Colimits.lean,Mathlib/Algebra/Category/GroupCat/EpiMono.lean,Mathlib/Algebra/Category/GroupCat/Images.lean,Mathlib/Algebra/Category/GroupCat/Kernels.lean,Mathlib/Algebra/Category/GroupCat/Limits.lean,Mathlib/Algebra/Homology/ShortComplex/Ab.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Group/Hom.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/Data/ZMod/Quotient.lean,Mathlib/FieldTheory/PolynomialGaloisGroup.lean,Mathlib/GroupTheory/Abelianization.lean,Mathlib/GroupTheory/CoprodI.lean,Mathlib/GroupTheory/Coset.lean,Mathlib/GroupTheory/Finiteness.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/HNNExtension.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/NoncommPiCoprod.lean,Mathlib/GroupTheory/PGroup.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/GroupTheory/Perm/Subgroup.lean,Mathlib/GroupTheory/PushoutI.lean,Mathlib/GroupTheory/QuotientGroup.lean,Mathlib/GroupTheory/SchurZassenhaus.lean,Mathlib/GroupTheory/SemidirectProduct.lean,Mathlib/GroupTheory/Solvable.lean,Mathlib/GroupTheory/SpecificGroups/Alternating.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/GroupTheory/Subgroup/Basic.lean,Mathlib/GroupTheory/Subgroup/Finite.lean,Mathlib/GroupTheory/Subgroup/Saturated.lean,Mathlib/GroupTheory/Subgroup/ZPowers.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/GroupTheory/Torsion.lean,Mathlib/GroupTheory/Transfer.lean,Mathlib/LinearAlgebra/Alternating/DomCoprod.lean,Mathlib/LinearAlgebra/Basic.lean,Mathlib/LinearAlgebra/Matrix/Determinant.lean,Mathlib/MeasureTheory/Function/LpSpace.lean,Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean,Mathlib/RingTheory/ClassGroup.lean,Mathlib/RingTheory/DedekindDomain/SelmerGroup.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/Topology/Algebra/OpenSubgroup.lean,Mathlib/Topology/Algebra/UniformGroup.lean,Mathlib/Topology/Instances/AddCircle.lean 51 2 ['dupuisf', 'urkud'] nobody
335-40308
11 months ago
335-71573
11 months ago
8-14499
8 days
10991 thorimur
author:thorimur
feat: `tfae` block tactic This PR introduces `tfae` block tactic syntax: ```lean tfae 1 → 2 := /- proof of `P₁ → P₂` -/ 2 → 3 := /- proof of `P₂ → P₃` -/ 3 → 1 := /- proof of `P₃ → P₁` -/ ``` Like the recent change to `tfae_have`, this syntax also supports all sorts of matching that `have` itself supports: ```lean tfae 2 → 3 | h₂ => /- proof of `P₃` -/ 3 → 1 -- given `P₁ := ∀(a : A), (b : B), (c : C), X`: | h₃, a, b, c => /- proof of `X` -/ ⟨h_mp, h_mpr⟩ : 1 ↔ 2 := /- proof of `P₁ ↔ P₂`; puts `h_mp : P₁ → P₂`, `h_mpr : P₂ → P₁` in the lctx -/ ``` This initial implementation is currently very simple, and relies on `tfae_have` and `tfae_finish`. Although we intend to migrate away from that syntax, this PR does not remove support for it or deprecate `tfae_have`/`tfae_finish` in any way; migration (but not deprecation) is done in #11003. --- - [ ] depends on: #10653 - [x] depends on: #10994 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict modifies-tactic-syntax WIP 392/124 Mathlib/Tactic/TFAE.lean,scripts/noshake.json,test/tfae.lean 3 3 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
334-66073
11 months ago
334-66073
11 months ago
0-0
0 seconds
16464 Parcly-Taxel
author:Parcly-Taxel
chore: deprecate `Nat.(case_)strong_induction_on` …in favour of the now-renamed `Nat.(case)strongInductionOn` in core. tech debt merge-conflict 54/56 Archive/Imo/Imo1981Q3.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/ContinuedFractions/ConvergentsEquiv.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/Lifts.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Hofer.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/Combinatorics/Derangements/Finite.lean,Mathlib/Combinatorics/Enumerative/Catalan.lean,Mathlib/Combinatorics/Hall/Finite.lean,Mathlib/Combinatorics/SetFamily/AhlswedeZhang.lean,Mathlib/Computability/Primrec.lean,Mathlib/Data/Fintype/Basic.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Data/Nat/Choose/Central.lean,Mathlib/Data/Nat/Defs.lean,Mathlib/Data/Nat/Digits.lean,Mathlib/Data/Nat/Log.lean,Mathlib/FieldTheory/Separable.lean,Mathlib/LinearAlgebra/Eigenspace/Triangularizable.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/NumberTheory/BernoulliPolynomials.lean,Mathlib/NumberTheory/DiophantineApproximation.lean,Mathlib/NumberTheory/Pell.lean,Mathlib/NumberTheory/Primorial.lean,Mathlib/Order/Fin/Basic.lean,Mathlib/RingTheory/Adjoin/PowerBasis.lean,Mathlib/RingTheory/LittleWedderburn.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Eval.lean,Mathlib/RingTheory/Polynomial/Eisenstein/IsIntegral.lean,Mathlib/RingTheory/Polynomial/Nilpotent.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/QuotientNilpotent.lean,Mathlib/RingTheory/WittVector/Defs.lean,Mathlib/RingTheory/WittVector/Frobenius.lean,Mathlib/RingTheory/WittVector/StructurePolynomial.lean,Mathlib/SetTheory/Surreal/Dyadic.lean,Mathlib/Topology/Metrizable/Uniformity.lean 43 13 ['Parcly-Taxel', 'b-mehta', 'github-actions', 'jcommelin'] nobody
334-27718
11 months ago
334-27718
11 months ago
8-1989
8 days
8118 iwilare
author:iwilare
feat(CategoryTheory): add dinatural transformations A starting point to define [dinatural transformations](https://ncatlab.org/nlab/show/dinatural+transformation). This is my first PR so style comments and improvements are very welcome! --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict awaiting-author 147/7 Mathlib.lean,Mathlib/CategoryTheory/DinatTrans.lean,Mathlib/CategoryTheory/Functor/Category.lean,Mathlib/CategoryTheory/Products/Bifunctor.lean 4 49 ['Shamrock-Frost', 'github-actions', 'iwilare', 'joelriou'] Shamrock-Frost
assignee:Shamrock-Frost
330-64705
10 months ago
330-64706
10 months ago
21-9462
21 days
17110 FR-vdash-bot
author:FR-vdash-bot
chore: deprecate some lemmas about equality These lemmas were upstreamed to Batteries in https://github.com/leanprover-community/batteries/pull/465. --- - [ ] depends on: https://github.com/leanprover-community/batteries/pull/957 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-batt-PR merge-conflict 20/16 Mathlib/Combinatorics/SimpleGraph/Walk.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Logic/Basic.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Tactic/CC/Addition.lean,lake-manifest.json 6 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
326-27492
10 months ago
326-27494
10 months ago
0-0
0 seconds
17171 FR-vdash-bot
author:FR-vdash-bot
test extends carrier and property --- We need https://github.com/leanprover/lean4/issues/2666 ... [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 433/309 Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Directed.lean,Mathlib/Algebra/DirectSum/Decomposition.lean,Mathlib/Algebra/Field/Subfield.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/MulOpposite.lean,Mathlib/Algebra/Group/Submonoid/Basic.lean,Mathlib/Algebra/Group/Submonoid/MulOpposite.lean,Mathlib/Algebra/Group/Submonoid/Pointwise.lean,Mathlib/Algebra/Group/Submonoid/Units.lean,Mathlib/Algebra/Group/Subsemigroup/Basic.lean,Mathlib/Algebra/Group/Subsemigroup/Operations.lean,Mathlib/Algebra/Module/Submodule/Basic.lean,Mathlib/Algebra/Module/Submodule/Lattice.lean,Mathlib/Algebra/Module/Submodule/Map.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/MulOpposite.lean,Mathlib/Algebra/Ring/Subsemiring/Order.lean,Mathlib/Algebra/Star/Subalgebra.lean,Mathlib/Algebra/Star/Subsemiring.lean,Mathlib/Data/Complex/Module.lean,Mathlib/Data/SetLike/Basic.lean,Mathlib/Deprecated/Subfield.lean,Mathlib/Deprecated/Subgroup.lean,Mathlib/Deprecated/Submonoid.lean,Mathlib/Deprecated/Subring.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/GroupTheory/DoubleCoset.lean,Mathlib/GroupTheory/Finiteness.lean,Mathlib/GroupTheory/GroupAction/SubMulAction.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace.lean,Mathlib/LinearAlgebra/Span.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/NonUnitalSubring/Basic.lean,Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean,Mathlib/SetTheory/Cardinal/Subfield.lean,Mathlib/Topology/Algebra/Algebra.lean,Mathlib/Topology/Algebra/OpenSubgroup.lean 42 1 ['github-actions'] nobody
326-23398
10 months ago
326-23398
10 months ago
0-0
0 seconds
7516 ADedecker
author:ADedecker
perf: use `abbrev` to prevent unifying useless data --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict WIP 4/3 Mathlib/Topology/ContinuousFunction/Bounded.lean 1 3 ['ADedecker', 'leanprover-bot', 'mattrobball'] nobody
324-81458
10 months ago
324-81458
10 months ago
0-0
0 seconds
17127 FR-vdash-bot
author:FR-vdash-bot
chore: remove global `Quotient.mk` `⟦·⟧` notation --- Merge this PR when we are ready to migrate to `QuotLike` API (#16421). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict 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
324-76501
10 months ago
324-76501
10 months ago
4-72805
4 days
14712 FR-vdash-bot
author:FR-vdash-bot
perf: change instance priority and order about `OfNat` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) slow-typeclass-synthesis t-algebra merge-conflict delegated
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 24 ['FR-vdash-bot', 'MichaelStollBayreuth', 'eric-wieser', 'github-actions', 'j-loreaux', 'leanprover-bot', 'mathlib-bors'] nobody
318-53054
10 months ago
320-76530
10 months ago
20-15089
20 days
11500 mcdoll
author:mcdoll
refactor(Topology/Algebra/Module/WeakDual): Clean up - Move `Dual` and `dualPairing` lower in the import-hierachy - deduplicate `dualPairing` - Bundle continuity statements to `CLM`s. - Make `WeakDual` and `WeakSpace` reducible - Remove `refine'` in favor of `refine` --- Cleaning up `Analysis/NormedSpace/WeakDual` will be done in a second PR [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict awaiting-author 227/179 Mathlib.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/Dual.lean,Mathlib/Analysis/LocallyConvex/Polar.lean,Mathlib/Analysis/NormedSpace/Dual.lean,Mathlib/Analysis/NormedSpace/WeakDual.lean,Mathlib/Analysis/VonNeumannAlgebra/Basic.lean,Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean,Mathlib/MeasureTheory/Measure/FiniteMeasure.lean,Mathlib/Topology/Algebra/Module/CharacterSpace.lean,Mathlib/Topology/Algebra/Module/Dual.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean,docs/overview.yaml,docs/undergrad.yaml 15 14 ['ADedecker', 'grunweg', 'j-loreaux', 'kkytola', 'mathlib-bors', 'mcdoll'] nobody
316-74997
10 months ago
316-74997
10 months ago
46-5572
46 days
5995 FR-vdash-bot
author:FR-vdash-bot
feat: add APIs about `Quotient.choice` Some docs in this PR refer to the definition in #5576. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data RFC merge-conflict awaiting-author 76/6 Mathlib/Data/Quot.lean 1 3 ['FR-vdash-bot', 'YaelDillies', 'gebner'] eric-wieser
assignee:eric-wieser
315-35243
10 months ago
315-35243
10 months ago
285-35716
285 days
8029 alreadydone
author:alreadydone
refactor: Homotopy between Functions not ContinuousMaps This allows talking about homotopies without needing to supply proofs of continuity for the two ends. This for example simplifies the definition of H-spaces. Of course, if a homotopy exists between two functions, those two functions are automatically continuous because they are restrictions of the homotopy (which is continuous) to subspaces. `Homotopy.refl` still needs a continuous map as input, and `Homotopic` is only an equivalence relation when restricted to ContinuousMap. --- TODO: fix docstrings [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology RFC merge-conflict 246/250 Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/Topology/Homotopy/Basic.lean,Mathlib/Topology/Homotopy/Contractible.lean,Mathlib/Topology/Homotopy/Equiv.lean,Mathlib/Topology/Homotopy/HSpaces.lean,Mathlib/Topology/Homotopy/HomotopyGroup.lean,Mathlib/Topology/Homotopy/Path.lean,Mathlib/Topology/Homotopy/Product.lean 8 3 ['alreadydone', 'urkud'] nobody
315-18906
10 months ago
407-42565
1 year ago
9-20043
9 days
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/) new-contributor merge-conflict WIP 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
312-67584
10 months ago
397-39328
1 year ago
0-0
0 seconds
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/) t-algebra merge-conflict
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
310-42383
10 months ago
310-42383
10 months ago
51-84473
51 days
16348 urkud
author:urkud
refactor(Topology): require `LinearOrder` with `OrderTopology` While the definition formally makes sense for a preorder, this topology is usually not the right one for a non-linear order (e.g., `Real × Real`). See [Zulip thread](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Open.20Ioi) --- This PR doesn't cleanup any API, I'm going to do it in a later PR. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order t-topology merge-conflict awaiting-author 33/46 Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean,Mathlib/Topology/Algebra/Order/LiminfLimsup.lean,Mathlib/Topology/Instances/Sign.lean,Mathlib/Topology/Order/Basic.lean,Mathlib/Topology/Order/Filter.lean,Mathlib/Topology/Order/MonotoneContinuity.lean 6 10 ['YaelDillies', 'github-actions', 'jcommelin', 'urkud'] nobody
310-42007
10 months ago
310-42007
10 months ago
3-83049
3 days
6034 mattrobball
author:mattrobball
feat (Mathlib.Tactic.FieldSimp) : discharger uses normCast Use `normCast` to assist the discharger in `fieldSimp`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict awaiting-author 30/11 Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Fourier/AddCircle.lean,Mathlib/NumberTheory/Modular.lean,Mathlib/RingTheory/RootsOfUnity/Complex.lean,Mathlib/Tactic/FieldSimp.lean,test/FieldSimp.lean 6 7 ['github-actions', 'grunweg', 'mattrobball'] nobody
310-38764
10 months ago
310-38764
10 months ago
1-81851
1 day
16984 hrmacbeth
author:hrmacbeth
feat: extend `module` tactic to handle multiple rings, not strictly ordered by inclusion The `module` tactic currently in Mathlib handles scalars from multiple rings, but only if for any two rings `R` and `S` which appear, either `R` is an algebra over `S` or vice versa. This PR extends the tactic by providing a syntax `module T`, which will handle scalars from any ring `R` which `T` is an algebra over. For example, ```lean example : (2:ℤ) • x = (2:ℚ≥0) • x := by module ``` fails since `ℤ` is not a `ℚ≥0`-algebra and `ℚ≥0` is not a `ℤ`-algebra, but ```lean example : (2:ℤ) • x = (2:ℚ≥0) • x := by module ℚ ``` works since `ℚ` is both a `ℤ`-algebra and a `ℚ≥0`-algebra. This PR is a quick proof-of-concept implementation, just to record the desired approach and tactic syntax. It should not be merged as-is. It has with a lot of code duplication and should be rewritten more efficiently (for example, `parse` and `parseEnsuringType` should be merged to a single function, and the `some`/`none` cases in `matchScalarsAux` should be merged to a uniform treatment) before being considered for merging to Mathlib. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict 158/35 Mathlib/Tactic/Module.lean,test/module.lean 2 1 ['github-actions'] nobody
306-64447
10 months ago
306-64447
10 months ago
0-0
0 seconds
12414 adomani
author:adomani
test: lint and unlint `·` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 64/14 Archive/Wiedijk100Theorems/CubingACube.lean,Mathlib/Algebra/Module/Submodule/Bilinear.lean,Mathlib/Tactic/Linter/Multigoal.lean,test/Multigoal.lean 4 4 ['adomani', 'github-actions', 'grunweg', 'leanprover-bot'] nobody
302-40232
9 months ago
302-40232
9 months ago
0-0
0 seconds
16925 YnirPaz
author:YnirPaz
feat(SetTheory/Cardinal/Cofinality): aleph index of singular cardinal has infinite cofinality Prove `Ordinal.aleph0_le_cof_of_not_isRegular`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict WIP 6/0 Mathlib/SetTheory/Cardinal/Cofinality.lean 1 4 ['YnirPaz', 'github-actions', 'vihdzp'] nobody
301-11814
9 months ago
301-11814
9 months ago
2-57220
2 days
16647 eric-wieser
author:eric-wieser
feat: partitions of lists The length of this list is the bell numbers. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data t-combinatorics merge-conflict 311/0 Mathlib.lean,Mathlib/Data/List/Partition.lean 2 1 ['github-actions'] nobody
299-60706
9 months ago
299-60706
9 months ago
0-0
0 seconds
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. t-data new-contributor merge-conflict please-adopt 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', 'leanprover-community-mathlib4-bot', 'urkud', 'vihdzp'] YaelDillies
assignee:YaelDillies
294-15001
9 months ago
320-70192
10 months ago
12-48560
12 days
5364 thorimur
author:thorimur
feat: `wlog ... replacing` This allows hypotheses to be removed from the set of generalized hypotheses. E.g. `wlog h : P replacing h'` will remove `h'` from the hypotheses of the type of `this` and from the context of the goal that will suppose `h`. See [zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/wlog.20.2E.2E.2E.20replacing.20.2E.2E.2E.3F). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict 125/18 Mathlib/Tactic/WLOG.lean,test/wlog.lean 2 2 ['thorimur', 'urkud'] nobody
290-1658
9 months ago
290-1658
9 months ago
0-0
0 seconds
9654 urkud
author:urkud
feat: add `@[mk_eq]` version of `@[mk_iff]` The new attribute generates theorems like ```lean List.chain_eq : @List.Chain = fun {α} R a a_1 => a_1 = [] ∨ ∃ b l, R a b ∧ List.Chain R b l ∧ a_1 = b :: l ``` and is useful to rewrite in a theorem that argues about the properties of an unapplied inductive predicate. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict awaiting-author 63/9 Mathlib/Lean/Meta.lean,Mathlib/Tactic/MkIffOfInductiveProp.lean,test/MkIffOfInductive.lean 3 6 ['Vierkantor', 'github-actions', 'urkud'] nobody
290-1412
9 months ago
290-1412
9 months ago
25-70815
25 days
16704 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(Mathlib.Data.Ordering.Dickson): Dickson orders Dickson orders are a particular class of well founded orders characterized by the fact that every nonempty set has finitely many minimal elements. They appear in the classical theory of Groebner bases because it is easier to prove that some sets are well founded using this property. WiP. In the `tfae` function, property 2 is exactly `Set.PartiallyWellOrderedOn`, so the PR should be rewritten so as to use that property (and not define `IsDickson`). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order merge-conflict WIP 324/0 Mathlib.lean,Mathlib/Data/Ordering/Dickson.lean,scripts/noshake.json 3 9 ['AntoineChambert-Loir', 'b-mehta', 'github-actions'] nobody
289-66369
9 months ago
289-66369
9 months ago
2-84515
2 days
16355 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: odd_{add,sub}_one --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-number-theory merge-conflict awaiting-author
label:t-algebra$
12/0 Mathlib/Algebra/Ring/Int.lean,Mathlib/Algebra/Ring/Parity.lean 2 4 ['Ruben-VandeVelde', 'github-actions', 'urkud'] nobody
289-14166
9 months ago
289-14166
9 months ago
0-57608
16 hours
8479 alexjbest
author:alexjbest
feat: use leaff in CI [Leaff](https://github.com/alexjbest/leaff) is an experimental lean-diff tool, this PR is to experiment with adding it as a CI step. --- I'm not sure yet if it is best to have this always run or only run on request (like bench). If it is always run should it post a comment or simply leave its output it the actions log (maybe as a summary object) the current iteration runs and updates a sticky comment with the latest result [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict awaiting-author WIP 340/0 .github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml 4 11 ['alexjbest', 'github-actions', 'grunweg', 'kim-em', 'mathlib-bors', 'urkud'] nobody
289-4920
9 months ago
289-4934
9 months ago
0-0
0 seconds
8638 alreadydone
author:alreadydone
refactor: noncommutative tensor product Co-authored-by: Eric Wieser Co-authored-by: Jujian Zhang This draft PR currently only generalizes a single file TensorProduct.lean; it allows TensorProduct to be taken over a non-commutative ring. Most of the declarations in TensorProduct.lean are now generalized to the non-commutative setting, and very few are deleted (their commutative version will be restored in another file). Next plans: + Change the namespace in TensorProduct.lean from TensorProduct to NonCommTensorProduct, and remove the #aligns + I plan to use the same notation for the non-commutative and the commutative TensorProduct, and the user will need to `open scoped` different namespaces to use the one of their choice. + Start a new file TensorProduct/Comm.lean, copy the content of TensorProduct.lean on master into it, change the definition TensorProduct to be semi-reducibly defeq to NonCommTensorProduct (in order to support more instances or unify non-defeq instances that become prop-eq in the commutative setting, e.g. we've chosen the R-action on a tensor product over commutative R to come from the left factor, since the action from the right factor is the same), and reuse the NonComm constructions as much as possible. We then change all files that imports TensorProduct.lean to import TensorProduct/Comm.lean instead. Once we do that, mathlib would compile and this PR would be complete. We can gradually generalize other files about tensor products this way. In this PR: `TensorProduct.map` is now defined in terms of `lTensor` and `rTensor` rather than the other way around, which requires moving `lTensor` and `rTensor` up from their original location. The definition of `rid` also becomes more challenging and is moved down. An evident observation is that actions on the domain of AddMonoidHom / LinearMap is really natural in the context of tensor products and Hom-tensor adjunction (`TensorProduct.lift`), not the default actions on the codomain. For example, it allows us to write the "balanced biadditive monoid homs" in #8536 as simply `N →ₗ[R] M →+ P` (where the right R-action on M turns into the left action on `M →+ P`). For this reason, we disable the default instances `AddMonoidHom/LinearMap.module` at the beginning of the file and enable the `AddMonoidHom/LinearMap.domModule` instances instead. (The action on the codomain would be necessary for the non-commutative version of [TensorProduct.lTensorHomToHomLTensor](https://leanprover-community.github.io/mathlib4_docs/Mathlib/LinearAlgebra/TensorProduct.html#TensorProduct.lTensorHomToHomLTensor) (in the form of `P ⊗[R] (M →+ Q) →+ M →+ P ⊗[R] Q`), but I've deleted it for now.) We register actions on the left factor of a tensor product as the default instance, but we also talk about actions on the right factor (`attribute [local instance] rightModule`). The Tensor-Hom adjunction #8495 is now `uncurryEquiv` in this PR. #8519 is now included in this PR and #8584 is now called `lift` in this PR. `CharacterModule.homEquiv` in #8559 can be obtained by combining `liftEquiv` and `flipMop` in this PR (except for a mop). To refactor the commutative tensor product, we'd need to transfer many R^mop-action to R-action and R^mop-LinearMaps to R-LinearMaps, which can be achieved via `Module.compHom` and `LinearMap.restrictScalars` (requires `LinearMap.CompatibleSMul` instance) given `RingEquiv.toOpposite`. `LinearMap.characterfy` and `CharacterModule.cong` could be obtained from `LinearMap.compAddMonoidHom` in this PR. TODO: + Move delarations that belong to other files. + Change docstrings that are no longer accurate. + Fix some argument order to be more natural. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
793/676 Mathlib/Algebra/Module/LinearMap.lean,Mathlib/GroupTheory/GroupAction/DomAct/Basic.lean,Mathlib/LinearAlgebra/TensorProduct.lean 3 6 ['alreadydone', 'eric-wieser', 'grhkm21', 'jjaassoonn'] nobody
288-40379
9 months ago
407-42565
1 year ago
0-0
0 seconds
14598 Command-Master
author:Command-Master
chore: add typeclasses to unify various `add_top`, `add_eq_top`, etc. Add the four typeclasses `IsTopAbsorbing`, `IsBotAbsorbing`, `NoTopSum`, `NoBotSum`, as additive equivalents for `MulZeroClass` and `NoZeroDivisors`. Add instances of these for `ENNReal`, `WithTop α`, `WithBot α`, `PUnit`, `EReal`, `PartENat`, `Measure`, `Interval` and `Filter`. Also split `Algebra/Order/AddGroupWithTop` to `Algebra/Order/Group/WithTop` and `Algebra/Order/Monoid/WithTop` --- Previous usages of lemmas with quantified names like `WithTop.add_top` have to be changed to just `add_top`. `add_lt_top` is `@[simp]`, in accordance with `ENNReal.add_lt_top` being `@[simp]`. This affects `WithTop.add_lt_top` which previously hadn't been `@[simp]`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order t-algebra merge-conflict
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
287-71967
9 months ago
287-71967
9 months ago
7-45599
7 days
12778 MichaelStollBayreuth
author:MichaelStollBayreuth
perf: decouple algebraic and order hierarchies in type class search Based on the experience gained with [#12680](https://github.com/leanprover-community/mathlib4/pull/12680), this attempts to decouple the algebraic and order hierarchies in type class search. * We lower the priorities of instances like `OrderedSemiring.toSemiring` (which are generated by the `extends` clause with default priority 1000) to 50. * Additionally, we make the default priority available via `open scoped AlgebraOrderInstances` and use that where appropriate. **Motivation:** Looking at instance synthesization traces, it appears that when (e.g.) presented with the goal to find a `Semiring` instance, the algorithm frequently goes down a rabbit hole trying and failing to find order instances. This seems to be caused by the presence of instances like `OrderedSemiring.toSemiring` with default priority, which are tried early in the search, but lead nowhere (after a fairly long time). These instances are created by declarations of the form ```lean class OrderedSemiring (α : Type u) extends Semiring α, OrderedAddCommMonoid α where ... ``` which automatically sets up (among other things) an instance `OrderedSemiring.toSemiring` with default piority. It appears that these instances cannot be removed completely (only locally in a module), so the next best solution is to make them low priority (which is possible also for downstream modules). To provide for situations where these instances are desired, we put a default priority version in the scope `AlgebraOrderInstances`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) slow-typeclass-synthesis t-order t-algebra merge-conflict
label:t-algebra$
306/27 Mathlib/Algebra/Algebra/Subalgebra/Order.lean,Mathlib/Algebra/ContinuedFractions/Computation/ApproximationCorollaries.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/Module/Rat.lean,Mathlib/Algebra/Module/Submodule/Order.lean,Mathlib/Algebra/Order/AbsoluteValue.lean,Mathlib/Algebra/Order/Algebra.lean,Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/BigOperators/Group/Finset.lean,Mathlib/Algebra/Order/BigOperators/Group/List.lean,Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean,Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean,Mathlib/Algebra/Order/BigOperators/Ring/List.lean,Mathlib/Algebra/Order/BigOperators/Ring/Multiset.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Order/Chebyshev.lean,Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Field/Defs.lean,Mathlib/Algebra/Order/Field/Pi.lean,Mathlib/Algebra/Order/Floor.lean,Mathlib/Algebra/Order/Floor/Div.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Group/Units.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Hom/Basic.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/Interval/Set/Instances.lean,Mathlib/Algebra/Order/Invertible.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/Algebra/Order/Module/Algebra.lean,Mathlib/Algebra/Order/Module/Defs.lean,Mathlib/Algebra/Order/Module/Pointwise.lean,Mathlib/Algebra/Order/Monoid/Basic.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/OrderDual.lean,Mathlib/Algebra/Order/Monoid/Prod.lean,Mathlib/Algebra/Order/Nonneg/Field.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Pi.lean,Mathlib/Algebra/Order/Positive/Field.lean,Mathlib/Algebra/Order/Positive/Ring.lean,Mathlib/Algebra/Order/Rearrangement.lean,Mathlib/Algebra/Order/Ring/Basic.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/InjSurj.lean,Mathlib/Algebra/Order/Ring/Pow.lean,Mathlib/Algebra/Order/Sub/WithTop.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Algebra/Ring/BooleanRing.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Metric.lean,Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/Convex/Cone/Basic.lean,Mathlib/Analysis/Convex/Cone/Closure.lean,Mathlib/Analysis/Convex/Cone/Pointed.lean,Mathlib/Analysis/Convex/Cone/Proper.lean,Mathlib/Analysis/Convex/Exposed.lean,Mathlib/Analysis/Convex/Extrema.lean,Mathlib/Analysis/Convex/Function.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Convex/GaugeRescale.lean,Mathlib/Analysis/Convex/Hull.lean,Mathlib/Analysis/Convex/Join.lean,Mathlib/Analysis/Convex/Mul.lean,Mathlib/Analysis/Convex/Quasiconvex.lean,Mathlib/Analysis/Convex/SpecificFunctions/Pow.lean,Mathlib/Analysis/Convex/Star.lean,Mathlib/Analysis/Convex/Strict.lean,Mathlib/Analysis/InnerProductSpace/Orientation.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/SpecialFunctions/Gamma/BohrMollerup.lean,Mathlib/Analysis/SpecialFunctions/Polynomials.lean,Mathlib/Analysis/SpecificLimits/FloorPow.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/Combinatorics/Optimization/ValuedCSP.lean,Mathlib/Combinatorics/Pigeonhole.lean,Mathlib/Combinatorics/SetFamily/FourFunctions.lean,Mathlib/Data/DFinsupp/Lex.lean,Mathlib/Data/DFinsupp/Multiset.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/Finset/MulAntidiagonal.lean,Mathlib/Data/Finsupp/Lex.lean,Mathlib/Data/Finsupp/Multiset.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Int/Log.lean,Mathlib/Data/Multiset/Antidiagonal.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/Multiset/Bind.lean,Mathlib/Data/Nat/Cast/Field.lean,Mathlib/Data/Nat/Cast/Order/Basic.lean,Mathlib/Data/Nat/Choose/Bounds.lean,Mathlib/Data/PNat/Factors.lean,Mathlib/Data/Rat/Denumerable.lean,Mathlib/Data/Set/Pointwise/Interval.lean 135 34 ['MichaelStollBayreuth', 'YaelDillies', 'github-actions', 'leanprover-bot'] nobody
287-70870
9 months ago
287-70870
9 months ago
18-19513
18 days
18636 adomani
author:adomani
Test/latest import report dev This PR is a test accompanying #18631. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI merge-conflict 147/0 .github/workflows/latest_import.yml,lakefile.lean 2 1 ['github-actions'] nobody
286-59238
9 months ago
286-59238
9 months ago
0-0
0 seconds
16885 metinersin
author:metinersin
feat(ModelTheory/Complexity): define literals Defines `FirstOrder.Language.BoundedFormula.IsLiteral` and `FirstOrder.Language.BoundedFormula.simpleNot` - an auxiliary operation that takes the negation of a formula and does some simplification. --- - [x] depends on: #16800 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-logic merge-conflict awaiting-author 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
285-28088
9 months ago
285-28088
9 months ago
0-19926
5 hours
9341 winstonyin
author:winstonyin
feat: Naturality of integral curves Let `v` and `v'` be sections of the tangent bundle of manifolds `M` and `M'`, respectively, and let `f : M → M'` be a differentiable map. Then `f` maps integral curves of `v` to integral curves of `v'` if and only if `v` and `v'` are `f`-related. - [x] depends on: #8483 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry merge-conflict awaiting-author 45/0 Mathlib/Geometry/Manifold/IntegralCurve.lean,Mathlib/Topology/Algebra/Module/Basic.lean 2 n/a ['github-actions', 'grunweg', 'leanprover-community-mathlib4-bot', 'winstonyin'] nobody
281-79911
9 months ago
unknown
unknown
13248 hcWang942
author:hcWang942
feat: basic concepts of auction theory ## Description Formalise some core concepts and results in auction theory: this includes definitions for first-price and second-price auctions, as well as several fundamental results and helping lemmas. This is the very first PR of the project formalizing core concepts and results in auction theory. Our group is working on more contributions on the formalization of game theory prefix. Co-authored-by: Ma Jiajun ## Reference Roughgarden, Tim. ***Twenty Lectures on Algorithmic Game Theory***. Cambridge University Press, 2020. [Link](https://www.cambridge.org/core/books/twenty-lectures-on-algorithmic-game-theory/A9D9427C8F43E7DAEF8C702755B6D72B) --- - [x] Will depend on #14163 once that PR is merged. The Fintype lemmas introduced by this PR have been added in that PR and will be removed from here once that PR gets merged ## Current plan for formalization of Game Theory The current plan for the formalizing of Game Theory include: #### 1. Auction Theory. 🎉 _(200+ lines, this PR)_ - Essential definitions of Sealed-bid auction, First-price auction and Second-price auction. - First-price auction has no dominant strategy. - Second-price auction has dominant strategy. (Second-price auction is DSIC) #### 2. Mechanism design & Myerson's Lemma. 🎉 (400+ lines, pending for modification to Mathlib Standard) - Mechanism design An allocation rule is implementable if there exists - Dominant Strategy Incentive Compatible (DSIC) payment rule - An allocation rule is monotone if for every bidder’s gain is nondecreasing w.r.t. her/his bid - Myerson's Lemma Implementable ⇔ Monotone In the above case, the DSIC payment rule is unique. #### 3. von Neumann‘s Minimax Theorem. 🎉 (800+ lines, pending for modification to Mathlib Standard) - Equilibrium in zero sum game - Formalization strategy: via Loomis’s theorem. #### 4. Nash Equilibrium. 🎉 (pending for modification to Mathlib Standard) #### 5. Brouwer fixed-point theorem. (Work in Progress) #### 6. More Mechanism design. (Planning) new-contributor t-logic merge-conflict awaiting-author 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
280-66920
9 months ago
unknown
unknown
17675 FR-vdash-bot
author:FR-vdash-bot
perf: do not search algebraic hierarchy when searching `FunLike` hierarchy --- Unification is still very slow. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) slow-typeclass-synthesis t-algebra merge-conflict
label:t-algebra$
144/4 Mathlib.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Algebra/Rat.lean,Mathlib/Algebra/Group/Equiv/Basic.lean,Mathlib/Algebra/GroupWithZero/Hom.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Order/Hom/Basic.lean,Mathlib/Algebra/Ring/CentroidHom.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Algebra/Ring/Hom/Defs.lean,Mathlib/Algebra/Star/StarAlgHom.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Operator/LinearIsometry.lean,Mathlib/GroupTheory/GroupAction/Hom.lean,Mathlib/RingTheory/Bialgebra/Equiv.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/Coalgebra/Equiv.lean,Mathlib/Topology/Algebra/Module/Basic.lean,Mathlib/Util/SetSynthOrder.lean,MathlibTest/TCSynth.lean,scripts/noshake.json 24 5 ['FR-vdash-bot', 'github-actions', 'leanprover-bot'] nobody
280-42053
9 months ago
280-42053
9 months ago
0-0
0 seconds
9344 erdOne
author:erdOne
feat: Add `AddGroup.FG` -> `Module.Finite ℤ` as instances --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict awaiting-author
label:t-algebra$
4/0 Mathlib/RingTheory/Finiteness.lean 1 4 ['alreadydone', 'erdOne', 'leanprover-bot'] nobody
279-51313
9 months ago
279-51313
9 months ago
0-0
0 seconds
12133 ADedecker
author:ADedecker
feat: generalize instIsLowerProd to arbitrary products Also change a bit the proof of the product case to match my own taste, feel free to tell if you prefer the old one. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order t-topology merge-conflict awaiting-author 34/14 Mathlib/Topology/Constructions.lean,Mathlib/Topology/Order/LowerUpperTopology.lean 2 13 ['Ruben-VandeVelde', 'TwoFX', 'github-actions', 'jcommelin', 'mans0954', 'mathlib-bors', 'riccardobrasca'] nobody
278-61067
9 months ago
278-61067
9 months ago
63-69206
63 days
16637 FR-vdash-bot
author:FR-vdash-bot
perf: reorder `extends` of `(Add)Monoid` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
46/51 Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/BigOperators/Ring/List.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Algebra/Ring/SumsOfSquares.lean,Mathlib/CategoryTheory/Preadditive/FunctorCategory.lean,Mathlib/Data/Finset/NoncommProd.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Torsion.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/Coalgebra/Hom.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean 20 3 ['FR-vdash-bot', 'github-actions', 'leanprover-bot'] nobody
278-60305
9 months ago
278-60305
9 months ago
1-49655
1 day
18765 FR-vdash-bot
author:FR-vdash-bot
chore: changing `outParam` of `MulActionSemiHomClass` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
60/34 Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Category/ModuleCat/Limits.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/GroupTheory/GroupAction/Hom.lean 4 4 ['FR-vdash-bot', 'github-actions', 'leanprover-bot'] nobody
278-16566
9 months ago
278-16566
9 months ago
0-0
0 seconds
14739 urkud
author:urkud
feat(Measure): add `gcongr` lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability merge-conflict awaiting-author WIP help-wanted 12/8 Mathlib/MeasureTheory/Covering/Differentiation.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/MeasureTheory/Integral/SetToL1.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/Probability/Kernel/Disintegration/Density.lean 5 3 ['github-actions', 'kim-em', 'urkud'] nobody
277-60001
9 months ago
277-60001
9 months ago
0-66587
18 hours
15822 kmill
author:kmill
feat: greedy colorings of finite graphs Proves that the greedy coloring only takes `G.maxDegree + 1` colors. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics merge-conflict 159/0 Mathlib/Combinatorics/SimpleGraph/ConcreteColorings.lean 1 1 ['github-actions'] nobody
275-41759
9 months ago
275-41759
9 months ago
0-0
0 seconds
8661 joelriou
author:joelriou
feat(CategoryTheory/Sites): descent of sheaves In this PR, it is shown that the category of sheaves on a site `(C, J)` identifies as a full subcategory of a category of families of sheaves equipped with a descent data (for a family of objects which cover the final object). Under suitable conditions, it shall be shown that this is an equivalence of categories (TODO). --- This shall be split in small PRs later. - [x] depends on: #8622 - [x] depends on: #8632 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict WIP 1396/26 Mathlib.lean,Mathlib/CategoryTheory/Over.lean,Mathlib/CategoryTheory/Sites/CoverPreserving.lean,Mathlib/CategoryTheory/Sites/Descent.lean,Mathlib/CategoryTheory/Sites/EqualizerSheafCondition.lean,Mathlib/CategoryTheory/Sites/InducedTopology.lean,Mathlib/CategoryTheory/Sites/ObjectsCoverTop.lean,Mathlib/CategoryTheory/Sites/Over.lean,Mathlib/CategoryTheory/Sites/SheafHom.lean,Mathlib/CategoryTheory/Sites/Sieves.lean 10 3 ['github-actions', 'leanprover-community-mathlib4-bot'] nobody
275-37287
9 months ago
568-59760
1 year ago
0-0
0 seconds
18806 FR-vdash-bot
author:FR-vdash-bot
refactor: deprecate `MulEquivClass` --- - [x] depends on: #18809 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
84/72 Mathlib/Algebra/Group/Equiv/Basic.lean,Mathlib/Algebra/Group/Units/Equiv.lean,Mathlib/Algebra/GroupWithZero/Hom.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Prime/Lemmas.lean,Mathlib/Algebra/Ring/Divisibility/Basic.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Combinatorics/Additive/FreimanHom.lean,Mathlib/RingTheory/Bialgebra/Equiv.lean,Mathlib/RingTheory/Ideal/Norm.lean,Mathlib/RingTheory/Localization/FractionRing.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/Topology/Algebra/InfiniteSum/Basic.lean 15 6 ['FR-vdash-bot', 'github-actions', 'leanprover-bot', 'mathlib4-dependent-issues-bot', 'vihdzp'] nobody
275-28148
9 months ago
275-28148
9 months ago
4-31794
4 days
19055 JLimperg
author:JLimperg
Test precompilation (batteries + aesop) again merge-conflict 9/8 lake-manifest.json,lakefile.lean 2 5 ['JLimperg', 'github-actions', 'leanprover-bot'] nobody
275-18930
9 months ago
275-18930
9 months ago
0-0
0 seconds
10476 shuxuezhuyi
author:shuxuezhuyi
feat(Topology/UniformSpace): define uniform preordered space We define the semi-uniform structure and the uniform preordered space. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict awaiting-author 94/0 Mathlib.lean,Mathlib/Topology/UniformSpace/UniformOrder.lean,docs/references.bib 3 2 ['shuxuezhuyi'] nobody
274-23941
9 months ago
274-23941
9 months ago
10-33091
10 days
17623 FR-vdash-bot
author:FR-vdash-bot
feat(Algebra/Order/GroupWithZero/Unbundled): add some lemmas Some lemmas in `Algebra.Order.GroupWithZero.Unbundled` have incorrect or unsatisfactory names, or assumptions that can be omitted using `ZeroLEOneClass`. The lemmas added in this PR are versions of existing lemmas that use the correct or better name or `ZeroLEOneClass` to omit an assumption. The original lemmas will be deprecated in #17593. | New name | Old name | |-------------------------|-------------------------| | `mul_le_one_left₀` | `Left.mul_le_one_of_le_of_le` | | `mul_lt_one_of_le_of_lt_left₀` (`0 ≤ ·` version) / `mul_lt_one_of_le_of_lt_of_pos_left` | `Left.mul_lt_of_le_of_lt_one_of_pos` | | `mul_lt_one_of_lt_of_le_left₀` | `Left.mul_lt_of_lt_of_le_one_of_nonneg` | | `mul_le_one_right₀` | `Right.mul_le_one_of_le_of_le` | | `mul_lt_one_of_lt_of_le_right₀` (`0 ≤ ·` version) / `mul_lt_one_of_lt_of_le_of_pos_right` | `Right.mul_lt_one_of_lt_of_le_of_pos` | | `mul_lt_one_of_le_of_lt_right₀` | `Right.mul_lt_one_of_le_of_lt_of_nonneg` | The following lemmas use `ZeroLEOneClass`. | New name | Old name | |-------------------------|-------------------------| | `(Left.)one_le_mul₀` | `Left.one_le_mul_of_le_of_le` | | `Left.one_lt_mul_of_le_of_lt₀` | `Left.one_lt_mul_of_le_of_lt_of_pos` | | `Left.one_lt_mul_of_lt_of_le₀` | `Left.lt_mul_of_lt_of_one_le_of_nonneg` / `one_lt_mul_of_lt_of_le` (still there) | | `(Left.)one_lt_mul₀` | | | `Right.one_le_mul₀` | `Right.one_le_mul_of_le_of_le` | | `Right.one_lt_mul_of_lt_of_le₀` | `Right.one_lt_mul_of_lt_of_le_of_pos` | | `Right.one_lt_mul_of_le_of_lt₀` | `Right.one_lt_mul_of_le_of_lt_of_nonneg` / `one_lt_mul_of_le_of_lt` (still there) / `one_lt_mul` (still there) | | `Right.one_lt_mul₀` | `Right.one_lt_mul_of_lt_of_lt` | --- Split from #17593. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-zulip t-order t-algebra merge-conflict
label:t-algebra$
146/44 Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled.lean 2 11 ['FR-vdash-bot', 'YaelDillies', 'github-actions', 'j-loreaux'] nobody
273-47283
9 months ago
273-47283
9 months ago
33-64877
33 days
18969 alreadydone
author:alreadydone
chore: generalize Module to NonUnitalSemiring --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
94/75 Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/End.lean,Mathlib/Algebra/Group/Action/Prod.lean,Mathlib/Algebra/Group/Action/TypeTags.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/Module/Defs.lean,Mathlib/Algebra/Module/Submodule/Defs.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/GroupTheory/CoprodI.lean,Mathlib/LinearAlgebra/FreeModule/IdealQuotient.lean,Mathlib/LinearAlgebra/LinearDisjoint.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/TensorProduct/Submodule.lean,Mathlib/RingTheory/Filtration.lean,Mathlib/RingTheory/Flat/FaithfullyFlat.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/Defs.lean,Mathlib/RingTheory/Ideal/Lattice.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Prod.lean,Mathlib/RingTheory/Presentation.lean,Mathlib/RingTheory/Smooth/Kaehler.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean 31 11 ['alreadydone', 'eric-wieser', 'github-actions', 'leanprover-bot'] nobody
271-70935
8 months ago
271-70935
8 months ago
0-0
0 seconds
16361 vihdzp
author:vihdzp
chore(SetTheory/Ordinal/FixedPointApproximants): golf + better variable management We avoid making `f : α →o α` and `x : α` explicit arguments when not needed. We then golf most theorems in the file. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory t-logic merge-conflict awaiting-author 68/101 Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean 1 8 ['PhoenixIra', 'YaelDillies', 'github-actions'] nobody
270-66677
8 months ago
270-66677
8 months ago
50-29942
50 days
17513 FR-vdash-bot
author:FR-vdash-bot
perf: do not search algebraic hierarchies when using `map_*` lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-bench t-algebra merge-conflict WIP
label:t-algebra$
5/3 Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/GroupTheory/GroupAction/Hom.lean 2 10 ['FR-vdash-bot', 'github-actions', 'grunweg', 'leanprover-bot'] nobody
268-43477
8 months ago
268-43477
8 months ago
4-72589
4 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/) t-algebra merge-conflict
label:t-algebra$
25/0 Mathlib.lean,Mathlib/LinearAlgebra/VectorSpace.lean,scripts/noshake.json 3 10 ['Julian', 'PieterCuijpers', 'github-actions', 'urkud'] nobody
267-48722
8 months ago
267-48722
8 months ago
7-68492
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/) t-data merge-conflict 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
265-24799
8 months ago
265-24799
8 months ago
4-60621
4 days
9598 AlexKontorovich
author:AlexKontorovich
feat(Analysis/Complex): HasPrimitives on disc We prove that holomorphic functions on discs have primitives. TODO: Extend to holomorphic functions on simply connected domains, and use this to define general complex logarithms. Co-authored by: Ian Jauslin ian.jauslin@rutgers.edu --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict 563/10 Mathlib.lean,Mathlib/Analysis/Asymptotics/Asymptotics.lean,Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/Analysis/Complex/HasPrimitives.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Order/Interval/Set/UnorderedInterval.lean 6 48 ['AlexKontorovich', 'github-actions', 'grunweg', 'loefflerd', 'sgouezel', 'urkud', 'vbeffara'] urkud
assignee:urkud
264-11702
8 months ago
264-11702
8 months ago
100-57565
100 days
19420 vihdzp
author:vihdzp
feat: AM-HM inequality We prove the weighted and unweighted AM-HM inequalities in linearly ordered semifields. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict awaiting-author WIP
label:t-algebra$
36/2 Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean,Mathlib/Analysis/MeanInequalities.lean 2 7 ['YaelDillies', 'github-actions', 'vihdzp'] nobody
261-80199
8 months ago
261-80199
8 months ago
0-46682
12 hours
10332 adri326
author:adri326
feat(Topology/Sets): define regular open sets and their boolean algebra Introduces a new module, `Mathlib.Topology.Sets.RegularOpens`, which defines the `IsRegularOpen s` predicate (`interior (closure s) = s`) and `TopologicalSpace.RegularOpens`, the type of bundled regular open sets (defined as `Heyting.Regular (Opens X)`). A few properties of regular open sets (bundled and unbundled) and `interior (closure s)` are proven, and a pointwise instance of `MulAction` is provided for regular open sets. --- This PR belongs to my series of PRs around my formalization of Rubin's theorem. There are two possible ways to implement `RegularOpens`: - either construct them by hand and show that they form a boolean algebra (better def-eq but more boilerplate code required) - or use `Heyting.Regular` on the heyting algebra of `Opens` inherited from the `Frame` instance on them I first chose to use the former approach, but using the latter cuts the length of the construction of the boolean algebra of regular open sets by 100 lines of code, and allows us to inherit all of the helper lemmas defined for `Heyting.Regular`. The big downside, though, is that an element of `RegularOpens` isn't defined as a bundled regular open set anymore, but rather as an `Opens` set `s` for which `Opens.interior ↑(Opens.interior ↑sᶜ)ᶜ = s`, so I added an alternative constructor `RegularOpens.of` that instead accepts any set `s` for which `IsRegularOpen s` holds. Another minor downside is that coercion to a set takes two coercions instead of one. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict WIP 434/0 Mathlib.lean,Mathlib/Data/Set/Pointwise/SMul.lean,Mathlib/Topology/Sets/Opens.lean,Mathlib/Topology/Sets/RegularOpens.lean,docs/references.bib 5 1 ['adri326'] YaelDillies
assignee:YaelDillies
261-52146
8 months ago
370-51336
1 year ago
0-0
0 seconds
14501 jjaassoonn
author:jjaassoonn
feat: module structure of filtered colimit of abelian groups over filtered colimit of rings This helps defining the module structure of stalks This contribution was inspired by the AIM workshop "Formalizing algebraic geometry" in June 2024. --- - [x] depends on: #15315 [I am going to move the result in the new file] [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) workshop-AIM-AG-2024 t-algebra t-category-theory merge-conflict awaiting-author
label:t-algebra$
439/2 Mathlib/CategoryTheory/Limits/ConcreteCategory/Basic.lean,Mathlib/CategoryTheory/Limits/ConcreteCategory/WithAlgebraicStructures.lean 2 48 ['YaelDillies', 'adamtopaz', 'erdOne', 'github-actions', 'jjaassoonn', 'joelriou', 'kbuzzard', 'leanprover-community-mathlib4-bot'] joelriou
assignee:joelriou
258-55804
8 months ago
258-55804
8 months ago
64-29952
64 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/) t-algebra merge-conflict
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
253-76868
8 months ago
253-76868
8 months ago
31-75259
31 days
17071 ScottCarnahan
author:ScottCarnahan
feat : (LinearAlgebra/RootSystem) : Separation, base, cartanMatrix This PR defines an abstract separation structure for roots, together with the associated base and Cartan Matrix. In general, the good properties will follow from additional order hypotheses on the base ring (implemented in a future PR). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
111/0 Mathlib.lean,Mathlib/LinearAlgebra/RootSystem/Separation.lean 2 1 ['github-actions'] nobody
253-66769
8 months ago
253-66769
8 months ago
20-56416
20 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/) new-contributor t-algebra merge-conflict
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
251-2937
8 months ago
257-38360
8 months ago
0-4534
1 hour
19046 j-loreaux
author:j-loreaux
feat: define class `SemigroupAction` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
34/25 Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pushforward.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/End.lean,Mathlib/Algebra/Group/Action/Prod.lean,Mathlib/Algebra/Group/Action/TypeTags.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/GroupTheory/CoprodI.lean,Mathlib/LinearAlgebra/FreeModule/IdealQuotient.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean 11 7 ['alreadydone', 'github-actions', 'j-loreaux', 'leanprover-bot', 'urkud'] nobody
250-38352
8 months ago
250-38353
8 months ago
6-21105
6 days
18841 hrmacbeth
author:hrmacbeth
chore: change some `linarith`s to `linear_combination`s Change 100 `linarith`s to `linear_combination`s; this is generally a slight speedup. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #18714 (not strictly blocked by this, but the speed comparison will be more informative after it) merge-conflict WIP 106/107 Archive/Imo/Imo1959Q2.lean,Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo2005Q3.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2008Q3.lean,Archive/Imo/Imo2013Q5.lean,Archive/Imo/Imo2021Q1.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Complex/AbelLimit.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Convex/Slope.lean,Mathlib/Analysis/Convex/SpecificFunctions/Basic.lean,Mathlib/Analysis/Convex/Uniform.lean,Mathlib/Analysis/Convex/Visible.lean,Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/PSeries.lean,Mathlib/Analysis/SpecialFunctions/Gamma/BohrMollerup.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/Monotone.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecificLimits/FloorPow.lean,Mathlib/MeasureTheory/Covering/BesicovitchVectorSpace.lean,Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean,Mathlib/NumberTheory/Modular.lean,Mathlib/NumberTheory/Transcendental/Liouville/LiouvilleWith.lean,Mathlib/Probability/Distributions/Pareto.lean 30 29 ['github-actions', 'grunweg', 'hrmacbeth', 'jcommelin', 'leanprover-bot', 'mathlib4-dependent-issues-bot'] nobody
249-50263
8 months ago
249-50263
8 months ago
3-30853
3 days
18748 FR-vdash-bot
author:FR-vdash-bot
refactor: deprecate `ContinuousLinearMapClass` --- - [ ] depends on: #18689 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-topology merge-conflict
label:t-algebra$
115/49 Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/LocallyConvex/WeakOperatorTopology.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Operator/LinearIsometry.lean,Mathlib/Topology/Algebra/Module/Basic.lean,Mathlib/Topology/Algebra/Module/CharacterSpace.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean,Mathlib/Topology/Homeomorph.lean 10 5 ['FR-vdash-bot', 'github-actions', 'leanprover-bot', 'mathlib4-dependent-issues-bot'] nobody
247-40881
8 months ago
247-40884
8 months ago
0-989
16 minutes
8686 j-loreaux
author:j-loreaux
refactor: allow non-unital `AlgEquiv` This refactors `AlgEquiv` (and `AlgEquivClass`) to incorporate a `map_smul` field instead of `commutes`. This allows us to weaken the type class assumptions on `AlgEquiv` from: ```lean structure AlgEquiv (R A B : Type*) [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] ``` to: ```lean structure AlgEquiv (R A B : Type*) [Add A] [Add B] [Mul A] [Mul B] [SMul R A] [SMul R B] ``` in accordance with the other `Equiv` structures (e.g., `MulEquiv`, `AddEquiv`, `RingEquiv`). This allows us to use `AlgEquiv` for both unital and non-unital (even non-associative) algebra homomorphisms. Note in addition that `StarAlgEquiv` already follows this paradigm. We supply the convenience constructor `AlgEquiv.ofCommutes`, which is marked `inline` and `reducible`, so that users can still provide go via the `commutes` route for constructing and `AlgEquiv` whenever it is more convenient. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
286/227 Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Opposite.lean,Mathlib/Algebra/Algebra/Pi.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Category/AlgebraCat/Basic.lean,Mathlib/Algebra/DualQuaternion.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/ToDirectSum.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Star/Free.lean,Mathlib/Algebra/Star/StarAlgHom.lean,Mathlib/Analysis/NormedSpace/LpEquiv.lean,Mathlib/Data/Complex/Module.lean,Mathlib/Data/IsROrC/Basic.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/Data/Matrix/DualNumber.lean,Mathlib/Data/MvPolynomial/Equiv.lean,Mathlib/Data/MvPolynomial/Rename.lean,Mathlib/Data/Polynomial/AlgebraMap.lean,Mathlib/LinearAlgebra/Matrix/Basis.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/LinearAlgebra/Matrix/Reindex.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean,Mathlib/LinearAlgebra/TensorProduct/Opposite.lean,Mathlib/Logic/Equiv/TransferInstance.lean,Mathlib/RingTheory/FinitePresentation.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/Ideal/QuotientOperations.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/MatrixAlgebra.lean,Mathlib/RingTheory/Polynomial/Quotient.lean,Mathlib/RingTheory/PolynomialAlgebra.lean,Mathlib/RingTheory/TensorProduct.lean,Mathlib/Topology/LocallyConstant/Algebra.lean 35 2 ['eric-wieser', 'j-loreaux'] nobody
244-52676
8 months ago
624-15453
1 year ago
0-0
0 seconds
11142 hmonroe
author:hmonroe
feat(ProofTheory): Define logical symbols abstractly; opens new top-level section, drawing from lean4-logic --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic merge-conflict awaiting-author 468/1 Mathlib.lean,Mathlib/Data/Fin/VecNotation.lean,Mathlib/ProofTheory/LogicSymbol.lean 3 19 ['PatrickMassot', 'YaelDillies', 'avigad', 'fpvandoorn', 'github-actions'] nobody
243-60083
8 months ago
243-60083
8 months ago
92-18232
92 days
11210 hmonroe
author:hmonroe
Test commit --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict WIP 1950/1 Mathlib.lean,Mathlib/Data/Fin/VecNotation.lean,Mathlib/ProofTheory/Calculus.lean,Mathlib/ProofTheory/FirstOrder/Arith/Language.lean,Mathlib/ProofTheory/FirstOrder/Basic/Syntax/Term.lean,Mathlib/ProofTheory/LogicSymbol.lean,Mathlib/ProofTheory/Matrix.lean,Mathlib/ProofTheory/Semantics.lean,Mathlib/ProofTheory/System.lean,docs/references.bib 10 100 ['github-actions'] nobody
243-60082
8 months ago
243-60082
8 months ago
0-0
0 seconds
18294 FR-vdash-bot
author:FR-vdash-bot
perf: make `Mul.toSMul` higher priority --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-bench t-algebra merge-conflict
label:t-algebra$
2/5 Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Order/Field/Pointwise.lean,Mathlib/Combinatorics/Additive/AP/Three/Defs.lean,Mathlib/Topology/Algebra/Module/WeakBilin.lean 4 4 ['FR-vdash-bot', 'github-actions', 'leanprover-bot'] nobody
238-41275
7 months ago
238-41276
7 months ago
0-0
0 seconds
19699 vihdzp
author:vihdzp
chore(SetTheory/Cardinal/Basic): tweak `#α = 0`, `#α = 1`, etc. lemmas We rename `le_one_iff_subsingleton` → `mk_le_one_iff` and `mk_le_one_iff_set_subsingleton` → `mk_set_le_one_iff` to match the names of other lemmas in this section. We also add `mk_eq_one_iff` and `mk_set_eq_one_iff`. --- These last two lemmas can probably be golfed somehow. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory awaiting-CI merge-conflict 48/16 Mathlib/SetTheory/Cardinal/Basic.lean 1 1 ['github-actions'] nobody
236-46709
7 months ago
236-46709
7 months ago
0-5976
1 hour
15773 kkytola
author:kkytola
feat: Add type class for ENat-valued floor functions This PR adds a type class for extended natural number -valued floor functions. This is split off from #15269, where the suggestions were to make the floor function on ENNReal ENat-valued and to have an API mimicling FloorSemirings. Besides ENNReal, at least ENNRat would naturally satisfy the general type class. --- Two things are worth noting: * To fully mimic `FloorSemiring` API, also ceiling functions need to be added. The plan is to do that in a later PR. * The PR introduces the class `CastNatENatClass` to ensure that `natCast` and a coercion from `ENat` behave in the natural and order-respecing manner. This feels a little ad hoc, but such assumptions are needed for general `ENat`-valued floor functions to behave well. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order merge-conflict awaiting-author 231/0 Mathlib.lean,Mathlib/Algebra/Order/EFloor.lean,Mathlib/Data/ENat/Basic.lean 3 5 ['YaelDillies', 'github-actions', 'kkytola', 'urkud'] nobody
230-14449
7 months ago
230-14449
7 months ago
66-24436
66 days
3251 kmill
author:kmill
feat: deriving `LinearOrder` for simple enough inductive types Uses the same machinery underlying the `Fintype` derive handler to derive a lexicographical `LinearOrder` for non-recursive inductive types that have no indices. In principle more complicated types can have `LinearOrder`s, but that would require a more sophisticated implementation. --- - [x] depends on: #3198 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict awaiting-author WIP 82/0 Mathlib.lean,Mathlib/Tactic/DeriveLinearOrder.lean 2 5 ['ChrisHughes24', 'kim-em', 'kmill', 'vihdzp'] nobody
227-75502
7 months ago
227-75502
7 months ago
1-80342
1 day
3610 TimothyGu
author:TimothyGu
feat: derive Infinite automatically for inductive types Deals with recursive types, but not mutually recursive types or types with indices right now. See docstring for details. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict awaiting-author 517/0 Mathlib.lean,Mathlib/Tactic/DeriveInfinite.lean,test/DeriveInfinite.lean 3 11 ['TimothyGu', 'digama0', 'eric-wieser', 'grunweg', 'kim-em', 'kmill'] kmill
assignee:kmill
227-75501
7 months ago
227-75501
7 months ago
8-36622
8 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/) t-logic t-algebra RFC merge-conflict
label:t-algebra$
34/13 Mathlib/ModelTheory/Algebra/Ring/Basic.lean 1 10 ['ChrisHughes24', 'YaelDillies', 'awainverse', 'github-actions', 'jcommelin'] nobody
226-6642
7 months ago
226-6642
7 months ago
135-29017
135 days
15045 Command-Master
author:Command-Master
fix(LinearAlgebra/Alternating/Basic): fix `MultilinearMap.alternatization` See https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/kernel.20deep.20recursion.20detected. Fix ```lean import Mathlib.LinearAlgebra.Determinant example : (1 : Matrix (Fin 8) (Fin 8) ℚ).det = 1 := by rw [Matrix.det_one] ``` causing a `(kernel) deep recursion detected` error. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict awaiting-author
label:t-algebra$
51/21 Mathlib/Data/Nat/Factorial/SuperFactorial.lean,Mathlib/LinearAlgebra/Alternating/Basic.lean,test/DetOne.lean 3 12 ['Command-Master', 'PatrickMassot', 'eric-wieser', 'github-actions', 'grhkm21', 'grunweg', 'kbuzzard', 'kim-em'] nobody
225-60331
7 months ago
225-60332
7 months ago
0-8789
2 hours
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/) t-topology merge-conflict 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
219-37674
7 months ago
219-37674
7 months ago
6-66637
6 days
17739 Aaron1011
author:Aaron1011
feat(Topology/Order/DenselyOrdered): prove Not (IsOpen) for intervals Prove that Iic/Ici/Ioc/Ico/Icc intervals are not open in densely ordered topologies with no min/max element --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology merge-conflict awaiting-author 27/0 Mathlib/Topology/Order/DenselyOrdered.lean 1 8 ['github-actions', 'vihdzp'] nobody
217-24949
7 months ago
217-24949
7 months ago
0-4704
1 hour
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/) t-data slow-typeclass-synthesis t-algebra merge-conflict
label:t-algebra$
9/2 Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Data/Int/Cast/Defs.lean,Mathlib/Data/Nat/Cast/Defs.lean 3 7 ['FR-vdash-bot', 'eric-wieser', 'github-actions', 'leanprover-bot'] nobody
217-24704
7 months ago
217-24704
7 months ago
76-67978
76 days
20656 Komyyy
author:Komyyy
feat(Mathlib/Geometry/Manifold/VectorBundle/Sphere): convert orthogonal smooth `M → 𝕊ⁿ` & `M → ℝⁿ⁺¹` to smooth `M → T𝕊ⁿ` Current Mathlib has no easy way to define function from a manifold to tangent bundles of sphere: `T𝕊ⁿ`. This PR gives this: `sphereTangentMap`. This convert orthogonal smooth `M → 𝕊ⁿ` & `M → ℝⁿ⁺¹` to smooth `M → T𝕊ⁿ`. I also proved that if `f : M → 𝕊ⁿ` & `g : M → ℝⁿ⁺¹` are smooth then `sphereTangentMap` of `f` & `g` is smooth too. --- ⚠ **CAUTION** I formalized this in my spare time. I don't have the energy to maintain the PR, but I create this PR so this may helps everyone. The only one thing to do is proof cleanup. TODO: - [x] `contDiff_uncurry_stereoInvFunAux` & `coe_sphere_comp_stereoInvFun` may have to be moved to `Mathlib.Geometry.Manifold.Instances.Sphere`. - [ ] Proof cleanup. Current proof may be redundant and ugly. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry merge-conflict please-adopt 246/6 Mathlib.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/Geometry/Manifold/VectorBundle/Sphere.lean 3 1 ['github-actions'] nobody
216-59638
7 months ago
216-59638
7 months ago
0-0
0 seconds
15711 znssong
author:znssong
feat(Combinatorics/SimpleGraph): Some lemmas about walk, cycle and Hamiltonian cycle --- These lemmas are separated from the `meow-sister/BondyChvatal` branch and will be needed for the proof of the Bondy-Chvátal theorem. - [x] depends on: #15536 - [x] depends on: #16294 new-contributor t-combinatorics merge-conflict awaiting-author 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
216-44035
7 months ago
216-44035
7 months ago
9-13962
9 days
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/) t-computability new-contributor merge-conflict awaiting-author 186/0 Mathlib.lean,Mathlib/Computability/Timed/InsertionSort.lean,Mathlib/Computability/Timed/Merge.lean 3 2 ['github-actions', 'trivial1711'] nobody
216-9954
7 months ago
216-9954
7 months ago
33-11262
33 days
8362 urkud
author:urkud
feat(Asymptotics): define `ReflectsGrowth` --- - [x] depends on: #8349 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict awaiting-author 268/0 Mathlib.lean,Mathlib/Analysis/Asymptotics/ReflectsGrowth.lean 2 14 ['YaelDillies', 'fpvandoorn', 'github-actions', 'leanprover-community-mathlib4-bot', 'urkud'] nobody
214-17208
7 months ago
214-17208
7 months ago
1-41158
1 day
6692 prakol16
author:prakol16
feat: disjoint indexed union of local homeomorphisms Add disjoint indexed union of local equivs and local homeomorphisms --- This is leading up to PRing some things related to covering spaces that I wrote a long time ago in lean 3 but never submitted a PR for. Note that this was converted using mathport. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict awaiting-author 126/0 Mathlib/Logic/Equiv/PartialEquiv.lean,Mathlib/Topology/PartialHomeomorph.lean 2 4 ['alreadydone', 'github-actions', 'winstonyin'] nobody
214-1804
7 months ago
214-1804
7 months ago
117-22351
117 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/) new-contributor t-algebra merge-conflict awaiting-author
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
211-31613
6 months ago
211-31614
6 months ago
36-2255
36 days
19352 hrmacbeth
author:hrmacbeth
chore: change some `nlinarith`s to `linear_combination`s --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict WIP 13/13 Archive/Imo/Imo2021Q1.lean,Archive/Wiedijk100Theorems/AreaOfACircle.lean,Mathlib/Analysis/Normed/Group/AddCircle.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Ring/Units.lean,Mathlib/Analysis/SpecialFunctions/Complex/LogBounds.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Increment.lean,Mathlib/NumberTheory/Modular.lean 8 4 ['github-actions', 'hrmacbeth', 'leanprover-bot'] nobody
209-60824
6 months ago
209-60824
6 months ago
0-8636
2 hours
20372 jvlmdr
author:jvlmdr
feat(MeasureTheory/Function): Add ContinuousLinearMap.bilinearCompLp(L) Introduce ContinuousLinearMap.bilinearCompLp and bilinearCompLpL. Generalize eLpNorm_le_eLpNorm_mul_eLpNorm theorems to include constant C in bound condition. --- Expect this may be useful for defining tempered distributions from functions in `L^p`. The definitions more or less follow `ContinuousLinearMap.compLp...`. Names are loosely analogous to `ContinuousLinearMap.bilinearComp` and `SchwartzMap.bilinLeftCLM`. Note: I preferred the spelling `hpqr : p⁻¹ + q⁻¹ = r⁻¹` with `f` in `L^p` and `g` in `L^q` to `hpqr : 1 / p = 1 / q + 1 / r`. It's easier to obtain from `ENNReal.IsConjExponent` too. A few questions: - [ ] I defined `bilinear{Left,Right}LpL` in addition to `bilinearCompLpL` because `LinearMap.mkContinuous₂` is marked as `noncomputable` and `LinearMap.mkContinuous` is not. Is this worth the extra definitions? (Note: This is not visible in the source due to `noncomputable section`.) - [ ] Should I use `C : ℝ` instead of `C : NNReal` for `eLpNorm_le_eLpNorm_mul_eLpNorm'_of_norm'`? - [ ] Is it going to be painful to have `[Fact (1 ≤ p)] [Fact (1 ≤ q)] [Fact (1 ≤ r)]`? I don't think there's a way to avoid it though. Maybe providing specialized versions for `p.IsConjExponent q` with `L^1`? Naming: - [ ] Is it satisfactory to add a `'` to the `eLpNorm_le_eLpNorm_mul_eLpNorm ` definitions in `CompareExp.lean` where `≤ ‖f x‖ * ‖g x‖` has been replaced with `≤ C * ‖f x‖ * ‖g x‖`? These could replace the existing theorems, although I don't want to break backwards compatibility. There are 5 instances: `eLpNorm_le_eLpNorm_top_mul_eLpNorm'`, `eLpNorm_le_eLpNorm_mul_eLpNorm_top'`, `eLpNorm'_le_eLpNorm'_mul_eLpNorm''`, `eLpNorm_le_eLpNorm_mul_eLpNorm_of_nnnorm'`, `eLpNorm_le_eLpNorm_mul_eLpNorm'_of_norm'` (I'm not sure why the existing theorem `eLpNorm_le_eLpNorm_mul_eLpNorm'_of_norm` has an internal `'`) - [ ] Is `bilinearLeftLpL` a suitable name? Other options: `bilinearCompLpLeftL`, `bilinearCompLeftLpL`, `bilinLeftLpL` (analogous to `SchwartzMap.bilinLeftCLM`) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability merge-conflict 203/40 Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSpace.lean 2 1 ['github-actions'] nobody
204-48961
6 months ago
204-48961
6 months ago
27-43617
27 days
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/) new-contributor t-measure-probability merge-conflict awaiting-author 49/0 Mathlib/MeasureTheory/Function/L1Space.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral.lean,Mathlib/MeasureTheory/Integral/SetIntegral.lean 4 30 ['EtienneC30', 'arulandu', 'github-actions', 'loefflerd'] nobody
203-23394
6 months ago
203-23394
6 months ago
9-73631
9 days
20872 grunweg
author:grunweg
feat: lint against the tactic.skipAssignedInstances option in mathlib This means we can remove the corresponding technical debt entry. We also correct some outdated details in the Linter/Style.lean docstring. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-linter merge-conflict awaiting-author 63/7 Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Tactic/Linter/Style.lean,Mathlib/Topology/Separation/Regular.lean,MathlibTest/LintStyle.lean,scripts/technical-debt-metrics.sh 5 17 ['adomani', 'github-actions', 'grunweg'] nobody
203-17424
6 months ago
203-17424
6 months ago
0-9411
2 hours
2605 eric-wieser
author:eric-wieser
chore: better error message in linarith On this mwe: ```lean import Mathlib.Tactic.Linarith example (s : Set ℕ) (h : s = s) : 0 ≤ 1 := by linarith ``` this now indicates where the internal error is coming from. Is there a better way of chaining errors than this? --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict awaiting-author 12/1 Mathlib/Tactic/Linarith/Preprocessing.lean 1 3 ['Vierkantor', 'harahu', 'kim-em', 'mo271'] nobody
202-39554
6 months ago
637-12841
1 year ago
4-7271
4 days
11837 trivial1711
author:trivial1711
feat: completion of a uniform multiplicative group Multiplicativize `Topology.Algebra.GroupCompletion`. That is, rewrite it in the multiplicative setting and recover the original results using `@[to_additive]`. - Because `@[to_additive]` doesn't work with `noncomputable section` (https://github.com/leanprover/lean4/pull/2610), some instances with `@[to_additive]` need to be explicitly marked with `noncomputable instance`. - One might be tempted to multiplicativize this definition from `Topology.Algebra.GroupCompletion`: ```lean instance [UniformSpace α] [Add α] : Add (Completion α) := ⟨Completion.map₂ (· + ·)⟩ ``` to this: ```lean @[to_additive] instance [UniformSpace α] [Mul α] : Mul (Completion α) := ⟨Completion.map₂ (· * ·)⟩ ``` However, as Eric Wieser pointed out, doing so would create a bad diamond with the definition ```lean instance [UniformSpace α] [TopologicalRing α] [UniformAddGroup α] [Ring α] : Mul (Completion α) := ⟨curry <| (denseInducing_coe.prod denseInducing_coe).extend ((↑) ∘ uncurry (· * ·))⟩ ``` in `Topology.Algebra.UniformRing`. How should this diamond be resolved? Well, the definition of multiplication that uses `curry <| (denseInducing_coe.prod denseInducing_coe).extend ((↑) ∘ uncurry (· * ·))` is the "correct" one. For example, it yields the correct result if `α` is `ℚ`, unlike the definition that uses `Completion.map₂ (· * ·)`. (This is because `Completion.map₂` yields junk values if used on a function which is not uniformly continuous. Note, however, that if multiplication on `α` *is* uniformly continuous, then `Completion.map₂ (· * ·)` and `curry <| (denseInducing_coe.prod denseInducing_coe).extend ((↑) ∘ uncurry (· * ·))` are propositionally equal.) So, following Eric's suggestion, we remove the definition that uses `Completion.map₂ (· * ·)`, and generalize the other definition to any uniform space with a multiplication operation: ```lean @[to_additive] noncomputable instance [UniformSpace α] [Mul α] : Mul (Completion α) := ⟨curry <| (denseInducing_coe.prod denseInducing_coe).extend ((↑) ∘ uncurry (· * ·))⟩ ``` This requires slightly modifying some of the proofs in `Topology.Algebra.GroupCompletion`. For example, suppose that `α` is a uniform group. Since we can no longer use `Completion.continuous_map₂`, it becomes more efficient to prove that the multiplication, inversion, and division operations on `Completion α` are uniformly continuous *before* we prove that `Completion α` is a group. - Previously, `Topology.Algebra.GroupCompletion` had an instance: ```lean instance [UniformSpace α] [Sub α] : Sub (Completion α) := ... ``` Naively multiplicativizing this would yield ```lean @[to_additive] instance [UniformSpace α] [Inv α] : Inv (Completion α) := ... ``` Unfortunately, this would conflict with `Topology.Algebra.UniformField`, which already instantiates `Inv (Completion α)` when `α` is a uniform field. Instead, we use two different `instance` declarations. (If `α` is an additive group, then this instantiates `Neg (Completion α)` twice, and the instances are syntactically equal.) ```lean @[to_additive] noncomputable instance [UniformSpace α] [Group α] : Inv (Completion α) := ... instance [UniformSpace α] [Neg α] : Neg (Completion α) := ... ``` This avoids the bad diamond (because a uniform field can never be a `Group`) while remaining backward compatible. Note that the `@[to_additive]` is necessary here, because it maintains the link between the additive setting and multiplicative setting. We use a similar method to instantiate `Div (Completion α)`. - Some definitions in this file involve a module structure on `α`. We leave these as is and do not attempt to multiplicativize them at all. - The instance of `DistribMulAction` must be multiplicativized to an instance of `MulDistribMulAction` manually. Zulip thread: https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Completion.20of.20a.20uniform.20multiplicative.20group --- # (Small) Issue Recall the following trick that this pull request uses to define inversion and negation on uniform spaces. The idea is that we define negation on the completion of any uniform space that has a negation operation, but we define inversion on only the completion of a uniform space that has the structure of a multiplicative group. We do this to avoid creating a bad diamond with the inversion operation on a uniform field. ```lean @[to_additive] noncomputable instance {α : Type*} [UniformSpace α] [Group α] : Inv (Completion α) := ... instance {α : Type*} [UniformSpace α] [Neg α] : Neg (Completion α) := ... ``` Now, suppose that we want to prove `coe_inv_of_group` (resp. `coe_neg`), which states that the coercion `α → Completion α` commutes with inversion (resp. negation). In the current version of this pull request, `coe_inv_of_group` (resp. `coe_neg`) only applies to uniform multiplicative (resp. additive) groups. However, we do not use the fact that multiplication (resp. addition) on `α` is uniformly continuous to prove it. We only use the fact that inversion (resp. negation) is continuous. So, what we really want is to have more general statements that look like this: ```lean theorem coe_inv_of_group {α : Type*} [UniformSpace α] [Group α] [ContinuousInv α] : ... theorem coe_neg {α : Type*} [UniformSpace α] [Neg α] [ContinuousNeg α] : ... ``` Note that `coe_inv_of_group` needs the assumption `[Group α]`, because otherwise inversion is not defined on `Completion α` at all. However, `coe_neg` does not need the analogous assumption `[AdditiveGroup α]`. The question is: If `coe_inv_of_group` and `coe_neg` are written in this more general form, how can we link them using `@[to_additive]`? Here is one option, but it obviously leaves something to be desired. ```lean @[to_additive coe_neg_do_not_use_this_use_the_more_general_version] theorem coe_inv_of_group {α : Type*} [UniformSpace α] [Group α] [ContinuousInv α] : ... theorem coe_neg {α : Type*} [UniformSpace α] [Neg α] [ContinuousNeg α] : ... ``` Co-authored-by: Eric Wieser --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-topology merge-conflict WIP help-wanted
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
202-17059
6 months ago
202-17059
6 months ago
101-64856
101 days
14799 luigi-massacci
author:luigi-massacci
feat(Analysis/MeanInequalities): Weighted QM-AM inequality The inequality between the quadratic and arithmetic mean as a consequence of Jensen's inequality. Weighted version for positive real valued functions from a `Finset`. Fix notation for sums, switching to `∈` in place of `in`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis easy merge-conflict awaiting-author 26/3 Mathlib/Analysis/MeanInequalities.lean 1 8 ['YaelDillies', 'acmepjz', 'github-actions', 'luigi-massacci', 'vihdzp'] nobody
202-16565
6 months ago
202-16565
6 months ago
0-38862
10 hours
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/) workshop-AIM-AG-2024 t-algebraic-geometry merge-conflict please-adopt WIP 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
197-63885
6 months ago
197-63885
6 months ago
0-201
3 minutes
9449 hmonroe
author:hmonroe
feat: Add Turing machine with the quintet definition (TMQ) and a chainable step function for each TM type --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability merge-conflict awaiting-author 458/1 Mathlib/Computability/TuringMachine.lean,Mathlib/Logic/PartArith.lean 2 8 ['eric-wieser', 'github-actions', 'hmonroe'] nobody
196-68138
6 months ago
196-68138
6 months ago
14-19968
14 days
18719 FR-vdash-bot
author:FR-vdash-bot
perf: lower the priority of `SemilinearMapClass.toAddHomClass` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-bench slow-typeclass-synthesis t-algebra merge-conflict
label:t-algebra$
14/7 Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unique.lean,MathlibTest/TCSynth.lean 3 4 ['FR-vdash-bot', 'github-actions', 'leanprover-bot'] nobody
195-42955
6 months ago
195-42955
6 months ago
0-0
0 seconds
20663 EtienneC30
author:EtienneC30
feat: `PFunLike` typeclass for partial homomorphisms and `LinearPMapClass` A test PR implementing a typeclass `PFunLike` to represent partial homomorphisms and building a `LinearPMapClass` typeclass. Started from [this](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/ContinuousLinearPMap) discussion. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data t-algebra merge-conflict WIP
label:t-algebra$
278/49 Mathlib.lean,Mathlib/Algebra/Group/PHom.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/Analysis/Convex/Cone/Extension.lean,Mathlib/Data/PFunLike.lean,Mathlib/GroupTheory/GroupAction/PHom.lean,Mathlib/LinearAlgebra/LinearPMap.lean 7 1 ['github-actions'] nobody
194-35403
6 months ago
194-35403
6 months ago
0-0
0 seconds
19697 quangvdao
author:quangvdao
feat(BigOperators/Fin): Sum/product over `Fin` intervals This PR adds new theorems about the sum/product of some vector over `Fin` intervals. One example is: ``` @[to_additive] theorem prod_Iic_succ (i : Fin n) : ∏ j ∈ Iic i.succ, v j = (∏ j ∈ Iic i.castSucc, v j) * v i.succ ``` --- - [x] depends on: #20360 This is in preparation for reworking `finSigmaFinEquiv` and `finProdFinEquiv` in #19013. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict awaiting-author 87/12 Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Data/Fintype/Fin.lean,Mathlib/Order/Interval/Finset/Fin.lean 3 20 ['Ruben-VandeVelde', 'YaelDillies', 'eric-wieser', 'github-actions', 'mathlib4-dependent-issues-bot', 'quangvdao'] nobody
194-24156
6 months ago
194-24156
6 months ago
6-25961
6 days
19353 hrmacbeth
author:hrmacbeth
chore: golf some term/rw proofs using `linear_combination` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict WIP 47/102 Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Mathlib/Analysis/Convex/Slope.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani.lean,Mathlib/NumberTheory/Modular.lean,Mathlib/NumberTheory/Zsqrtd/Basic.lean,Mathlib/Topology/ContinuousMap/ZeroAtInfty.lean 7 5 ['github-actions', 'grunweg', 'hrmacbeth', 'leanprover-bot'] grunweg
assignee:grunweg
193-23277
6 months ago
193-23277
6 months ago
0-7781
2 hours
21196 vihdzp
author:vihdzp
chore: make argument of `zero_le` implicit This simplifies our expressions probably 95% of the time, and the remaining 5% we can simply use the Lean 4 implicit argument notation. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order awaiting-CI merge-conflict 10/10 Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean 1 1 ['github-actions'] nobody
192-85799
6 months ago
192-85799
6 months ago
0-0
0 seconds
21610 JLimperg
author:JLimperg
Aesop forward benchmark: forward precomp Not a real PR, just for benchmarking. merge-conflict 30/27 Mathlib/Data/List/InsertIdx.lean,Mathlib/Tactic/Recall.lean,Mathlib/Topology/List.lean,Test.lean,lake-manifest.json,lakefile.lean,lean-toolchain 7 3 ['JLimperg', 'github-actions', 'leanprover-bot'] nobody
191-42162
6 months ago
192-30525
6 months ago*
0-0
0 seconds*
21611 JLimperg
author:JLimperg
Aesop forward benchmark: master no-precomp Not a real PR, just for benchmarking. merge-conflict 30/27 Mathlib/Data/List/InsertIdx.lean,Mathlib/Tactic/Recall.lean,Mathlib/Topology/List.lean,Test.lean,lake-manifest.json,lakefile.lean,lean-toolchain 7 4 ['JLimperg', 'github-actions', 'leanprover-bot'] nobody
191-42161
6 months ago
192-30481
6 months ago*
0-0
0 seconds*
21612 JLimperg
author:JLimperg
Aesop forward benchmark: master precomp Not a real PR, just for benchmarking. merge-conflict 30/27 Mathlib/Data/List/InsertIdx.lean,Mathlib/Tactic/Recall.lean,Mathlib/Topology/List.lean,Test.lean,lake-manifest.json,lakefile.lean,lean-toolchain 7 3 ['JLimperg', 'github-actions', 'leanprover-bot'] nobody
191-42160
6 months ago
192-30362
6 months ago*
0-0
0 seconds*
10678 adri326
author:adri326
feat(Topology/UniformSpace): prove that a uniform space is completely regular Provides the pseudometric definition of a uniform space (for any open set `s` and `x ∈ s`, there exists a finite family of pseudometric spaces on `X` and an `ε > 0`, such that the intersection of the balls of these pseudometric spaces is a subset of `s`), and uses it to prove that `UniformSpace X` implies `CompletelyRegularSpace X`. --- This PR aims to close the gap of pi-base's theorem [T345](https://topology.pi-base.org/theorems/T000345), which says that topological groups are completely regular. We already have a proof that topological groups are uniform, but it turns out that we do not have any connection between `UniformSpace X` and `CompletelyRegularSpace X`. There is an equivalence between `UniformSpace X` and `CompletelyRegularSpace X`: the former implies the latter, and the latter implies *the existence of* the former. This PR provides the first half of this equivalence. The construction of the pseudometric definition is based on N. Bourbaki, Chapter 9, Theorem 4.1 The proof that a uniform space is completely regular is based on [the outline on mathexchange](https://math.stackexchange.com/questions/494718/how-to-prove-that-every-uniform-space-is-completely-regular). I tried to outline the major steps of the different proofs inside of comments; I can happily be more verbose to clear up any confusion. See [the corresponding Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Some.20missing.2C.20accessible.2C.20topology.20results) for more context. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict awaiting-author 332/0 Mathlib.lean,Mathlib/Topology/UniformSpace/Basic.lean,Mathlib/Topology/UniformSpace/CompletelyRegular.lean 3 6 ['ADedecker', 'adri326'] ADedecker
assignee:ADedecker
191-17688
6 months ago
191-17688
6 months ago
17-44773
17 days
20030 vihdzp
author:vihdzp
refactor: avoid ordinals in Nöbeling's theorem --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict WIP help-wanted 356/428 Mathlib/Topology/Category/Profinite/Nobeling.lean 1 1 ['github-actions'] nobody
189-73673
6 months ago
189-73673
6 months ago
0-0
0 seconds
18785 erdOne
author:erdOne
feat(CategoryTheory): command that generates instances for `MorphismProperty` Co-authored-by: Calle Sönne --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory t-meta merge-conflict awaiting-author 369/0 Mathlib.lean,Mathlib/CategoryTheory/MorphismProperty/Tactic.lean,MathlibTest/AddMorphismPropertyInstances.lean,scripts/noshake.json 4 19 ['alexjbest', 'chrisflav', 'erdOne', 'github-actions', 'grunweg', 'jcommelin', 'joelriou'] nobody
189-34198
6 months ago
189-34198
6 months ago
52-4682
52 days
15942 grunweg
author:grunweg
chore: move style linters into their own file; document all current linters Just to show the overall direction: this PR is just a tracking PR; it is easier to re-do the remaining pieces individually. - [x] depends on: #19529 (and needs a merge afterwards) --- The documenting of items should move into Tactic.Linter... [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter merge-conflict awaiting-author 634/287 Mathlib.lean,Mathlib/Analysis/SpecialFunctions/BinaryEntropy.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Init.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/AdmitLinter.lean,Mathlib/Tactic/Linter/GlobalAttributeIn.lean,Mathlib/Tactic/Linter/HashCommandLinter.lean,Mathlib/Tactic/Linter/HaveLetLinter.lean,Mathlib/Tactic/Linter/Lint.lean,Mathlib/Tactic/Linter/OldObtain.lean,Mathlib/Tactic/Linter/RefineLinter.lean,Mathlib/Tactic/Linter/Style.lean,Mathlib/Tactic/Linter/UnusedTactic.lean,Mathlib/Util/SleepHeartbeats.lean,lakefile.lean,test/AdmitLinter.lean,test/Change.lean,test/Check.lean,test/Clear!.lean,test/ClearExcept.lean,test/Clear_.lean,test/DefEqTransformations.lean,test/DeriveToExpr.lean,test/ExtractGoal.lean,test/ExtractLets.lean,test/GuardGoalNums.lean,test/GuardHypNums.lean,test/HashCommandLinter.lean,test/Lint.lean,test/LintStyle.lean,test/MfldSetTac.lean,test/MinImports.lean,test/SimpRw.lean,test/SplitIfs.lean,test/TermBeta.lean,test/TypeCheck.lean,test/UnsetOption.lean,test/Use.lean,test/basicTactics.lean,test/casesm.lean,test/convert.lean,test/fail_if_no_progress.lean,test/fun_prop_dev.lean,test/itauto.lean,test/meta.lean,test/notation3.lean,test/recover.lean,test/says.lean,test/symm.lean,test/trace.lean,test/trans.lean 54 5 ['github-actions', 'grunweg', 'joneugster', 'mathlib4-dependent-issues-bot'] nobody
187-60822
6 months ago
187-60822
6 months ago
0-36287
10 hours
16311 madvorak
author:madvorak
feat(Computability): regular languages are context-free --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability merge-conflict WIP 72/0 Mathlib.lean,Mathlib/Computability/Chomsky.lean,Mathlib/Computability/ContextFreeGrammar.lean 3 7 ['Rida-Hamadani', 'YaelDillies', 'github-actions', 'madvorak'] nobody
187-40617
6 months ago
187-40617
6 months ago
0-0
0 seconds
19943 AlexLoitzl
author:AlexLoitzl
feat(Computability): Add Chomsky Normal Form Grammar and translation - Define Chomsky normal form grammars - Add language-preserving translation between context-free grammars and Chomsky normal form grammars Co-authored-by: Martin Dvorak martin.dvorak@matfyz.cz --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability new-contributor merge-conflict awaiting-author 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
187-40370
6 months ago
187-40370
6 months ago
37-29014
37 days
19616 adamtopaz
author:adamtopaz
fix: Fix the definition of the absolute Galois group of a field Previously it was defined as the Galois group of the algebraic closure, as opposed to the separable closure. Also, this adds some missing instances for this group. Still missing is compactness, but that seems like a bigger project. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-number-theory merge-conflict awaiting-author
label:t-algebra$
23/8 Mathlib/FieldTheory/AbsoluteGaloisGroup.lean,Mathlib/FieldTheory/KrullTopology.lean 2 4 ['acmepjz', 'alreadydone', 'github-actions'] nobody
187-38605
6 months ago
187-38605
6 months ago
3-64280
3 days
17005 YnirPaz
author:YnirPaz
feat(SetTheory/Cardinal/Regular): define singular cardinals Define singular cardinals and prove basic lemmas about them. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict WIP 94/1 Mathlib.lean,Mathlib/SetTheory/Cardinal/Regular.lean,Mathlib/SetTheory/Ordinal/Basic.lean 3 28 ['YaelDillies', 'YnirPaz', 'github-actions', 'vihdzp'] nobody
184-73726
6 months ago
260-66908
8 months ago
34-18388
34 days
18952 Command-Master
author:Command-Master
chore: deprecate `Trunc` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict WIP 283/57 Mathlib/CategoryTheory/EpiMono.lean,Mathlib/CategoryTheory/Preadditive/Biproducts.lean,Mathlib/Data/DFinsupp/Defs.lean,Mathlib/Data/Fintype/Basic.lean,Mathlib/Data/Fintype/Option.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/LinearAlgebra/Determinant.lean,Mathlib/Logic/Equiv/List.lean 12 8 ['eric-wieser', 'github-actions', 'vihdzp'] nobody
184-24943
6 months ago
184-24943
6 months ago
0-0
0 seconds
18463 vihdzp
author:vihdzp
feat(SetTheory/Ordinal/Notation/FundamentalSequence): define type of fundamental sequences We define `Sequence α` as the type of sequences with length 0, 1, or `ω`, and give a basic API. A subsequent PR will introduce the notion of a (countable and computable) fundamental sequence and establish basic results. The goal of this is to generalize [`ONote.fundamentalSequence`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/SetTheory/Ordinal/Notation.html#ONote.fundamentalSequence) to allow the construction of fundamental sequences for other ordinal notations. --- See [my ordinal notation repository](https://github.com/vihdzp/ordinal-notation/blob/a6fdd7fe7cb521e686ea271902e7e5496f1804d3/OrdinalNotation/Cantor.lean#L1218) for a demonstration of how this API looks in practice. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory t-order merge-conflict 174/1 Mathlib.lean,Mathlib/SetTheory/Ordinal/Notation/Cantor.lean,Mathlib/SetTheory/Ordinal/Notation/FundamentalSequence.lean 3 19 ['YnirPaz', 'b-mehta', 'github-actions', 'vihdzp'] nobody
182-73103
6 months ago
182-73103
6 months ago
52-25108
52 days
12054 adomani
author:adomani
feat: auto-bugs This PR introduces a linter for suggesting bugs in tactics. See * #12077 * #12083 * #12084 for some bugs exposed by the test suite. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict awaiting-author 737/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/MetaTesting.lean,scripts/noshake.json,test/MetaTesting.lean 5 20 ['adomani', 'eric-wieser', 'github-actions', 'joneugster', 'kim-em'] joneugster
assignee:joneugster
181-83198
6 months ago
181-83198
6 months ago
45-6057
45 days
5062 adomani
author:adomani
feat(Tactic/Prune + test/Prune): add `prune` tactic, for removing unnecessary hypotheses This tactic removes very conservatively all local declarations that 1. do not appear in the main goal, 2. do not appear in a declaration that appears in the main goal, 3. ... and so on recursively. The main motivation for this tactic is that all available variables in the current `namespace/section` appear in the goal state, not just the ones that are needed for the statement to type-check. Using `prune` mitigates this situation. The tactic also admits an optional natural number argument: `prune n` removes all variables that have not appeared at the `(n+1)`-st stage in the above list. Thus, `prune 0` only leaves the variables needed for the statement to type-check. Also, for sufficiently large `n`, `prune n` is a synonym for `prune`. [Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/substitute.20for.20.60include.2Fomit.60.3F) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict modifies-tactic-syntax awaiting-author 181/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Prune.lean,test/Prune.lean 4 5 ['adomani', 'j-loreaux', 'kmill'] nobody
181-50505
6 months ago
181-50505
6 months ago
195-56460
195 days
22169 JLimperg
author:JLimperg
Aesop forward benchmark: forward no-precomp naive Not a real PR, just for benchmarking. merge-conflict 31/27 Mathlib/Data/List/InsertIdx.lean,Mathlib/Tactic/Recall.lean,Mathlib/Topology/List.lean,Test.lean,lake-manifest.json,lakefile.lean,lean-toolchain 7 6 ['JLimperg', 'github-actions', 'leanprover-bot'] nobody
180-16169
5 months ago
180-28223
5 months ago*
0-0
0 seconds*
21433 grunweg
author:grunweg
chore: change more lemmas to be about enorm instead of nnnorm --- - [x] depends on: #21782 - [x] depends on: #21783 (and this PR modifies the file split, and file splits are painful to merge over) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) carleson t-measure-probability merge-conflict awaiting-author 172/71 Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/ContinuousFunctions.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean 9 18 ['RemyDegenne', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib4-dependent-issues-bot'] nobody
180-15358
5 months ago
182-48842
6 months ago
2-42743
2 days
22171 JLimperg
author:JLimperg
Aesop forward benchmark: forward no-precomp naive rpinf pr-release Not a real PR, just for benchmarking. merge-conflict 31/27 Mathlib/Data/List/InsertIdx.lean,Mathlib/Tactic/Recall.lean,Mathlib/Topology/List.lean,Test.lean,lake-manifest.json,lakefile.lean,lean-toolchain 7 5 ['JLimperg', 'github-actions', 'leanprover-bot'] nobody
179-24042
5 months ago
180-27786
5 months ago*
0-0
0 seconds*
21099 chrisflav
author:chrisflav
chore(RingTheory/Generators): use unification hints for variables and relations When working with generators and presentations, we rely on the `MvPolynomial` API, but since the type of variables is bundled in `Generators R S`, many lemmas don't apply with `rw` or `simp`, because they can't see through the definition of `vars` in constructions such as `Generators.comp` and `Generators.localizationAway`. A possible approach is to make all of these constructions `abbrev`s, but this causes `simp` to also unfold `val` which is not always desirable. More generally, it is then harder to predict how instance search and `simp` behave. This approach is tried in #21050, but causes many regressions. This approach is less invasive, as it uses `unif_hint` to unify the `vars` (and `rels`) fields of constructions with the correct type. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
231/91 Mathlib/Algebra/Module/Presentation/Differentials.lean,Mathlib/RingTheory/Generators.lean,Mathlib/RingTheory/Kaehler/JacobiZariski.lean,Mathlib/RingTheory/Presentation.lean,Mathlib/RingTheory/Smooth/StandardSmooth.lean 5 16 ['chrisflav', 'erdOne', 'github-actions', 'leanprover-bot', 'mattrobball'] nobody
178-31939
5 months ago
178-31939
5 months ago
27-75210
27 days
21269 CharredLee
author:CharredLee
(WIP) feat (CategoryTheory/Topos): Add topos theory content 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/) new-contributor t-category-theory merge-conflict awaiting-author WIP 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 ['CharredLee', 'gio256', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot'] nobody
177-6642
5 months ago
177-6642
5 months ago
0-13879
3 hours
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/) t-measure-probability merge-conflict please-adopt awaiting-author 503/0 Mathlib.lean,Mathlib/MeasureTheory/Measure/Tight.lean 2 34 ['EtienneC30', 'JADekker', 'github-actions', 'sgouezel'] nobody
176-35535
5 months ago
176-35535
5 months ago
2-604
2 days
20454 urkud
author:urkud
chore(TangentCone): review names Also add some `@[simp]` attrs. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict 201/139 Mathlib/Analysis/Analytic/IteratedFDeriv.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/Deriv/Abs.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Equiv.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Calculus/FDeriv/RestrictScalars.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean,Mathlib/Analysis/Calculus/MeanValue.lean,Mathlib/Analysis/Calculus/TangentCone.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/Calculus/VectorField.lean,Mathlib/Analysis/Convex/SpecificFunctions/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/InverseDeriv.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/Manifold/MFDeriv/UniqueDifferential.lean,Mathlib/Geometry/Manifold/VectorBundle/Tangent.lean,Mathlib/MeasureTheory/Integral/FundThmCalculus.lean 25 3 ['github-actions', 'sgouezel', 'urkud'] nobody
175-61938
5 months ago
175-61938
5 months ago
12-11675
12 days
21608 JLimperg
author:JLimperg
Aesop forward benchmark: forward no-precomp rpinf pr-release Not a real PR, just for benchmarking. merge-conflict 38/29 Mathlib/Data/List/InsertIdx.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/Tactic/Recall.lean,Mathlib/Topology/List.lean,Test.lean,lake-manifest.json,lakefile.lean,lean-toolchain 8 13 ['JLimperg', 'github-actions', 'leanprover-bot'] nobody
175-36671
5 months ago
192-30735
6 months ago*
0-0
0 seconds*
21609 JLimperg
author:JLimperg
Aesop forward benchmark: forward no-precomp Not a real PR, just for benchmarking. merge-conflict 38/29 Mathlib/Data/List/InsertIdx.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/Tactic/Recall.lean,Mathlib/Topology/List.lean,Test.lean,lake-manifest.json,lakefile.lean,lean-toolchain 8 13 ['JLimperg', 'github-actions', 'leanprover-bot'] nobody
175-35035
5 months ago
192-30599
6 months ago*
0-0
0 seconds*
16550 awainverse
author:awainverse
feat(ModelTheory): A typeclass for languages expanding other languages Defines `L.Expands L'` to consist of a privileged injective inclusion, `L'.Inclusion L`, from `L'` to `L`, corresponding to one language being a subset of the other in set-theoretic foundations. Replaces `L.IsOrdered` with `L.Expands Language.order` and `L.OrderLHom` with `Language.order.Inclusion L` Redefines `leSymb` in terms of `Language.order.Inclusion L` Deletions: - `FirstOrder.Language.IsOrdered` - `FirstOrder.Language.OrderLHom` - `instance : IsOrdered Language.order` - `sum.instIsOrdered` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic merge-conflict awaiting-author 97/43 Mathlib/ModelTheory/LanguageMap.lean,Mathlib/ModelTheory/Order.lean 2 9 ['YaelDillies', 'awainverse', 'github-actions'] nobody
175-14406
5 months ago
175-14407
5 months ago
0-61590
17 hours
13686 fpvandoorn
author:fpvandoorn
feat: some finset lemmas * From the Sobolev inequality project * The increase in imports in `Mathlib.Data.Finset.Update` is not problematic: it is only imported in MeasureTheory files. Co-authored-by: Heather Macbeth 25316162+hrmacbeth@users.noreply.github.com --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict awaiting-author 69/7 Mathlib/Data/Finset/Basic.lean,Mathlib/Data/Finset/Lattice/Lemmas.lean,Mathlib/Data/Finset/Update.lean 3 7 ['YaelDillies', 'fpvandoorn', 'github-actions', 'urkud'] nobody
174-14037
5 months ago
174-14037
5 months ago
98-49006
98 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) ``` new-contributor t-algebra t-category-theory merge-conflict
label:t-algebra$
47/8 Mathlib/RepresentationTheory/FDRep.lean 1 19 ['github-actions', 'grhkm21', 'joelriou', 'kim-em', 'mathlib-bors'] nobody
173-48968
5 months ago
173-48968
5 months ago
125-12755
125 days
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/) new-contributor t-algebra merge-conflict awaiting-author
label:t-algebra$
91/0 Mathlib.lean,Mathlib/GroupTheory/SpecificGroups/BraidGroup/Basic.lean 2 22 ['github-actions', 'hannahfechtner', 'jcommelin', 'joelriou'] nobody
172-33279
5 months ago
172-33279
5 months ago
15-40648
15 days
10823 alexkeizer
author:alexkeizer
feat: convert curried type functions into uncurried type functions Adds a conversion `TypeFun.ofCurried : CurriedTypeFun.{u, v} n -> TypeFun.{u, v} n`, where `CurriedTypeFun.{u,v} n` is a (def-eq) abbreviation for `Type u -> ... -> Type u -> Type v`, i.e., the type of *curried* functions taking `n` arguments of type `Type u` to return an element of `Type v`, and `TypeFun.{u, v} n` is an abbreviation for `TypeVec.{u} n -> Type v`. It is generally more idiomatic to define type functions with multiple arguments in the curried style, but in the QPF development we use the uncurried equivalent `TypeVec n -> Type _`. Thus, having a canonical conversion from curried functions to uncurried gives us a canonical way to ask if a curried type function, say `Sum` is a QPF (namely, "is there an instance of `MvQPF (TypeFun.ofCurried Sum)`"). --- This is code ported from https://github.com/alexkeizer/QpfTypes, where this conversion is crucial in presenting a high-level interface, in terms of idiomatic, curried, type functions to users, while being built on QPFs (and thus, uncurried typefunctions) underneath. There is also a conversion in the other direction, from uncurried to curried, which I've decided to PR later, to keep this PR smaller and hopefully easier to review. - [x] depends on: #10818 (all changes to `Fin2.lean` are part of 10818, not the current PR) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict awaiting-author 66/0 Mathlib.lean,Mathlib/Data/TypeFun.lean 2 9 ['YaelDillies', 'alexkeizer', 'github-actions', 'leanprover-community-mathlib4-bot'] nobody
172-26999
5 months ago
unknown
unknown
13648 urkud
author:urkud
feat(Topology/Module): generalize `ContinuousLinearMap.compSL` Generalize `ContinuousLinearMap.compSL` to topological vector spaces. --- - [ ] depends on: #15217 This PR is not polished yet, but the main statement is there. @ADedecker This answers a question I asked you on Zulip a few months ago. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-analysis t-topology merge-conflict awaiting-author
label:t-algebra$
23/18 Mathlib/Analysis/NormedSpace/OperatorNorm/Bilinear.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean 2 5 ['fpvandoorn', 'github-actions', 'mathlib4-dependent-issues-bot', 'urkud'] nobody
170-50089
5 months ago
170-50089
5 months ago
0-0
0 seconds
21684 mattrobball
author:mattrobball
draft merge-conflict 13/11 Mathlib/CategoryTheory/Category/Cat/AsSmall.lean,Mathlib/CategoryTheory/Closed/FunctorToTypes.lean,Mathlib/CategoryTheory/Closed/Types.lean,Mathlib/FieldTheory/IsAlgClosed/Classification.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/Topology/Category/LightProfinite/Basic.lean,lean-toolchain 7 4 ['github-actions', 'leanprover-bot', 'mattrobball'] nobody
170-43659
5 months ago
170-43659
5 months ago
0-0
0 seconds
21722 mattrobball
author:mattrobball
test merge-conflict 76/23 Mathlib/CategoryTheory/Category/Cat/AsSmall.lean,Mathlib/CategoryTheory/Closed/FunctorToTypes.lean,Mathlib/CategoryTheory/Closed/Types.lean,Mathlib/FieldTheory/IsAlgClosed/Classification.lean,Mathlib/Order/Hom/Lattice.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/Topology/Category/LightProfinite/Basic.lean,lean-toolchain,scratch.lean 9 4 ['github-actions', 'leanprover-bot', 'mattrobball'] nobody
170-43658
5 months ago
170-43658
5 months ago
0-0
0 seconds
22408 JLimperg
author:JLimperg
Aesop forward bench: precomp only rpinf --- Not a real PR (yet), just for benchmarking. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) dependency-bump merge-conflict 5/3 lake-manifest.json,lakefile.lean,scripts/bench/fake-root/lib/lean/libleanshared.so,scripts/bench/run 4 6 ['JLimperg', 'github-actions', 'leanprover-bot'] nobody
170-38493
5 months ago
170-38493
5 months ago
0-0
0 seconds
21339 vihdzp
author:vihdzp
fix(Data/List/Lex): remove duplicate `List.LE` instance Mathlib currently duplicates the Lean core instance for `≤` in lists in an incompatible way. We delete this duplicate instance. See [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Two.20.60List.2ELE.60.20instances.3F/near/497241115). --- This is a very quick and dirty fix. Core Lean provides all of the theorems we need to prove `≤` forms a linear order, but it provides them in terms of `Std` relation typeclasses which currently see no use in Mathlib. I've added the instances that were required to get the list theorems working. In the future, we really ought to unify the core and Mathlib relation typeclasses. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict 24/22 Mathlib/Data/List/Lex.lean,Mathlib/Data/String/Basic.lean,Mathlib/Topology/Category/Profinite/Nobeling.lean 3 1 ['github-actions'] nobody
170-30831
5 months ago
170-30831
5 months ago
16-65973
16 days
16421 FR-vdash-bot
author:FR-vdash-bot
feat: `QuotLike` This typeclass is primarily for use by type synonyms of `Quot` and `Quotient`. Using `QuotLike` API for type synonyms of `Quot` and `Quotient` will avoid defeq abuse caused by directly using `Quot` and `Quotient` APIs. --- Some of the naming may need to be discussed. For example, `⟦·⟧` is currently called `mkQ` in names. This distinguishes it from other `.mk`s and makes it possible to write the quotient map as `mkQ` `mkQ'` `mkQ_ h`. But this will also require changing the old lemma names. [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/migrate.20to.20.60QuotLike.60.20API) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data RFC merge-conflict awaiting-author 735/1 Mathlib.lean,Mathlib/Data/QuotLike.lean,Mathlib/Logic/Relation.lean,test/QuotLike.lean 4 7 ['FR-vdash-bot', 'YaelDillies', 'github-actions', 'urkud'] nobody
169-77546
5 months ago
169-77546
5 months ago
58-8650
58 days
16837 vihdzp
author:vihdzp
feat(Data/List/SplitBy): characterization of `List.splitBy` --- - [x] depends on: #16818 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict awaiting-author 151/9 Mathlib/Data/List/Flatten.lean,Mathlib/Data/List/SplitBy.lean 2 13 ['YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'vihdzp'] nobody
169-77546
5 months ago
169-77546
5 months ago
9-85039
9 days
19700 vihdzp
author:vihdzp
chore(SetTheory/Ordinal/Basic): tweak `type r = 0`, `type r = 1`, etc. lemmas We give shorter names to these lemmas (e.g. `type_eq_zero` instead of `type_eq_zero_of_empty`), and deprecate a bunch of duplicates. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory awaiting-CI merge-conflict 51/38 Mathlib/SetTheory/Ordinal/Basic.lean 1 1 ['github-actions'] nobody
169-77299
5 months ago
169-77299
5 months ago
0-0
0 seconds
21959 BGuillemet
author:BGuillemet
feat(Topology/ContinuousMap): Stone-Weierstrass theorem for MvPolynomial Add the subalgebra of multivariate polynomials and prove it separates points, on the same model as `ContinuousMap/Polynomial.lean`. Prove the Stone-Weierstrass theorem and some variations for multivariate polynomials. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology merge-conflict 285/1 Mathlib.lean,Mathlib/Topology/ContinuousMap/MvPolynomial.lean,Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean 3 1 ['github-actions'] nobody
168-34982
5 months ago
168-34982
5 months ago
16-76141
16 days
19177 adomani
author:adomani
test: the findDefEqAbuse linter This is a prototype, as per [this Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Locating.20defeq.20abuse) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import merge-conflict 126/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/FindDefEqAbuse.lean,MathlibTest/FindDefEqAbuse.lean 5 1 ['github-actions'] nobody
166-36995
5 months ago
166-36995
5 months ago
0-0
0 seconds
20750 adomani
author:adomani
feat: the envLinter syntax linter The `envLinter` syntax linter emits a warning at the end of a file if `#lint` reports an error. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-linter merge-conflict 69/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/EnvLinter.lean,MathlibTest/EnvLinter.lean 5 15 ['adomani', 'github-actions', 'grunweg'] nobody
166-36749
5 months ago
166-36749
5 months ago
51-71438
51 days
22359 adomani
author:adomani
feat(whitespace): do not allow indented doc-strings In a doc-string, Do not allow the first character after the first line break to be a space. --- There are approximately 2.5k exceptions. I think that they should be unindented, judging from the sample that I looked at, but won't act on it, unless there is a clear plan to fix and merge this modification! --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-linter merge-conflict WIP 222/70 Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Mathlib.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveAdjunction.lean,Mathlib/Analysis/Asymptotics/ExpGrowth.lean,Mathlib/Data/Matroid/Circuit.lean,Mathlib/Init.lean,Mathlib/Lean/Meta/RefinedDiscrTree/Encode.lean,Mathlib/LinearAlgebra/Dimension/StrongRankCondition.lean,Mathlib/LinearAlgebra/LinearIndependent/Basic.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean,Mathlib/Tactic.lean,Mathlib/Tactic/FunProp/Decl.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/DocString.lean,Mathlib/Topology/Path.lean,Mathlib/Topology/UnitInterval.lean,MathlibTest/LintDocstring.lean,lakefile.lean 20 1 ['github-actions'] nobody
166-35914
5 months ago
166-35914
5 months ago
0-0
0 seconds
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/) slow-typeclass-synthesis t-algebra t-analysis merge-conflict
label:t-algebra$
28/0 Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean 2 9 ['FR-vdash-bot', 'github-actions', 'jcommelin', 'leanprover-bot'] nobody
164-6409
5 months ago
164-6409
5 months ago
130-5197
130 days
16944 YnirPaz
author:YnirPaz
feat(SetTheory/Cardinal/Cofinality): lemmas about limit ordinals and cofinality Prove that a singular cardinal has a limit aleph index and that a limit ordinal and positive cofinality. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict WIP 18/0 Mathlib/SetTheory/Cardinal/Cofinality.lean 1 8 ['YnirPaz', 'github-actions', 'vihdzp'] nobody
162-85685
5 months ago
162-85685
5 months ago
1-84890
1 day
17368 Felix-Weilacher
author:Felix-Weilacher
feat(Topology/Baire/BaireMeasurable): add the Kuratowski-Ulam theorem Add the Kuratowski-Ulam theorem, which one can think of as a "Fubini" for Baire category. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict 187/1 Mathlib/MeasureTheory/MeasurableSpace/Basic.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Topology/Baire/BaireMeasurable.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/GDelta/Basic.lean 5 6 ['Felix-Weilacher', 'github-actions', 'urkud'] nobody
162-30478
5 months ago
162-30478
5 months ago
72-13986
72 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/) t-meta merge-conflict 49/49 Cache/Hashing.lean,Cache/IO.lean,lake-manifest.json 3 8 ['digama0', 'eric-wieser', 'github-actions', 'leanprover-community-mathlib4-bot'] nobody
161-6141
5 months ago
342-58491
11 months ago
119-35643
119 days
22434 qawbecrdtey
author:qawbecrdtey
feat(Mathlib/Analysis/Normed/Lp/WithLp): Added more instances for `WithLp` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict awaiting-author 51/22 Mathlib/Analysis/Normed/Lp/WithLp.lean 1 11 ['eric-wieser', 'github-actions', 'leanprover-bot', 'qawbecrdtey'] nobody
160-35580
5 months ago
160-35580
5 months ago
1-79072
1 day
15578 znssong
author:znssong
feat(Function): Fixed points of function `f` with `f(x) >= x` We added some lemmas of fixed points of function `f` with `f(x) >= x`, where `f : α → α` is a function on a finite type `α`. This will be needed in proof of Bondy-Chvátal theorem. --- See also branch `meow-sister/BondyChvatal`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis merge-conflict awaiting-author 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
160-30808
5 months ago
160-30808
5 months ago
29-48368
29 days
22517 j-loreaux
author:j-loreaux
feat: `ℕ+` powers in semigroups --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import merge-conflict WIP 275/28 Mathlib.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/PNatPowAssoc.lean,Mathlib/Algebra/Group/PPow.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/Algebra/Ring/ULift.lean,Mathlib/Data/Num/Lemmas.lean,Mathlib/Data/Real/Basic.lean,Mathlib/Data/ZMod/Defs.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/NumberTheory/Dioph.lean,Mathlib/Tactic/ToAdditive/Frontend.lean 14 4 ['github-actions', 'j-loreaux', 'leanprover-bot'] nobody
159-65404
5 months ago
159-65405
5 months ago
0-27
27 seconds
22805 ScottCarnahan
author:ScottCarnahan
feat (FieldTheory/Finite): fixed points of frobenius This PR identifies the prime field with the fixed points of frobenius. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
325/7 Mathlib/Algebra/Algebra/ZMod.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/FieldTheory/Finite/GaloisField.lean 4 1 ['github-actions'] nobody
158-41520
5 months ago
158-41520
5 months ago
0-0
0 seconds
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/) t-algebra merge-conflict
label:t-algebra$
133/67 Mathlib/GroupTheory/Frattini.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/SpecificGroups/ZGroup.lean 3 1 ['github-actions'] nobody
156-57237
5 months ago
156-57237
5 months ago
10-48025
10 days
13999 adomani
author:adomani
feat: a linter to flag potential confusing conventions Currently, the linter flags all uses of * `a - b` where `a b : Nat`; * `a / b` where `a b : Nat` or `a b : Int`; * `a / 0` more or less whenever the type of `a` has a `0` and a division. This comes up often when starting to use Lean and hopefully the flag can help mitigate initial confusions. When the local context contains the relevant inequality/divisibility hypothesis, the linter is quiet. A recent [Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/113489-new-members/topic/not.20understanding.20deliberate.20error.20with.20.60ring.60.20over.20.E2.84.95/near/445879310) --- To make sure that the linter does not produce errors, #14007 activates the linter on "all" of mathlib. The expectation is that no error is thrown, just warnings. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter merge-conflict awaiting-author 251/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/Papercut.lean,MathlibTest/Papercut.lean 4 24 ['Julian', 'YaelDillies', 'adomani', 'eric-wieser', 'github-actions'] nobody
156-2871
5 months ago
156-2871
5 months ago
7-47472
7 days
15991 vihdzp
author:vihdzp
feat(SetTheory/Ordinal/CantorNormalForm): alternate CNF recursion principle The idea of this recursion principle is that you can build an ordinal by adding one power of `b` at a time, as long as `1 < b ≤ ω`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory t-logic merge-conflict awaiting-author 43/0 Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/CantorNormalForm.lean,Mathlib/SetTheory/Ordinal/Exponential.lean 3 8 ['YaelDillies', 'eric-wieser', 'github-actions', 'vihdzp'] nobody
155-51055
5 months ago
155-51055
5 months ago
91-50443
91 days
17758 vihdzp
author:vihdzp
feat(SetTheory/Ordinal/ENat): `Ordinal.toENat` We essentially copy the `Cardinal/ENat` file but make it for ordinals instead. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict 300/0 Mathlib.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/SetTheory/Cardinal/ENat.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/ENat.lean 6 2 ['Command-Master', 'github-actions', 'vihdzp'] nobody
155-50584
5 months ago
155-50584
5 months ago
126-40106
126 days
19698 vihdzp
author:vihdzp
refactor(SetTheory/Cardinal/Cofinality): redefine `Order.cof` We redefine `Order.cof` as a function on preorders, rather than one well-ordered relations. This allows us to use the `IsCofinal` API, alongside all the other goodies that come from a proper order structure. Finally, we clean up the `Ordinal.cof` API by relying on order results, rather than trying to haphazardly treat ordinals as sets. --- - [ ] depends on: #21972 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict WIP 502/583 Mathlib/Order/Cofinal.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean,Mathlib/SetTheory/Ordinal/Basic.lean 4 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
155-48595
5 months ago
155-48595
5 months ago
0-0
0 seconds
21856 vihdzp
author:vihdzp
chore(SetTheory/Cardinal/Basic): generalize universes of `sum_le_iSup_lift` We prove a more general version of the lemma which talks about families `ι → Cardinal.{v}` with `Small.{v} ι`, rather than just families `f : ι → Cardinal.{max u v}` with `ι : Type v`. We keep the old version, as it's seemingly more useful under common circumstances. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict 16/10 Mathlib/SetTheory/Cardinal/Basic.lean 1 6 ['b-mehta', 'github-actions', 'vihdzp'] nobody
155-48471
5 months ago
155-48471
5 months ago
32-26420
32 days
20967 joneugster
author:joneugster
tracking(CategoryTheory/Enriched/Limits): add conical limits Tracking PR for adding conical limits Co-authored-by: Emily Riehl Co-authored-by: Dagur Asgeirsson --- - [x] depends on: #20904 - [x] depends on: #20907 - [x] depends on: #20959 - [x] depends on: #20963 - [x] depends on: #20964 - [x] depends on: #20965 - content source: emilyriehl/infinity-cosmos#78 New implementation (not reflected on this branch yet): - [x] depends on: #22917 - [x] depends on: #22921 - [ ] depends on: #22923 - [ ] depends on: #22924 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) infinity-cosmos t-category-theory merge-conflict WIP 619/1 Mathlib.lean,Mathlib/CategoryTheory/Enriched/Limits/HasConicalLimits.lean,Mathlib/CategoryTheory/Enriched/Limits/HasConicalProducts.lean,Mathlib/CategoryTheory/Enriched/Limits/HasConicalPullbacks.lean,Mathlib/CategoryTheory/Enriched/Limits/HasConicalTerminal.lean,Mathlib/CategoryTheory/Enriched/Limits/IsConicalLimit.lean,Mathlib/CategoryTheory/Enriched/Limits/IsConicalTerminal.lean,Mathlib/CategoryTheory/Enriched/Ordinary/Basic.lean 8 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
155-8477
5 months ago
155-8479
5 months ago
0-0
0 seconds
19013 quangvdao
author:quangvdao
feat(Algebra/BigOperators/Fin): Add `finSigmaFinEquiv` This PR adds `finSigmaFinEquiv` which is the equivalence `(i : Fin m) × Fin (n i) ≃ Fin (∑ i, n i)`. This is the dependent version of `finProdFinEquiv`. CI should be passing, but there are two things I'd like feedback on: 1. When defining the mappings, I have to consider `m = 0` separately. Is there a more uniform definition? 2. I'm proving this as a step toward defining `Fin.join`, which is the analogue of `List.join`. I can now technically define `Fin.join` as: ``` variable {a : Fin n → ℕ} {α : (i : Fin n) → (j : Fin (a i)) → Sort*} def join (v : (i : Fin n) → (j : Fin (a i)) → α i j) (k : Fin (∑ i, a i)) : α (finSigmaFinEquiv.invFun k).1 (finSigmaFinEquiv.invFun k).2 := v (finSigmaFinEquiv.invFun k).1 (finSigmaFinEquiv.invFun k).2 ``` but this looks horrible. This highly motivates refactoring `invFun` as two new definitions: ``` def func1 {n : ℕ} (a : Fin n → ℕ) (k : Fin (∑ i, a i)) : Fin n := sorry def func2 {n : ℕ} (a : Fin n → ℕ) (k : Fin (∑ i, a i)) : Fin (a (func1 a k)) := sorry ``` I'm not sure what to call these functions. The analogues in the non-dependent case are `divNat` and `modNat`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict awaiting-author
label:t-algebra$
92/16 Mathlib/Algebra/BigOperators/Fin.lean 1 14 ['YaelDillies', 'eric-wieser', 'github-actions', 'quangvdao'] nobody
154-24904
5 months ago
154-24904
5 months ago
3-28829
3 days
20850 vihdzp
author:vihdzp
chore(Logic/Equiv/Basic): extend `sumCompl` API We make a couple of redundant arguments implicit, rename two misnamed theorems, and add two new ones. --- I'm not sure if the theorems I renamed actually had the correct name; if they did, then [`Equiv.Set.sumCompl_symm_apply_of_mem`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Logic/Equiv/Set.html#Equiv.Set.sumCompl_symm_apply_of_mem) and [`Equiv.Set.sumCompl_symm_apply_of_not_mem`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Logic/Equiv/Set.html#Equiv.Set.sumCompl_symm_apply_of_not_mem) should be renamed instead to match. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data t-logic merge-conflict awaiting-author 21/6 Mathlib/Logic/Equiv/Basic.lean,Mathlib/Logic/Equiv/Fintype.lean 2 5 ['eric-wieser', 'github-actions', 'grunweg', 'kbuzzard', 'vihdzp'] nobody
153-72593
5 months ago
153-72593
5 months ago
28-73677
28 days
20389 eric-wieser
author:eric-wieser
feat: generalize results to `WithLp 0` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict 116/53 Mathlib/Analysis/Normed/Lp/PiLp.lean 1 1 ['github-actions'] nobody
153-13452
5 months ago
153-13452
5 months ago
0-0
0 seconds
19189 YnirPaz
author:YnirPaz
feat(SetTheory/Ordinal/Arithmetic): order isomorphism between omega and the natural numbers --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict awaiting-author 44/0 Mathlib/Order/SuccPred/Limit.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean 2 21 ['YaelDillies', 'YnirPaz', 'github-actions', 'vihdzp'] nobody
152-80937
4 months ago
152-80937
4 months ago
47-37012
47 days
19227 adomani
author:adomani
fix(CI): unwrap `lake test` in problem matcher ... and also add a `#guard_msgs` in `AssertImported` test, so that `lake test` properly fails. [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/CI.3A.20noisy.20.22test.20mathlib.22/near/483126955) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI merge-conflict awaiting-author 9/20 .github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,MathlibTest/AssertImported.lean 5 2 ['bryangingechen', 'github-actions'] nobody
151-43940
4 months ago
151-43941
4 months ago
22-71271
22 days
20874 grunweg
author:grunweg
chore(nolint.yml): use shallow clones This should be sufficient, and be slightly faster on CI. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI merge-conflict awaiting-author 0/3 .github/workflows/nolints.yml 1 2 ['bryangingechen', 'github-actions'] nobody
151-43695
4 months ago
151-43695
4 months ago
0-15573
4 hours
15774 kkytola
author:kkytola
feat: Topology on `ENat` This PR may contain some results that are not in the PR that adds a toppology on `ENat`. --- The immediate motivation is to be able to make the right continuity statement of the extended floor function on `ENNReal`, when this floor function is made `ENat`valued as suggested in the PR review of #15269. The API here is modelled on the early parts of [the corresponding ENNReal file](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Instances/ENNReal.html#top), although much of this case is more trivial. - [x] depends on: #15380 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order t-topology merge-conflict WIP 161/9 Mathlib/Data/ENat/Basic.lean,Mathlib/Topology/Instances/ENat.lean 2 4 ['YaelDillies', 'github-actions', 'leanprover-community-mathlib4-bot'] nobody
147-1472
4 months ago
147-1472
4 months ago
0-6819
1 hour
18284 chrisflav
author:chrisflav
feat(AlgebraicGeometry): relative gluing of schemes We show https://stacks.math.columbia.edu/tag/01LH using #14208. This shall be used to construct the relative spectrum of a quasi-coherent algebra. --- - [ ] depends on: #14208 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry merge-conflict WIP 1393/7 Mathlib.lean,Mathlib/AlgebraicGeometry/Gluing.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/AlgebraicGeometry/RelativeGluing.lean,Mathlib/AlgebraicGeometry/Sites/Representability.lean,Mathlib/CategoryTheory/Functor/FullyFaithful.lean,Mathlib/CategoryTheory/Limits/Shapes/Types.lean,Mathlib/CategoryTheory/MorphismProperty/Representable.lean 8 n/a ['github-actions', 'joelriou', 'mathlib4-dependent-issues-bot'] nobody
146-24224
4 months ago
unknown
unknown
16810 urkud
author:urkud
feat: define `(a : ENat) ^ (b : ENat)` The definition agrees with `Cardinal.toENat`, i.e., `#(α → β) = #β ^ #α`, where `#` is the not-yet-defined `ENat.card α = Cardinal.toENat (Cardinal.mk α)`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory t-data merge-conflict 51/0 Mathlib.lean,Mathlib/Data/ENat/Pow.lean 2 1 ['github-actions'] nobody
145-67065
4 months ago
145-67065
4 months ago
0-0
0 seconds
16009 Command-Master
author:Command-Master
acyclic graph --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics merge-conflict WIP 232/0 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean 1 1 ['github-actions'] nobody
145-36021
4 months ago
145-36021
4 months ago
0-0
0 seconds
20613 grunweg
author:grunweg
chore: golf using `List.toArrayMap` --- Depends on batteries#1090 landing in mathlib. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import merge-conflict 27/21 Cache/Main.lean,Cache/Requests.lean,Mathlib/Lean/Meta/RefinedDiscrTree/Lookup.lean,Mathlib/Tactic/DeriveTraversable.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/MoveAdd.lean,Mathlib/Tactic/ToAdditive/Frontend.lean,Mathlib/Util/CompileInductive.lean,Mathlib/Util/GetAllModules.lean,Mathlib/Util/Notation3.lean,scripts/autolabel.lean 11 2 ['github-actions', 'vihdzp'] nobody
143-438
4 months ago
143-438
4 months ago
22-82622
22 days
15989 vihdzp
author:vihdzp
feat(SetTheory/Ordinal/Principal): golf theorems on additively principal ordinals We add some new results on additively principal ordinals and use them to simplify existing theorems. --- - [x] depends on: #15990 - [x] depends on: #17740 - [x] depends on: #17741 - [x] depends on: #17742 - [x] depends on: #17842 - [x] depends on: #18902 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory t-logic merge-conflict awaiting-author 64/59 Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Notation.lean,Mathlib/SetTheory/Ordinal/Principal.lean 3 8 ['YaelDillies', 'github-actions', 'kbuzzard', 'mathlib4-dependent-issues-bot', 'vihdzp'] nobody
141-78681
4 months ago
141-78681
4 months ago
60-46576
60 days
22682 grunweg
author:grunweg
chore(Topology/Homeomorph): split out various constructions This makes `Homeomorph.lean` slightly more manageable, and also is a mild import reduction. edit: also split out IsHomeomorph, as this allows removing the dependencies on Constructions. Let's see if this gains much --- I don't feel strongly about this PR, but we might as well take it. - [ ] depends on: #22681 - [ ] depends on #22827 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-topology RFC merge-conflict 341/290 Mathlib.lean,Mathlib/Topology/Category/TopCat/ULift.lean,Mathlib/Topology/Homeomorph/Constructions.lean,Mathlib/Topology/Homeomorph/IsHomeomorph.lean,Mathlib/Topology/Homeomorph/Lemmas.lean,Mathlib/Topology/NoetherianSpace.lean 6 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
141-76444
4 months ago
141-76444
4 months ago
14-35834
14 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 new-contributor merge-conflict awaiting-author enhancement 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 n/a ['chrisflav', 'eric-wieser', 'github-actions', 'j-loreaux', 'markimunro'] nobody
141-66207
4 months ago
unknown
unknown
23514 eric-wieser
author:eric-wieser
refactor: smooth over Lattice/LinearOrder inheritance This fixes the forgetful inheritance in `CompleteLinearOrder` and `ConditionallyCompleteLinearOrder`, which previously did not carry `compare` fields. (edit: moved to #23515) The following is the inheritance diagram before, where the dotted lines are manual instances. Note that every lattice typeclass that extends `LinearOrder` has to implement another dotted line edge, and remember to copy all the necessary data fields. ```mermaid graph TD LinearOrder --> Min,Max; LinearOrder --> PartialOrder; Lattice --> PartialOrder; CompleteLinearOrder --> Lattice; ConditionallyCompleteLinearOrder --> Lattice; LinearOrder-.-> Lattice; CompleteLinearOrder -.-> LinearOrder; ConditionallyCompleteLinearOrder -.-> LinearOrder; ``` This change introduces two new auxiliary typeclasses, to encapsulate these troublesome edges. `LinearOrderedLattice` can be thought of as `LinearOrder`, but with `sup`/`inf` instead of `min`/`max`. This is crucial, because it ensures the duplicate fields are merged in `extends CompleteLattice X, LinearOrderedLattice X`, which would not be the case for `extends CompleteLattice X, LinearOrder X`. The result is: ```mermaid graph TD LinearOrder --> Min,Max; LinearOrder --> LinearOrderBase; LinearOrderBase --> PartialOrder; Lattice --> PartialOrder; LinearOrderedLattice -.-> LinearOrder; LinearOrderedLattice --> LinearOrderBase; LinearOrderedLattice --> Lattice; CompleteLinearOrder --> LinearOrderedLattice; ConditionallyCompleteLinearOrder --> LinearOrderedLattice; ``` --- - [ ] depends on: #23515 - [ ] [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 85/66 Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Order/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/Defs/LinearOrder.lean,Mathlib/Order/Lattice.lean 7 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
141-5637
4 months ago
141-5637
4 months ago
0-3019
50 minutes
19907 kim-em
author:kim-em
chore: remove some 'nonrec' `nonrec` is nearly always obfuscatory: it tells the reader "this apparent recursive call is not actually, but I'm going to leave you to guess what it is instead", when we could just disambiguate and tell the reader. However I'm not sure I have the patience to go through the remaining 600 uses. (A few are genuinely useful, but I guess less than 10%.) t-algebra merge-conflict
label:t-algebra$
38/38 Mathlib/Algebra/Category/ModuleCat/Differentials/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Differentials/Presheaf.lean,Mathlib/Algebra/CharP/ExpChar.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/ConvergentsEquiv.lean,Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/Quaternion.lean 7 2 ['github-actions', 'kim-em'] nobody
140-52410
4 months ago
140-52410
4 months ago
50-75559
50 days
20746 JLimperg
author:JLimperg
Aesop forward branch test --- This is not a real PR; I just want to benchmark this Aesop branch. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 14/6 .github/workflows/build.yml,Mathlib/Data/Nat/Prime/Defs.lean,lake-manifest.json,lakefile.lean,scripts/bench/fake-root/lib/lean/libleanshared.so,scripts/bench/run 6 11 ['JLimperg', 'Kha', 'github-actions', 'leanprover-bot'] nobody
140-49443
4 months ago
198-32396
6 months ago
0-0
0 seconds
22810 pechersky
author:pechersky
feat(Counterexamples): metric space not induced by norm Because the distance is not homogeneous --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #22845 t-analysis t-topology merge-conflict WIP 202/1 Counterexamples.lean,Counterexamples/NotBoundedSMulMetricSpace.lean,Mathlib.lean,Mathlib/Analysis/Normed/PiNat.lean,Mathlib/Topology/Algebra/Module/LocallyConvex.lean,Mathlib/Topology/MetricSpace/Polish.lean 6 21 ['eric-wieser', 'github-actions', 'loefflerd', 'mathlib4-dependent-issues-bot', 'pechersky'] nobody
140-42099
4 months ago
140-42127
4 months ago
0-84180
23 hours
13124 FR-vdash-bot
author:FR-vdash-bot
chore: remove `CovariantClass` and `ContravariantClass` Lean cannot handle `CovariantClass` and `ContravariantClass` correctly - TC slowness - [Zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/TC.20slowness) - https://github.com/leanprover-community/mathlib4/issues/6646#issuecomment-1691792488 - It may also have made #6326 fail. - Needs a weird hack to find instance: #9252 --- - [x] depends on: #13154 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict WIP 602/486 Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean,Mathlib/Algebra/Group/Subgroup/Pointwise.lean,Mathlib/Algebra/Group/Submonoid/Pointwise.lean,Mathlib/Algebra/Group/UniqueProds/Basic.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/Order/AddTorsor.lean,Mathlib/Algebra/Order/Group/Action.lean,Mathlib/Algebra/Order/Group/DenselyOrdered.lean,Mathlib/Algebra/Order/Group/Units.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled.lean,Mathlib/Algebra/Order/GroupWithZero/WithZero.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/OrderDual.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Algebra/Ring/Subring/Pointwise.lean,Mathlib/Algebra/Ring/Subsemiring/Pointwise.lean,Mathlib/Analysis/SumOverResidueClass.lean,Mathlib/Data/DFinsupp/Lex.lean,Mathlib/Data/Finsupp/Lex.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/GroupTheory/OrderOfElement.lean,Mathlib/Order/Filter/IsBounded.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Probability/Kernel/Defs.lean,Mathlib/RingTheory/Ideal/Pointwise.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/Topology/Algebra/Order/LiminfLimsup.lean 37 6 ['FR-vdash-bot', 'MichaelStollBayreuth', 'github-actions', 'leanprover-bot', 'mathlib4-dependent-issues-bot'] nobody
139-70076
4 months ago
139-70076
4 months ago
0-1769
29 minutes
20401 RemyDegenne
author:RemyDegenne
feat: add sigmaFinite_iUnion ```lean lemma sigmaFinite_iUnion (μ : Measure α) {s : ℕ → Set α} (h_meas : MeasurableSet (⋃ n, s n)) [∀ n, SigmaFinite (μ.restrict (s n))] : SigmaFinite (μ.restrict (⋃ n, s n)) ``` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability merge-conflict awaiting-author 37/28 Mathlib/MeasureTheory/Decomposition/Exhaustion.lean,Mathlib/MeasureTheory/Measure/Typeclasses.lean 2 4 ['RemyDegenne', 'github-actions', 'sgouezel'] nobody
138-75230
4 months ago
138-75231
4 months ago
0-73190
20 hours
19275 eric-wieser
author:eric-wieser
fix: if nolint files change, do a full rebuild Otherwise CI will succeed when removing entries from the file, but fail later when someone changes something unrelated. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict delegated 8/0 lakefile.lean 1 20 ['YaelDillies', 'adomani', 'eric-wieser', 'github-actions', 'grunweg', 'mathlib-bors'] nobody
138-39398
4 months ago
138-39398
4 months ago
0-214
3 minutes
12251 ScottCarnahan
author:ScottCarnahan
refactor(RingTheory/HahnSeries) : several generalizations This PR is a container for several smaller PRs that refactor and generalize the existing Hahn series theory. It is (I think) all we need from Hahn series to get a palatable theory of vertex algebras off the ground (other prerequisites from Lie algebras will eventually come in a different PR). Major changes include: - equivalence between iterated Hahn series and Hahn series on Lex products. - introduce `orderTop` and `leadingCoeff` functions. Here, `orderTop` is a `WithTop Γ`-valued version of `order` that does not need `[Zero Γ]` and `leadingCoeff` returns the coefficient of the minimal element of support (or zero if empty). - introduce ordered and cancellative vector addition classes together with some basic theory e.g., finiteness of antidiagonals for partially well-ordered sets. - `HahnSeries Γ R`-module structure on `HahnModule Γ' R V`, when `Γ` is an `OrderedCancelAddCommMonoid`, `Γ'` is a `PartialOrder` with `OrderedCancelVAdd Γ Γ'`, `R` is a semiring, and `V` is an `R`-module. - Move `AddVal` to a separate file - the underlying function is just `orderTop`, but the description of the valuation needs an additional import and an `IsDomain` hypothesis. Results that depended on `AddVal` are changed to use `orderTop` and generalized. --- - [x] depends on: #10781 [HahnSeries on Lex product] - [x] depends on: #10846 [HahnModule] - [x] depends on: #11965 [orderTop] - [x] depends on: #11979 [OrderedVAdd] - [x] depends on: #12996 [leadingTerm] - [x] depends on: #16649 - [x] depends on: #16701 - [x] depends on: #17004 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order t-algebra merge-conflict WIP
label:t-algebra$
1059/97 Mathlib/RingTheory/HahnSeries/Addition.lean,Mathlib/RingTheory/HahnSeries/Basic.lean,Mathlib/RingTheory/HahnSeries/HEval.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/HahnSeries/Summable.lean 6 n/a ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
138-25819
4 months ago
unknown
unknown
22727 grunweg
author:grunweg
feat: rewrite the isolated by and colon linters in Lean --- - depends on #22726 - depends on: #22728 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter merge-conflict awaiting-author 128/96 Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/Basic.lean,Mathlib/Data/Finsupp/AList.lean,Mathlib/Data/Int/ModEq.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/List/TFAE.lean,Mathlib/Data/Matroid/Circuit.lean,Mathlib/Data/Matroid/Minor/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/LinearAlgebra/TensorProduct/Vanishing.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Probability/Kernel/WithDensity.lean,Mathlib/RingTheory/NoetherNormalization.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Topology/Sets/OpenCover.lean,scripts/lint-style.py 15 3 ['adomani', 'github-actions', 'grunweg'] nobody
137-15116
4 months ago
137-15116
4 months ago
10-50342
10 days
22027 vihdzp
author:vihdzp
chore(SetTheory/Ordinal/FixedPoint); review `Ordinal.nfp` API This PR does the following: - add `iff` variants of various theorems, renaming some in the process - weaken some assumptions slightly - golf throughout --- - [x] depends on: #22017 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict 64/61 Mathlib/Logic/Equiv/List.lean,Mathlib/SetTheory/Ordinal/FixedPoint.lean 2 3 ['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot'] nobody
137-14989
4 months ago
139-68349
4 months ago
43-68322
43 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 new-contributor t-measure-probability t-analysis merge-conflict awaiting-author 60/1 Mathlib/MeasureTheory/Integral/FundThmCalculus.lean 1 3 ['github-actions', 'hrmacbeth', 'victorliu5296'] nobody
136-61196
4 months ago
136-61196
4 months ago
51-85104
51 days
22701 ctchou
author:ctchou
feat(Combinatorics): the Katona circle method This file formalizes the Katona circle method. From PlainCombi (LeanCamCombi): https://github.com/YaelDillies/LeanCamCombi/blob/master/LeanCamCombi/PlainCombi/KatonaCircle.lean Co-authored-by: Yaël Dillies new-contributor t-combinatorics merge-conflict 121/0 Mathlib.lean,Mathlib/Combinatorics/KatonaCircle.lean 2 1 ['github-actions'] nobody
136-10751
4 months ago
136-10751
4 months ago
30-8337
30 days
23402 mattrobball
author:mattrobball
refactor(LinearAlgebra.TensorProduct): make `TensorProduct` irreducible Mathematicians generally do not reason about tensor products using a particular model, precisely because the universal properties are more natural and the precise instantiations are too complicated for most purposes. Similarly, we shouldn't allow Lean to look inside `TensorProduct` and encourage building API on top of it to avoid definitional abuse. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
124/69 Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/LinearAlgebra/Alternating/DomCoprod.lean,Mathlib/LinearAlgebra/QuadraticForm/TensorProduct.lean,Mathlib/LinearAlgebra/QuadraticForm/TensorProduct/Isometries.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Subalgebra.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/RingTheory/Bialgebra/TensorProduct.lean,Mathlib/RingTheory/Coalgebra/TensorProduct.lean,Mathlib/RingTheory/Kaehler/CotangentComplex.lean,Mathlib/RingTheory/Kaehler/JacobiZariski.lean,Mathlib/RingTheory/LocalRing/Module.lean,Mathlib/RingTheory/TensorProduct/Basic.lean 15 8 ['eric-wieser', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mattrobball'] nobody
135-65456
4 months ago
135-65457
4 months ago
0-0
0 seconds
15943 urkud
author:urkud
feat: add `ProdQuotientMapSpace` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict 731/11 Mathlib.lean,Mathlib/Topology/Basic.lean,Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/Maps/ProdQuotient.lean 4 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
134-79568
4 months ago
134-79571
4 months ago
0-0
0 seconds
23786 grunweg
author:grunweg
Mr librarynote def 2b --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import merge-conflict WIP 510/484 Archive/Imo/Imo2019Q2.lean,Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/ZMod.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/Category/Ring/Limits.lean,Mathlib/Algebra/Colimit/Ring.lean,Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/Field/MinimalAxioms.lean,Mathlib/Algebra/Field/Subfield/Defs.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/End.lean,Mathlib/Algebra/Group/Action/Hom.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Equiv/Defs.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Group/InjSurj.lean,Mathlib/Algebra/Group/MinimalAxioms.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Scalar.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/End.lean,Mathlib/Algebra/GroupWithZero/Basic.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/GroupWithZero/Equiv.lean,Mathlib/Algebra/GroupWithZero/InjSurj.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/HierarchyDesign.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Lie/Derivation/Basic.lean,Mathlib/Algebra/Lie/OfAssociative.lean,Mathlib/Algebra/Module/Defs.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/NatInt.lean,Mathlib/Algebra/Module/Rat.lean,Mathlib/Algebra/Module/RingHom.lean,Mathlib/Algebra/Module/ZMod.lean,Mathlib/Algebra/NoZeroSMulDivisors/Basic.lean,Mathlib/Algebra/NoZeroSMulDivisors/Defs.lean,Mathlib/Algebra/Order/Field/Defs.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Group/InjSurj.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Hom/Basic.lean,Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/Algebra/Order/Module/Defs.lean,Mathlib/Algebra/Order/Monoid/Basic.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/ExistsOfLE.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/Star.lean,Mathlib/Algebra/Order/Star/Basic.lean,Mathlib/Algebra/Order/Sub/Basic.lean,Mathlib/Algebra/Ring/Action/Basic.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Algebra/Ring/InjSurj.lean,Mathlib/Algebra/Ring/MinimalAxioms.lean,Mathlib/Algebra/Ring/Subring/Defs.lean,Mathlib/Algebra/Ring/Subsemiring/Defs.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/Algebra/Star/StarAlgHom.lean,Mathlib/Algebra/Star/StarRingHom.lean,Mathlib/Algebra/Star/Subalgebra.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Note.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/Convex/Uniform.lean,Mathlib/Analysis/InnerProductSpace/Convex.lean,Mathlib/Analysis/InnerProductSpace/OfNorm.lean,Mathlib/Analysis/InnerProductSpace/Projection.lean,Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Group/Constructions.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Analysis/Normed/Group/Uniform.lean,Mathlib/Analysis/Normed/Lp/PiLp.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Analysis/Normed/Operator/LinearIsometry.lean,Mathlib/Analysis/Normed/Order/Lattice.lean,Mathlib/Analysis/Normed/Ring/Basic.lean,Mathlib/Analysis/RCLike/Lemmas.lean,Mathlib/CategoryTheory/Category/Basic.lean,Mathlib/CategoryTheory/Comma/Over/OverClass.lean,Mathlib/CategoryTheory/Monoidal/Skeleton.lean,Mathlib/CategoryTheory/MorphismProperty/Comma.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Data/FunLike/Fintype.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/Data/Nat/Cast/Defs.lean,Mathlib/Data/Nat/Init.lean 180 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
134-71669
4 months ago
134-71671
4 months ago
0-0
0 seconds
23411 PatrickMassot
author:PatrickMassot
chore: remove finiteness from Order.Filter.Lift Co-authored-by: Anatole Dedecker --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) longest-pole t-topology merge-conflict 48/21 Mathlib/Dynamics/TopologicalEntropy/DynamicalEntourage.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Finite.lean,Mathlib/Order/Filter/Lift.lean,Mathlib/Order/Filter/SmallSets.lean,Mathlib/Topology/Algebra/ContinuousMonoidHom.lean,Mathlib/Topology/Basic.lean 7 4 ['Vierkantor', 'github-actions', 'kim-em', 'leanprover-community-bot-assistant'] nobody
134-57465
4 months ago
134-77034
4 months ago
10-21608
10 days
22579 kvanvels
author:kvanvels
doc(Topology/Defs/Induced): fix comments on three functions related to RestrictGenTopology --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict awaiting-author documentation 10/9 Mathlib/Topology/Defs/Induced.lean,Mathlib/Topology/RestrictGen.lean 2 4 ['github-actions', 'kvanvels', 'leanprover-community-bot-assistant', 'urkud'] nobody
133-68099
4 months ago
133-68101
4 months ago
12-18679
12 days
19771 robertylewis
author:robertylewis
perf: qqify two functions in linarith --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict 17/24 Mathlib/Tactic/Linarith/Frontend.lean,Mathlib/Tactic/Linarith/Verification.lean 2 5 ['github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-bot-assistant', 'robertylewis'] nobody
133-47605
4 months ago
133-47606
4 months ago
0-0
0 seconds
22308 plp127
author:plp127
feat (Analysis/Convex): Generalize `Convex` lemmas to `StarConvex` This PR generalizes many lemmas assuming `Convex 𝕜 s` to assume `StarConvex 𝕜 0 s`. --- - [x] depends on: #22421 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis merge-conflict WIP 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
133-47116
4 months ago
133-47118
4 months ago
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/) new-contributor t-category-theory merge-conflict 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
133-43384
4 months ago
133-43385
4 months ago
58-20339
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/) large-import t-category-theory merge-conflict 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
133-43382
4 months ago
133-43384
4 months ago
43-83249
43 days
13653 adomani
author:adomani
feat: the unusedSetOptionIn linter --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-linter merge-conflict 199/0 Mathlib.lean,Mathlib/Algebra/Homology/HomotopyCategory/Triangulated.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/UnnecessarySetOptionIn.lean,MathlibTest/UnnecessarySetOptionIn.lean 6 15 ['adomani', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant'] nobody
132-74220
4 months ago
132-74222
4 months ago
0-0
0 seconds
19425 hrmacbeth
author:hrmacbeth
perf: gcongr forward-reasoning adjustment This PR changes the "forward-reasoning" component of `gcongr`, rendering it more efficient, particularly in problems with a large number of variables/hypotheses in the context. Previously `gcongr` attempted to match *every* `LocalDecl` against *every* node in the parse tree using *each* of the five implemented `@[gcongr_forward]` mini-tactics: matching directly, matching after applying `symm`, matching after applying `le_of_lt`, etc etc. The new algorithm filters out the non-Prop `LocalDecl`s, and also adjusts the `@[gcongr_forward]` extensions so that, rather than re-apply the relevant lemmas (`symm`, `le_of_lt`, etc) at every node in the parse tree, the lemmas are applied in advance to the `LocalDecl`s and the result (if successful) stored. The performance effect on mathlib as a whole is miniscule, but it speeds up the profiler's count of "tactic execution of Mathlib.Tactic.GCongr" in the newly-added test from 257 ms to 47 ms, and has a similar effect on real-life examples in an analysis project of mine. Co-authored-by: Mario Carneiro --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) (Note that Mario provided the ideas but not the code, so please review with appropriate diligence!) merge-conflict awaiting-author 130/59 Mathlib/Order/Lattice.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/GCongr/ForwardAttr.lean,MathlibTest/GCongr/inequalities.lean 4 17 ['Vierkantor', 'github-actions', 'hrmacbeth', 'leanprover-bot', 'leanprover-community-bot-assistant'] Vierkantor
assignee:Vierkantor
132-55916
4 months ago
132-55918
4 months ago
4-16654
4 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/) new-contributor t-topology merge-conflict awaiting-author 281/1 Mathlib.lean,Mathlib/Topology/Covering/Basic.lean,Mathlib/Topology/Covering/Lift.lean 3 9 ['alreadydone', 'github-actions', 'grunweg', 'vbeffara'] nobody
132-46112
4 months ago
132-46112
4 months ago
55-53553
55 days
22817 peabrainiac
author:peabrainiac
feat(CategoryTheory/Sites): local sites Defines local sites and shows that sheaves of types on them form a local topos, in that the global sections functor `Sheaf.Γ` has a right adjoint `Sheaf.codisc` that is fully faithful. --- - [x] depends on: #22816 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict WIP 263/0 Mathlib.lean,Mathlib/CategoryTheory/Limits/FunctorCategory/Shapes/Products.lean,Mathlib/CategoryTheory/Limits/Types.lean,Mathlib/CategoryTheory/Sites/GlobalSections.lean,Mathlib/CategoryTheory/Sites/LocalSite.lean,Mathlib/CategoryTheory/Sites/Sheaf.lean 6 4 ['github-actions', 'joelriou', 'mathlib4-dependent-issues-bot'] nobody
131-66121
4 months ago
131-69644
4 months ago
0-568
9 minutes
6252 michaellee94
author:michaellee94
feat(Geometry/Manifolds/Instances/Homeomorph): Homeomorphism maps `C^k` manifolds to `C^k` manifolds --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry merge-conflict WIP 116/0 Mathlib.lean,Mathlib/Geometry/Manifold/Instances/Graph.lean 2 2 ['leanprover-community-bot-assistant', 'michaellee94'] nobody
131-40577
4 months ago
131-40579
4 months ago
1-44375
1 day
23867 kim-em
author:kim-em
chore: remove unnecessary `[AtLeastTwo n]` hypotheses This PR is a follow-up to #23866, demonstrating that we can remove nearly all the `[AtLeastTwo n]` hypotheses across Mathlib. bench-after-CI merge-conflict 272/278 Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/CharP/Defs.lean,Mathlib/Algebra/CharP/Invertible.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/Group/Hom/End.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/Group/ULift.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/Module/NatInt.lean,Mathlib/Algebra/MonoidAlgebra/ToDirectSum.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Algebra/Order/Round.lean,Mathlib/Algebra/Order/SuccPred/WithBot.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/Eval/Defs.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Ring/Center.lean,Mathlib/Algebra/Star/Basic.lean,Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Complex/Log.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/Complex.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Data/Complex/Norm.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/ENNReal/Real.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/Data/Int/Log.lean,Mathlib/Data/Matrix/ConjTranspose.lean,Mathlib/Data/Matrix/Diagonal.lean,Mathlib/Data/Matrix/Kronecker.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Nat/Cast/Basic.lean,Mathlib/Data/Nat/Cast/Commute.lean,Mathlib/Data/Nat/Cast/Defs.lean,Mathlib/Data/Nat/Cast/Order/Basic.lean,Mathlib/Data/Nat/Cast/Order/Ring.lean,Mathlib/Data/Nat/Cast/Prod.lean,Mathlib/Data/Nat/Cast/Synonym.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/Rat/Lemmas.lean,Mathlib/Data/Real/Hyperreal.lean,Mathlib/Data/Real/Irrational.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/Data/ZMod/IntUnitsPower.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/Manifold/VectorField/Pullback.lean,Mathlib/LinearAlgebra/Dimension/Finrank.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Basic.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/Zsqrtd/Basic.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Continuum.lean,Mathlib/SetTheory/Cardinal/ENat.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/SetTheory/Cardinal/ToNat.lean,Mathlib/SetTheory/Game/Birthday.lean,Mathlib/SetTheory/Game/Short.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/Tactic/ENatToNat.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean,Mathlib/Topology/Algebra/SeparationQuotient/Basic.lean,Mathlib/Topology/ContinuousMap/Bounded/Normed.lean,Mathlib/Topology/Instances/ENNReal/Lemmas.lean 86 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
129-73354
4 months ago
129-73356
4 months ago
3-60152
3 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/) t-data merge-conflict 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
127-68348
4 months ago
127-68350
4 months ago
55-52030
55 days
13795 FR-vdash-bot
author:FR-vdash-bot
perf(Algebra/{Group, GroupWithZero, Ring}/InjSurj): reduce everything --- - [ ] depends on: #15192 - [ ] depends on: #15476 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
340/194 Mathlib/Algebra/Equiv/TransferInstance.lean,Mathlib/Algebra/Group/InjSurj.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/End.lean,Mathlib/Algebra/GroupWithZero/InjSurj.lean,Mathlib/Algebra/Module/Defs.lean,Mathlib/Algebra/Module/RingHom.lean,Mathlib/Algebra/Ring/InjSurj.lean,scripts/noshake.json 9 35 ['FR-vdash-bot', 'MichaelStollBayreuth', 'eric-wieser', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mattrobball'] nobody
127-60663
4 months ago
127-60665
4 months ago
52-31623
52 days
23509 eric-wieser
author:eric-wieser
refactor: Make ENNReal an abbrev The `Coe` instance becomes `CoeTC` to match what we do for `WithTop` (such that the priority kicks in) Probably we could have both copies and things would be ok. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) This includes part of #23750 t-data merge-conflict 22/66 Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/ENNReal/BigOperators.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/MeasureTheory/Integral/SetToL1.lean,Mathlib/MeasureTheory/Measure/Sub.lean,Mathlib/MeasureTheory/Measure/TightNormed.lean,Mathlib/Topology/MetricSpace/PartitionOfUnity.lean 7 22 ['eric-wieser', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot', 'mattrobball', 'urkud'] nobody
127-52001
4 months ago
127-52003
4 months ago
14-12910
14 days
24060 eric-wieser
author:eric-wieser
chore(MeasureTheory): use `0` instead of `const _ 0` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability merge-conflict 30/20 Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/MeasureTheory/Function/SimpleFuncDense.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Countable.lean,Mathlib/MeasureTheory/Integral/SetToL1.lean,Mathlib/Probability/StrongLaw.lean 7 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
127-41696
4 months ago
127-41698
4 months ago
0-0
0 seconds
11455 adomani
author:adomani
fix: unsqueeze simp, re Yaël's comments on #11259 This PR reverts/simplifies some of the "squeeze `simp`" changes in #11259. See #11259 for context. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict awaiting-author 3/6 Mathlib/Algebra/Group/Conj.lean,Mathlib/Data/Seq/WSeq.lean 2 8 ['Ruben-VandeVelde', 'YaelDillies', 'grunweg', 'loefflerd', 'robertylewis', 'urkud'] nobody
127-13601
4 months ago
397-40191
1 year ago
91-14162
91 days
7325 eric-wieser
author:eric-wieser
chore: use preimageIso instead of defeq abuse for InducedCategory This makes a few things slightly more verbose, but the type casts are now explicit in those places. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory awaiting-CI merge-conflict 22/21 Mathlib/CategoryTheory/EssentialImage.lean,Mathlib/CategoryTheory/Monoidal/Braided.lean,Mathlib/CategoryTheory/Monoidal/Subcategory.lean 3 1 ['grunweg'] nobody
127-13480
4 months ago
407-42565
1 year ago
0-0
0 seconds
7874 astrainfinita
author:astrainfinita
chore: make `IsScalarTower A A B` and `IsScalarTower A B B` higher priority --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) slow-typeclass-synthesis t-algebra awaiting-CI merge-conflict
label:t-algebra$
10/9 Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Data/Rat/Cast/Defs.lean,Mathlib/GroupTheory/GroupAction/Ring.lean 4 3 ['astrainfinita', 'grunweg', 'leanprover-bot'] nobody
127-13455
4 months ago
397-40450
1 year ago
0-0
0 seconds
5952 eric-wieser
author:eric-wieser
feat: add Qq wrappers for ToExpr --- - [ ] depends on: #6699 (to appease the linter) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-CI t-meta merge-conflict 247/150 Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Fin/VecNotation.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Tactic/DeriveToExpr.lean,Mathlib/Tactic/FBinop.lean,Mathlib/Tactic/ToExpr.lean,Mathlib/Util/Qq.lean,test/DeriveToExpr.lean,test/vec_notation.lean 9 7 ['eric-wieser', 'gebner', 'grunweg', 'leanprover-community-mathlib4-bot'] nobody
127-13281
4 months ago
407-42565
1 year ago
29-67421
29 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/) t-algebra merge-conflict
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 ['FR-vdash-bot', 'eric-wieser', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mattrobball', 'mergify', 'urkud'] nobody
127-13241
4 months ago
375-51571
1 year 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/) slow-typeclass-synthesis t-algebra merge-conflict
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 ['FR-vdash-bot', 'github-actions', 'grunweg', 'leanprover-bot'] nobody
127-13017
4 months ago
331-52564
10 months ago
14-58900
14 days
13780 adomani
author:adomani
deprecate injective --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 31/9 .github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,Mathlib/Init/Function.lean,lake-manifest.json,lakefile.lean 7 2 ['github-actions', 'grunweg'] nobody
126-66931
4 months ago
422-50275
1 year ago
0-0
0 seconds
11297 mattrobball
author:mattrobball
mrb/cover data fields --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 949/657 Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Associated.lean,Mathlib/Algebra/Category/MonCat/Colimits.lean,Mathlib/Algebra/Category/Ring/Colimits.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/Field/Basic.lean,Mathlib/Algebra/Field/IsField.lean,Mathlib/Algebra/Free.lean,Mathlib/Algebra/FreeMonoid/Basic.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/Group/Aut.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Group/Hom/Instances.lean,Mathlib/Algebra/Group/InjSurj.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/Group/Pi/Lemmas.lean,Mathlib/Algebra/Group/TypeTags.lean,Mathlib/Algebra/Group/Units.lean,Mathlib/Algebra/Group/WithOne/Defs.lean,Mathlib/Algebra/GroupWithZero/Basic.lean,Mathlib/Algebra/GroupWithZero/InjSurj.lean,Mathlib/Algebra/Lie/NonUnitalNonAssocAlgebra.lean,Mathlib/Algebra/Module/Basic.lean,Mathlib/Algebra/Module/Equiv.lean,Mathlib/Algebra/Module/LocalizedModule.lean,Mathlib/Algebra/Order/Group/Cone.lean,Mathlib/Algebra/Order/Interval.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Algebra/PEmptyInstances.lean,Mathlib/Algebra/Quandle.lean,Mathlib/Algebra/Ring/Aut.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/Algebra/Ring/Hom/Defs.lean,Mathlib/Algebra/Ring/InjSurj.lean,Mathlib/Algebra/Ring/Opposite.lean,Mathlib/Algebra/Ring/Pi.lean,Mathlib/Algebra/Ring/ULift.lean,Mathlib/Algebra/SMulWithZero.lean,Mathlib/Algebra/Star/StarAlgHom.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/Fourier/FourierTransformDeriv.lean,Mathlib/Analysis/NormedSpace/ContinuousAffineMap.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Extension.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Basic.lean,Mathlib/Analysis/SpecialFunctions/PolarCoord.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Deriv.lean,Mathlib/CategoryTheory/Endomorphism.lean,Mathlib/CategoryTheory/Groupoid/VertexGroup.lean,Mathlib/CategoryTheory/Monoidal/Internal/Module.lean,Mathlib/Combinatorics/Quiver/SingleObj.lean,Mathlib/Combinatorics/Quiver/Symmetric.lean,Mathlib/Combinatorics/Young/YoungDiagram.lean,Mathlib/Control/Applicative.lean,Mathlib/Control/Basic.lean,Mathlib/Control/Functor.lean,Mathlib/Control/Monad/Cont.lean,Mathlib/Control/ULift.lean,Mathlib/Data/Erased.lean,Mathlib/Data/Int/Basic.lean,Mathlib/Data/Int/Cast/Prod.lean,Mathlib/Data/Nat/Basic.lean,Mathlib/Data/Nat/Cast/Defs.lean,Mathlib/Data/Nat/Order/Basic.lean,Mathlib/Data/Num/Lemmas.lean,Mathlib/Data/PSigma/Order.lean,Mathlib/Data/Prod/Lex.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Rat/Defs.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Semiring.lean,Mathlib/Data/Sigma/Order.lean,Mathlib/Data/Sign.lean,Mathlib/Data/Sum/Lattice.lean,Mathlib/Data/Sum/Order.lean,Mathlib/Data/TwoPointing.lean,Mathlib/Data/ZMod/Defs.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/GroupAction/Opposite.lean,Mathlib/GroupTheory/GroupAction/Option.lean,Mathlib/GroupTheory/GroupAction/Prod.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/Pointwise.lean,Mathlib/GroupTheory/GroupAction/Units.lean,Mathlib/GroupTheory/MonoidLocalization.lean,Mathlib/GroupTheory/Perm/Basic.lean,Mathlib/GroupTheory/Subgroup/Basic.lean,Mathlib/GroupTheory/Submonoid/Operations.lean,Mathlib/GroupTheory/Submonoid/Pointwise.lean,Mathlib/GroupTheory/Subsemigroup/Operations.lean,Mathlib/Init/Data/Int/Order.lean,Mathlib/Init/Data/List/Instances.lean,Mathlib/Init/Data/Nat/Lemmas.lean,Mathlib/LinearAlgebra/AffineSpace/AffineMap.lean,Mathlib/LinearAlgebra/Basis.lean,Mathlib/Logic/Nontrivial/Basic.lean,Mathlib/Logic/Unique.lean,Mathlib/MeasureTheory/Integral/Bochner.lean 120 13 ['YaelDillies', 'grunweg', 'leanprover-bot', 'mattrobball'] nobody
126-66483
4 months ago
525-10755
1 year ago
0-0
0 seconds
12673 grunweg
author:grunweg
feat: add ContDiff.lipschitzOnWith A C¹ function is Lipschitz on each convex compact set. From sphere-eversion. -------- Commits can be reviewed independently. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict awaiting-author help-wanted 30/11 Mathlib/Analysis/Calculus/ContDiff/RCLike.lean 1 6 ['Ruben-VandeVelde', 'github-actions', 'grunweg', 'sgouezel'] nobody
125-35994
4 months ago
125-35994
4 months ago
1-7552
1 day
20567 grunweg
author:grunweg
feat(Cache): two small features - add an informational message to the get command (when run without arguments): when more than 80% of all cache files present were not used in the last command, tell the user about the `clean` command --- - [ ] depends on #20568 (for the first feature) - [ ] TODO: re-design this feature and the clean command: if there are N local copies of mathlib, cache should have a pointer to all of them - to avoid clearing all N-1 from inside the last local copy [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict 38/2 Cache/Main.lean 1 11 ['Julian', 'arthurpaulino', 'fpvandoorn', 'github-actions', 'grunweg'] nobody
125-17344
4 months ago
125-17344
4 months ago
1-17369
1 day
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/) new-contributor t-analysis merge-conflict 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
125-17310
4 months ago
125-17310
4 months ago
25-60481
25 days
22698 Kiolt
author:Kiolt
feat: notation for whisker(Left/Right)Iso From Toric --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-category-theory merge-conflict 175/113 Mathlib/Algebra/Homology/Monoidal.lean,Mathlib/CategoryTheory/Bicategory/Adjunction/Basic.lean,Mathlib/CategoryTheory/Bicategory/Basic.lean,Mathlib/CategoryTheory/Bicategory/Coherence.lean,Mathlib/CategoryTheory/Bicategory/Extension.lean,Mathlib/CategoryTheory/Bicategory/Functor/Pseudofunctor.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Strong.lean,Mathlib/CategoryTheory/Bicategory/SingleObj.lean,Mathlib/CategoryTheory/Closed/Functor.lean,Mathlib/CategoryTheory/Closed/Ideal.lean,Mathlib/CategoryTheory/Enriched/FunctorCategory.lean,Mathlib/CategoryTheory/GradedObject/Monoidal.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/Braided/Reflection.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean,Mathlib/CategoryTheory/Monoidal/Preadditive.lean,Mathlib/CategoryTheory/Monoidal/Transport.lean,Mathlib/Tactic/CategoryTheory/BicategoricalComp.lean,Mathlib/Tactic/CategoryTheory/Bicategory/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Bicategory/Normalize.lean,Mathlib/Tactic/CategoryTheory/Bicategory/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/MonoidalComp.lean 27 21 ['Kiolt', 'YaelDillies', 'b-mehta', 'github-actions', 'leanprover-bot'] nobody
125-17139
4 months ago
125-17139
4 months ago
3-36238
3 days
21714 mattrobball
author:mattrobball
test t-order merge-conflict 13/13 Mathlib/Order/Hom/Lattice.lean,lean-toolchain 2 4 ['github-actions', 'leanprover-bot', 'mattrobball'] nobody
125-15988
4 months ago
125-15988
4 months ago
0-0
0 seconds
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/) new-contributor t-algebra merge-conflict awaiting-author
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
125-13442
4 months ago
125-13442
4 months ago
13-60072
13 days
19117 eric-wieser
author:eric-wieser
feat: derivatives of matrix operations These are finally possible to state after #19108. However, a lot of bundled `ContinuousLinearMap`s are missing. --- - [x] depends on: #19108 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict WIP 336/22 Mathlib.lean,Mathlib/Analysis/Calculus/Deriv/Matrix.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Matrix.lean 4 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
123-35820
4 months ago
123-35822
4 months ago
0-0
0 seconds
12605 FR-vdash-bot
author:FR-vdash-bot
chore: attribute [induction_eliminator] Add attribute [induction_eliminator] to `AdjoinRoot.induction_on` `ENat.recTopCoe` `ENNReal.recTopCoe` `Finset.induction` `Magma.AssocQuotient.induction_on` `ManyOneDegree.ind_on` `Module.Ray.ind` (and add `Orientation.ind` for `Orientation`, an abbrev of it. I wish that we do not need to add it in the future.) `Multiset.induction` `MvPolynomial.induction_on` `OnePoint.rec` `Opposite.rec'` `Ordinal.limitRecOn` `PartENat.casesOn` `Polynomial.induction_on'` `QuotientAddGroup.induction_on'` (and add `AddCircle.induction_on` for `AddCircle`, an abbrev of it. I wish that we do not need to add it in the future.) `QuotientGroup.induction_on'` (doesn't actually work) `Real.Angle.induction_on` `SimplexCategory.rec` `Trunc.induction_on` --- - [x] depends on: #13476 - [x] depends on: #13264 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict awaiting-author 354/342 Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/BigOperators/Group/Finset.lean,Mathlib/Algebra/BigOperators/Group/Multiset.lean,Mathlib/Algebra/BigOperators/Ring.lean,Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/GCDMonoid/Multiset.lean,Mathlib/Algebra/Group/Subgroup/Finite.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Lie/Weights/Basic.lean,Mathlib/Algebra/Module/BigOperators.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/Derivation.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/Degree/Lemmas.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/Eval.lean,Mathlib/Algebra/Polynomial/Induction.lean,Mathlib/Algebra/Polynomial/Module/Basic.lean,Mathlib/Algebra/Polynomial/PartialFractions.lean,Mathlib/Algebra/Polynomial/Smeval.lean,Mathlib/Algebra/Tropical/BigOperators.lean,Mathlib/AlgebraicTopology/DoldKan/NCompGamma.lean,Mathlib/AlgebraicTopology/SimplexCategory.lean,Mathlib/AlgebraicTopology/SplitSimplicialObject.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Asymptotics/Asymptotics.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Split.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/Deriv/Polynomial.lean,Mathlib/Analysis/Convex/Combination.lean,Mathlib/Analysis/Convex/Exposed.lean,Mathlib/Analysis/Fourier/AddCircle.lean,Mathlib/Analysis/NormedSpace/Exponential.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Complex/Circle.lean,Mathlib/Analysis/SpecialFunctions/Log/Base.lean,Mathlib/Analysis/SpecialFunctions/PolynomialExp.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/Combinatorics/Additive/PluenneckeRuzsa.lean,Mathlib/Combinatorics/SetFamily/Compression/Down.lean,Mathlib/Combinatorics/SetFamily/FourFunctions.lean,Mathlib/Combinatorics/SetFamily/HarrisKleitman.lean,Mathlib/Computability/Reduce.lean,Mathlib/Data/DFinsupp/Basic.lean,Mathlib/Data/DFinsupp/WellFounded.lean,Mathlib/Data/Finset/Basic.lean,Mathlib/Data/Finset/Fold.lean,Mathlib/Data/Finset/Lattice.lean,Mathlib/Data/Finset/NAry.lean,Mathlib/Data/Fintype/Sum.lean,Mathlib/Data/Multiset/Antidiagonal.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/Multiset/Bind.lean,Mathlib/Data/Multiset/Fold.lean,Mathlib/Data/Multiset/Lattice.lean,Mathlib/Data/Multiset/Pi.lean,Mathlib/Data/Multiset/Powerset.lean,Mathlib/Data/Multiset/Sections.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Set/Pointwise/BigOperators.lean,Mathlib/FieldTheory/IntermediateField.lean,Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,Mathlib/Geometry/Manifold/Algebra/Monoid.lean,Mathlib/Geometry/RingedSpace/Basic.lean,Mathlib/Geometry/RingedSpace/OpenImmersion.lean,Mathlib/Geometry/RingedSpace/PresheafedSpace/Gluing.lean,Mathlib/GroupTheory/Coset.lean,Mathlib/GroupTheory/NoncommPiCoprod.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/LinearAlgebra/Determinant.lean,Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/LinearAlgebra/FiniteDimensional.lean,Mathlib/LinearAlgebra/LinearIndependent.lean,Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Orientation.lean,Mathlib/LinearAlgebra/Projectivization/Basic.lean,Mathlib/LinearAlgebra/Ray.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/Logic/Hydra.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Basic.lean,Mathlib/MeasureTheory/Function/L1Space.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/MeasureTheory/Integral/Lebesgue.lean,Mathlib/MeasureTheory/Integral/Marginal.lean,Mathlib/MeasureTheory/Integral/MeanInequalities.lean,Mathlib/MeasureTheory/Integral/SetIntegral.lean,Mathlib/MeasureTheory/Measure/AddContent.lean 140 14 ['FR-vdash-bot', 'YaelDillies', 'eric-wieser', 'github-actions', 'leanprover-community-mathlib4-bot', 'urkud'] nobody
123-30435
4 months ago
409-44361
1 year ago
4-46495
4 days
15099 joelriou
author:joelriou
feat(CategoryTheory/Sites): the Mayer-Vietoris long exact sequence in sheaf cohomology In this PR, we obtain the long exact Mayer-Vietoris sequence in sheaf cohomology `... ⟶ H^n₀(S.X₄, F) ⟶ H^n₀(S.X₂, F) ⊞ H^n₀(S.X₃, F) ⟶ H^n₀(S.X₁, F) ⟶ H^n₁(S.X₄, F) ⟶ ...` when `n₀ + 1 = n₁`. It is attached to any "Mayer-Vietoris square", which includes the typical case of a covering by two open subsets in a topological space. (This API shall also apply to the case of Nisnevich distinguished squares of schemes.) --- - [x] depends on: #15770 - [x] depends on: #14793 - [x] depends on: #14515 - [x] depends on: #15092 - [x] depends on: #15053 - [x] depends on: #14867 - [x] depends on: #14959 - [x] depends on: #14957 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict WIP 348/4 Mathlib.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Biprod.lean,Mathlib/CategoryTheory/Preadditive/Opposite.lean,Mathlib/CategoryTheory/Shift/Basic.lean,Mathlib/CategoryTheory/Shift/ShiftedHom.lean,Mathlib/CategoryTheory/Sites/SheafCohomology/Basic.lean,Mathlib/CategoryTheory/Sites/SheafCohomology/MayerVietoris.lean 8 n/a ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
120-60282
3 months ago
unknown
unknown
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/) t-topology merge-conflict 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
120-56258
3 months ago
120-56261
3 months 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/) t-order merge-conflict 231/89 Mathlib/Order/Interval/Finset/SuccPred.lean,Mathlib/Order/Interval/Set/SuccPred.lean 2 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
118-33033
3 months ago
118-33035
3 months 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/) t-algebra merge-conflict
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
118-21730
3 months ago
118-21731
3 months ago
2-12022
2 days
8370 eric-wieser
author:eric-wieser
refactor(Analysis/NormedSpace/Exponential): remove the `𝕂` argument from `exp` This argument is still needed for almost all the lemmas, which means it can longer be found by unification. We keep around `expSeries 𝕂 A`, as it's needed for talking about the radius of convergence over different base fields. This is a prerequisite for #8372, as we can't merge the functions until they have the same interface.\ Zulip thread: [#mathlib4 > Real.exp @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Real.2Eexp/near/401602245) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) This is started from the mathport output on https://github.com/leanprover-community/mathlib/pull/19244 awaiting-zulip t-analysis merge-conflict 432/387 Mathlib/Analysis/CStarAlgebra/Exponential.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/Normed/Algebra/MatrixExponential.lean,Mathlib/Analysis/Normed/Algebra/QuaternionExponential.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/TrivSqZeroExt.lean,Mathlib/Analysis/NormedSpace/DualNumber.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog.lean,Mathlib/Analysis/SpecialFunctions/Exponential.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Series.lean 11 29 ['YaelDillies', 'eric-wieser', 'girving', 'github-actions', 'j-loreaux', 'kbuzzard', 'leanprover-community-bot-assistant', 'urkud'] nobody
118-2660
3 months ago
129-31290
4 months ago
29-60989
29 days
23621 FR-vdash-bot
author:FR-vdash-bot
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 t-order t-algebra merge-conflict
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 n/a ['FR-vdash-bot', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] kbuzzard
assignee:kbuzzard
117-21300
3 months ago
unknown
unknown
14931 eric-wieser
author:eric-wieser
feat: volume of a simplex --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-euclidean-geometry merge-conflict 207/0 Mathlib/Geometry/Euclidean/Basic.lean,Mathlib/Geometry/Euclidean/Circumcenter.lean,Mathlib/Geometry/Euclidean/Volume.lean 3 3 ['eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] nobody
116-34187
3 months ago
116-34189
3 months ago
0-0
0 seconds
22583 imathwy
author:imathwy
feat: affinespace homeomorphism There exists a homeomorphism (a continuous bijection with a continuous inverse) between an affine subspace s of a vector space V over a field 𝕜 and its direction s.direction , given a chosen point z ∈ s . --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict awaiting-author
label:t-algebra$
64/2 Mathlib/Analysis/Normed/Group/AddTorsor.lean,Mathlib/LinearAlgebra/AffineSpace/ContinuousAffineEquiv.lean,Mathlib/Topology/Algebra/ConstMulAction.lean,Mathlib/Topology/Algebra/MulAction.lean 4 6 ['JovanGerb', 'eric-wieser', 'github-actions', 'grunweg'] nobody
116-31905
3 months ago
156-76998
5 months ago
0-18122
5 hours
24243 Timeroot
author:Timeroot
feat(Analysis/Calculus/FDeriv): Fderiv on torsors Experiment to see how this goes for now, see [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Upgrade.20.60fderiv.60.20to.20.60AddTorsor.60) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict 539/447 Mathlib/Algebra/AddTorsor/Defs.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Prod.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Bilinear.lean,Mathlib/Analysis/Calculus/FDeriv/Equiv.lean,Mathlib/Analysis/Calculus/FDeriv/Linear.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Calculus/FDeriv/Mul.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Calculus/Gradient/Basic.lean,Mathlib/Analysis/Calculus/LineDeriv/Basic.lean,Mathlib/Analysis/Calculus/LocalExtr/Basic.lean,Mathlib/Analysis/Calculus/ParametricIntegral.lean,Mathlib/Analysis/Calculus/Rademacher.lean,Mathlib/Analysis/Calculus/TangentCone.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Complex/Periodic.lean,Mathlib/Analysis/Complex/RealDeriv.lean,Mathlib/Analysis/MellinTransform.lean,Mathlib/Analysis/Normed/Group/Uniform.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Analysis/SpecialFunctions/ExpDeriv.lean,Mathlib/Analysis/SpecialFunctions/Exponential.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean,Mathlib/Geometry/Manifold/IntegralCurve/Transform.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/Manifold/MFDeriv/Basic.lean,Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean,Mathlib/NumberTheory/EulerProduct/ExpLog.lean,Mathlib/NumberTheory/Harmonic/GammaDeriv.lean,Mathlib/NumberTheory/LSeries/Nonvanishing.lean,MathlibTest/Recall.lean 37 3 ['github-actions', 'leanprover-community-bot-assistant'] nobody
115-15043
3 months ago
115-15044
3 months ago
0-0
0 seconds
24322 mattrobball
author:mattrobball
chore: merge repeated `Type*` binders Per the discussion on [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Task.2026.3A.20Replace.20Type.20u.20by.20Type*.20wherever.20possible), this PR merges `(A : Type*) (B : Type u)` into `(A B : Type*)` and similarly for `{}`. NOTE: the Python script used it currently in the `/scripts` folder. It is there for inspection and should be removed before merging this PR. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict awaiting-author 685/591 Archive/Imo/Imo2019Q2.lean,Archive/Wiedijk100Theorems/HeronsFormula.lean,Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/AddTorsor/Defs.lean,Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Pi.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/Algebra/Unitization.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/FreeMonoid/Basic.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/Faithful.lean,Mathlib/Algebra/Group/Action/Sigma.lean,Mathlib/Algebra/Group/Hom/Basic.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Group/InjSurj.lean,Mathlib/Algebra/Group/Invertible/Basic.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Group/Submonoid/Basic.lean,Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/Submonoid/MulAction.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Group/Subsemigroup/Basic.lean,Mathlib/Algebra/Group/Subsemigroup/Defs.lean,Mathlib/Algebra/Group/Subsemigroup/Operations.lean,Mathlib/Algebra/Group/Support.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Module/LinearMap/Prod.lean,Mathlib/Algebra/Module/Prod.lean,Mathlib/Algebra/Module/Submodule/EqLocus.lean,Mathlib/Algebra/Module/Submodule/Equiv.lean,Mathlib/Algebra/Module/Submodule/Ker.lean,Mathlib/Algebra/Module/Submodule/LinearMap.lean,Mathlib/Algebra/Module/Submodule/Map.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/Module/Submodule/Range.lean,Mathlib/Algebra/MonoidAlgebra/Grading.lean,Mathlib/Algebra/MonoidAlgebra/MapDomain.lean,Mathlib/Algebra/MonoidAlgebra/ToDirectSum.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/Comap.lean,Mathlib/Algebra/MvPolynomial/Monad.lean,Mathlib/Algebra/Notation/Prod.lean,Mathlib/Algebra/Order/Quantale.lean,Mathlib/Algebra/Prime/Lemmas.lean,Mathlib/Algebra/Quandle.lean,Mathlib/Algebra/QuaternionBasis.lean,Mathlib/Algebra/Ring/CompTypeclasses.lean,Mathlib/Algebra/Ring/Hom/Defs.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/Algebra/Star/Module.lean,Mathlib/Algebra/TrivSqZeroExt.lean,Mathlib/Algebra/Vertex/HVertexOperator.lean,Mathlib/Algebra/Vertex/VertexOperator.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Asymptotics/Defs.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Asymptotics/Theta.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Integral.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Calculus/FDeriv/Mul.lean,Mathlib/Analysis/Calculus/FormalMultilinearSeries.lean,Mathlib/Analysis/Convex/Cone/Proper.lean,Mathlib/Analysis/Convex/EGauge.lean,Mathlib/Analysis/Convex/Exposed.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/Defs.lean,Mathlib/Analysis/InnerProductSpace/LinearMap.lean,Mathlib/Analysis/InnerProductSpace/Orthonormal.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/InnerProductSpace/WeakOperatorTopology.lean,Mathlib/Analysis/LocallyConvex/WeakOperatorTopology.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Analysis/Normed/Algebra/Basic.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/Normed/Ring/InfiniteSum.lean,Mathlib/Analysis/Normed/Ring/Lemmas.lean,Mathlib/Analysis/NormedSpace/ConformalLinearMap.lean,Mathlib/Analysis/NormedSpace/ENormedSpace.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Bilinear.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/CategoryTheory/Action/Concrete.lean,Mathlib/CategoryTheory/GradedObject.lean 343 3 ['github-actions', 'leanprover-community-bot-assistant', 'urkud'] nobody
115-14521
3 months ago
115-14523
3 months ago
2-7052
2 days
23138 grunweg
author:grunweg
feat: (unoriented) bordism groups We define the unoriented bordism group of a topological space and prove that it is an abelian group: we don't prove transitivity of bordisms yet, as that requires the collar neighbourhood theorem and gluing of smooth manifolds, which are both not in mathlib and a sizable piece of work. --- This PR is not ready for review yet; I'm merely opening this to track this branch' state better. In particular, this PR depends on several preliminary PRs: - depends on: #15906 for defining singular n-manifolds - depends on: #23040: define immersions and smooth embeddings: in finite dimensions, these are easy to describe; for mathlib, we will want a correct definition for e.g. Banach manifolds also. - depends on: #22059 defines manifolds with smooth boundary. That PR has two open dependencies; one is slowly getting merged, that other has a few sorries I still need to prove (not difficult). - depends on: #22874 for some constructions - defining unoriented bordisms, and proving some basic constructions about them: will be another PR [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry merge-conflict WIP 1316/3 Mathlib.lean,Mathlib/Geometry/Manifold/Bordisms.lean,Mathlib/Geometry/Manifold/Diffeomorph.lean,Mathlib/Geometry/Manifold/HasSmoothBoundary.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean 7 0 [] nobody
114-49415
3 months ago
152-25696
4 months ago
0-1
1 second
23593 erdOne
author:erdOne
feat(AlgebraicGeometry): the tilde construction is functorial --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry merge-conflict awaiting-author 95/38 Mathlib/AlgebraicGeometry/Modules/Sheaf.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean 2 4 ['chrisflav', 'github-actions', 'leanprover-community-bot-assistant'] nobody
114-49101
3 months ago
114-49103
3 months ago
0-71091
19 hours
21065 eric-wieser
author:eric-wieser
feat: generalize `tangentConeAt.lim_zero` to TVS ... and then adjust the `variable`s down the rest of the file to make use of the generality. There are two key lemmas that this does not generalize, which would probably unlock the rest of the file: * `subset_tangentCone_prod_left` (and `_right`) * `zero_mem_tangentCone` --- - [ ] depends on: #20859 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict WIP 55/28 Mathlib/Analysis/Calculus/TangentCone.lean 1 16 ['ADedecker', 'eric-wieser', 'github-actions', 'j-loreaux', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'urkud'] nobody
114-41505
3 months ago
114-41507
3 months ago
23-20319
23 days
22721 grunweg
author:grunweg
chore(MeasureTheory/Function/LpSeminorm/Basic): generalise more results to enorm classes Done for the Carleson project. --- - depends on #22708 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) carleson t-measure-probability merge-conflict WIP 134/10 Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean 1 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
113-34173
3 months ago
113-34175
3 months ago
0-6
6 seconds
24354 grunweg
author:grunweg
chore(HasFiniteIntegral): rename three lemmas Discovered in #24343. --- - [ ] depends on: #24343 (to avoid merge conflicts) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability merge-conflict 108/30 Mathlib/MeasureTheory/Function/L1Space/HasFiniteIntegral.lean 1 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
113-26134
3 months ago
113-26135
3 months ago
0-4604
1 hour
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/) new-contributor t-number-theory merge-conflict WIP 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 3 ['SEU-Prime', 'github-actions', 'leanprover-community-bot-assistant'] nobody
112-73454
3 months ago
119-52460
3 months ago
0-0
0 seconds
24091 mattrobball
author:mattrobball
test merge-conflict 97/46 Mathlib/Algebra/Field/Defs.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/LocallyConvex/Basic.lean,Mathlib/Analysis/Normed/Affine/AddTorsor.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Analysis/Normed/Module/Span.lean,Mathlib/Analysis/Normed/MulAction.lean,Mathlib/Analysis/NormedSpace/Pointwise.lean,Mathlib/Dynamics/BirkhoffSum/NormedSpace.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/Topology/ContinuousMap/Compact.lean,Mathlib/Topology/MetricSpace/Holder.lean,Mathlib/Topology/MetricSpace/HolderNorm.lean,docs/overview.yaml,docs/undergrad.yaml 15 5 ['github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mattrobball'] nobody
112-62872
3 months ago
112-62874
3 months ago
0-0
0 seconds
14731 adomani
author:adomani
feat: the repeated typeclass assumption linter [#mathlib4 > recyclable variables @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/recyclable.20variables/near/451167963) also [#mathlib4 > Normed modules @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Normed.20modules/near/512242167) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-linter merge-conflict WIP 178/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/DependentTypeclass.lean,MathlibTest/DependentTypeclass.lean 5 3 ['github-actions', 'leanprover-community-bot-assistant', 'mattrobball'] nobody
112-39412
3 months ago
124-56814
4 months ago
0-109
1 minute
24140 mattrobball
author:mattrobball
test merge-conflict 176/91 Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/AlgebraicGeometry/AffineSpace.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean,Mathlib/Analysis/CStarAlgebra/Classes.lean,Mathlib/Data/Complex/Module.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/NumberTheory/NumberField/ProductFormula.lean,Mathlib/RingTheory/Algebraic/Integral.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/Localization/Integral.lean,Mathlib/RingTheory/RingHom/Unramified.lean,Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean 17 5 ['github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mattrobball'] nobody
112-37875
3 months ago
112-37877
3 months ago
0-0
0 seconds
13649 FR-vdash-bot
author:FR-vdash-bot
chore: redefine `Nat.div2` `Nat.bodd` The new definitions are faster than the old ones. `Nat.binaryRec` will be moved to batteries (https://github.com/leanprover-community/batteries/pull/799) or core (https://github.com/leanprover/lean4/pull/3756), so relevant contents are moved to a new file temporarily. --- - [x] depends on: #15567 - [x] depends on: #19666 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 63/88 Mathlib/Computability/Primrec.lean,Mathlib/Data/Int/Bitwise.lean,Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Size.lean,Mathlib/Logic/Denumerable.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/Logic/Equiv/Nat.lean 8 15 ['FR-vdash-bot', 'digama0', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'urkud'] digama0
assignee:digama0
110-5280
3 months ago
110-5282
3 months ago
87-51692
87 days
22856 mattrobball
author:mattrobball
test merge-conflict 8/2 Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/RCLike/Inner.lean,Mathlib/FieldTheory/Galois/Profinite.lean 4 5 ['github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mattrobball'] nobody
109-79241
3 months ago
109-79243
3 months ago
0-0
0 seconds
23921 alreadydone
author:alreadydone
Jyxu/projective trace --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
157/123 Mathlib/FieldTheory/CardinalEmb.lean,Mathlib/FieldTheory/Relrank.lean,Mathlib/LinearAlgebra/Contraction.lean,Mathlib/LinearAlgebra/Dual.lean,Mathlib/RingTheory/LocalProperties/Projective.lean 5 1 ['leanprover-community-bot-assistant'] nobody
109-64457
3 months ago
109-64457
3 months ago
0-0
0 seconds
21252 ADedecker
author:ADedecker
feat: redefine uniformly convex normed spaces with filters instead of epsilons And conceptualize some proofs. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-topology merge-conflict
label:t-algebra$
301/87 Mathlib/Analysis/Convex/Uniform.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Topology/Algebra/UniformGroup/Defs.lean,Mathlib/Topology/Algebra/UniformMulAction.lean 6 1 ['github-actions'] nobody
109-64196
3 months ago
109-64196
3 months ago
0-0
0 seconds
19821 eric-wieser
author:eric-wieser
feat: add a Qq version of AtomM that groups by type --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-meta merge-conflict WIP 332/30 Mathlib/Data/Ineq.lean,Mathlib/Tactic/Linarith/Datatypes.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm.lean,Mathlib/Tactic/Linarith/Preprocessing.lean,Mathlib/Util/AtomM.lean,Mathlib/Util/Qq.lean 6 1 ['github-actions'] nobody
109-64009
3 months ago
109-64009
3 months ago
0-0
0 seconds
19520 erdOne
author:erdOne
refactor(Algebra/Module): Redefine `LocalizedModule` in terms of `OreLocalization` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
610/493 Mathlib.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/GroupTheory/OreLocalization/Basic.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/OreLocalization/Basic.lean,Mathlib/RingTheory/OreLocalization/Module.lean,Mathlib/RingTheory/OreLocalization/Ring.lean 10 1 ['github-actions'] nobody
109-63998
3 months ago
109-63998
3 months ago
8-56155
8 days
19120 hrmacbeth
author:hrmacbeth
feat: stop `ring`/`abel` from seeing algebraic operations inside `let`s This draft PR illustrates a feature I would like to see in core: a variant of `whnf` which allows particular kinds of reduction, such as zeta-delta reduction, to be turned off. Here it is used to make ring-normalization and abelian-group-normalization a bit more responsive to what (I think) users expect: these normalizations would no longer look inside user-defined lets to see algebraic operations in those expressions. Note: In Lean/Mathlib 3, `ring` matched for algebraic operations on an algebraic expression `e` itself, not on `← whnfR e`. So mathlib3 `ring` didn't see algebraic operations inside `let`s -- but it also didn't see algebraic operations requiring beta-reduction (like `(fun t ↦ t + 1) x`) or see inside abbreviations. [Zulip](https://leanprover.zulipchat.com/#narrow/channel/239415-metaprogramming-.2F-tactics/topic/whnf.20variant.20which.20preserves.20let-bindings) Update: fortuitously, it looks like the new core PR https://github.com/leanprover/lean4/pull/6053 will provide this feature! --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict blocked-by-core-PR 137/15 Archive/Imo/Imo2006Q3.lean,Archive/Imo/Imo2008Q2.lean,Mathlib.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/SpecialFunctions/Gamma/BohrMollerup.lean,Mathlib/Analysis/SpecialFunctions/Integrals.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/Data/Real/Pi/Irrational.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaOdd.lean,Mathlib/NumberTheory/SumPrimeReciprocals.lean,Mathlib/RingTheory/WittVector/DiscreteValuationRing.lean,Mathlib/Tactic/Abel.lean,Mathlib/Tactic/Polyrith.lean,Mathlib/Tactic/Ring/Basic.lean,Mathlib/Tactic/Ring/RingNF.lean,Mathlib/Topology/MetricSpace/GromovHausdorff.lean,Mathlib/Util/WHNF.lean,MathlibTest/abel.lean,MathlibTest/ring.lean 21 5 ['JovanGerb', 'github-actions', 'grunweg', 'hrmacbeth'] nobody
109-63989
3 months ago
109-63989
3 months ago
0-0
0 seconds
17069 yuma-mizuno
author:yuma-mizuno
chore(CategoryTheory/Functor/Basic): put `simp` at `Functor.id_comp` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict 41/30 Mathlib/CategoryTheory/Adjunction/Mates.lean,Mathlib/CategoryTheory/Functor/Basic.lean,Mathlib/CategoryTheory/GuitartExact/VerticalComposition.lean,Mathlib/CategoryTheory/Limits/HasLimits.lean,Mathlib/CategoryTheory/Shift/CommShift.lean 5 3 ['github-actions', 'leanprover-bot', 'yuma-mizuno'] nobody
109-63979
3 months ago
109-63979
3 months ago
0-0
0 seconds
15024 mattrobball
author:mattrobball
chore(Algebra.Basic): scope and rename universal `Nat`-algebra and `Int`-algebra instances We rename `algebraNat` to `Nat.instAlgebraOfSemiring` and `algebraInt` to `Int.instAlgebraOfRing` to be consistent with existing naming conventions. We also scope them to avoid typeclass search tripping over them unnecessarily. --- Moves: - algebraNat -> Nat.instAlgebraOfSemiring - algebraInt -> Int.instAlgebraOfRing [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
178/27 Archive/Wiedijk100Theorems/AbelRuffini.lean,Counterexamples/Pseudoelement.lean,Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Unitization.lean,Mathlib/Algebra/Category/ModuleCat/Injective.lean,Mathlib/Algebra/FreeAlgebra.lean,Mathlib/Algebra/Module/Bimodule.lean,Mathlib/Algebra/Module/Zlattice/Basic.lean,Mathlib/Algebra/MvPolynomial/Counit.lean,Mathlib/Algebra/MvPolynomial/Supported.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/DenomsClearable.lean,Mathlib/Algebra/Polynomial/UnitTrinomial.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Metric.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Topology.lean,Mathlib/Data/Matrix/Kronecker.lean,Mathlib/Data/Real/Irrational.lean,Mathlib/FieldTheory/IsAlgClosed/Classification.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean,Mathlib/LinearAlgebra/FreeModule/IdealQuotient.lean,Mathlib/LinearAlgebra/FreeProduct/Basic.lean,Mathlib/LinearAlgebra/Matrix/Adjugate.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/TensorAlgebra/Basic.lean,Mathlib/NumberTheory/ClassNumber/AdmissibleCardPowDegree.lean,Mathlib/NumberTheory/ClassNumber/Finite.lean,Mathlib/NumberTheory/Cyclotomic/Basic.lean,Mathlib/NumberTheory/Cyclotomic/Discriminant.lean,Mathlib/NumberTheory/Cyclotomic/Rat.lean,Mathlib/NumberTheory/FLT/Three.lean,Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/GaussSum.lean,Mathlib/NumberTheory/Liouville/Basic.lean,Mathlib/NumberTheory/Liouville/LiouvilleNumber.lean,Mathlib/NumberTheory/Modular.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Defs.lean,Mathlib/NumberTheory/ModularForms/Identities.lean,Mathlib/NumberTheory/ModularForms/JacobiTheta/OneVariable.lean,Mathlib/NumberTheory/ModularForms/SlashActions.lean,Mathlib/NumberTheory/ModularForms/SlashInvariantForms.lean,Mathlib/NumberTheory/MulChar/Lemmas.lean,Mathlib/NumberTheory/NumberField/Basic.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean,Mathlib/NumberTheory/NumberField/ClassNumber.lean,Mathlib/NumberTheory/NumberField/Discriminant.lean,Mathlib/NumberTheory/NumberField/Embeddings.lean,Mathlib/NumberTheory/NumberField/FractionalIdeal.lean,Mathlib/NumberTheory/NumberField/Norm.lean,Mathlib/NumberTheory/NumberField/Units/DirichletTheorem.lean,Mathlib/RepresentationTheory/Maschke.lean,Mathlib/RingTheory/Adjoin/Basic.lean,Mathlib/RingTheory/Adjoin/FG.lean,Mathlib/RingTheory/AlgebraTower.lean,Mathlib/RingTheory/Discriminant.lean,Mathlib/RingTheory/FractionalIdeal/Norm.lean,Mathlib/RingTheory/Ideal/Norm.lean,Mathlib/RingTheory/IntegralClosure/IsIntegralClosure/Basic.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/FractionRing.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Eval.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Expand.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Roots.lean,Mathlib/RingTheory/Polynomial/GaussLemma.lean,Mathlib/RingTheory/Polynomial/Hermite/Gaussian.lean,Mathlib/RingTheory/Polynomial/Pochhammer.lean,Mathlib/RingTheory/RootsOfUnity/Lemmas.lean,Mathlib/RingTheory/RootsOfUnity/Minpoly.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/Trace/Basic.lean,Mathlib/RingTheory/WittVector/Basic.lean,Mathlib/RingTheory/WittVector/Defs.lean,Mathlib/RingTheory/WittVector/Frobenius.lean,Mathlib/RingTheory/WittVector/InitTail.lean,Mathlib/RingTheory/WittVector/IsPoly.lean,Mathlib/RingTheory/WittVector/MulP.lean,Mathlib/RingTheory/WittVector/StructurePolynomial.lean,Mathlib/RingTheory/WittVector/Verschiebung.lean 80 6 ['eric-wieser', 'github-actions', 'leanprover-bot', 'mattrobball'] nobody
109-63968
3 months ago
109-63968
3 months ago
0-0
0 seconds
14803 StevenClontz
author:StevenClontz
chore: use `Disjoint` nhd filters for all separation axioms --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict 157/122 Mathlib/Topology/Separation.lean 1 1 ['github-actions'] nobody
109-63963
3 months ago
109-63964
3 months ago
0-0
0 seconds
14675 adomani
author:adomani
dev: the repeated variable linter --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter merge-conflict WIP 71/0 Mathlib/Tactic/Linter/Lint.lean 1 1 ['github-actions'] nobody
109-63958
3 months ago
109-63958
3 months ago
0-8
8 seconds
14330 Ruben-VandeVelde
author:Ruben-VandeVelde
chore: split Mathlib.Algebra.Star.Basic --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict awaiting-author 446/331 Mathlib.lean,Mathlib/Algebra/Module/LinearMap/Star.lean,Mathlib/Algebra/Star/Basic.lean,Mathlib/Algebra/Star/BigOperators.lean,Mathlib/Algebra/Star/Defs.lean,Mathlib/Algebra/Star/Lemmas.lean,Mathlib/Algebra/Star/Order.lean,Mathlib/Algebra/Star/Pi.lean,Mathlib/Algebra/Star/Pointwise.lean,Mathlib/Algebra/Star/Rat.lean,Mathlib/Algebra/Star/Regular.lean,Mathlib/Algebra/Star/StarRingHom.lean,Mathlib/Analysis/NormedSpace/LinearIsometry.lean,Mathlib/Data/Complex/Basic.lean,scripts/noshake.json 15 3 ['github-actions', 'grunweg', 'j-loreaux'] nobody
109-63918
3 months ago
109-63944
3 months ago
0-45204
12 hours
14023 mattrobball
author:mattrobball
perf(RingTheory.OreLocalization): make data irreducible We generally do not want to unfold operations passing through `Quotient` if we can avoid it for performance reasons. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 43/32 Mathlib/GroupTheory/MonoidLocalization.lean,Mathlib/RingTheory/OreLocalization/Basic.lean,Mathlib/RingTheory/OreLocalization/Ring.lean 3 5 ['github-actions', 'grunweg', 'leanprover-bot', 'mattrobball'] nobody
109-63813
3 months ago
417-53636
1 year ago
0-0
0 seconds
14007 adomani
author:adomani
test: papercut linter working on all mathlib This PR is a testing ground for potential issues with the papercut linter #13999. It is not intended to be merged. The linter is active on all of mathlib, to make sure that the linter does not throw errors, but only emits warnings! --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter merge-conflict WIP 249/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/Papercut.lean,test/Papercut.lean 5 1 ['github-actions'] nobody
109-63803
3 months ago
109-63803
3 months ago
0-0
0 seconds
20354 eric-wieser
author:eric-wieser
feat: generalize `ContinuousLinearMap.curry` to TVS Follow on from #10777 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict 57/25 Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean 1 3 ['eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] nobody
109-63738
3 months ago
109-63738
3 months ago
0-0
0 seconds
11523 thorimur
author:thorimur
bench: test syntax linter --- The purpose of this PR is just to bench the "best-case scenario" for a linter which iterates through syntax, updating and checking a simple counter along the way. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter merge-conflict 22/0 Mathlib.lean,Mathlib/Command/Linter.lean,Mathlib/Tactic/Common.lean 3 3 ['grunweg', 'leanprover-bot', 'thorimur'] nobody
109-63647
3 months ago
109-63647
3 months ago
0-0
0 seconds
8511 eric-wieser
author:eric-wieser
refactor(MeasureTheory/Measure/Haar/Basic): partially generalize to the affine case Without a `Mul` version of `AddTorsor`, this generalization can only go so far. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability merge-conflict awaiting-author 52/46 Mathlib/MeasureTheory/Measure/Haar/Basic.lean 1 0 [] nobody
109-63549
3 months ago
109-63549
3 months ago
0-0
0 seconds
7994 ericrbg
author:ericrbg
chore: generalize `LieSubalgebra.mem_map_submodule` --- Not sure if we should rename to something like `mem_map_iff_mem_map_submodule` or not. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict please-adopt
label:t-algebra$
16/4 Mathlib/Algebra/Lie/SkewAdjoint.lean,Mathlib/Algebra/Lie/Subalgebra.lean 2 3 ['eric-wieser', 'ericrbg'] nobody
109-63537
3 months ago
109-63537
3 months ago
0-0
0 seconds
6317 eric-wieser
author:eric-wieser
refactor(Data/Finsupp/Defs): make Finsupp.single defeq to Pi.single By adding a `DecidableEq ι` argument to `Finsupp.single`, we remove the reference to `Classical.decEq ι` in the definition, which in turn means that when coerced to a function it is now defeq to `Pi.single`. This also brings it in line with `DFinsupp.single`. This does not go as far as making `Finsupp.single` computable. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict WIP 269/226 Mathlib/Algebra/BigOperators/Finsupp.lean,Mathlib/Data/Finsupp/AList.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Finsupp/Fintype.lean,Mathlib/Data/Finsupp/Indicator.lean,Mathlib/Data/Finsupp/Multiset.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Finsupp/ToDFinsupp.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/LinearAlgebra/Basis.lean,Mathlib/LinearAlgebra/Finsupp.lean 12 0 [] nobody
109-63531
3 months ago
109-63531
3 months ago
0-0
0 seconds
6277 jjaassoonn
author:jjaassoonn
Dimension theory Some results are - The ring Krull dimension and the topological dimension of the prime spectrum of a ring are the same - A field is zero-dimensional and a PID that is not a field is one dimensional - An Artinian ring is zero-dimensional - The Krull dimension of ring $R$ is equal to the supremum of heights of maximal ideals [00KG](https://stacks.math.columbia.edu/tag/00KG) - two definitions of module length agree - A module is finite length iff both artinian and noetherian - length of module $M$ is equal to the sum of length of $N$ and length of $M / N$ where $N$ is a submodule of $M$. - Noetherian ring has only finitely many minimal primes #9088 - In a zero dimensional ring, prime ideals are maximal - Artinian rings has finitely many maximal ideals #9087 - zero-dimensional rings with finitely many prime ideals are products of its localizations: $R \cong \prod_{\mathfrak{p}}R_{\mathfrak{p}}$ - Let $M_0 \le ... \le M_n$, then $l(M_n/ M_0) = l(M_1/M_0) + l(M_2/M_1) + ... + l(M_n/M_{n-1})$ where $l$ denotes module length. - If $f : R \to S$ is a ring homomorphism and $M$ an $S$-module, then $l_R(M) \le l_S(M)$, when $f$ is surjective then they are equal. (Note that this is expressed using `[Algebra R S]` and `RestrictScalars R S M`, instead of a literal ring hom) - Artinian rings are noetherian ring of dimension 0. - For 0-dimensional local ring, its maximal ideal is locally nilpotent - In notherian ring, $I \le \sqrt{J}$ implies $I ^ n \le J$ for some $n$ --- - [x] depends on: #6309 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
3289/459 Mathlib.lean,Mathlib/Algebra/Module/Length.lean,Mathlib/Algebra/Module/Submodule/JordanHolder.lean,Mathlib/Algebra/PUnitInstances.lean,Mathlib/AlgebraicGeometry/PrimeSpectrum/ArtinianAndNoetherian.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Dedup.lean,Mathlib/Data/List/Nodup.lean,Mathlib/LinearAlgebra/Quotient.lean,Mathlib/Order/Cover.lean,Mathlib/Order/JordanHolder.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Order/ListOnPartialOrderTypes.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/RelSeries.lean,Mathlib/RingTheory/Artinian.lean,Mathlib/RingTheory/Finiteness.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Pi.lean,Mathlib/RingTheory/KrullDimension.lean,Mathlib/RingTheory/Noetherian.lean,Mathlib/RingTheory/SimpleModule.lean,Mathlib/Topology/KrullDimension.lean,Mathlib/Topology/Sheaves/SheafCondition/EqualizerProducts.lean 24 11 ['alreadydone', 'jjaassoonn', 'leanprover-community-mathlib4-bot'] nobody
109-63526
3 months ago
541-33539
1 year ago*
0-0
0 seconds*
4979 mhk119
author:mhk119
doc(Data/Nat/Bitblast): initial commit Initial commit of Bitblast.lean where we prove equivalence of bitblast unsigned less than and bitblast addition. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict 202/4 Mathlib/Data/Bool/Basic.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Pow.lean 3 49 ['ChrisHughes24', 'digama0', 'goens', 'grunweg', 'j-loreaux', 'kim-em', 'mhk119'] nobody
109-63515
3 months ago
109-63515
3 months ago
7-68358
7 days
8536 jjaassoonn
author:jjaassoonn
characteristic predicate of tensor product --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
399/7 Mathlib/Algebra/Category/AlgebraCat/Monoidal.lean,Mathlib/LinearAlgebra/IsTensorProduct.lean,Mathlib/LinearAlgebra/TensorProduct.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean 4 12 ['alreadydone', 'eric-wieser', 'jjaassoonn'] nobody
109-63479
3 months ago
109-63479
3 months ago
0-0
0 seconds
11524 mcdoll
author:mcdoll
refactor: Introduce type-class for SchwartzMap --- There are a lot of other refactors to do (`seminormAux` should have a nicer name and gobble up more theorems from `seminorm`), then one can prove `integrable` and friends with only `SchwartzMapClass`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict WIP 139/137 Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/Fourier/PoissonSummation.lean,Mathlib/Topology/ContinuousFunction/ZeroAtInfty.lean 3 0 [] nobody
109-63445
3 months ago
109-63445
3 months ago
0-0
0 seconds
9819 jjaassoonn
author:jjaassoonn
fg graded ring 1. if $A$ is a noetherian graded ring, then $A_0$ is a noetherian subring of $A$ and $A$ is a finitely generated algebra over $A_0$, if $M$ is a finitely generated graded module over $A$, then each $M_n$ is a finitely generated module over $A_0$. 2. Definition of additive functions over any abelian category: if $C$ is an abelian category, a function $f : C \to \mathbb Z$ is said to be additive, if $f(y) = f(x) + f(z)$ whenever $0\to x \to y \to z \to 0$ is exact. proved some basic properties such as $f(0) = 0$ and $f(x) = f(y)$ whenever $x \cong y$ and interaction of $f$ with longer exact sequences 3. The category of finitely generated module over noetherian ring is abelian 4. A proof of Hilbert-Serre theorem: the Poincare series is actually of the form $\frac{p}{\prod(1- X^i)}$ where $p$ is polynomial The code works, but poorly written. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
6745/217 Mathlib.lean,Mathlib/Algebra/Category/FGModuleCat/Abelian.lean,Mathlib/Algebra/Category/FGModuleCat/Basic.lean,Mathlib/Algebra/Category/FGModuleCat/EpiMono.lean,Mathlib/Algebra/Category/FGModuleCat/Kernels.lean,Mathlib/Algebra/Category/FGModuleCat/Limits.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/HilbertSerre/AdditiveFunction.lean,Mathlib/Algebra/HilbertSerre/FiniteInstances.lean,Mathlib/Algebra/HilbertSerre/HilbertPolynomial.lean,Mathlib/Algebra/HilbertSerre/Theorem.lean,Mathlib/Algebra/Module/GradeZeroModule.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean,Mathlib/RingTheory/FiniteType.lean,Mathlib/RingTheory/Finiteness.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousIdeal.lean,Mathlib/RingTheory/GradedAlgebra/Noetherian.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean,Mathlib/RingTheory/GradedAlgebra/Subgrading.lean,Mathlib/RingTheory/Polynomial/Hilbert.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/WellKnown.lean 25 n/a ['FMLJohn', 'github-actions'] nobody
109-63427
3 months ago
unknown
unknown
13543 adomani
author:adomani
test: automatically undeprecate A test for `update_deprecations`. There are two files with deprecated declarations, but CI automatically fixes them, so that they pass the noisy tests (as well as passing fail-on-warning `lake build`). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter merge-conflict 345/4 .github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/UpdateDeprecations.lean,Mathlib/test_depr.lean,Mathlib/test_depr_no_change.lean,lakefile.lean,scripts/update_deprecations.lean,test/UpdateDeprecations.lean 12 0 [] nobody
109-63278
3 months ago
109-63278
3 months ago
0-0
0 seconds
14932 eric-wieser
author:eric-wieser
chore: add nndist versions of lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict 108/1 Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Geometry/Euclidean/Basic.lean 2 1 ['github-actions'] nobody
109-63091
3 months ago
109-63091
3 months ago
0-0
0 seconds
22269 Thmoas-Guan
author:Thmoas-Guan
chore(Algebra): replace Submodule.quotient.mk with Submodule.mkQ Replace Submodule.quotient.mk with Submodule.mkQ as much as possible as it have better composition property and more direct lemmas, making it more similarly with `Ideal.Quotient.mk` (except Algebra.Lie.Quotient.Basic for ones more familiar with these area) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict awaiting-author
label:t-algebra$
431/218 Mathlib/Algebra/Exact.lean,Mathlib/Algebra/Module/CharacterModule.lean,Mathlib/Algebra/Module/LocalizedModule/Submodule.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/LinearAlgebra/Dimension/Constructions.lean,Mathlib/LinearAlgebra/Dimension/RankNullity.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean,Mathlib/LinearAlgebra/Isomorphisms.lean,Mathlib/LinearAlgebra/Projection.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/LinearAlgebra/Quotient/Defs.lean,Mathlib/LinearAlgebra/Quotient/Pi.lean,Mathlib/LinearAlgebra/SModEq.lean,Mathlib/LinearAlgebra/Semisimple.lean,Mathlib/LinearAlgebra/TensorProduct/Quotient.lean,Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/RepresentationTheory/GroupCohomology/LowDegree.lean,Mathlib/RingTheory/AdicCompletion/Algebra.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/Exactness.lean,Mathlib/RingTheory/AdicCompletion/Functoriality.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean,Mathlib/RingTheory/Ideal/Colon.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Defs.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/PowerBasis.lean,Mathlib/RingTheory/QuotSMulTop.lean,Mathlib/RingTheory/Smooth/Basic.lean,Mathlib/RingTheory/TensorProduct/Quotient.lean 33 10 ['Thmoas-Guan', 'alreadydone', 'erdOne', 'github-actions', 'grunweg', 'leanprover-bot'] nobody
108-55830
3 months ago
108-55830
3 months ago
16-61571
16 days
18202 ADedecker
author:ADedecker
chore: refactor algebraic filter bases --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-topology merge-conflict
label:t-algebra$
1086/1315 Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/Barrelled.lean,Mathlib/Analysis/LocallyConvex/WeakDual.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/Normed/Operator/WeakOperatorTopology.lean,Mathlib/FieldTheory/KrullTopology.lean,Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/Module/UniformConvergence.lean,Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/UniformFilterBasis.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean 14 1 ['github-actions'] nobody
108-55762
3 months ago
108-55762
3 months ago
0-0
0 seconds
23546 JovanGerb
author:JovanGerb
feat(LinearAlgebra/AffineSpace/AffineSubspace): rename `AffineSubspace.mk'` to `Submodule.shift` In addition to renaming, I've refactored the code a bit: - `mem_mk'_iff_vsub_mem` was obsolete since it was the same as `mem_mk'`, so I removed it (this is due to a change in the definition I made recently) - I added a nonempty instance for `shift` - I added a simp lemma that `shift` isn't equal to `⊥` (the empty affine subspace). I need this for the next point. - Edit: I'll leave this for a later PR. ~I proved a simp lemma that a `shift` is parallel to a `shift` if and only if the linear subspaces are the same.~ - I renamed `mk'_eq` to `shift_direction_eq_self `. - I renamed `eq_or_eq_secondInter_of_mem_mk'_span_singleton_iff_mem` to `eq_or_eq_secondInter_iff_mem_of_mem_shift_span_singleton`. I think it is better to put the `of_mem_mk'_span_singleton` at the end of the name. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-euclidean-geometry merge-conflict 128/99 Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Geometry/Euclidean/Basic.lean,Mathlib/Geometry/Euclidean/MongePoint.lean,Mathlib/Geometry/Euclidean/PerpBisector.lean,Mathlib/Geometry/Euclidean/Sphere/SecondInter.lean,Mathlib/Geometry/Euclidean/Sphere/Tangent.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean 7 4 ['JovanGerb', 'github-actions', 'leanprover-community-bot-assistant'] nobody
108-38262
3 months ago
108-38263
3 months ago
26-25420
26 days
19315 quangvdao
author:quangvdao
feat(Data/Finsupp/Fin): Add `Finsupp` operations on `Fin` tuple This PR adds more analogues of operations on `Fin` tuples to the `Finsupp` setting. Before, there were only `Finsupp.cons` and `Finsupp.tail`. Now there are also `Finsupp.snoc`, `Finsupp.insertNth`, `Finsupp.init`, and `Finsupp.removeNth`. These all come with supporting lemmas. I also removed the porting comment about `succAboveCases` in `Data/Fin/Basic`, and added a lemma about `succAbove` in `Data/Fin/Tuple/Basic`. --- - [x] depends on: #20361 - [x] depends on: #20771 - [x] depends on: #20770 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict awaiting-author 193/16 Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finsupp.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Data/Finsupp/Fin.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean,scripts/nolints_prime_decls.txt 6 44 ['YaelDillies', 'github-actions', 'j-loreaux', 'kbuzzard', 'mathlib4-dependent-issues-bot', 'quangvdao'] nobody
106-12521
3 months ago
106-12521
3 months ago
43-81255
43 days
19464 adomani
author:adomani
test: removed merge-conflict --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI merge-conflict delegated WIP 22/1 .github/workflows/PR_summary.yml,scripts/zulip_emoji_merge_delegate.py 2 10 ['adomani', 'github-actions', 'leanprover-community-bot-assistant'] nobody
105-23845
3 months ago
105-23847
3 months ago
0-0
0 seconds
7907 urkud
author:urkud
feat: introduce `NthRoot` notation class Also use it for `Real.sqrt`, and replace the few occurrences of `sqrt` that do not already use the notation. --- [Zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/.60Sqrt.60.20notation.20typeclass/near/400086502) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-analysis awaiting-CI merge-conflict
label:t-algebra$
193/156 Archive/Imo/Imo1959Q2.lean,Archive/Imo/Imo1960Q2.lean,Archive/Imo/Imo2001Q2.lean,Archive/Imo/Imo2006Q3.lean,Archive/Imo/Imo2008Q3.lean,Archive/Imo/Imo2008Q4.lean,Archive/Sensitivity.lean,Archive/Wiedijk100Theorems/AreaOfACircle.lean,Mathlib.lean,Mathlib/Algebra/NthRoot.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/Complex/AbelLimit.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/Asymptotics.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Bounds.lean,Mathlib/Data/Real/GoldenRatio.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean,Mathlib/NumberTheory/Harmonic/GammaDeriv.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/ConvexBody.lean,Mathlib/NumberTheory/NumberField/ClassNumber.lean,Mathlib/NumberTheory/NumberField/Discriminant/Basic.lean,Mathlib/Probability/Distributions/Gaussian.lean,MathlibTest/positivity.lean 28 9 ['eric-wieser', 'github-actions', 'kmill', 'urkud'] nobody
104-39635
3 months ago
358-53193
11 months ago
0-0
0 seconds
9273 grunweg
author:grunweg
feat: extended charts are local diffeomorphisms on their source --- TODO: I think this should hold at any interior point - as the inverse of the extended chart, restricted to the interior of its source, will be a local inverse. The analogous result for un-extended charts is shown in #8160. Unresolved questions - are all the tiny API lemmas useful; are any more missing? - do I want similar results for `extChartAt`? (In any case, they are easy to deduce.) - [ ] depends on: #8738 for simplicity [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry merge-conflict 225/12 Mathlib/Geometry/Manifold/ContMDiff/Atlas.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean,Mathlib/Topology/Algebra/Module/Basic.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
104-13670
3 months ago
unknown
unknown
24248 urkud
author:urkud
feat(HaarToSphere): add integrability lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability merge-conflict 99/6 Mathlib/MeasureTheory/Constructions/HaarToSphere.lean,Mathlib/MeasureTheory/Integral/Prod.lean 2 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
101-64100
3 months ago
101-64102
3 months ago
0-0
0 seconds
24019 urkud
author:urkud
feat(Analysis): Poincaré lemma for 1-forms --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict 704/33 Mathlib.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/CompMul.lean,Mathlib/Analysis/Calculus/Deriv/Shift.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Equiv.lean,Mathlib/Analysis/Calculus/Gradient/Basic.lean,Mathlib/Analysis/Calculus/Poincare/OneForm.lean,Mathlib/Analysis/Calculus/TangentCone.lean,Mathlib/MeasureTheory/Integral/DivergenceTheorem.lean,Mathlib/MeasureTheory/Integral/PathIntegral/Basic.lean,Mathlib/Topology/Homotopy/Path.lean,Mathlib/Topology/Path.lean,Mathlib/Topology/UnitInterval.lean 16 4 ['github-actions', 'leanprover-community-bot-assistant'] nobody
101-23209
3 months ago
101-23211
3 months ago
0-0
0 seconds
24642 grunweg
author:grunweg
WIP-feat: add layercake formula for ENNReal-valued functions Not much to see here yet; some significant amount of work remains. --- - [ ] depends on: #24643 - [ ] depends on: #24640 (based on that PR for simplicity) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) carleson t-analysis merge-conflict WIP 189/24 Mathlib/Analysis/SpecialFunctions/Pow/Integral.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Integral/Layercake.lean 4 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
100-32520
3 months ago
100-32523
3 months ago
0-0
0 seconds
21712 grunweg
author:grunweg
chore: generalise more lemmas to `ContinuousENorm` --- - [x] depends on: #21781 (minor drive-by clean-up) - [x] depends on: #21670 - [x] depends on: #22708 (extracted from this) - some parts depend on #21433 (or better: #22175); when the dependent PR has landed, I will re-assess whether to split these into a separate PR [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) carleson t-measure-probability awaiting-CI merge-conflict 76/31 Mathlib/Analysis/Normed/MulAction.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/ContinuousFunctions.lean 4 5 ['github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
99-54204
3 months ago
109-64238
3 months ago
0-0
0 seconds
21375 grunweg
author:grunweg
WIP: generalise lemmas to ENorm This work is part of (and a necessary pre-requisite for) the Carleson project. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) carleson t-measure-probability awaiting-CI merge-conflict WIP 471/221 Mathlib/Analysis/NormedSpace/IndicatorFunction.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Function/LpOrder.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/ChebyshevMarkov.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Trim.lean,Mathlib/MeasureTheory/Function/LpSpace.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/Probability/Independence/Integrable.lean 13 2 ['fpvandoorn', 'grunweg'] nobody
99-48579
3 months ago
109-64233
3 months ago
0-0
0 seconds
24378 urkud
author:urkud
feat(Algebra/Order/Field/Basic): generalize lemmas ... from linear ordered semifields to (commutative) groups with zero. --- I'm going to do another round of generalizing today or tomorrow, so making it a draft PR for now. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
183/181 Archive/OxfordInvariants/Summer2021/Week3P1.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/CStarAlgebra/ApproximateUnit.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean,Mathlib/Analysis/Complex/AbelLimit.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/Analysis/Convex/SpecificFunctions/Basic.lean,Mathlib/Analysis/Convex/SpecificFunctions/Pow.lean,Mathlib/Analysis/Convex/StrictConvexSpace.lean,Mathlib/Analysis/Convex/Uniform.lean,Mathlib/Analysis/Convex/Visible.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/Normed/Field/Lemmas.lean,Mathlib/Analysis/Normed/Field/Ultra.lean,Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean,Mathlib/Analysis/NormedSpace/HomeomorphBall.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/NormedSpace.lean,Mathlib/Analysis/NormedSpace/Pointwise.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Analysis/SpecialFunctions/Log/Deriv.lean,Mathlib/Analysis/SpecialFunctions/MulExpNegMulSqIntegral.lean,Mathlib/Analysis/SpecialFunctions/SmoothTransition.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Bounds.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/Analysis/SpecificLimits/FloorPow.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean,Mathlib/Combinatorics/Schnirelmann.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Chunk.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Data/Nat/Cast/Order/Field.lean,Mathlib/Data/Real/Archimedean.lean,Mathlib/Data/Real/Cardinality.lean,Mathlib/Data/Real/Pi/Wallis.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/RightAngle.lean,Mathlib/Geometry/Euclidean/Sphere/Tangent.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/CircleIntegral.lean,Mathlib/MeasureTheory/Integral/MeanInequalities.lean,Mathlib/MeasureTheory/Integral/PeakFunction.lean,Mathlib/MeasureTheory/Measure/SeparableMeasure.lean,Mathlib/NumberTheory/Bertrand.lean,Mathlib/NumberTheory/ClassNumber/AdmissibleAbs.lean,Mathlib/NumberTheory/DiophantineApproximation/Basic.lean,Mathlib/NumberTheory/LSeries/Injectivity.lean,Mathlib/NumberTheory/LSeries/ZMod.lean,Mathlib/NumberTheory/NumberField/Discriminant/Basic.lean,Mathlib/NumberTheory/Padics/Hensel.lean,Mathlib/NumberTheory/Padics/MahlerBasis.lean,Mathlib/NumberTheory/Pell.lean,Mathlib/NumberTheory/Transcendental/Liouville/LiouvilleNumber.lean,Mathlib/Order/Filter/AtTopBot/Floor.lean,Mathlib/Order/Interval/Set/IsoIoo.lean,Mathlib/Probability/StrongLaw.lean,Mathlib/RingTheory/Perfection.lean,Mathlib/Topology/ContinuousMap/Polynomial.lean,Mathlib/Topology/Instances/AddCircle.lean,Mathlib/Topology/UrysohnsLemma.lean 72 3 ['github-actions', 'leanprover-community-bot-assistant'] nobody
99-32909
3 months ago
99-32911
3 months ago
0-0
0 seconds
13685 niklasmohrin
author:niklasmohrin
feat(Combinatorics): add definitions for network flows Although we might not have any super-interesting results ready for mathlib yet, I feel that the definitions from this commit are already mature enough to include. These definitions are ported from last semester's work we did at https://github.com/niklasmohrin/lean-seminar-2023 and I have put some time in to refactor our code to `Int` and now to any parameter `R`. In the linked repository, there is some more stuff that I can send in. One obstacle without integer values is that it is not clear why a maximum flow would exist. I think the best way to tackle this would be to prove max-flow-min-cut theorem and implement the Ford-Fulkerson algorithm. It has been pointed out on Zulip that there is an [Isabelle formalization of the Edmonds Karp Algorithm](https://www.isa-afp.org/entries/EdmondsKarp_Maxflow.html). I feel that the definitions are pretty solid and it makes sense to include them, even if just for unifying definitions across downstream projects. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics merge-conflict awaiting-author 244/0 Mathlib.lean,Mathlib/Combinatorics/Flow/Basic.lean,docs/references.bib 3 57 ['Shreyas4991', 'YaelDillies', 'b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'madvorak', 'niklasmohrin'] nobody
98-2758
3 months ago
98-2760
3 months ago
86-21072
86 days
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 t-topology merge-conflict awaiting-author help-wanted 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
97-44914
3 months ago
122-29218
4 months ago
21-25493
21 days
17129 joneugster
author:joneugster
feat(Tactic/Linter): add unicode linter for unicode variant-selectors Unicode characters can be followed by one of the two "variant-selectors" `\FE0E` (text) or `\FE0F` (emoji). These appear to the user as a single unicode character and they might copy them by accident. For example `✅️` (`\u2705\uFE0F`), `✅` (`\u2705`) and `✅︎` (`\u2705\uFE0E`) are three variants of the "same" unicode character. The one without variant-selector might display as either emoji or not, depending on the user's device and font. Add unicode linter ensuring variant-selector only appear on specified characters and also ensuring these characters always have the correct variant selector to avoid confusions. Everything flagged by this linter can be fixed fully automatically with `lake exe lint-style --fix` or by commenting `bot fix style` on the PR. --- - tracking PR: #16215 ## Zulip discussions: - https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Whitelist.20for.20Unicode.3F - https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Lean.20specific.20font ## Related PRs: - leanprover/lean4#5015 added some emoji-variant selectors to Emojis used in `Lean` itself. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-linter merge-conflict delegated awaiting-author 245/14 Mathlib.lean,Mathlib/GroupTheory/GroupExtension/Defs.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/Linter/UnicodeLinter.lean,Mathlib/Tactic/Widget/Calc.lean,Mathlib/Tactic/Widget/CongrM.lean,Mathlib/Tactic/Widget/Conv.lean,Mathlib/Tactic/Widget/GCongr.lean,Mathlib/Topology/ContinuousMap/Weierstrass.lean,MathlibTest/LintStyleTextBased.lean 11 25 ['YaelDillies', 'adomani', 'github-actions', 'grunweg', 'joneugster', 'kim-em', 'leanprover-community-bot-assistant'] nobody
96-33420
3 months ago
96-33422
3 months ago
82-54712
82 days
17131 joneugster
author:joneugster
feat(Tactic/Linter): add unicode linter for unwanted characters Add unicode linter flagging bad unicode characters. In this first form, the linter only flags `\u00A0` (non-breaking space) and replaces it with a normal space. Non-breaking space has been chosen because they keep reappearing in mathlib and it seems to be uncontroversial to lint for these. The whitelist/blacklist could then be refined in future PRs. Everything flagged by this linter can be fixed fully automatically with `lake exe lint-style --fix` or by commenting `bot fix style` on the PR. --- - tracking PR: #16215 ## Zulip discussions: - https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Whitelist.20for.20Unicode.3F - https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Lean.20specific.20font [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-linter merge-conflict awaiting-author 112/8 Mathlib.lean,Mathlib/Algebra/Lie/Semisimple/Lemmas.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/CategoryTheory/Category/ReflQuiv.lean,Mathlib/LinearAlgebra/Vandermonde.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/Linter/UnicodeLinter.lean 8 6 ['github-actions', 'grunweg', 'leanprover-community-bot-assistant'] adomani and grunweg
assignee:grunweg assignee:adomani
96-33419
3 months ago
96-33421
3 months ago
52-18594
52 days
8495 jjaassoonn
author:jjaassoonn
feat : Tensor-Hom adjunction in the category of modules # Tensor-Hom adjunction Let $R$ be a commutative ring and $S$ any ring. Let $X$ be an $(S,R)$-bimoule. Then the tensor functor $(X \otimes_R \cdot)$ is a functor from left $R$-modules to left $S$-modules; and the hom-functor $Hom_S(X, \cdot)$ is a functor from left $S$-modules to left $R$-modules. For another left $S$-module $Y$, the left $R$-module structure of $Hom_S(X, Y)$ is given by $s \cdot f := x \mapsto f(s \cdot x)$. These two functors are adjoint.. In particular we have that ```math {\rm Hom}_{S}(X\otimes_R Y, Z) \cong {\rm Hom}_R (Y, {\rm Hom}_S (X, Z)) ``` ## Implementation notes 1. Why not use the `Mathlib/LinearAlgebra/TensorProduct/Tower.lean` In our setting `X` is an `(R, S)` bimodule and `Y` an `R`-module and `Z` an `S`-module so to use the `Tower` file, we need `S` to be an `R`-algebra which is a luxury we do not have. But note that in `Tower` file, `curry` and `uncurry` are both tri-linear maps. So `Tower` file allows interplay of 3 rings which is not allowed in this file. 2. We require `R` to be commutative but we never used anything commutative. This is because of tensor product requires commutativity, but thanks to @alreadydone, this assumption could be removed soon. I think this PR should wait for Junyan's attempt on removing commutativity, so it is marked as draft and wip for now --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict awaiting-author WIP
label:t-algebra$
214/0 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/TensorHomAdjunction.lean 2 88 ['alreadydone', 'bustercopley', 'eric-wieser', 'github-actions', 'jjaassoonn', 'kbuzzard', 'kim-em', 'leanprover-community-bot-assistant'] eric-wieser
assignee:eric-wieser
95-39450
3 months ago
95-39451
3 months ago
0-0
0 seconds
19284 adomani
author:adomani
test: commit a change only to the "master" CI build action This PR should fail CI, since the main CI build file is incompatible with the autogenerated ones. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI merge-conflict awaiting-author 3/3 .github/build.in.yml,.github/workflows/actionlint.yml 2 12 ['adomani', 'bryangingechen', 'github-actions', 'jcommelin', 'leanprover-community-bot-assistant'] bryangingechen
assignee:bryangingechen
93-70854
3 months ago
93-70855
3 months ago
0-0
0 seconds
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/) awaiting-zulip t-computability new-contributor merge-conflict awaiting-author 307/5 Mathlib/Computability/NFA.lean 1 15 ['TpmKranz', 'YaelDillies', 'dupuisf', 'github-actions', 'leanprover-community-bot-assistant', 'meithecatte'] nobody
93-33166
3 months ago
93-33167
3 months ago
45-84611
45 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/) awaiting-zulip t-computability new-contributor merge-conflict awaiting-author 218/2 Mathlib/Computability/Language.lean,Mathlib/Computability/NFA.lean 2 90 ['EtienneC30', 'b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'meithecatte', 'rudynicolop'] EtienneC30
assignee:EtienneC30
93-32240
3 months ago
93-32242
3 months ago
39-67601
39 days
15254 yuma-mizuno
author:yuma-mizuno
feat(CategoryTheory/Monoidal): replace `Mon_` lemmas with `Mon_Class` lemmas We redefine algebras internal to monoidal categories, which were defined by full-bundled structures, in terms of semi-bundled type classes. The original full-bundled structure `X` is renamed to `X_Cat`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict WIP 3982/96 Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Bimod_Class.lean,Mathlib/CategoryTheory/Monoidal/Bimon_.lean,Mathlib/CategoryTheory/Monoidal/Bimon_Class copy.lean,Mathlib/CategoryTheory/Monoidal/Bimon_Class.lean,Mathlib/CategoryTheory/Monoidal/Braided/Opposite.lean,Mathlib/CategoryTheory/Monoidal/CommMon_Class.lean,Mathlib/CategoryTheory/Monoidal/Comon_.lean,Mathlib/CategoryTheory/Monoidal/Comon_Class.lean,Mathlib/CategoryTheory/Monoidal/Internal/ModuleClass.lean,Mathlib/CategoryTheory/Monoidal/Mod_Class.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/Mon_Class.lean,Mathlib/CategoryTheory/Monoidal/mwe.lean 14 n/a ['YaelDillies', 'github-actions', 'leanprover-community-bot-assistant', 'yuma-mizuno'] nobody
90-10025
2 months ago
unknown
unknown
22837 joneugster
author:joneugster
feat(Data/Set/Basic): add subset_iff and not_mem_subset_iff Add `Set.subset_iff` for consistent API with `Finset.subset_iff`. Add `Set.not_mem_subset_iff` and `Finset.not_mem_subset_iff`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory t-data merge-conflict 9/0 Mathlib/Data/Finset/Defs.lean,Mathlib/Data/Set/Basic.lean 2 4 ['Ruben-VandeVelde', 'github-actions', 'joneugster', 'leanprover-community-bot-assistant'] nobody
87-41262
2 months ago
87-41264
2 months ago
30-35190
30 days
23489 plp127
author:plp127
chore: fix recursors Replace motive with `motive` and other improvements. Will probably split this PR after fixing is done. 4013 recursors left --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict WIP 4255/172 Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/Free.lean,Mathlib/Algebra/FreeMonoid/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Lie/BaseChange.lean,Mathlib/Algebra/Lie/IdealOperations.lean,Mathlib/Algebra/Lie/TraceForm.lean,Mathlib/Algebra/Order/Rearrangement.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/SubboxInduction.lean,Mathlib/CategoryTheory/Quotient.lean,Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Fin/Tuple/Basic.lean,Mathlib/Data/Fin/Tuple/BubbleSortInduction.lean,Mathlib/Data/Fin/Tuple/NatAntidiagonal.lean,Mathlib/Data/FinEnum/Option.lean,Mathlib/Data/Finset/Max.lean,Mathlib/Data/Fintype/CardEmbedding.lean,Mathlib/Data/Fintype/Option.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/Data/Nat/BinaryRec.lean,Mathlib/Data/PFun.lean,Mathlib/Data/PFunctor/Multivariate/W.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Coprod/Basic.lean,Mathlib/GroupTheory/Coset/Defs.lean,Mathlib/GroupTheory/Coxeter/Basic.lean,Mathlib/LinearAlgebra/Span/Defs.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaEven.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaOdd.lean,Mathlib/Order/DirectedInverseSystem.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/SetTheory/Cardinal/Defs.lean,Mathlib/SetTheory/PGame/Algebra.lean,done.csv,print.lean,working.csv 42 3 ['github-actions', 'leanprover-community-bot-assistant'] nobody
87-40743
2 months ago
87-40744
2 months ago
0-0
0 seconds
24100 eric-wieser
author:eric-wieser
feat: restore some explicit binders from Lean 3 Part of #24099 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt merge-conflict awaiting-author 39/42 Mathlib/Data/FinEnum.lean,Mathlib/FieldTheory/Galois/Profinite.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/Compactness/CompactlyGeneratedSpace.lean,Mathlib/Topology/MetricSpace/IsometricSMul.lean,Mathlib/Topology/Metrizable/CompletelyMetrizable.lean,Mathlib/Topology/Metrizable/Uniformity.lean,Mathlib/Topology/Order.lean,Mathlib/Topology/Order/LowerUpperTopology.lean,Mathlib/Topology/UniformSpace/UniformEmbedding.lean 10 3 ['github-actions', 'grunweg', 'leanprover-community-bot-assistant'] nobody
87-40618
2 months ago
87-40620
2 months ago
34-33204
34 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). --- - [ ] depends on: #24570 - [ ] 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/) t-linter merge-conflict 58/19 Mathlib/Tactic/Linter/TextBased.lean,scripts/lint-style.lean 2 19 ['Vierkantor', 'adomani', 'github-actions', 'grunweg', 'joneugster', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] joneugster
assignee:joneugster
86-46750
2 months ago
86-46753
2 months ago
43-17409
43 days
24163 urkud
author:urkud
refactor(TangentCone): redefine for TVS --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict 421/284 Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/TangentCone.lean,Mathlib/Topology/Algebra/ConstMulAction.lean 3 4 ['github-actions', 'leanprover-community-bot-assistant'] nobody
85-78467
2 months ago
85-78468
2 months ago
0-0
0 seconds
23349 BGuillemet
author:BGuillemet
feat: add LocallyLipschitzOn.lipschitzOnWith_of_isCompact and two small lemmas about Lipschitz functions Main feat (in Mathlib/Topology/EMetricSpace/Basic.lean): if a function `f` from an extended pseudometric space to a pseudometric space is locally Lipschitz on a compact subset `s`, then `f` is Lipschitz on `s`. The theorem is true only when the codomain of `f` is a pseudometric space, so it needs imports from Mathlib/Topology/MetricSpace. Other small feat (in Mathlib/Analysis/Calculus/ContDiff/RCLike.lean): a function that is continuously differentiable on an open subset is locally Lipschitz on this subset. --- - [ ] depends on: #22890 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-topology merge-conflict 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
85-28480
2 months ago
85-28482
2 months ago
35-30364
35 days
23767 grunweg
author:grunweg
refactor: make library notes a definition Make library notes a definition of `Unit` type, whose doc-string is the note's content. As a consequence, - doc-gen will display all library notes without any custom logic, - library notes are shown upon hover (via the use of the doc-string), - go do definition for library notes is easy Automate this using a macro, which also enforces that all library notes are inside the Mathlib.LibraryNote namespace. *Temporarily*, we use the `library_note2` name; if/when the batteries version is changed, we can reclaim the original name. This PR does not address how to *refer* to library notes nicely (in a way that is shown in the documentation, checked for typos, with sufficient imports ensured etc.). That is left to a future PR. This is proposal 2a from this [zulip discussion]([#mathlib4 > library notes @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/library.20notes/near/510614740)) ------------ Open questions/TODOs: - should this go in batteries instead? can the old definition just be overwritten? - otherwise, what's the best place for the `LibraryNote` definition? A single file just for this feels overkill; I put it in Mathlib.Tactic.Basic for now. I could use Mathlib.Init, of course (but that might be excessive) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-meta merge-conflict 48/48 Archive/Imo/Imo2019Q2.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/Category/Ring/Limits.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Scalar.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/HierarchyDesign.lean,Mathlib/Algebra/Order/Hom/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Note.lean,Mathlib/Analysis/RCLike/Lemmas.lean,Mathlib/CategoryTheory/Category/Basic.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/Data/Nat/Cast/Defs.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Geometry/Manifold/Algebra/Monoid.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Logic/Basic.lean,Mathlib/Tactic/Basic.lean,Mathlib/Tactic/NormNum/Basic.lean,Mathlib/Tactic/Simps/Basic.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Continuous.lean 26 9 ['adomani', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant'] nobody
83-41575
2 months ago
83-41577
2 months ago
51-69759
51 days
12438 jjaassoonn
author:jjaassoonn
feat: some APIs for flat modules Need horseshoe lemma --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict WIP 1674/3 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Symmetric.lean,Mathlib/Algebra/Exact.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/CategoryTheory/Abelian/DiagramLemmas/Horseshoe.lean,Mathlib/CategoryTheory/Abelian/LeftDerived.lean,Mathlib/RingTheory/Flat/Basic.lean 8 21 ['erdOne', 'github-actions', 'jjaassoonn', 'joelriou'] nobody
80-41106
2 months ago
466-58523
1 year ago
0-0
0 seconds
24409 urkud
author:urkud
chore(*): fix `nmem` vs `not_mem` names --- There are some missing/buggy deprecations, I'm going to fix them later today or tomorrow. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-zulip tech debt merge-conflict delegated awaiting-author 317/176 Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Group/Finset/Lemmas.lean,Mathlib/Algebra/Group/Indicator.lean,Mathlib/Algebra/Group/Support.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Order/Group/Indicator.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/DSlope.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Support.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/Rademacher.lean,Mathlib/Analysis/Complex/RemovableSingularity.lean,Mathlib/Analysis/Convex/Cone/InnerDual.lean,Mathlib/Analysis/Convex/Cone/Proper.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/Distribution/AEEqOfIntegralContDiff.lean,Mathlib/Data/LocallyFinsupp.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Dynamics/Ergodic/Conservative.lean,Mathlib/Dynamics/Ergodic/Ergodic.lean,Mathlib/Dynamics/Ergodic/Function.lean,Mathlib/Dynamics/PeriodicPts/Defs.lean,Mathlib/Geometry/Manifold/ContMDiff/Basic.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean,Mathlib/GroupTheory/CosetCover.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean,Mathlib/LinearAlgebra/FreeModule/PID.lean,Mathlib/LinearAlgebra/PID.lean,Mathlib/LinearAlgebra/RootSystem/Base.lean,Mathlib/LinearAlgebra/RootSystem/Finite/Lemmas.lean,Mathlib/MeasureTheory/Function/ContinuousMapDense.lean,Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Function/LpSpace/Indicator.lean,Mathlib/MeasureTheory/Integral/Average.lean,Mathlib/MeasureTheory/Integral/Bochner/Set.lean,Mathlib/MeasureTheory/Integral/Layercake.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Basic.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean,Mathlib/MeasureTheory/Measure/AbsolutelyContinuous.lean,Mathlib/MeasureTheory/Measure/AddContent.lean,Mathlib/MeasureTheory/Measure/DiracProba.lean,Mathlib/MeasureTheory/Measure/Haar/Unique.lean,Mathlib/MeasureTheory/Measure/Restrict.lean,Mathlib/MeasureTheory/Measure/WithDensity.lean,Mathlib/MeasureTheory/OuterMeasure/AE.lean,Mathlib/MeasureTheory/SetSemiring.lean,Mathlib/Order/Filter/AtTopBot/CountablyGenerated.lean,Mathlib/Order/Filter/Cocardinal.lean,Mathlib/Order/Filter/Cofinite.lean,Mathlib/Order/Filter/Tendsto.lean,Mathlib/Order/Filter/Ultrafilter/Basic.lean,Mathlib/Probability/Distributions/Uniform.lean,Mathlib/Probability/Kernel/Basic.lean,Mathlib/Probability/Kernel/Composition/MeasureCompProd.lean,Mathlib/RingTheory/AdicCompletion/LocalRing.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/NewtonIdentities.lean,Mathlib/RingTheory/MvPowerSeries/NoZeroDivisors.lean,Mathlib/RingTheory/Spectrum/Maximal/Localization.lean,Mathlib/RingTheory/Spectrum/Prime/RingHom.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean,Mathlib/Topology/Algebra/InfiniteSum/Group.lean,Mathlib/Topology/Algebra/Module/Cardinality.lean,Mathlib/Topology/Algebra/Support.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/ContinuousMap/BoundedCompactlySupported.lean,Mathlib/Topology/Order/Basic.lean,Mathlib/Topology/UrysohnsLemma.lean 77 4 ['b-mehta', 'github-actions', 'jcommelin', 'leanprover-community-bot-assistant', 'mathlib-bors'] nobody
79-68138
2 months ago
79-68138
2 months ago
0-55045
15 hours
25138 chrisflav
author:chrisflav
chore(RingTheory): remove unnecessary `toRingHom` coercions --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
32/40 Mathlib/RingTheory/Extension/Presentation/Basic.lean,Mathlib/RingTheory/FinitePresentation.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Smooth/Basic.lean,Mathlib/RingTheory/Smooth/Kaehler.lean,Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean,Mathlib/RingTheory/Unramified/Basic.lean 9 5 ['chrisflav', 'erdOne', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] nobody
79-29876
2 months ago
79-29878
2 months ago
9-64502
9 days
24965 erdOne
author:erdOne
refactor: Make `IsLocalHom` take unbundled map --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-algebra merge-conflict awaiting-author
label:t-algebra$
16/7 Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/Geometry/RingedSpace/LocallyRingedSpace.lean,Mathlib/Geometry/RingedSpace/LocallyRingedSpace/HasColimits.lean,Mathlib/Geometry/RingedSpace/OpenImmersion.lean 5 6 ['alreadydone', 'erdOne', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] nobody
78-81861
2 months ago
78-81862
2 months ago
10-26015
10 days
8740 digama0
author:digama0
fix: improve `recall` impl / error reporting Simplifies the implementation of `recall`, fixing a bug [reported on Zulip](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/.60recall.60.20strangeness/near/405076713) and also eliminating a use of `open private`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-CI t-meta merge-conflict awaiting-author 27/39 Mathlib/Tactic/Recall.lean 1 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
78-58367
2 months ago
78-58369
2 months ago
0-0
0 seconds
21182 joneugster
author:joneugster
fix(Util/CountHeartbeats): move elaboration in #count_heartbeats inside a namespace Currently the `#count_heartbeat` linter reported the heartbeats until it concluded `error: [declaration] has already been declared` instead of re-elaborating the declaration. --- [Zulip report](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/count_heartbeats.20for.20all.20declarations.20in.20a.20file.3F/near/496303652) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict 72/5 Mathlib/Util/CountHeartbeats.lean,MathlibTest/CountHeartbeats.lean 2 17 ['adomani', 'github-actions', 'joneugster', 'leanprover-community-bot-assistant', 'mathlib-bors'] adomani
assignee:adomani
78-57228
2 months ago
78-57229
2 months ago
64-19141
64 days
17715 adomani
author:adomani
feat: the unusedVariableCommand linter This is still work-in-progress, but also help-wanted! The linter reliably flags unused variables: so far, only `example`s fool it (and that is simply because I did not implement a fix, as there are very few `variable`s that are only used in `example`s in mathlib). The work-in-progress part refers to the fact that the linter uses an `IO.Ref` to keep track of variables and this does not work well with editing the file. The linter works on a fresh parse of a file, but becomes out-of-sync with every edit. The help-wanted is to ask for help to make mathlib compliant with the linter, by checking out this branch and PR-ing a few variable removals! [Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Unused.20variables) --- Known issues: * automatic namespacing and `nonrec` may cause difficulty when the newly introduced declaration is preferred in the term, rather than the original one (see examples here ```bash code -r -g ././././Mathlib/Analysis/SpecialFunctions/Arsinh.lean:183 code -r -g ././././Mathlib/Probability/Independence/Basic.lean:368 ``` where, for instance, `ContinuousOn.arsinh` is used internally instead of `Real.arsinh`). * `mutual` declarations confuse the linter ```bash code -r -g ././././Mathlib/SetTheory/Lists.lean:313 ``` * `code -r -g Mathlib/CategoryTheory/EffectiveEpi/Comp.lean:133:29` * universe annotations confuse the linter: ```bash code -r -g ././././Mathlib/Topology/Category/CompactlyGenerated.lean:53 code -r -g ././././Mathlib/AlgebraicTopology/CechNerve.lean:46 ``` * `inductive`s confusing the linter ```bash code -r -g ././././Mathlib/Deprecated/Subgroup.lean:389 code -r -g ././././Mathlib/FieldTheory/PerfectClosure.lean:55 ``` * `def`s confusing the linter ```bash code -r -g ././././Mathlib/Data/MLList/BestFirst.lean:104 ``` * special typeclass assumptions ```code code -r -g ././././Mathlib/RingTheory/WittVector/Truncated.lean:273 code -r -g ././././Mathlib/Topology/Category/Profinite/Product.lean:79 ``` * not sure what is going on here: ```bash code -r -g ././././Mathlib/RingTheory/WittVector/IsPoly.lean:95 code -r -g ././././Mathlib/Probability/Independence/Basic.lean:368 code -r -g ././././Mathlib/Analysis/Calculus/FDeriv/Star.lean:30 ``` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-linter merge-conflict 695/22 Mathlib.lean,Mathlib/Algebra/Group/Idempotent.lean,Mathlib/Algebra/GroupWithZero/Idempotent.lean,Mathlib/Data/Finite/Defs.lean,Mathlib/Data/Int/Cast/Field.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/Init.lean,Mathlib/MeasureTheory/Function/LpSpace/DomAct/Continuous.lean,Mathlib/NumberTheory/LSeries/PrimesInAP.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/Order/BoundedOrder/Lattice.lean,Mathlib/Order/BoundedOrder/Monotone.lean,Mathlib/Order/Monotone/Monovary.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/UnusedVariableCommand.lean,MathlibTest/UnusedVariableCommand.lean,lakefile.lean 17 n/a ['github-actions', 'grunweg', 'leanprover-community-bot-assistant'] nobody
78-35864
2 months ago
unknown
unknown
24105 urkud
author:urkud
feat(Topology/UniformSpace/Path): new file --- - [x] depends on: #24066 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict awaiting-author 117/5 Mathlib.lean,Mathlib/Topology/ContinuousMap/Defs.lean,Mathlib/Topology/Order/ProjIcc.lean,Mathlib/Topology/Path.lean,Mathlib/Topology/UniformSpace/CompactConvergence.lean,Mathlib/Topology/UniformSpace/Path.lean 6 10 ['ADedecker', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'sgouezel', 'urkud'] nobody
78-30247
2 months ago
78-30248
2 months ago
12-77412
12 days
23371 grunweg
author:grunweg
chore: mark `Disjoint.{eq_bot, inter_eq}` simp And add the analogous lemma to `Finset`. Spun out from #22964, hence transitively part of my bordism theory project. Some lemmas there are more conveniently stated with `Disjoint`, which requires tagging at least `inter_eq` with simp. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order merge-conflict awaiting-author 12/11 Mathlib/Data/Finset/Lattice/Basic.lean,Mathlib/Data/Finset/Lattice/Lemmas.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Disjoint.lean,Mathlib/Order/Disjoint.lean,Mathlib/Topology/Compactification/OnePoint.lean,Mathlib/Topology/Order/OrderClosed.lean 7 31 ['YaelDillies', 'eric-wieser', 'github-actions', 'grunweg', 'j-loreaux', 'leanprover-bot', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot'] nobody
77-41589
2 months ago
77-41592
2 months ago
32-65400
32 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/) CI merge-conflict 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
75-78487
2 months ago
75-78489
2 months ago
285-26861
285 days
16062 adomani
author:adomani
Test/ci olean size Tests for oleans --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI merge-conflict awaiting-author WIP 114/0 .github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,scripts/olean_comparison.sh 5 4 ['Parcly-Taxel', 'adomani', 'github-actions', 'leanprover-community-bot-assistant'] nobody
75-78487
2 months ago
75-78488
2 months ago
0-16
16 seconds
25507 eric-wieser
author:eric-wieser
chore(RingTheory/Valuation): golf using `Con` This has no particular motivation besides seeing if `Con` is a performant substitute. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) bench-after-CI t-algebra merge-conflict
label:t-algebra$
20/35 Mathlib/RingTheory/Valuation/ValuationRing.lean 1 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
75-69966
2 months ago
75-69967
2 months ago
0-0
0 seconds
12799 jstoobysmith
author:jstoobysmith
feat(LinearAlgebra/UnitaryGroup): Add properties of Special Unitary Group Add properties of the special unitary group, mirroring the properties of found in Algebra/Star/Unitary.lean. In particular, I add an instance of `specialUnitaryGroup` as a `Group`, `Star`, `InvolutiveStar`, and `StarMul`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra merge-conflict please-adopt awaiting-author
label:t-algebra$
78/0 Mathlib/LinearAlgebra/UnitaryGroup.lean 1 8 ['chrisflav', 'jcommelin', 'leanprover-community-bot-assistant'] nobody
75-433
2 months ago
75-435
2 months ago
9-22007
9 days
23961 FR-vdash-bot
author:FR-vdash-bot
refactor: unbundle algebra from `ENormed*` Further speed up the search in the algebraic typeclass hierarchy by avoiding searching for `TopologicalSpace`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) slow-typeclass-synthesis maintainer-merge t-algebra t-analysis merge-conflict awaiting-author
label:t-algebra$
32/25 Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Group/Continuity.lean,Mathlib/Analysis/NormedSpace/IndicatorFunction.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean 5 12 ['FR-vdash-bot', 'github-actions', 'grunweg', 'jcommelin', 'leanprover-bot', 'leanprover-community-bot-assistant'] nobody
74-66079
2 months ago
74-66079
2 months ago
17-72244
17 days
23709 plp127
author:plp127
feat: `Nat.findFrom` This PR adds `Nat.findFrom`, which is like `Nat.find`, but starting from an arbitrary `k` instead of `0`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict 190/47 Mathlib/Data/Nat/Find.lean 1 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
74-52122
2 months ago
74-52124
2 months ago
62-25661
62 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/) t-convex-geometry merge-conflict 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
74-51307
2 months ago
74-51309
2 months ago
6-40169
6 days
13994 grunweg
author:grunweg
chore(Topology): replace continuity -> fun_prop Addresses a few porting notes; I expect also a substantial speed-up of some proofs. Change a few default values of proof fields from `continuity` to `fun_prop`; this required a few fix-ups downstream. (I checked a few instances; the failure seems related to `Continuous.subtype_mk` not always firing.) This is almost (but not fully) exhaustive. ---------- One proof gets partially un-automated (cont. -> partial fun_prop); if desired, I can revert this change. - [x] depends on: #11092 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict 105/20 Mathlib/Analysis/Distribution/FourierSchwartz.lean,Mathlib/Analysis/Matrix.lean,Mathlib/Dynamics/Flow.lean,Mathlib/Geometry/RingedSpace/OpenImmersion.lean,Mathlib/Topology/Algebra/Field.lean,Mathlib/Topology/Algebra/Monoid.lean,Mathlib/Topology/Category/TopCat/Limits/Basic.lean,Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean,Mathlib/Topology/ContinuousMap/Basic.lean,Mathlib/Topology/ContinuousMap/Bounded/Basic.lean,Mathlib/Topology/ContinuousMap/Compact.lean,Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean,Mathlib/Topology/ExtremallyDisconnected.lean,Mathlib/Topology/Homotopy/HomotopyGroup.lean,Mathlib/Topology/Homotopy/Path.lean,Mathlib/Topology/Instances/RealVectorSpace.lean,Mathlib/Topology/MetricSpace/Perfect.lean,Mathlib/Topology/UnitInterval.lean 18 12 ['MichaelStollBayreuth', 'github-actions', 'grunweg', 'j-loreaux', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'urkud'] nobody
73-69980
2 months ago
349-3211
11 months ago
28-21477
28 days
21734 adomani
author:adomani
fix(PR summary): checkout GITHUB_SHA This should make the version of the script that is used on PRs more stable. Suggested by Eric Wieser on [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/messageFile.2Emd/near/498941855). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI merge-conflict awaiting-author WIP 2/1 .github/workflows/PR_summary.yml 1 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
73-67974
2 months ago
73-67976
2 months ago
0-6023
1 hour
25012 urkud
author:urkud
refactor(*): migrate from `Matrix.toLin'` to `Matrix.mulVecLin` or `Matrix.mulVec` whenever we don't need the `LinearEquiv.symm` part. See [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Matrix.2EtoLin'.20vs.20Matrix.2EmulVecLin/with/515188548). It makes sense to have only one normal form, and `Matrix.toLin'` has an extra `DecidableEq` assumption. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 154/122 Mathlib/Algebra/Lie/Matrix.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/Matrix.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Rank.lean,Mathlib/LinearAlgebra/Basis/Defs.lean,Mathlib/LinearAlgebra/Determinant.lean,Mathlib/LinearAlgebra/Finsupp/VectorSpace.lean,Mathlib/LinearAlgebra/FreeModule/Finite/Matrix.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Minpoly.lean,Mathlib/LinearAlgebra/Matrix/Diagonal.lean,Mathlib/LinearAlgebra/Matrix/Gershgorin.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean,Mathlib/LinearAlgebra/Matrix/ToLinearEquiv.lean,Mathlib/LinearAlgebra/UnitaryGroup.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/RingTheory/Smooth/StandardSmooth.lean 21 3 ['github-actions', 'leanprover-community-bot-assistant'] nobody
73-46141
2 months ago
73-46143
2 months ago
15-74981
15 days
24789 Ruben-VandeVelde
author:Ruben-VandeVelde
chore: move Algebra.Group.Hom.End to Algebra.Ring --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra merge-conflict awaiting-author
label:t-algebra$
55/50 Mathlib.lean,Mathlib/Algebra/Group/Hom/End.lean,Mathlib/Algebra/Group/Hom/Instances.lean,Mathlib/Algebra/Module/End.lean,Mathlib/Algebra/Ring/Hom/End.lean 5 6 ['Ruben-VandeVelde', 'YaelDillies', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] nobody
72-25006
2 months ago
72-25008
2 months ago
0-1530
25 minutes
13483 adomani
author:adomani
feat: automatically replace deprecations This PR introduces `lake exe update_deprecations` that uses the cache to automatically replace deprecated declarations with the corresponding un-deprecated one. The script handles namespacing, replacing a possibly non-fully-qualified, deprecated name with the fully-qualified non-deprecated name. It is also possible to use ```bash lake exe update_deprecations --mods One.Two.Three,Dd.Ee.Ff ``` to limit the scope of the replacements to the modules `One.Two.Three` and `Dd.Ee.Ff`. This is intended to be a first step in automating updates: combining this with a linter that emits appropriate warnings, the functionality of `lake exe update_deprecations` can be extended to perform more complicated updates. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict delegated awaiting-author 306/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/UpdateDeprecations.lean,MathlibTest/UpdateDeprecations.lean,lakefile.lean,scripts/README.md,scripts/update_deprecations.lean 7 16 ['YaelDillies', 'adomani', 'github-actions', 'j-loreaux', 'jcommelin', 'leanprover-community-bot-assistant', 'mathlib-bors', 'sgouezel'] joneugster
assignee:joneugster
71-309
2 months ago
71-310
2 months ago
34-82472
34 days
8949 sebzim4500
author:sebzim4500
Add `by_approx` tactic for proving real inequalities using rational approximation feat: Add `by_approx` tactic for proving real inequalities by finding rational approximations --- ```lean example : |sqrt 2 - 1.414| < 0.001 := by by_approx ``` This is a work in progress, the code is messy and the tactic is often very slow. It also depends on some other PRs that haven't been merged yet. It currently supports basic operations (`+`, `-`, `*`, `/`, `abs`) and has approximation extensions for `sqrt` and `exp`. - [ ] depends on: #8167 - [x] depends on: #8832 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict modifies-tactic-syntax 1670/3 Mathlib.lean,Mathlib/Data/Int/ModEq.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ByApprox.lean,Mathlib/Tactic/ByApprox/Basic.lean,Mathlib/Tactic/ByApprox/Core.lean,Mathlib/Tactic/ByApprox/Exp.lean,Mathlib/Tactic/ByApprox/Lemmas.lean,Mathlib/Tactic/ByApprox/Test.lean,Mathlib/Tactic/ByApprox/Util.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/GRW.lean,Mathlib/Tactic/GRW/Core.lean,Mathlib/Tactic/GRW/Lemmas.lean,Mathlib/Tactic/NormNum/NatFactorial.lean,test/ByApprox.lean,test/GRW.lean,test/norm_num_ext.lean 18 1 ['mathlib4-dependent-issues-bot'] nobody
70-5621
2 months ago
70-5623
2 months ago
0-0
0 seconds
20334 miguelmarco
author:miguelmarco
feat: allow polyrith to use a local Singular/Sage install Try to call a local install of Singular (either standalone or inside Sage) to find the witness for polyrith before trying to call the online sage cell server. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-meta merge-conflict awaiting-author 171/48 Mathlib/Tactic/Polyrith.lean,scripts/polyrith_sage.py 2 16 ['eric-wieser', 'github-actions', 'hanwenzhu', 'kim-em', 'miguelmarco', 'mkoeppe'] nobody
67-79386
2 months ago
187-57348
6 months ago
27-65384
27 days
23953 b-reinke
author:b-reinke
feat(Data/Matroid/Tutte): define the Tutte polynomial of a matroid This PR defines the Tutte polynomial of a matroid and shows basic properties. - [x] depends on: #23926 - [ ] depends on #24336 - [ ] depends on: #23951 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict WIP 111/0 Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Data/Matroid/Tutte/Basic.lean,Mathlib/Data/Set/Image.lean 3 7 ['apnelson1', 'b-reinke', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
65-34466
2 months ago
65-34468
2 months ago
0-0
0 seconds
18441 ADedecker
author:ADedecker
refactor(AdicTopology): use new API for algebraic filter bases, and factor some code --- - [x] depends on: #18437 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-topology merge-conflict
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
62-43048
2 months ago
62-43050
2 months 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/) t-algebra t-topology merge-conflict
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
62-43046
2 months ago
62-43048
2 months 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/) t-algebra t-topology merge-conflict
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
62-43045
2 months ago
62-43046
2 months ago
0-638
10 minutes
23040 grunweg
author:grunweg
feat: define immersions and smooth embeddings in infinite dimensions Sadly, we cannot prove most nice things about them yet, as we don't have the inverse function theorem yet. TODO: prove the few things we can already say --- - [ ] depends on: #23175 (preliminaries) - [x] depends on: #23186 - [ ] depends on: another PR, about `MSplitAt` (to be filed) - and perhaps some prerequisites about products of complemented modules etc. - [ ] depends on: #23219 (preliminaries about local diffeomorphisms) - [ ] depends on: #8738 - in fact, #9273 is not a strict pre-requisite for this. It suffices to know "extended charts have invertible differentials", which [isInvertible_mfderiv_extChartAt](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Geometry/Manifold/MFDeriv/Atlas.html#isInvertible_mfderiv_extChartAt) mostly proves. (There's nothing wrong with completing that PR, for all interior points.) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry merge-conflict WIP 967/0 Mathlib.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Splits.lean,Mathlib/Geometry/Manifold/IsImmersionEmbedding.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean,Mathlib/Geometry/Manifold/MSplits.lean 5 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
62-10034
2 months ago
62-10036
2 months ago
0-0
0 seconds
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/) t-data merge-conflict 518/0 Mathlib.lean,Mathlib/Data/DigitExpansion/Defs.lean,docs/references.bib 3 11 ['eric-wieser', 'github-actions', 'kim-em', 'pechersky'] dupuisf
assignee:dupuisf
59-25336
1 month ago
297-51552
9 months ago
129-57991
129 days
26581 nomeata
author:nomeata
ignore this: Lean pr testing 9124 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 1723/1362 Archive/Arithcc.lean,Archive/Examples/Eisenstein.lean,Archive/Examples/IfNormalization/WithoutAesop.lean,Archive/Imo/Imo1972Q5.lean,Archive/Imo/Imo1975Q1.lean,Archive/Imo/Imo1987Q1.lean,Archive/Imo/Imo1994Q1.lean,Archive/Imo/Imo1998Q2.lean,Archive/Imo/Imo2006Q5.lean,Archive/Imo/Imo2008Q3.lean,Archive/Imo/Imo2024Q1.lean,Archive/Imo/Imo2024Q3.lean,Archive/Imo/Imo2024Q5.lean,Archive/MiuLanguage/DecisionNec.lean,Archive/MiuLanguage/DecisionSuf.lean,Archive/Sensitivity.lean,Archive/Wiedijk100Theorems/AbelRuffini.lean,Archive/Wiedijk100Theorems/AreaOfACircle.lean,Archive/Wiedijk100Theorems/AscendingDescendingSequences.lean,Archive/Wiedijk100Theorems/BallotProblem.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Archive/Wiedijk100Theorems/Partition.lean,Archive/Wiedijk100Theorems/PerfectNumbers.lean,Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Archive/ZagierTwoSquares.lean,Cache/Lean.lean,Counterexamples/AharoniKorman.lean,Counterexamples/CanonicallyOrderedCommSemiringTwoMul.lean,Counterexamples/CliffordAlgebraNotInjective.lean,Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Counterexamples/MapFloor.lean,Counterexamples/MonicNonRegular.lean,Counterexamples/Phillips.lean,Counterexamples/Pseudoelement.lean,Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean,Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/Algebra/Unitization.lean,Mathlib/Algebra/Algebra/ZMod.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/Category/ContinuousCohomology/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Homology.lean,Mathlib/Algebra/Category/MonCat/FilteredColimits.lean,Mathlib/Algebra/Category/Ring/Epi.lean,Mathlib/Algebra/Category/Ring/FinitePresentation.lean,Mathlib/Algebra/Category/Ring/Topology.lean,Mathlib/Algebra/CharP/Basic.lean,Mathlib/Algebra/CharP/Defs.lean,Mathlib/Algebra/Colimit/Module.lean,Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/Equiv/TransferInstance.lean,Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/Group/Action/Basic.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Finset/Scalar.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Lie/CartanExists.lean,Mathlib/Algebra/Lie/LieTheorem.lean,Mathlib/Algebra/Lie/Weights/Chain.lean,Mathlib/Algebra/Lie/Weights/RootSystem.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Module/Presentation/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MonoidAlgebra/ToDirectSum.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Eval.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/NoZeroSMulDivisors/Defs.lean,Mathlib/Algebra/Order/Antidiag/Pi.lean,Mathlib/Algebra/Order/CauSeq/Completion.lean,Mathlib/Algebra/Order/Field/Power.lean,Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean,Mathlib/Algebra/Polynomial/Bivariate.lean,Mathlib/Algebra/Polynomial/Degree/CardPowDegree.lean,Mathlib/Algebra/Polynomial/HasseDeriv.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Regular/Pi.lean,Mathlib/Algebra/Ring/Basic.lean,Mathlib/Algebra/Ring/CentroidHom.lean,Mathlib/Algebra/Ring/GrindInstances.lean,Mathlib/Algebra/Ring/Int/Defs.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean 567 n/a [] nobody
50-41161
1 month ago
unknown
unknown
26627 kmill
author:kmill
(for benchmarking) nightly-testing-2025-07-01 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 1627/1256 Archive/Imo/Imo1987Q1.lean,Cache/Lean.lean,Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/Algebra/Unitization.lean,Mathlib/Algebra/Algebra/ZMod.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/Category/ContinuousCohomology/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Homology.lean,Mathlib/Algebra/Category/MonCat/FilteredColimits.lean,Mathlib/Algebra/Category/Ring/Epi.lean,Mathlib/Algebra/Category/Ring/FinitePresentation.lean,Mathlib/Algebra/Category/Ring/Topology.lean,Mathlib/Algebra/CharP/Basic.lean,Mathlib/Algebra/CharP/Defs.lean,Mathlib/Algebra/Colimit/Module.lean,Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/Equiv/TransferInstance.lean,Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/Group/Action/Basic.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Finset/Scalar.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Lie/CartanExists.lean,Mathlib/Algebra/Lie/LieTheorem.lean,Mathlib/Algebra/Lie/Weights/Chain.lean,Mathlib/Algebra/Lie/Weights/RootSystem.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Module/Presentation/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MonoidAlgebra/ToDirectSum.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Eval.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/NoZeroSMulDivisors/Defs.lean,Mathlib/Algebra/Order/Antidiag/Pi.lean,Mathlib/Algebra/Order/CauSeq/Completion.lean,Mathlib/Algebra/Order/Field/Power.lean,Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean,Mathlib/Algebra/Polynomial/Bivariate.lean,Mathlib/Algebra/Polynomial/Degree/CardPowDegree.lean,Mathlib/Algebra/Polynomial/HasseDeriv.lean,Mathlib/Algebra/PresentedMonoid/Basic.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Regular/Pi.lean,Mathlib/Algebra/Ring/Basic.lean,Mathlib/Algebra/Ring/CentroidHom.lean,Mathlib/Algebra/Ring/GrindInstances.lean,Mathlib/Algebra/Ring/Int/Defs.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/Algebra/Star/NonUnitalSubsemiring.lean,Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/AlgebraicGeometry/AffineSpace.lean,Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean,Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean,Mathlib/AlgebraicGeometry/Gluing.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Subscheme.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/AlgebraicGeometry/Morphisms/Affine.lean,Mathlib/AlgebraicGeometry/Morphisms/AffineAnd.lean,Mathlib/AlgebraicGeometry/Morphisms/Basic.lean,Mathlib/AlgebraicGeometry/Morphisms/ClosedImmersion.lean,Mathlib/AlgebraicGeometry/Morphisms/Constructors.lean,Mathlib/AlgebraicGeometry/Morphisms/Etale.lean,Mathlib/AlgebraicGeometry/Morphisms/Finite.lean,Mathlib/AlgebraicGeometry/Morphisms/FinitePresentation.lean,Mathlib/AlgebraicGeometry/Morphisms/Immersion.lean,Mathlib/AlgebraicGeometry/Morphisms/Integral.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiCompact.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiSeparated.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/AlgebraicGeometry/Morphisms/Separated.lean,Mathlib/AlgebraicGeometry/Morphisms/UniversallyOpen.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/AlgebraicGeometry/PointsPi.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Basic.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Proper.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean,Mathlib/AlgebraicGeometry/Properties.lean,Mathlib/AlgebraicGeometry/Pullbacks.lean 528 2 ['kmill', 'leanprover-bot'] nobody
49-40540
1 month ago
49-42723
1 month ago*
0-0
0 seconds*
14752 AntoineChambert-Loir
author:AntoineChambert-Loir
fix(Topology/Algebra/Valued): repair definition of Valued Following a [discussion on Zulip](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/Question.20about.20.60Valued.2Eis_topological_valuation.60), we modify the definition of the field `is_topological_valuation` of `Valued` insisting that the element $\gamma$ showing up there is in the subgroup generated by the image of the valuation map. Co-authored-by: @faenuccio - [ ] depends on: #25496 t-algebra t-topology merge-conflict WIP
label:t-algebra$
1166/301 Mathlib.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/NumberTheory/NumberField/FinitePlaces.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/RankOne.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/UniformSpace/AbstractCompletion.lean,docs/references.bib 12 28 ['AntoineChambert-Loir', 'faenuccio', 'github-actions', 'jcommelin', 'kbuzzard', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'riccardobrasca'] riccardobrasca
assignee:riccardobrasca
48-32305
1 month ago
48-32307
1 month ago
1-33784
1 day
14009 grunweg
author:grunweg
chore: replace continuity -> fun_prop in remaining directories After the current set of PRs, the only continuity remnants either need more attention or are merely for tagging continuity lemmas. --- - [x] depends on: #11092 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict awaiting-author 6/4 Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/LinearAlgebra/AffineSpace/ContinuousAffineEquiv.lean 2 5 ['github-actions', 'j-loreaux', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot'] nobody
46-79535
1 month ago
46-79536
1 month ago
6-67481
6 days
15213 adomani
author:adomani
dev: add Mathlib.Tactic.Linter.ForallIntro --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-linter merge-conflict WIP 608/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/ForallIntro.lean,MathlibTest/ForallIntro.lean 5 5 ['adomani', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant'] nobody
46-79533
1 month ago
46-79534
1 month ago
0-0
0 seconds
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/) t-combinatorics merge-conflict 243/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Planar.lean,Mathlib/Data/CombinatorialMap.lean 3 28 ['Parcly-Taxel', 'Rida-Hamadani', 'github-actions', 'lambda-fairy', 'leanprover-community-bot-assistant'] kmill
assignee:kmill
46-77311
1 month ago
46-77312
1 month ago
72-51453
72 days
16801 awainverse
author:awainverse
feat(ModelTheory/Equivalence): The quotient type of formulas modulo a theory Defines `FirstOrder.Language.Theory.Formula`: `T.Formula α` is the quotient of `L.Formula α` by equivalence modulo a theory `T`. Puts a boolean algebra instance on `T.Formula α`, with `≤` corresponding to implication. --- - [x] depends on: #16799 - [x] depends on: #16800 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic merge-conflict awaiting-author 174/60 Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Types.lean 3 30 ['YaelDillies', 'awainverse', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'metinersin'] YaelDillies
assignee:YaelDillies
46-77310
1 month ago
46-77310
1 month ago
29-26213
29 days
17458 urkud
author:urkud
refactor(Algebra/Group): make `IsUnit` a typeclass Also change some lemmas to assume `[IsUnit _]` instead of `[Invertible _]`. Motivated by potential non-defeq diamonds in #14986, see also [Zulip](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/Invertible.20and.20data) I no longer plan to merge this PR, but I'm going to cherry-pick some changes to a new PR before closing this one. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-zulip t-algebra merge-conflict
label:t-algebra$
82/72 Mathlib/Algebra/CharP/Invertible.lean,Mathlib/Algebra/Group/Invertible/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/Invertible.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Units.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Analysis/Normed/Ring/Units.lean,Mathlib/CategoryTheory/Linear/Basic.lean,Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/FieldTheory/Separable.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/GroupTheory/Submonoid/Inverses.lean,Mathlib/LinearAlgebra/AffineSpace/AffineEquiv.lean,Mathlib/LinearAlgebra/AffineSpace/Combination.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Contraction.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Inversion.lean,Mathlib/LinearAlgebra/CliffordAlgebra/SpinGroup.lean,Mathlib/LinearAlgebra/Eigenspace/Minpoly.lean,Mathlib/NumberTheory/MulChar/Basic.lean,Mathlib/RingTheory/Localization/NumDen.lean,Mathlib/RingTheory/Polynomial/Content.lean,Mathlib/RingTheory/Polynomial/GaussLemma.lean,Mathlib/RingTheory/Valuation/Basic.lean 26 12 ['MichaelStollBayreuth', 'acmepjz', 'eric-wieser', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'urkud'] nobody
46-77309
1 month ago
46-77309
1 month ago
0-66650
18 hours
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/) t-differential-geometry merge-conflict delegated 311/9 Mathlib/Data/Bundle.lean,Mathlib/Geometry/Manifold/VectorBundle/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/Pullback.lean,Mathlib/Topology/FiberBundle/Constructions.lean 4 24 ['PatrickMassot', 'github-actions', 'grunweg', 'hrmacbeth', 'j-loreaux', 'leanprover-community-bot-assistant', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'sgouezel'] grunweg
assignee:grunweg
46-77308
1 month ago
46-77308
1 month ago
91-73632
91 days
19444 joelriou
author:joelriou
feat(CategoryTheory/Sites): Equivalence of categories of sheaves with a dense subsite that is 1-hypercover dense The main result is that if `F : C₀ ⥤ C` is a dense subsite (relatively to topologies `J₀` and `J`) and `F.IsOneHypercoverDense J₀ J` (for a certain universe `w`), then if a coefficient category `A` has limits of size `w`, the pushforward functor induces an equivalence `Sheaf J A ≌ Sheaf J₀ A`. We deduce that if `HasSheafify J₀ A`, then `HasSheafify J A` also holds. This was previously known (see `IsDenseSubsite.sheafEquiv` in `Sites.DenseSubsite`) under a somewhat stronger condition about the existence of limits in `A`. --- - [x] depends on: #19517 - [x] depends on: #19519 This is very much a draft. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict WIP 937/2 Mathlib.lean,Mathlib/CategoryTheory/Sites/Continuous.lean,Mathlib/CategoryTheory/Sites/DenseSubsite/Basic.lean,Mathlib/CategoryTheory/Sites/DenseSubsite/OneHypercoverDense.lean,Mathlib/CategoryTheory/Sites/DenseSubsite/SheafEquiv.lean,Mathlib/CategoryTheory/Sites/OneHypercover.lean 6 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
46-77185
1 month ago
46-77185
1 month ago
0-0
0 seconds
19796 peakpoint
author:peakpoint
feat: L'Hopital's rule from within a convex set --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis merge-conflict 190/19 Mathlib/Algebra/Polynomial/Module/Basic.lean,Mathlib/Analysis/Calculus/LHopital.lean,Mathlib/Analysis/Convex/Topology.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Order/Interval/Set/Basic.lean 5 15 ['RemyDegenne', 'github-actions', 'leanprover-community-bot-assistant', 'peakpoint', 'sgouezel'] sgouezel
assignee:sgouezel
46-77184
1 month ago
46-77184
1 month ago
80-57750
80 days
22928 javra
author:javra
feat(CategoryTheory): infrastructure for inclusion morphisms into products in categories with 0-morphisms --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict 52/14 Mathlib/CategoryTheory/Limits/Shapes/BinaryBiproducts.lean,Mathlib/CategoryTheory/Limits/Shapes/Biproducts.lean,Mathlib/CategoryTheory/Limits/Shapes/ZeroMorphisms.lean 3 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
46-76803
1 month ago
46-76804
1 month ago
112-51866
112 days
22952 eric-wieser
author:eric-wieser
refactor: reimplement `RingQuot` in terms of `RingCon.Quotient` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
157/184 Mathlib/Algebra/RingQuot.lean,Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/RingTheory/Congruence/Basic.lean,Mathlib/RingTheory/Congruence/Defs.lean 4 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
46-76802
1 month ago
46-76803
1 month ago
0-0
0 seconds
23763 grunweg
author:grunweg
feat(Linter.openClassical): also lint for Classical declarations as … …a local or scoped instance. --- - [ ] depends on: #23750 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter merge-conflict 138/33 Mathlib/RingTheory/Perfection.lean,Mathlib/Tactic/Linter/Style.lean,Mathlib/Topology/MetricSpace/GromovHausdorffRealized.lean,MathlibTest/GeneralizeProofs.lean,MathlibTest/LintStyle.lean 5 6 ['github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
46-76795
1 month ago
46-76795
1 month ago
82-7297
82 days
23637 kirilvino
author:kirilvino
feat(Combinatorics/SimpleGraph): every circuit contains a cycle proof circuit to cycle proof --- This PR uses the bypass definition in a new function for closed walks that removes repeated vertices. Then proves if the closed walk given is a circuit, that the result from this function is a cycle. This is then packaged up similar to the existing ToPath definition, creating a way of transforming a circuit into a cycle. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics merge-conflict awaiting-author 26/0 Mathlib/Combinatorics/SimpleGraph/Path.lean 1 9 ['b-mehta', 'github-actions', 'kirilvino', 'leanprover-community-bot-assistant'] nobody
46-76795
1 month ago
46-76796
1 month ago
13-19789
13 days
24350 erdOne
author:erdOne
feat(FieldTheory): fg extension over perfect field is separably generated Co-authored-by: Christian Merten --- - [x] depends on: #24344 - [x] depends on: #24346 - [x] depends on: #24347 - [x] depends on: #24348 - [x] depends on: #24349 - [x] depends on: #25062 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
466/0 Mathlib.lean,Mathlib/FieldTheory/IntermediateField/Algebraic.lean,Mathlib/FieldTheory/SeparableClosure.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/RingTheory/AlgebraicIndependent/Basic.lean,Mathlib/RingTheory/AlgebraicIndependent/TranscendenceBasis.lean 6 30 ['alreadydone', 'erdOne', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
46-76406
1 month ago
46-76407
1 month ago
21-66961
21 days
24489 mattrobball
author:mattrobball
test merge-conflict 185/152 Mathlib/Algebra/GCDMonoid/Nat.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/Algebra/Polynomial/Eval/Degree.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/AlgebraicGeometry/AffineSpace.lean,Mathlib/Analysis/CStarAlgebra/Classes.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Integral.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unique.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unital.lean,Mathlib/Analysis/Complex/Polynomial/Basic.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Choose/Vandermonde.lean,Mathlib/FieldTheory/Galois/Profinite.lean,Mathlib/FieldTheory/IsAlgClosed/Spectrum.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/FieldTheory/KummerPolynomial.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/GroupTheory/SpecificGroups/Dihedral.lean,Mathlib/GroupTheory/Subgroup/Center.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Grading.lean,Mathlib/LinearAlgebra/ExteriorAlgebra/Grading.lean,Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean,Mathlib/LinearAlgebra/PiTensorProduct.lean,Mathlib/LinearAlgebra/RootSystem/Finite/CanonicalBilinear.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean,Mathlib/RepresentationTheory/FDRep.lean,Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/RingTheory/WittVector/Frobenius.lean,Mathlib/Tactic/Ring/Basic.lean 38 5 ['github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mattrobball'] nobody
46-76401
1 month ago
46-76402
1 month ago
0-0
0 seconds
24558 mattrobball
author:mattrobball
test merge-conflict 32/30 Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Data/Matroid/Circuit.lean,Mathlib/Data/Matroid/Closure.lean,Mathlib/Data/Matroid/Loop.lean,Mathlib/Data/Set/Insert.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Basic.lean,Mathlib/Geometry/Euclidean/Angle/Oriented/Affine.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean,Mathlib/Geometry/Manifold/ContMDiff/Defs.lean,Mathlib/LinearAlgebra/AffineSpace/FiniteDimensional.lean,Mathlib/Order/Cover.lean 12 5 ['github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mattrobball'] nobody
46-76400
1 month ago
46-76400
1 month ago
0-0
0 seconds
24614 JovanGerb
author:JovanGerb
chore: rename field `inf` to `min` in `Lattice` As suggested by @eric-wieser, this PR renames the `sup` and `inf` fields in `Lattice` to `max` and `min`. This means that we now can extend `Lattice` and `LinearOrder` simultaneously without ending up with duplicate fields. This should be implemented in a future PR for existing classes like `CompleteLinearOrder`. [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60sup.60.2F.60inf.60.20or.20.60max.60.2F.60min.60.20for.20set.20interval.20lemmas.3F) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order merge-conflict awaiting-author 179/185 Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/Algebra/Group/Submonoid/Basic.lean,Mathlib/Algebra/Group/Subsemigroup/Basic.lean,Mathlib/Algebra/Lie/Subalgebra.lean,Mathlib/Algebra/Module/Submodule/Lattice.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/Algebra/Order/Ring/Idempotent.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Tropical/Lattice.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/Convex/SimplicialComplex/Basic.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Analysis/NormedSpace/ENormedSpace.lean,Mathlib/Analysis/NormedSpace/MStructure.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/CategoryTheory/Groupoid/Subgroupoid.lean,Mathlib/CategoryTheory/Sites/Coverage.lean,Mathlib/CategoryTheory/Sites/Grothendieck.lean,Mathlib/CategoryTheory/Sites/Pretopology.lean,Mathlib/CategoryTheory/Sites/Sieves.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/CategoryTheory/Subpresheaf/Basic.lean,Mathlib/Combinatorics/Digraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Computability/Reduce.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/Finset/Lattice/Basic.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Multiset/UnionInter.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/PEquiv.lean,Mathlib/Data/Real/Basic.lean,Mathlib/Data/Semiquot.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/Data/Sum/Lattice.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean,Mathlib/Geometry/Convex/Cone/Basic.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/MeasureTheory/Function/AEEqFun.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/ModelTheory/Substructures.lean,Mathlib/Order/BooleanSubalgebra.lean,Mathlib/Order/Booleanisation.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/Concept.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/Copy.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/Order/FixedPoints.lean,Mathlib/Order/GaloisConnection/Basic.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Hom/Order.lean,Mathlib/Order/Ideal.lean,Mathlib/Order/Interval/Basic.lean,Mathlib/Order/Lattice.lean,Mathlib/Order/Partition/Finpartition.lean,Mathlib/Order/PropInstances.lean,Mathlib/Order/Sublattice.lean,Mathlib/Order/WithBot.lean,Mathlib/Probability/Process/Filtration.lean,Mathlib/RingTheory/Congruence/Basic.lean,Mathlib/RingTheory/Finiteness/Small.lean,Mathlib/RingTheory/NonUnitalSubring/Basic.lean,Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean,Mathlib/RingTheory/TwoSidedIdeal/Lattice.lean,Mathlib/RingTheory/UniqueFactorizationDomain/FactorSet.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/Topology/Algebra/Group/GroupTopology.lean,Mathlib/Topology/Category/TopCat/OpenNhds.lean,Mathlib/Topology/LocallyFinsupp.lean,Mathlib/Topology/MetricSpace/BundledFun.lean,Mathlib/Topology/UniformSpace/Basic.lean 82 14 ['JovanGerb', 'bryangingechen', 'eric-wieser', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot'] nobody
46-76399
1 month ago
46-76399
1 month ago
1-85670
1 day
24710 chrisflav
author:chrisflav
chore(Data/Set): `tsum` version of `Set.encard_iUnion_of_finite` for non-finite types As requested here: https://github.com/leanprover-community/mathlib4/pull/23849#discussion_r2081070200 --- - [ ] depends on: #23849 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict 163/0 Mathlib.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Data/Set/Card/Arithmetic.lean,Mathlib/Data/Set/Card/InfiniteArithmetic.lean,Mathlib/Data/Set/Finite/Lattice.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean,Mathlib/Topology/Instances/ENat/Lemmas.lean 7 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
46-76397
1 month ago
46-76397
1 month ago
1-80465
1 day
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/) t-algebra merge-conflict
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
46-76396
1 month ago
46-76396
1 month ago
43-42841
43 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/) t-algebraic-geometry merge-conflict 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
46-76150
1 month ago
46-76151
1 month ago
45-4961
45 days
25197 eric-wieser
author:eric-wieser
feat: Finset.sum induction for tensor products. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra merge-conflict
label:t-algebra$
81/0 Mathlib/LinearAlgebra/TensorProduct/Basic.lean 1 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
46-76148
1 month ago
46-76149
1 month ago
0-0
0 seconds
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/) awaiting-zulip new-contributor t-algebraic-geometry merge-conflict 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
46-76147
1 month ago
46-76148
1 month ago
6-51040
6 days
25247 alreadydone
author:alreadydone
Projective contraction --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
160/31 Mathlib/Data/Finsupp/Defs.lean,Mathlib/LinearAlgebra/Contraction.lean,Mathlib/LinearAlgebra/Pi.lean,Mathlib/RingTheory/Finiteness/Finsupp.lean 4 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
46-76144
1 month ago
46-76145
1 month ago
0-30
30 seconds
25283 Brian-Nugent
author:Brian-Nugent
feat: regular local rings Adds regular local rings and proves they are integral domains. --- - [ ] depends on: #25280 - [ ] depends on: #25282 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra merge-conflict
label:t-algebra$
871/0 .vscode/settings.json,Mathlib.lean,Mathlib/RingTheory/EmbeddingDimension.lean,Mathlib/RingTheory/LocalRingDimension.lean,Mathlib/RingTheory/RegularLocalRing.lean 5 6 ['Brian-Nugent', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'yuanyi-350'] nobody
46-76143
1 month ago
46-76143
1 month ago
11-84822
11 days
25561 callesonne
author:callesonne
feat(Category/Grpd): define the bicategory of groupoids --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict awaiting-author 179/25 Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/CategoryTheory/Bicategory/Functor/Pseudofunctor.lean,Mathlib/CategoryTheory/Bicategory/Functor/Strict.lean,Mathlib/CategoryTheory/Category/Cat.lean,Mathlib/CategoryTheory/Category/Grpd.lean 6 6 ['callesonne', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'robin-carlier'] nobody
46-76132
1 month ago
46-76133
1 month ago
11-11653
11 days
25573 JovanGerb
author:JovanGerb
feat: define `∃ x > y, ...` notation to mean `∃ x, y < x ∧ ...` This PR changes the elaboration of the binders `∃ x > y,` and `∀ x > y,` to use `<` instead of `>`, because we want to avoid working with `>` as much as possible (and similarly for `≥` vs `≤` ). The advantage is that we don't need to worry about rewriting with lemmas like `gt_iff_lt`. The disadvantage is that people might find this confusing. [#mathlib4 > naming convention for ≤ and < @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/naming.20convention.20for.20.E2.89.A4.20and.20.3C/near/522910464) The main changes are in `Mathlib.Init`, `Mathlib.Util.Delaborators` and `MathlibTest.delaborators`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict 59/52 Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/BoxIntegral/Integrability.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Complex/Liouville.lean,Mathlib/Analysis/Complex/OpenMapping.lean,Mathlib/Analysis/Fourier/PoissonSummation.lean,Mathlib/Analysis/MellinTransform.lean,Mathlib/Analysis/Normed/Operator/Banach.lean,Mathlib/Dynamics/Ergodic/Conservative.lean,Mathlib/Dynamics/PeriodicPts/Defs.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/Init.lean,Mathlib/MeasureTheory/Covering/LiminfLimsup.lean,Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean,Mathlib/MeasureTheory/Function/Egorov.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Integral/DivergenceTheorem.lean,Mathlib/MeasureTheory/Integral/Layercake.lean,Mathlib/NumberTheory/LSeries/SumCoeff.lean,Mathlib/Order/Filter/AtTopBot/Finite.lean,Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/Topology/CWComplex/Classical/Finite.lean,Mathlib/Topology/ContinuousMap/Ideals.lean,Mathlib/Topology/EMetricSpace/Defs.lean,Mathlib/Topology/EMetricSpace/Paracompact.lean,Mathlib/Topology/LocallyFinite.lean,Mathlib/Topology/MetricSpace/Ultra/Basic.lean,Mathlib/Util/Delaborators.lean,MathlibTest/delaborators.lean 32 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
46-76131
1 month ago
46-76132
1 month ago
26-17604
26 days
25622 eric-wieser
author:eric-wieser
refactor: overhaul instances on LocalizedModule This: * Generalizes the `SMul`, `Module`, and `Algebra` instances via appropriate compatibility conditions * Generalizes the `Mul` instance to the non-unital setting * Fixes instances diamonds for the `Nat`- and `Int`-actions --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
167/111 Mathlib/Algebra/Module/LocalizedModule/Basic.lean 1 4 ['erdOne', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] nobody
46-76005
1 month ago
46-76006
1 month ago
25-53155
25 days
25671 eric-wieser
author:eric-wieser
refactor: generalize `OreSet` to work for bimodules --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import merge-conflict 243/256 Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/GroupTheory/OreLocalization/Basic.lean,Mathlib/GroupTheory/OreLocalization/OreSet.lean,Mathlib/RingTheory/OreLocalization/Ring.lean,Mathlib/RingTheory/TensorProduct/Nontrivial.lean 6 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
46-76003
1 month ago
46-76004
1 month ago
0-0
0 seconds
25797 dagurtomas
author:dagurtomas
feat(Condensed): closed symmetric monoidal structure on light condensed modules --- - [ ] depends on: #24485 - [x] depends on: #24490 - [x] depends on: #24522 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24523.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24523* t-condensed merge-conflict WIP 906/427 Mathlib.lean,Mathlib/CategoryTheory/Localization/Monoidal.lean,Mathlib/CategoryTheory/Localization/Monoidal/Basic.lean,Mathlib/CategoryTheory/Localization/Monoidal/Braided.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/Braided/Transport.lean,Mathlib/CategoryTheory/Sites/Monoidal.lean,Mathlib/Condensed/Light/Monoidal.lean,Mathlib/Condensed/Light/Small.lean 9 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
46-75990
1 month ago
46-75990
1 month ago
0-3
3 seconds
25816 sgouezel
author:sgouezel
chore: kill coercion from EquivLike to Equiv --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic merge-conflict WIP 35/37 Mathlib/Logic/Equiv/Defs.lean 1 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
46-75989
1 month ago
46-75989
1 month ago
0-1
1 second
25887 eric-wieser
author:eric-wieser
feat: add `IsSMulTorsionFree` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra merge-conflict
label:t-algebra$
130/12 Mathlib/Algebra/Group/Action/TorsionFree.lean,Mathlib/Algebra/NoZeroSMulDivisors/Basic.lean,Mathlib/Algebra/Regular/Opposite.lean 3 4 ['YaelDillies', 'github-actions', 'leanprover-community-bot-assistant'] nobody
46-75855
1 month ago
46-75856
1 month ago
0-0
0 seconds
25901 callesonne
author:callesonne
feat(Bicategory/Opposites): add 1-cell opposite bicategory This PR adds the 1-cell opposite bicategory, where only the 1-morphisms are reversed. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict awaiting-author 219/1 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/Opposites.lean,Mathlib/CategoryTheory/Opposites.lean,Mathlib/Tactic/CategoryTheory/Reassoc.lean 4 10 ['callesonne', 'github-actions', 'joelriou', 'leanprover-bot', 'leanprover-community-bot-assistant'] nobody
46-75852
1 month ago
46-75852
1 month ago
0-14913
4 hours
25963 artie2000
author:artie2000
refactor: Abstract out the substructure lattice construction and SetLike closure operators --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) Original PR: https://github.com/leanprover-community/mathlib4/pull/20836 merge-conflict 354/179 Mathlib/Algebra/Group/Subsemigroup/Basic.lean,Mathlib/Algebra/Group/Subsemigroup/Defs.lean,Mathlib/Data/SetLike/Basic.lean,Mathlib/Data/SetLike/Closure.lean 4 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
46-75840
1 month ago
46-75841
1 month ago
0-0
0 seconds
25988 Multramate
author:Multramate
refactor(AlgebraicGeometry/EllipticCurve/*): replace Fin 3 with products This PR continues the work from #24593. Original PR: https://github.com/leanprover-community/mathlib4/pull/24593 t-algebraic-geometry merge-conflict 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
46-75838
1 month ago
46-75838
1 month ago
18-21880
18 days
26002 robin-carlier
author:robin-carlier
feat(CategoryTheory/Monoidal/Action): action of `Type` on categories with coproducts We show that if a category admits coproducts of size `w`, then `Type w` acts on the left on that category. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict WIP 213/0 Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Action/ChosenTypeCopowers.lean 2 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
46-75836
1 month ago
46-75837
1 month ago
0-0
0 seconds
26011 linesthatinterlace
author:linesthatinterlace
feat: add elementary lifts for `OneHom`, `MulHom`, `MonoidHom` and `RingHom`. This PR continues the work from #25264. Original PR: https://github.com/leanprover-community/mathlib4/pull/25264 migrated-from-branch t-algebra merge-conflict
label:t-algebra$
414/10 Mathlib/Algebra/Group/Hom/Basic.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Ring/Hom/Basic.lean,Mathlib/Algebra/Ring/Hom/Defs.lean 4 3 ['github-actions', 'leanprover-community-bot-assistant', 'linesthatinterlace'] nobody
46-75834
1 month ago
46-75835
1 month ago
17-68825
17 days
26012 linesthatinterlace
author:linesthatinterlace
feat: Low-level derivatives of lifts on `OneHom`, `MulHom` and `MonoidHom` This PR continues the work from #25290. Original PR: https://github.com/leanprover-community/mathlib4/pull/25290 migrated-from-branch t-algebra merge-conflict
label:t-algebra$
785/34 Mathlib/Algebra/Group/Equiv/Basic.lean,Mathlib/Algebra/Group/Hom/Basic.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Ring/Hom/Basic.lean,Mathlib/Algebra/Ring/Hom/Defs.lean 5 3 ['github-actions', 'leanprover-community-bot-assistant', 'linesthatinterlace'] nobody
46-75833
1 month ago
46-75834
1 month ago
17-68773
17 days
26015 linesthatinterlace
author:linesthatinterlace
feat: Add high-level generalizations from `MonoidHom` lifts This PR continues the work from #25296. Original PR: https://github.com/leanprover-community/mathlib4/pull/25296 migrated-from-branch merge-conflict 1251/156 Mathlib/Algebra/Category/Ring/FinitePresentation.lean,Mathlib/Algebra/Group/Equiv/Basic.lean,Mathlib/Algebra/Group/Hom/Basic.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Algebra/Ring/Hom/Basic.lean,Mathlib/Algebra/Ring/Hom/Defs.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/NumberTheory/DirichletCharacter/Basic.lean,Mathlib/RingTheory/Ideal/Maps.lean 12 3 ['github-actions', 'leanprover-community-bot-assistant', 'linesthatinterlace'] nobody
46-75832
1 month ago
46-75833
1 month ago
17-68720
17 days
26071 linesthatinterlace
author:linesthatinterlace
feat: Add `id` and `comp` classes for `FunLike` and `refl`, `trans` and `symm` classes for `EquivLike` Adds classes depending on `FunLike` that capture "this has an identity/this has a notion of composition". --- This is a prototype and comments on this are requested. I think a similar model could be used to create a generalisation for Equiv.symm. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data RFC merge-conflict WIP 333/47 Mathlib/Data/FunLike/Basic.lean,Mathlib/Data/FunLike/Equiv.lean,Mathlib/Logic/Equiv/Defs.lean 3 21 ['Rob23oba', 'github-actions', 'leanprover-community-bot-assistant', 'linesthatinterlace'] nobody
46-73850
1 month ago
46-73851
1 month ago
0-1
1 second
26090 grunweg
author:grunweg
chore: make `finiteness` a default tactic Opening for discussion. This PR continues the work from #25119. merge-conflict 423/366 Archive/Wiedijk100Theorems/BallotProblem.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Asymptotics/ExpGrowth.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Convex/Integral.lean,Mathlib/Analysis/Fourier/AddCircle.lean,Mathlib/Analysis/Fourier/AddCircleMulti.lean,Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean,Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Lp/PiLp.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/ENNReal/Holder.lean,Mathlib/Data/ENNReal/Inv.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/Data/ENNReal/Real.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/InformationTheory/KullbackLeibler/Basic.lean,Mathlib/MeasureTheory/Covering/Besicovitch.lean,Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean,Mathlib/MeasureTheory/Function/ContinuousMapDense.lean,Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean,Mathlib/MeasureTheory/Function/Egorov.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,Mathlib/MeasureTheory/Function/L1Space/AEEqFun.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/ChebyshevMarkov.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Defs.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/Complete.lean,Mathlib/MeasureTheory/Function/LpSpace/Indicator.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Integral/MeanInequalities.lean,Mathlib/MeasureTheory/Integral/Prod.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean,Mathlib/MeasureTheory/Measure/Decomposition/IntegralRNDeriv.lean,Mathlib/MeasureTheory/Measure/Decomposition/Lebesgue.lean,Mathlib/MeasureTheory/Measure/Haar/Basic.lean,Mathlib/MeasureTheory/Measure/Haar/DistribChar.lean,Mathlib/MeasureTheory/Measure/Haar/Quotient.lean,Mathlib/MeasureTheory/Measure/Haar/Unique.lean,Mathlib/MeasureTheory/Measure/Lebesgue/EqHaar.lean,Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean,Mathlib/MeasureTheory/Measure/Real.lean,Mathlib/MeasureTheory/Measure/Restrict.lean,Mathlib/MeasureTheory/Measure/Tilted.lean,Mathlib/MeasureTheory/Measure/Typeclasses/Finite.lean,Mathlib/NumberTheory/NumberField/Discriminant/Basic.lean,Mathlib/Probability/BorelCantelli.lean,Mathlib/Probability/Independence/Conditional.lean,Mathlib/Probability/Integration.lean,Mathlib/Probability/Kernel/Composition/IntegralCompProd.lean,Mathlib/Probability/Kernel/Disintegration/CondCDF.lean,Mathlib/Probability/Kernel/Disintegration/Density.lean,Mathlib/Probability/Martingale/Convergence.lean,Mathlib/Probability/Martingale/OptionalStopping.lean,Mathlib/Probability/Moments/CovarianceBilin.lean,Mathlib/Probability/Moments/Tilted.lean,Mathlib/Probability/Moments/Variance.lean,Mathlib/Probability/UniformOn.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/Perfect.lean,scripts/noshake.json 73 3 ['github-actions', 'grunweg', 'leanprover-community-bot-assistant'] nobody
46-73848
1 month ago
46-73849
1 month ago
16-56825
16 days
26178 ppls-nd-prs
author:ppls-nd-prs
feat(CategoryTheory/Limits): Fubini for products We show that the product of products is a product indexed by the sigma type. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-category-theory merge-conflict awaiting-author 17/0 Mathlib/CategoryTheory/Limits/Shapes/Products.lean 1 5 ['chrisflav', 'github-actions', 'leanprover-community-bot-assistant', 'ppls-nd-prs', 'robin-carlier'] robin-carlier
assignee:robin-carlier
46-73837
1 month ago
46-73838
1 month ago
0-47665
13 hours
26384 jjdishere
author:jjdishere
feat(RingTheory/Perfectoid): Fontaine's theta map is surjective This PR continues the work from #22332. Original PR: https://github.com/leanprover-community/mathlib4/pull/22332 t-algebra t-number-theory merge-conflict WIP
label:t-algebra$
1109/15 Mathlib.lean,Mathlib/Algebra/Ring/Aut.lean,Mathlib/FieldTheory/Perfect.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Quotient/Defs.lean,Mathlib/RingTheory/Ideal/Quotient/PowTransition.lean,Mathlib/RingTheory/Perfection.lean,Mathlib/RingTheory/Perfectoid/BDeRham.lean,Mathlib/RingTheory/Perfectoid/FontaineTheta.lean,Mathlib/RingTheory/Perfectoid/Untilt.lean,Mathlib/RingTheory/WittVector/Basic.lean,Mathlib/RingTheory/WittVector/Complete.lean,Mathlib/RingTheory/WittVector/TeichmullerSeries.lean,docs/references.bib 15 3 ['github-actions', 'jjdishere', 'leanprover-community-bot-assistant'] nobody
46-73702
1 month ago
46-73702
1 month ago
0-135
2 minutes
26388 jjdishere
author:jjdishere
feat(RingTheory/Perfectoid): Fontaine's theta map and the de Rham period rings This PR continues the work from #21564. Original PR: https://github.com/leanprover-community/mathlib4/pull/21564 t-algebra t-number-theory merge-conflict
label:t-algebra$
1026/15 Mathlib.lean,Mathlib/Algebra/Ring/Aut.lean,Mathlib/FieldTheory/Perfect.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Quotient/Defs.lean,Mathlib/RingTheory/Ideal/Quotient/PowTransition.lean,Mathlib/RingTheory/Perfection.lean,Mathlib/RingTheory/Perfectoid/BDeRham.lean,Mathlib/RingTheory/Perfectoid/FontaineTheta.lean,Mathlib/RingTheory/Perfectoid/Untilt.lean,Mathlib/RingTheory/WittVector/Basic.lean,Mathlib/RingTheory/WittVector/Complete.lean,Mathlib/RingTheory/WittVector/TeichmullerSeries.lean,docs/references.bib 15 n/a ['github-actions', 'jjdishere', 'leanprover-community-bot-assistant', 'riccardobrasca'] riccardobrasca
assignee:riccardobrasca
46-73700
1 month ago
unknown
unknown
26436 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(Mathlib/Data/Nat/Prime/Defs): fuel Nat.minFac This is a fueled version of docs#Nat.minFacAux that can now be checked by `decide`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict 53/48 Mathlib/Data/Nat/Prime/Defs.lean 1 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
46-73696
1 month ago
46-73696
1 month ago
8-58125
8 days
26776 sgouezel
author:sgouezel
refactor: make `I` an outparam, and use forgetful inheritance in products I consider this as a failed experiment, so it's not for merging. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) RFC merge-conflict WIP 2411/1664 Mathlib/Analysis/Asymptotics/Defs.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/CStarAlgebra/Classes.lean,Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean,Mathlib/Analysis/Calculus/InverseFunctionTheorem/ApproximatesLinearOn.lean,Mathlib/Analysis/Calculus/TangentCone.lean,Mathlib/Analysis/Calculus/TangentConeDef.lean,Mathlib/Analysis/Complex/Circle.lean,Mathlib/Analysis/Complex/UnitDisc/Basic.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Topology.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Analysis/Normed/Module/Prod.lean,Mathlib/Analysis/NormedSpace/HomeomorphBall.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/PolarCoord.lean,Mathlib/Analysis/SpecialFunctions/Sqrt.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Inverse.lean,Mathlib/Geometry/Manifold/Algebra/Monoid.lean,Mathlib/Geometry/Manifold/AnalyticManifold.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Geometry/Manifold/Complex.lean,Mathlib/Geometry/Manifold/ContMDiff/Basic.lean,Mathlib/Geometry/Manifold/ContMDiff/Constructions.lean,Mathlib/Geometry/Manifold/ContMDiff/Defs.lean,Mathlib/Geometry/Manifold/ContMDiff/NormedSpace.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Geometry/Manifold/IsManifold/ModelWithCornersDef.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean,Mathlib/Geometry/Manifold/LocalInvariantProperties.lean,Mathlib/Geometry/Manifold/MFDeriv/Atlas.lean,Mathlib/Geometry/Manifold/MFDeriv/Basic.lean,Mathlib/Geometry/Manifold/MFDeriv/Defs.lean,Mathlib/Geometry/Manifold/MFDeriv/FDeriv.lean,Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean,Mathlib/Geometry/Manifold/MFDeriv/UniqueDifferential.lean,Mathlib/Geometry/Manifold/VectorBundle/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/FiberwiseLinear.lean,Mathlib/Geometry/Manifold/VectorBundle/Hom.lean,Mathlib/Geometry/Manifold/VectorBundle/MDifferentiable.lean,Mathlib/Geometry/Manifold/VectorBundle/Tangent.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Basic.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/NumberTheory/Modular.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean,Mathlib/Topology/Algebra/Constructions.lean,Mathlib/Topology/Algebra/Module/LocallyConvex.lean,Mathlib/Topology/Algebra/PontryaginDual.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/Basic.lean,Mathlib/Topology/CWComplex/Classical/Basic.lean,Mathlib/Topology/Clopen.lean,Mathlib/Topology/Connected/TotallyDisconnected.lean,Mathlib/Topology/Constructions/SumProd.lean,Mathlib/Topology/ContinuousMap/Bounded/Basic.lean,Mathlib/Topology/ContinuousOn.lean,Mathlib/Topology/ContinuousOnMore.lean,Mathlib/Topology/Covering.lean,Mathlib/Topology/Defs/Basic.lean,Mathlib/Topology/Defs/Filter.lean,Mathlib/Topology/FiberBundle/Basic.lean,Mathlib/Topology/FiberBundle/Constructions.lean,Mathlib/Topology/FiberBundle/Trivialization.lean,Mathlib/Topology/Inseparable.lean,Mathlib/Topology/Instances/AddCircle.lean,Mathlib/Topology/Instances/Shrink.lean,Mathlib/Topology/Instances/TrivSqZeroExt.lean,Mathlib/Topology/Irreducible.lean,Mathlib/Topology/IsLocalHomeomorph.lean,Mathlib/Topology/LocallyFinite.lean,Mathlib/Topology/OmegaCompletePartialOrder.lean,Mathlib/Topology/Order/LeftRight.lean,Mathlib/Topology/PartialHomeomorph.lean,Mathlib/Topology/PartialHomeomorphMore.lean,Mathlib/Topology/Separation/Basic.lean,Mathlib/Topology/Separation/Regular.lean,Mathlib/Topology/UniformSpace/Basic.lean,Mathlib/Topology/UniformSpace/Cauchy.lean,Mathlib/Topology/UniformSpace/Defs.lean,Mathlib/Topology/UniformSpace/UniformConvergenceTopology.lean,Mathlib/Topology/VectorBundle/Basic.lean,Mathlib/Topology/VectorBundle/Hom.lean 88 0 [] nobody
46-63781
1 month ago
46-63781
1 month ago
0-1
1 second
26601 yuma-mizuno
author:yuma-mizuno
feat(CategoryTheory): make `Functor.comp` irreducible [#mathlib4 > Functor identity `𝟭 _ ⋙ F = F` is definitional equality](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Functor.20identity.20.60.F0.9D.9F.AD.20_.20.E2.8B.99.20F.20.3D.20F.60.20is.20definitional.20equality/with/523978659) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict WIP 456/261 Mathlib/AlgebraicTopology/DoldKan/Compatibility.lean,Mathlib/AlgebraicTopology/SimplexCategory/Defs.lean,Mathlib/CategoryTheory/Adjunction/Basic.lean,Mathlib/CategoryTheory/CatCommSq.lean,Mathlib/CategoryTheory/Category/RelCat.lean,Mathlib/CategoryTheory/Category/ULift.lean,Mathlib/CategoryTheory/Core.lean,Mathlib/CategoryTheory/Discrete/Basic.lean,Mathlib/CategoryTheory/EqToHom.lean,Mathlib/CategoryTheory/Equivalence.lean,Mathlib/CategoryTheory/Functor/Basic.lean,Mathlib/CategoryTheory/Functor/Category.lean,Mathlib/CategoryTheory/Functor/Const.lean,Mathlib/CategoryTheory/Functor/Currying.lean,Mathlib/CategoryTheory/Functor/CurryingThree.lean,Mathlib/CategoryTheory/Functor/FullyFaithful.lean,Mathlib/CategoryTheory/Functor/Functorial.lean,Mathlib/CategoryTheory/Functor/ReflectsIso/Basic.lean,Mathlib/CategoryTheory/Functor/TwoSquare.lean,Mathlib/CategoryTheory/Groupoid/FreeGroupoid.lean,Mathlib/CategoryTheory/Join/Basic.lean,Mathlib/CategoryTheory/Limits/Cones.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/ObjectProperty/FullSubcategory.lean,Mathlib/CategoryTheory/Opposites.lean,Mathlib/CategoryTheory/PathCategory/Basic.lean,Mathlib/CategoryTheory/Pi/Basic.lean,Mathlib/CategoryTheory/Products/Associator.lean,Mathlib/CategoryTheory/Products/Basic.lean,Mathlib/CategoryTheory/Quotient.lean,Mathlib/CategoryTheory/Sigma/Basic.lean,Mathlib/CategoryTheory/Whiskering.lean,Mathlib/CategoryTheory/Yoneda.lean 33 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
46-44993
1 month ago
46-44993
1 month ago
0-10
10 seconds
7596 alreadydone
author:alreadydone
feat: covering maps from properly discontinuous actions and discrete subgroups --- - [x] depends on: #23236 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed t-topology merge-conflict 350/21 Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Complex/Circle.lean,Mathlib/Topology/Algebra/ConstMulAction.lean,Mathlib/Topology/Algebra/Group/Pointwise.lean,Mathlib/Topology/Covering/AddCircle.lean,Mathlib/Topology/Covering/Basic.lean,Mathlib/Topology/Covering/Galois.lean,Mathlib/Topology/Homotopy/Lifting.lean,Mathlib/Topology/Instances/AddCircle/Defs.lean 9 18 ['ADedecker', 'alreadydone', 'digama0', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'tb65536'] nobody
46-28014
1 month ago
46-28015
1 month ago
73-67280
73 days
24405 mcdoll
author:mcdoll
refactor(Topology/Algebra/Module/WeakDual): Clean up - Move `Dual` and `dualPairing` lower in the import-hierachy - deduplicate `dualPairing` - Make `WeakDual` and `WeakSpace` reducible --- New version of #11500 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-topology merge-conflict 146/162 Mathlib.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/Dual.lean,Mathlib/Analysis/LocallyConvex/WeakSpace.lean,Mathlib/Analysis/Normed/Module/Dual.lean,Mathlib/Analysis/Normed/Module/WeakDual.lean,Mathlib/Analysis/VonNeumannAlgebra/Basic.lean,Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean,Mathlib/MeasureTheory/Measure/FiniteMeasure.lean,Mathlib/Topology/Algebra/Module/Dual.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean,docs/overview.yaml,docs/undergrad.yaml 14 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
45-41267
1 month ago
45-41268
1 month ago
69-52361
69 days
26647 b-mehta
author:b-mehta
feat(Data/Sym/Sym2): lift commutative operations to sym2 While we have `Sym2.lift`, it's often useful to lift operations which are known to be commutative to the typeclass system. Indeed, the existing `Sym2.mul` witnesses this already. Thus, this PR can also be seen as generalising `Sym2.mul`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict WIP 48/28 Mathlib/Data/Sym/Sym2.lean,Mathlib/Data/Sym/Sym2/Finsupp.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/QuadraticForm/Basis.lean 4 12 ['b-mehta', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] nobody
44-79428
1 month ago
44-79429
1 month ago
3-73380
3 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/) t-topology merge-conflict 18/0 Mathlib/Topology/StoneCech.lean 1 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
43-57216
1 month ago
43-57216
1 month ago
20-8582
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/) t-number-theory merge-conflict 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 31 ['Ruben-VandeVelde', 'erdOne', 'faenuccio', 'github-actions', 'leanprover-community-bot-assistant', 'pechersky', 'smmercuri', 'xroblot'] nobody
43-55248
1 month ago
44-39376
1 month ago
79-1228
79 days
26913 Paul-Lez
author:Paul-Lez
feat(NumberTheory/{*}): add a few lemmas about number field and cyclotomic extensions The motivation for this PR is that the main statement in [this PR](https://github.com/google-deepmind/formal-conjectures/pull/297) shouldn't need to assume `p` has type `PNat` for the instances to work. This is still WIP as I need to clean up (currently waiting on the build!) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-number-theory awaiting-CI merge-conflict WIP
label:t-algebra$
86/0 Mathlib/Algebra/CharZero/Equiv.lean,Mathlib/FieldTheory/SplittingField/IsSplittingField.lean,Mathlib/NumberTheory/ClassNumber/Temporary.lean,Mathlib/NumberTheory/Cyclotomic/Basic.lean,Mathlib/NumberTheory/NumberField/Basic.lean 5 0 [] nobody
43-11895
1 month ago
43-11895
1 month ago
0-28
28 seconds
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/) new-contributor t-category-theory merge-conflict awaiting-author 33/0 Mathlib/CategoryTheory/Limits/Types/Colimits.lean 1 5 ['github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'robertmaxton42'] nobody
42-83959
1 month ago
42-83960
1 month ago
8-28043
8 days
23949 Louddy
author:Louddy
feat: SkewPolynomial # Univariate skew polynomials Skew polynomials are represented as `SkewMonoidAlgebra R (Multiplicative ℕ)`, where `R` is usually at least a Semiring. In this file, we define `SkewPolynomial` and provide basic instances. This is currently missing the definition of `coeff` and `single` as they require a more advance interface of `SkewMonoidAlgebra` which is still WIP (See TODOs in file). Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)> --- - [x] depends on: #22078 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-algebra merge-conflict
label:t-algebra$
600/42 Mathlib.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/Algebra/SkewPolynomial/Basic.lean,docs/references.bib 4 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
42-45419
1 month ago
42-45421
1 month ago
0-2389
39 minutes
10541 Louddy
author:Louddy
feat(Algebra/SkewMonoidAlgebra/Basic): add SkewMonoidAlgebra # Skew Monoid algebras This file presents a skewed version of `Mathlib.Algebra.MonoidAlgebra.Basic`. ## Definition We define `SkewMonoidAlgebra k G := G →₀ k` attached with a skewed convolution product. Here, the product of two elements `f g : SkewMonoidAlgebra k G` is the finitely supported function whose value at `a` is the sum of `f x * (x • g y)` over all pairs `x, y` such that `x * y = a`. This will be used in a later PR to define skew polynomial rings. Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)> --- - [x] depends on: #15878 - [x] depends on: #19084 - [x] depends on: #22078 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra merge-conflict WIP
label:t-algebra$
1624/0 Mathlib.lean,Mathlib/Algebra/Group/InjSurj.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/Algebra/SkewMonoidAlgebra/Lift.lean 4 105 ['AntoineChambert-Loir', 'Louddy', 'YaelDillies', 'eric-wieser', 'fpvandoorn', 'github-actions', 'mariainesdff', 'mathlib4-dependent-issues-bot', 'mattrobball'] AntoineChambert-Loir
assignee:AntoineChambert-Loir
42-45225
1 month ago
42-45227
1 month ago
179-12934
179 days
24103 plp127
author:plp127
feat(Topology/UniformSpace/OfCompactT2): generalize theorem Generalize `uniformSpaceOfCompactT2` to `uniformSpaceOfCompactR1`. --- - [ ] depends on: #24098 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict 48/24 Mathlib/Topology/Separation/Regular.lean,Mathlib/Topology/UniformSpace/OfCompactT2.lean 2 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
42-32991
1 month ago
42-32992
1 month ago
76-65641
76 days
25999 bjoernkjoshanssen
author:bjoernkjoshanssen
feat(Topology/Compactification): projective line over ℝ is homeomorphic to the one-point compactification of ℝ This PR continues the work from #18306. Original PR: https://github.com/leanprover-community/mathlib4/pull/18306 t-topology merge-conflict 920/0 Mathlib.lean,Mathlib/Topology/Compactification/OnePointHomeomorph.lean,Mathlib/Topology/Compactification/OnePointRealLemmas.lean 3 3 ['bjoernkjoshanssen', 'github-actions', 'leanprover-community-bot-assistant'] nobody
41-63290
1 month ago
43-57218
1 month ago
21-20473
21 days
24096 plp127
author:plp127
feat(Topology): Completely Regular Space iff Uniformizable Proves that `CompletelyRegularSpace`s are uniformizable and that `UniformSpace`s are completely regular. --- - [x] depends on: #24179 - [x] depends on: #24173 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict 339/1 Mathlib.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/UniformSpace/Basic.lean,Mathlib/Topology/UniformSpace/Defs.lean,Mathlib/Topology/UniformSpace/Uniformizable.lean 5 10 ['alreadydone', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'plp127'] nobody
40-30518
1 month ago
40-75935
1 month ago
2-8297
2 days
25710 Paul-Lez
author:Paul-Lez
feat(Mathlib/Analysis/PDE/Quasilinear/Characteristics): the method of characteristics for first order quasilinear PDEs --- - [x] depends on: #25708 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict WIP 531/0 Mathlib/Analysis/Calculus/TangentCone.lean,Mathlib/Analysis/ODE/Gronwall.lean,Mathlib/Analysis/PDE/Quasilinear/Characteristics.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean,Mathlib/Topology/Separation/Basic.lean 5 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
40-28711
1 month ago
40-28712
1 month ago
0-1343
22 minutes
26966 vihdzp
author:vihdzp
feat: the Dedekind-MacNeille completion We define the type of Dedekind cuts `DedekindCut α` as an abbreviation for `Concept α α (· ≤ ·)`. We prove that it's the smallest complete lattice containing a given partial order, in the sense that any embedding from `α` into a complete lattice factors through it. --- The idea here is that one should be able to work with Dedekind cuts without knowing what a concept lattice is; whence the abbreviation. See [Zulip](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Dedekind-MacNeille.20completion.2E/near/528004148). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order merge-conflict awaiting-author 133/1 Mathlib.lean,Mathlib/Order/Concept.lean,Mathlib/Order/Dedekind.lean 3 11 ['YaelDillies', 'github-actions', 'leanprover-community-bot-assistant', 'linesthatinterlace', 'vihdzp'] nobody
40-27645
1 month ago
40-27646
1 month ago
0-0
0 seconds
26603 vihdzp
author:vihdzp
refactor(SetTheory/Ordinal/FixedPoint): redefine `Ordinal.deriv` We previously defined the [ordinal derivative](https://en.wikipedia.org/wiki/Normal_function#Properties) of a function as the unique normal function satisfying `deriv f 0 = nfp f 0` and `deriv f (o + 1) = nfp f (deriv f o)` (where `nfp f a` is the next fixed point of `f` that's `≥ a`). The motivation here was to give a "nice" junk value on non-normal functions (the derivative is normal no matter what). However, in practice, this definition makes it unwieldy to prove things, by either requiring a tedious zero/successor/limit argument, or requiring one to rewrite `deriv f = enumOrd (fixedPoints f)`. We can instead define `deriv f = enumOrd (fixedPoints f)`. At the cost of giving "worse" junk values (which we have no legitimate uses of), we're able to much more easily prove all the expected properties in the standard case where `f` is a normal function. Finally, we do some drive-by API cleanup. --- The GitHub diff is a bit messy, I made my best to clean it up. Moved from #21858. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict 172/197 Mathlib/SetTheory/Cardinal/Regular.lean,Mathlib/SetTheory/Ordinal/FixedPoint.lean,Mathlib/SetTheory/Ordinal/Veblen.lean 3 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
40-21681
1 month ago
40-21681
1 month ago
9-66061
9 days
26895 vihdzp
author:vihdzp
feat(SetTheory/Cardinal/Aleph): `IsStrongLimit (preBeth x)` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict 20/12 Mathlib/SetTheory/Cardinal/Aleph.lean 1 2 ['github-actions', 'kckennylau', 'leanprover-community-bot-assistant'] nobody
40-21556
1 month ago
40-21557
1 month ago
3-18936
3 days
21039 eric-wieser
author:eric-wieser
hack: override `instance` to insert `fast_instance%` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict please-adopt 40/4 Mathlib/Algebra/Equiv/TransferInstance.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/Tactic/FastInstance.lean,Mathlib/Topology/FiberBundle/Basic.lean 4 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
40-19918
1 month ago
40-19918
1 month ago
0-0
0 seconds
26911 JovanGerb
author:JovanGerb
chore: fix naming of `mono` and `monotone` The naming convention says: "We use `_mono` for `a ≤ b → f a ≤ f b` and `_anti` for `a ≤ b → f b ≤ f a`, so we also use `_monotone` for `Monotone f`, `_antitone` for `Antitone f`, `_strictMono` for `StrictMono f`, `_strictAnti` for `StrictAnti f`, etc..." This PR swaps `mono`/`anti` and `monotone`/`antitone` where required so that `monotone` refers to `Monotone`, while `mono` refers to a lemma that might be tagged with `@[gcongr]` This PR does not address - `mul_left_monotone` and `mul_right_monotone` are exactly the wrong way around - `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/) merge-conflict delegated 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/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/PSeries.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/Chunk.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean,Mathlib/Computability/Ackermann.lean,Mathlib/Data/ENNReal/Inv.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/Data/Nat/Choose/Factorization.lean,Mathlib/Data/Real/Pi/Bounds.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/Padics/Hensel.lean,Mathlib/Order/Concept.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/Different.lean,Mathlib/RingTheory/DedekindDomain/Ideal.lean,Mathlib/RingTheory/FractionalIdeal/Basic.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean,Mathlib/Topology/MetricSpace/Antilipschitz.lean,Mathlib/Topology/MetricSpace/Holder.lean 59 8 ['JovanGerb', 'bryangingechen', 'github-actions', 'leanprover-community-bot-assistant', 'linesthatinterlace', 'mathlib-bors'] bryangingechen
assignee:bryangingechen
39-85023
1 month ago
40-27647
1 month ago
2-60107
2 days
21838 joneugster
author:joneugster
feat(Cache): Allow arguments of the form `Mathlib.Data` which correspond to a folder but not a file --- - [x] depends on: #21834 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI t-meta merge-conflict awaiting-author 34/11 Cache/IO.lean,Cache/Main.lean 2 11 ['eric-wieser', 'github-actions', 'joneugster', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mergify'] nobody
38-20775
1 month ago
38-20776
1 month ago
50-67617
50 days
25611 erdOne
author:erdOne
chore(RingTheory): add `Algebra (FractionRing R) (FractionRing S)` Co-authored-by: Yakov Pechersky --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
152/108 Mathlib.lean,Mathlib/Algebra/Algebra/NonZeroDivisors.lean,Mathlib/NumberTheory/RamificationInertia/Galois.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/DedekindDomain/IntegralClosure.lean,Mathlib/RingTheory/Ideal/Norm/RelNorm.lean,Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean,Mathlib/RingTheory/Localization/FractionRing.lean,Mathlib/RingTheory/Localization/FractionRingAlgebra.lean,Mathlib/RingTheory/Localization/Integral.lean 10 20 ['alreadydone', 'erdOne', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'pechersky'] nobody
36-46034
1 month ago
36-46035
1 month ago
36-35321
36 days
27310 ADedecker
author:ADedecker
chore: semilinearize LinearAlgebra.TensorProduct.Basic This PR continues the work from #24208. Original PR: https://github.com/leanprover-community/mathlib4/pull/24208 t-algebra merge-conflict
label:t-algebra$
191/138 Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Closed.lean,Mathlib/Algebra/Lie/TensorProduct.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/LinearAlgebra/BilinearForm/TensorProduct.lean,Mathlib/LinearAlgebra/BilinearMap.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean,Mathlib/LinearAlgebra/TensorPower/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Associator.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/RingTheory/Coalgebra/Hom.lean 12 0 [] nobody
31-33632
1 month ago
31-33632
1 month ago
0-49
49 seconds
27335 eric-wieser
author:eric-wieser
chore(Data/List): use simp-normal-form for boolean equalities This replaces `¬(p x = true)` with `p x = false`. It also makes explicit some adjacent `h : p x` spellings for symmetry, but the `= true`s were already implied by the coercion. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict 43/34 Mathlib/Data/List/DropRight.lean,Mathlib/Data/List/SplitOn.lean,Mathlib/Data/List/TakeWhile.lean 3 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
29-75038
29 days ago
29-75039
29 days ago
0-19242
5 hours
25284 alreadydone
author:alreadydone
feat(LinearAlgebra/Contraction): bijectivity of `dualTensorHom` + generalize to CommSemiring --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict awaiting-author
label:t-algebra$
167/32 Mathlib/Data/Finsupp/Defs.lean,Mathlib/LinearAlgebra/Contraction.lean,Mathlib/LinearAlgebra/Pi.lean,Mathlib/LinearAlgebra/Trace.lean,Mathlib/RingTheory/Finiteness/Finsupp.lean 5 16 ['alreadydone', 'eric-wieser', 'github-actions', 'kckennylau', 'leanprover-bot', 'leanprover-community-bot-assistant'] nobody
29-10574
29 days ago
29-10574
29 days ago
47-45899
47 days
22749 joelriou
author:joelriou
feat(CategoryTheory/Abelian): the Gabriel-Popescu theorem as a localization with respect to a Serre class This PR introduces a structure `GabrielPopescuPackage C` which contains the information to say that the abelian category `C` is a localization of a category of modules with respect to a suitable Serre class. --- - [x] depends on: #26033 - [ ] depends on: #26663 - [x] depends on: #22733 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict WIP 202/6 Mathlib.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ModuleEmbedding/GabrielPopescu.lean,Mathlib/CategoryTheory/Abelian/SerreClass/Bousfield.lean,Mathlib/CategoryTheory/Abelian/SerreClass/MorphismProperty.lean,Mathlib/CategoryTheory/ObjectProperty/ContainsZero.lean 5 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
28-53860
28 days ago
28-53862
28 days ago
0-10930
3 hours
25941 erdOne
author:erdOne
feat(AlgebraicGeometry): inverse limits and schemes of finite type We prove the following: Given a cofiltered diagram `D` of quasi-compact `S`-schemes with affine transition maps, and another scheme `X` of finite type over `S`. Then the canonical map `colim Homₛ(Dᵢ, X) ⟶ Homₛ(lim Dᵢ, X)` is injective. Co-authored-by: Christian Merten --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebraic-geometry merge-conflict delegated 368/3 Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean,Mathlib/AlgebraicGeometry/Morphisms/Affine.lean,Mathlib/AlgebraicGeometry/Morphisms/FiniteType.lean,Mathlib/CategoryTheory/Limits/Constructions/Over/Connected.lean,Mathlib/CategoryTheory/Limits/Creates.lean 5 23 ['chrisflav', 'erdOne', 'github-actions', 'jcommelin', 'leanprover-community-bot-assistant', 'mathlib-bors'] nobody
28-47382
28 days ago
28-47383
28 days ago
17-3559
17 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/) t-euclidean-geometry merge-conflict awaiting-author help-wanted 2661/0 Mathlib.lean,Mathlib/Geometry/Synthetic/Avigad/Axioms.lean,Mathlib/Geometry/Synthetic/Avigad/EuclidBookI.lean,Mathlib/Geometry/Synthetic/Avigad/Tactics.lean 4 73 ['ah1112', 'alreadydone', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'tb65536', 'urkud'] nobody
28-33232
28 days ago
28-33233
28 days ago
0-0
0 seconds
26784 eric-wieser
author:eric-wieser
chore: remove suppress_compilation Still not exhaustive. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 0/37 Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/Colimit/Module.lean,Mathlib/Algebra/Colimit/Ring.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/Analysis/Normed/Algebra/Unitization.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean,Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Basic.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Bilinear.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Completeness.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Mul.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/NNNorm.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/NormedSpace.lean,Mathlib/CategoryTheory/Abelian/Projective/Resolution.lean,Mathlib/CategoryTheory/Monoidal/Internal/Module.lean 18 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
28-26121
28 days ago
28-26122
28 days ago
0-0
0 seconds
26804 kckennylau
author:kckennylau
(WIP) feat(SetTheory): ZFSet is a model of ZFC --- Depends on: * [ ] #26644 `Mathlib/SetTheory/ZFC/Model.lean` is the main file, and it starts at Line 346. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict WIP 1245/0 Mathlib.lean,Mathlib/SetTheory/ZFC/Axioms.lean,Mathlib/SetTheory/ZFC/Model.lean,docs/references.bib 4 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
27-63979
27 days ago
27-63980
27 days ago
0-163
2 minutes
20428 madvorak
author:madvorak
feat(Data/Sign): lemmas about `∈ Set.range SignType.cast` --- Perhaps `in_set_range_singType_cast_iff_abs` needs to be moved somewhere downstream. t-data merge-conflict WIP 40/0 Mathlib/Data/Sign.lean 1 10 ['eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'madvorak'] nobody
27-56472
27 days ago
27-56473
27 days ago
0-0
0 seconds
23528 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: add isOpen_setOf_affineIndependent From sphere-eversion. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict delegated 15/0 Mathlib/Analysis/Normed/Module/FiniteDimension.lean 1 5 ['github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib-bors', 'urkud'] nobody
27-30126
27 days ago
27-30127
27 days ago
26-70139
26 days
26608 vihdzp
author:vihdzp
feat(SetTheory/Cardinal/Aleph): `o.card ≤ ℵ_ o` and variants --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict 24/0 Mathlib/SetTheory/Cardinal/Aleph.lean 1 3 ['github-actions', 'kckennylau', 'leanprover-community-bot-assistant'] nobody
26-20491
26 days ago
26-20492
26 days ago
23-63406
23 days
20029 FrederickPu
author:FrederickPu
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/) new-contributor t-meta merge-conflict WIP 34/4 Mathlib/Tactic/Simps/Basic.lean 1 11 ['FrederickPu', 'YaelDillies', 'fpvandoorn', 'github-actions', 'leanprover-community-bot-assistant'] nobody
26-17172
26 days ago
26-17173
26 days ago
0-34081
9 hours
25662 erdOne
author:erdOne
chore: redefine `LocalizedModule` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 196/228 Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/GroupTheory/OreLocalization/Basic.lean,Mathlib/GroupTheory/OreLocalization/OreSet.lean,Mathlib/RingTheory/OreLocalization/Ring.lean,Mathlib/RingTheory/TensorProduct/Nontrivial.lean 6 13 ['erdOne', 'eric-wieser', 'github-actions', 'kckennylau', 'leanprover-bot', 'leanprover-community-bot-assistant'] nobody
25-84318
25 days ago
25-84319
25 days ago
45-34308
45 days
26544 vihdzp
author:vihdzp
feat(SetTheory/ZFC/Ordinal): Lean ordinals to ZFC ordinals We define `Ordinal.toZFSet` and prove that its outputs are precisely the ZFC ordinals. Moved from #19985. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-set-theory merge-conflict awaiting-author 161/4 Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Ordinal.lean,Mathlib/SetTheory/ZFC/PSet.lean,Mathlib/SetTheory/ZFC/Rank.lean 4 11 ['alreadydone', 'github-actions', 'leanprover-community-bot-assistant', 'vihdzp'] nobody
23-56933
23 days ago
23-56934
23 days ago
26-63783
26 days
13973 digama0
author:digama0
feat: lake exe refactor, initial framework This is the initial framework code for `lake exe refactor`. To use it, you add your refactoring to `Refactor/Main.lean` (note, you have to actually write some metaprogramming code here for the refactoring itself), and the harness will run it on specified files and apply the generated edits. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict awaiting-author 139/0 Refactor/Main.lean,lakefile.lean 2 11 ['adomani', 'digama0', 'eric-wieser', 'github-actions', 'joneugster', 'leanprover-community-bot-assistant', 'mattrobball'] nobody
22-38033
22 days ago
22-38034
22 days ago
4-80741
4 days
22092 fpvandoorn
author:fpvandoorn
perf: lower gcongr priority in group mono lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
13/9 Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean 1 6 ['fpvandoorn', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot'] nobody
20-52046
20 days ago
20-52047
20 days ago
0-6118
1 hour
26498 EtienneC30
author:EtienneC30
feat: projections and injections for WithLp Introduce `WithLp.fst` and `WithLp.snd` to avoid defeq abuse by writing `x.1` when `x : WithLp p (α × β)`. Also add a `ContinuousLinearMap` version. Introduce `WithLp.inl` (resp. `WithLp.inr`) as a linear isometry from `α` (resp. β) to `WithLp p (α × β)`. Introduce `PiLp.single` as a linear isometry from `β i` to `PiLp p β`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict 107/7 Mathlib/Analysis/Normed/Lp/PiLp.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/Normed/Lp/WithLp.lean,Mathlib/LinearAlgebra/Pi.lean 4 11 ['EtienneC30', 'b-mehta', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] nobody
20-48919
20 days ago
20-48919
20 days ago
5-313
5 days
27399 MoritzBeroRoos
author:MoritzBeroRoos
feat: 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/) new-contributor merge-conflict 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
20-48548
20 days ago
20-48548
20 days ago
7-62439
7 days
27403 MoritzBeroRoos
author:MoritzBeroRoos
feat: 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/) new-contributor merge-conflict 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 4 ['eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] nobody
20-48547
20 days ago
20-48547
20 days ago
7-54661
7 days
12181 adomani
author:adomani
lint also `let` vs `have` This PR is symmetrical to #12157: here we lint for non-`Type`-valued `let`s. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter merge-conflict 797/544 Archive/Imo/Imo1962Q1.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Mathlib.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/BigOperators/Basic.lean,Mathlib/Algebra/DirectLimit.lean,Mathlib/Algebra/Group/UniqueProds.lean,Mathlib/Algebra/Homology/HomologicalComplexBiprod.lean,Mathlib/Algebra/Homology/HomologySequence.lean,Mathlib/Algebra/Homology/HomotopyCategory/Pretriangulated.lean,Mathlib/Algebra/Homology/Localization.lean,Mathlib/Algebra/Homology/ShortComplex/Abelian.lean,Mathlib/Algebra/Homology/ShortComplex/ConcreteCategory.lean,Mathlib/Algebra/Homology/ShortComplex/Exact.lean,Mathlib/Algebra/Homology/ShortComplex/ExactFunctor.lean,Mathlib/Algebra/Homology/ShortComplex/Homology.lean,Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean,Mathlib/Algebra/Homology/ShortComplex/Linear.lean,Mathlib/Algebra/Homology/ShortComplex/Preadditive.lean,Mathlib/Algebra/Homology/ShortComplex/PreservesHomology.lean,Mathlib/Algebra/Homology/ShortComplex/QuasiIso.lean,Mathlib/Algebra/Homology/ShortComplex/RightHomology.lean,Mathlib/Algebra/Lie/Engel.lean,Mathlib/Algebra/Lie/Killing.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Module/Submodule/Localization.lean,Mathlib/Algebra/Module/Zlattice.lean,Mathlib/Algebra/MonoidAlgebra/Grading.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiCompact.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiSeparated.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/Pullbacks.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/AlgebraicTopology/DoldKan/Homotopies.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/FDeriv/Comp.lean,Mathlib/Analysis/Calculus/Rademacher.lean,Mathlib/Analysis/Complex/Tietze.lean,Mathlib/Analysis/Convex/Between.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/InnerProductSpace/Rayleigh.lean,Mathlib/Analysis/NormedSpace/ContinuousAffineMap.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Completeness.lean,Mathlib/Analysis/NormedSpace/Spectrum.lean,Mathlib/Analysis/SpecialFunctions/Integrals.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/CategoryTheory/Abelian/Exact.lean,Mathlib/CategoryTheory/Abelian/Pseudoelements.lean,Mathlib/CategoryTheory/Abelian/Transfer.lean,Mathlib/CategoryTheory/Adhesive.lean,Mathlib/CategoryTheory/Closed/Cartesian.lean,Mathlib/CategoryTheory/Closed/Monoidal.lean,Mathlib/CategoryTheory/Comma/Arrow.lean,Mathlib/CategoryTheory/EffectiveEpi/Extensive.lean,Mathlib/CategoryTheory/Extensive.lean,Mathlib/CategoryTheory/Functor/EpiMono.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Galois/Basic.lean,Mathlib/CategoryTheory/Galois/Decomposition.lean,Mathlib/CategoryTheory/Galois/Examples.lean,Mathlib/CategoryTheory/GradedObject/Trifunctor.lean,Mathlib/CategoryTheory/IsConnected.lean,Mathlib/CategoryTheory/Limits/ConcreteCategory.lean,Mathlib/CategoryTheory/Limits/Constructions/EpiMono.lean,Mathlib/CategoryTheory/Limits/Constructions/WeaklyInitial.lean,Mathlib/CategoryTheory/Limits/FilteredColimitCommutesFiniteLimit.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/FintypeCat.lean,Mathlib/CategoryTheory/Limits/Fubini.lean,Mathlib/CategoryTheory/Limits/IsLimit.lean,Mathlib/CategoryTheory/Limits/Preserves/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/FiniteLimits.lean,Mathlib/CategoryTheory/Limits/VanKampen.lean,Mathlib/CategoryTheory/Localization/LocalizerMorphism.lean,Mathlib/CategoryTheory/Localization/Pi.lean,Mathlib/CategoryTheory/Localization/Resolution.lean,Mathlib/CategoryTheory/Monad/Monadicity.lean,Mathlib/CategoryTheory/PUnit.lean,Mathlib/CategoryTheory/Sites/Coherent/CoherentSheaves.lean,Mathlib/CategoryTheory/Sites/Coherent/RegularSheaves.lean,Mathlib/CategoryTheory/Sites/Coverage.lean,Mathlib/CategoryTheory/Sites/LeftExact.lean,Mathlib/CategoryTheory/Sites/Preserves.lean,Mathlib/CategoryTheory/Sites/Pullback.lean,Mathlib/CategoryTheory/Sites/Sheaf.lean,Mathlib/CategoryTheory/Triangulated/Pretriangulated.lean,Mathlib/Combinatorics/Colex.lean,Mathlib/Combinatorics/SetFamily/Kleitman.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity.lean 271 0 [] nobody
20-48349
20 days ago
20-48349
20 days ago
0-0
0 seconds
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/) t-algebraic-topology new-contributor merge-conflict WIP 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
20-48331
20 days ago
20-48331
20 days ago
1-20125
1 day
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 new-contributor t-category-theory merge-conflict WIP 720/0 Mathlib.lean,Mathlib/AlgebraicTopology/AugmentedSimplexCategory.lean,Mathlib/AlgebraicTopology/SimplicialObject.lean,Mathlib/Order/Category/FinLinOrd.lean 4 5 ['TwoFX', 'YaelDillies', 'joelriou', 'jstoobysmith'] nobody
20-48287
20 days ago
20-48287
20 days ago
7-63215
7 days
10084 alreadydone
author:alreadydone
draft for Van Kampen The part about the homotopy lifting property for covering maps has been extracted to #22649 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology merge-conflict WIP 91/24 Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/VanKampen.lean 2 1 ['leanprover-community-bot-assistant'] nobody
20-48196
20 days ago
20-48196
20 days ago
0-0
0 seconds
26303 joelriou
author:joelriou
feat(AlgebraicTopology): the fundamental lemma of homotopical algebra Given a model category `C`, the fundamental lemma of homotopical algebra (Quillen) shows that it is possible to compute morphisms in the homotopy category of `C` (the localized category with respect to weak equivalences) from `X` to `Y` as a quotient of the type of morphisms from `X` to `Y` in `C` modulo an homotopy relation, when `X` is cofibrant and `Y` is fibrant. In particular, we obtain a version of the Whitehead theorem: a weak equivalence between bifibrant objects (both cofibrant and fibrant) is a homotopy equivalence. We also show that we obtain equivalent categories if we localize `C` or various fullsubcategories (cofibrant objetss, fibrant objects, bifibrant objects) with respect to weak equivalences. (This improves the first formalization I made in 2022 in Lean 3.) (This is sorry-free, but still WIP. In order to do clean proofs, we shall also need the refactor of fullsubcategories...) --- - [x] depends on: #26171 - [x] depends on: #26166 - [x] depends on: #26365 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology large-import t-category-theory merge-conflict WIP 3174/31 Mathlib.lean,Mathlib/AlgebraicTopology/ModelCategory/Basic.lean,Mathlib/AlgebraicTopology/ModelCategory/Bifibrant.lean,Mathlib/AlgebraicTopology/ModelCategory/BrownLemma.lean,Mathlib/AlgebraicTopology/ModelCategory/CategoryWithCofibrations.lean,Mathlib/AlgebraicTopology/ModelCategory/Cylinder.lean,Mathlib/AlgebraicTopology/ModelCategory/DerivabilityStructure.lean,Mathlib/AlgebraicTopology/ModelCategory/FundamentalLemma1.lean,Mathlib/AlgebraicTopology/ModelCategory/FundamentalLemma2.lean,Mathlib/AlgebraicTopology/ModelCategory/FundamentalLemma3.lean,Mathlib/AlgebraicTopology/ModelCategory/Homotopy.lean,Mathlib/AlgebraicTopology/ModelCategory/Instances.lean,Mathlib/AlgebraicTopology/ModelCategory/IsCofibrant.lean,Mathlib/AlgebraicTopology/ModelCategory/PathObject.lean,Mathlib/CategoryTheory/Localization/CalculusOfFractions/OfAdjunction.lean,Mathlib/CategoryTheory/Localization/Opposite.lean,Mathlib/CategoryTheory/Localization/Predicate.lean,Mathlib/CategoryTheory/Localization/Quotient.lean,Mathlib/CategoryTheory/MorphismProperty/Quotient.lean 19 n/a ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
20-48122
20 days ago
unknown
unknown
20719 gio256
author:gio256
feat(AlgebraicTopology): delaborators for truncated simplicial notations We add delaborators for the following notations, introduced in #20688: - `⦋m⦌ₙ`, which denotes the `m`-dimensional simplex in the `n`-truncated simplex category. - `X _⦋m⦌ₙ`, which denotes the `m`-th term of an `n`-truncated simplicial object `X`. - `X ^⦋m⦌ₙ`, which denotes the `m`-th term of an `n`-truncated cosimplicial object `X`. If `pp.proofs` is set to `true`, we also pretty-print the proof `p : m ≤ n` for all three notations as `⦋m, p⦌ₙ`, `X _⦋m, p⦌ₙ`, and `X ^⦋m, p⦌ₙ`, respectively. Credit to @kmill for one piece of code and much metaprogramming inspiration. --- - [x] depends on: #20688 - [x] depends on: #23018 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology infinity-cosmos t-meta merge-conflict 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 23 ['eric-wieser', 'gio256', 'github-actions', 'kim-em', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] eric-wieser
assignee:eric-wieser
20-48093
20 days ago
20-48093
20 days ago
88-84229
88 days
26926 adomani
author:adomani
draft: `commandStart` more --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-linter merge-conflict awaiting-author WIP 3160/1085 Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/MonCat/Adjunctions.lean,Mathlib/Algebra/Divisibility/Basic.lean,Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/Group/Commute/Defs.lean,Mathlib/Algebra/Group/Commute/Units.lean,Mathlib/Algebra/Group/Hom/CompTypeclasses.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Semiconj/Basic.lean,Mathlib/Algebra/Group/Semiconj/Units.lean,Mathlib/Algebra/Group/UniqueProds/Basic.lean,Mathlib/Algebra/Homology/ComplexShape.lean,Mathlib/Algebra/Homology/Embedding/Boundary.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplexShift.lean,Mathlib/Algebra/Lie/LieTheorem.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/Notation/Defs.lean,Mathlib/Algebra/Notation/Lemmas.lean,Mathlib/Algebra/Notation/Pi.lean,Mathlib/Algebra/Order/Antidiag/Pi.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/CoeffList.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/Algebra/Polynomial/Sequence.lean,Mathlib/Algebra/Polynomial/Smeval.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/AlgebraicTopology/DoldKan/Degeneracies.lean,Mathlib/AlgebraicTopology/DoldKan/FunctorGamma.lean,Mathlib/AlgebraicTopology/DoldKan/Homotopies.lean,Mathlib/AlgebraicTopology/DoldKan/HomotopyEquivalence.lean,Mathlib/AlgebraicTopology/DoldKan/NCompGamma.lean,Mathlib/AlgebraicTopology/DoldKan/Normalized.lean,Mathlib/AlgebraicTopology/DoldKan/Projections.lean,Mathlib/AlgebraicTopology/DoldKan/SplitSimplicialObject.lean,Mathlib/Analysis/InnerProductSpace/Laplacian.lean,Mathlib/Analysis/Normed/Field/Lemmas.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/FourierTransform.lean,Mathlib/CategoryTheory/ComposableArrows.lean,Mathlib/CategoryTheory/Extensive.lean,Mathlib/CategoryTheory/FiberedCategory/Cocartesian.lean,Mathlib/CategoryTheory/Functor/Basic.lean,Mathlib/CategoryTheory/Functor/KanExtension/Preserves.lean,Mathlib/CategoryTheory/Functor/OfSequence.lean,Mathlib/CategoryTheory/Limits/Bicones.lean,Mathlib/CategoryTheory/Limits/Constructions/Over/Products.lean,Mathlib/CategoryTheory/Limits/Final/ParallelPair.lean,Mathlib/CategoryTheory/Limits/Preserves/Bifunctor.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Kernels.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Pullbacks.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Limits/Shapes/FiniteLimits.lean,Mathlib/CategoryTheory/Limits/Shapes/Multiequalizer.lean,Mathlib/CategoryTheory/Limits/Shapes/WideEqualizers.lean,Mathlib/CategoryTheory/Limits/Types/Shapes.lean,Mathlib/CategoryTheory/Localization/Construction.lean,Mathlib/CategoryTheory/Localization/Pi.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/FunctorCategory.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Sites/MayerVietorisSquare.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Removal.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean,Mathlib/Computability/TuringMachine.lean,Mathlib/Control/ULiftable.lean,Mathlib/Data/Bool/Basic.lean,Mathlib/Data/Fin/Fin2.lean,Mathlib/Data/Finmap.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Finset/Insert.lean,Mathlib/Data/Finset/Lattice/Basic.lean,Mathlib/Data/Finsupp/Option.lean,Mathlib/Data/Fintype/Fin.lean,Mathlib/Data/Int/Bitwise.lean,Mathlib/Data/Int/Cast/Defs.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Chain.lean,Mathlib/Data/List/Destutter.lean,Mathlib/Data/List/Indexes.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/List/Perm/Basic.lean,Mathlib/Data/List/Rotate.lean,Mathlib/Data/List/TakeWhile.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/Multiset/UnionInter.lean,Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Cast/Defs.lean,Mathlib/Data/Nat/Cast/Order/Ring.lean,Mathlib/Data/Nat/Choose/Basic.lean,Mathlib/Data/Nat/Factorial/SuperFactorial.lean,Mathlib/Data/Nat/Fib/Basic.lean,Mathlib/Data/Nat/Find.lean,Mathlib/Data/Nat/Init.lean 266 18 ['MichaelStollBayreuth', 'adomani', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant'] nobody
20-47958
20 days ago
20-47958
20 days ago
0-0
0 seconds
9935 jstoobysmith
author:jstoobysmith
feat(AlgebraicTopology): add constructors for horns Added a function that given a simplicial set S and a set of n-1 simplexes satisfying certain conditions, creates a morphism in SSet from a n horn to a simplicial set S. Included also are a series of lemmas and definitions used in this construction. In particular I define a function that takes a m-simplex in a horn, and returns the smallest 'index' of face it factors through, and give a series of lemmas related to this. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology new-contributor merge-conflict awaiting-author 462/2 Mathlib/AlgebraicTopology/SimplicialSet.lean 1 15 ['YaelDillies', 'jcommelin', 'jstoobysmith', 'kim-em', 'linesthatinterlace'] nobody
20-47688
20 days ago
20-47688
20 days ago
14-58814
14 days
25914 eric-wieser
author:eric-wieser
feat: add an ext lemma for the opposite category This powers up `aesop_cat`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory awaiting-CI merge-conflict awaiting-author 18/56 Mathlib/AlgebraicTopology/SimplicialObject/Basic.lean,Mathlib/CategoryTheory/Abelian/Opposite.lean,Mathlib/CategoryTheory/Category/RelCat.lean,Mathlib/CategoryTheory/GuitartExact/Opposite.lean,Mathlib/CategoryTheory/Limits/Opposites.lean,Mathlib/CategoryTheory/Limits/Shapes/Products.lean,Mathlib/CategoryTheory/Opposites.lean,Mathlib/CategoryTheory/Triangulated/Opposite/Functor.lean,Mathlib/Combinatorics/Quiver/Basic.lean 9 7 ['eric-wieser', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'robin-carlier'] nobody
20-45930
20 days ago
46-75850
1 month ago
1-77289
1 day
20208 js2357
author:js2357
feat: Define the localization of a fractional ideal at a prime ideal Define the localization of a fractional ideal at a prime ideal, and prove some basic properties. --- Alternate version of #14237 generalized to use `IsLocalization` and `IsFractionRing` rather than `Localization.AtPrime` and `FractionRing` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
248/0 Mathlib.lean,Mathlib/RingTheory/FractionalIdeal/LocalizedAtPrime.lean 2 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
20-31173
20 days ago
20-31174
20 days ago
0-21
21 seconds
26474 xroblot
author:xroblot
feat(NumberTheory): `N(I 𝓞L) = N(I) ^ [L:K]` for an integral ideal `I` of `K` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-number-theory merge-conflict WIP 74/4 Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/RingTheory/DedekindDomain/Ideal.lean,Mathlib/RingTheory/Ideal/Int.lean,Mathlib/RingTheory/Ideal/Over.lean 4 9 ['github-actions', 'leanprover-community-bot-assistant', 'riccardobrasca', 'xroblot'] nobody
20-30013
20 days ago
20-30014
20 days ago
17-72406
17 days
19415 vihdzp
author:vihdzp
chore: move results on `Σ i : Fin n, f i` earlier --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data awaiting-CI merge-conflict 131/145 Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finsupp.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/Order/Antidiag/Pi.lean,Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/AlgebraicTopology/AlternatingFaceMapComplex.lean,Mathlib/Combinatorics/Enumerative/Catalan.lean,Mathlib/Combinatorics/Optimization/ValuedCSP.lean,Mathlib/Data/Fin/Tuple/NatAntidiagonal.lean,Mathlib/Data/Fin/Tuple/Reflection.lean,Mathlib/Data/Fintype/BigOperators.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/LinearAlgebra/LinearIndependent.lean 13 4 ['YaelDillies', 'github-actions', 'grunweg', 'vihdzp'] nobody
20-21475
20 days ago
261-59613
8 months ago
0-0
0 seconds
24260 plp127
author:plp127
feat(Topology): add API for Hereditarily Lindelof spaces Copies the stuff about Lindelof spaces to Hereditarily Lindelof spaces. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict awaiting-author 222/42 Mathlib/Topology/Compactness/Lindelof.lean 1 15 ['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'urkud'] urkud
assignee:urkud
20-745
20 days ago
20-746
20 days ago
29-42365
29 days
27181 ADedecker
author:ADedecker
chore: more conceptual definition of `ValuativeRel.ValueGroupWithZero` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra merge-conflict
label:t-algebra$
685/467 Mathlib.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Congruence/GroupWithZero.lean,Mathlib/RingTheory/OreLocalization/Basic.lean,Mathlib/RingTheory/OreLocalization/NonZeroDivisors.lean,Mathlib/RingTheory/OreLocalization/Ring.lean,Mathlib/RingTheory/Valuation/ValuativeRel.lean 9 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] nobody
20-734
20 days ago
20-735
20 days ago
0-0
0 seconds
27608 RemyDegenne
author:RemyDegenne
feat(MeasureTheory): typeclasses for measures with finite moments WIP because it seems useful for #26291 but I want to investigate more. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability merge-conflict WIP 97/17 Mathlib.lean,Mathlib/MeasureTheory/Measure/Typeclasses/FiniteMoments.lean,Mathlib/Probability/Moments/CovarianceBilin.lean 3 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
19-35610
19 days ago
19-35611
19 days ago
0-1
1 second
26306 j-loreaux
author:j-loreaux
refactor: make `IsSelfAdjoint` and `IsIdempotentElem` one-field structures. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import merge-conflict 222/224 Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/Algebra/Unitization.lean,Mathlib/Algebra/DirectSum/Idempotents.lean,Mathlib/Algebra/Group/Idempotent.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/GroupWithZero/Idempotent.lean,Mathlib/Algebra/Order/Ring/Idempotent.lean,Mathlib/Algebra/Order/Ring/Star.lean,Mathlib/Algebra/Order/Star/Basic.lean,Mathlib/Algebra/Ring/BooleanRing.lean,Mathlib/Algebra/Ring/Idempotent.lean,Mathlib/Algebra/Star/Module.lean,Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/Algebra/Star/StarProjection.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/AlgebraicGeometry/Morphisms/FormallyUnramified.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/CStarAlgebra/Module/Defs.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/LinearPMap.lean,Mathlib/Analysis/InnerProductSpace/Positive.lean,Mathlib/Analysis/InnerProductSpace/Projection.lean,Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/NormedSpace/MStructure.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Data/Complex/Module.lean,Mathlib/LinearAlgebra/Matrix/Hermitian.lean,Mathlib/LinearAlgebra/Matrix/HermitianFunctionalCalculus.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Projection.lean,Mathlib/LinearAlgebra/Span/Basic.lean,Mathlib/NumberTheory/NumberField/Completion.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Basic.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Embeddings.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean,Mathlib/RingTheory/DedekindDomain/Ideal.lean,Mathlib/RingTheory/Filtration.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/IdempotentFG.lean,Mathlib/RingTheory/Ideal/Span.lean,Mathlib/RingTheory/Idempotents.lean,Mathlib/RingTheory/Localization/Away/Basic.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean,Mathlib/RingTheory/Unramified/Field.lean,Mathlib/RingTheory/Unramified/Finite.lean,Mathlib/RingTheory/Unramified/Pi.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean 48 6 ['github-actions', 'j-loreaux', 'leanprover-community-bot-assistant', 'themathqueen'] nobody
19-35376
19 days ago
20-67855
20 days ago
37-45446
37 days
27238 alreadydone
author:alreadydone
feat(Algebra): IsDomain R[X] ↔ IsDomain R ∧ IsCancelAdd R --- - [x] depends on: #27241 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra merge-conflict
label:t-algebra$
138/4 Counterexamples.lean,Counterexamples/PolynomialIsDomain.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/GroupWithZero/TransferInstance.lean,Mathlib/Algebra/Opposites.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/RingTheory/Polynomial/Opposites.lean 9 7 ['alreadydone', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
18-519
18 days ago
18-519
18 days ago
3-72191
3 days
25726 tb65536
author:tb65536
(WIP) Galois group of `x ^ n - x - 1` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra merge-conflict WIP
label:t-algebra$
512/145 Archive/Wiedijk100Theorems/AbelRuffini.lean,Mathlib/RingTheory/Polynomial/Selmer.lean 2 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] nobody
17-56700
17 days ago
17-56700
17 days ago
0-1
1 second
26344 mans0954
author:mans0954
feature(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 file-removed t-analysis merge-conflict WIP 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
17-56452
17 days ago
17-56453
17 days ago
5-43696
5 days
27870 grunweg
author:grunweg
draft: commandStart more --- fixing grounds A version of #26926 where I can slowly work towards fixing some violations. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import merge-conflict WIP 2981/906 Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Divisibility/Basic.lean,Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/Group/Commute/Defs.lean,Mathlib/Algebra/Group/Hom/CompTypeclasses.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Semiconj/Basic.lean,Mathlib/Algebra/Group/Semiconj/Units.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplexShift.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/Notation/Defs.lean,Mathlib/Algebra/Notation/Pi.lean,Mathlib/Algebra/Order/Antidiag/Pi.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/Algebra/Polynomial/Sequence.lean,Mathlib/Algebra/Polynomial/Smeval.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/Analysis/InnerProductSpace/Laplacian.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/FourierTransform.lean,Mathlib/CategoryTheory/FiberedCategory/Cocartesian.lean,Mathlib/CategoryTheory/Functor/Basic.lean,Mathlib/CategoryTheory/Functor/KanExtension/Preserves.lean,Mathlib/CategoryTheory/Limits/Preserves/Bifunctor.lean,Mathlib/CategoryTheory/Limits/Types/Shapes.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Removal.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean,Mathlib/Computability/TuringMachine.lean,Mathlib/Control/ULiftable.lean,Mathlib/Data/Bool/Basic.lean,Mathlib/Data/Fin/Fin2.lean,Mathlib/Data/Finmap.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Finset/Lattice/Basic.lean,Mathlib/Data/Fintype/Fin.lean,Mathlib/Data/Int/Bitwise.lean,Mathlib/Data/Int/Cast/Defs.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Chain.lean,Mathlib/Data/List/Destutter.lean,Mathlib/Data/List/Indexes.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/List/Perm/Basic.lean,Mathlib/Data/List/Rotate.lean,Mathlib/Data/List/TakeWhile.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/Multiset/UnionInter.lean,Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Cast/Defs.lean,Mathlib/Data/Nat/Choose/Basic.lean,Mathlib/Data/Nat/Factorial/SuperFactorial.lean,Mathlib/Data/Nat/Log.lean,Mathlib/Data/Option/Basic.lean,Mathlib/Data/PSigma/Order.lean,Mathlib/Data/Part.lean,Mathlib/Data/Prod/Basic.lean,Mathlib/Data/Real/Pi/Bounds.lean,Mathlib/Data/Seq/Computation.lean,Mathlib/Data/Seq/Seq.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Defs.lean,Mathlib/Data/Set/Function.lean,Mathlib/Data/Sigma/Order.lean,Mathlib/Data/Stream/Init.lean,Mathlib/Data/Sum/Basic.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/Data/TypeVec.lean,Mathlib/Data/Vector/Basic.lean,Mathlib/Geometry/Manifold/PoincareConjecture.lean,Mathlib/Geometry/Manifold/VectorBundle/SmoothSection.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/GroupTheory/CoprodI.lean,Mathlib/GroupTheory/Coxeter/Basic.lean,Mathlib/GroupTheory/Coxeter/Inversion.lean,Mathlib/GroupTheory/Coxeter/Length.lean,Mathlib/GroupTheory/FixedPointFree.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean,Mathlib/GroupTheory/GroupAction/Primitive.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfFixingSubgroup.lean,Mathlib/GroupTheory/HNNExtension.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/GroupTheory/Perm/Centralizer.lean,Mathlib/GroupTheory/Perm/Cycle/Concrete.lean,Mathlib/GroupTheory/Perm/DomMulAct.lean,Mathlib/GroupTheory/PushoutI.lean,Mathlib/GroupTheory/SpecificGroups/Dihedral.lean,Mathlib/GroupTheory/SpecificGroups/Quaternion.lean,Mathlib/LinearAlgebra/BilinearForm/TensorProduct.lean,Mathlib/LinearAlgebra/CliffordAlgebra/EvenEquiv.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Prod.lean,Mathlib/LinearAlgebra/Eigenspace/Matrix.lean 202 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
17-52609
17 days ago
17-52610
17 days ago
0-0
0 seconds
27445 erdOne
author:erdOne
chore(RingTheory/LocalRing): fix problematic instance We shouldn't use `RingHom.toAlgebra` for `Algebra (ResidueField R) (ResidueField S)`. The smul should come from the smul field in `Algebra`. - Redefined `Algebra (ResidueField R) (ResidueField S)` via `Ideal.Quotient.algebraOfLiesOver`, and provided missing `IsScalarTower` instances for it. - Added missing `IsScalarTower` for `Localization.AtPrime`. - Removed `Algebra p.ResidueField q.ResidueField` and the `IsScalarTower` instances coming with it (because there are `inferInstance` now) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
37/37 Mathlib/Algebra/Order/Archimedean/Submonoid.lean,Mathlib/RingTheory/LocalRing/ResidueField/Algebraic.lean,Mathlib/RingTheory/LocalRing/ResidueField/Basic.lean,Mathlib/RingTheory/LocalRing/ResidueField/Ideal.lean,Mathlib/RingTheory/LocalRing/ResidueField/Instances.lean,Mathlib/RingTheory/Localization/AtPrime.lean,Mathlib/RingTheory/Unramified/LocalRing.lean 7 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
17-20742
17 days ago
17-20742
17 days ago
9-82484
9 days
27267 JovanGerb
author:JovanGerb
chore(Order): refactor in preparation for `to_dual` WIP --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order merge-conflict 60/52 Mathlib/Data/Nat/Find.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Defs/LinearOrder.lean,Mathlib/Order/Defs/PartialOrder.lean,Mathlib/Tactic/Linarith/Frontend.lean,Mathlib/Tactic/Positivity/Core.lean 6 2 ['github-actions', 'leanprover-community-bot-assistant'] bryangingechen
assignee:bryangingechen
16-55306
16 days ago
16-55311
16 days ago
0-0
0 seconds
26383 eric-wieser
author:eric-wieser
feat: `Real.sin_eq_one_iff` and similar --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict 155/101 Mathlib/Algebra/ModEq.lean,Mathlib/Analysis/SpecialFunctions/Complex/Log.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Complex.lean 5 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
16-54838
16 days ago
16-54838
16 days ago
0-0
0 seconds
26010 linesthatinterlace
author:linesthatinterlace
feat(`Algebra/Group/Prod`): Add API for inclusion and projection maps from and to the product of units. This PR continues the work from #25112. Original PR: https://github.com/leanprover-community/mathlib4/pull/25112 migrated-from-branch t-algebra merge-conflict WIP
label:t-algebra$
292/122 Mathlib.lean,Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/Group/Commute/Units.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Group/Semiconj/Units.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/Algebra/Group/Units/Prod.lean,Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/Data/Nat/Totient.lean,Mathlib/Topology/Algebra/Group/Basic.lean 13 3 ['github-actions', 'leanprover-community-bot-assistant', 'linesthatinterlace'] nobody
16-54729
16 days ago
16-54729
16 days ago
0-2113
35 minutes
25991 Multramate
author:Multramate
feat(AlgebraicGeometry/EllipticCurve): generalise nonsingular condition This PR continues the work from #25219. Original PR: https://github.com/leanprover-community/mathlib4/pull/25219 t-algebraic-geometry merge-conflict 2127/1561 Mathlib/Algebra/Group/Units/Basic.lean,Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Point.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Span.lean 15 n/a ['github-actions', 'leanprover-community-bot-assistant'] nobody
16-54720
16 days ago
unknown
unknown
25985 Multramate
author:Multramate
feat(AlgebraicGeometry/EllipticCurve/Jacobian): add equivalences between points and explicit WithZero types This PR continues the work from #14923. Original PR: https://github.com/leanprover-community/mathlib4/pull/14923 t-algebraic-geometry merge-conflict 262/66 Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean,scripts/style-exceptions.txt 4 1 ['Multramate'] nobody
16-54708
16 days ago
16-54708
16 days ago
0-48
48 seconds
25984 Multramate
author:Multramate
feat(AlgebraicGeometry/EllipticCurve/Affine): add equivalences between points and explicit WithZero types This PR continues the work from #14627. Original PR: https://github.com/leanprover-community/mathlib4/pull/14627 t-algebraic-geometry merge-conflict 159/52 Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean 2 1 ['Multramate'] nobody
16-54704
16 days ago
16-54704
16 days ago
0-55
55 seconds
25983 Multramate
author:Multramate
feat(AlgebraicGeometry/EllipticCurve/Scheme): define the affine scheme associated to an elliptic curve This PR continues the work from #14130. Original PR: https://github.com/leanprover-community/mathlib4/pull/14130 t-algebraic-geometry merge-conflict 557/22 Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Scheme.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean,Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean 6 1 ['Multramate'] nobody
16-54699
16 days ago
16-54699
16 days ago
0-0
0 seconds
25982 Multramate
author:Multramate
feat(AlgebraicGeometry/EllipticCurve/Group): compute range of baseChange This PR continues the work from #10142. Original PR: https://github.com/leanprover-community/mathlib4/pull/10142 t-algebraic-geometry merge-conflict 421/212 Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/Subgroup/Basic.lean,Mathlib/GroupTheory/Submonoid/Operations.lean 6 1 ['Multramate'] nobody
16-54694
16 days ago
16-54694
16 days ago
0-57
57 seconds
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 merge-conflict 81/12 Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/Subgroup/Basic.lean,Mathlib/GroupTheory/Submonoid/Operations.lean 3 0 [] nobody
16-54688
16 days ago
16-54688
16 days ago
0-52
52 seconds
25980 Multramate
author:Multramate
feat(GroupTheory/Submonoid/Operations): define homomorphisms of subgroups induced by homomorphisms of groups This PR continues the work from #10113. Original PR: https://github.com/leanprover-community/mathlib4/pull/10113 t-group-theory merge-conflict 29/6 Mathlib/GroupTheory/Subgroup/Basic.lean,Mathlib/GroupTheory/Submonoid/Operations.lean 2 0 [] nobody
16-54683
16 days ago
16-54683
16 days ago
0-54
54 seconds
25485 VTrelat
author:VTrelat
feat(SetTheory/ZFC/Naturals): define natural numbers in ZFC Extend the model of ZFC with naturals: - define a set `Nat` of naturals following the usual construction (∅, {∅}, {∅, {∅}}, ...) - define a proper type `ZFNat` representing naturals - add theorems on usual algebraic properties of naturals - provide a recursor and induction schemes to define/prove by induction --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depend on: #25483 t-set-theory new-contributor merge-conflict 2095/0 Mathlib/Data/Set/Prod.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Booleans.lean,Mathlib/SetTheory/ZFC/Naturals.lean 4 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
16-54508
16 days ago
16-54508
16 days ago
29-51653
29 days
25474 adomani
author:adomani
test for .lean/.md check A test PR for #25473. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed t-linter merge-conflict 10/1 .github/workflows/lint_and_suggest_pr.yml,Mathlib.lean,Mathlib/NumberTheory/NumberField/CMField.Lean 3 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
16-54497
16 days ago
16-54497
16 days ago
29-67280
29 days
25425 Paul-Lez
author:Paul-Lez
feat(LinearAlgebra/Basis/HasCanonicalBasis): propose `HasCanonicalBasis` class Context: in some cases, e.g. writing down PDEs, having a notion of partial derivatives can be useful. In an ideal world (as mentioned by @ocfnash in [this Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Partial.20derivatives/with/463936246)), one could write something along the lines of `open scoped PartialDerivatives` in order to access nice notation for this. This PR introduces a notion of a canonical basis for a module in order to allow taking partial derivatives with respect to it. A later PR (which I am about open) would then propose a notation for taking partial derivatives (defined using `lineDeriv` in order to avoid requiring Frechet-differentiability assumptions). The goal here is to have notation that works equally well on e.g. `𝕜 × 𝕜` and `EuclideanSpace 𝕜 (Fin 2)` and so on. I've opened this PR as a draft in order to get some initial feedback on the content (and whether this is considered appropriate for Mathlib!); the file itself would need to be split (e.g. the instances defined should probably go in different files) Co-authored-by: Eric Wieser --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
105/0 Mathlib.lean,Mathlib/LinearAlgebra/Basis/HasCanonicalBasis.lean 2 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
16-54488
16 days ago
16-54488
16 days ago
0-0
0 seconds
25362 adomani
author:adomani
feat: a linter for duplicated `open` This linter warns when a namespace is repeated. It makes an effort to report only the problematic namespaces, but is not especially robust. The linter has some awareness of the `namespace` command, so ```lean def X.Y := 0 open X namespace X open Y ``` will flag both `namespace X` and `open Y` as problematic, even though it was the `open `X` that became redundant with `namespace X`. However, I will not have much time to devote to polishing this and there are quite a few exception in Mathlib before a better version could be seriously considered for adoption. [#mathlib4 > linter requests @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/linter.20requests/near/520273644) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-linter merge-conflict please-adopt 191/94 Mathlib.lean,Mathlib/Algebra/Group/Pi/Basic.lean,Mathlib/Algebra/GroupWithZero/Pi.lean,Mathlib/Algebra/Order/Ring/InjSurj.lean,Mathlib/CategoryTheory/Functor/ReflectsIso/Basic.lean,Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Finite/Defs.lean,Mathlib/Data/Ineq.lean,Mathlib/Data/List/Lemmas.lean,Mathlib/Data/List/NatAntidiagonal.lean,Mathlib/Data/Nat/Choose/Basic.lean,Mathlib/Data/Nat/Prime/Basic.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Init.lean,Mathlib/Logic/Basic.lean,Mathlib/Logic/Embedding/Set.lean,Mathlib/Logic/Pairwise.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/Order/WithBot.lean,Mathlib/RingTheory/OreLocalization/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ApplyFun.lean,Mathlib/Tactic/Bound.lean,Mathlib/Tactic/CongrM.lean,Mathlib/Tactic/Find.lean,Mathlib/Tactic/Lift.lean,Mathlib/Tactic/Linarith/Oracle/FourierMotzkin.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/DupOpen.lean,Mathlib/Tactic/NormNum/PowMod.lean,Mathlib/Tactic/Recover.lean,Mathlib/Tactic/ReduceModChar.lean,Mathlib/Tactic/Widget/Calc.lean,Mathlib/Tactic/Widget/SelectInsertParamsClass.lean,Mathlib/Tactic/Widget/StringDiagram.lean,Mathlib/Topology/CWComplex/Abstract/Basic.lean,Mathlib/Topology/ContinuousMap/Interval.lean,Mathlib/Topology/Germ.lean,Mathlib/Topology/Homotopy/HSpaces.lean,Mathlib/Topology/Order/LowerUpperTopology.lean,Mathlib/Topology/Order/PartialSups.lean,Mathlib/Topology/Separation/DisjointCover.lean,Mathlib/Topology/Sheaves/Sheafify.lean,Mathlib/Util/CountHeartbeats.lean,MathlibTest/DupOpen.lean 47 14 ['adomani', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] nobody
16-54483
16 days ago
16-54483
16 days ago
0-0
0 seconds
25238 Hagb
author:Hagb
feat(Tactic/ComputeDegree): add support for scalar multiplication with different types It would be able to deal with `a • (X : R[X])` where `a : S` is in a different type `S` with `[SMulZeroClass S R]`. --- - [x] depends on: #25237 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-meta merge-conflict 17/5 Mathlib/Tactic/ComputeDegree.lean,MathlibTest/ComputeDegree.lean 2 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
16-54478
16 days ago
16-54478
16 days ago
38-26044
38 days
17145 Command-Master
author:Command-Master
feat(Archive/Ioi/Ioi2024Q2): a proof of the solution of question 2 from IOI 2024. --- - [x] depends on: #17189 - [x] depends on: #17190 - [x] depends on: #17191 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import IMO merge-conflict WIP 1013/1 Archive.lean,Archive/Ioi/Ioi2024Q2.lean,Mathlib.lean,Mathlib/Combinatorics/Orbits.lean,Mathlib/Data/List/SplitLengths.lean,Mathlib/Data/List/Transpose.lean,Mathlib/Data/List/Zip.lean,Mathlib/Data/Vector/Basic.lean,Mathlib/Data/Vector/Defs.lean,Mathlib/Data/Vector/MapLemmas.lean,Mathlib/Data/Vector/Transpose.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/Logic/Function/Iterate.lean,Mathlib/Order/Antisymmetrization.lean,Mathlib/Order/Partition/Finpartition.lean 15 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
16-54438
16 days ago
16-54438
16 days ago
0-0
0 seconds
14137 mattrobball
author:mattrobball
chore(Algebra.Basic): postpone importing algebra instances for `Nat`, `Int`, and `Rat` This should help typeclass synthesis by avoiding these instances unless absolutely necessary. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
678/356 Counterexamples/Pseudoelement.lean,Mathlib.lean,Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom/Basic.lean,Mathlib/Algebra/Algebra/Hom/Int.lean,Mathlib/Algebra/Algebra/Hom/Nat.lean,Mathlib/Algebra/Algebra/Hom/Rat.lean,Mathlib/Algebra/Algebra/Int.lean,Mathlib/Algebra/Algebra/Nat.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Prod.lean,Mathlib/Algebra/Algebra/Rat.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Int.lean,Mathlib/Algebra/Algebra/Subalgebra/Nat.lean,Mathlib/Algebra/Algebra/Subalgebra/Unitization.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/FreeAlgebra.lean,Mathlib/Algebra/Group/AddChar.lean,Mathlib/Algebra/Module/Bimodule.lean,Mathlib/Algebra/Module/Zlattice/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MvPolynomial/Counit.lean,Mathlib/Algebra/MvPolynomial/NatInt.lean,Mathlib/Algebra/MvPolynomial/Supported.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/DenomsClearable.lean,Mathlib/Algebra/Polynomial/Int.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/Analysis/NormedSpace/Basic.lean,Mathlib/CategoryTheory/Galois/Examples.lean,Mathlib/Data/Complex/Module.lean,Mathlib/Data/Real/Irrational.lean,Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,Mathlib/FieldTheory/SplittingField/Construction.lean,Mathlib/LinearAlgebra/Matrix/Adjugate.lean,Mathlib/LinearAlgebra/Prod.lean,Mathlib/NumberTheory/ClassNumber/AdmissibleAbs.lean,Mathlib/NumberTheory/NumberField/Basic.lean,Mathlib/NumberTheory/NumberField/Embeddings.lean,Mathlib/RingTheory/Adjoin/Basic.lean,Mathlib/RingTheory/Adjoin/FG.lean,Mathlib/RingTheory/Adjoin/NatInt.lean,Mathlib/RingTheory/AlgebraTower.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/Coalgebra/Hom.lean,Mathlib/RingTheory/IntegralClosure.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/FractionRing.lean,Mathlib/RingTheory/Localization/FractionRingInt.lean,Mathlib/RingTheory/Localization/Int.lean,Mathlib/RingTheory/Localization/Nat.lean,Mathlib/RingTheory/Polynomial/GaussLemma.lean,Mathlib/RingTheory/Polynomial/Pochhammer.lean,Mathlib/RingTheory/PowerSeries/WellKnown.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/WittVector/MulCoeff.lean,Mathlib/Topology/Algebra/Algebra.lean,Mathlib/Topology/Instances/Real.lean,test/infer_instance.lean,test/instance_diamonds.lean 64 7 ['fpvandoorn', 'github-actions', 'grunweg', 'leanprover-bot', 'mattrobball'] nobody
16-54434
16 days ago
16-54434
16 days ago
0-0
0 seconds
11632 mattrobball
author:mattrobball
chore(Group/RingTheory.Congruence): make `Quotient`'s reducible These are essentially wrappers and should not expose any data when made reducible. Their use in constructing typeclass instances makes reducible transparency desirable. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory merge-conflict 16/35 Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/RingTheory/Congruence/Basic.lean 2 14 ['eric-wieser', 'fpvandoorn', 'github-actions', 'grunweg', 'kmill', 'leanprover-bot', 'mattrobball'] nobody
16-54425
16 days ago
16-54425
16 days ago
2-10495
2 days
3171 eric-wieser
author:eric-wieser
refactor: make the algebra hierarchy use flat structures By introducing a `FlatHack` base class and using it as the first parent of every algebra typeclass, it causes the typeclasses to all overlap and so we emulate flat structures. Most of the pain here comes from `to_additive` not generating any of the ancestor projections properly; this was already a bug present for `n + 1` parents, but now the `1` is taken up This is one workaround for leanprover/lean4#2074: don't let the eta-diamonds appear in the first place. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
328/240 .github/workflows/build.yml,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Category/GroupCat/Basic.lean,Mathlib/Algebra/Category/GroupCat/EquivalenceGroupAddGroup.lean,Mathlib/Algebra/Category/MonCat/FilteredColimits.lean,Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/Field/Defs.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/GroupPower/Lemmas.lean,Mathlib/Algebra/Hom/Group.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/Order/Chebyshev.lean,Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Module.lean,Mathlib/Algebra/Order/Rearrangement.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Quandle.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/Algebra/TrivSqZeroExt.lean,Mathlib/CategoryTheory/Endomorphism.lean,Mathlib/CategoryTheory/Preadditive/Basic.lean,Mathlib/CategoryTheory/Preadditive/SingleObj.lean,Mathlib/Data/Finsupp/Multiset.lean,Mathlib/Data/Int/LeastGreatest.lean,Mathlib/Data/Int/Order/Basic.lean,Mathlib/Data/Int/Order/Lemmas.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/Data/Real/CauSeqCompletion.lean,Mathlib/Data/ZMod/Defs.lean,Mathlib/LinearAlgebra/AffineSpace/Ordered.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/RingTheory/Ideal/Quotient.lean,Mathlib/Tactic/Positivity/Core.lean,Mathlib/Tactic/Ring/Basic.lean 42 14 ['eric-wieser', 'gebner', 'harahu'] nobody
16-54420
16 days ago
16-54420
16 days ago
0-0
0 seconds
26760 linesthatinterlace
author:linesthatinterlace
refactor(`InformationTheory/Hamming`): Improvements to Hamming type. Turns Hamming type into a structure with one field. Per discussions in https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/defeq.20abuse.20in.20.60WithLp.60/with/462136240. --- To remove the chance of defeq-abuse for the Hamming type, this refactors it as a structure with one field, and makes some other improvements while there. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed t-measure-probability merge-conflict WIP 306/412 Mathlib/InformationTheory/Hamming.lean,Mathlib/InformationTheory/Hamming/Defs.lean,Mathlib/InformationTheory/Hamming/Group.lean,Mathlib/InformationTheory/Hamming/Module.lean,Mathlib/InformationTheory/Hamming/Norm.lean 5 7 ['eric-wieser', 'github-actions', 'linesthatinterlace', 'mathlib4-merge-conflict-bot'] nobody
16-52423
16 days ago
16-52424
16 days ago
0-20107
5 hours
27643 ADedecker
author:ADedecker
Ad bdd unif conv --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict 111/26 Mathlib/Analysis/LocallyConvex/Bounded.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean,Mathlib/Topology/Algebra/Module/UniformConvergence.lean,Mathlib/Topology/Bornology/Absorbs.lean 4 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
16-33197
16 days ago
16-33197
16 days ago
0-0
0 seconds
26385 jjdishere
author:jjdishere
feat(RingTheory/Perfectoid): define integral perfectoid rings This PR continues the work from #22331. Original PR: https://github.com/leanprover-community/mathlib4/pull/22331 t-ring-theory merge-conflict WIP 1081/15 Mathlib.lean,Mathlib/Algebra/Ring/Aut.lean,Mathlib/FieldTheory/Perfect.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Quotient/Defs.lean,Mathlib/RingTheory/Ideal/Quotient/PowTransition.lean,Mathlib/RingTheory/Perfection.lean,Mathlib/RingTheory/Perfectoid/BDeRham.lean,Mathlib/RingTheory/Perfectoid/FontaineTheta.lean,Mathlib/RingTheory/Perfectoid/IntergalPerfectoid.lean,Mathlib/RingTheory/Perfectoid/Untilt.lean,Mathlib/RingTheory/WittVector/Basic.lean,Mathlib/RingTheory/WittVector/Complete.lean,Mathlib/RingTheory/WittVector/TeichmullerSeries.lean,docs/references.bib 16 3 ['github-actions', 'jjdishere', 'leanprover-community-bot-assistant'] nobody
15-56905
15 days ago
15-56906
15 days ago
0-79
1 minute
22954 eric-wieser
author:eric-wieser
feat(RingTheory/Congruence/Hom): copy from GroupTheory This was motivated in review of #22355, but I no longer recall why. Either way, this captures a definition that was inlined in a later file. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict 214/16 Mathlib/Algebra/RingQuot.lean,Mathlib/GroupTheory/Congruence/Hom.lean,Mathlib/RingTheory/Congruence/Defs.lean,Mathlib/RingTheory/Congruence/Hom.lean,Mathlib/RingTheory/TwoSidedIdeal/Kernel.lean 5 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
15-56626
15 days ago
15-56626
15 days ago
111-55291
111 days
22898 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(RingTheory/TensorProduct/DirectLimit/FG): direct limit of finitely generated submodules and tensor product --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict WIP 399/0 Mathlib.lean,Mathlib/RingTheory/Adjoin/FG.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/DirectLimit/FG.lean 5 9 ['AntoineChambert-Loir', 'alreadydone', 'github-actions', 'leanprover-community-bot-assistant'] nobody
15-56565
15 days ago
15-56565
15 days ago
11-9349
11 days
21255 chrisflav
author:chrisflav
feat(RingTheory/Smooth): smooth is equivalent to locally standard smooth This is only a container to not lose the branch name. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict 1740/11 Mathlib.lean,Mathlib/RingTheory/Kaehler/Localization.lean,Mathlib/RingTheory/Presentation.lean,Mathlib/RingTheory/Smooth/FreeKaehler.lean,Mathlib/RingTheory/Smooth/StandardSmoothCotangent.lean,Mathlib/RingTheory/Smooth/StandardSmoothSmooth.lean 6 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
15-56528
15 days ago
15-56528
15 days ago
0-0
0 seconds
20431 erdOne
author:erdOne
feat(RingTheory/AdicCompletion): monotonicity of adic-completeness --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict awaiting-author 206/16 Mathlib.lean,Mathlib/Algebra/Module/Submodule/Defs.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/RingTheory/AdicCompletion/Algebra.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/Mono.lean,Mathlib/RingTheory/Finiteness/Ideal.lean 7 13 ['chrisflav', 'erdOne', 'github-actions'] nobody
15-56521
15 days ago
15-56521
15 days ago
35-86379
35 days
20424 erdOne
author:erdOne
feat(RingTheory): evaluation of power series --- - [ ] depends on: #20425 - [x] depends on: #20426 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict 425/8 Mathlib.lean,Mathlib/RingTheory/AdicCompletion/Noetherian.lean,Mathlib/RingTheory/Filtration.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/Eval.lean,Mathlib/RingTheory/PowerSeries/Trunc.lean 6 11 ['AntoineChambert-Loir', 'alreadydone', 'erdOne', 'eric-wieser', 'github-actions', 'mathlib4-dependent-issues-bot'] nobody
15-56514
15 days ago
15-56514
15 days ago
0-3944
1 hour
19596 Command-Master
author:Command-Master
feat(RingTheory/Valuation/PrimeMultiplicity): define `WithTop ℤ`-valued prime multiplicity on a fraction field Moves: - `multiplicity_addValuation` -> `AddValuation.multiplicity` - `multiplicity_addValuation_apply` -> `AddValuation.multiplicity_apply` --- - [x] depends on: #19149 - [x] depends on: #18786 - [x] depends on: #19122 - [x] depends on: #18954 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import merge-conflict awaiting-author 101/37 Mathlib/Data/ENat/Basic.lean,Mathlib/RingTheory/DiscreteValuationRing/Basic.lean,Mathlib/RingTheory/Valuation/PrimeMultiplicity.lean 3 11 ['ChrisHughes24', 'Command-Master', 'Vierkantor', 'faenuccio', 'github-actions', 'mathlib4-dependent-issues-bot'] nobody
15-56506
15 days ago
15-56506
15 days ago
8-2214
8 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/) t-ring-theory new-contributor merge-conflict 308/0 Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/RingTheory/Isotypic.lean,Mathlib/RingTheory/SimpleModule.lean 3 1 ['github-actions'] nobody
15-56499
15 days ago
15-56499
15 days ago
20-16585
20 days
17246 pechersky
author:pechersky
feat(RingTheory/PrimaryDecomposition): PIR of Noetherian under jacobson condition --- - [x] depends on: #17634 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict awaiting-author 653/1 Mathlib.lean,Mathlib/NumberTheory/KummerDedekind.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Jacobson/Ideal.lean,Mathlib/RingTheory/PrimaryDecomposition.lean,docs/references.bib 8 8 ['erdOne', 'github-actions', 'mathlib4-dependent-issues-bot'] erdOne
assignee:erdOne
15-56493
15 days ago
15-56493
15 days ago
13-7138
13 days
12744 chrisflav
author:chrisflav
feat(RingTheory/Smooth): Noetherian ring of definition We show that given a smooth `A`-algebra `B`, there exists a subring `A₀` of `A` of finite type over `ℤ` and a smooth `A₀`-algebra `B₀` such that `B = A ⊗[A₀] B₀`. A reference is https://stacks.math.columbia.edu/tag/00TP. This is also a test case for the ring of definition API. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict 1212/0 Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/RingTheory/FiniteType.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean,Mathlib/RingTheory/RingOfDefinition/BaseChange.lean,Mathlib/RingTheory/RingOfDefinition/Basic.lean,Mathlib/RingTheory/RingOfDefinition/Relations.lean,Mathlib/RingTheory/Smooth/Descent.lean,Mathlib/ToBeMoved.lean 10 0 [] nobody
15-56468
15 days ago
15-56468
15 days ago
0-0
0 seconds
12743 chrisflav
author:chrisflav
feat(RingTheory/RingOfDefinition): basic API Given a finitely presented algebra `A` over a ring `R`, we may descend to a Noetherian subring `R₀` of `R` and a model of `A` over `R₀`. In this PR we provide basic API for working with polynomial rings over subrings. In particular we provide infrastructure for producing `R₀` and descending polynomials in `R` to polynomials in `R₀` given containment of the coefficients. Notation: `R` is a ring, `R₀` a subring, `p : MvPolynomial ι R` and `s : Set (MvPolynomial ι R)`. ## Main definitions For producing subrings containing a set of polynomials of interest, we provide the following: - `HasCoefficients p R₀`: typeclass expressing that the coefficients of `p` are contained in `R₀`. - `core s`: adjoin the coefficients of a set of polynomials `s` to `ℤ`. - `adjoinCoefficients s R₀`: adjoin the coefficients of a set of polynomials `s` to `R₀`. - `repr p R₀`: Given `[HasCoefficients p R₀]` and a polynomial `p`, this is the representative of `p` as a polynomial over `R₀`. Instances for `HasCoefficients` are provided to ensure that the following facts are automatically inferred: - the coefficients of any polynomial in `s` are contained in `core s`. - if the coefficients of `p` are in `R₀` and we adjoin the coefficients of `s`, then the coefficients of `p` are also in `adjoinCoefficients s R₀`. Now, given a (finitely) presented `R` algebra, expressed through an ideal `I : Ideal R`, a `Model` of `I` is a structure containing - a set `s` of generators of `I` - a subring `R₀` - a proof that the coefficients of `s` are contained in `R₀` Given such a model `M`, we expose: - `M.s₀`: the intersection of `s` with `MvPolynomial ι R₀`. Informally this is simply `s`. - `M.I₀`: the ideal generated by `M.s₀` - `M.A₀`: the quotient `MvPolynomial ι M.R₀ ⧸ MvPolynomial ι M.I₀` In `RingOfDefinition/BaseChange` we show that `R ⊗[R₀] M.A₀` is `R`-isomorphic to `MvPolynomial ι R ⧸ I` (this is done in a more general setting and then specialized to this situation). Since `M.I₀` is not equal to `I` intersected with `R₀`, more technical difficulties arise. To work around these, we introduce - `Relation A`: For an arbitrary `A : Set R`, this is simply `MvPolynomial A R`. In the following we are particularly interested in the case where `A = s = Set (MvPolynomial ι R)` is a set of generators of `I`. An equation `x = y` in `MvPolynomial ι R ⧸ I` can be expressed as `x - y ∈ I`. In this case there exists a `r : Relation s` such that `eval r = x - y`. Here `eval` is a shortcut for `MvPolynomial.eval Subtype.val`, i.e. we evaluate the formal expression `r` in the ring `MvPolynomial ι R`. To preserve this equation in `MvPolynomial ι R₀ ⧸ I₀`, we need to adjoin the coefficients of `r` to `R₀`. For this a similar API is provided, in particular: - `HasRelation r R₀`: a typeclass expressing that the coefficients of `r` are contained in `R₀`. - `adjoinRelations rs R₀`: adjoin the coefficients of a set of relations to `R₀`. - `repr r M`: Given `[HasRelation r M.R₀]`, this is the representative of `r` over `R₀`, i.e. an element of `Relation M.s₀` that is mapped to `r` under the canonical map `Relation M.s₀ → Relation M.s`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict 797/0 Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/RingTheory/FiniteType.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean,Mathlib/RingTheory/RingOfDefinition/BaseChange.lean,Mathlib/RingTheory/RingOfDefinition/Basic.lean 7 0 [] nobody
15-56460
15 days ago
15-56460
15 days ago
0-0
0 seconds
12695 chrisflav
author:chrisflav
feat(RingTheory/Smooth): smooth morphisms are flat We show that smooth ring homomorphisms are flat. The strategy for a smooth `A`-algebra `B` is the following: - first we find a model of `B` over a Noetherian base ring - if `A` is Noetherian, we identify `B` as a retract of the adic completion of a polynomial ring over `A`, which is flat This is the summary PR which will be split in several parts. Co-authored-by: Judith Ludwig --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict 2767/1 Mathlib.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/Exact.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/LinearAlgebra/SModEq.lean,Mathlib/RingTheory/AdicCompletion/Algebra.lean,Mathlib/RingTheory/AdicCompletion/AsTensorProduct.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/Exactness.lean,Mathlib/RingTheory/AdicCompletion/Functoriality.lean,Mathlib/RingTheory/RingOfDefinition.lean,Mathlib/RingTheory/RingOfDefinition/RingModel.lean,Mathlib/RingTheory/RingOfDefinition/Utils.lean,Mathlib/RingTheory/RingOfDefinitionIdeal.lean,Mathlib/RingTheory/Smooth/Descent.lean,Mathlib/RingTheory/Smooth/Flat.lean 16 0 [] nobody
15-56452
15 days ago
15-56452
15 days ago
0-0
0 seconds
12294 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(Mathlib.RingTheory.TensorProduct.Polynomial) : tensor product of a (univariate) polynomial ring We define a linear equivalence of a polynomial ring by a module with a finsupp type. We prove lemmas that allow to manipulate this equivalence. This is adapted from the content of #12293, but since `Polynomial` is a structure containing a `Finsupp`, these functions can't be applied directly to `Polynomial`. Some linear equivs need to be added to mathlib for that. --- - [x] depends on: #12293 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict WIP 484/0 Mathlib.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean,Mathlib/RingTheory/TensorProduct/Polynomial.lean 7 1 ['leanprover-community-mathlib4-bot'] nobody
15-56445
15 days ago
15-56445
15 days ago
0-79429
22 hours
21474 erdOne
author:erdOne
feat(RingTheory): replace `Ring.DimensionLEOne` with `Ring.KrullDimLE` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import merge-conflict 285/170 Mathlib.lean,Mathlib/RingTheory/DedekindDomain/Basic.lean,Mathlib/RingTheory/DedekindDomain/Dvr.lean,Mathlib/RingTheory/DedekindDomain/Ideal.lean,Mathlib/RingTheory/DiscreteValuationRing/TFAE.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/KrullDimension/Basic.lean,Mathlib/RingTheory/KrullDimension/Localization.lean,Mathlib/RingTheory/KrullDimension/Polynomial.lean,Mathlib/RingTheory/KrullDimension/Quotient.lean,Mathlib/RingTheory/LocalRing/ResidueField/Basic.lean,Mathlib/RingTheory/Nilpotent/End.lean,Mathlib/RingTheory/Nilpotent/Lemmas.lean,Mathlib/RingTheory/PID/Quotient.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/Spectrum/Maximal/Localization.lean 16 1 ['github-actions'] nobody
15-56437
15 days ago
15-56437
15 days ago
2-7106
2 days
12292 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(Mathlib.RingTheory.TensorProduct.MonoidAlgebra) : tensor product of a monoid algebra * `MonoidAlgebra.rTensorAlgEquiv`: the tensor product of `MonoidAlgebra M α` with `N` is `R`-linearly equivalent to `MonoidAlgebra (M ⊗[R] N) α` * `MonoidAlgebra.scalarRTensorAlgEquiv`, the tensor product of `MonoidAlgebra R α` with `N` is `R`-linearly equivalent to `MonoidAlgebra N α` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict WIP 447/0 Mathlib.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/RingTheory/TensorProduct/MonoidAlgebra.lean 3 23 ['AntoineChambert-Loir', 'eric-wieser', 'github-actions'] nobody
15-56414
15 days ago
15-56414
15 days ago
6-28213
6 days
11575 ScottCarnahan
author:ScottCarnahan
feat (RingTheory/HahnSeries/Addition): Lemmas on leading terms The main result of this PR is that when the exponent set is linearly ordered, then removing the leading term in a Hahn series `x` yields a Hahn series `y` that is, if nonzero, of strictly higher order. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict WIP 39/0 Mathlib/RingTheory/HahnSeries/Addition.lean 1 0 [] nobody
15-56407
15 days ago
15-56407
15 days ago
10-75677
10 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 --- - [ ] depends on:#18728 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict 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
15-56400
15 days ago
15-56400
15 days ago
172-57747
172 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/) t-ring-theory merge-conflict 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
15-56393
15 days ago
15-56393
15 days ago
0-0
0 seconds
8195 newell
author:newell
feat: add a group presentation of the `DihedralGroup n` Add group presentation $\< a, b\ |\ a ^ 2 = 1, b ^ 2 = 1, (a * b) ^ n = 1 \>$ for `DihedralGroup n`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory merge-conflict WIP 206/2 Mathlib/GroupTheory/PresentedGroup.lean,Mathlib/GroupTheory/SpecificGroups/Dihedral.lean 2 6 ['kbuzzard', 'newell'] nobody
15-56236
15 days ago
15-56236
15 days ago
0-0
0 seconds
11212 shuxuezhuyi
author:shuxuezhuyi
feat(GroupTheory/GroupAction): instance `MulAction (β ⧸ H) α` We instance this naturally from `MulAction β α` when `H` is a normal subgroup and acts trivially on `α`. We also instance `IsometricSMul (M ⧸ N) X` in this way. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory large-import merge-conflict awaiting-author 53/1 Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/Topology/MetricSpace/IsometricSMul.lean 2 6 ['YaelDillies', 'github-actions', 'grunweg', 'urkud'] eric-wieser
assignee:eric-wieser
15-56229
15 days ago
15-56229
15 days ago
193-70524
193 days
23383 vlad902
author:vlad902
feat(GroupTheory): finitely generated groups are quotients of free groups on finite generators This is equivalent to the formulation that finitely generated groups/monoids are quotients of FreeGroups/Monoids over the same generators, though I think the phrasing as a surjective homomorphism is more useful. t-group-theory merge-conflict 29/0 Mathlib/GroupTheory/Finiteness.lean 1 1 ['github-actions'] nobody
15-56223
15 days ago
15-56223
15 days ago
0-0
0 seconds
27886 alreadydone
author:alreadydone
feat(Algebra): (Mv)Polynomial.X is irreducible assuming NoZeroDivisors --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict awaiting-author
label:t-algebra$
178/66 Archive/Examples/Eisenstein.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Domain.lean,Mathlib/Algebra/Polynomial/Degree/Units.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/Combinatorics/Nullstellensatz.lean,Mathlib/RingTheory/MvPolynomial/Groebner.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder/DegLex.lean,Mathlib/RingTheory/Polynomial/Content.lean,Mathlib/RingTheory/Polynomial/Eisenstein/Criterion.lean 13 3 ['alreadydone', 'github-actions', 'mathlib4-merge-conflict-bot'] nobody
15-53964
15 days ago
15-53965
15 days ago
1-36700
1 day
21847 smmercuri
author:smmercuri
feat: `v.adicCompletionIntegers K` is compact --- - [ ] depends on: #21844 - [ ] depends on: #24872 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-number-theory merge-conflict WIP 459/4 Mathlib.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/NumberTheory/NumberField/AdeleRing.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/Topology/Algebra/Group/Basic.lean,Mathlib/Topology/Algebra/UniformRing.lean,Mathlib/Topology/Algebra/Valued/LocallyCompact.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean,Mathlib/Topology/Algebra/Valued/WithZeroMulInt.lean 11 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
15-52155
15 days ago
15-52157
15 days ago
0-0
0 seconds
22782 alreadydone
author:alreadydone
feat(Topology): étalé space associated to a predicate on sections --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict 886/160 Mathlib.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Geometry/Manifold/Sheaf/Smooth.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Topology/EtaleSpace.lean,Mathlib/Topology/IsLocalHomeomorph.lean,Mathlib/Topology/Sheaves/LocalPredicate.lean,Mathlib/Topology/Sheaves/Sheafify.lean,Mathlib/Topology/Sheaves/Stalks.lean 10 13 ['AntoineChambert-Loir', 'alreadydone', 'github-actions', 'jcommelin', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] PatrickMassot
assignee:PatrickMassot
15-6076
15 days ago
15-6077
15 days ago
30-3459
30 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/) CI merge-conflict 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
15-5431
15 days ago
15-5431
15 days ago
46-52210
46 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/) new-contributor t-category-theory merge-conflict awaiting-author 325/70 Mathlib.lean,Mathlib/CategoryTheory/Closed/PowerObjects.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Equalizer.lean,Mathlib/CategoryTheory/Topos/Basic.lean,Mathlib/CategoryTheory/Topos/Classifier.lean 7 12 ['fweth', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] nobody
15-5185
15 days ago
15-5185
15 days ago
19-58587
19 days
17469 joelriou
author:joelriou
feat(Algebra/ModuleCat/Differentials/Presheaf): the presheaf of relative differentials Given a functor `F : C ⥤ D`, presheaves of commutative rings `S`, `R` and a morphism `φ : S ⟶ F.op ⋙ R`, we show that derivations relative to `φ` are representable by a presheaf of `R`-modules. This is obtained by reducing to the case of absolute differentials. The construction shall allow to deduce the presheaf version of the cokernel sequence $$f^\star \Omega_{Y/S} ⟶ \Omega_{X/S} ⟶ \Omega_{X/Y} ⟶ 0$$ when `f : X ⟶ Y` and `g : Y ⟶ S` are morphisms of schemes. --- - [x] depends on: #17366 - [x] depends on: #19507 - [x] depends on: #17388 - [x] depends on: #16755 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebraic-geometry t-category-theory merge-conflict WIP 391/10 Mathlib/Algebra/Category/ModuleCat/Differentials/Presheaf.lean 1 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
15-780
15 days ago
15-781
15 days ago
0-530
8 minutes
18254 callesonne
author:callesonne
feat(Bicategory/Modification/Pseudo): define modifications between strong natural transformations of pseudofunctors This PR adds modifications between strong natural transformations of pseudofunctors. At the same time, it improves the existing code on modifications between oplax natural tranformations of oplax functors (by removing some simp lemmas). --- - [x] depends on: #18250 - [x] depends on: #18252 - [x] depends on: #18253 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict awaiting-author 335/55 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/Modification/Oplax.lean,Mathlib/CategoryTheory/Bicategory/Modification/Pseudo.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Oplax.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Pseudo.lean 5 26 ['callesonne', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier', 'yuma-mizuno'] nobody
15-779
15 days ago
15-780
15 days ago
36-5602
36 days
24620 mattrobball
author:mattrobball
chore(CategoryTheory.Basic): change `aesop_cat`'s intro transparency level to `instances` from `default` Let's see if this helps much. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict 93/88 Mathlib/Algebra/Homology/HomologicalComplex.lean,Mathlib/Algebra/Homology/Homotopy.lean,Mathlib/Algebra/Homology/ShortComplex/Preadditive.lean,Mathlib/Algebra/Homology/Single.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ModuleEmbedding/GabrielPopescu.lean,Mathlib/CategoryTheory/Adjunction/Comma.lean,Mathlib/CategoryTheory/Adjunction/Mates.lean,Mathlib/CategoryTheory/Bicategory/LocallyDiscrete.lean,Mathlib/CategoryTheory/Category/Basic.lean,Mathlib/CategoryTheory/Category/GaloisConnection.lean,Mathlib/CategoryTheory/CodiscreteCategory.lean,Mathlib/CategoryTheory/CommSq.lean,Mathlib/CategoryTheory/Comma/Over/Pullback.lean,Mathlib/CategoryTheory/Discrete/Basic.lean,Mathlib/CategoryTheory/EssentiallySmall.lean,Mathlib/CategoryTheory/FintypeCat.lean,Mathlib/CategoryTheory/Functor/EpiMono.lean,Mathlib/CategoryTheory/Functor/FullyFaithful.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/HomCongr.lean,Mathlib/CategoryTheory/Iso.lean,Mathlib/CategoryTheory/LiftingProperties/Adjunction.lean,Mathlib/CategoryTheory/Limits/ConeCategory.lean,Mathlib/CategoryTheory/Limits/HasLimits.lean,Mathlib/CategoryTheory/Limits/IsLimit.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Terminal.lean,Mathlib/CategoryTheory/Limits/Shapes/ZeroMorphisms.lean,Mathlib/CategoryTheory/MorphismProperty/OverAdjunction.lean,Mathlib/CategoryTheory/Preadditive/Opposite.lean,Mathlib/CategoryTheory/SingleObj.lean,Mathlib/Topology/Sheaves/Sheaf.lean 31 8 ['github-actions', 'leanprover-bot', 'mathlib4-merge-conflict-bot', 'mattrobball'] nobody
14-77984
14 days ago
14-77984
14 days ago
0-0
0 seconds
25288 robertmaxton42
author:robertmaxton42
feat(CategoryTheory): generalize `Discrete` to arbitrary morphism levels Using an unused `let`, add an 'anchor' to the definition of `Discrete`, allowing it to carry a second universe level that is then used to permit discrete categories to live in any `Cat.{v, u}`. (This trick was borrowed from the code of `ULiftHom`.) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict 38/32 Mathlib/CategoryTheory/Bicategory/LocallyDiscrete.lean,Mathlib/CategoryTheory/Discrete/Basic.lean,Mathlib/CategoryTheory/IsConnected.lean 3 3 ['github-actions', 'joelriou', 'mathlib4-merge-conflict-bot'] nobody
14-76539
14 days ago
14-76540
14 days ago
0-0
0 seconds
27709 kckennylau
author:kckennylau
chore: fix links --- See https://github.com/leanprover-community/mathlib4/pull/27545#discussion_r2238206933 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict WIP 269/256 Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/GCDMonoid/Multiset.lean,Mathlib/Algebra/Group/Even.lean,Mathlib/Algebra/Group/Pi/Basic.lean,Mathlib/Algebra/Group/Pi/Lemmas.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/Basic.lean,Mathlib/Algebra/Homology/Embedding/Basic.lean,Mathlib/Algebra/Module/Hom.lean,Mathlib/Algebra/Module/Submodule/Bilinear.lean,Mathlib/Algebra/Order/Field/Pi.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Algebra/Order/Hom/Basic.lean,Mathlib/Algebra/Order/Monovary.lean,Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean,Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean,Mathlib/Algebra/Ring/Basic.lean,Mathlib/Algebra/Squarefree/Basic.lean,Mathlib/Algebra/Star/BigOperators.lean,Mathlib/Algebra/Star/Free.lean,Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/Analysis/Analytic/RadiusLiminf.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/Calculus/Conformal/NormedSpace.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/Inv.lean,Mathlib/Analysis/Calculus/Deriv/Inverse.lean,Mathlib/Analysis/Calculus/Deriv/Linear.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Complex/Circle.lean,Mathlib/Analysis/Complex/OperatorNorm.lean,Mathlib/Analysis/Convex/Function.lean,Mathlib/Analysis/Convex/Jensen.lean,Mathlib/Analysis/Meromorphic/IsolatedZeros.lean,Mathlib/Analysis/Normed/Operator/BoundedLinearMaps.lean,Mathlib/Analysis/SpecialFunctions/Exponential.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Bounds.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean,Mathlib/CategoryTheory/Abelian/Opposite.lean,Mathlib/CategoryTheory/Adjunction/Opposites.lean,Mathlib/CategoryTheory/Bicategory/Functor/Pseudofunctor.lean,Mathlib/CategoryTheory/Closed/Monoidal.lean,Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean,Mathlib/CategoryTheory/Localization/Equivalence.lean,Mathlib/CategoryTheory/Localization/Trifunctor.lean,Mathlib/CategoryTheory/ObjectProperty/Basic.lean,Mathlib/CategoryTheory/Sites/Coherent/SheafComparison.lean,Mathlib/Combinatorics/Colex.lean,Mathlib/Combinatorics/Hall/Finite.lean,Mathlib/Combinatorics/Pigeonhole.lean,Mathlib/Combinatorics/Quiver/Covering.lean,Mathlib/Combinatorics/Quiver/Path.lean,Mathlib/Control/LawfulFix.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Data/Fin/Pigeonhole.lean,Mathlib/Data/FinEnum/Option.lean,Mathlib/Data/Finset/Filter.lean,Mathlib/Data/Finsupp/Fin.lean,Mathlib/Data/Fintype/BigOperators.lean,Mathlib/Data/Fintype/Defs.lean,Mathlib/Data/Int/Basic.lean,Mathlib/Data/Int/Cast/Basic.lean,Mathlib/Data/Int/Cast/Lemmas.lean,Mathlib/Data/Int/Lemmas.lean,Mathlib/Data/Int/Order/Lemmas.lean,Mathlib/Data/Int/Range.lean,Mathlib/Data/List/Chain.lean,Mathlib/Data/List/Dedup.lean,Mathlib/Data/List/Destutter.lean,Mathlib/Data/List/Forall2.lean,Mathlib/Data/List/Lattice.lean,Mathlib/Data/List/Lemmas.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/List/Pairwise.lean,Mathlib/Data/List/Permutation.lean,Mathlib/Data/List/ProdSigma.lean,Mathlib/Data/List/Sections.lean,Mathlib/Data/List/Sublists.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matroid/Minor/Restrict.lean,Mathlib/Data/Multiset/FinsetOps.lean,Mathlib/Data/Nat/Basic.lean,Mathlib/Data/Nat/Cast/WithTop.lean,Mathlib/Data/Nat/Choose/Basic.lean,Mathlib/Data/Nat/Factorization/Basic.lean,Mathlib/Data/Nat/Factorization/LCM.lean,Mathlib/Data/PSigma/Order.lean,Mathlib/Data/Prod/Lex.lean,Mathlib/Data/Rat/Encodable.lean,Mathlib/Data/Set/Card.lean,Mathlib/Data/Set/Defs.lean,Mathlib/Data/Set/Finite/Basic.lean,Mathlib/Data/Set/Finite/Lattice.lean,Mathlib/Data/Set/Functor.lean,Mathlib/Data/Set/Notation.lean,Mathlib/Data/Set/Pairwise/Basic.lean,Mathlib/Data/Set/Prod.lean,Mathlib/Data/Sigma/Lex.lean 157 87 ['github-actions', 'kbuzzard', 'kckennylau', 'mathlib4-merge-conflict-bot'] nobody
14-74750
14 days ago
14-74750
14 days ago
0-9
9 seconds
27745 linesthatinterlace
author:linesthatinterlace
refactor(Order/Hom/Basic): redefine `OrderEmbedding` and `OrderIso` to be preorder embeddings and isomorphisms Redefines `OrderEmbedding` and `OrderIso` so that they are defined analogously to `OrderHom`. This also necessitated some file reordering as the previously definitions, being `abbrev`, pulled in existing instances etc. in a silent manner: it was natural to separate the namespaces somewhat. --- It is very possible I've missed some instances that we got from` RelEmbedding` and `RelIso` that we want to keep: I expect this to break on the first push and need some tweaking. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-order awaiting-CI merge-conflict awaiting-author 1081/668 Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Group/Submonoid/MulOpposite.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Module/Submodule/Range.lean,Mathlib/Algebra/Order/Group/Action/End.lean,Mathlib/Algebra/Order/Group/End.lean,Mathlib/Algebra/Order/Group/OrderIso.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Hom/MonoidWithZero.lean,Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Algebra/Order/Module/PositiveLinearMap.lean,Mathlib/Algebra/Order/Monoid/LocallyFiniteOrder.lean,Mathlib/Algebra/Order/Star/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/StrictSegal.lean,Mathlib/CategoryTheory/Abelian/Subobject.lean,Mathlib/CategoryTheory/Category/Preorder.lean,Mathlib/CategoryTheory/SmallObject/WellOrderInductionData.lean,Mathlib/Combinatorics/SetFamily/AhlswedeZhang.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Finset/Sort.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Fintype/Fin.lean,Mathlib/Data/List/Sort.lean,Mathlib/Data/Setoid/Partition.lean,Mathlib/Data/Sum/Order.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean,Mathlib/FieldTheory/CardinalEmb.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Pairing.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/ModelTheory/Order.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean,Mathlib/Order/Antichain.lean,Mathlib/Order/Birkhoff.lean,Mathlib/Order/Category/LinOrd.lean,Mathlib/Order/Category/NonemptyFinLinOrd.lean,Mathlib/Order/Category/PartOrd.lean,Mathlib/Order/Closure.lean,Mathlib/Order/CountableDenseLinearOrder.lean,Mathlib/Order/Estimator.lean,Mathlib/Order/Filter/IsBounded.lean,Mathlib/Order/Fin/Tuple.lean,Mathlib/Order/FixedPoints.lean,Mathlib/Order/GaloisConnection/Basic.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/Hom/Bounded.lean,Mathlib/Order/Hom/Lattice.lean,Mathlib/Order/Hom/Lex.lean,Mathlib/Order/Hom/Order.lean,Mathlib/Order/Hom/Set.lean,Mathlib/Order/Hom/WithTopBot.lean,Mathlib/Order/InitialSeg.lean,Mathlib/Order/Interval/Basic.lean,Mathlib/Order/Interval/Set/OrderEmbedding.lean,Mathlib/Order/Minimal.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/OrderIsoNat.lean,Mathlib/Order/Partition/Finpartition.lean,Mathlib/Order/Preorder/Chain.lean,Mathlib/Order/UpperLower/Closure.lean,Mathlib/Order/WellFoundedSet.lean,Mathlib/RepresentationTheory/Homological/Resolution.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/Ideal/Prod.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/LocalRing/ResidueField/Fiber.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/Defs.lean,Mathlib/RingTheory/SimpleRing/Congr.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean,Mathlib/RingTheory/TwoSidedIdeal/Basic.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/Rank.lean,Mathlib/Topology/Compactness/SigmaCompact.lean,Mathlib/Topology/Order/Hom/Basic.lean,Mathlib/Topology/Order/Hom/Esakia.lean,Mathlib/Topology/Sober.lean 83 26 ['YaelDillies', 'b-mehta', 'github-actions', 'linesthatinterlace', 'mathlib4-merge-conflict-bot'] nobody
14-74747
14 days ago
14-74748
14 days ago
0-9784
2 hours
10345 newell
author:newell
feat(Algebra.Module.Zlattice): Add Voronoi Domain Adds the definition for a Voronoi Domain in regards to the $\mathbb{Z}$-lattice: $$C := \lbrace\mathbf{w} \in \mathbb{V}^n\ :\ |\mathbf{w}| \leq |\mathbf{w} - \mathbf{v}|\ \text{for all}\ \mathbf{v} \in \mathbf{L} \rbrace$$ where $\mathbf{L}\$ is the $\mathbb{Z}$-lattice. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
17/0 Mathlib/Algebra/Module/Zlattice.lean 1 3 ['alreadydone', 'newell'] nobody
14-6238
14 days ago
14-6238
14 days ago
0-0
0 seconds
27286 edegeltje
author:edegeltje
refactor(OrderDual): make a one-field structure and remove defeq abuse --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order merge-conflict WIP 683/426 Mathlib/Algebra/Field/Basic.lean,Mathlib/Algebra/Order/Group/Action/Synonym.lean,Mathlib/Algebra/Order/Group/Synonym.lean,Mathlib/Algebra/Order/GroupWithZero/Action/Synonym.lean,Mathlib/Algebra/Order/GroupWithZero/Synonym.lean,Mathlib/Algebra/Order/Module/Synonym.lean,Mathlib/Algebra/Order/Monoid/Unbundled/OrderDual.lean,Mathlib/Algebra/Order/Ring/Synonym.lean,Mathlib/Data/Nat/Cast/Synonym.lean,Mathlib/Logic/Function/Iterate.lean,Mathlib/Order/Basic.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/Order/BoundedOrder/Lattice.lean,Mathlib/Order/BoundedOrder/Monotone.lean,Mathlib/Order/Circular.lean,Mathlib/Order/Compare.lean,Mathlib/Order/Disjoint.lean,Mathlib/Order/GaloisConnection/Defs.lean,Mathlib/Order/Iterate.lean,Mathlib/Order/Lattice.lean,Mathlib/Order/Max.lean,Mathlib/Order/MinMax.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/RelClasses.lean,Mathlib/Order/Synonym.lean,Mathlib/Order/WithBot.lean 26 2 ['alreadydone', 'github-actions', 'mathlib4-merge-conflict-bot'] nobody
14-5960
14 days ago
14-5961
14 days ago
0-0
0 seconds
27950 alreadydone
author:alreadydone
feat(MonoidAlgebra): criteria for `single` to be a unit, irreducible or prime --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
714/192 Mathlib.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/BigOperators/Group/Finset/Piecewise.lean,Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean,Mathlib/Algebra/Divisibility/Basic.lean,Mathlib/Algebra/Divisibility/Finite.lean,Mathlib/Algebra/Divisibility/Hom.lean,Mathlib/Algebra/Divisibility/Prod.lean,Mathlib/Algebra/Divisibility/Units.lean,Mathlib/Algebra/Group/Action/Pointwise/Finset.lean,Mathlib/Algebra/Group/Irreducible/Lemmas.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Algebra/MonoidAlgebra/Divisibility.lean,Mathlib/Algebra/MonoidAlgebra/NoZeroDivisors.lean,Mathlib/Algebra/Notation/Defs.lean,Mathlib/Algebra/Prime/Defs.lean,Mathlib/Algebra/Prime/Lemmas.lean,Mathlib/Algebra/Prime/Prod.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Dynamics/PeriodicPts/Defs.lean,Mathlib/GroupTheory/Coset/Card.lean,Mathlib/GroupTheory/Exponent.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/GroupTheory/GroupAction/Period.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/OrderOfElement.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/GroupTheory/Schreier.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/Tactic/ToAdditive/Frontend.lean 33 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
14-5424
14 days ago
14-5425
14 days ago
0-53
53 seconds
27922 Parcly-Taxel
author:Parcly-Taxel
chore: deprecate `div_eq_iff_mul_eq` and `eq_div_iff_mul_eq` In favour of `div_eq_iff` and `eq_div_iff` respectively. t-algebra merge-conflict
label:t-algebra$
25/28 Mathlib/Algebra/Field/Basic.lean,Mathlib/Algebra/GeomSum.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Data/Complex/Exponential.lean,Mathlib/Data/Nat/Choose/Cast.lean,Mathlib/Data/Rat/Cast/CharZero.lean,Mathlib/Data/Rat/Cast/Defs.lean,Mathlib/Data/Real/Irrational.lean,Mathlib/NumberTheory/Harmonic/GammaDeriv.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/Localization/FractionRing.lean 15 4 ['Parcly-Taxel', 'github-actions', 'mathlib4-merge-conflict-bot', 'pechersky'] nobody
13-24816
13 days ago
13-24817
13 days ago
3-55299
3 days
27551 Paul-Lez
author:Paul-Lez
feat(Algebra/Order/Group/Pointwise/Interval): add simple lemmas about Set.MapsTo and intervals Some of these lemmas are used in #26992. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-CI merge-conflict
label:t-algebra$
42/42 Counterexamples/AharoniKorman.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/TangentCone.lean,Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/Convex/Extrema.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/Analysis/LocallyConvex/Bounded.lean,Mathlib/CategoryTheory/CofilteredSystem.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Set/Finite/Basic.lean,Mathlib/Data/Set/Function.lean,Mathlib/Dynamics/Flow.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/LinearAlgebra/Reflection.lean,Mathlib/LinearAlgebra/RootSystem/Basic.lean,Mathlib/Order/CompleteSublattice.lean,Mathlib/Topology/CWComplex/Classical/Basic.lean,Mathlib/Topology/CWComplex/Classical/Finite.lean,Mathlib/Topology/CompactOpen.lean,Mathlib/Topology/Connected/Basic.lean,Mathlib/Topology/ContinuousMap/SecondCountableSpace.lean,Mathlib/Topology/Maps/Basic.lean,Mathlib/Topology/PartialHomeomorph.lean,scripts/nolints_prime_decls.txt 25 6 ['Paul-Lez', 'YaelDillies', 'eric-wieser', 'github-actions'] nobody
12-43494
12 days ago
12-43494
12 days ago
1-4102
1 day
27378 peakpoint
author:peakpoint
refactor(Geometry/Euclidean/Projection): redefine projection and reflection for affine subspaces This PR continues the work from #25578. Original PR: https://github.com/leanprover-community/mathlib4/pull/25578 new-contributor t-euclidean-geometry merge-conflict 316/317 Mathlib/Analysis/Normed/Affine/ContinuousAffineMap.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Geometry/Euclidean/Circumcenter.lean,Mathlib/Geometry/Euclidean/Projection.lean 4 7 ['github-actions', 'jsm28', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot', 'peakpoint'] nobody
12-30641
12 days ago
12-30642
12 days ago
15-31164
15 days
26934 mariainesdff
author:mariainesdff
feat(RingTheory/DedekindDomain/Ideal): add HeightOneSpectrum.ofPrime Previously #24036. Co-authored-by: @Louddy --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict delegated 9/0 Mathlib/RingTheory/DedekindDomain/Ideal.lean 1 7 ['Louddy', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib-bors', 'riccardobrasca'] riccardobrasca
assignee:riccardobrasca
11-29514
11 days ago
11-29514
11 days ago
22-14439
22 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/) large-import new-contributor t-number-theory 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
10-60040
10 days ago
10-60040
10 days ago
9-59130
9 days
20267 joelriou
author:joelriou
feat(CategoryTheory): comma categories are accessible --- (I shall probably not work on this PR in the near future.) - [ ] depends on: #19937 - [ ] depends on: #19945 - [ ] depends on: #19959 - [ ] depends on: #20005 - [ ] depends on: #19955 - [x] depends on: #20263 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict awaiting-author WIP 1513/7 Mathlib.lean,Mathlib/CategoryTheory/Comma/Arrow.lean,Mathlib/CategoryTheory/Comma/CardinalArrow.lean,Mathlib/CategoryTheory/EssentiallySmall.lean,Mathlib/CategoryTheory/Limits/Comma.lean,Mathlib/CategoryTheory/Limits/TypesFiltered.lean,Mathlib/CategoryTheory/Presentable/Basic.lean,Mathlib/CategoryTheory/Presentable/CardinalFilteredPresentation.lean,Mathlib/CategoryTheory/Presentable/Comma.lean,Mathlib/CategoryTheory/Presentable/IsCardinalFiltered.lean,Mathlib/CategoryTheory/Presentable/Limits.lean,Mathlib/CategoryTheory/Presentable/LocallyPresentable.lean,Mathlib/CategoryTheory/Presentable/ParallelMaps.lean,Mathlib/SetTheory/Cardinal/HasCardinalLT.lean,docs/references.bib 15 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
10-53007
10 days ago
10-53008
10 days ago
0-0
0 seconds
27451 kckennylau
author:kckennylau
feat(RingTheory/Valuation): define ball, closed ball, and sphere *From the 2025 Local Class Field Theory Workshop.* --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict 27/0 Mathlib/RingTheory/Valuation/Basic.lean 1 13 ['JovanGerb', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'pechersky', 'wwylele'] nobody
9-37934
9 days ago
9-37935
9 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/) t-ring-theory large-import merge-conflict 73/0 Mathlib/RingTheory/Valuation/Basic.lean 1 4 ['JovanGerb', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] nobody
9-37563
9 days ago
9-37564
9 days ago
6-6455
6 days
24862 grunweg
author:grunweg
feat(LocallyIntegrable): generalise more to enorms --- Note: github's diff is very confused; it includes changes which very clearly are already on the master branch. I'll see which of the remaining changes after the dependencies have landed is already polished enough. - [x] depends on: #24352 - [x] depends on: #27457 (this half is settled already) - [ ] open question: filter lemmas; IsBoundedUnder is not the right condition as-is; need to think (or just not generalise) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) carleson t-measure-probability merge-conflict WIP 171/88 Mathlib/MeasureTheory/Function/L1Space/HasFiniteIntegral.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean 3 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
9-31284
9 days ago
9-31285
9 days ago
0-1
1 second
25978 Bergschaf
author:Bergschaf
feat(Order/Sublocale): Open Sublocales --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #25089 t-order merge-conflict 377/8 Mathlib.lean,Mathlib/Order/Hom/Lattice.lean,Mathlib/Order/Nucleus.lean,Mathlib/Order/Sublocale.lean,Mathlib/Order/Synonym.lean,docs/references.bib 6 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
8-69125
8 days ago
8-69126
8 days ago
0-1908
31 minutes
27197 alreadydone
author:alreadydone
feat(Topology): `IsCoveringMapOn` open set --- - [x] depends on: #25044 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict WIP 282/28 Mathlib/Topology/Covering.lean,Mathlib/Topology/FiberBundle/Trivialization.lean,Mathlib/Topology/Homeomorph/Lemmas.lean,Mathlib/Topology/Maps/Basic.lean 4 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
8-44834
8 days ago
8-45539
8 days ago
0-0
0 seconds
25133 erdOne
author:erdOne
feat(Tactic/NormNum): support positive characteristic Co-authored-by: Heather Macbeth --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-meta merge-conflict WIP 250/39 Mathlib/Tactic/NormNum/CharP.lean,Mathlib/Tactic/NormNum/Core.lean,Mathlib/Tactic/NormNum/Eq.lean,Mathlib/Tactic/NormNum/Inv.lean,Mathlib/Tactic/NormNum/Test.lean 5 5 ['erdOne', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] nobody
7-52723
7 days ago
7-52724
7 days ago
0-0
0 seconds
27003 eric-wieser
author:eric-wieser
chore: use `Simp.ResultQ` more often Also uses `~q` in place of manual `isDefEq` matching. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict 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
7-52187
7 days ago
7-52188
7 days ago
32-70098
32 days
26374 joelriou
author:joelriou
feat(CategoryTheory): existence of right derived functors using derivability structures In this PR, we formalize an existence theorem for right derived functors which appeared in the article _Structures de dérivabilité_ by Bruno Kahn and Georges Maltsiniotis, Adv. Math. 218 (2008). --- - [ ] depends on: #26036 This PR continues the work from #22508. Original PR: https://github.com/leanprover-community/mathlib4/pull/22508 t-category-theory merge-conflict WIP 326/2 Mathlib.lean,Mathlib/CategoryTheory/Functor/Derived/PointwiseRightDerived.lean,Mathlib/CategoryTheory/Iso.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Localization/DerivabilityStructure/Basic.lean,Mathlib/CategoryTheory/Localization/DerivabilityStructure/PointwiseRightDerived.lean 6 4 ['github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
7-43021
7 days ago
7-43021
7 days ago
0-53
53 seconds
25483 VTrelat
author:VTrelat
chore(Data/Set/Prod, SetTheory/ZFC/Basic): add theorem prod_subset_of_prod and extend ZFC model Required by @eric-wieser in #24281 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor merge-conflict 103/0 Mathlib/Data/Set/Prod.lean,Mathlib/SetTheory/ZFC/Basic.lean 2 10 ['Ruben-VandeVelde', 'VTrelat', 'github-actions', 'leanprover-community-bot-assistant'] nobody
7-41830
7 days ago
46-76137
1 month ago
29-56208
29 days
24754 urkud
author:urkud
feat: define `pathIntegral` This is a step towards formalizing of the Poincaré lemma for 1-forms. --- - [x] depends on: #24831 - [x] depends on: #25047 - [x] depends on: #25048 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict awaiting-author 552/8 Mathlib.lean,Mathlib/Analysis/Convex/PathConnected.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/PathIntegral/Basic.lean 5 24 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sgouezel', 'urkud'] nobody
7-41426
7 days ago
7-41427
7 days ago
8-52615
8 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 140/23 Mathlib/RingTheory/Valuation/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean 2 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
7-37622
7 days ago
7-37623
7 days ago
7-4998
7 days
16150 urkud
author:urkud
feat(Dynamics): Hopf decomposition Prove Hopf decomposition. - [ ] rewrite to work with the saturations right away, not with a wandering set. - [ ] generalize to an action of a countable group, use fundamental domains. --- - [ ] depends on: #16146 - [ ] depends on: #16126 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-dynamics t-measure-probability merge-conflict 212/0 Mathlib.lean,Mathlib/Dynamics/Ergodic/Dissipative.lean,Mathlib/MeasureTheory/MeasurableSpace/Basic.lean 3 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'urkud'] nobody
7-20159
7 days ago
7-20160
7 days ago
0-0
0 seconds
25401 digama0
author:digama0
feat(Util): SuppressSorry option See also leanprover/lean4#8611 and [#lean4 > Silent sorry @ 💬](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/Silent.20sorry/near/503537964). This is a stop-gap solution while leanprover/lean4#8611 is underway, but it works about as well as any other built in option. Hooking declaration elaborators turns out to be a very powerful technique. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict 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
7-6983
7 days ago
7-6983
7 days ago
71-28549
71 days
25822 ScottCarnahan
author:ScottCarnahan
WIP: experiments with vertex algebras This is a testbed for various attempts at things. Please don't bother reviewing. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #25821.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/25821* large-import merge-conflict WIP 7781/362 Mathlib.lean,Mathlib/Algebra/Lie/ChevalleyEilenberg.lean,Mathlib/Algebra/Lie/Cocycle.lean,Mathlib/Algebra/Lie/Extension.lean,Mathlib/Algebra/Lie/Extension/Basic.lean,Mathlib/Algebra/Lie/Extension/CentralExtension.lean,Mathlib/Algebra/Lie/Loop.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Order/AddTorsor.lean,Mathlib/Algebra/Order/Monoid/Prod.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/Algebra/Polynomial/Nusmeval.lean,Mathlib/Algebra/Polynomial/Smeval.lean,Mathlib/Algebra/Vertex/Affine.lean,Mathlib/Algebra/Vertex/Basic.lean,Mathlib/Algebra/Vertex/Defs.lean,Mathlib/Algebra/Vertex/HVertexOperator.lean,Mathlib/Algebra/Vertex/VertexOperator.lean,Mathlib/Data/Finset/SMulAntidiagonal.lean,Mathlib/Data/FunLike/Equiv.lean,Mathlib/Data/Prod/RevLex.lean,Mathlib/GroupTheory/GroupAction/Equiv.lean,Mathlib/GroupTheory/GroupAction/Hom.lean,Mathlib/RingTheory/Binomial.lean,Mathlib/RingTheory/DividedPowers/Cauchy.lean,Mathlib/RingTheory/FormalSeries.lean,Mathlib/RingTheory/HahnSeries/Addition.lean,Mathlib/RingTheory/HahnSeries/Basic.lean,Mathlib/RingTheory/HahnSeries/Binomial.lean,Mathlib/RingTheory/HahnSeries/Finsupp.lean,Mathlib/RingTheory/HahnSeries/HEval.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/HahnSeries/Summable.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/PowerSeries/Binomial.lean,Mathlib/RingTheory/PowerSeries/Eval.lean 38 n/a ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] nobody
7-6858
7 days ago
unknown
unknown
26394 winstonyin
author:winstonyin
feat: existence of local flows on manifolds This PR continues the work from #21777. Original PR: https://github.com/leanprover-community/mathlib4/pull/21777 Transfer the existence theorem of local flows on vector spaces to manifolds. The precise statement is: > If a vector field `v` on a manifold `M` is continuously differentiable at an interior point `x₀`, then for a given `t₀` there exists a neighbourhood `u` of `x₀`, a positive `ε`, and `γ : M → ℝ → M` such that `γ x` is an integral curve of `v` on `(t₀ - ε, t₀ + ε)` for all `x ∈ u`. This is powerful because all curves `γ x` (each with initial condition `x ∈ u`) share the same existence time interval `(t₀ - ε, t₀ + ε)`, rather than each curve having its own `ε`. This will allow us to show that $C^1$ vector fields on compact manifolds always have global integral curves / global flows. Any suggestions to shorten the proof or split out useful lemmas are welcome! - [x] depends on: #26392 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry merge-conflict WIP 154/52 Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/Order/Filter/Prod.lean 3 5 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'winstonyin'] nobody
7-6544
7 days ago
7-6545
7 days ago
0-70
1 minute
27835 edegeltje
author:edegeltje
feat(Tactic): ring modulo a given characteristic This PR extends the `ring` tactic with a new config argument `char` which will try to reduce all constant terms modulo the given characteristic. This allows `ring` to prove e.g. `(x + y)^3 = x^3 + y^3` in characteristic 3. This is a simpler and faster way to do so than what we had before: `repeat { ring; reduce_mod_char }` becomes `ring (config := { char := 3 })`. The first step is to split off the required `CharP` definitions, since `Mathlib.Algebra.CharP.Basic` already requires the `ring` tactic. To perform the reduction modulo the given characteristic, I implemented `reduceCast` which reduces a raw integer, and wrapped it in `reduceResult` that takes a `NormNum.Result` for easy use. We need to pass through quite a few parameters into `reduceResult` so maybe it's worth defining a structure, or reusing `Cache` for this. Then it's basically a case of replacing every place where `ring` constructs a numeral with a call to `reduceResult`. Limitations: * `ring` doesn't attempt to detect the characteristic by itself, you need to pass it in explicitly. Trying to infer a `CharP` instance at each point sounds quite expensive. * Since the support for `%` in `NormNum` only exists for integers, I implemented the reduction only when a `Ring` instance is available. It is still sound in the semiring case, just not complete. * We could optimize exponentiation in the specific case where the characteristic `p` is a prime that divides the exponent `n`: `(x + y)^n = x^n + y^n`. I'll leave that to future work. --- This used to be #10765 by Anne Baanen before the great forkening. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) migrated-from-branch large-import t-meta merge-conflict 310/134 Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/RingTheory/MvPolynomial/Basic.lean,Mathlib/Tactic/LinearCombination.lean,Mathlib/Tactic/Module.lean,Mathlib/Tactic/Polyrith.lean,Mathlib/Tactic/Ring/Basic.lean,Mathlib/Tactic/Ring/Compare.lean,Mathlib/Tactic/Ring/RingNF.lean,MathlibTest/ring_compare.lean,MathlibTest/ring_mod_char.lean 10 4 ['edegeltje', 'github-actions', 'mathlib4-merge-conflict-bot'] joneugster
assignee:joneugster
7-6049
7 days ago
7-6050
7 days ago
11-83928
11 days
26446 joelriou
author:joelriou
refactor(CategoryTheory): make morphisms in full subcategories a 1-field structure This PR refactors the definition of morphisms in full subcategories (and induced categories), by making them a 1-field structure. This prevents certain defeq abuse, and improves automation. (The only issue is that this adds an extra layer: `f` sometimes becomes `f.hom`, etc.) --- (This time, I will try to complete this refactor. I very much need this for application to homotopical algebra, where full subcategories of cofibrant/fibrant/bifibrant are used.) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict WIP 1741/1418 Mathlib/Algebra/Category/CommAlgCat/FiniteType.lean,Mathlib/Algebra/Category/FGModuleCat/Basic.lean,Mathlib/Algebra/Category/FGModuleCat/EssentiallySmall.lean,Mathlib/Algebra/Category/Grp/FiniteGrp.lean,Mathlib/Algebra/Category/Grp/LeftExactFunctor.lean,Mathlib/Algebra/Category/ModuleCat/Tannaka.lean,Mathlib/Algebra/Homology/LocalCohomology.lean,Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/AlgebraicGeometry/Cover/Open.lean,Mathlib/AlgebraicGeometry/FunctionField.lean,Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean,Mathlib/AlgebraicGeometry/Gluing.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiSeparated.lean,Mathlib/AlgebraicGeometry/Morphisms/Separated.lean,Mathlib/AlgebraicGeometry/Noetherian.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/AlgebraicGeometry/Spec.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Defs.lean,Mathlib/AlgebraicTopology/SimplexCategory/MorphismProperty.lean,Mathlib/AlgebraicTopology/SimplicialNerve.lean,Mathlib/AlgebraicTopology/SimplicialSet/Coskeletal.lean,Mathlib/AlgebraicTopology/SimplicialSet/HomotopyCat.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveAdjunction.lean,Mathlib/AlgebraicTopology/SimplicialSet/Path.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ColimCoyoneda.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/EnoughInjectives.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Subobject.lean,Mathlib/CategoryTheory/Action/Concrete.lean,Mathlib/CategoryTheory/Action/Continuous.lean,Mathlib/CategoryTheory/Adjunction/PartialAdjoint.lean,Mathlib/CategoryTheory/Category/TwoP.lean,Mathlib/CategoryTheory/ConcreteCategory/Basic.lean,Mathlib/CategoryTheory/ConnectedComponents.lean,Mathlib/CategoryTheory/Countable.lean,Mathlib/CategoryTheory/Endomorphism.lean,Mathlib/CategoryTheory/EqToHom.lean,Mathlib/CategoryTheory/EssentialImage.lean,Mathlib/CategoryTheory/EssentiallySmall.lean,Mathlib/CategoryTheory/Filtered/Small.lean,Mathlib/CategoryTheory/FinCategory/AsType.lean,Mathlib/CategoryTheory/FintypeCat.lean,Mathlib/CategoryTheory/Galois/Basic.lean,Mathlib/CategoryTheory/Galois/Decomposition.lean,Mathlib/CategoryTheory/Galois/Equivalence.lean,Mathlib/CategoryTheory/Galois/EssSurj.lean,Mathlib/CategoryTheory/Galois/Examples.lean,Mathlib/CategoryTheory/Galois/GaloisObjects.lean,Mathlib/CategoryTheory/Galois/IsFundamentalgroup.lean,Mathlib/CategoryTheory/Galois/Prorepresentability.lean,Mathlib/CategoryTheory/Galois/Topology.lean,Mathlib/CategoryTheory/InducedCategory.lean,Mathlib/CategoryTheory/Limits/ExactFunctor.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/Indization/LocallySmall.lean,Mathlib/CategoryTheory/Linear/Basic.lean,Mathlib/CategoryTheory/Localization/Construction.lean,Mathlib/CategoryTheory/Localization/LocallySmall.lean,Mathlib/CategoryTheory/Localization/Predicate.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Grp_.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/CommGrp_.lean,Mathlib/CategoryTheory/Monoidal/CommMon_.lean,Mathlib/CategoryTheory/Monoidal/Grp_.lean,Mathlib/CategoryTheory/Monoidal/Internal/FunctorCategory.lean,Mathlib/CategoryTheory/Monoidal/Internal/Types/Basic.lean,Mathlib/CategoryTheory/Monoidal/Internal/Types/CommGrp_.lean,Mathlib/CategoryTheory/Monoidal/Internal/Types/Grp_.lean,Mathlib/CategoryTheory/Monoidal/Subcategory.lean,Mathlib/CategoryTheory/MorphismProperty/IsInvertedBy.lean,Mathlib/CategoryTheory/ObjectProperty/FullSubcategory.lean,Mathlib/CategoryTheory/Preadditive/AdditiveFunctor.lean,Mathlib/CategoryTheory/Preadditive/Basic.lean,Mathlib/CategoryTheory/Preadditive/CommGrp_.lean,Mathlib/CategoryTheory/Simple.lean,Mathlib/CategoryTheory/Sites/Coherent/RegularSheaves.lean,Mathlib/CategoryTheory/Sites/EffectiveEpimorphic.lean,Mathlib/CategoryTheory/Sites/Sheaf.lean,Mathlib/CategoryTheory/Sites/SheafHom.lean,Mathlib/CategoryTheory/Sites/SheafOfTypes.lean,Mathlib/CategoryTheory/Skeletal.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Subobject/Comma.lean,Mathlib/CategoryTheory/Subobject/FactorThru.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/CategoryTheory/Subobject/MonoOver.lean,Mathlib/CategoryTheory/Subobject/NoetherianObject.lean,Mathlib/CategoryTheory/Subobject/Types.lean,Mathlib/CategoryTheory/Subpresheaf/Subobject.lean,Mathlib/CategoryTheory/Subterminal.lean,Mathlib/CategoryTheory/Topos/Classifier.lean,Mathlib/Condensed/Discrete/Colimit.lean,Mathlib/Condensed/Discrete/LocallyConstant.lean,Mathlib/Condensed/Discrete/Module.lean,Mathlib/Condensed/Light/TopCatAdjunction.lean,Mathlib/Condensed/TopCatAdjunction.lean,Mathlib/Condensed/TopComparison.lean 141 7 ['erdOne', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'smorel394'] nobody
6-70928
6 days ago
25-83950
25 days ago
0-2
2 seconds
28298 thorimur
author:thorimur
chore: dedent `to_additive` docstrings This PR uses automation to dedent `to_additive` docstrings throughout Mathlib. It does not lint against indentation or in any way enforce indentation standards for future docstrings. The convention was chosen in accordance with the discussion and polls at [this Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Poll.3A.20Indentation.20style.20for.20.60to_additive.60.20docstrings/with/534285603). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-zulip merge-conflict documentation 949/949 Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset/Lemmas.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Defs.lean,Mathlib/Algebra/BigOperators/Pi.lean,Mathlib/Algebra/Category/Grp/Basic.lean,Mathlib/Algebra/Category/Grp/FilteredColimits.lean,Mathlib/Algebra/Category/Grp/Limits.lean,Mathlib/Algebra/Category/Grp/Ulift.lean,Mathlib/Algebra/Category/MonCat/Basic.lean,Mathlib/Algebra/Category/MonCat/FilteredColimits.lean,Mathlib/Algebra/Category/MonCat/Limits.lean,Mathlib/Algebra/Category/Semigrp/Basic.lean,Mathlib/Algebra/Free.lean,Mathlib/Algebra/FreeMonoid/Basic.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/Pi.lean,Mathlib/Algebra/Group/Action/Pointwise/Finset.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Embedding.lean,Mathlib/Algebra/Group/Equiv/Basic.lean,Mathlib/Algebra/Group/Equiv/Defs.lean,Mathlib/Algebra/Group/Equiv/Opposite.lean,Mathlib/Algebra/Group/Even.lean,Mathlib/Algebra/Group/Hom/Basic.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Group/Hom/Instances.lean,Mathlib/Algebra/Group/Indicator.lean,Mathlib/Algebra/Group/Pi/Lemmas.lean,Mathlib/Algebra/Group/Pi/Units.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/Algebra/Group/Subgroup/Map.lean,Mathlib/Algebra/Group/Subgroup/Pointwise.lean,Mathlib/Algebra/Group/Submonoid/Basic.lean,Mathlib/Algebra/Group/Submonoid/BigOperators.lean,Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/Submonoid/MulAction.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Group/Subsemigroup/Basic.lean,Mathlib/Algebra/Group/Subsemigroup/Operations.lean,Mathlib/Algebra/Group/UniqueProds/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/Group/Units/Equiv.lean,Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/Algebra/Group/Units/Opposite.lean,Mathlib/Algebra/Notation/Pi/Basic.lean,Mathlib/Algebra/Opposites.lean,Mathlib/Algebra/Order/BigOperators/Group/List.lean,Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Algebra/Order/Group/Basic.lean,Mathlib/Algebra/Order/Group/Cone.lean,Mathlib/Algebra/Order/Group/OrderIso.lean,Mathlib/Algebra/Order/Group/Units.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Monoid/Basic.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Submonoid.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Algebra/Order/Monoid/Units.lean,Mathlib/Algebra/Order/Pi.lean,Mathlib/Algebra/Regular/Defs.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/Data/Finset/NoncommProd.lean,Mathlib/Data/Fintype/BigOperators.lean,Mathlib/Data/Set/MulAntidiagonal.lean,Mathlib/Data/Set/SMulAntidiagonal.lean,Mathlib/Data/Vector/Basic.lean,Mathlib/Dynamics/Ergodic/Action/OfMinimal.lean,Mathlib/Dynamics/FixedPoints/Prufer.lean,Mathlib/Geometry/Manifold/Algebra/SmoothFunctions.lean,Mathlib/GroupTheory/Complement.lean,Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Coprod/Basic.lean,Mathlib/GroupTheory/Coset/Basic.lean,Mathlib/GroupTheory/Divisible.lean,Mathlib/GroupTheory/EckmannHilton.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/FreeGroup/Reduce.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/GroupAction/FixedPoints.lean,Mathlib/GroupTheory/GroupAction/Hom.lean,Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean,Mathlib/GroupTheory/GroupAction/Primitive.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/GroupAction/SubMulAction.lean 141 10 ['eric-wieser', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'thorimur'] nobody
6-18241
6 days ago
7-5613
7 days ago
0-61617
17 hours
27953 CoolRmal
author:CoolRmal
feat(ProbabilityTheory): Conditional Jensen's Inequality This PR adds conditional Jensen's inequality. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability merge-conflict 526/14 Mathlib.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Separation.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Basic.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondJensen.lean,Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean 5 3 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
6-16226
6 days ago
6-16227
6 days ago
8-36460
8 days
27759 plp127
author:plp127
chore(FreeAbelianGroup): deprecate multiplication Deprecate multiplication on `FreeAbelianGroup` in favor of using `MonoidAlgebra`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra merge-conflict
label:t-algebra$
176/86 Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/MonoidAlgebra/MapDomain.lean,Mathlib/GroupTheory/FreeAbelianGroup.lean,Mathlib/RingTheory/FreeCommRing.lean,Mathlib/RingTheory/FreeRing.lean 5 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
5-59829
5 days ago
5-59830
5 days ago
14-59974
14 days
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. --- new-contributor t-meta merge-conflict please-adopt modifies-tactic-syntax good first issue 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
5-57298
5 days ago
5-67054
5 days ago
22-16933
22 days
14203 dagurtomas
author:dagurtomas
feat(Algebra/ModuleCat): descent data Co-authored-by: Jack McKoen Co-authored-by: Christian Merten Co-authored-by: Joël Riou Co-authored-by: Adam Topaz --- - [ ] depends on: #24530 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) workshop-AIM-AG-2024 t-algebra t-algebraic-geometry t-category-theory merge-conflict WIP
label:t-algebra$
253/15 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Descent.lean,Mathlib/Algebra/Homology/ShortComplex/ExactFunctor.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean,Mathlib/RingTheory/LocalProperties/Basic.lean,Mathlib/RingTheory/RingHom/FaithfullyFlat.lean,Mathlib/RingTheory/RingHom/Finite.lean,Mathlib/RingTheory/RingHom/Flat.lean,Mathlib/RingTheory/RingHom/Integral.lean,Mathlib/RingTheory/RingHom/Locally.lean,Mathlib/RingTheory/RingHom/Surjective.lean,Mathlib/RingTheory/RingHom/Unramified.lean,Mathlib/RingTheory/RingHomProperties.lean 16 4 ['dagurtomas', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
5-30399
5 days ago
5-30401
5 days ago
0-0
0 seconds
26464 joelriou
author:joelriou
feat(LinearAlgebra): generators of pi tensor products In this PR, we show that the `R`-module `⨂[R] i, M i` is finitely generated if the index type is finite and all `M i` are finitely generated. This follows from a more precise result about generators of `⨂[R] i, M i`. --- This PR continues the work from #18725. Original PR: https://github.com/leanprover-community/mathlib4/pull/18725 file-removed t-algebra merge-conflict
label:t-algebra$
268/4 Mathlib.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/SubtypeNeLift.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Finite.lean,Mathlib/LinearAlgebra/PiTensorProduct/Generators.lean,Mathlib/LinearAlgebra/TensorPower/Basic.lean,Mathlib/RingTheory/PiTensorProduct.lean,Mathlib/SetTheory/Cardinal/Finite.lean 9 17 ['eric-wieser', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] nobody
5-30243
5 days ago
5-30244
5 days ago
43-26159
43 days
21776 alreadydone
author:alreadydone
Invertible modules --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
571/26 Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Module/Submodule/Equiv.lean,Mathlib/Data/Set/Semiring.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean,Mathlib/RingTheory/PicardGroup.lean 5 3 ['alreadydone', 'github-actions', 'mathlib4-merge-conflict-bot'] nobody
4-59378
4 days ago
4-59379
4 days ago
0-0
0 seconds
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/) new-contributor t-measure-probability merge-conflict please-adopt 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
4-49724
4 days ago
4-64612
4 days ago
0-0
0 seconds
27446 grunweg
author:grunweg
chore: more enorm lemmas Nothing to see yet: this is a big mess! Start unrolling at `eLpNorm_le_eLpNorm_top_mul_eLpNorm_enorm`; that proof could be a good next target. Need a version of `eLpNorm'_const_smul' which applies to NNReal (or ENNReal, I guess): need to generalise a bunch of lemmas for that. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) carleson merge-conflict WIP 107/9 Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean 3 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] nobody
4-41238
4 days ago
4-41239
4 days ago
0-172
2 minutes
27863 xroblot
author:xroblot
Development branch (1) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict WIP 475/3 Mathlib/NumberTheory/Cyclotomic/Basic.lean,Mathlib/NumberTheory/KummerDedekind.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/RB.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/Sandbox.lean,Mathlib/Stick.lean 9 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
4-29589
4 days ago
4-29590
4 days ago
0-26
26 seconds
14583 lecopivo
author:lecopivo
fix: make concrete cycle notation local fix: make c[...] notation for concrete cycles local --- The notation for concrete cycles prevents you using `c[i]` notation for `c : Array _` This currently does not work ``` import Mathlib variable (c : Array Nat) (i : Fin c.size) #check c[i] -- breaks because of notation for concrete cycles ``` This PR just marks it as local to prevent this issue. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict awaiting-author 1/1 Mathlib/GroupTheory/Perm/Cycle/Concrete.lean 1 3 ['eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] nobody
2-60552
2 days ago
2-60553
2 days ago
0-12793
3 hours
27819 BGuillemet
author:BGuillemet
feat(CategoryTheory/Yoneda): add curried version of Yoneda lemma for heterogeneous universes, and other version of homNatIso Prove a curried version of `yonedaCompUliftFunctorEquiv`, ie a completely functorial version of the Yoneda lemma with heterogeneous universes. Dually, prove a curried version of `coyonedaCompUliftFunctorEquiv`, ie a completely functorial version of the coYoneda lemma with heterogeneous universes. In addition, prove a functorial version of `FullyFaithful.natEquiv` using `coyoneda` instead of `yoneda` (previously, the only functorial version of `FullyFaithful.natEquiv` were `homNatIso`, which is written using `yoneda`). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-category-theory merge-conflict awaiting-author 162/36 Mathlib/CategoryTheory/Yoneda.lean 1 4 ['BGuillemet', 'github-actions', 'joelriou', 'mathlib4-merge-conflict-bot'] nobody
2-50077
2 days ago
2-50078
2 days ago
2-57237
2 days
28219 joelriou
author:joelriou
feat(CategoryTheory): monomorphisms in Type are stable under transfinite compositions --- - [x] depends on: #26030 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed t-category-theory merge-conflict WIP 86/15 Mathlib.lean,Mathlib/CategoryTheory/Category/Cat.lean,Mathlib/CategoryTheory/Category/RelCat.lean,Mathlib/CategoryTheory/ConcreteCategory/Basic.lean,Mathlib/CategoryTheory/ConcreteCategory/EpiMono.lean,Mathlib/CategoryTheory/Core.lean,Mathlib/CategoryTheory/Functor/Hom.lean,Mathlib/CategoryTheory/IsomorphismClasses.lean,Mathlib/CategoryTheory/Limits/Types/ColimitType.lean,Mathlib/CategoryTheory/Limits/Types/Shapes.lean,Mathlib/CategoryTheory/Monad/Types.lean,Mathlib/CategoryTheory/SmallObject/WellOrderInductionData.lean,Mathlib/CategoryTheory/Subobject/Types.lean,Mathlib/CategoryTheory/Types/Basic.lean,Mathlib/CategoryTheory/Types/Monomorphisms.lean,Mathlib/CategoryTheory/UnivLE.lean,Mathlib/Control/Fold.lean,Mathlib/Data/Set/FunctorToTypes.lean 18 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
2-49952
2 days ago
2-49953
2 days ago
0-172
2 minutes
11820 eric-wieser
author:eric-wieser
feat(Algebra/Star/Unitary): add unitarySubgroup --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict awaiting-author
label:t-algebra$
44/0 Mathlib/Algebra/Star/Unitary.lean 1 6 ['eric-wieser', 'j-loreaux', 'mathlib4-merge-conflict-bot'] j-loreaux
assignee:j-loreaux
2-15145
2 days ago
2-15145
2 days ago
5-19391
5 days
28591 JovanGerb
author:JovanGerb
feat(to_additive): improve heuristic to not translate rings This PR adds a new heuristic to `to_additive`: for each constant, we keep track of its first instance argument, i.e. its first argument whose type gets translated by `to_additive`. There are some more details that I should probably document in the source file. As a result, most definitions and theorem about `MonoidAlgebra`s can now automatically be translated by `to_additive`. I have done this in the file `Mathlib.Algebra.MonoidAlgebra.Defs`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) bench-after-CI t-meta merge-conflict 337/686 Mathlib/Algebra/Category/MonCat/Basic.lean,Mathlib/Algebra/Category/Semigrp/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MonoidAlgebra/Lift.lean,Mathlib/Algebra/MonoidAlgebra/MapDomain.lean,Mathlib/Algebra/MonoidAlgebra/Module.lean,Mathlib/Algebra/MonoidAlgebra/Support.lean,Mathlib/GroupTheory/Coset/Defs.lean,Mathlib/Lean/Expr/Basic.lean,Mathlib/Tactic/ToAdditive.lean,Mathlib/Tactic/ToAdditive/Frontend.lean 11 4 ['JovanGerb', 'github-actions', 'leanprover-bot'] bryangingechen
assignee:bryangingechen
2-10327
2 days ago
2-27738
2 days ago
0-0
0 seconds
27207 pechersky
author:pechersky
feat(Topology/WithVal): ValuativeRel (WithVal v) with a helper valuation defined that does not pierce defeq --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-topology merge-conflict
label:t-algebra$
23/2 Mathlib/Topology/Algebra/Valued/WithVal.lean 1 7 ['alreadydone', 'github-actions', 'mathlib4-merge-conflict-bot', 'pechersky', 'smmercuri'] alreadydone
assignee:alreadydone
1-56724
1 day ago
1-72572
1 day ago
33-52700
33 days
27313 pechersky
author:pechersky
feat(RingTheory/ValuativeRel/Trivial): the trivial valuative relation lemmas stated using `[Valuation.Compatible (1 : Valuation R Γ₀)]` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #27312 t-algebra t-number-theory merge-conflict
label:t-algebra$
908/800 Mathlib.lean,Mathlib/RingTheory/Valuation/RankOne.lean,Mathlib/RingTheory/Valuation/ValuativeRel.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Trivial.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean 7 11 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-55653
1 day ago
1-55654
1 day ago
6-23806
6 days
19097 Vierkantor
author:Vierkantor
chore(Algebra.Polynomial): split `Polynomial/Basic.lean` into smaller files This PR splits `Mathlib.Algebra.Polynomial.Basic` into the following files: * `Polynomial/Defs.lean`: definition and ring structure on `R[X]` * `Polynomial/Module.lean`: module structure on `R[X]` * `Polynomial/Monomial.lean`: merged definition of `monomial`, `X`, `C` into the existing file (this is probably the file you want to import from now on) * `Polynomial/EraseUpdate.lean`: definition of `erase` and `update` * `Polynomial/Sum.lean`: definition of `sum` Initially I added the monomial results to a new file, but ended up merging it with `Monomial.lean` since the two of them merge cleanly. --- - [x] depends on: #28030 (going to resurrect this PR on top of that one later) - [x] depends on: #19095 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
3109/2500 Mathlib.lean,Mathlib/Algebra/BigOperators/Finsupp.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MonoidAlgebra/Division.lean,Mathlib/Algebra/MonoidAlgebra/Lift.lean,Mathlib/Algebra/MonoidAlgebra/MapDomain.lean,Mathlib/Algebra/MonoidAlgebra/Module.lean,Mathlib/Algebra/MonoidAlgebra/Opposite.lean,Mathlib/Algebra/MonoidAlgebra/Support.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Cardinal.lean,Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/Algebra/Polynomial/Defs.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Degree/TrailingDegree.lean,Mathlib/Algebra/Polynomial/EraseUpdate.lean,Mathlib/Algebra/Polynomial/Eval/Defs.lean,Mathlib/Algebra/Polynomial/Eval/Degree.lean,Mathlib/Algebra/Polynomial/Module.lean,Mathlib/Algebra/Polynomial/Monomial.lean,Mathlib/Algebra/Polynomial/Sum.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Finsupp/Ext.lean,Mathlib/Data/Finsupp/Fintype.lean,Mathlib/Data/Finsupp/Indicator.lean,Mathlib/Data/Finsupp/Notation.lean,Mathlib/Data/Finsupp/Pointwise.lean,Mathlib/Data/Finsupp/SMulWithZero.lean,Mathlib/Data/Finsupp/Single.lean,Mathlib/Data/List/ToFinsupp.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Eigs.lean,Mathlib/RingTheory/KrullDimension/Basic.lean,Mathlib/RingTheory/Polynomial/Opposites.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/Tactic/ExtractGoal.lean,MathlibTest/Polynomial.lean,MathlibTest/instance_diamonds.lean,scripts/noshake.json 40 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
1-49984
1 day ago
7-42769
7 days ago
0-0
0 seconds
28052 EtienneC30
author:EtienneC30
feat: positive semidefinite sesquilinear forms Define positive semidefinite sesquilinear forms and prove that a `SesquilinForm R M` is positive semidefinite if and only if the corresponding matrix is positive semidefinite. --- - [ ] depends on: #27873 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
263/39 Counterexamples/QuadraticForm.lean,Mathlib.lean,Mathlib/Algebra/Lie/TraceForm.lean,Mathlib/LinearAlgebra/BilinearForm/Properties.lean,Mathlib/LinearAlgebra/BilinearForm/TensorProduct.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/QuadraticForm/Dual.lean,Mathlib/LinearAlgebra/RootSystem/Finite/CanonicalBilinear.lean,Mathlib/LinearAlgebra/RootSystem/OfBilinear.lean,Mathlib/LinearAlgebra/RootSystem/RootPositive.lean,Mathlib/LinearAlgebra/SesquilinearForm.lean,Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean,Mathlib/LinearAlgebra/SesquilinearForm/IsPosSemidef.lean 13 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-47313
1 day ago
1-47314
1 day ago
0-0
0 seconds
28054 EtienneC30
author:EtienneC30
feat: an abbreviation for sesquilinear forms Define `SesquilinForm R M := M →ₗ⋆[R] M →ₗ[R] R`. Prove that a `SesquilinForm R M` is symmetric if and only if the corresponding matrix is Hermitian. --- - [ ] depends on: #27873 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
181/39 Counterexamples/QuadraticForm.lean,Mathlib.lean,Mathlib/Algebra/Lie/TraceForm.lean,Mathlib/LinearAlgebra/BilinearForm/Properties.lean,Mathlib/LinearAlgebra/BilinearForm/TensorProduct.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/QuadraticForm/Dual.lean,Mathlib/LinearAlgebra/RootSystem/Finite/CanonicalBilinear.lean,Mathlib/LinearAlgebra/RootSystem/OfBilinear.lean,Mathlib/LinearAlgebra/RootSystem/RootPositive.lean,Mathlib/LinearAlgebra/SesquilinearForm.lean,Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean 12 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-47312
1 day ago
1-47313
1 day ago
0-0
0 seconds
28162 EtienneC30
author:EtienneC30
feat: define positive semidefinite sesquilinear maps --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
73/39 Counterexamples/QuadraticForm.lean,Mathlib/Algebra/Lie/TraceForm.lean,Mathlib/LinearAlgebra/BilinearForm/Properties.lean,Mathlib/LinearAlgebra/BilinearForm/TensorProduct.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/QuadraticForm/Dual.lean,Mathlib/LinearAlgebra/RootSystem/Finite/CanonicalBilinear.lean,Mathlib/LinearAlgebra/RootSystem/OfBilinear.lean,Mathlib/LinearAlgebra/RootSystem/RootPositive.lean,Mathlib/LinearAlgebra/SesquilinearForm.lean 10 3 ['github-actions', 'mathlib4-merge-conflict-bot', 'themathqueen'] nobody
1-47188
1 day ago
1-47189
1 day ago
0-0
0 seconds
27465 erdOne
author:erdOne
feat: the definition of nonarchimedean local fields --- - [ ] depends on: #27430 - [ ] depends on: #27412 - [ ] depends on: #27213 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory merge-conflict 229/21 Mathlib.lean,Mathlib/NumberTheory/LocalField/Basic.lean,Mathlib/RingTheory/Valuation/RankOne.lean,Mathlib/RingTheory/Valuation/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean 5 20 ['erdOne', 'github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] nobody
1-30025
1 day ago
5-60299
5 days ago
0-4122
1 hour
27887 JovanGerb
author:JovanGerb
feat: `to_dual` attribute This PR defines the `to_dual` attribute for translating lemmas to their dual. This is useful in order theory and in category theory. It is built on top of the `to_additive` machinery. This PR only adds `@[to_dual]` tags in files that directly need to import `ToDual`, namely `Order/Defs/PartialOrder`, `Order/Notation` and `Combinatorics/Quiver/Basic`. Further tagging is left for (many) future PRs. This PR continues the work from #21719 This PR depends on/supersedes #27894 Related (mathlib3) issues: - https://github.com/leanprover-community/mathlib3/issues/13461 - https://github.com/leanprover-community/mathlib3/issues/7691 Co-authored-by: @bryangingechen --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-meta merge-conflict 536/203 Mathlib.lean,Mathlib/Combinatorics/Quiver/Basic.lean,Mathlib/GroupTheory/Coset/Defs.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Defs/PartialOrder.lean,Mathlib/Order/Notation.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ToAdditive/Frontend.lean,Mathlib/Tactic/ToAdditive/ToDual.lean,Mathlib/Tactic/ToDual.lean,MathlibTest/toAdditive.lean,scripts/noshake.json 12 8 ['JovanGerb', 'github-actions', 'mathlib4-merge-conflict-bot'] nobody
1-29666
1 day ago
1-29667
1 day ago
14-51685
14 days
26455 ScottCarnahan
author:ScottCarnahan
WIP - feat (LinearAlgebra/RootSystem): API for CartanMatrix Some attempts at working out good ways to eliminate bad Cartan matrices. Very much WIP --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict WIP
label:t-algebra$
776/44 Mathlib/Algebra/Group/Action/Faithful.lean,Mathlib/LinearAlgebra/LinearIndependent/Basic.lean,Mathlib/LinearAlgebra/RootSystem/Base.lean,Mathlib/LinearAlgebra/RootSystem/CartanMatrix.lean,Mathlib/LinearAlgebra/RootSystem/Finite/CanonicalBilinear.lean,Mathlib/LinearAlgebra/RootSystem/Finite/Lemmas.lean,Mathlib/LinearAlgebra/RootSystem/IsValuedIn.lean,Mathlib/LinearAlgebra/RootSystem/RootPositive.lean 8 6 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] nobody
1-16186
1 day ago
1-16187
1 day ago
0-17731
4 hours
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
1-10463
1 day ago
1-10464
1 day ago
0-83357
23 hours
26396 xroblot
author:xroblot
feat(RingTheory): define the dual of a basis for the trace and prove basic properties --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict 120/37 Mathlib/LinearAlgebra/BilinearForm/Properties.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/Trace/Basic.lean 3 2 ['github-actions', 'mathlib4-merge-conflict-bot'] adomani
assignee:adomani
1-8044
1 day ago
1-8045
1 day ago
55-54216
55 days
24793 tristan-f-r
author:tristan-f-r
feat: trace of unitarily similar matrices adds a theorem relating trace to unitarily similar matrices used in the easy direction of specht's theorem --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict awaiting-author
label:t-algebra$
7/0 Mathlib/LinearAlgebra/UnitaryGroup.lean 1 4 ['github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot', 'tristan-f-r'] nobody
1-6102
1 day ago
1-6103
1 day ago
1-55872
1 day
26039 tsuki8
author:tsuki8
feat(RingTheory/MvPolynomial/MonomialOrder): leadingTerm define the leadingTerm and prove some lemmas related to the def `leadingTerm`: the leading term of `f` for the monomial ordering `m` some basic lemmas about leadingTerm including: 1. `leadingTerm_eq_zero_iff` 2. `leadingTerm_image_sdiff_singleton_zero` 3. `leadingTerm_image_insert_zero` 4. `leadingTerm_zero` 5. `leadingTerm_degree_eq` 6. `leadingTerm_degree_eq'` some lemmas about the degree of `f - m.leadingTerm f`: 1. `degree_sub_leadingTerm` 2. `degree_sub_leadingTerm_lt_degree` 3. `degree_sub_leadingTerm_lt_iff` Co-authored-by: Junyu Guo @Hagb --- - [ ] depends on: #24361 - [ ] depends on: #26148 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor merge-conflict 121/1 Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean 1 11 ['Hagb', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-4253
1 day ago
1-4255
1 day ago
0-1842
30 minutes
27599 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): define `completeEquipartiteSubgraph` Define the complete equipartite subgraphs in `r` parts each of size `t` in `G` as the `r` subsets of vertices each of size `t` such that vertices in distinct subsets are adjacent. In this case `Nonempty (G.completeEquipartiteSubgraph r t)` is equivalent to `completeEquipartiteGraph r t ⊑ G`, that is, finding `r` subsets of vertices each of size `t` in `G` such that vertices in distinct subsets are adjacent is equivalent to finding an injective homomorphism from `completeEquipartiteGraph r t` to `G`. --- - [ ] depends on: #27597 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-combinatorics merge-conflict 248/0 Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean 2 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-52008
14 hours ago
0-52009
14 hours ago
0-12432
3 hours
28311 eric-wieser
author:eric-wieser
fix(Tactic/NormNum): do not hang on large powers This uses `Lean.checkExponent` to guard against large powers. Unfortunately the log messages it emits are currently swallowed, but surfacing these may require changing the API for norm_num extensions (to live in `OptionT MetaM`) and so is left to future work. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict bug 41/23 Mathlib/Tactic/NormNum/Pow.lean,Mathlib/Tactic/Ring/Basic.lean,MathlibTest/norm_num.lean,MathlibTest/norm_num_ext.lean 4 3 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
0-38277
10 hours ago
1-44237
1 day ago
8-5100
8 days
28532 alreadydone
author:alreadydone
chore(Algebra/Ring/Defs): add two classes and extend more Add the missing `NonAssocComm(Semi)ring` and modify existing classes to `extends` more to remove some manual instances. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict
label:t-algebra$
89/70 Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean,Mathlib/NumberTheory/SelbergSieve.lean,Mathlib/RingTheory/Localization/Integral.lean,Mathlib/RingTheory/PowerSeries/GaussNorm.lean,Mathlib/RingTheory/Valuation/Discrete/Basic.lean,Mathlib/Tactic/Ring/Basic.lean,MathlibTest/TCSynth.lean 10 16 ['alreadydone', 'eric-wieser', 'github-actions', 'leanprover-bot'] nobody
0-30326
8 hours ago
3-17974
3 days ago
3-20973
3 days
28675 vihdzp
author:vihdzp
chore: deprecate `bsup`, `lsub`, `blsub` This PR formally deprecates `Ordinal.bsup`, `Ordinal.lsub`, and `Ordinal.blsub`. These arose as ways to construct suprema of ordinals, before we realized it was a much better idea to simply work with the `ConditionallyCompleteLinearOrderBot` structure of `Ordinal`. As a consequence, it gets rid of some longstanding non-deprecated material depending on deprecated material. --- - [ ] depends on: #28677 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory merge-conflict 315/130 Mathlib/Order/IsNormal.lean,Mathlib/SetTheory/Cardinal/Regular.lean,Mathlib/SetTheory/Game/Birthday.lean,Mathlib/SetTheory/Ordinal/Family.lean,Mathlib/SetTheory/Ordinal/NaturalOps.lean,Mathlib/SetTheory/Ordinal/Topology.lean 6 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-24274
6 hours ago
0-37947
10 hours ago
0-0
0 seconds
28046 grunweg
author:grunweg
chore: golf the proof in #26875 --- TODO: also add the typeclass weakening (cherry-picked) - [ ] depends on: #26875 - [x] depends on: #28048 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry merge-conflict 99/14 Mathlib/Geometry/Manifold/ContMDiff/Defs.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean 2 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-23206
6 hours ago
14-12936
14 days ago
0-1
1 second
21603 imbrem
author:imbrem
feat(CategoryTheory/ChosenFiniteProducts): add basic ChosenFiniteCoproducts class 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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-category-theory merge-conflict awaiting-author 261/2 Mathlib/CategoryTheory/ChosenFiniteProducts.lean 1 18 ['TwoFX', 'YaelDillies', 'github-actions', 'grunweg', 'imbrem', 'joelriou', 'leanprover-community-bot-assistant', 'robin-carlier'] TwoFX and joelriou
assignee:TwoFX assignee:joelriou
0-10079
2 hours ago
97-21757
3 months ago
89-21170
89 days
28322 kim-em
author:kim-em
chore: remove a now-unneeded maxHeartbeats Some previous PRs have pruned the typeclass search, and this now succeeds within the usual limits. t-number-theory merge-conflict 0/1 Mathlib/NumberTheory/RamificationInertia/Unramified.lean 1 1 ['github-actions'] nobody
0-5749
1 hour ago
5-70253
5 days ago
5-71349
5 days
13158 erdOne
author:erdOne
refactor(RingTheory/OreLocalization/Module): remove `LocalizedModule.mk`. --- - [x] depends on: #13151 - [ ] depends on: #13156 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict blocked-by-other-PR
label:t-algebra$
49/48 Mathlib/RingTheory/OreLocalization/Basic.lean,Mathlib/RingTheory/OreLocalization/Module.lean 2 1 ['leanprover-community-mathlib4-bot'] nobody
407-42542
1 year ago
407-42565
1 year ago
0-0
0 seconds
14889 yuma-mizuno
author:yuma-mizuno
feat(CategoryTheory/Bicategory/Monad): define monad in bicategory --- - [ ] depends on: #12107 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict blocked-by-other-PR WIP 1566/12 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/Functor/Oplax.lean,Mathlib/CategoryTheory/Bicategory/LocallyDiscrete.lean,Mathlib/CategoryTheory/Bicategory/Monad/Adjunction.lean,Mathlib/CategoryTheory/Bicategory/Monad/Basic.lean,Mathlib/CategoryTheory/Bicategory/Monad/Cat.lean,Mathlib/CategoryTheory/Monad/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/Coherence.lean,Mathlib/Tactic/Widget/StringDiagram.lean,scripts/noshake.json,test/StringDiagram.lean,widget/src/penrose/monoidal.dsl,widget/src/penrose/monoidal.sty 14 2 ['github-actions', 'leanprover-community-mathlib4-bot'] nobody
385-61868
1 year ago
397-73106
1 year ago
0-0
0 seconds
12879 grunweg
author:grunweg
feat: port ge_or_gt linter from mathlib3 Code works and is essentially green: next step is to split up into separate PRs. Feedback welcome on whether: - all the test changes are good, or I should simply allow it in more cases - if calc blocks need to be explicitly exempt --- - [ ] depends on: #12933 - [ ] depends on: #12934 - [ ] depends on: #12931 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-linter merge-conflict blocked-by-other-PR 736/319 Archive/Imo/Imo1960Q1.lean,Archive/Imo/Imo1962Q1.lean,Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo1994Q1.lean,Archive/Imo/Imo2001Q2.lean,Archive/Imo/Imo2005Q3.lean,Archive/Imo/Imo2006Q3.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2008Q3.lean,Archive/Imo/Imo2008Q4.lean,Archive/Imo/Imo2011Q5.lean,Archive/Imo/Imo2019Q4.lean,Archive/Sensitivity.lean,Archive/Wiedijk100Theorems/AreaOfACircle.lean,Archive/Wiedijk100Theorems/BallotProblem.lean,Archive/Wiedijk100Theorems/BirthdayProblem.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Mathlib.lean,Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Star/CHSH.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/InnerProductSpace/Projection.lean,Mathlib/Analysis/Normed/Group/ControlledClosure.lean,Mathlib/Analysis/NormedSpace/MStructure.lean,Mathlib/Analysis/SpecialFunctions/Log/Base.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Data/FP/Basic.lean,Mathlib/Data/Finset/Basic.lean,Mathlib/Data/Finset/Fold.lean,Mathlib/Data/Finsupp/Notation.lean,Mathlib/Data/Int/Lemmas.lean,Mathlib/Data/Nat/Dist.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Nat/Parity.lean,Mathlib/Data/Nat/Upto.lean,Mathlib/Data/Ordmap/Ordset.lean,Mathlib/Data/PNat/Basic.lean,Mathlib/Data/UInt.lean,Mathlib/GroupTheory/Coxeter/Length.lean,Mathlib/MeasureTheory/Constructions/Polish.lean,Mathlib/MeasureTheory/Covering/Besicovitch.lean,Mathlib/MeasureTheory/Covering/Vitali.lean,Mathlib/MeasureTheory/Covering/VitaliFamily.lean,Mathlib/MeasureTheory/Integral/Layercake.lean,Mathlib/NumberTheory/LegendreSymbol/JacobiSymbol.lean,Mathlib/NumberTheory/Padics/Hensel.lean,Mathlib/NumberTheory/Padics/PadicNorm.lean,Mathlib/NumberTheory/PellMatiyasevic.lean,Mathlib/NumberTheory/Rayleigh.lean,Mathlib/Order/Filter/AtTopBot.lean,Mathlib/Probability/Process/Stopping.lean,Mathlib/RingTheory/Adjoin/Basic.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/SetTheory/Ordinal/Notation.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CancelDenoms/Core.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/IntervalCases.lean,Mathlib/Tactic/Linarith/Datatypes.lean,Mathlib/Tactic/Linarith/Lemmas.lean,Mathlib/Tactic/Linarith/Oracle/FourierMotzkin.lean,Mathlib/Tactic/Linter/GeOrGt.lean,Mathlib/Tactic/Linter/Style.lean,Mathlib/Tactic/NormNum/GCD.lean,Mathlib/Tactic/NormNum/Inv.lean,Mathlib/Tactic/Ring/Basic.lean,Mathlib/Topology/Category/Profinite/Nobeling.lean,Mathlib/Topology/ContinuousFunction/Bounded.lean,Mathlib/Topology/MetricSpace/CauSeqFilter.lean,Mathlib/Topology/MetricSpace/Cauchy.lean,Mathlib/Topology/MetricSpace/Closeds.lean,Mathlib/Topology/Sequences.lean,scripts/lint-style.py,test/Explode.lean,test/GCongr/inequalities.lean,test/GeOrGt.lean,test/LibrarySearch/IsCompact.lean,test/LibrarySearch/basic.lean,test/Recall.lean,test/Rify.lean,test/Use.lean,test/cancel_denoms.lean,test/congr.lean,test/delabLinearIndependent.lean,test/delaborators.lean,test/interval_cases.lean,test/linarith.lean 109 3 ['github-actions', 'grunweg', 'leanprover-community-mathlib4-bot'] nobody
385-61865
1 year ago
407-42565
1 year ago
0-15202
4 hours
13057 alreadydone
author:alreadydone
feat(NumberTheory): characterize elliptic divisibility sequences Main results: + Every `normEDS` is an elliptic divisibility sequence (EDS). The key proof is `rel₄_of_anti_oddRec_evenRec`, based on my original argument first published on [MathSE](https://math.stackexchange.com/a/4903422/12932) + Conversely, every EDS is equal to some `normEDS` (assuming that the first two terms are not zero divisors) --- - [ ] depends on: #13155 - [x] depends on: #13153 - [x] depends on: #10843 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-number-theory merge-conflict blocked-by-other-PR
label:t-algebra$
1032/55 Mathlib/Algebra/Ring/NegOnePow.lean,Mathlib/Data/Int/Defs.lean,Mathlib/Data/Int/Parity.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/NumberTheory/EllipticDivisibilitySequence.lean 5 6 ['Multramate', 'alreadydone', 'kbuzzard', 'leanprover-community-mathlib4-bot'] nobody
385-61865
1 year ago
436-16853
1 year ago
0-34665
9 hours
10842 mcdoll
author:mcdoll
chore: simplify proofs using new positivity extensions and tests --- - [x] depends on: #10661 - [ ] depends on: #10796 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict blocked-by-other-PR WIP 98/50 Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/SpecialFunctions/Gaussian.lean,Mathlib/MeasureTheory/Covering/Differentiation.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL1.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Real.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Unique.lean,Mathlib/MeasureTheory/Function/ContinuousMapDense.lean,Mathlib/MeasureTheory/Integral/Bochner.lean,Mathlib/MeasureTheory/Measure/Tilted.lean,Mathlib/Probability/Martingale/Upcrossing.lean,Mathlib/Probability/Moments.lean,Mathlib/Probability/Variance.lean,Mathlib/Tactic/Positivity/Core.lean,test/positivity.lean 14 1 ['leanprover-community-mathlib4-bot'] nobody
385-61863
1 year ago
449-65084
1 year ago
0-0
0 seconds
7564 shuxuezhuyi
author:shuxuezhuyi
feat(Topology/Algebra/Order): extend strictly monotone function on `Ioo` to homeomorphism on `Icc` A strictly monotone function between open intervals can be extended to a homeomorphism between the closed intervals. --- - [ ] depends on: #7351 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict blocked-by-other-PR 162/0 Mathlib.lean,Mathlib/Topology/Algebra/Order/IccExtendFromIoo.lean 2 1 ['leanprover-community-mathlib4-bot'] nobody
385-61861
1 year ago
407-42565
1 year ago
0-0
0 seconds
7512 Komyyy
author:Komyyy
perf: override the data structures of coinductive types The data structures of the model of coinductive types (`Stream'`, `Computation`, `Stream'.Seq`) are inefficient, so we override their data structures. --- - [x] depends on: #7514 - [ ] depends on: leanprover/lean4#2292 - [x] depends on: leanprover/std4#371 - [x] depends on: #8460 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict blocked-by-core-PR blocked-by-other-PR WIP 6919/3700 Mathlib.lean,Mathlib/Algebra/ContinuedFractions/Basic.lean,Mathlib/Algebra/ContinuedFractions/Computation/ApproximationCorollaries.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Computation/Basic.lean,Mathlib/Algebra/ContinuedFractions/Computation/CorrectnessTerminating.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean,Mathlib/Algebra/ContinuedFractions/ContinuantRecurrence.lean,Mathlib/Algebra/ContinuedFractions/EvalEquiv.lean,Mathlib/Algebra/ContinuedFractions/Real.lean,Mathlib/Algebra/ContinuedFractions/TerminatedStable.lean,Mathlib/Algebra/ContinuedFractions/Translations.lean,Mathlib/Combinatorics/Hindman.lean,Mathlib/Control/Fix.lean,Mathlib/Control/LawfulFix.lean,Mathlib/Data/Seq/Computation.lean,Mathlib/Data/Seq/Parallel.lean,Mathlib/Data/Seq/Seq.lean,Mathlib/Data/Seq/WSeq.lean,Mathlib/Data/Stream.lean,lean-toolchain 22 2 ['digama0', 'leanprover-community-mathlib4-bot'] nobody
385-61861
1 year ago
447-39502
1 year ago
0-0
0 seconds
8364 thorimur
author:thorimur
feat: `refine?` This PR adds `refine? e`, which suggests replacing unsynthesized `_`'s in `e` with `?_` in order to make `refine e'` work: ```lean example : Nat → Nat := by refine? fun (_ : _) => _ -- Try this: refine fun (_ : _) => ?_ ``` Note that this only suggests replacements for `_`'s present in the syntax; to create goals for implicit or instance arguments, the user is expected to use `refine'`. --- I'm especially open to suggestions on the filename (currently `RefineFix`). I'm also curious if this behaves as expected! Feel free to try it out "in real life" and comment here on edge cases. - [ ] depends on: #8503 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict blocked-by-other-PR 684/5 Mathlib.lean,Mathlib/Lean/CoreM.lean,Mathlib/Lean/Elab/Tactic/ElabTerm.lean,Mathlib/Lean/Elab/Term.lean,Mathlib/Tactic.lean,Mathlib/Tactic/RefineFix.lean,Mathlib/Util/Delaborators.lean,Mathlib/Util/Syntax.lean,test/RefineFix.lean 9 5 ['j-loreaux', 'leanprover-community-mathlib4-bot', 'thorimur'] nobody
385-61861
1 year ago
407-42565
1 year ago
6-59794
6 days
4785 thorimur
author:thorimur
feat: ExprWithLevels This introduces `ExprWithLevels`, a means of emulating universe polymorphism for non-constants during metaprogramming. [Description pending] - [ ] depends on: #4786 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict blocked-by-other-PR 491/1 Mathlib.lean,Mathlib/Lean/Meta/AppBuilder.lean,Mathlib/Lean/Meta/Basic.lean,Mathlib/Lean/Meta/ExprWithLevels.lean 4 1 ['kim-em'] nobody
385-61860
1 year ago
449-65084
1 year ago
0-0
0 seconds
13852 FR-vdash-bot
author:FR-vdash-bot
perf: skip some typeclasses in TC search --- - [ ] depends on: #7873 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) slow-typeclass-synthesis merge-conflict blocked-by-other-PR 45/33 Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/RingTheory/Norm.lean 3 21 ['FR-vdash-bot', 'MichaelStollBayreuth', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] nobody
381-31849
1 year ago
381-31850
1 year ago
0-0
0 seconds
7565 shuxuezhuyi
author:shuxuezhuyi
feat(Topology/Algebra/Order): extend homeomorphism of `Ioo` to `Icc` We extend the homeomorphisms between open intervals to homeomorphisms between the closed intervals. --- - [ ] depends on: #7018 - [ ] depends on: #7351 - [ ] depends on: #7564 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order t-topology merge-conflict blocked-by-other-PR 389/5 Mathlib.lean,Mathlib/Data/Set/Intervals/Image.lean,Mathlib/Order/Directed.lean,Mathlib/Topology/Algebra/Order/IccExtendFromIoo.lean,Mathlib/Topology/Algebra/Order/IntermediateValue.lean 5 1 ['leanprover-community-mathlib4-bot'] nobody
371-55514
1 year ago
371-55514
1 year ago
0-0
0 seconds
11520 thorimur
author:thorimur
feat: `linting_rules` and deprecated syntax --- Experimental. WIP. Might not be performance-viable. - [ ] depends on: #11519 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict blocked-by-other-PR 1016/0 Mathlib.lean,Mathlib/Command/Linter.lean,Mathlib/Command/Linter/Deprecated.lean,Mathlib/Command/Linter/LintingRules.lean,Mathlib/Command/SyntaxRules.lean,Mathlib/Command/SyntaxRules/Attr.lean,Mathlib/Command/SyntaxRules/Elab.lean,Mathlib/Command/SyntaxRules/Header.lean,Mathlib/Command/SyntaxRules/Util.lean,Mathlib/Tactic/Common.lean,scripts/noshake.json 11 11 ['leanprover-bot', 'leanprover-community-mathlib4-bot', 'thorimur'] nobody
370-51719
1 year ago
370-51719
1 year ago
0-0
0 seconds
9154 FR-vdash-bot
author:FR-vdash-bot
feat: `npow` / `nsmul` / `Nat.cast`/ `zpow` / `zsmul` implemented using `Nat.binaryRec` --- - [ ] depends on: https://github.com/leanprover/lean4/pull/3756 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict awaiting-author blocked-by-other-PR
label:t-algebra$
168/359 Mathlib/Algebra/Group/Defs.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/Primrec.lean,Mathlib/Data/Bool/Basic.lean,Mathlib/Data/Int/Bitwise.lean,Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Digits.lean,Mathlib/Data/Nat/EvenOddRec.lean,Mathlib/Data/Nat/Fib/Basic.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Nat/Order/Basic.lean,Mathlib/Data/Nat/Parity.lean,Mathlib/Data/Nat/Size.lean,Mathlib/Data/Num/Lemmas.lean,Mathlib/Init/Data/Nat/Bitwise.lean,Mathlib/LinearAlgebra/TensorProduct/Graded/Internal.lean,Mathlib/Logic/Basic.lean,Mathlib/Logic/Denumerable.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Logic/Equiv/Nat.lean,lake-manifest.json,lakefile.lean,test/zmod.lean 25 7 ['FR-vdash-bot', 'eric-wieser', 'kim-em', 'leanprover-community-mathlib4-bot'] nobody
370-51192
1 year ago
370-51192
1 year ago
0-0
0 seconds
7026 mo271
author:mo271
feat: toMonoidHom_coe - [ ] depends on: #6791 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory merge-conflict blocked-by-other-PR 16/0 Mathlib/NumberTheory/LegendreSymbol/MulCharacter.lean 1 3 ['leanprover-community-mathlib4-bot', 'mo271'] nobody
370-51155
1 year ago
370-51155
1 year ago
0-0
0 seconds
7861 shuxuezhuyi
author:shuxuezhuyi
feat(Geometry/Hyperbolic/UpperHalfPlane): instance IsometricSMul PSL(2, ℝ) ℍ --- - [ ] depends on: #7835 - [ ] depends on: #7791 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-euclidean-geometry merge-conflict blocked-by-other-PR 98/0 Mathlib.lean,Mathlib/Geometry/Hyperbolic/UpperHalfPlane/Basic.lean,Mathlib/LinearAlgebra/Matrix/ProjectiveSpecialLinearGroup.lean 3 1 ['leanprover-community-mathlib4-bot'] nobody
345-61191
11 months ago
345-61191
11 months ago
0-0
0 seconds
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/) t-topology merge-conflict please-adopt 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
338-73775
11 months ago
338-73775
11 months ago
1-72084
1 day
13782 alreadydone
author:alreadydone
feat(EllipticCurve): ZSMul formula in terms of division polynomials The formula $[n]P = (\phi_n(x,y) : \omega_n(x,y) : \psi_n(x,y))$ in Jacobian coordinates for $P=(x,y)$ a nonsingular point on a Weierstrass/elliptic curve. --- - [x] depends on: #12883 - [x] depends on: #13399 - [ ] depends on: #13057 - [ ] depends on: #13155 - [x] depends on: #13845 - [x] depends on: #13846 - [ ] depends on: #13847 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-algebraic-geometry t-number-theory merge-conflict blocked-by-other-PR
label:t-algebra$
2462/232 Mathlib.lean,Mathlib/Algebra/MvPolynomial/PDeriv.lean,Mathlib/Algebra/Polynomial/Bivariate.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/ZSMul.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Universal.lean,Mathlib/NumberTheory/EllipticDivisibilitySequence.lean 10 n/a ['Multramate', 'alreadydone', 'github-actions', 'leanprover-community-mathlib4-bot'] nobody
333-5384
10 months ago
unknown
unknown
14242 js2357
author:js2357
feat: Prove equivalence of `isDedekindDomain` and `isDedekindDomainDvr` Prove that `isDedekindDomainDvr` is equivalent to both `isDedekindDomain` and `isDedekindDomainInv`. Specifically, prove `isDedekindDomainDvr A → isDedekindDomainInv A`, because `isDedekindDomain A → isDedekindDomainDvr A` and `IsDedekindDomain A ↔ IsDedekindDomainInv A` are already in Mathlib. - [x] depends on: #14099 - [x] depends on: #14216 - [ ] depends on: #14237 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra merge-conflict blocked-by-other-PR
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
330-25056
10 months ago
330-25056
10 months ago
0-0
0 seconds
16215 adomasbaliuka
author:adomasbaliuka
feat(Tactic/Linter): lint unwanted unicode Add a text-based style linter that checks all unicode characters. - Only allow whitelisted characters, with a suggestion to add the flagged character to the whitelist - Some characters are specified to use emoji-variant or text-variant. The linter ensures these variant-selectors only appear in the correct places and provides an auto-fix to clean them up. --- Discussed at [Zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Whitelist.20for.20Unicode.3F/near/448721083) The current proposal checks each character against a whitelist. There is also the question of what the whitelist should contain. A reasonable whitelist might be "all unicode currently in Mathlib" ∪ [Wikipedia/Mathematical_operators_and_symbols_in_Unicode](https://en.wikipedia.org/wiki/Mathematical_operators_and_symbols_in_Unicode) ∪ [EdAyers/mathlib3/docs/unicode.md](https://github.com/EdAyers/mathlib/blob/fb5c2ffe917049959597b0a93b872e91f4004922/docs/unicode.md). Currently implemented is a subset of this list closer to what's currently present in mathlib. - [x] depends on: #17068 - [x] depends on: #17116 - [ ] depends on: #17129 (part 1 of this PR) - [ ] depends on: #17131 (part 2 of this PR) - Future note: @adomasbaliuka says: "we might add something to the Mathlib 4 docs about this as well?" [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter merge-conflict blocked-by-other-PR 462/15 Mathlib/GroupTheory/GroupExtension/Defs.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/Linter/UnicodeLinter.lean,Mathlib/Tactic/Widget/Calc.lean,Mathlib/Tactic/Widget/CongrM.lean,Mathlib/Tactic/Widget/Conv.lean,Mathlib/Tactic/Widget/GCongr.lean,Mathlib/Topology/ContinuousFunction/Weierstrass.lean,test/LintStyle.lean 9 51 ['adomasbaliuka', 'eric-wieser', 'github-actions', 'grunweg', 'joneugster', 'mathlib4-dependent-issues-bot'] nobody
324-79465
10 months ago
324-79465
10 months ago
12-19694
12 days
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/) new-contributor t-logic merge-conflict blocked-by-other-PR 415/7 Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Syntax.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
322-21034
10 months ago
322-21034
10 months ago
0-1045
17 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/) new-contributor t-logic merge-conflict blocked-by-other-PR 300/7 Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Syntax.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
322-21034
10 months ago
322-21035
10 months ago
0-1299
21 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/) new-contributor t-logic merge-conflict blocked-by-other-PR 525/7 Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Syntax.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
322-21033
10 months ago
322-21033
10 months ago
0-613
10 minutes
16041 vihdzp
author:vihdzp
feat(SetTheory/Ordinal/Arithmetic): `Ordinal.toNat` A simple function sending ordinals less than `ω` to themselves, and anything else to `0`. --- - [ ] depends on: #17758 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory t-logic awaiting-author blocked-by-other-PR WIP 58/0 Mathlib/SetTheory/Ordinal/Arithmetic.lean 1 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'urkud', 'vihdzp'] nobody
309-74909
10 months ago
309-74911
10 months ago
54-31491
54 days
13965 pechersky
author:pechersky
feat(Data/DigitExpansion): reals via digit expansion are complete --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #13964 t-data merge-conflict blocked-by-other-PR 3876/0 Mathlib.lean,Mathlib/Data/DigitExpansion/Add.lean,Mathlib/Data/DigitExpansion/Defs.lean,Mathlib/Data/DigitExpansion/Hensel.lean,Mathlib/Data/DigitExpansion/Integer/Basic.lean,Mathlib/Data/DigitExpansion/Integer/Mul.lean,Mathlib/Data/DigitExpansion/Real/Basic.lean,Mathlib/Data/DigitExpansion/Real/CompleteSpace.lean,Mathlib/Data/DigitExpansion/Real/ConditionallyComplete.lean,docs/references.bib 10 4 ['github-actions', 'leanprover-community-mathlib4-bot'] nobody
308-79175
10 months ago
308-79175
10 months ago
0-0
0 seconds
17519 grunweg
author:grunweg
feat: the `metrisableSpace` linter Similar to #10235, lint on occurrences of `MetricSpace` which should be `MetrisableSpace`. --- - [ ] depends on: #10235 (for all the details) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter merge-conflict blocked-by-other-PR 155/21 Mathlib.lean,Mathlib/Algebra/MvPolynomial/PDeriv.lean,Mathlib/AlgebraicGeometry/EllipticCurve/NormalForms.lean,Mathlib/Computability/Halting.lean,Mathlib/Computability/TuringMachine.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Data/MLList/Split.lean,Mathlib/GroupTheory/Perm/DomMulAct.lean,Mathlib/Logic/Basic.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/MeasureTheory/Covering/VitaliFamily.lean,Mathlib/MeasureTheory/Measure/Doubling.lean,Mathlib/NumberTheory/JacobiSum/Basic.lean,Mathlib/Order/Heyting/Regular.lean,Mathlib/Tactic.lean,Mathlib/Tactic/FunProp/RefinedDiscrTree.lean,Mathlib/Tactic/Linter/UnusedAssumptionInType.lean,Mathlib/Util/Superscript.lean,scripts/noshake.json 19 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'urkud'] nobody
308-15689
10 months ago
317-16163
10 months ago*
317-16137
317 days*
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/) t-data new-contributor merge-conflict awaiting-author blocked-by-other-PR 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
304-43691
10 months ago
304-43691
10 months ago
6-8380
6 days
13514 madvorak
author:madvorak
feat(Computability/ContextFreeGrammar): closure under union - [ ] depends on: #15895 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability merge-conflict blocked-by-other-PR 448/4 Mathlib/Computability/ContextFreeGrammar.lean 1 50 ['Rida-Hamadani', 'YaelDillies', 'github-actions', 'leanprover-community-mathlib4-bot', 'madvorak'] nobody
291-55019
9 months ago
291-55019
9 months ago
72-28392
72 days
17518 grunweg
author:grunweg
feat: lint on declarations mentioning `Invertible` or `Unique` Using the same infrastructure as for #10235. Depends on that PR to land first, and also (for the first lint) a zulip discussion if that change is desired/about the best way to enact it. --- - [ ] depends on: #10235 awaiting-zulip t-linter merge-conflict blocked-by-other-PR 149/7 Mathlib.lean,Mathlib/Algebra/MvPolynomial/PDeriv.lean,Mathlib/Computability/Halting.lean,Mathlib/Computability/TuringMachine.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/GroupTheory/Perm/DomMulAct.lean,Mathlib/Logic/Basic.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/NumberTheory/JacobiSum/Basic.lean,Mathlib/Order/Heyting/Regular.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/FundamentalTheorem.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/UnusedAssumptionInType.lean 13 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mergify'] nobody
291-27752
9 months ago
317-16274
10 months ago*
0-0
0 seconds*
16428 FR-vdash-bot
author:FR-vdash-bot
test use `QuotLike` APIs --- - [ ] depends on: #16421 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict blocked-by-other-PR 1501/564 Mathlib.lean,Mathlib/Algebra/Associated/Basic.lean,Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Order/CauSeq/Completion.lean,Mathlib/Algebra/Quandle.lean,Mathlib/CategoryTheory/IsomorphismClasses.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean,Mathlib/CategoryTheory/Skeletal.lean,Mathlib/Data/Finmap.lean,Mathlib/Data/Fintype/Quotient.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/Multiset/Functor.lean,Mathlib/Data/QPF/Multivariate/Constructions/Fix.lean,Mathlib/Data/QPF/Univariate/Basic.lean,Mathlib/Data/Quot.lean,Mathlib/Data/QuotLike.lean,Mathlib/Data/Real/Basic.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/GroupTheory/Coset/Basic.lean,Mathlib/GroupTheory/Coset/Defs.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/ConjAct.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/GroupTheory/Subgroup/Center.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/LinearAlgebra/Quotient/Defs.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Logic/Relation.lean,Mathlib/Order/RelIso/Basic.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Finite.lean,Mathlib/SetTheory/Game/Basic.lean,Mathlib/SetTheory/Lists.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/Topology/Inseparable.lean,test/QuotLike.lean 43 2 ['github-actions', 'leanprover-community-mathlib4-bot'] nobody
289-42831
9 months ago
289-42831
9 months ago
0-0
0 seconds
18716 jjaassoonn
author:jjaassoonn
feat(Algebra/Module/GradedModule): quotient and subgrading - [ ] depends on: #9820 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-CI merge-conflict blocked-by-other-PR WIP
label:t-algebra$
997/191 Counterexamples/HomogeneousPrimeNotPrime.lean,Mathlib.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Module/GradedModule/Basic.lean,Mathlib/Algebra/Module/GradedModule/QuotientGrading.lean,Mathlib/Algebra/Module/GradedModule/Subgrading.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Submodule.lean,Mathlib/RingTheory/GradedAlgebra/Quotient.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean,scripts/no_lints_prime_decls.txt 12 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
285-27719
9 months ago
285-27719
9 months ago
0-0
0 seconds
18784 erdOne
author:erdOne
feat(AlgebraicGeometry) use `addMorphismPropertyInstances` --- - [ ] depends on: #18785 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry merge-conflict blocked-by-other-PR 435/91 Mathlib.lean,Mathlib/AlgebraicGeometry/Cover/Open.lean,Mathlib/AlgebraicGeometry/Morphisms/Affine.lean,Mathlib/AlgebraicGeometry/Morphisms/ClosedImmersion.lean,Mathlib/AlgebraicGeometry/Morphisms/FinitePresentation.lean,Mathlib/AlgebraicGeometry/Morphisms/FiniteType.lean,Mathlib/AlgebraicGeometry/Morphisms/OpenImmersion.lean,Mathlib/AlgebraicGeometry/Morphisms/Proper.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiCompact.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiSeparated.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/AlgebraicGeometry/Morphisms/Smooth.lean,Mathlib/AlgebraicGeometry/Morphisms/UniversallyClosed.lean,Mathlib/AlgebraicGeometry/Restrict.lean,Mathlib/CategoryTheory/MorphismProperty/Composition.lean,Mathlib/CategoryTheory/MorphismProperty/Limits.lean,Mathlib/CategoryTheory/MorphismProperty/Tactic.lean,MathlibTest/AddMorphismPropertyInstances.lean 18 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
284-53140
9 months ago
284-53140
9 months ago
0-1869
31 minutes
16014 vihdzp
author:vihdzp
feat(SetTheory/Ordinal/Principal): even more lemmas on additively principal ordinals --- These are useful for my work on Cantor normal forms. - [ ] depends on: #15989 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory t-logic merge-conflict blocked-by-other-PR 99/60 Mathlib/SetTheory/Ordinal/Exponential.lean,Mathlib/SetTheory/Ordinal/Principal.lean 2 2 ['github-actions', 'leanprover-community-mathlib4-bot'] nobody
281-51182
9 months ago
281-51182
9 months ago
0-664
11 minutes
18805 FR-vdash-bot
author:FR-vdash-bot
refactor: deprecate `SemilinearMapClass` --- I'm not sure if we want to do this, but let's see if we can get a speed up from it first. - [ ] depends on: #18755 - [ ] depends on: #18756 - [ ] depends on: #18806 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-bench t-algebra merge-conflict blocked-by-other-PR WIP
label:t-algebra$
546/318 Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Algebra/Rat.lean,Mathlib/Algebra/BigOperators/Balance.lean,Mathlib/Algebra/BigOperators/Expect.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Group/Equiv/Basic.lean,Mathlib/Algebra/Group/Units/Equiv.lean,Mathlib/Algebra/GroupWithZero/Hom.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Module/LinearMap/Rat.lean,Mathlib/Algebra/Module/LocalizedModule/Int.lean,Mathlib/Algebra/Module/Submodule/EqLocus.lean,Mathlib/Algebra/Module/Submodule/Equiv.lean,Mathlib/Algebra/Module/Submodule/Ker.lean,Mathlib/Algebra/Module/Submodule/Map.lean,Mathlib/Algebra/Module/Submodule/Range.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Prime/Lemmas.lean,Mathlib/Algebra/Ring/Divisibility/Basic.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/LocallyConvex/WeakOperatorTopology.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Group/Uniform.lean,Mathlib/Analysis/Normed/Operator/LinearIsometry.lean,Mathlib/CategoryTheory/Limits/ConcreteCategory/WithAlgebraicStructures.lean,Mathlib/Combinatorics/Additive/FreimanHom.lean,Mathlib/Data/Complex/BigOperators.lean,Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,Mathlib/FieldTheory/SplittingField/Construction.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/GroupTheory/GroupAction/Hom.lean,Mathlib/LinearAlgebra/Ray.lean,Mathlib/LinearAlgebra/Span.lean,Mathlib/RingTheory/Bialgebra/Equiv.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/HahnSeries/Addition.lean,Mathlib/RingTheory/Ideal/Norm.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/RingTheory/Polynomial/Opposites.lean,Mathlib/RingTheory/RootsOfUnity/Basic.lean,Mathlib/Topology/Algebra/InfiniteSum/Basic.lean,Mathlib/Topology/Algebra/Module/Basic.lean,Mathlib/Topology/Algebra/Module/CharacterSpace.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean,Mathlib/Topology/Algebra/MulAction.lean,Mathlib/Topology/Homeomorph.lean,Mathlib/Topology/MetricSpace/Isometry.lean,scripts/no_lints_prime_decls.txt 55 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
280-41640
9 months ago
280-41640
9 months ago
0-0
0 seconds
17593 FR-vdash-bot
author:FR-vdash-bot
chore(Algebra/Order/GroupWithZero/Unbundled): deprecate useless lemmas, use `ZeroLEOneClass` There are still some useless lemmas that were simply ported from `Algebra.Order.Monoid.Lemmas`, such as just chain an existing lemma with an assumption and lemmas whose assumptions imply `1 ≤ 0`. This PR removes them. Also, some lemmas have both assumptions like `1 < a` `0 < a`. This PR uses `ZeroLEOneClass` to remove redundant assumptions. --- - [ ] depends on: #17623 Ported from https://github.com/leanprover-community/mathlib/pull/16525 and https://github.com/leanprover-community/mathlib/pull/18158 Adapted from #9250. This version is easier to review. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order t-algebra merge-conflict blocked-by-other-PR
label:t-algebra$
188/48 Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Counting.lean,Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean,Mathlib/Topology/Algebra/Order/Field.lean 6 n/a ['FR-vdash-bot', 'github-actions', 'mathlib4-dependent-issues-bot', 'vihdzp'] nobody
273-47283
9 months ago
unknown
unknown
17624 FR-vdash-bot
author:FR-vdash-bot
feat(Algebra/Order/GroupWithZero/Unbundled): generalize lemmas --- - [ ] depends on: #17623 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order t-algebra merge-conflict blocked-by-other-PR
label:t-algebra$
121/26 Mathlib/Algebra/Order/GroupWithZero/Unbundled.lean 1 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
269-84455
8 months ago
269-84455
8 months ago
0-465
7 minutes
17515 FR-vdash-bot
author:FR-vdash-bot
perf: do not need `simp low` now --- - [ ] depends on: #17513 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict blocked-by-other-PR
label:t-algebra$
12/10 Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Analysis/SpecialFunctions/Bernstein.lean,Mathlib/GroupTheory/GroupAction/Hom.lean,Mathlib/NumberTheory/LucasLehmer.lean 4 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
268-43476
8 months ago
268-43476
8 months ago
0-380
6 minutes
16210 FR-vdash-bot
author:FR-vdash-bot
Clean up quotient APIs ~~We may migrate to `Quot` and `IsEquiv` APIs in the future, but it might be a good start to clean up `Quotient` APIs anyway.~~ The diffs in this PR did not include `QuotLike` APIs, but eventually I decided to migrate to `QuotLike` before deprecating some old APIs. This is because some lemmas don't have alternatives that don't use `· ≈ ·`, and the alternatives that use `· ≈ ·` are in the core. See [Zulip](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/.60.28.C2.B7.20.E2.89.88.20.C2.B7.29.60.20in.20.60Quotient.60.20APIs/near/466970386). --- - [x] depends on: #16254 - [x] depends on: #16256 - [x] depends on: #16258 - [x] depends on: #16260 - [x] depends on: #16264 - [x] depends on: #16267 - [ ] depends on: #16314 - [x] depends on: #16410 - [x] depends on: #17588 - [x] depends on: #17594 - [x] depends on: #17940 - [ ] depends on: #17941 --- `QuotLike` - [ ] depends on: #16421 - [ ] depends on: #16428 --- [remaining diffs](https://github.com/leanprover-community/mathlib4/compare/FR_quot_now..FR_quot) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data tech debt merge-conflict blocked-by-other-PR 1015/1114 Counterexamples/CliffordAlgebraNotInjective.lean,Mathlib/Algebra/Associated/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset.lean,Mathlib/Algebra/CharZero/Quotient.lean,Mathlib/Algebra/DirectLimit.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Lie/Free.lean,Mathlib/Algebra/Lie/Quotient.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/Module/Zlattice/Basic.lean,Mathlib/Algebra/Order/CauSeq/Completion.lean,Mathlib/Algebra/Periodic.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean,Mathlib/Analysis/Normed/Group/Quotient.lean,Mathlib/Analysis/Normed/Group/SemiNormedGrp/Kernels.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/CategoryTheory/ConnectedComponents.lean,Mathlib/CategoryTheory/Limits/Shapes/SingleObj.lean,Mathlib/CategoryTheory/Limits/Types.lean,Mathlib/CategoryTheory/Skeletal.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Subobject/FactorThru.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/Combinatorics/Quiver/ConnectedComponent.lean,Mathlib/Combinatorics/SimpleGraph/Path.lean,Mathlib/Computability/Reduce.lean,Mathlib/Computability/TuringMachine.lean,Mathlib/Data/Countable/Defs.lean,Mathlib/Data/FinEnum.lean,Mathlib/Data/Finite/Basic.lean,Mathlib/Data/Fintype/Basic.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Data/Fintype/Quotient.lean,Mathlib/Data/List/Cycle.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/Data/Setoid/Partition.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,Mathlib/FieldTheory/PerfectClosure.lean,Mathlib/FieldTheory/SplittingField/Construction.lean,Mathlib/GroupTheory/Abelianization.lean,Mathlib/GroupTheory/Commensurable.lean,Mathlib/GroupTheory/CommutingProbability.lean,Mathlib/GroupTheory/Complement.lean,Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/GroupTheory/Coprod/Basic.lean,Mathlib/GroupTheory/Coset/Basic.lean,Mathlib/GroupTheory/DoubleCoset.lean,Mathlib/GroupTheory/FreeAbelianGroup.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/ConjAct.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/PGroup.lean,Mathlib/GroupTheory/Perm/Cycle/Concrete.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/GroupTheory/SchurZassenhaus.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/GroupTheory/Transfer.lean,Mathlib/LinearAlgebra/Alternating/DomCoprod.lean,Mathlib/LinearAlgebra/Dimension/Constructions.lean,Mathlib/LinearAlgebra/InvariantBasisNumber.lean,Mathlib/LinearAlgebra/Isomorphisms.lean,Mathlib/LinearAlgebra/Projectivization/Basic.lean,Mathlib/LinearAlgebra/Quotient.lean,Mathlib/LinearAlgebra/QuotientPi.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/MeasureTheory/Constructions/Polish/Basic.lean,Mathlib/MeasureTheory/Function/AEEqFun.lean,Mathlib/MeasureTheory/Group/FundamentalDomain.lean,Mathlib/MeasureTheory/MeasurableSpace/Basic.lean,Mathlib/MeasureTheory/Measure/Haar/Quotient.lean,Mathlib/ModelTheory/DirectLimit.lean,Mathlib/ModelTheory/Fraisse.lean,Mathlib/ModelTheory/Ultraproducts.lean,Mathlib/NumberTheory/NumberField/Embeddings.lean,Mathlib/NumberTheory/NumberField/Units/DirichletTheorem.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/RamificationInertia.lean,Mathlib/Order/Antisymmetrization.lean,Mathlib/Order/Category/PartOrd.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/Order/Partition/Finpartition.lean,Mathlib/Order/RelIso/Basic.lean,Mathlib/RepresentationTheory/GroupCohomology/Hilbert90.lean,Mathlib/RingTheory/AdicCompletion/Algebra.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/Functoriality.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Congruence/Basic.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean 134 6 ['FR-vdash-bot', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] nobody
264-31940
8 months ago
352-21021
11 months ago
0-0
0 seconds
19414 vihdzp
author:vihdzp
feat: Nesbitt's inequality We prove [Nesbitt's inequality](https://en.wikipedia.org/wiki/Nesbitt%27s_inequality) `3 / 2 ≤ a / (b + c) + b / (c + a) + c / (b + a)` for a linearly ordered semifield, by reduction to the AM-HM inequality. --- - [ ] depends on: #19415 - [ ] depends on: #19420 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra merge-conflict awaiting-author blocked-by-other-PR WIP
label:t-algebra$
192/142 Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finsupp.lean,Mathlib/Algebra/Order/Antidiag/Pi.lean,Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean,Mathlib/Algebra/Order/Field/Defs.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Combinatorics/Enumerative/Catalan.lean,Mathlib/Data/Fin/Tuple/NatAntidiagonal.lean,Mathlib/Data/Fin/Tuple/Reflection.lean,Mathlib/Data/Fintype/BigOperators.lean 10 8 ['YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'vihdzp'] nobody
261-80200
8 months ago
261-80200
8 months ago
0-481
8 minutes
18876 GabinKolly
author:GabinKolly
feat(ModelTheory/Fraisse): add proof that Fraïssé limits exist Fraïssé limits exist. --- All the preparatory work done in other files is contained in the pull request #18749, this pull request adds the work done in ModelTheory/Fraisse, the definition of the sequence of structures whose limit will be the Fraïssé limit, lemmas about this sequence, and then the proof that the limit is indeed a Fraïssé limit. - [ ] depends on: #18749 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic blocked-by-other-PR 666/5 Mathlib/ModelTheory/Bundled.lean,Mathlib/ModelTheory/DirectLimit.lean,Mathlib/ModelTheory/FinitelyGenerated.lean,Mathlib/ModelTheory/Fraisse.lean,Mathlib/ModelTheory/PartialEquiv.lean,Mathlib/ModelTheory/Substructures.lean 6 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
256-45515
8 months ago
282-35485
9 months ago
0-37
37 seconds
19281 Vierkantor
author:Vierkantor
chore(Algebra/{MonoidAlgebra,Polynomial}): algebra structure in `Basic.lean` [As discussed in PR 19205](https://github.com/leanprover-community/mathlib4/pull/19205#discussion_r1848539148) the Algebra structure on `Polynomial` and `MonoidAlgebra` is very fundamental and shouldn't be hidden away. So let's refactor the import hierarchy to make them available in `Basic.lean`. In addition to #19097, this moves the algebra structure on polynomials into `Algebra/Polynomial/Basic.lean` (which will import the other important instances on polynomials), and moves the algebra structure on `MonoidAlgebra`s into `Algebra/MonoidAlgebra/Basic.lean` (moving most of the existing results in that file into `Lemmas.lean`). --- - [ ] depends on: #19097 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict blocked-by-other-PR
label:t-algebra$
3506/2792 Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean,Mathlib.lean,Mathlib/Algebra/BigOperators/Finsupp.lean,Mathlib/Algebra/FreeAlgebra.lean,Mathlib/Algebra/FreeNonUnitalNonAssocAlgebra.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MonoidAlgebra/Division.lean,Mathlib/Algebra/MonoidAlgebra/Lemmas.lean,Mathlib/Algebra/MonoidAlgebra/Lift.lean,Mathlib/Algebra/MonoidAlgebra/MapDomain.lean,Mathlib/Algebra/MonoidAlgebra/Module.lean,Mathlib/Algebra/MonoidAlgebra/Opposite.lean,Mathlib/Algebra/MonoidAlgebra/Support.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Cardinal.lean,Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/Algebra/Polynomial/Defs.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Degree/TrailingDegree.lean,Mathlib/Algebra/Polynomial/EraseUpdate.lean,Mathlib/Algebra/Polynomial/Eval/Defs.lean,Mathlib/Algebra/Polynomial/Eval/Degree.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/Algebra/Polynomial/Module.lean,Mathlib/Algebra/Polynomial/Monomial.lean,Mathlib/Algebra/Polynomial/Sum.lean,Mathlib/Algebra/Polynomial/Taylor.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Finsupp/Ext.lean,Mathlib/Data/Finsupp/Fintype.lean,Mathlib/Data/Finsupp/Indicator.lean,Mathlib/Data/Finsupp/Notation.lean,Mathlib/Data/Finsupp/Pointwise.lean,Mathlib/Data/Finsupp/SMulWithZero.lean,Mathlib/Data/Finsupp/Single.lean,Mathlib/Data/List/ToFinsupp.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Eigs.lean,Mathlib/RepresentationTheory/Maschke.lean,Mathlib/RingTheory/FiniteType.lean,Mathlib/RingTheory/KrullDimension/Basic.lean,Mathlib/RingTheory/MvPolynomial/Basic.lean,Mathlib/RingTheory/Polynomial/Opposites.lean,Mathlib/RingTheory/Polynomial/Wronskian.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/Tactic/ExtractGoal.lean,MathlibTest/Polynomial.lean,MathlibTest/instance_diamonds.lean,scripts/noshake.json 52 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
253-45645
8 months ago
263-22775
8 months ago
0-0
0 seconds
16391 vihdzp
author:vihdzp
feat(SetTheory/Ordinal/NaturalOps): characterization of natural operations in base `ω` This essentially gives us a characterization of natural addition and multiplication in terms of the base `ω` Cantor normal form. --- - [ ] depends on: #15989 - [ ] depends on: #15991 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic merge-conflict blocked-by-other-PR 362/68 Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/CantorNormalForm.lean,Mathlib/SetTheory/Ordinal/Exponential.lean,Mathlib/SetTheory/Ordinal/NaturalOps.lean,Mathlib/SetTheory/Ordinal/Principal.lean 5 2 ['github-actions', 'leanprover-community-mathlib4-bot'] nobody
251-31854
8 months ago
342-49831
11 months ago
0-106
1 minute
19621 Command-Master
author:Command-Master
feat: Multiplicity and prime-adic valuation of derivations --- - [ ] depends on: #19596 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra merge-conflict blocked-by-other-PR
label:t-algebra$
397/13 Mathlib.lean,Mathlib/Algebra/Order/AddGroupWithTop.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/Order/WithBot.lean,Mathlib/RingTheory/Derivation/Multiplicity.lean,Mathlib/RingTheory/DiscreteValuationRing/Basic.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/PrimeMultiplicity.lean 9 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
243-42343
8 months ago
243-42343
8 months ago
0-666
11 minutes
18262 joelriou
author:joelriou
feat(Algebra/Category/ModuleCat/Presheaf): exterior powers of presheaves of modules --- - [x] depends on: #18261 - [ ] depends on: #18236 - [ ] depends on: #18197 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-category-theory merge-conflict blocked-by-other-PR WIP
label:t-algebra$
874/0 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/ExteriorPower.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/ExteriorPower.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/FunctorOfNatTrans.lean,Mathlib/Algebra/Category/ModuleCat/Pseudofunctor.lean 6 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
243-33638
8 months ago
279-13703
9 months ago
0-0
0 seconds
11156 smorel394
author:smorel394
feat(LinearAlgebra/{TensorProductBasis,Dual}): basis and dual of `PiTensorProduct` Construct a basis of a `PiTensorProduct` of modules given bases of the modules, and relationship between the dual of a `PiTensorProduct` and the `PiTensorProduct` of the duals. Main results: * `Basis.piTensorProduct` (in `LinearAlgebra/TensorProductBasis.lean`): Let `ι` be a `Fintype` and `M` be a family of modules indexed by `ι`. If `b i : κ i → M i` is a basis for every `i` in `ι`, then `fun (p : Π i, κ i) ↦ ⨂ₜ[R] i, b i (p i)` is a basis of `⨂[R] i, M i`. * `PiTensorProduct.dualDistrib` (in `LinearAlgebra/Dual.lean`): The canonical linear map from `⨂[R] i, Dual R (M i)` to `Dual R (⨂[R] i, M i)`, sending `⨂ₜ[R] i, f i` to the composition of `PiTensorProduct.map f` with the linear equivalence `⨂[R] i, R →ₗ R` given by multiplication. * `PiTensorProduct.dualDistribEquiv` (also in `LinearAlgebra/Dual.lean`): A linear equivalence between `⨂[R] i, Dual R (M i)` and `Dual R (⨂[R] i, M i)` when all `M i` are finite free modules. If `f : (i : ι) → Dual R (M i)`, then this equivalence sends `⨂ₜ[R] i, f i` to the composition of `PiTensorProduct.map f` with the natural isomorphism `⨂[R] i, R ≃ R` given by multiplication. - [ ] depends on: #11155 (currently used as the base branch; do not merge without switching it back to `master`!) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-algebra merge-conflict please-adopt blocked-by-other-PR
label:t-algebra$
166/2 Mathlib/LinearAlgebra/DirectSum/Finsupp.lean,Mathlib/LinearAlgebra/Dual.lean,Mathlib/LinearAlgebra/TensorProduct/Basis.lean 3 4 ['eric-wieser', 'github-actions', 'leanprover-community-mathlib4-bot'] nobody
233-41768
7 months ago
278-57396
9 months ago
0-0
0 seconds
15269 kkytola
author:kkytola
feat: Add ENNReal.floor A right-continuous floor function on `ENNReal`. --- - [x] depends on: #13938 - [ ] depends on: #15773 (general type class for `ENat`-valued floor functions) - [x] depends on: #15380 (topology on `ENat` is needed to state right continuity of the floor function) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order t-algebra merge-conflict awaiting-author blocked-by-other-PR
label:t-algebra$
445/0 Mathlib.lean,Mathlib/Algebra/Order/EFloor.lean,Mathlib/Data/ENNReal/Floor.lean,Mathlib/Data/Nat/Lattice.lean 4 18 ['YaelDillies', 'github-actions', 'kkytola', 'leanprover-community-mathlib4-bot', 'urkud'] nobody
230-14572
7 months ago
230-14572
7 months ago
0-3440
57 minutes
17471 joelriou
author:joelriou
feat(Algebra/ModuleCat/Differentials/Sheaf): the sheaf of relative differentials --- - [ ] depends on: #17366 - [x] depends on: #17388 - [x] depends on: #16755 - [ ] depends on: #17469 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebraic-geometry t-category-theory merge-conflict blocked-by-other-PR WIP 740/10 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Differentials/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/Differentials/Sheaf.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pullback.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/Ring/Hom/Defs.lean,Mathlib/AlgebraicGeometry/Modules/Differentials.lean,Mathlib/Geometry/RingedSpace/SheafedSpace.lean 9 n/a ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
221-28989
7 months ago
unknown
unknown
19462 joelriou
author:joelriou
feat(AlgebraicGeometry): étale sheafification After #19096 and #18945 are merged, if `S : Scheme.{u}`, we shall get instances like `HasSheafify (smallEtaleTopology S) (Type (u + 1))` which means that in order to sheafify preshaves over the small étale site of `S`, we need to assume a certain bump in the universe in the target category. With the main result in this PR (there are still a few sorries), we shall get `HasSheafify (smallEtaleTopology S) (Type u)`. Then, in the subsequent development of étale formalism, we can work in `Type u` (or `Ab.{u}`, etc). --- This is a draft. - [ ] depends on: #19444 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry merge-conflict blocked-by-other-PR WIP 1336/2 Mathlib.lean,Mathlib/AlgebraicGeometry/Sites/EtaleSheafification.lean,Mathlib/CategoryTheory/Sites/Continuous.lean,Mathlib/CategoryTheory/Sites/DenseSubsite.lean,Mathlib/CategoryTheory/Sites/LocallyFullyFaithful.lean,Mathlib/CategoryTheory/Sites/OneHypercover.lean,Mathlib/CategoryTheory/Sites/OneHypercoverDense.lean,Mathlib/CategoryTheory/Sites/Sieves.lean 8 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
219-41447
7 months ago
266-49584
8 months ago
0-200
3 minutes
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 new-contributor t-combinatorics merge-conflict blocked-by-other-PR 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', 'leanprover-community-mathlib4-bot'] YaelDillies
assignee:YaelDillies
216-44035
7 months ago
216-44035
7 months ago
0-1791
29 minutes
14412 jjaassoonn
author:jjaassoonn
feat: show stalk of presheaf of modules is a module over stalk of ring --- - [x] depends on: #14413 - [ ] depends on: #14501 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) workshop-AIM-AG-2024 t-algebraic-geometry merge-conflict blocked-by-other-PR 966/2 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/OverColimitsRing'.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/OverColimitsRing.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/CategoryTheory/Limits/ConcreteCategory.lean,Mathlib/Geometry/RingedSpace/Basic.lean,Mathlib/Geometry/RingedSpace/Module.lean,Mathlib/Topology/Sheaves/Stalks.lean 8 5 ['github-actions', 'jjaassoonn', 'leanprover-community-mathlib4-bot', 'smorel394'] nobody
214-28537
7 months ago
370-52157
1 year ago
0-0
0 seconds
12670 trivial1711
author:trivial1711
feat: completion of a nonarchimedean multiplicative group We prove that the completion of a nonarchimedean multiplicative group is a nonarchimedean multiplicative group. --- - [x] depends on: #12669 - [ ] depends on: #11837 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-topology merge-conflict blocked-by-other-PR
label:t-algebra$
358/228 Mathlib/Analysis/InnerProductSpace/Completion.lean,Mathlib/Analysis/Normed/Group/HomCompletion.lean,Mathlib/Analysis/Normed/Module/Completion.lean,Mathlib/Topology/Algebra/GroupCompletion.lean,Mathlib/Topology/Algebra/InfiniteSum/GroupCompletion.lean,Mathlib/Topology/Algebra/Nonarchimedean/Completion.lean,Mathlib/Topology/Algebra/UniformField.lean,Mathlib/Topology/Algebra/UniformMulAction.lean,Mathlib/Topology/Algebra/UniformRing.lean 9 n/a ['github-actions', 'leanprover-community-mathlib4-bot'] nobody
202-16936
6 months ago
unknown
unknown
21277 GabinKolly
author:GabinKolly
feat(ModelTheory/PartialEquiv): Define the mapping of a self-partialEquiv through an embedding Define the mapping of a self-partialEquiv through an embedding and the notion of fully extendable partialEquiv. --- This is some preparatory work for #18876 - [ ] depends on: #21276 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic blocked-by-other-PR 215/5 Mathlib/ModelTheory/PartialEquiv.lean,Mathlib/ModelTheory/Substructures.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
202-13983
6 months ago
202-13985
6 months ago
0-668
11 minutes
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/) large-import new-contributor t-topology merge-conflict awaiting-author blocked-by-other-PR 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
192-6271
6 months ago
192-6271
6 months ago
39-21495
39 days
20956 tomaz1502
author:tomaz1502
feat(Computability/QueryComplexity/Sort.lean): Formalization of upper bound of queries for merge sort This PR builds on top of #20924 to prove that merge sort (as defined in Lean's library) never executes more than `3 * n * ceil_log2 n` comparisons, where `n` is the size of the input list and `ceil_log2` is the ceil of the logarithm in base 2, which is defined in this PR. Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2318629.20runtime.20complexity.20of.20sorting.20a.20list - [ ] depends on: #20924 Co-authored-by: Geoffrey Irving --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability blocked-by-other-PR 676/0 Mathlib.lean,Mathlib/Computability/QueryComplexity/Basic.lean,Mathlib/Computability/QueryComplexity/Defs.lean,Mathlib/Computability/QueryComplexity/Sort.lean 4 3 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
181-19059
6 months ago
210-32572
6 months ago
0-41
41 seconds
22233 pechersky
author:pechersky
feat(Algebra/Valued): `AdicExpansion.evalAt` --- - [ ] depends on: #22231 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology blocked-by-other-PR 488/0 Mathlib.lean,Mathlib/Topology/Algebra/Valued/AdicExpansion.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
177-80157
5 months ago
177-80159
5 months ago
0-412
6 minutes
22232 pechersky
author:pechersky
feat(Algebra/Valued): `AdicExpansion.apprUpto` --- - [ ] depends on: #22231 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology blocked-by-other-PR 399/0 Mathlib.lean,Mathlib/Topology/Algebra/Valued/AdicExpansion.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
177-80155
5 months ago
177-80158
5 months ago
0-414
6 minutes
19372 Command-Master
author:Command-Master
find defeq abuse using diagnostics --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #19177 large-import merge-conflict blocked-by-other-PR 169/1 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/FindDefEqAbuse.lean,MathlibTest/FindDefEqAbuse.lean,lakefile.lean 6 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
170-49589
5 months ago
170-49589
5 months ago
0-0
0 seconds
14060 YnirPaz
author:YnirPaz
feat(SetTheory/Ordinal/Clubs): define club sets and prove basic properties Create a file where club sets are defined and their basic properties are proven. I also created a new recursion principle for ordinals, bounded recursion. --- - [ ] depends on: #19189 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-logic merge-conflict blocked-by-other-PR 315/3 Mathlib.lean,Mathlib/Order/SuccPred/Limit.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Club.lean,Mathlib/SetTheory/Ordinal/Topology.lean 6 93 ['YaelDillies', 'YnirPaz', 'alreadydone', 'dupuisf', 'github-actions', 'mathlib4-dependent-issues-bot', 'vihdzp', 'zeramorphic'] nobody
169-77792
5 months ago
169-77792
5 months ago
92-44198
92 days
17105 vihdzp
author:vihdzp
feat(Data/List/RunLength): run-length encoding We define the run-length encoding of a list. We provide a basic API, as well as a recursion principle. --- - [ ] depends on: #16837 - [x] depends on: #17106 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict blocked-by-other-PR 286/1 Mathlib/Data/List/Flatten.lean,Mathlib/Data/List/RunLength.lean,Mathlib/Data/List/SplitBy.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
169-77545
5 months ago
169-77545
5 months ago
0-0
0 seconds
16000 YaelDillies
author:YaelDillies
feat: Croot-Sisask Almost Periodicity Almost periodicity is nowadays a standard tool in additive combinatorics. From LeanAPAP --- - [ ] depends on: #15443 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis t-combinatorics blocked-by-other-PR 0/0 0 4 ['github-actions', 'leanprover-community-mathlib4-bot', 'mergify'] nobody
168-51379
5 months ago
168-51384
5 months ago
0-159
2 minutes
22340 sinhp
author:sinhp
feat(CategoryTheory): Locally Cartesian Closed Categories (Beck-Chevalley Conditions) Building on top of the API of `ExponentiableMorphism` in #22321, we state and prove Beck-Chevalley conditions. This will be crucial for our development of polynomial functors along exponentiable morphisms. Co-authored-by: Emily Riehl --- - [ ] depends on: #22321 - [ ] depends on: #22319 - [ ] depends on: #21525 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-category-theory merge-conflict blocked-by-other-PR WIP 1144/24 Mathlib.lean,Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/Comma/Over/Pullback.lean,Mathlib/CategoryTheory/Comma/Over/Sections.lean,Mathlib/CategoryTheory/Galois/Examples.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/Basic.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/BeckChevalley.lean,docs/references.bib 8 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
168-38640
5 months ago
168-38640
5 months ago
0-17
17 seconds
21275 joneugster
author:joneugster
feat(Cache): decompress downloaded files directly Extract downloaded files directly. This increases parallelism as files are downloaded in parallel and downloading/decompressing use different hardware (network/cpu) --- - [ ] depends on: #21238 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI t-meta merge-conflict blocked-by-other-PR WIP 66/15 Cache/IO.lean,Cache/Lean.lean,Cache/Requests.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
166-53236
5 months ago
166-53236
5 months ago
0-0
0 seconds
20410 vihdzp
author:vihdzp
refactor: redefine `Equiv.Set.sumCompl = Equiv.sumCompl` It's still useful to have `Equiv.Set.sumCompl` around, as `simp` can't otherwise see through the def-eq `{x // x ∈ s} ⊕ {x // ¬ x ∈ s} = s ⊕ sᶜ`. --- - [ ] depends on: #20850 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data awaiting-CI merge-conflict blocked-by-other-PR WIP 33/21 Mathlib/Logic/Equiv/Basic.lean,Mathlib/Logic/Equiv/Fintype.lean,Mathlib/Logic/Equiv/Set.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
153-72717
5 months ago
153-72717
5 months ago
0-0
0 seconds
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/) infinity-cosmos t-category-theory merge-conflict blocked-by-other-PR 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
152-25695
4 months ago
152-25695
4 months ago
0-806
13 minutes
20222 eric-wieser
author:eric-wieser
feat: generalize lemmas about derivatives Rather than creating a huge diff by shuffling things around, this generalizes everything in-place and swaps between `section`s for topological and normed vector spaces. The rationale for this approach is that: * we may further generalize the results of this file, and this avoids us jumbling up the order multiple times unnecessarily. * this greatly reduces the chance of merge conflicts --- - [ ] depends on: #21065 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict blocked-by-other-PR 554/50 Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,MathlibTest/Recall.lean 3 8 ['adomani', 'eric-wieser', 'github-actions', 'leanprover-bot', 'mathlib4-dependent-issues-bot'] nobody
142-58140
4 months ago
142-58140
4 months ago
16-16341
16 days
21769 JovanGerb
author:JovanGerb
feat: extensible `push_neg` tactic This was started by point (3) of https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Possible.20improvements.20to.20Lean.2FMathlib/near/499085779 To be able to use `push_neg` more generally, this PR reimplements the tactic so that it is extensible. So, users can tag lemmas to be used by `push_neg`. This PR tags lemmas concerning empty/nonempty, subsingleton/nontrivial, and finite/infinite to be used in `push_neg`. Additionally, the tactic is extended to be able to push any constant that you want to push, and `push_neg` is now a macro for `push Not`. So far, I've tried to add lemmas for pushing `Real.log`. I could imagine it could also be used for `Real.exp`, `pow`, `mul`, `smul`, or even `Set.mem`. (the `Set.mem` lemmas are mostly tagged with `@[simp]` already, but `push_mem` could be more readable than `simp` or `dsimp`). Or a combination of pushing `Not` and `Set.compl` could be useful. The implementation is with the `simp` infrastructure, but instead of using post lemmas, like in `simp`, `push` uses `pre` lemmas, so we rewrite each expression before its subterms are rewritten. This is a more efficient way to "push" constants recursively. Most lemmas are added via the `@[push]` attribute, but a few cases require some special handling, so they are implemented "by hand" in a simproc that is tried after the `push` lemmas. For example the simproc simplifies `¬∀ n, p` ⇨ `∃ n, ¬p`, but, this is overridden by the `push` lemma that rewrites `¬(p → q)` ⇨ `p ∧ ¬q` (which doesn't apply at every forall) --- - [ ] depends on: #21965 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-meta merge-conflict blocked-by-other-PR 786/544 Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo2013Q5.lean,Archive/Imo/Imo2024Q3.lean,Archive/ZagierTwoSquares.lean,Counterexamples/Phillips.lean,Mathlib.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/CharP/MixedCharZero.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Pi/Basic.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Lie/Weights/Linear.lean,Mathlib/Algebra/Module/DedekindDomain.lean,Mathlib/Algebra/Order/Antidiag/Nat.lean,Mathlib/Algebra/Order/Archimedean/IndicatorCard.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Ring/Commute.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/AlgebraicTopology/DoldKan/Degeneracies.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/Calculus/FDeriv/Norm.lean,Mathlib/Analysis/Complex/OpenMapping.lean,Mathlib/Analysis/Complex/Polynomial/UnitTrinomial.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/MulExpNegMulSqIntegral.lean,Mathlib/Combinatorics/Enumerative/Composition.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Diam.lean,Mathlib/Combinatorics/SimpleGraph/Path.lean,Mathlib/Combinatorics/SimpleGraph/Turan.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Data/Analysis/Filter.lean,Mathlib/Data/ENat/Lattice.lean,Mathlib/Data/Finite/Defs.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Finset/Empty.lean,Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Finset/SDiff.lean,Mathlib/Data/Fintype/Basic.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Data/Fintype/Prod.lean,Mathlib/Data/Fintype/Sum.lean,Mathlib/Data/Nat/Defs.lean,Mathlib/Data/Nat/Factorization/PrimePow.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Nat/Order/Lemmas.lean,Mathlib/Data/Nat/PrimeFin.lean,Mathlib/Data/Ordmap/Ordset.lean,Mathlib/Data/Real/Archimedean.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/Dynamics/OmegaLimit.lean,Mathlib/FieldTheory/JacobsonNoether.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/GroupTheory/OrderOfElement.lean,Mathlib/GroupTheory/Perm/ClosureSwap.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/GroupTheory/SpecificGroups/ZGroup.lean,Mathlib/InformationTheory/Hamming.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace.lean,Mathlib/LinearAlgebra/Eigenspace/Zero.lean,Mathlib/LinearAlgebra/Matrix/SemiringInverse.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Reflection.lean,Mathlib/Logic/IsEmpty.lean,Mathlib/Logic/Nontrivial/Defs.lean,Mathlib/MeasureTheory/Covering/Differentiation.lean,Mathlib/MeasureTheory/Decomposition/Lebesgue.lean,Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Group/FundamentalDomain.lean,Mathlib/MeasureTheory/Integral/Bochner.lean,Mathlib/MeasureTheory/Integral/Lebesgue.lean,Mathlib/MeasureTheory/Measure/DiracProba.lean,Mathlib/MeasureTheory/Measure/Haar/NormedSpace.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean,Mathlib/MeasureTheory/Measure/OpenPos.lean,Mathlib/MeasureTheory/Measure/Typeclasses.lean,Mathlib/MeasureTheory/OuterMeasure/Basic.lean,Mathlib/MeasureTheory/SetAlgebra.lean,Mathlib/ModelTheory/Ultraproducts.lean,Mathlib/NumberTheory/AbelSummation.lean,Mathlib/NumberTheory/ArithmeticFunction.lean,Mathlib/NumberTheory/Divisors.lean 149 4 ['adomani', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot'] nobody
137-15705
4 months ago
137-15707
4 months ago
5-54179
5 days
22319 sinhp
author:sinhp
feat(CategoryTheory): Locally Cartesian Closed Categories (Sections Right Adjoint) we define the `Over.sections` functor in the file `CategoryTheory.Comma.Over.Sections` and prove that it is a right adjoint to the `Over.star`, thereby solving an existing TODO in `Over.pullback` file. The `sections` functor is used to define the right adjoint to the pullback functor `Over.pullback` in the development of LCCCs. Moreover, the rest of added lemmas and theorems to `CategoryTheory.Comma.Over.Pullback` are crucial for the development of LCCCs in the next PR. --- - [ ] depends on: #21525 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-category-theory merge-conflict blocked-by-other-PR 547/24 Mathlib.lean,Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/Comma/Over/Pullback.lean,Mathlib/CategoryTheory/Comma/Over/Sections.lean,Mathlib/CategoryTheory/Galois/Examples.lean 5 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
133-42855
4 months ago
133-42857
4 months ago
0-2084
34 minutes
22321 sinhp
author:sinhp
feat(CategoryTheory): Locally Cartesian Closed Categories (Definition) This PR defines locally cartesian closed categories in terms of existence of the pushforward functors (right adjoint to the pullback functor) for all morphisms. We develop basic API and prove the following: 1. Existence of the pushforward functors is equivalent to cartesian closed slices. 2. Any locally cartesian closed category with a terminal object is cartesian closed. 3. The slices of a locally cartesian closed category are locally cartesian closed. Some of the content is based on the project of formalization of polynomial functors at the Trimester "Prospect of Formal Mathematics" at the Hausdorff Institute (HIM) in Bonn. https://github.com/sinhp/Poly I found this implementation of locally cartesian closed categories amenable to polynomial functors formalization. Co-authored-by: Emily Riehl --- - [ ] depends on: #21525 - [ ] depends on: #22319 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-category-theory merge-conflict blocked-by-other-PR 812/24 Mathlib.lean,Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/Comma/Over/Pullback.lean,Mathlib/CategoryTheory/Comma/Over/Sections.lean,Mathlib/CategoryTheory/Galois/Examples.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/Basic.lean 6 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
133-42855
4 months ago
133-42856
4 months ago
0-336
5 minutes
19475 YaelDillies
author:YaelDillies
feat: group markings From LeanCamCombi --- - [ ] depends on: #21342 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra blocked-by-other-PR WIP
label:t-algebra$
196/12 Mathlib.lean,Mathlib/Geometry/Group/Marking.lean,Mathlib/Topology/Algebra/ConstMulAction.lean,Mathlib/Topology/Algebra/Group/Quotient.lean 4 12 ['YaelDillies', 'b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
131-64386
4 months ago
131-64405
4 months ago
22-16818
22 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/) t-measure-probability please-adopt blocked-by-other-PR WIP 110/0 Counterexamples.lean,Counterexamples/LIntegralZero.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
129-18201
4 months ago
129-18203
4 months ago
0-22
22 seconds
23966 FR-vdash-bot
author:FR-vdash-bot
refactor: unbundle algebra from `{Seminormed, Normed}(Add)(Comm)Group` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #23621 - [ ] depends on: #23961 slow-typeclass-synthesis t-algebra t-analysis merge-conflict blocked-by-other-PR
label:t-algebra$
3233/2752 Archive/Imo/Imo1998Q2.lean,Counterexamples/LinearOrderWithPosMulPosEqZero.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Algebra/Order/Field/Canonical.lean,Mathlib/Algebra/Order/Field/Rat.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Nonneg/Field.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/CPolynomial.lean,Mathlib/Analysis/Analytic/CPolynomialDef.lean,Mathlib/Analysis/Analytic/ChangeOrigin.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/Analytic/IteratedFDeriv.lean,Mathlib/Analysis/Analytic/Linear.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Analytic/Polynomial.lean,Mathlib/Analysis/Analytic/RadiusLiminf.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Analytic/Within.lean,Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean,Mathlib/Analysis/Asymptotics/Defs.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/Asymptotics/Theta.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/BoxIntegral/Integrability.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Measure.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/CStarAlgebra/ContinuousLinearMap.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean,Mathlib/Analysis/CStarAlgebra/Module/Defs.lean,Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean,Mathlib/Analysis/Calculus/AddTorsor/Coord.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/BumpFunction/Convolution.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean,Mathlib/Analysis/Calculus/BumpFunction/Normed.lean,Mathlib/Analysis/Calculus/Conformal/InnerProduct.lean,Mathlib/Analysis/Calculus/Conformal/NormedSpace.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/CPolynomial.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Calculus/ContDiff/FiniteDimension.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Analysis/Calculus/ContDiff/WithLp.lean,Mathlib/Analysis/Calculus/DSlope.lean,Mathlib/Analysis/Calculus/Deriv/Abs.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/AffineMap.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Comp.lean,Mathlib/Analysis/Calculus/Deriv/Inv.lean,Mathlib/Analysis/Calculus/Deriv/Inverse.lean,Mathlib/Analysis/Calculus/Deriv/Linear.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Calculus/Deriv/Prod.lean,Mathlib/Analysis/Calculus/Deriv/Shift.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/Deriv/Star.lean,Mathlib/Analysis/Calculus/Deriv/Support.lean,Mathlib/Analysis/Calculus/Deriv/ZPow.lean,Mathlib/Analysis/Calculus/DiffContOnCl.lean,Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Bilinear.lean,Mathlib/Analysis/Calculus/FDeriv/Comp.lean,Mathlib/Analysis/Calculus/FDeriv/Equiv.lean,Mathlib/Analysis/Calculus/FDeriv/Extend.lean,Mathlib/Analysis/Calculus/FDeriv/Linear.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Calculus/FDeriv/Mul.lean,Mathlib/Analysis/Calculus/FDeriv/Norm.lean,Mathlib/Analysis/Calculus/FDeriv/Pi.lean,Mathlib/Analysis/Calculus/FDeriv/Prod.lean,Mathlib/Analysis/Calculus/FDeriv/RestrictScalars.lean,Mathlib/Analysis/Calculus/FDeriv/Star.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Calculus/FDeriv/WithLp.lean,Mathlib/Analysis/Calculus/FormalMultilinearSeries.lean 579 7 ['FR-vdash-bot', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
128-36937
4 months ago
130-69796
4 months ago*
0-0
0 seconds*
24040 FR-vdash-bot
author:FR-vdash-bot
refactor: unbundle algebra from `(NonUnital){Seminormed, Normed}(Comm)Ring` --- - [ ] depends on: #23966 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) slow-typeclass-synthesis t-algebra t-analysis merge-conflict blocked-by-other-PR
label:t-algebra$
3775/3674 Archive/Imo/Imo1998Q2.lean,Counterexamples/LinearOrderWithPosMulPosEqZero.lean,Mathlib/Algebra/Algebra/RestrictScalars.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Algebra/Order/Field/Canonical.lean,Mathlib/Algebra/Order/Field/Rat.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Nonneg/Field.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/CPolynomial.lean,Mathlib/Analysis/Analytic/CPolynomialDef.lean,Mathlib/Analysis/Analytic/ChangeOrigin.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/Analytic/IteratedFDeriv.lean,Mathlib/Analysis/Analytic/Linear.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Analytic/Polynomial.lean,Mathlib/Analysis/Analytic/RadiusLiminf.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Analytic/Within.lean,Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean,Mathlib/Analysis/Asymptotics/Defs.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/Asymptotics/Theta.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/BoxIntegral/Integrability.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Measure.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/CStarAlgebra/Classes.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Integral.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean,Mathlib/Analysis/CStarAlgebra/ContinuousLinearMap.lean,Mathlib/Analysis/CStarAlgebra/ContinuousMap.lean,Mathlib/Analysis/CStarAlgebra/Exponential.lean,Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean,Mathlib/Analysis/CStarAlgebra/Module/Defs.lean,Mathlib/Analysis/CStarAlgebra/Multiplier.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/CStarAlgebra/lpSpace.lean,Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean,Mathlib/Analysis/Calculus/AddTorsor/Coord.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/BumpFunction/Convolution.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean,Mathlib/Analysis/Calculus/BumpFunction/Normed.lean,Mathlib/Analysis/Calculus/Conformal/InnerProduct.lean,Mathlib/Analysis/Calculus/Conformal/NormedSpace.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/CPolynomial.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Calculus/ContDiff/FiniteDimension.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Analysis/Calculus/ContDiff/WithLp.lean,Mathlib/Analysis/Calculus/DSlope.lean,Mathlib/Analysis/Calculus/Deriv/Abs.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/AffineMap.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Comp.lean,Mathlib/Analysis/Calculus/Deriv/Inv.lean,Mathlib/Analysis/Calculus/Deriv/Inverse.lean,Mathlib/Analysis/Calculus/Deriv/Linear.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Calculus/Deriv/Prod.lean,Mathlib/Analysis/Calculus/Deriv/Shift.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/Deriv/Star.lean,Mathlib/Analysis/Calculus/Deriv/Support.lean,Mathlib/Analysis/Calculus/Deriv/ZPow.lean,Mathlib/Analysis/Calculus/DiffContOnCl.lean,Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Bilinear.lean 630 n/a ['FR-vdash-bot', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
128-36815
4 months ago
unknown
unknown
24058 FR-vdash-bot
author:FR-vdash-bot
refactor: unbundle algebra from `*NormedField` --- - [ ] depends on: #24040 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) slow-typeclass-synthesis t-algebra t-analysis merge-conflict blocked-by-other-PR
label:t-algebra$
4602/4346 Archive/Hairer.lean,Archive/Imo/Imo1998Q2.lean,Counterexamples/LinearOrderWithPosMulPosEqZero.lean,Mathlib/Algebra/Algebra/RestrictScalars.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Algebra/Order/Field/Canonical.lean,Mathlib/Algebra/Order/Field/Rat.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Nonneg/Field.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/CPolynomial.lean,Mathlib/Analysis/Analytic/CPolynomialDef.lean,Mathlib/Analysis/Analytic/ChangeOrigin.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/Analytic/IteratedFDeriv.lean,Mathlib/Analysis/Analytic/Linear.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Analytic/Polynomial.lean,Mathlib/Analysis/Analytic/RadiusLiminf.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Analytic/Within.lean,Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean,Mathlib/Analysis/Asymptotics/Defs.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/Asymptotics/Theta.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/BoxIntegral/Integrability.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Measure.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/CStarAlgebra/Classes.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Integral.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean,Mathlib/Analysis/CStarAlgebra/ContinuousLinearMap.lean,Mathlib/Analysis/CStarAlgebra/ContinuousMap.lean,Mathlib/Analysis/CStarAlgebra/Exponential.lean,Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean,Mathlib/Analysis/CStarAlgebra/Module/Defs.lean,Mathlib/Analysis/CStarAlgebra/Multiplier.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/CStarAlgebra/lpSpace.lean,Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean,Mathlib/Analysis/Calculus/AddTorsor/Coord.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/BumpFunction/Convolution.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean,Mathlib/Analysis/Calculus/BumpFunction/Normed.lean,Mathlib/Analysis/Calculus/Conformal/InnerProduct.lean,Mathlib/Analysis/Calculus/Conformal/NormedSpace.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/CPolynomial.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Calculus/ContDiff/FiniteDimension.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Analysis/Calculus/ContDiff/WithLp.lean,Mathlib/Analysis/Calculus/DSlope.lean,Mathlib/Analysis/Calculus/Deriv/Abs.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/AffineMap.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Comp.lean,Mathlib/Analysis/Calculus/Deriv/Inv.lean,Mathlib/Analysis/Calculus/Deriv/Inverse.lean,Mathlib/Analysis/Calculus/Deriv/Linear.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Calculus/Deriv/Pi.lean,Mathlib/Analysis/Calculus/Deriv/Polynomial.lean,Mathlib/Analysis/Calculus/Deriv/Pow.lean,Mathlib/Analysis/Calculus/Deriv/Prod.lean,Mathlib/Analysis/Calculus/Deriv/Shift.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/Deriv/Star.lean,Mathlib/Analysis/Calculus/Deriv/Support.lean,Mathlib/Analysis/Calculus/Deriv/ZPow.lean 665 7 ['FR-vdash-bot', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
127-31606
4 months ago
128-7425
4 months ago*
0-0
0 seconds*
24106 FR-vdash-bot
author:FR-vdash-bot
refactor: unbundle algebra from `*CStarAlgebra` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #24058 slow-typeclass-synthesis t-algebra t-analysis merge-conflict blocked-by-other-PR
label:t-algebra$
4702/4459 Archive/Hairer.lean,Archive/Imo/Imo1998Q2.lean,Counterexamples/LinearOrderWithPosMulPosEqZero.lean,Mathlib/Algebra/Algebra/RestrictScalars.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Algebra/Order/Field/Canonical.lean,Mathlib/Algebra/Order/Field/Rat.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Nonneg/Field.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/CPolynomial.lean,Mathlib/Analysis/Analytic/CPolynomialDef.lean,Mathlib/Analysis/Analytic/ChangeOrigin.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/Analytic/IteratedFDeriv.lean,Mathlib/Analysis/Analytic/Linear.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Analytic/Polynomial.lean,Mathlib/Analysis/Analytic/RadiusLiminf.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Analytic/Within.lean,Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean,Mathlib/Analysis/Asymptotics/Defs.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/Asymptotics/Theta.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/BoxIntegral/Integrability.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Measure.lean,Mathlib/Analysis/CStarAlgebra/ApproximateUnit.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/CStarAlgebra/Classes.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Integral.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/CStarAlgebra/ContinuousLinearMap.lean,Mathlib/Analysis/CStarAlgebra/ContinuousMap.lean,Mathlib/Analysis/CStarAlgebra/Exponential.lean,Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean,Mathlib/Analysis/CStarAlgebra/Hom.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean,Mathlib/Analysis/CStarAlgebra/Module/Defs.lean,Mathlib/Analysis/CStarAlgebra/Multiplier.lean,Mathlib/Analysis/CStarAlgebra/PositiveLinearMap.lean,Mathlib/Analysis/CStarAlgebra/SpecialFunctions/PosPart.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/CStarAlgebra/lpSpace.lean,Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean,Mathlib/Analysis/Calculus/AddTorsor/Coord.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/BumpFunction/Convolution.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean,Mathlib/Analysis/Calculus/BumpFunction/Normed.lean,Mathlib/Analysis/Calculus/Conformal/InnerProduct.lean,Mathlib/Analysis/Calculus/Conformal/NormedSpace.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/CPolynomial.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Calculus/ContDiff/FiniteDimension.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Analysis/Calculus/ContDiff/WithLp.lean,Mathlib/Analysis/Calculus/DSlope.lean,Mathlib/Analysis/Calculus/Deriv/Abs.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/AffineMap.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Comp.lean,Mathlib/Analysis/Calculus/Deriv/Inv.lean,Mathlib/Analysis/Calculus/Deriv/Inverse.lean,Mathlib/Analysis/Calculus/Deriv/Linear.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Calculus/Deriv/Pi.lean,Mathlib/Analysis/Calculus/Deriv/Polynomial.lean,Mathlib/Analysis/Calculus/Deriv/Pow.lean,Mathlib/Analysis/Calculus/Deriv/Prod.lean 670 5 ['FR-vdash-bot', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
126-71147
4 months ago
126-73454
4 months ago*
0-0
0 seconds*
24016 plp127
author:plp127
feat: fine uniformity Adds the fine uniformity, and proves some properties. --- - [ ] depends on: #24096 for showing the induced topology is equal on completely regular spaces [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology blocked-by-other-PR 283/0 Mathlib.lean,Mathlib/Topology/UniformSpace/FineUniformity.lean,Mathlib/Topology/UniformSpace/Uniformizable.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
126-4432
4 months ago
126-4434
4 months ago
2-85349
2 days
21238 joneugster
author:joneugster
feat(Cache): enable partial cache in downstream projects Add features to `cache` and cleanup code: * enable partial cache retrieval in downstream projects: `lake exe cache get MyProject.Basic` downloads only the relevant cache to build `MyProject/Basic.lean` * accept paths `Mathlib/Init.lean` and modules `Mathlib.Init` likewise #21822 * accept folders in the form `Mathlib/Data` or `Mathlib.Data` and does a directory walk to find all`.lean` files therein #21838 * throw error if sources contain a build loop. #21632 * cleanup * internally cache now works with the module names as keys (used paths before) #21834 * eliminate need of parsing the `lake_manifest.json`, use the Lean search path from `LEAN_SRC_PATH` instead. #21666 * eliminate most hard-coded file paths, generating them from the module name with `Lean.findLean` #21818 * add documentation --- - [x] depends on: #21834 - [ ] depends on: #21838 ### Follow-up PR: - #21842 ### Notes: - replaces: #21195 - should address: #8767 - should address: #20568 ### Completed: - [x] depends on: #21632 - [x] ~~depends on: #21663~~ - [x] depends on: #21666 - [x] depends on: #21701 - [x] depends on: #21703 - [x] depends on: #21704 - [x] depends on: #21705 - [x] depends on: #21707 - [x] depends on: #21711 - [x] depends on: #21750 - [x] depends on: #21815 - [x] depends on: #21816 - [x] depends on: #21817 - [x] depends on: #21818 - [x] depends on: #21822 - [x] depends on: #21830 - #21848 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI t-meta merge-conflict blocked-by-other-PR 231/118 Cache/Hashing.lean,Cache/IO.lean,Cache/Main.lean 3 n/a ['github-actions', 'grunweg', 'joneugster', 'kim-em', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
125-23260
4 months ago
unknown
unknown
21842 joneugster
author:joneugster
refactor(Cache): use module name for file hash instead of non-resolved file path This invalidates cache once, similarly to when the `lean-toolchain` gets bumped or the `lakefile` modified. --- - [ ] depends on: #21238 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI t-meta merge-conflict blocked-by-other-PR 284/139 Cache/Hashing.lean,Cache/IO.lean,Cache/Lean.lean,Cache/Main.lean 4 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
125-23136
4 months ago
188-20159
6 months ago*
0-0
0 seconds*
19467 quangvdao
author:quangvdao
feat(MvPolynomial/Equiv): Add `MvPolynomial.finSuccEquivNth` This PR adds `MvPolynomial.finSuccEquivNth`, which is the algebra isomorphism between `MvPolynomial (Fin (n + 1)) R` and `Polynomial (MvPolynomial (Fin n) R)` by identifying the `p`-th variable as the indeterminate. This generalizes `MvPolynomial.finSuccEquiv` which is only for the `0`-th variable. The supporting theorems for the `Nth` version are identical to the current version, with the `Nth` version deduced from the former. These changes require new definitions in `Finsupp/Fin`, which is a separate PR. Co-authored-by: Yaël Dillies --- - [ ] depends on: #19315 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict blocked-by-other-PR
label:t-algebra$
541/163 Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finsupp.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Fin/Tuple/Basic.lean,Mathlib/Data/Finsupp/Fin.lean,scripts/nolints_prime_decls.txt 7 9 ['acmepjz', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'quangvdao'] nobody
125-17357
4 months ago
125-17357
4 months ago
0-790
13 minutes
22547 joelriou
author:joelriou
feat(CategoryTheory/Abelian): construction of reduced left resolutions The standard functorial free resolution of a `R`-module `M` does not directly extend to free resolutions of (bounded above) complexes because the free `R`-module functor does preserve zero morphisms. In this PR, we provide a general construction which takes functorial left resolutions and modify them by considering a suitable direct factor so that it preserves zero morphisms. --- - [ ] depends on: #22539 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory blocked-by-other-PR WIP 514/19 Mathlib.lean,Mathlib/Algebra/Homology/HomologicalComplex.lean,Mathlib/Algebra/Homology/LeftResolutions/Basic.lean,Mathlib/Algebra/Homology/LeftResolutions/Reduced.lean,Mathlib/Algebra/Homology/LeftResolutions/Transport.lean,Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean 6 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
115-21668
3 months ago
169-43983
5 months ago
0-358
5 minutes
22556 joelriou
author:joelriou
feat(Algebra/Category/ModuleCat): a functorial projective resolution --- - [ ] depends on: #22539 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory blocked-by-other-PR 315/19 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/LeftResolutions.lean,Mathlib/Algebra/Homology/HomologicalComplex.lean,Mathlib/Algebra/Homology/LeftResolutions/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean 5 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
115-21538
3 months ago
169-38296
5 months ago
0-516
8 minutes
24549 grunweg
author:grunweg
feat: define embedded submanifolds, attempt 1 Not meant to be merged (I think a different design is better); opening this so I can find this more easily. --- - [ ] depends on: #23040 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry merge-conflict blocked-by-other-PR WIP 1445/2 Mathlib.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Splits.lean,Mathlib/Geometry/Manifold/Diffeomorph.lean,Mathlib/Geometry/Manifold/EmbeddedSubmanifold.lean,Mathlib/Geometry/Manifold/IsImmersionEmbedding.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean,Mathlib/Geometry/Manifold/MSplits.lean,Mathlib/LinearAlgebra/Prod.lean 8 2 ['leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
109-64625
3 months ago
109-64625
3 months ago
0-1
1 second
11003 thorimur
author:thorimur
chore: migrate to `tfae` block tactic Migrates to the `tfae` block tactic syntax, eliminating uses of `tfae_have` and `tfae_finish`. --- - [ ] depends on: #11000 - [ ] depends on: #10991 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta merge-conflict blocked-by-other-PR WIP 1267/1081 Mathlib/Algebra/Exact.lean,Mathlib/Algebra/Homology/ShortComplex/ExactFunctor.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/NormedSpace.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/CategoryTheory/Abelian/Exact.lean,Mathlib/CategoryTheory/Bicategory/Kan/Adjunction.lean,Mathlib/FieldTheory/Galois.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/LinearAlgebra/Eigenspace/Zero.lean,Mathlib/MeasureTheory/Group/Action.lean,Mathlib/NumberTheory/FLT/Basic.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Order/Height.lean,Mathlib/Order/WellFoundedSet.lean,Mathlib/RingTheory/Bezout.lean,Mathlib/RingTheory/DiscreteValuationRing/TFAE.lean,Mathlib/RingTheory/Flat/EquationalCriterion.lean,Mathlib/RingTheory/Henselian.lean,Mathlib/RingTheory/LocalRing/RingHom/Basic.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/ValuationRing.lean,Mathlib/SetTheory/Ordinal/Topology.lean,Mathlib/Tactic/TFAE.lean,Mathlib/Topology/Algebra/Group/SubmonoidClosure.lean,Mathlib/Topology/Category/CompHaus/EffectiveEpi.lean,Mathlib/Topology/Category/Profinite/EffectiveEpi.lean,Mathlib/Topology/Category/Stonean/EffectiveEpi.lean,Mathlib/Topology/Inseparable.lean,Mathlib/Topology/LocallyClosed.lean,Mathlib/Topology/LocallyConstant/Basic.lean,Mathlib/Topology/NoetherianSpace.lean,Mathlib/Topology/Order/LeftRightNhds.lean,Mathlib/Topology/Separation.lean,Mathlib/Topology/UniformSpace/UniformConvergence.lean,scripts/noshake.json,test/tfae.lean 42 2 ['github-actions', 'leanprover-community-mathlib4-bot'] nobody
109-63441
3 months ago
109-63441
3 months ago
0-0
0 seconds
16186 joneugster
author:joneugster
chore: use emoji-variant-selector `\uFE0F` for emojis ✅️,❌️,💥️,🟡️ Append the emoji-variant selector `\uFE0F` to these 4 unicode symbols which should always be rendered as emojis. --- This has been done in core, so it makes sense to do the same in Mathlib. - [x] depends on: leanprover/lean4#5173 - [ ] depends on: #16215 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter merge-conflict awaiting-author blocked-by-other-PR 28/28 .github/workflows/lean4checker.yml,.github/workflows/nightly_detect_failure.yml,.github/workflows/update_dependencies_zulip.yml,scripts/lean-pr-testing-comments.sh,test/AssertExists.lean 5 3 ['github-actions', 'leanprover-community-mathlib4-bot', 'urkud'] nobody
109-63125
3 months ago
109-63125
3 months ago
7-61243
7 days
21853 smmercuri
author:smmercuri
feat: the adele ring of a number field is locally compact --- - [ ] depends on: #21158 - [ ] depends on: #21847 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-number-theory merge-conflict blocked-by-other-PR WIP 398/3 Mathlib.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/NumberTheory/NumberField/AdeleRing.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/Topology/Algebra/Group/Basic.lean,Mathlib/Topology/Algebra/Valued/LocallyCompact.lean,Mathlib/Topology/Algebra/Valued/WithZeroMulInt.lean 9 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
107-28862
3 months ago
109-64263
3 months ago
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/) awaiting-zulip t-computability new-contributor merge-conflict blocked-by-other-PR 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
107-10560
3 months ago
107-10565
3 months ago
0-179
2 minutes
16553 grunweg
author:grunweg
WIP: tinkering with orientable manifolds - wait for Rida's PR to get merged - PR the "normed space" part separately - WIP: a linear isomorphism on a connected set is either orientation-preserving or orientation-preserving: this will require #8738, it seems - [ ] depends on: #16239 - [ ] depends on: #8738 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry blocked-by-other-PR WIP 287/0 Mathlib.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/Geometry/Manifold/Orientable.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
104-13738
3 months ago
342-63003
11 months ago
0-0
0 seconds
24550 grunweg
author:grunweg
feat: define `SliceModel` typeclass for models with corners for embedded submanifolds Still work in progress: TODO write a proper module doc-string and commit message. --- - [ ] depends on: #23040 (at least morally) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry merge-conflict blocked-by-other-PR WIP 1214/0 Mathlib.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Splits.lean,Mathlib/Geometry/Manifold/IsImmersionEmbedding.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean,Mathlib/Geometry/Manifold/MSplits.lean,Mathlib/Geometry/Manifold/SliceModel.lean 6 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
104-7823
3 months ago
104-8255
3 months ago
0-0
0 seconds
18755 FR-vdash-bot
author:FR-vdash-bot
refactor: deprecate `LinearIsometryClass` --- - [ ] depends on: #18748 - [ ] depends on: #18754 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-analysis merge-conflict blocked-by-other-PR
label:t-algebra$
243/116 Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/LocallyConvex/WeakOperatorTopology.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Group/Uniform.lean,Mathlib/Analysis/Normed/Operator/LinearIsometry.lean,Mathlib/Topology/Algebra/Module/Basic.lean,Mathlib/Topology/Algebra/Module/CharacterSpace.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean,Mathlib/Topology/Homeomorph.lean,Mathlib/Topology/MetricSpace/Isometry.lean,scripts/no_lints_prime_decls.txt 13 5 ['FR-vdash-bot', 'github-actions', 'leanprover-bot', 'mathlib4-dependent-issues-bot'] nobody
103-17269
3 months ago
278-59930
9 months ago
0-602
10 minutes
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/) t-meta blocked-by-other-PR help-wanted 257/7 Mathlib/Control/Monad/Cont.lean,Mathlib/Data/Matrix/Auto.lean,MathlibTest/matrix_auto.lean 3 7 ['eric-wieser', 'github-actions', 'kim-em', 'leanprover-community-bot-assistant'] nobody
88-12064
2 months ago
88-12085
2 months ago
0-0
0 seconds
25141 eric-wieser
author:eric-wieser
feat: basis for multilinear maps This attempts to tease an intermediate result out of #11155, which lets us show that multilinear maps are free even if their codomain is not finite. I guess this continues from https://github.com/leanprover-community/mathlib3/pull/10504 and https://github.com/leanprover-community/mathlib3/pull/14199. --- - [ ] depends on: #11155 - [ ] depends on: #25142 - [ ] depends on: #25169 - [ ] depends on: #25166 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra merge-conflict blocked-by-other-PR
label:t-algebra$
507/45 Mathlib.lean,Mathlib/LinearAlgebra/DFinsupp.lean,Mathlib/LinearAlgebra/DFinsupp/PiTensorProduct.lean,Mathlib/LinearAlgebra/DirectSum/Finsupp.lean,Mathlib/LinearAlgebra/DirectSum/PiTensorProduct.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Multilinear/Basis.lean,Mathlib/LinearAlgebra/Multilinear/DFinsupp.lean,Mathlib/LinearAlgebra/Multilinear/DirectSum.lean,Mathlib/LinearAlgebra/Multilinear/FiniteDimensional.lean,Mathlib/LinearAlgebra/Multilinear/Pi.lean 11 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
83-31867
2 months ago
83-31868
2 months ago
0-0
0 seconds
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`. --- - [ ] 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* large-import t-topology t-category-theory blocked-by-other-PR 568/9 Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms.lean 1 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
69-62466
2 months ago
69-64332
2 months ago
0-2
2 seconds
25750 robin-carlier
author:robin-carlier
feat(Tactic/CategoryTheory): bicategory extension for `rotate_isos` This PR registers some lemmas to the `rotate_isos` tactic so that it applies in bicategorical contexts. For instance, if `α : g ⟶ h` is an invertible 2-cells, the term `f ◁ α ` is also recognized as invertible, with inverse `f ◁ α' `, where `α'` is the expression for the inverse constructed by the tactic. Without this extension, the tactic would only construct the generic `inv (f ◁ α)` as inverse for this term. --- - [ ] depends on: #25747 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24633.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24633* t-category-theory t-meta blocked-by-other-PR 1206/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Bicategory.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Cancelable.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Core.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Lemmas.lean,MathlibTest/CategoryTheory/RotateIsos.lean,scripts/noshake.json 8 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
69-61337
2 months ago
69-61506
2 months ago
0-0
0 seconds
25748 robin-carlier
author:robin-carlier
feat(Tactic/CategoryTheory): Initial lemmas for the `rotate_iso` tactic This PR records an initial set of lemmas to be used by the WIP `rotate_isos` tactic. --- - [ ] depends on: #25746 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24506.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24506* t-meta blocked-by-other-PR 496/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Cancelable.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Lemmas.lean,scripts/noshake.json 5 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
69-61336
2 months ago
69-61337
2 months ago
0-0
0 seconds
25747 robin-carlier
author:robin-carlier
feat(Tactic/CategoryTheory): the `rotate_isos` tactic We define a `rotate_isos` tactic for category theory in mathlib. At its core, the tactic transform terms of type `α(1) ≫ ⋯ ≫ α(k) = β(1) ≫ ⋯ ≫ β(l)` where `α` and `β` are families of morphisms in whith the first `i` morphisms of the left-hand side and the last `j` morphisms of the right-hand side are isomorhisms, into terms of type `α(k-i) ≫ ⋯ ≫ α(k) ≫ inv β(l) ≫ ⋯ ≫ β(l-j+1) = inv α(j) ≫ ⋯ ≫ inv α(1) ≫⋯ ≫ β(l-j)`. The construction of the inverses of expression are caried at the `Expr` levels are built out of the expressions of the morphisms, for instance, for this tactic, the inverse of `F.map (G.map (H.map f.hom)))` will directly be `F.map (G.map (H.map f.inv)))` (which would have to be re-simplified), rather than an `inv` term form an `IsIso` instance. The tactic can be applied at a local hypothesis or at the main goal, or can be used through a `rotate_isos%` term elaborator if e.g one wants to add such a "rotated" form to a `simp` or `rw` call. We also support removing morphisms "from the right" of the lhs, rather than from the right. --- The motivations behind this tactic are the following : - This tactic can "autogenerate" lemmas and terms generalizing lemmas such as [CategoryTheory.Iso.hom_inv_id_app_app_app](https://leanprover-community.github.io/mathlib4_docs/Mathlib/CategoryTheory/NatIso.html#CategoryTheory.Iso.hom_inv_id_app_app_app). This can also generate lemmas `F.map (G.map f.hom) ≫F.map (G.map f.inv) = 𝟙 _`, and can be used to unlock a `simp` call that blocks at an expression of the form `F.map (G.map f.hom) ≫F.map (G.map f.inv) `. - Currently, cancelling morphisms "from the right" in an expression in category theory is a bit of a pain. You have to first reassociate the expression, perform multiple calls to `Iso.inv_comp_eq`, reassociate, etc. This at least automates this process in a fairly straightforward way. - There are expressions in category theory that have no "right forms", e.g the pentagon axiom for monoidal categories, which has many variations in the way one can read the diagram of isomorphisms that represents it. Elaborators such as `rotate_iso%` easily generates all possible forms of such identities from one single form, and avoids having to state multiple forms of the same equality as individual lemmas. - I have been playing with medium-sized diagrams of isomorphisms recently (think for example vertical/horizontal compositions of `CatCommSq`, whiskering a corner of such diagrams, etc.), and it made me wish a lot of time that such easy way to transforms equalities to equivalent forms were available. - [ ] depends on: #25746 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24454.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24454* t-category-theory t-meta awaiting-author blocked-by-other-PR WIP 871/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Cancelable.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Core.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Lemmas.lean,MathlibTest/CategoryTheory/RotateIsos.lean,scripts/noshake.json 7 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
69-61336
2 months ago
69-61589
2 months ago
0-0
0 seconds
25751 robin-carlier
author:robin-carlier
feat(Tactic/CategoryTheory): monoidal extension of `rotate_isos` This PR registers some lemmas to the `rotate_isos` tactic so that it applies in monoidal contexts. For instance, if α : y ⟶ z is an invertible morphism, the term x ◁ α is also recognized as invertible, with inverse x ◁ α' , where α' is the expression for the inverse constructed by the tactic. Without this extension, the tactic would only construct the generic inv (x ◁ α) as inverse for this term. We also take care of terms of the form `f ⊗ g` --- - [ ] depends on: #25747 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24634.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24634* t-category-theory t-meta blocked-by-other-PR 1362/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Cancelable.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Core.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Lemmas.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Monoidal.lean,MathlibTest/CategoryTheory/RotateIsos.lean,scripts/noshake.json 8 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
69-60355
2 months ago
69-61201
2 months ago
0-0
0 seconds
25752 robin-carlier
author:robin-carlier
feat(Tactic/CategoryTheory): whiskering lemmas for `rotate_isos` This PR extends the base set of terms recognized by the `rotate_isos` tactic to include terms of the form `whiskerLeft F f`, `isoWhiskerLeft F e`, and `NatTrans.hcomp`/ `NatIso.hcomp`. --- - [ ] depends on: #25747 Technically, it could depend solely on #24506, but there’s not much point getting this merged if the base tactic is not there. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24650.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24650* t-meta blocked-by-other-PR 1365/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Cancelable.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Core.lean,Mathlib/Tactic/CategoryTheory/RotateIsos/Lemmas.lean,MathlibTest/CategoryTheory/RotateIsos.lean,scripts/noshake.json 7 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
69-60356
2 months ago
69-60357
2 months ago
0-0
0 seconds
25912 BoltonBailey
author:BoltonBailey
feat: add simp lemmas for trig functions on `π * 2⁻¹` This PR adds a number of simp lemmas to reduce trig functions evaluated on `π * 2⁻¹`. This allows `simp` to reduce expressions such as `sin (π * (1 / 2))` --- - [ ] depends on: #25911 [experiment with simp normal form] Original PR: #24213 t-analysis awaiting-author blocked-by-other-PR 45/0 Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean 1 3 ['BoltonBailey', 'github-actions', 'mathlib4-dependent-issues-bot'] nobody
66-35448
2 months ago
66-36044
2 months ago
0-136
2 minutes
26108 xroblot
author:xroblot
feat(NumberField/IsCM): compute the index of the subgroup of real units This PR continues the work from #23694. --- - [ ] depends on: #26107 large-import t-number-theory blocked-by-other-PR 443/75 Mathlib/Algebra/Field/Equiv.lean,Mathlib/Algebra/Group/Invertible/Basic.lean,Mathlib/AlgebraicGeometry/Morphisms/Proper.lean,Mathlib/FieldTheory/LinearDisjoint.lean,Mathlib/GroupTheory/GroupAction/FixedPoints.lean,Mathlib/LinearAlgebra/Dimension/Localization.lean,Mathlib/NumberTheory/NumberField/CMField.Lean,Mathlib/NumberTheory/NumberField/Units/Basic.lean,Mathlib/RingTheory/Artinian/Ring.lean,Mathlib/RingTheory/IntegralClosure/Algebra/Defs.lean,Mathlib/RingTheory/IntegralClosure/IsIntegralClosure/Basic.lean,Mathlib/RingTheory/LinearDisjoint.lean,Mathlib/RingTheory/Localization/FractionRing.lean,Mathlib/RingTheory/Localization/Integral.lean,Mathlib/RingTheory/SimpleRing/Field.lean 15 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'xroblot'] nobody
63-36166
2 months ago
63-36167
2 months ago
0-875
14 minutes
24434 joelriou
author:joelriou
feat(CategoryTheory): effectiveness of descent Co-authored-by: Christian Merten [christian@merten.dev](mailto:christian@merten.dev) --- - [ ] depends on: #24411 - [x] depends on: #24382 - [ ] depends on: #25971 - [x] depends on: #13539 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict blocked-by-other-PR WIP 4052/66 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/Adjunction/Adj.lean,Mathlib/CategoryTheory/Bicategory/Adjunction/BaseChange.lean,Mathlib/CategoryTheory/Bicategory/Adjunction/Basic.lean,Mathlib/CategoryTheory/Bicategory/Adjunction/Mate.lean,Mathlib/CategoryTheory/Bicategory/Functor/Cat.lean,Mathlib/CategoryTheory/Bicategory/Functor/LocallyDiscrete.lean,Mathlib/CategoryTheory/Bicategory/Functor/Strict.lean,Mathlib/CategoryTheory/Bicategory/Opposite.lean,Mathlib/CategoryTheory/CommSq.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/CommSq.lean,Mathlib/CategoryTheory/Sites/Descent/DescentData.lean,Mathlib/CategoryTheory/Sites/Descent/DescentDataAsCoalgebra.lean,Mathlib/CategoryTheory/Sites/Descent/DescentDataDoublePrime.lean,Mathlib/CategoryTheory/Sites/Descent/DescentDataPrime.lean,Mathlib/CategoryTheory/Sites/Descent/IsPrestack.lean,Mathlib/CategoryTheory/Sites/Descent/IsStack.lean,Mathlib/CategoryTheory/Sites/Descent/ModuleCat.lean,Mathlib/CategoryTheory/Sites/Descent/PullbackStruct.lean 19 n/a ['callesonne', 'chrisflav', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
63-32321
2 months ago
unknown
unknown
18771 joelriou
author:joelriou
feat(LinearAlgebra/ExteriorPower): exterior powers of free modules are free Co-authored-by: sophie.morel@ens-lyon.fr --- - [ ] depends on: #18662 - [x] depends on: #18534 - [x] depends on: #18651 - [x] depends on: #18590 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict blocked-by-other-PR WIP
label:t-algebra$
1185/160 Mathlib.lean,Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/Sum/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Basis.lean,Mathlib/LinearAlgebra/ExteriorPower/Generators.lean,Mathlib/LinearAlgebra/ExteriorPower/Pairing.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Multilinear/TensorProduct.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Finite.lean,Mathlib/LinearAlgebra/PiTensorProduct/Generators.lean,Mathlib/LinearAlgebra/Span.lean,Mathlib/LinearAlgebra/TensorAlgebra/ToTensorPower.lean,Mathlib/LinearAlgebra/TensorPower/Basic.lean,Mathlib/LinearAlgebra/TensorPower/Pairing.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/RingTheory/PiTensorProduct.lean 19 3 ['alreadydone', 'github-actions', 'mathlib4-dependent-issues-bot'] nobody
62-57603
2 months ago
278-59929
9 months ago
0-0
0 seconds
25926 BoltonBailey
author:BoltonBailey
feat: add lemma about `degreeOf_eq_degree` Adds MvPolynomial.degreeOf_eq_degree, which states that the degree of a particular variable in a multivariate polynomial is equal to the degree of the single-variable polynomial obtained by treating the multivariable polynomial as a single variable polynomial over multivariable polynomials in the remaining variables. This PR continues the work from #12664. - [ ] depends on: #25920 depends on https://github.com/leanprover-community/mathlib4/pull/25920 t-algebra blocked-by-other-PR
label:t-algebra$
50/0 Mathlib/Algebra/MvPolynomial/Equiv.lean 1 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
61-31558
2 months ago
61-31559
2 months ago
5-1720
5 days
25925 BoltonBailey
author:BoltonBailey
feat: file for lemmas about MvPolynomials over NoZeroDivisors This PR continues the work from #11106 and #11073 Original PR: https://github.com/leanprover-community/mathlib4/pull/11106 - [x] depends on: #11095 - [x] depends on: #11094 - [ ] depends on: #25926 [We need this lemma to establish fact about degreeOf n (p + q)] t-algebra blocked-by-other-PR
label:t-algebra$
85/0 Mathlib/Algebra/MvPolynomial/NoZeroDivisors.lean 1 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
60-10159
1 month ago
60-10160
1 month ago
0-0
0 seconds
20241 vasnesterov
author:vasnesterov
feat(Data/Seq): coinductive predicates for sequences * Introduce `All`, `Pairwise`, `AtLeastAsLongAs` predicates for sequences along with their coinductive principles and basic lemmas about them. * Prove `eq_of_bisim'` and `eq_of_bisim_strong` coinductive principles for equality. All of these "coinductive principles" are stated in the form as similar as possible to inductive principles. --- I also added `set_option linter.style.longFile 2000` in the beginning of `Seq.lean`, because I am not sure how to split this file. - [ ] depends on: #26120 This PR is necessary for a new tactic (#18486), which computes the asymptotics of real functions. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data merge-conflict blocked-by-other-PR 512/1 Mathlib/Data/Seq/Seq.lean 1 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
59-36029
1 month ago
59-36029
1 month ago
0-215
3 minutes
20051 Timeroot
author:Timeroot
feat: `Clone` and some instances Defines clones (`Clone`). And there is a file, `Instances.lean`, that gives several most important examples of Clones. In particular, it has all of the clones (in an appropriately general form) that occur in [Post's Lattice](https://en.wikipedia.org/wiki/Post%27s_lattice), and [later proving](https://github.com/leanprover-community/mathlib4/pull/24744) the completeness of Post's Lattice is why I'm making this PR. (Edit: Used to also say "Defined operads (`Operad`), symmetric operads (`SymmOperad`), and clones ... There is a proof that all clones have a natural operad structure.". This has been scrapped.) --- - [x] depends on: #20133 [basics and notations] - [x] depends on: #20134 [permutations] - [x] depends on: #20138 [operad] - [x] depends on: #20141 [clone] - [x] depends on: #23459 [defs] - [ ] depends on: #23460 [basic] [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-author blocked-by-other-PR
label:t-algebra$
623/0 Mathlib.lean,Mathlib/Algebra/Clone/Basic.lean,Mathlib/Algebra/Clone/Defs.lean,Mathlib/Algebra/Clone/Instances.lean,Mathlib/Data/Fin/Basic.lean 5 32 ['Timeroot', 'YaelDillies', 'eric-wieser', 'github-actions', 'jcommelin', 'kbuzzard', 'kim-em', 'mathlib4-dependent-issues-bot', 'wmacmil'] nobody
57-79828
1 month ago
143-21068
4 months ago
43-16103
43 days
26391 grunweg
author:grunweg
feat: immersed submanifolds Still under construction --- - [ ] depends on: #26087 - [ ] depends on: #23040 Better version of #24549. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry blocked-by-other-PR WIP 1418/0 Mathlib.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Splits.lean,Mathlib/Geometry/Manifold/EmbeddedSubmanifold.lean,Mathlib/Geometry/Manifold/IsImmersionEmbedding.lean,Mathlib/Geometry/Manifold/MSplits.lean 5 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
56-23987
1 month ago
56-76294
1 month ago
0-0
0 seconds
18662 joelriou
author:joelriou
feat(LinearAlgebra/ExteriorPower): generators of the exterior powers --- - [x] depends on: #18534 - [x] depends on: #18590 - [ ] depends on: #26464 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict blocked-by-other-PR WIP
label:t-algebra$
818/158 Mathlib.lean,Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/Sum/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Generators.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Multilinear/TensorProduct.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Finite.lean,Mathlib/LinearAlgebra/PiTensorProduct/Generators.lean,Mathlib/LinearAlgebra/Span.lean,Mathlib/LinearAlgebra/TensorPower.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/RingTheory/PiTensorProduct.lean 15 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
54-64058
1 month ago
278-59933
9 months ago
0-0
0 seconds
18735 joelriou
author:joelriou
feat(Algebra/Module): presentation of the exterior power Given a presentation of a `R`-module `M`, we obtain a presentation of `⋀[R]^n M`. --- (Still one sorry left.) - [ ] depends on: #18527 - [ ] depends on: #18432 - [ ] depends on: #26464 - [ ] depends on: #18534 - [ ] depends on: #18662 - [x] depends on: #18590 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict blocked-by-other-PR WIP
label:t-algebra$
1856/157 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ExteriorPower.lean,Mathlib/Algebra/Module/Presentation/Basic.lean,Mathlib/Algebra/Module/Presentation/ExteriorPower.lean,Mathlib/Algebra/Module/Presentation/PiTensor.lean,Mathlib/Algebra/Module/Presentation/Tensor.lean,Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/Sum/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Generators.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Multilinear/TensorProduct.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Finite.lean,Mathlib/LinearAlgebra/PiTensorProduct/Generators.lean,Mathlib/LinearAlgebra/Span.lean,Mathlib/LinearAlgebra/TensorPower.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/RingTheory/PiTensorProduct.lean 20 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
54-60032
1 month ago
278-59931
9 months ago
0-0
0 seconds
18551 joelriou
author:joelriou
feat(AlgebraicGeometry): the algebraic De Rham complex If `B` is an `A`-algebra, we construct the algebraic De Rham complex of `B` over `A`: it is a cochain complex of `A`-modules. --- - [ ] depends on: #18735 - [ ] depends on: #18662 - [ ] depends on: #26464 - [ ] depends on: #18534 - [ ] depends on: #18527 - [x] depends on: #18440 - [ ] depends on: #18432 - [x] depends on: #18408 - [x] depends on: #18389 - [x] depends on: #18374 - [x] depends on: #18359 - [x] depends on: #18332 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-algebraic-geometry merge-conflict blocked-by-other-PR WIP
label:t-algebra$
2836/156 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ExteriorPower.lean,Mathlib/Algebra/Module/Presentation/Basic.lean,Mathlib/Algebra/Module/Presentation/Cokernel.lean,Mathlib/Algebra/Module/Presentation/Differentials.lean,Mathlib/Algebra/Module/Presentation/DirectSum.lean,Mathlib/Algebra/Module/Presentation/ExteriorPower.lean,Mathlib/Algebra/Module/Presentation/PiTensor.lean,Mathlib/Algebra/Module/Presentation/RestrictScalars.lean,Mathlib/Algebra/Module/Presentation/Tensor.lean,Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Sum/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Generators.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Multilinear/TensorProduct.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Finite.lean,Mathlib/LinearAlgebra/PiTensorProduct/Generators.lean,Mathlib/LinearAlgebra/Span.lean,Mathlib/LinearAlgebra/TensorPower.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/RingTheory/DeRham/Basic.lean,Mathlib/RingTheory/PiTensorProduct.lean 26 n/a ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
54-60028
1 month ago
unknown
unknown
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/) new-contributor t-algebra blocked-by-other-PR
label:t-algebra$
750/14 Mathlib.lean,Mathlib/GroupTheory/GroupExtension/Abelian.lean,Mathlib/GroupTheory/GroupExtension/Defs.lean,docs/references.bib 4 4 ['YaelDillies', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot'] nobody
48-32349
1 month ago
48-32349
1 month ago
43-26015
43 days
26720 vlad902
author:vlad902
feat(SimpleGraph): lemmas relating edges and darts to the support Two useful lemmas to make it easier to pass between the support/edges/darts of a walk. - [ ] depends on: #25812 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics blocked-by-other-PR 18/0 Mathlib/Combinatorics/SimpleGraph/Walk.lean 1 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
47-70557
1 month ago
47-70558
1 month ago
0-104
1 minute
24411 joelriou
author:joelriou
feat(CategoryTheory): descent of morphisms for a pseudofunctor Let `C` be a category and `F : Pseudofunctor (LocallyDiscrete Cᵒᵖ) Cat`. Given `S : C`, and objects `M` and `N` in `F.obj (.mk (op S))`, we define a presheaf of types `F.presheafHom M N` on the category `Over S`: its sections on a object `T : Over S` corresponding to a morphism `p : X ⟶ S` are the type of morphisms `p^* M ⟶ p^* N`. We shall say that `F` satisfies the descent of morphisms for a Grothendieck topology `J` if these presheaves are all sheaves (typeclass `F.HasDescentOfMorphisms J`). Co-authored-by: Christian Merten [christian@merten.dev](mailto:christian@merten.dev) --- - [x] depends on: #24382 - [ ] depends on: #25971 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict blocked-by-other-PR WIP 474/0 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/Functor/Cat.lean,Mathlib/CategoryTheory/Bicategory/Functor/Strict.lean,Mathlib/CategoryTheory/Sites/Descent/Morphisms.lean 4 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
46-76403
1 month ago
46-76404
1 month ago
0-0
0 seconds
25488 VTrelat
author:VTrelat
feat(SetTheory/ZFC/Rationals): define rationals in ZFC Extend the model of ZFC with rationals: we define a proper type `ZFRat` representing integers based on pairs of `ZFInt` (enforcing the res to be nonzero) and following the usual construction of rationals. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #25483 - [ ] depends on: #25485 - [ ] depends on: #25486 new-contributor merge-conflict blocked-by-other-PR 2070/0 Mathlib/Data/Set/Prod.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Booleans.lean,Mathlib/SetTheory/ZFC/Integers.lean,Mathlib/SetTheory/ZFC/Rationals.lean 5 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
46-76133
1 month ago
46-76133
1 month ago
0-1808
30 minutes
26096 vasnesterov
author:vasnesterov
feat(Topology/Instances): Cantor set is the set of ternary numbers without `1`s * Prove `zero_two_sequence_ofDigits_mem_cantorSet`: If `x = 0.d₀d₁...` in base-3, and none of the digits `dᵢ` is `1`, then `x` belongs to the Cantor set. * Prove `zero_two_sequence_ofDigits_unique`: such a representation is uniquie * Define `toTernary` which converts a real number from the Cantor set to its ternary representation without `1`s. * Prove `ofDigits_cantorToTernary : ofDigits (cantorToTernary x) = x`. --- This is a prerequisite for #26136. - [ ] depends on: #26001 - [ ] depends on: #26021 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-topology merge-conflict blocked-by-other-PR 524/0 Mathlib.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Data/Nat/Cast/Order/Field.lean,Mathlib/Data/Real/OfDigits.lean,Mathlib/Topology/Instances/CantorSet.lean,scripts/noshake.json 6 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
46-73847
1 month ago
46-73848
1 month ago
0-383
6 minutes
26136 vasnesterov
author:vasnesterov
feat(Topology/Instances): Cantor set is homeomorphic to `ℕ → Bool` * Prove that `ofDigits` is a continuous map from `ℕ → Fin b` to `ℝ`. * Prove that the Cantor set is homeomorphic to `ℕ → Bool`. --- - [ ] depends on: #26096 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-topology merge-conflict blocked-by-other-PR 614/0 Mathlib.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Data/Nat/Cast/Order/Field.lean,Mathlib/Data/Real/OfDigits.lean,Mathlib/Topology/Instances/CantorSet.lean,scripts/noshake.json 6 8 ['alreadydone', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'vasnesterov'] nobody
46-73844
1 month ago
46-73845
1 month ago
0-128
2 minutes
26149 vasnesterov
author:vasnesterov
feat(Topology): continuous surjection from Cantor set to Hilbert cube --- - [ ] depends on: #26136 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-topology merge-conflict blocked-by-other-PR 752/0 Mathlib.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Data/Nat/Cast/Order/Field.lean,Mathlib/Data/Real/OfDigits.lean,Mathlib/Topology/Homeomorph/Defs.lean,Mathlib/Topology/Instances/CantorSet.lean,Mathlib/Topology/MetricSpace/HausdorffAlexandroff.lean,scripts/noshake.json 8 5 ['alreadydone', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'vasnesterov'] nobody
46-73841
1 month ago
46-73842
1 month ago
0-2240
37 minutes
26184 vasnesterov
author:vasnesterov
feat(Topology): every compact metric space is image of Cantor set --- - [ ] depends on: #26027 - [ ] depends on: #26149 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-topology merge-conflict blocked-by-other-PR 869/0 Mathlib.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Data/Nat/Cast/Order/Field.lean,Mathlib/Data/Real/OfDigits.lean,Mathlib/Topology/Compactness/HilbertCubeEmbedding.lean,Mathlib/Topology/Homeomorph/Defs.lean,Mathlib/Topology/Instances/CantorSet.lean,Mathlib/Topology/MetricSpace/HausdorffAlexandroff.lean,scripts/noshake.json 9 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
46-73836
1 month ago
46-73837
1 month ago
0-602
10 minutes
26185 vasnesterov
author:vasnesterov
feat(Counterexamples): Peano curve Prove the existence of a continuous surjection from `unitInterval` onto `unitInterval × unitInterval`. --- - [ ] depends on: #26184 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-topology merge-conflict blocked-by-other-PR 927/0 Counterexamples.lean,Counterexamples/PeanoCurve.lean,Mathlib.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Data/Nat/Cast/Order/Field.lean,Mathlib/Data/Real/OfDigits.lean,Mathlib/Topology/Compactness/HilbertCubeEmbedding.lean,Mathlib/Topology/Homeomorph/Defs.lean,Mathlib/Topology/Instances/CantorSet.lean,Mathlib/Topology/MetricSpace/HausdorffAlexandroff.lean,scripts/noshake.json 11 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
46-73835
1 month ago
46-73836
1 month ago
0-1381
23 minutes
26395 winstonyin
author:winstonyin
feat: $C^1$ vector fields on compact manifolds define global flows This PR continues the work from #22254. Original PR: https://github.com/leanprover-community/mathlib4/pull/22254 Any $C^1$ vector field on a compact boundaryless manifold `M` defines a unique global flow `ℝ → M → M`. - [ ] depends on: #26394 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry merge-conflict blocked-by-other-PR WIP 841/406 Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/Order/Filter/Prod.lean,docs/1000.yaml,docs/undergrad.yaml 7 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'winstonyin'] nobody
46-73699
1 month ago
46-73699
1 month ago
0-52
52 seconds
26413 michaellee94
author:michaellee94
feat(Analysis/ODE/MaximalSolution): Existence of maximal solutions for ODE 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 - [ ] depends on: #26534 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis merge-conflict awaiting-author blocked-by-other-PR 746/1 Mathlib.lean,Mathlib/Analysis/ODE/MaximalSolution.lean,docs/undergrad.yaml 3 13 ['github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'winstonyin'] nobody
46-73697
1 month ago
46-73697
1 month ago
0-5139
1 hour
26465 joelriou
author:joelriou
feat(Algebra/Module): presentation of the `PiTensorProduct` Given a presentation of a finite number of `R`-modules `M i`, we obtain a presentation of the module `⨂[R] i, M i`. --- - [ ] depends on: #26464 This PR continues the work from #18527. Original PR: https://github.com/leanprover-community/mathlib4/pull/18527 file-removed t-algebra merge-conflict blocked-by-other-PR
label:t-algebra$
525/4 Mathlib.lean,Mathlib/Algebra/Module/Presentation/PiTensor.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/Set/ComplSingletonLift.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Finite.lean,Mathlib/LinearAlgebra/PiTensorProduct/Generators.lean,Mathlib/LinearAlgebra/TensorPower/Basic.lean,Mathlib/RingTheory/PiTensorProduct.lean,Mathlib/SetTheory/Cardinal/Finite.lean 10 4 ['github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
46-73569
1 month ago
46-73570
1 month ago
0-2063
34 minutes
26467 joelriou
author:joelriou
feat(LinearAlgebra): the tensor product of a finite family of free modules is free --- - [ ] depends on: #26464 - [ ] depends on: #26465 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed t-algebra merge-conflict blocked-by-other-PR WIP
label:t-algebra$
607/7 Mathlib.lean,Mathlib/Algebra/Module/Presentation/Free.lean,Mathlib/Algebra/Module/Presentation/PiTensor.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/Set/ComplSingletonLift.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basis.lean,Mathlib/LinearAlgebra/PiTensorProduct/Finite.lean,Mathlib/LinearAlgebra/PiTensorProduct/Generators.lean,Mathlib/LinearAlgebra/TensorPower/Basic.lean,Mathlib/RingTheory/PiTensorProduct.lean,Mathlib/SetTheory/Cardinal/Finite.lean 12 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
46-73567
1 month ago
46-73568
1 month ago
0-2
2 seconds
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 `variation μ = μ`. Co-authored-by: @yoh-tanimoto - [ ] depends on: #26160 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability blocked-by-other-PR 467/0 Mathlib.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Defs.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Lemmas.lean 3 1 ['github-actions'] nobody
46-57757
1 month ago
46-58313
1 month ago
15-66224
15 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 - [ ] depends on: #26165 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability blocked-by-other-PR 680/0 Mathlib.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Defs.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Equiv.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Lemmas.lean 4 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
46-57757
1 month ago
46-58286
1 month ago
15-65390
15 days
26160 oliver-butterley
author:oliver-butterley
feat(MeasureTheory.VectorMeasure): add several lemmas which characterize variation Add the following lemmas concerning variation of a VectorMeasure: * `norm_measure_le_variation`: `‖μ E‖ₑ ≤ variation μ E`. * `variation_neg`: `(-μ).variation = μ.variation`. * `variation_zero`: `(0 : VectorMeasure X V).variation = 0`. * `absolutelyContinuous` Co-authored-by: @yoh-tanimoto - [ ] depends on: #26156 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability blocked-by-other-PR 432/0 Mathlib.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Defs.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Lemmas.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
46-57756
1 month ago
46-58365
1 month ago
15-68781
15 days
24912 YaelDillies
author:YaelDillies
feat: affine monoids Define affine monoids as finitely generated cancellative torsion-free commutative monoids and prove a few of their basic properties: * An affine monoid with no non-trivial unit is generated by its irreducible elements * An affine monoid embeds into `ℤⁿ` for some `n` * Let `M` be an affine monoid. If `R` is a domain, then so is `R[M]`. From Toric Co-authored-by: Patrick Luo --- - [x] depends on: #24913 - [x] depends on: #24914 - [ ] depends on: #26110 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-algebra blocked-by-other-PR
label:t-algebra$
214/0 Mathlib.lean,Mathlib/Algebra/AffineMonoid/Basic.lean,Mathlib/Algebra/AffineMonoid/Embedding.lean,Mathlib/Algebra/AffineMonoid/Irreducible.lean,Mathlib/Algebra/AffineMonoid/UniqueSums.lean 5 15 ['YaelDillies', 'b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'smorel394'] nobody
46-50253
1 month ago
63-32465
2 months ago
7-26907
7 days
24627 pechersky
author:pechersky
feat(Topology/Algebra/Valued): `IsLinearTopology 𝒪[K] K` and `𝒪[K] 𝒪[K]` as well as `IsLinearTopology ℤ_[p] ℤ_[p]` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #26829 t-topology merge-conflict awaiting-author blocked-by-other-PR 376/30 Mathlib.lean,Mathlib/NumberTheory/Padics/LinearTopology.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/Integers.lean,Mathlib/Topology/Algebra/Valued/LinearTopology.lean,Mathlib/Topology/Algebra/Valued/LocallyCompact.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean,Mathlib/Topology/Algebra/Valued/ValuedField.lean 8 41 ['ADedecker', 'faenuccio', 'github-actions', 'leanprover-community-bot-assistant', 'loefflerd', 'mathlib4-dependent-issues-bot', 'pechersky'] nobody
45-13005
1 month ago
46-76398
1 month ago
19-50489
19 days
26871 grunweg
author:grunweg
feat: finite sum, difference, scalar product of differentiable sections is differentiable This mirrors the additions of #26674 to `mdifferentiable` sections. Part of the path towards geodesics and the Levi-Civita connection. Co-authored-by: Patrick Massot --- - [ ] depends on: #26870 (and perhaps more/need to split afterwards) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry merge-conflict blocked-by-other-PR 470/3 Mathlib/Geometry/Manifold/VectorBundle/MDifferentiable.lean 1 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
43-36969
1 month ago
44-15249
1 month ago
0-1058
17 minutes
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/) t-category-theory blocked-by-other-PR 307/18 Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean 2 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
42-22645
1 month ago
42-22694
1 month ago
0-1593
26 minutes
25900 pfaffelh
author:pfaffelh
feat (Topology/Compactness/CompactSystem): Set system of finite unions of sets in a compact system is again a compact system feat (Topology/Compactness/CompactSystem): The set system of finite unions of sets in a compact system is a compact system A compact system is a set system with the following property: If all finite intersections of a sequence in the set system is non-empty, the countable intersection is not empty. Starting with a compact system, consider the finite unions of sets in the copact system. Such sets again form a compact system (`IsCompactSystem.union.isCompactSystem`). --- - [x] depends on: #24906 - [ ] depends on: #25899 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24543.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24543* t-topology merge-conflict blocked-by-other-PR 1017/66 Mathlib.lean,Mathlib/Data/Set/Accumulate.lean,Mathlib/Data/Set/Dissipate.lean,Mathlib/Data/Set/Prod.lean,Mathlib/MeasureTheory/Constructions/Cylinders.lean,Mathlib/MeasureTheory/Constructions/ProjectiveFamilyContent.lean,Mathlib/MeasureTheory/PiSystem.lean,Mathlib/Topology/Compactness/CompactSystem.lean 8 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
39-55727
1 month ago
39-66119
1 month ago
0-850
14 minutes
10654 smorel394
author:smorel394
feat(LinearAlgebra/{ExteriorPower,LinearIndependent,TensorPower}): define the exterior powers of a module and prove some of their basic properties This introduces the exterior powers of a module and proves some of their basic properties, in `LinearAlgebra/ExteriorPower/Basic.lean` and `LinearAlgebra/ExteriorPower/Generators.lean`. It also adds a lemma in `LinearAlgebra/LinearIndependent.lean` (`linearIndependent_of_dualFamily` : if a family of vectors admits a "dual" family of linear forms, then it is linearly independent) and a construction in `LinearAlgebra/TensorPower.lean` (`linearFormOfFamily` : the linear form on the tensor power of `M` obtained by multiplying a family of linear forms on `M`). # Main definitions ## In `LinearAlgebra/ExteriorPower/Basic.lean`: * `ExteriorPower R n M` is the `n`th exterior power of a `R`-module `M`, defined as `LinearMap.range (ExteriorAlgebra.ι R : M →ₗ[R] ExteriorAlgebra R M) ^ n`. We also introduce the notation `Λ[R]^n M` for `ExteriorPower R n M`. * `ExteriorPower.ιMulti` is the canonical alternating map on `M` with values in `Λ[R]^n M`. * `ExteriorPower.map`: functoriality of exterior powers with respect to linear maps between modules. * `ExteriorPower.toTensorPower`: linear map from the `n`th exterior power to the `n`th tensor power (coming from `MultilinearMap.alternatization` via the universal property of exterior powers). ## In `LinearAlgebra/ExteriorPower/Generators.lean`: * `ExteriorPower.BasisOfBasis`: If `b` is a basis of `M` (indexed by a linearly ordered type), the basis of the `n`th exterior power of `M` formed by the `n`-fold exterior products of elements of `b`. # Main theorems ## In `LinearAlgebra/ExteriorPower/Basic.lean`: * The image of `ExteriorPower.ιMulti` spans `Λ[R]^n M`. * `ExteriorPower.liftAlternatingEquiv` (universal property of the `n`th exterior power of `M`): the linear equivalence between linear maps from `Λ[R]^n M` to a module `N` and `n`-fold alternating maps from `M` to `N`. * `ExteriorPower.map_injective_field`: If `f : M →ₗ[R] N` is injective and `R` is a field, then `ExteriorPower.map n f` is injective. * `ExteriorPower.map_surjective`: If `f : M →ₗ[R] N` is surjective, then `ExteriorPower.map n f` is surjective. * `ExteriorPower.mem_exteriorPower_is_mem_finite`: Every element of `Λ[R]^n M` is in the image of `Λ[R]^n P` for some finitely generated submodule `P` of `M`. ## In `LinearAlgebra/ExteriorPower/Generators.lean`: * `ExteriorPower.Finite`: The `n`th exterior power of a finite module is a finite module. * `ExteriorPower.span_top_of_span_top` and `ExteriorPower.span_top_of_span_top'`: If a family of vectors spans `M`, then the family of its `n`-fold exterior products spans `Λ[R]^n M`. (We give versions in the exterior algebra and in the exterior power.) * `ExteriorPower.FreeOfFree`: If `M` is a free module, then so is its `n`th exterior power. * `ExteriorPower.FinrankOfFiniteFree`: If `R` satisfies the strong rank condition and `M` is finite free of rank `r`, then the `n`th exterior power of `M` is of finrank `Nat.choose r n`. * `ExteriorPower.ιMulti_family_linearIndependent_field`: If `R` is a field, and if `v` is a linearly independent family of vectors (indexed by a linearly ordered type), then the family of its `n`-fold exterior products is also linearly independent. - [x] depends on: #10744 - [ ] depends on: #11156 - [x] depends on: #18590 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra merge-conflict please-adopt blocked-by-other-PR
label:t-algebra$
739/0 Mathlib.lean,Mathlib/LinearAlgebra/ExteriorPower/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Generators.lean,Mathlib/LinearAlgebra/LinearIndependent.lean,Mathlib/LinearAlgebra/TensorPower.lean 5 46 ['Ruben-VandeVelde', 'YaelDillies', 'bustercopley', 'eric-wieser', 'github-actions', 'joelriou', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mattrobball', 'pink10000', 'smorel394'] eric-wieser
assignee:eric-wieser
36-72264
1 month ago
259-17646
8 months ago
22-67320
22 days
26884 alreadydone
author:alreadydone
Universal cover --- - [ ] depends on: #24983 - [ ] depends on: #22771 - [ ] depends on: #22782 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology merge-conflict blocked-by-other-PR WIP 1126/359 Mathlib.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnected.lean,Mathlib/CategoryTheory/Groupoid.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Geometry/Manifold/Sheaf/Smooth.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Topology/Covering.lean,Mathlib/Topology/EtaleSpace.lean,Mathlib/Topology/FiberBundle/Trivialization.lean,Mathlib/Topology/Homotopy/HomotopyGroup.lean,Mathlib/Topology/Homotopy/Lifting.lean,Mathlib/Topology/Homotopy/Product.lean,Mathlib/Topology/IsLocalHomeomorph.lean,Mathlib/Topology/Sheaves/LocalPredicate.lean,Mathlib/Topology/Sheaves/Sheafify.lean,Mathlib/Topology/Sheaves/Stalks.lean 20 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
36-57661
1 month ago
42-31111
1 month ago
0-0
0 seconds
26950 alreadydone
author:alreadydone
Primitives of holomorphic functions and path integral --- - [ ] depends on: #22782 - [x] depends on: #24983 - [ ] depends on: #22771 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis t-topology merge-conflict blocked-by-other-PR WIP 1288/361 Mathlib.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnected.lean,Mathlib/Analysis/Complex/Primitive.lean,Mathlib/CategoryTheory/Groupoid.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Geometry/Manifold/Sheaf/Smooth.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Topology/Covering.lean,Mathlib/Topology/EtaleSpace.lean,Mathlib/Topology/FiberBundle/Trivialization.lean,Mathlib/Topology/Homotopy/HomotopyGroup.lean,Mathlib/Topology/Homotopy/Lifting.lean,Mathlib/Topology/Homotopy/Product.lean,Mathlib/Topology/IsLocalHomeomorph.lean,Mathlib/Topology/Sheaves/LocalPredicate.lean,Mathlib/Topology/Sheaves/Sheafify.lean,Mathlib/Topology/Sheaves/Stalks.lean 21 n/a ['mathlib4-dependent-issues-bot'] nobody
36-54102
1 month ago
unknown
unknown
27070 vasnesterov
author:vasnesterov
golf: use `order` --- - [ ] depends on: #26580 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import merge-conflict blocked-by-other-PR WIP 619/466 Mathlib.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/ContinuedFractions/Computation/CorrectnessTerminating.lean,Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean,Mathlib/Algebra/GeomSum.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Homology/ShortComplex/Ab.lean,Mathlib/Algebra/Lie/Ideal.lean,Mathlib/Algebra/Lie/IdealOperations.lean,Mathlib/Algebra/Lie/Semisimple/Basic.lean,Mathlib/Algebra/Lie/Subalgebra.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/MvPolynomial/Degrees.lean,Mathlib/Algebra/MvPolynomial/Division.lean,Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Algebra/Order/Group/Indicator.lean,Mathlib/Algebra/Order/Rearrangement.lean,Mathlib/Algebra/Order/Ring/IsNonarchimedean.lean,Mathlib/Algebra/Order/Star/Prod.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Algebra/Polynomial/CoeffMem.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Inductions.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/Polynomial/Sequence.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/AlgebraicGeometry/ValuativeCriterion.lean,Mathlib/AlgebraicTopology/SimplicialObject/Split.lean,Mathlib/Analysis/Calculus/Deriv/MeanValue.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/ConstantSpeed.lean,Mathlib/Analysis/Convex/StrictConvexBetween.lean,Mathlib/Analysis/Convex/Uniform.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/InnerProductSpace/Orthogonal.lean,Mathlib/Analysis/InnerProductSpace/Projection.lean,Mathlib/Analysis/Matrix.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/Meromorphic/FactorizedRational.lean,Mathlib/Analysis/Meromorphic/NormalForm.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Log/Base.lean,Mathlib/Analysis/SpecialFunctions/PolarCoord.lean,Mathlib/CategoryTheory/SmallObject/Iteration/ExtendToSucc.lean,Mathlib/CategoryTheory/Subpresheaf/Equalizer.lean,Mathlib/Combinatorics/Additive/Corner/Roth.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Girth.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Computability/Partrec.lean,Mathlib/Data/ENNReal/Inv.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/Data/FinEnum/Option.lean,Mathlib/Data/Finset/Lattice/Fold.lean,Mathlib/Data/Fintype/Perm.lean,Mathlib/Data/Int/WithZero.lean,Mathlib/Data/List/MinMax.lean,Mathlib/Data/Matroid/Basic.lean,Mathlib/Data/Nat/Choose/Central.lean,Mathlib/Data/Nat/Digits/Defs.lean,Mathlib/Data/Nat/Factors.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/PNat/Basic.lean,Mathlib/Data/Rat/Floor.lean,Mathlib/Data/Set/MemPartition.lean,Mathlib/Data/Sign.lean,Mathlib/Dynamics/TopologicalEntropy/Subset.lean,Mathlib/FieldTheory/Relrank.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/RingedSpace/Basic.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean,Mathlib/LinearAlgebra/AffineSpace/FiniteDimensional.lean,Mathlib/LinearAlgebra/ExteriorPower/Pairing.lean,Mathlib/LinearAlgebra/Matrix/Block.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean,Mathlib/MeasureTheory/Covering/Besicovitch.lean,Mathlib/MeasureTheory/Covering/Differentiation.lean,Mathlib/MeasureTheory/Covering/LiminfLimsup.lean,Mathlib/MeasureTheory/Covering/Vitali.lean,Mathlib/MeasureTheory/Function/AEEqFun.lean,Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean,Mathlib/MeasureTheory/Function/AEEqOfLIntegral.lean,Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean 224 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
36-37515
1 month ago
36-37516
1 month ago
0-10
10 seconds
26886 pechersky
author:pechersky
feat(NumberTheory/Padics/ValuativeRel): ValuativeRel ℚ_[p] as well as instances for IsRankLeOne, IsNontrivial, IsDiscrete --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #26827 t-algebra t-analysis t-number-theory merge-conflict blocked-by-other-PR WIP
label:t-algebra$
310/25 Mathlib.lean,Mathlib/Analysis/Normed/ValuativeRel.lean,Mathlib/NumberTheory/Padics/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean 4 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
36-9132
1 month ago
36-9132
1 month ago
0-1386
23 minutes
25324 eric-wieser
author:eric-wieser
feat: more functorial results about DFinsupp --- - [ ] depends on: #27182 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) [#mathlib4 > Equiv.cast for structures @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Equiv.2Ecast.20for.20structures/near/521390935) blocked-by-other-PR WIP 140/15 Mathlib/Data/DFinsupp/Defs.lean,Mathlib/LinearAlgebra/DFinsupp.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
36-7286
1 month ago
36-7287
1 month ago
0-0
0 seconds
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. --- - [ ] depends on: #26836 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order blocked-by-other-PR 287/0 Mathlib.lean,Mathlib/Order/Lattice.lean,Mathlib/Order/LatticeElements.lean,docs/references.bib 4 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
34-65492
1 month ago
34-70133
1 month ago
0-9
9 seconds
25834 Rida-Hamadani
author:Rida-Hamadani
feat(SimpleGraph): girth-diameter inequality This is a useful inequality that comes up in proofs related to Moore graphs, cages, SRGs, and so on. --- - [x] depends on: #26380 - [x] depends on: #25650 - [ ] depends on: #26614 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics blocked-by-other-PR WIP 825/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/GirthDiam.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
33-53482
1 month ago
57-6876
1 month ago
0-28
28 seconds
26973 peabrainiac
author:peabrainiac
feat(Geometry/Diffeology): diffeologies generated from sets of plots Introduces diffeologies generated from sets of plots, shows that this defines a Galois insertion, and concludes that the diffeologies on a type form a complete lattice. --- This PR continues the work from #22724. - [ ] depends on: #26484 t-differential-geometry blocked-by-other-PR 629/0 Mathlib.lean,Mathlib/Geometry/Diffeology/Basic.lean,docs/references.bib 3 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'peabrainiac'] nobody
33-15098
1 month ago
41-30772
1 month ago
0-785
13 minutes
27258 JovanGerb
author:JovanGerb
Imo2020 q6 Original PR: #23431 This PR adds a solution to IMO 2020 Q6. It follows the solution that I found when I was participating in the IMO. I used the statement formalization that was given by @jsm28. The function `project a b p` that is defined here is the same as `signedDist a p (b -ᵥ a)` defined in #27260. --- - [ ] depends on: #27257 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) IMO blocked-by-other-PR 367/0 Archive.lean,Archive/Imo/Imo2020Q6.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
33-6800
1 month ago
33-30017
1 month ago
0-1307
21 minutes
27273 xroblot
author:xroblot
feat(IntermediateField/LinearDisjoint): Two fields are linearly disjoint iff they are disjoint in the Galois case --- - [ ] depends on: #26841 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra blocked-by-other-PR
label:t-algebra$
142/2 Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean,Mathlib/FieldTheory/LinearDisjoint.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
32-84792
1 month ago
32-84793
1 month ago
0-1636
27 minutes
27274 peabrainiac
author:peabrainiac
feat(Geometry/Diffeology): continuous diffeologies & D-topology-lemmas Introduces the continuous diffeology on topological spaces and the Galois connection between it and the D-topology, and then uses it to prove a few more lemmas about the D-topology. --- Aside from being useful for defining a right adjoint of the D-topology functor later, this is a prerequisite for correctly defining coinduced diffeologies (namely in such a way that the D-topology is defeq to the coinduced topology) and thus also for most constructions of diffeological spaces. - [ ] depends on: #26973 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry blocked-by-other-PR 766/0 Mathlib.lean,Mathlib/Geometry/Diffeology/Basic.lean,Mathlib/Geometry/Diffeology/Continuous.lean,docs/references.bib 4 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
32-82191
1 month ago
32-82192
1 month ago
0-1796
29 minutes
25848 joelriou
author:joelriou
feat/refactor: redefinition of homology + derived categories This PR contains a redefinition of homology, theorems about localization of categories, including triangulated categories, a construction of the derived category of an abelian category, derived functors, spectral sequences, etc. (This is made a PR only to facilitate navigation in the code of this branch.) This formalization is outlined in the paper _Formalization of derived categories in Lean/mathlib_ https://hal.science/hal-04546712 The homology of `ShortComplex C` (diagrams of two composable morphisms whose composition is zero) is developed in `Algebra.Homology.ShortComplex`. The files in that folder have been added one by one in separate PRs, and then, the current definition of `homology` has been replaced by this new definition in a refactor PR.
Homology refactor: * #4203 * #4204 * #4388 * #4609 * #4645 * #4787 * #4853 * #5250 * #5674 * #6008 * #6039 * #6089 * #6227 * #6230 * #6231 * #6245 * #6267 * #6279 * #6324 * #6443 * #6586 * #6994 * #7042 * #7047 * #7052 * #7192 * #7193 * #7194 * #7195 * #7197 * #7256 * #7262 * #7280 * #7623 * #7624 * #7806 * #7816 * #7817 * #7821 * #7954 * #7966 * #7993 * #7995 * #7996 * #7997 * #8058 * #8060 * #8069 * #8079 * #8081 * #8084 * #8091 * #8113 * #8114 * #8152 * #8159 * #8174 * #8200 * #8206 * #8208 * #8472 * #8468 * #8475 * #8490 * #8491 * #8507 * #8512 * #8593 * #8595 * #8706 * #8765 * #8766 * #8845 * #9022 * #12649 * #12638
Homological complexes: * #9333 * #9335 * #9331
Localization of categories: * #6233 * #6235 * #6236 * #6867 * #6869 * #6887 * #6882 * #8041 * #8055 * #8069 * #8516 * #8864 * #8865 * #9702 * #9692 * #10606 * #10607 * #11721 * #11728 * #11737 * #12728
Shifts on categories: * #4429 * #6652 * #6653 * #6655 * #7268 * #7270 * #9001 * #11764
Triangulated categories: * #6377 * #6688 * #6815 * #7053 * #7324 * #7327 * #7336 * #7626 * #7641 * #9049 * #9073 * #10527 * #11738 * #11740 * #11759 * #11786 * #11789 * #11805 * #12619
Construction of the derived category: * #6626 * #6701 * #6720 * #6894 * #7048 * #7049 * #7050 * #7201 * #7656 * #8937 * #8966 * #8969 * #8970 * #9054 * #9447 * #8951 * #9483 * #9508 * #9509 * #9592 * #9614 * #9615 * #9032 * #9370 * #9550 * #9686 * #9660 * #11760 * #11782 * #11806
Derived functors: * #10195 * #10270 * #10301 * #10384 * #10413 * #12168 * #12627 * #12631 * #12633 * #12785 * #12788
Refactor of Ext-groups: * #12607
- [ ] depends on: #24309 - [ ] depends on: #24275 - [x] depends on: #24191 - [ ] depends on: #23797 - [x] depends on: #22586 - [ ] depends on: #22556 - [ ] depends on: #22547 - [ ] depends on: #22539 - [ ] depends on: #22508 - [ ] depends on: #22450 - [ ] depends on: #23915 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #4197.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/4197*
large-import t-topology t-category-theory merge-conflict blocked-by-other-PR WIP 41795/490 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Free.lean,Mathlib/Algebra/Category/ModuleCat/LeftResolutions.lean,Mathlib/Algebra/Homology/Additive.lean,Mathlib/Algebra/Homology/BicomplexColumns.lean,Mathlib/Algebra/Homology/BicomplexRows.lean,Mathlib/Algebra/Homology/Bifunctor.lean,Mathlib/Algebra/Homology/BifunctorColimits.lean,Mathlib/Algebra/Homology/BifunctorCommShift.lean,Mathlib/Algebra/Homology/BifunctorFlip.lean,Mathlib/Algebra/Homology/BifunctorHomotopy.lean,Mathlib/Algebra/Homology/BifunctorMappingCone.lean,Mathlib/Algebra/Homology/BifunctorShift.lean,Mathlib/Algebra/Homology/BifunctorSingle.lean,Mathlib/Algebra/Homology/BifunctorTriangulated.lean,Mathlib/Algebra/Homology/CategoryWithHomology.lean,Mathlib/Algebra/Homology/CochainComplexMinus.lean,Mathlib/Algebra/Homology/ComplexShape.lean,Mathlib/Algebra/Homology/ComplexShapeSigns.lean,Mathlib/Algebra/Homology/ConnectShortExact.lean,Mathlib/Algebra/Homology/DerivedCategory/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/DerivabilityStructureInjectives.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Linear.lean,Mathlib/Algebra/Homology/DerivedCategory/Fractions.lean,Mathlib/Algebra/Homology/DerivedCategory/FullyFaithful.lean,Mathlib/Algebra/Homology/DerivedCategory/HomologySequence.lean,Mathlib/Algebra/Homology/DerivedCategory/Linear.lean,Mathlib/Algebra/Homology/DerivedCategory/Minus.lean,Mathlib/Algebra/Homology/DerivedCategory/Monoidal.lean,Mathlib/Algebra/Homology/DerivedCategory/Plus.lean,Mathlib/Algebra/Homology/DerivedCategory/RightDerivedFunctorPlus.lean,Mathlib/Algebra/Homology/DerivedCategory/SingleTriangle.lean,Mathlib/Algebra/Homology/DerivedCategory/SpectralObject.lean,Mathlib/Algebra/Homology/DerivedCategory/TStructure.lean,Mathlib/Algebra/Homology/Double.lean,Mathlib/Algebra/Homology/DoubleHomology.lean,Mathlib/Algebra/Homology/Embedding/CochainComplex.lean,Mathlib/Algebra/Homology/Embedding/CochainComplexTrunc.lean,Mathlib/Algebra/Homology/Embedding/ComplementaryTrunc.lean,Mathlib/Algebra/Homology/Embedding/ExtendMap.lean,Mathlib/Algebra/Homology/Embedding/HomEquiv.lean,Mathlib/Algebra/Homology/Embedding/RestrictionHomology.lean,Mathlib/Algebra/Homology/Embedding/StupidFiltration.lean,Mathlib/Algebra/Homology/Embedding/StupidTrunc.lean,Mathlib/Algebra/Homology/Embedding/TruncGE.lean,Mathlib/Algebra/Homology/Embedding/TruncLE.lean,Mathlib/Algebra/Homology/Embedding/TruncLEHomology.lean,Mathlib/Algebra/Homology/ExactSequence.lean,Mathlib/Algebra/Homology/ExactSequenceFour.lean,Mathlib/Algebra/Homology/Factorizations/Basic.lean,Mathlib/Algebra/Homology/Factorizations/CM5a.lean,Mathlib/Algebra/Homology/Factorizations/CM5b.lean,Mathlib/Algebra/Homology/HomologicalBicomplex.lean,Mathlib/Algebra/Homology/HomologicalComplex.lean,Mathlib/Algebra/Homology/HomologicalComplexFunctorEquiv.lean,Mathlib/Algebra/Homology/HomologicalComplexLimits.lean,Mathlib/Algebra/Homology/HomologicalComplexLimitsEventuallyConstant.lean,Mathlib/Algebra/Homology/Homology.lean,Mathlib/Algebra/Homology/HomologySequence.lean,Mathlib/Algebra/Homology/HomologySequenceLemmas.lean,Mathlib/Algebra/Homology/Homotopy.lean,Mathlib/Algebra/Homology/HomotopyCategory.lean,Mathlib/Algebra/Homology/HomotopyCategory/Cylinder.lean,Mathlib/Algebra/Homology/HomotopyCategory/DegreewiseSplit.lean,Mathlib/Algebra/Homology/HomotopyCategory/Devissage.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplexShift.lean,Mathlib/Algebra/Homology/HomotopyCategory/KInjective.lean,Mathlib/Algebra/Homology/HomotopyCategory/MappingCone.lean,Mathlib/Algebra/Homology/HomotopyCategory/Minus.lean,Mathlib/Algebra/Homology/HomotopyCategory/Monoidal.lean,Mathlib/Algebra/Homology/HomotopyCategory/MonoidalTriangulated.lean,Mathlib/Algebra/Homology/HomotopyCategory/Plus.lean,Mathlib/Algebra/Homology/HomotopyCategory/PreservesQuasiIso.lean,Mathlib/Algebra/Homology/HomotopyCategory/Pretriangulated.lean,Mathlib/Algebra/Homology/HomotopyCategory/Shift.lean,Mathlib/Algebra/Homology/HomotopyCategory/ShiftSequence.lean,Mathlib/Algebra/Homology/HomotopyCategory/ShortExact.lean,Mathlib/Algebra/Homology/HomotopyCategory/SingleFunctors.lean,Mathlib/Algebra/Homology/HomotopyCategory/SpectralObject.lean,Mathlib/Algebra/Homology/HomotopyFiber.lean,Mathlib/Algebra/Homology/LeftResolutions/Basic.lean,Mathlib/Algebra/Homology/LeftResolutions/CochainComplex.lean,Mathlib/Algebra/Homology/LeftResolutions/CochainComplexMinus.lean,Mathlib/Algebra/Homology/LeftResolutions/Reduced.lean,Mathlib/Algebra/Homology/LeftResolutions/Transport.lean,Mathlib/Algebra/Homology/Localization.lean,Mathlib/Algebra/Homology/Monoidal.lean,Mathlib/Algebra/Homology/ObjectProperty.lean,Mathlib/Algebra/Homology/PreservesQuasiIso.lean,Mathlib/Algebra/Homology/QuasiIso.lean,Mathlib/Algebra/Homology/Refinements.lean,Mathlib/Algebra/Homology/ShortComplex/Abelian.lean,Mathlib/Algebra/Homology/ShortComplex/Basic.lean,Mathlib/Algebra/Homology/ShortComplex/Exact.lean,Mathlib/Algebra/Homology/ShortComplex/FiveLemma.lean,Mathlib/Algebra/Homology/ShortComplex/FourLemma.lean,Mathlib/Algebra/Homology/ShortComplex/HomologicalComplex.lean,Mathlib/Algebra/Homology/ShortComplex/Images.lean,Mathlib/Algebra/Homology/ShortComplex/Preadditive.lean 295 n/a ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
28-37143
28 days ago
unknown
unknown
27416 joelriou
author:joelriou
feat(Algebra/Homology): Ext modules In this PR, we show that if `C` is a `R`-linear abelian category, then there is a `R`-module structure on the groups `Ext X Y n` for `X` and `Y` in `C` and `n : ℕ`. --- - [ ] depends on: #26031 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-category-theory blocked-by-other-PR WIP
label:t-algebra$
172/0 Mathlib.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Linear.lean,Mathlib/Algebra/Homology/DerivedCategory/Linear.lean,Mathlib/Algebra/Homology/HomotopyCategory/Shift.lean,Mathlib/Algebra/Homology/HomotopyCategory/SingleFunctors.lean 5 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
27-70452
27 days ago
27-70452
27 days ago
0-146
2 minutes
19607 madvorak
author:madvorak
Block matrix totally unimodular --- Discussion: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/TU.20block.20matrix.20.2319607 - [ ] depends on: #19323 - [ ] depends on: #20428 - [ ] depends on: #20433 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict blocked-by-other-PR WIP 156/0 Mathlib.lean,Mathlib/Data/Sum/Decompose.lean,Mathlib/LinearAlgebra/Matrix/Determinant/TotallyUnimodular.lean 3 11 ['github-actions', 'jcommelin', 'leanprover-community-bot-assistant', 'madvorak', 'mathlib4-dependent-issues-bot'] nobody
27-56473
27 days ago
27-56474
27 days ago
0-0
0 seconds
26987 joelriou
author:joelriou
chore: deprecating module LinearAlgebra.PiTensorProduct --- - [ ] depends on: #26464 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict blocked-by-other-PR WIP
label:t-algebra$
1209/934 Mathlib.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/SubtypeNeLift.lean,Mathlib/LinearAlgebra/PiTensorProduct.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Finite.lean,Mathlib/LinearAlgebra/PiTensorProduct/Generators.lean,Mathlib/LinearAlgebra/TensorPower/Basic.lean,Mathlib/RingTheory/PiTensorProduct.lean,Mathlib/SetTheory/Cardinal/Finite.lean 10 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
27-54873
27 days ago
27-54873
27 days ago
0-2
2 seconds
26104 xroblot
author:xroblot
feat(NumberField/IsCM): compute ratio of regulators This PR continues the work from #23696. --- - [x] depends on: #23694 - [ ] depends on: #26075 - [ ] depends on: #26108 large-import t-number-theory merge-conflict blocked-by-other-PR 681/85 Mathlib/Algebra/Field/Equiv.lean,Mathlib/Algebra/Group/Invertible/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/AlgebraicGeometry/Morphisms/Proper.lean,Mathlib/FieldTheory/LinearDisjoint.lean,Mathlib/GroupTheory/GroupAction/FixedPoints.lean,Mathlib/GroupTheory/Index.lean,Mathlib/LinearAlgebra/Determinant.lean,Mathlib/LinearAlgebra/Dimension/Localization.lean,Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean,Mathlib/NumberTheory/NumberField/CMField.Lean,Mathlib/NumberTheory/NumberField/Units/Basic.lean,Mathlib/NumberTheory/NumberField/Units/DirichletTheorem.lean,Mathlib/NumberTheory/NumberField/Units/Regulator.lean,Mathlib/RingTheory/Artinian/Ring.lean,Mathlib/RingTheory/IntegralClosure/Algebra/Defs.lean,Mathlib/RingTheory/IntegralClosure/IsIntegralClosure/Basic.lean,Mathlib/RingTheory/LinearDisjoint.lean,Mathlib/RingTheory/Localization/FractionRing.lean,Mathlib/RingTheory/Localization/Integral.lean,Mathlib/RingTheory/SimpleRing/Field.lean 21 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'xroblot'] nobody
27-29557
27 days ago
27-29558
27 days ago
0-1395
23 minutes
26872 faenuccio
author:faenuccio
chore(RingTheory/Valuation/RankOne): modify the definition of Valuation.RankOne using its range rather than its codomain We modify the definition of `RankOne` for a valuation in terms of its `valueGroup` rather than its codomain. Co-authored by María Inés de Frutos Fernández @mariainesdff - [ ] depends on: #26588 - [x] depends on: #26980 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict blocked-by-other-PR WIP
label:t-algebra$
350/69 Mathlib.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean,Mathlib/Algebra/Order/GroupWithZero/WithZero.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/RankOne.lean,Mathlib/Topology/Algebra/Valued/NormedValued.lean 8 10 ['faenuccio', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'pechersky'] nobody
27-23228
27 days ago
27-23228
27 days ago
0-117
1 minute
24668 robertmaxton42
author:robertmaxton42
feat(LinearAlgebra): add inductive principle for the free product of algebras * Add `FreeProduct.inductionOn` and `.asPowers.inductionOn`. - [ ] depends on: #24532 --- * `simp↓` on `empty_rel'_bot`: the LHS is indeed not in simp-normal form, but `simp` can't solve the full lemma (if only because `Function.onFun` isn't marked `@[simp]`) and the actual simp-normal form of `rel'` isn't terribly useful for humans. Since I do expect users to type `rel' R A` by hand, I claim this use of `simp↓` is justified. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict blocked-by-other-PR
label:t-algebra$
205/9 Mathlib/LinearAlgebra/FreeProduct/Basic.lean 1 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
25-84442
25 days ago
25-84443
25 days ago
0-333
5 minutes
26820 robin-carlier
author:robin-carlier
feat(CategoryTheory/Monoidal/DayConvolution): `LawfulDayConvolutionMonoidalCategoryStruct` constructors This PR continues the work started in #26798 and gives ways to construct monoidal structures and `LawfulDayConvolutionMonoidalCategoryStruct` in practice. We introduce a class `InducedLawfulDayConvolutionMonoidalCategoryStructCore` that bundles the data necessary to construct a `MonoidalCategoryStruct` (and in fact a `LawfulDayConvolutionMonoidalCategoryStruct`): this is that of a fully faithful functor to a category of functors, and the data of relevant day convolutions, as well as possible candidates for the `tensorHom` and units of the day convolutions for better definitional control if needed. We show that we can turn such a structure into a `MonoidalCategoryStruct` that extends to a `LawfulDayConvolutionMonoidalCategoryStruct`. While this constructor allows quite a lot of definitional control, some applications require less control, and users might prefer a constructor that provides less data. For this reason, we give a constructor `InducedLawfulDayConvolutionMonoidalCategoryStructCore.ofHasDayConvolutions`, which asks only for the fully faithful, existence of relevant day convolutions, and the fact that they remain in the essential image of the provided functor, this way, we can achieve --- - [ ] depends on: #26798 The typeclass setup in this one is admittedly a bit of a mess. I believe that I did not create any possible bad diamonds with this setup: `InducedLawfulDayConvolutionMonoidalCategoryStructCore.mkMonoidalCategoryStruct` constructs the monoidal structure, which is the "data" part, then extends it (via `mkLawfulDayConvolutionMonoidalCategoryStruct`) to a `LawfulDayConvolutionMonoidalCategoryStruct` on that same (defeq-wise) strucure, then, `MonoidalCategory` is just a bunch of `Prop` on top of that, so should be harmless. I intentionally did not provide any dsimp lemmas for these structure: in my opinion, this machinery is not one that will be used every day, I think it’s better that when we construct monoidal categories with this machinery, we provide manually the lemmas to in a case-by-case basis, rather than trusting `@[simps!]` in these structures. The two implementations of this I can see in a near future is 1. the future type alias for `C ⥤ V` that makes it a monoidal category with this structure 2. augmented simplicial sets, that may or may not make full use of the machinery, depending on how much we want the structure to have good defeq properties) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory blocked-by-other-PR 648/8 Mathlib/CategoryTheory/Monoidal/DayConvolution.lean 1 n/a ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
24-34747
24 days ago
unknown
unknown
26824 robin-carlier
author:robin-carlier
feat(CategoryTheory/Monoidal/DayConvolution): Day functors type synonym Given monoidal categories `C` and `V`, we introduce a type synonym `DayFunctor C V` (denoted `C ⊛⥤ V`) for functors `C ⥤ V` and produce a category instance on it. Using the infrastructure from #26820, we show that this category admits a monoidal structure coming from Day convolution of functors. We provide a very basic API for this category, such as an abbreviation for the unit map of day convolutions, and a restatement of the universal property of the tensor product with respect to that unit. --- - [ ] depends on: #26820 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory blocked-by-other-PR 889/8 Mathlib.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean 3 n/a ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
24-34721
24 days ago
unknown
unknown
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`. --- - [ ] depends on: #26824 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory blocked-by-other-PR 1372/19 Mathlib.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean 4 n/a ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
24-34652
24 days ago
unknown
unknown
26952 robin-carlier
author:robin-carlier
feat(CategoryTheory/DayConvolution): monoid objects internal to day convolutions In this file, given `F : C ⊛⥤ V`, we provide a bijective correspondence between lax monoidal structures on `F.functor` and `Mon_Class F` structures. We also prove that through this correspondance, monoidal natural transformations correspond to morphisms of internal monoid objects. --- - [ ] depends on: #26890 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory blocked-by-other-PR 1574/19 Mathlib.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Mon_.lean 5 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
24-34629
24 days ago
24-34648
24 days ago
0-584
9 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 - [ ] depends on: #26820 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory blocked-by-other-PR 826/9 Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Braided.lean 2 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
24-34380
24 days ago
24-34398
24 days ago
0-1002
16 minutes
27151 robin-carlier
author:robin-carlier
feat(CategoryTheory/Monoidal/DayConvolution): `C ⊛⥤ V` is braided/symmetric when `C` and `V` are braided/symmetric We use the machinery from #27150 to show that Day functors (the type alias for functors endowed with the Day convolution monoidal structure) are braided/symmetric when the base categories are. --- - [ ] depends on: #27150 - [ ] depends on: #26890 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory blocked-by-other-PR 1591/20 Mathlib.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Braided.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean 5 n/a ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
24-34243
24 days ago
unknown
unknown
27175 robin-carlier
author:robin-carlier
feat(CategoryTheory/Monoidal/DayConvolution): `LawfulDayConvolutionMonoidalCategoryStruct.ι C V D` is monoidal when the target is `C ⊛⥤ V` We prove a "soundness" result for our notion of `LawfulDayConvolutionMonoidalCategoryStruct`, i.e that when be interpret its field `ι` as valued in Day functors (the type alias for functors endowed with the Day convolution monoidal structure), the data from `LawfulDayConvolutionMonoidalCategoryStruct` turn `ι` in a monoidal functor, proving that the categories endowed with such a structure are precisely those that can be identified to monoidal (not necessarily full) subcategories of Day functors. Implicitly, the structure isomorphisms for this monoidal structure bundle isomorphisms asserting unicity up to isomorphisms of day convolutions. --- - [ ] depends on: #26890 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory blocked-by-other-PR 1585/24 Mathlib.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean 4 n/a ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
24-34203
24 days ago
unknown
unknown
27341 staroperator
author:staroperator
feat(LinearAlgebra/LinearIndependent): `linearIndependent_iffₒ` etc for canonically linearly ordered semiring If the semiring `R` is linearly and canonically ordered (e.g. `R = ℕ`), `LinearIndependent` can be proved from linear combination over two disjoint sets. This result is stronger than `linearIndependent_iff'ₛ` and is particularly useful in #27342. --- - [x] depends on: #27340 - [ ] depends on: #27639 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra blocked-by-other-PR
label:t-algebra$
143/0 Mathlib/Algebra/Order/Sub/Basic.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean 2 11 ['YaelDillies', 'eric-wieser', 'github-actions', 'mathlib4-dependent-issues-bot', 'staroperator'] nobody
22-35137
22 days ago
22-35138
22 days ago
4-10223
4 days
27025 grunweg
author:grunweg
feat: Gram-Schmidt procedure on smooth vector bundles yields smooth sections For the Gram-Schmidt process on a vector bundle, deduce that smoothness of the bundle metric implies smoothness of the resulting sections. From the path towards geodesics and the Levi-Civita connection. Co-authored-by: Patrick Massot --- A few sorries remain to prove the continuous case. - [ ] depends on: #27021 - [x] depends on: #27023 - [ ] depends on: #27024 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry blocked-by-other-PR 927/11 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Geometry/Manifold/Elaborators.lean,Mathlib/Geometry/Manifold/Traces.lean,Mathlib/Geometry/Manifold/VectorBundle/GramSchmidtOrtho.lean,scripts/noshake.json 6 5 ['faenuccio', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
21-27195
21 days ago
22-40023
22 days ago
0-316
5 minutes
27694 grunweg
author:grunweg
feat: Gram-Schmidt orthonormalisation preserves continuity of sections provided the bundle metric used in the process is continuous. From the path towards geodesics and the Levi-Civita connection. Co-authored-by: Patrick Massot [patrickmassot@free.fr](mailto:patrickmassot@free.fr) --- - [ ] depends on: #27024 - [ ] depends on: #27021 Baby version of #27025. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry blocked-by-other-PR 390/11 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Geometry/Manifold/VectorBundle/GramSchmidtOrtho.lean,scripts/noshake.json 4 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
21-26466
21 days ago
21-26466
21 days ago
0-696
11 minutes
26264 EtienneC30
author:EtienneC30
feat: characteristic function on product space The characteristic function of a measure is a product of characteristic functions if and only if the measure is a product measure. We prove this for Hilbert spaces and Banach spaces equipped with any Lp norm. --- - [x] depends on: #26248 - [x] depends on: #26249 - [ ] depends on: #26498 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability merge-conflict blocked-by-other-PR 279/12 Mathlib/Analysis/Normed/Lp/PiLp.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/Normed/Lp/WithLp.lean,Mathlib/LinearAlgebra/Pi.lean,Mathlib/MeasureTheory/Measure/CharacteristicFunction.lean,Mathlib/Topology/Algebra/Module/LinearMapPiProd.lean 6 6 ['EtienneC30', 'RemyDegenne', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib-bors', 'mathlib4-dependent-issues-bot'] nobody
20-50984
20 days ago
20-50985
20 days ago
0-83071
23 hours
26269 EtienneC30
author:EtienneC30
feat: links between characteristic function and independence Prove several results of the form: random variables are independent if and only if their joint characteristic function is equal to the product of the characteristic functions. More specifically, prove this in Hilbert spaces for two variables and a finite family of variables. Same in Banach spaces, with an arbitrary Lp norm. --- - [ ] depends on: #26264 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability merge-conflict blocked-by-other-PR 489/12 Mathlib.lean,Mathlib/Analysis/Normed/Lp/PiLp.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/Normed/Lp/WithLp.lean,Mathlib/LinearAlgebra/Pi.lean,Mathlib/MeasureTheory/Measure/CharacteristicFunction.lean,Mathlib/Probability/Independence/CharacteristicFunction.lean,Mathlib/Topology/Algebra/Module/LinearMapPiProd.lean 8 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
20-50982
20 days ago
20-50983
20 days ago
3-13100
3 days
10006 jstoobysmith
author:jstoobysmith
feat(AlgebraicTopology): homotopy in quasicategories Defined a homotopy between two 1-simplicies in a quasicategories, and proved the property of being homotopic forms an equivalence relation. --- - [ ] depends on: #9935 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology new-contributor merge-conflict awaiting-author blocked-by-other-PR 898/1 Mathlib.lean,Mathlib/AlgebraicTopology/Homotopy.lean,Mathlib/AlgebraicTopology/SimplexCategory.lean,Mathlib/AlgebraicTopology/SimplicialSet.lean 4 3 ['joelriou', 'leanprover-community-mathlib4-bot'] nobody
20-47948
20 days ago
20-47948
20 days ago
0-0
0 seconds
25740 robin-carlier
author:robin-carlier
feat(AlgebraicTopology/SimplexCategory/GeneratorsRelations): `SimplexCategoryGenRel.toSimplexCategory` is an equivalence We use the normal forms for morphisms in `SimplexCategoryGenRel` to prove that `SimplexCategoryGenRel.toSimplexCategory` is an equivalence. We prove in order that there exists unique lifts in `SimplexCategoryGenRel` of mono (resp. epis) in `SimplexCategory`, and use this to deduce fully faithfulness of `SimplexCategoryGenRel.toSimplexCategory` thanks to the existing epi-mono factorisation in `SimplexCategory`. Part of a series of PR formalising that `SimplexCategoryGenRel` is equivalent to `SimplexCategory`. --- - [ ] depends on: #25737 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #21747.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/21747* t-algebraic-topology large-import blocked-by-other-PR 942/9 Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/Equivalence.lean,Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
20-47907
20 days ago
20-47908
20 days ago
0-2
2 seconds
25741 robin-carlier
author:robin-carlier
feat(AlgebraicTopology/SimplexCategory/SimplicialObject): definitions of simplicial objects by generators and relation We leverage the equivalence between `SimplexCategory` and `SimplexCategoryGenRel` to give new constructors for (co)simplicial objects, as well as constructors for natural transformations (resp. isomorphism) between those. Final PR in the series of PR formalising the equivalence between `SimplexCategory` and `SimplexCategoryGenRel`. --- - [ ] depends on: #25740 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #21748.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/21748* t-algebraic-topology large-import t-category-theory blocked-by-other-PR 1363/9 Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/Equivalence.lean,Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms.lean,Mathlib/AlgebraicTopology/SimplicialObject/GeneratorsRelations.lean 4 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
20-47886
20 days ago
20-47886
20 days ago
11-15676
11 days
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/) t-algebraic-topology t-category-theory blocked-by-other-PR 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 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
20-47877
20 days ago
20-47877
20 days ago
0-1708
28 minutes
26399 ChrisHughes24
author:ChrisHughes24
refactor(ModelTheory): tidy up proof of Ax-Grothendieck with definable functions I migrated this PR by hand instead of using the script. --- - [x] depends on: #20166 - [x] depends on: #20161 - [x] depends on: #20115 - [x] depends on: #20174 - [x] depends on: #20175 - [x] depends on: #20180 - [x] depends on: #21948 - [ ] depends on: #26398 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic blocked-by-other-PR 639/60 Mathlib.lean,Mathlib/FieldTheory/AxGrothendieck.lean,Mathlib/ModelTheory/FunctionalFormula.lean 3 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
19-42149
19 days ago
19-42222
19 days ago
0-2300
38 minutes
20008 FLDutchmann
author:FLDutchmann
feat(NumberTheory): Selberg sieve This PR is a working draft of the full proof of the fundamental theorem of the Selberg sieve. I will create dependent PRs as I clean up the code. This work was used in the first proof of the prime number theorem in PNT+. --- - [x] depends on: #20025 - [x] depends on: #20026 - [x] depends on: #20779 - [x] depends on: #21880 - [ ] depends on: #27702 - [ ] depends on: #27707 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis t-number-theory merge-conflict awaiting-author blocked-by-other-PR 937/0 Mathlib/NumberTheory/SelbergSieve/Basic.lean,Mathlib/NumberTheory/SelbergSieve/Selberg.lean,docs/references.bib 3 3 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
19-33455
19 days ago
19-33456
19 days ago
0-0
0 seconds
27838 CBirkbeck
author:CBirkbeck
feat(NumberTheory/LSeries/RiemannZeta): add tsum over ints lemma. --- - [ ] depends on: #27841 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory blocked-by-other-PR 63/2 Mathlib/NumberTheory/LSeries/RiemannZeta.lean,Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
19-30734
19 days ago
19-30796
19 days ago
0-1182
19 minutes
27707 FLDutchmann
author:FLDutchmann
feat(NumberTheory/SelbergSieve): define Selberg's weights and prove basic results. This PR continues the work from #23635. Original PR: https://github.com/leanprover-community/mathlib4/pull/23635 - [ ] depends on: #27702 t-analysis t-number-theory blocked-by-other-PR 407/83 Mathlib/NumberTheory/Divisors.lean,Mathlib/NumberTheory/SelbergSieve.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
17-85978
17 days ago
18-3836
18 days ago
3-375
3 days
27217 ctchou
author:ctchou
feat(Combinatorics/HypergraphRamsey): Ramsey's theorem for hypergraphs We prove Ramsey's theorem for infinite hypergraphs: for any colouring of the k-subsets of an infinite set S with a finite set of colours, there is an infinite subset T of S whose k-subsets all have the same colour. The finite versions will follow from compactness techniques, but aren't included here. (#12273 is the first step for this). The proof encodes k-subsets as order-embeddings from Fin k rather than as Finsets, as this makes things more convenient, and should extend better to generalizations like the canonical Ramsey theorem. This requires a small amount of API to be added, including some simple instances for `OrderEmbedding`. We also require a result saying that there is a list of all k-subsets of Nat for which the sequence of largest elements is monotone. We do this by adding some new material in Order.Extension.Linear, which has more general applications. --- Original PR: https://github.com/leanprover-community/mathlib4/pull/12773 - [ ] depends on: #27271 - [ ] depends on: #27233 - [x] depends on: #27211 large-import new-contributor t-combinatorics blocked-by-other-PR 646/1 Mathlib.lean,Mathlib/Combinatorics/HypergraphRamsey.lean,Mathlib/Data/Finset/Sort.lean,Mathlib/Order/Extension/Linear.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/Interval/Finset/Defs.lean,Mathlib/Order/OrderIsoNat.lean,Mathlib/Order/RelClasses.lean 8 5 ['ctchou', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
16-55290
16 days ago
16-55290
16 days ago
2-27044
2 days
27228 themathqueen
author:themathqueen
feat: defining the inner product on tensor products This defines the inner product on tensor product spaces. Also defines `OrthonormalBasis.tensorProduct`. The implementation is based on [here](https://github.com/ocfnash/lean-shannon-lovasz/blob/e63e535599ffb3c2a7e995e1621847693dd68fab/src/to_mathlib/analysis/inner_product_space/tensor_product.lean#L404) (by @jjaassoonn), which defines the inner product on real tensor product spaces. The exact same implementation also applies for the general case. Closes #6020 --- - [ ] depends on: #27353 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-analysis blocked-by-other-PR
label:t-algebra$
376/10 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/TensorProduct.lean,Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Basis.lean 5 5 ['eric-wieser', 'github-actions', 'mathlib4-dependent-issues-bot', 'themathqueen'] nobody
16-55063
16 days ago
16-55063
16 days ago
0-1325
22 minutes
26735 Raph-DG
author:Raph-DG
feat(AlgebraicGeometry): The codimension of a point of a scheme is equal to the krull dimension of the stalk In this PR we show that the codimension of a point in a scheme is equal to the krull dimension of the local ring at that point, as in stacks 02IZ. --- The proof of the main result `stalk_dim_eq_coheight` is currently a bit long for my (and I suspect the broader community's) tastes. That said, I'm not quite sure the best way to break it into pieces, any comments would be very much appreciated! - [x] depends on: #26204 [For the notion of codimension, here we are using the coheight in the specialization order. ] - [ ] depends on: #26225 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry merge-conflict blocked-by-other-PR 221/1 Mathlib/AlgebraicGeometry/Properties.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Topology/KrullDimension.lean 4 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
16-54844
16 days ago
16-54847
16 days ago
0-795
13 minutes
26304 Raph-DG
author:Raph-DG
feat(AlgebraicGeometry): Definition of algebraic cycles In this PR we define algebraic cycles on a scheme X to be functions from the points of X to the integers with locally finite support. We introduce some API for this including grading by height in the specialization order, and a definition of the pushforward. - [ ] depends on: #26225 - [ ] depends on: #26259 --- Note there are a couple of things I'm not quite sure about which I've mentioned in the comments, like how I'm not sure how to make the proof of map_locally finite more manageable and so on. Any comment on these (or anything else!) would be greatly appreciated. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry RFC merge-conflict blocked-by-other-PR 341/0 Mathlib.lean,Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/AlgebraicGeometry/AlgebraicCycle.lean,Mathlib/AlgebraicGeometry/Properties.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/Topology/LocallyFinsupp.lean 6 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
16-54770
16 days ago
16-54770
16 days ago
0-366
6 minutes
25486 VTrelat
author:VTrelat
feat(SetTheory/ZFC/Integers): define integers in ZFC Extend the model of ZFC with integers following the converse direction as for naturals. We first define a type and then build a set. We finally show that both representations have coercions in both direction: - define a proper type `ZFInt` representing integers based on `ZFNat × ZFNat` and following the usual construction of integers - add theorems on usual algebraic properties of integers - define a set `Int` and show that it matches-i.e. that it is isomorphic to-the type `ZFInt` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #25483 - [ ] depends on: #25485 t-set-theory new-contributor merge-conflict blocked-by-other-PR 2003/0 Mathlib/Data/Set/Prod.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Booleans.lean,Mathlib/SetTheory/ZFC/Integers.lean 4 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
16-54512
16 days ago
16-54512
16 days ago
0-2067
34 minutes
25484 VTrelat
author:VTrelat
feat(SetTheory/ZFC/Booleans): define Boolean algebra in ZFC Extend the model of ZFC with Boolean algebra: - define a set 𝔹 of booleans - define a proper type `ZFBool` representing booleans - add theorems on usual algebraic properties of booleans - provide usual boolean notations like `⊤`, `⊥`, `∧`, `∨`, etc. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #25483 t-set-theory new-contributor merge-conflict blocked-by-other-PR 619/0 Mathlib/Data/Set/Prod.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Booleans.lean 3 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
16-54503
16 days ago
16-54503
16 days ago
0-1523
25 minutes
25427 Paul-Lez
author:Paul-Lez
feat(Analysis/Calculus/PartialDerivatives): Propose notation for partial derivatives. This PR introduces a notation for partial derivatives, taken with respect to a canonical basis. The idea here is that this might be useful for e.g. writing down PDEs. The notation allows use to write things like ```lean -- The canonical basis for `ℝ × ℝ` is indexed by `Fin 0` so `∂₀[ℝ]` corresponds to taking -- the first partial derivative example : (∂₀[ℝ] fun (x : ℝ × ℝ) => x.1) 0 = 1 := by simp [Pi.zero_def, lineDeriv] ``` This has already been discussed on Zulip [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Partial.20derivatives). I've opened this PR as a draft in order to get preliminary feedback on the contents (e.g. is this appropriate for Mathlib?); the file contains some demos of the notation in action. Co-authored-by: Eric Wieser --- - [ ] depends on: #25425 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict blocked-by-other-PR 195/0 Mathlib.lean,Mathlib/Analysis/Calculus/PartialDerivatives/Notation.lean,Mathlib/LinearAlgebra/Basis/HasCanonicalBasis.lean 3 16 ['Paul-Lez', 'github-actions', 'leanprover-community-bot-assistant', 'lecopivo', 'mathlib4-dependent-issues-bot', 'ocfnash'] nobody
16-54493
16 days ago
16-54493
16 days ago
0-0
0 seconds
27510 chrisflav
author:chrisflav
feat(RingTheory/Height): height of ideal is height of preimage plus height in quotient If `S` has going-down over `R`, the height of a prime `P` lying over `p` equals the height of `p` plus the height of the image of `P` in `S / p S`. Co-authored by: Sihan Su Co-authored by: Yi Song --- - [ ] depends on: #22300 - [ ] depends on: #27508 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import blocked-by-other-PR 192/1 Mathlib/Data/Finset/Card.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/RingTheory/Ideal/GoingDown.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Basic.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Spectrum/Prime/RingHom.lean 10 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
16-27925
16 days ago
16-27925
16 days ago
0-1531
25 minutes
22059 grunweg
author:grunweg
feat: manifolds with smooth boundary Needs polish, and closing the remaining sorries (or deciding they can be postponed later). From my bordism theory project. --- - [x] depends on: #22070 - [x] depends on: #22128 - [x] depends on: #22131 - [x] depends on: #22082 - [x] depends on: #22113 - [x] depends on: #22105 - [ ] depends on: #26099 - [ ] depends on: #22642 (and a similar result for direct sums), still WIP - [ ] depends on #23040 for the mathlib-level definition of smooth immersions and embeddings [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry merge-conflict blocked-by-other-PR WIP 603/0 Mathlib.lean,Mathlib/Geometry/Manifold/HasSmoothBoundary.lean 2 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
16-9713
16 days ago
131-38833
4 months ago
0-0
0 seconds
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 - [ ] depends on: #26820 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory blocked-by-other-PR 900/9 Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Closed.lean 2 5 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
15-60571
15 days ago
15-60590
15 days ago
0-1
1 second
27133 robin-carlier
author:robin-carlier
feat(CategoryTheory/Monoidal/DayConvolution): `C ⊛⥤ V` is monoidal closed when `V` is When `V` is a monoidal closed category admitting enough limits, we show that the type alias `C ⊛⥤ V` for functors `C ⥤ V` with Day convolution monoidal structure is monoidal closed using the API for `LawfulDayConvolutionClosedMonoidalCategoryStruct` developped in #27119. We expose the required data to exhibit (realization as a functor of) the internal hom as a suitable, and we port the lemmas that characterize its functoriality in that regard, as well as the evaluation and coevaluation morphisms. --- - [ ] depends on: #27119 - [ ] depends on: #26890 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory blocked-by-other-PR 1706/20 Mathlib.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Closed.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean 5 n/a ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
15-60518
15 days ago
unknown
unknown
25143 chrisflav
author:chrisflav
feat(RingTheory): smooth algebras have smooth Noetherian models Co-authored by: Judith Ludwig --- - [ ] depends on: #24794 - [ ] depends on: #25138 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict blocked-by-other-PR 596/45 Mathlib.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Tower.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/Eval.lean,Mathlib/RingTheory/AlgebraicIndependent/Transcendental.lean,Mathlib/RingTheory/Extension/Presentation/Basic.lean,Mathlib/RingTheory/Extension/Presentation/Core.lean,Mathlib/RingTheory/FinitePresentation.lean,Mathlib/RingTheory/FiniteType.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean,Mathlib/RingTheory/Smooth/Basic.lean,Mathlib/RingTheory/Smooth/Kaehler.lean,Mathlib/RingTheory/Smooth/NoetherianDescent.lean,Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean,Mathlib/RingTheory/Unramified/Basic.lean 21 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
15-56686
15 days ago
15-56686
15 days ago
0-713
11 minutes
22909 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(RingTheory/Pure): pure submodules A submodule `N` of an `R`-module is *pure* if all maps `S ⊗[R] N → S ⊗[R] M` deduced by base change from the injection of `N` into `M` are injective, for all `R`-algebras `S`. This is expressed by the class `Submodule.IsPure`. For type theoretic reason, the definition of `Submodule.IsPure` only considers algebras `S` in the same universe as `R`, but `Submodule.IsPure.baseChange_injective` establishes the property for all universes. * `Submodule.IsComplemented.isPure` : a complemented submodule is pure. Co-authored with @mariainesdff --- - [ ] depends on: #22898 - [ ] depends on: #22908 - [x] depends on: #22911 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict blocked-by-other-PR 592/3 Mathlib.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/RingTheory/Adjoin/FG.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Finiteness/Cardinality.lean,Mathlib/RingTheory/Finiteness/Small.lean,Mathlib/RingTheory/Pure.lean,Mathlib/RingTheory/Spectrum/Prime/RingHom.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/DirectLimit/FG.lean,Mathlib/RingTheory/TensorProduct/DirectLimit/Small.lean 11 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
15-56620
15 days ago
15-56620
15 days ago
0-1047
17 minutes
22908 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(RingTheory/Finiteness/Small): tensor product of the system of small submodules The directed limit of a tensor product for the directed system of small submodules. Co-authored with @mariainesdff --- - [ ] depends on: #22898 - [x] depends on: #22911 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict blocked-by-other-PR 624/2 Mathlib.lean,Mathlib/RingTheory/Adjoin/FG.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Finiteness/Cardinality.lean,Mathlib/RingTheory/Finiteness/Small.lean,Mathlib/RingTheory/Spectrum/Prime/RingHom.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/DirectLimit/FG.lean,Mathlib/RingTheory/TensorProduct/DirectLimit/Small.lean 9 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
15-56572
15 days ago
15-56572
15 days ago
0-3552
59 minutes
26051 Komyyy
author:Komyyy
feat(Mathlib/GroupTheory/SpecificGroups/Alternating): A_n is simple iff n = 3 or 5 ≤ n --- For reviewers: This PR is large. Please don't hesitate to let me know if you'd prefer it to be split. - [x] depends on: #25299 - [x] depends on: #25314 - [x] depends on: #25367 - [x] depends on: #26098 - [x] depends on: #26552 - [ ] depends on: #27498 TODO: - [ ] replace `kleinFour` with [alternatingGroup.kleinFour](https://leanprover-community.github.io/mathlib4_docs/Mathlib/GroupTheory/SpecificGroups/Alternating/KleinFour.html#alternatingGroup.kleinFour) added in #27057 This PR continues the work from #23555. Original PR: https://github.com/leanprover-community/mathlib4/pull/23555 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory large-import merge-conflict blocked-by-other-PR WIP 272/26 Mathlib/Algebra/Group/End.lean,Mathlib/GroupTheory/SpecificGroups/Alternating.lean,Mathlib/GroupTheory/SpecificGroups/KleinFour.lean 3 10 ['Komyyy', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'tb65536'] nobody
15-56200
15 days ago
15-56200
15 days ago
10-66608
10 days
27978 smmercuri
author:smmercuri
feat: `InfinitePlace.Extension` API for extensions of infinite places. This PR continues the work from #24881. Original PR: https://github.com/leanprover-community/mathlib4/pull/24881 --- - [ ] depends on: #27977 t-number-theory blocked-by-other-PR 181/0 Mathlib/NumberTheory/NumberField/InfinitePlace/Embeddings.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
15-51710
15 days ago
15-51711
15 days ago
0-421
7 minutes
27971 smmercuri
author:smmercuri
feat: weak approximation theorems for infinite places of a number field This PR continues the work from #22153. Original PR: https://github.com/leanprover-community/mathlib4/pull/22153 --- - [ ] depends on: #27970 t-algebra t-number-theory blocked-by-other-PR
label:t-algebra$
543/2 Mathlib/Algebra/Order/AbsoluteValue/Basic.lean,Mathlib/Analysis/AbsoluteValue/Equivalence.lean,Mathlib/Analysis/Normed/Ring/WithAbs.lean,Mathlib/NumberTheory/NumberField/AdeleRing.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Basic.lean 5 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'smmercuri'] nobody
15-50210
15 days ago
15-50210
15 days ago
0-2675
44 minutes
27970 smmercuri
author:smmercuri
feat: collections of distinct infinite places contain values that diverge around 1 This PR continues the work from #22147. Original PR: https://github.com/leanprover-community/mathlib4/pull/22147 --- - [ ] depends on: #27969 large-import t-algebra t-number-theory blocked-by-other-PR
label:t-algebra$
1647/1 Mathlib/Algebra/Order/AbsoluteValue/Basic.lean,Mathlib/Analysis/AbsoluteValue/Equivalence.lean,Mathlib/Analysis/Normed/Ring/WithAbs.lean,Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Finset/Lattice/Fold.lean,Mathlib/Logic/Pairwise.lean,Mathlib/NumberTheory/NumberField/Embeddings.lean 7 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
15-50202
15 days ago
15-50202
15 days ago
0-2827
47 minutes
26377 Whysoserioushah
author:Whysoserioushah
feat(Mathlib/RingTheory/SimpleRing/TensorProduct): Tensor product of a simple algebra and a central simple algebra is simple co-authored-by: @jjaassoonn --- - [ ] depends on: #26368 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict blocked-by-other-PR 423/0 Mathlib.lean,Mathlib/RingTheory/SimpleRing/TensorProduct.lean,Mathlib/RingTheory/TwoSidedIdeal/SpanAsSum.lean 3 15 ['Whysoserioushah', 'eric-wieser', 'github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
15-43975
15 days ago
15-43976
15 days ago
0-2337
38 minutes
27493 themathqueen
author:themathqueen
feat(RingTheory/Coalgebra): define Frobenius algebra A Frobenius algebra `A` has the structure of both an algebra and a coalgebra such that: `(mul ⊗ id) ∘ assoc.symm ∘ (id ⊗ comul) = comul ∘ mul = (id ⊗ mul) ∘ assoc ∘ (comul ⊗ id)`. In diagrams this law looks like: ![](https://ncatlab.org/nlab/files/frobenius_laws.jpg) It suffices to show that `(mul ⊗ id) ∘ assoc.symm ∘ (id ⊗ comul) = (id ⊗ mul) ∘ assoc ∘ (comul ⊗ id)` (the proof of this is ugly). --- - [ ] depends on: #27567 - [x] depends on: #27569 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory blocked-by-other-PR 224/0 Mathlib.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/RingTheory/Coalgebra/Frobenius.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
15-35145
15 days ago
16-27755
16 days ago
2-700
2 days
23177 faenuccio
author:faenuccio
feat: more lemmas about ordered groups with zero We add some order properties (mainly some `lt`) for types of the form `WithZero α`. Co-authored-by: María Inés de Frutos Fernández --- - [x] depends on: #26665 - [x] depends on: #26724 - [x] depends on: #26761 - [x] depends on: #26762 - [x] depends on: #26763 - [ ] depends on: #26777 large-import t-order awaiting-CI blocked-by-other-PR WIP 13/1 Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean 1 46 ['Vierkantor', 'YaelDillies', 'faenuccio', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
15-33494
15 days ago
15-33516
15 days ago
5-22106
5 days
28001 daefigueroa
author:daefigueroa
feat(Dynamics): add results on topologically transitive flows We define topological transitivity for a flow and show that a factor of a topologically transitive flow is topologically transitive. --- This contribution was created as part of the Utrecht Summerschool "Formalizing Mathematics in Lean" in July 2025. - [ ] depends on: #28000 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-dynamics blocked-by-other-PR 68/3 Mathlib.lean,Mathlib/Dynamics/Flow.lean,Mathlib/Dynamics/Transitive.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
15-14508
15 days ago
15-14508
15 days ago
0-89
1 minute
14089 callesonne
author:callesonne
feat(Bicategory/Functorbicategory): define bicategory of pseudofunctors This PR contains a definition of the bicategory of pseudofunctors, in the file `Bicategory/FunctorBicategory/Pseudo.lean`. It also moves the file `Bicategory/Functorbicategory.lean` to `Bicategory/FunctorBicategory/Oplax.lean`. --- - [x] depends on: #14028 - [x] depends on: #18250 - [x] depends on: #18252 - [x] depends on: #18253 - [ ] depends on: #18254 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict blocked-by-other-PR 385/70 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/FunctorBicategory/Oplax.lean,Mathlib/CategoryTheory/Bicategory/FunctorBicategory/Pseudo.lean,Mathlib/CategoryTheory/Bicategory/Modification/Oplax.lean,Mathlib/CategoryTheory/Bicategory/Modification/Pseudo.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Oplax.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Pseudo.lean 7 6 ['callesonne', 'github-actions', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] nobody
15-2468
15 days ago
15-2469
15 days ago
9-2320
9 days
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 - [ ] depends on: #26547 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-category-theory blocked-by-other-PR 205/0 Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean 1 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
14-63945
14 days ago
14-63964
14 days ago
0-625
10 minutes
26579 robin-carlier
author:robin-carlier
feat(CategoryTheory/Limits/Pullbacks/Categorical/CatCospanTransform): equivalences of categorical cospans Building on the notion of adjunctions of categorical cospans, we define equivalences of categorical cospans as a structure extending that of an adjunction, with the extra data of a chosen inverse of the unit and counit morphisms. To mirror the design for usual equivalences of categories, we provide an alternative constructor that requires the forward and inverse direction of the equivalence, as well as unit and counits already as isomorphisms, and only a proof of the left triangle identity. Finally, we also provide a third constructor that builds such an equivalence out of the data of 3 component equivalences of categories, as well as chosen `CatCommSq` on the functors of the these equivalences. This notion of equivalence of categorical cospans is intended to encode the required data to show the full equivalence invariance of the categorical pullback defined in #26366. --- - [ ] depends on: #26578 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-category-theory blocked-by-other-PR 438/0 Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean 1 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
14-63847
14 days ago
14-63868
14 days ago
0-838
13 minutes
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/) t-category-theory blocked-by-other-PR 786/1 Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Square.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
14-62992
14 days ago
27-36998
27 days ago
0-1477
24 minutes
27391 robin-carlier
author:robin-carlier
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical): pseudofunctoriality structure of categorical pullback squares Using pseudofunctoriality of the construction `CatCommSqOver`, we show that categorical pullback squares have pseudofunctorial-like structures: given a `CatCommSq T L R B` and a `CatPullbackSq T' L' R' B'`, and a `CatCospanTransform R B R' B'`, there is a functor `CatPullbackSq.functorOfTransform` between the top left corners of the two squares. We give `CatCommSq` instances that relates this functor with other constructions such as `CatCommSqOver.transform`. Similarly, we construct `CatPullbackSq.functorOfTransform₂`, that maps morphisms of `CatCospanTransforms` to natural transformations. Finally, we show that `functorOfTransform` respects identities and compositions. We do not yet prove that all of this data satisfies all the expected properties of pseudofunctors: this will be the content of a follow-up PR. --- - [ ] depends on: #27214 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory blocked-by-other-PR 1090/1 Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Square.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
14-62963
14 days ago
25-36251
25 days ago
0-264
4 minutes
27432 robin-carlier
author:robin-carlier
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical): pseudofunctoriality of categorical pulback squares In this PR, we show that the "unbundled pseudofunctor" data constructed in #27391 satisfy the axioms of an actual "unbundled pseudo-functor". This is intended to give all the required coherence for a formal bicategory-like proof of the fact that `CatCospanAdjunction`s from #26578 (resp. `CatCospanEquivalence`s from #26579) promote to adjunctions (resp. equivalences) between the top left corners of categorical pullback squares. --- - [ ] depends on: #27391 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory blocked-by-other-PR 1244/1 Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Square.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
14-62899
14 days ago
25-36230
25 days ago
0-1056
17 minutes
27481 robin-carlier
author:robin-carlier
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical): adjunctions and equivalences of categorical pullback squares We show that a `CatCospanAdjunction` (resp `CatCospanEquivalence`) induces adjunctions (resp. equivalences) of the categories that sit at the top left corners of categorical pullback squares via the pseudofunctoriality proved in #27432. Thanks to the lemmas that proves that categorical pullback squares are fully pseudofunctorial, the proof is purely formal ("a pseudofunctor maps adjunctions (resp. equivalences) to adjunctions (resp. equivalences)"), rather than being a painful computation for the triangle equalities. In particular, the results here show that two categorical pullback squares with equivalent "underlying categorical cospan" are equivalent, which realizes the equivalence-invariance of the notion of categorical pullbacks. We do not yet show that a (not-necessarily pullback) `CatCommSq T L R B` equivalent to a `CatPullbackSquare T' L' R' B'` via a `CatCospanEquivalence R B R' B'` is also a `CatPullbackSquare`: this will be the content of a follow-up PR. --- - [ ] depends on: #27432 - [ ] depends on: #26579 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-category-theory blocked-by-other-PR 1829/1 Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Square.lean 4 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
14-62787
14 days ago
26-31491
26 days ago
0-49
49 seconds
27686 robin-carlier
author:robin-carlier
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical/Square): more API for `CatPullbackSquare` In this PR, we provide more API around the notion of categorical pullback squares. Having established the pseudofunctoriality of the notion in #27432, we characterize the behaviour of the equivalence `CatPullbackSquare.functorEquiv (π₁ R B) (π₂ R B) R B X : X ⥤ R ⊡ B ≌ CatCommSqOver R B X` via various (d)simp lemmas. This ports all the pseudofunctoriality and equivalence-invariance results of `CatPullbackSquare` to `CategoricalPullback`. We also show this equivalence is isomorphic to the one from `CategoricalPullback.functorEquiv`. Unfortunately, this small duplication is necessary, as `CatPullbackSquare.functorEquiv` is bulit using `CategoricalPullback.functorEquiv`. The equivalence `CategoricalPullback.functorEquiv` is now an implementation detail, the idiomatic way is to use `CatPullbackSquare.functorEquiv`; docstrings are updated accordingly. This deprecates some constructions and lemmas for `CategoricalPullback`: they are now special case of the API that is available for any categorical pullback square. --- - [ ] depends on: #27481 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-category-theory blocked-by-other-PR 2245/74 Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Square.lean 4 n/a ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
14-62484
14 days ago
unknown
unknown
27688 robin-carlier
author:robin-carlier
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical): coherence statement for `CatPullbackSquare.inverse` This PR records a "coherence" statement for `CatPullbackSquares`: it bridges the gap between the user-provided `inverse` field of the `CatPullbackSquare` structure, and the other way one can deduce an equivalence between the top left corner of the square and a categorical pullback (via the pseudofunctoriality of categorical pullback squares induced by the identity `CatCospanTransform`). We show the two possible natural isomorphisms on the inverses of the equivalences are in fact the same (hence the term "coherence"). --- - [ ] depends on: #27686 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-category-theory blocked-by-other-PR 2351/74 Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Square.lean 4 n/a ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
14-62164
14 days ago
unknown
unknown
27687 robin-carlier
author:robin-carlier
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical): squares equivalent to a `CatPullbackSquare` We provide the last remaining piece of the "equivalence-invariance" of categorical pullback squares: given a `CatCommSq (T : C₁ ⥤ _) L R B`, a `CatPullbackSquare (T' : D₁ ⥤ _) L' R' B'`, a `ψ : CatCospanEquivalence R B R' B'` and an equivalence `C₁ ≌ D₁` that identifies to the functor induced by `ψ`, the `CatCommSq T L R B` can be promoted to a `CatPullbackSquare T L R B'`. In other words: a `CatCommSq` that is equivalent to a `CatPullbackSquare` is a `CatPullbackSquare`. --- - [ ] depends on: #27686 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-category-theory blocked-by-other-PR 2318/74 Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Square.lean 4 n/a ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
14-62107
14 days ago
unknown
unknown
27689 robin-carlier
author:robin-carlier
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical): horizontal pasting calculus for `CatPullbackSquare` Given two categorical commutative squares that can be horizontally pasted, we prove that if the rightmost square is a `CatPullbackSquare`, then the leftmost square is a `CatPullbackSquare` if and only if the horizontal composition of the squares is a `CatPullbackSquare`. This generalizes to `CatPullbackSquare` the well-known "pasting calculus" for pullback squares in a category. The statement is made available both in terms of the `Type`-class `CatPullbackSquare`, and in terms of the `Prop`-class `IsCatPullbackSquare`. --- - [ ] depends on: #27686 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-category-theory blocked-by-other-PR 2562/74 Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Pasting.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Square.lean 5 n/a ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
14-62054
14 days ago
unknown
unknown
27690 robin-carlier
author:robin-carlier
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical): vertical pasting calculus for `CatPullbackSquare` We mirror the constructions from #27689 to construct the vertical pasting calculus of `CatPullbackSquares`: given two vertically composable `CatCommSq` such that the bottom one is a `CatPullbackSquare`, the top square is a `CatPullbackSquare` if and only if the vertical composition (the "outer" square) is a `CatPullbackSquare`. --- - [ ] depends on: #27689 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-category-theory blocked-by-other-PR 2841/74 Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Pasting.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Square.lean 5 n/a ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
14-61999
14 days ago
unknown
unknown
27740 robin-carlier
author:robin-carlier
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical): pasting calculus for `CategoricalPullback` Specialize the pasting calculus for categorical pullback squares to `CategoricalPullback̀` by providing equivalences of categories `R ⊡ (B₁ ⋙ B₂) ≌ (π₂ R B₂) ⊡ B₁` and `(R₁ ⋙ R₂) ⊡ B ≌ R₁ ⊡ (π₁ R₂ B)`. The `@[simps!]` attribute works wonderfully on these equivalences so that their component all have the expected (d)simp lemmas. --- - [ ] depends on: #27690 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-category-theory blocked-by-other-PR 2872/75 Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Pasting.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Square.lean 5 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
14-61951
14 days ago
14-61974
14 days ago
0-1017
16 minutes
27982 ShreckYe
author:ShreckYe
chore(Data/Nat/GCD): use `Nat.Prime.dvd_or_dvd` from #27981 in `Nat.Prime.dvd_or_dvd_of_dvd_lcm` from #27963 to simplify the proof a bit - [ ] depends on: #27963 - [ ] depends on: #27981 large-import new-contributor blocked-by-other-PR 102/2 Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Data/Nat/GCD/Basic.lean,Mathlib/Data/Nat/Prime/Defs.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
13-61296
13 days ago
15-47982
15 days ago
0-1834
30 minutes
25825 yuma-mizuno
author:yuma-mizuno
feat(CategoryTheory/Bicategory): define lax transformations between oplax functors and also define oplax transformations between lax functors. - [ ] depends on: #25779 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #25672.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/25672* large-import t-category-theory blocked-by-other-PR 431/10 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Lax.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Oplax.lean,scripts/noshake.json 4 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
13-54916
13 days ago
13-54935
13 days ago
0-1
1 second
28061 CoolRmal
author:CoolRmal
feat(MeasureTheory): Uniqueness of Measures in the Riesz–Markov–Kakutani Representation Theorem This PR adds the proof of the uniqueness of measures in the Riesz–Markov–Kakutani representation theorem (i.e. if two regular measures on a locally compact Hausdorff space induce the same linear functionals on the set of compactly supported continuous functions, then these two measures are equal). cf. https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Uniqueness.20in.20Riesz.E2.80.93Markov.E2.80.93Kakutani.20representation.20theorem --- - [ ] depends on: #28059 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor blocked-by-other-PR 342/83 Mathlib/Algebra/Order/Module/PositiveLinearMap.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Basic.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/NNReal.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean,Mathlib/MeasureTheory/Measure/Regular.lean,Mathlib/Topology/ContinuousMap/CompactlySupported.lean,Mathlib/Topology/UrysohnsLemma.lean 7 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
13-50181
13 days ago
13-50181
13 days ago
0-246
4 minutes
27969 smmercuri
author:smmercuri
feat: collections of non-trivial and pairwise inequivalent absolute values contain values that diverge around 1 This PR continues the work from #22142. Original PR: https://github.com/leanprover-community/mathlib4/pull/22142 --- - [ ] depends on: #27964 t-algebra t-number-theory blocked-by-other-PR
label:t-algebra$
362/1 Mathlib/Algebra/Order/AbsoluteValue/Basic.lean,Mathlib/Analysis/AbsoluteValue/Equivalence.lean,Mathlib/Analysis/Normed/Ring/WithAbs.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
12-49845
12 days ago
15-50195
15 days ago
0-305
5 minutes
26668 mariainesdff
author:mariainesdff
feat(Analysis/Normed/Unbundled/SpectralNorm): add API Co-authored-by: @faenuccio --- - [ ] depends on: #26667 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis t-number-theory merge-conflict blocked-by-other-PR 149/11 Mathlib/Algebra/Polynomial/Lifts.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/FieldTheory/SplittingField/IsSplittingField.lean 3 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
12-38168
12 days ago
12-38169
12 days ago
0-1623
27 minutes
28152 Sebi-Kumar
author:Sebi-Kumar
feat(AlgebraicTopology): characterize simply connectedness in terms of loops Show that a space is simply connected if and only if all loops within that space are homotopic to the constant loop. To be used in a proof that the `n`-sphere is simply connected for `n > 1`. --- This code was written at the University of Western Ontario as a part of the Fields Undergraduate Summer Research Program under the supervision of Chris Kapulkin and Daniel Carranza. - [ ] depends on: #28126 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology new-contributor blocked-by-other-PR 37/5 Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnected.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
11-34649
11 days ago
11-34650
11 days ago
0-2854
47 minutes
27366 101damnations
author:101damnations
feat(RepresentationTheory/Homological/GroupCohomology/Hilbert90): add Hilbert 90 for cyclic groups Let `L/K` be a finite extension of fields. Before this PR, this file proves Noether's generalization of Hilbert's Theorem 90: that the 1st group cohomology $H^1(Aut_K(L), L^\times)$ is trivial. Hilbert's original statement was that if $L/K$ is Galois, and $Gal(L/K)$ is cyclic, generated by an element `σ`, then for every `x : L` such that $N_{L/K}(x) = 1,$ there exists `y : L` such that $x = y/σ(y).$ We prove that in this PR, using the fact that `H¹(G, A) ≅ Ker(N_A)/(ρ(g) - 1)(A)` for any finite cyclic group `G` with generator `g`, and then applying Noether's generalization. --- - [ ] depends on: #27361 - [ ] depends on: #27362 - [ ] depends on: #27363 - [ ] depends on: #27364 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import merge-conflict blocked-by-other-PR 417/8 Mathlib.lean,Mathlib/CategoryTheory/Action/Limits.lean,Mathlib/RepresentationTheory/Homological/FiniteCyclic.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/FiniteCyclic.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/Hilbert90.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/LowDegree.lean,Mathlib/RepresentationTheory/Invariants.lean,Mathlib/RepresentationTheory/Rep.lean 8 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
11-29569
11 days ago
11-29570
11 days ago
0-351
5 minutes
27314 pechersky
author:pechersky
feat(TopologyValued): `Valued` based on a range topology Switch from a topology based on `fun γ : Γ₀ˣ => (v.ltAddSubgroup γ : AddSubgroup R)` to ``` fun rs : {rs : R × R // v rs.1 ≠ 0 ∧ v rs.2 ≠ 0} ↦ (v.ltAddSubgroup (Units.mk0 (v rs.val.2 / v rs.val.1) (by simp [rs.prop])) : AddSubgroup R) ``` This is in preparation for using `IsValuativeTopology` instead. In fact, that basis is precisely what `ValuativeTopology` asserts. `Valued.mk'` is kept, we do not yet rely on `IsValuativeTopology` and `UniformSpace`. The new `Valued` behaves the same way as it did before for `MulArchimedean` valuation codomains, which are all of the current in-mathlib uses of `Valued`. This is, for rank-one valuations. For valuations which rank one, but do not pass to the whole codomain, there are helper lemmas to discuss open/closed/clopen sets. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #27264 - [ ] depends on: #27265 - [ ] depends on: #27163 - [ ] depends on: #27339 t-topology merge-conflict blocked-by-other-PR 733/259 Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/NumberTheory/FunctionField.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/Valuation/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/LocallyCompact.lean,Mathlib/Topology/Algebra/Valued/NormedValued.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuedField.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean,Mathlib/Topology/Algebra/Valued/WithZeroMulInt.lean 12 9 ['github-actions', 'kckennylau', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
10-33316
10 days ago
10-33317
10 days ago
0-22127
6 hours
27364 101damnations
author:101damnations
feat(RepresentationTheory/Homological/GroupCohomology): cohomology of finite cyclic groups Let `k` be a commutative ring, `G` a group and `A` a `k`-linear `G`-representation. Given endomorphisms `φ, ψ : A ⟶ A` such that `φ ∘ ψ = ψ ∘ φ = 0`. Denote by `Chains(A, φ, ψ)` the periodic chain complex `... ⟶ A --φ--> A --ψ--> A --φ--> A --ψ--> A ⟶ 0` and by `Cochains(A, φ, ψ)` the periodic cochain complex `0 ⟶ A --ψ--> A --φ--> A --ψ--> A --φ--> A ⟶ ...`. When `G` is finite and generated by `g : G`, then `P := Chains(k[G], N, ρ(g) - Id)` (with `ρ` the left regular representation) is a projective resolution of `k` as a trivial representation. In this PR we show that for `A : Rep k G`, `Hom(P, A)` is isomorphic to `Cochains(A, N, ρ_A(g) - Id)` as a complex of `k`-modules, and hence the cohomology of this complex computes group cohomology. --- - [ ] depends on: #27362 - [ ] depends on: #27361 - [ ] depends on: #27363 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR 364/0 Mathlib.lean,Mathlib/RepresentationTheory/Homological/FiniteCyclic.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/FiniteCyclic.lean,Mathlib/RepresentationTheory/Invariants.lean 4 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
10-29968
10 days ago
10-29986
10 days ago
0-731
12 minutes
27365 101damnations
author:101damnations
feat(RepresentationTheory/Homological/GroupHomology): homology of finite cyclic groups Let `k` be a commutative ring, `G` a group and `A` a `k`-linear `G`-representation. Given endomorphisms `φ, ψ : A ⟶ A` such that `φ ∘ ψ = ψ ∘ φ = 0`. Denote by `Chains(A, φ, ψ)` the periodic chain complex `... ⟶ A --φ--> A --ψ--> A --φ--> A --ψ--> A ⟶ 0`. When `G` is finite and generated by `g : G`, then `P := Chains(k[G], N, ρ(g) - Id)` (with `ρ` the left regular representation) is a projective resolution of `k` as a trivial representation. In this PR we show that for `A : Rep k G`, `(A ⊗ P)_G` is isomorphic to `Chains(A, N, ρ_A(g) - Id)` as a complex of `k`-modules, and hence the homology of this complex computes group homology. --- - [ ] depends on: #27362 - [ ] depends on: #27361 - [ ] depends on: #27363 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR 364/0 Mathlib.lean,Mathlib/RepresentationTheory/Homological/FiniteCyclic.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/FiniteCyclic.lean,Mathlib/RepresentationTheory/Invariants.lean 4 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
10-29951
10 days ago
10-29967
10 days ago
0-606
10 minutes
28208 Sebi-Kumar
author:Sebi-Kumar
feat(Topology): add the definition `foldTrans` to concatenate finite sequences of paths Add `foldTrans`, which folds the function `Path.trans` across a sequence of paths with compatible endpoints, corresponding to the concatenation of a finite sequence of paths. This is implemented with `Fin.dfoldl` from the Batteries library. Prove basic properties about `foldTrans` (i.e., how it behaves with respect to `Path.refl`, `Path.subpath`, and homotopies). --- To provide additional context, I am new to contributing to Mathlib, and I am doing so 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. My goal is to prove that the `n`-sphere is simply connected for `n > 1`, following the proof from Hatcher's "Algebraic Topology." - [ ] depends on: #27261 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology blocked-by-other-PR 259/0 Mathlib.lean,Mathlib/Topology/FoldTrans.lean,Mathlib/Topology/Subpath.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
10-4289
10 days ago
10-4290
10 days ago
0-2340
39 minutes
26858 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra): Define the associated graded ring to filtered ring Define the associated graded ring to a filtered ring. --- - [ ] depends on: #26857 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) migrated from #20913 t-algebra blocked-by-other-PR
label:t-algebra$
436/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean 2 n/a ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
9-55678
9 days ago
unknown
unknown
26859 Thmoas-Guan
author:Thmoas-Guan
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: #26858 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) migrated from #21806 t-algebra blocked-by-other-PR
label:t-algebra$
547/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean 2 n/a ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
9-55594
9 days ago
unknown
unknown
26860 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra): Define associated graded module Define the associated graded module to a filtered module. --- - [ ] depends on: #26858 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) migrated from #20940 t-algebra blocked-by-other-PR
label:t-algebra$
651/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean 2 n/a ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
9-55523
9 days ago
unknown
unknown
26861 Thmoas-Guan
author:Thmoas-Guan
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 Co-authored-by: Yi Yuan @yuanyi-350 Co-authored-by: Weichen Jiao @AlbertJ-314 --- - [ ] depends on: #26857 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) migrated from #22632 t-algebra blocked-by-other-PR
label:t-algebra$
376/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
9-55398
9 days ago
44-39778
1 month ago
0-1200
20 minutes
26862 Thmoas-Guan
author:Thmoas-Guan
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 Co-authored-by: Yi Yuan @yuanyi-350 Co-authored-by: Weichen Jiao @AlbertJ-314 --- - [ ] depends on: #26858 - [ ] depends on: #26861 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) migrated from #22208 t-algebra blocked-by-other-PR
label:t-algebra$
806/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean 3 n/a ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
9-55313
9 days ago
unknown
unknown
26867 Thmoas-Guan
author:Thmoas-Guan
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: #26860 - [ ] depends on: #26862 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) migrated from #22893 t-algebra blocked-by-other-PR
label:t-algebra$
1182/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean 3 n/a ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
9-55141
9 days ago
unknown
unknown
26863 Thmoas-Guan
author:Thmoas-Guan
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: #26859 - [ ] depends on: #26862 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) migrated from #22454 t-algebra blocked-by-other-PR
label:t-algebra$
1034/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean 3 n/a ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
9-55131
9 days ago
unknown
unknown
26868 Thmoas-Guan
author:Thmoas-Guan
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 Co-authored-by: Yi Yuan @yuanyi-350 Co-authored-by: Weichen Jiao @AlbertJ-314 --- - [ ] depends on: #26861 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) migrated from #22707 t-algebra blocked-by-other-PR
label:t-algebra$
532/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/Exactness.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean 4 n/a ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
9-55065
9 days ago
unknown
unknown
26869 Thmoas-Guan
author:Thmoas-Guan
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 Co-authored-by: Yi Yuan @yuanyi-350 Co-authored-by: Weichen Jiao @AlbertJ-314 --- - [ ] depends on: #26868 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) migrated from #22972 t-algebra blocked-by-other-PR
label:t-algebra$
723/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/Exactness.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean 4 n/a ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
9-54986
9 days ago
unknown
unknown
27100 staroperator
author:staroperator
feat(ModelTheory): Presburger definability and semilinear sets This PR defines [semilinear sets](https://en.wikipedia.org/wiki/Semilinear_set) and formalizes their equivalence with Presburger definabilty. As an application of this result, we prove that the graph of multiplication is not Presburger definable in ℕ. --- - [x] depends on: #26896 - [x] depends on: #27081 - [x] depends on: #27087 - [ ] depends on: #27789 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic merge-conflict blocked-by-other-PR 1667/7 Mathlib.lean,Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/Algebra/Module/Submodule/Defs.lean,Mathlib/GroupTheory/Finiteness.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Definability.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Basic.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Defs.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Nat.lean,Mathlib/Order/WellFoundedSet.lean,Mathlib/RingTheory/Finiteness/Cardinality.lean,docs/references.bib 12 6 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
9-47483
9 days ago
9-47484
9 days ago
0-1811
30 minutes
22771 alreadydone
author:alreadydone
feat(Homotopy/Lifting): monodromy of covering maps and lifting criterion Define the monodromy of a covering map: given a path in the base space, lifting it through the covering map induces a bijection between the fibers at the two endpoints of the path. Definition 2.1 in https://ncatlab.org/nlab/show/monodromy. --- - [ ] depends on: #28234 - [x] depends on: #22649 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology blocked-by-other-PR 193/146 Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnected.lean,Mathlib/CategoryTheory/Groupoid.lean,Mathlib/Topology/Covering.lean,Mathlib/Topology/Homotopy/HomotopyGroup.lean,Mathlib/Topology/Homotopy/Lifting.lean,Mathlib/Topology/Homotopy/Product.lean 9 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] PatrickMassot
assignee:PatrickMassot
9-42216
9 days ago
9-43988
9 days ago
144-35711
144 days
28067 grunweg
author:grunweg
Docstring enumerations Tracking PR; to be split. Audit all ocurrences of `^ \S`; exhaustive. --- - [x] depends on: #28068 - [x] depends on: #28069 - [ ] depends on: #28070 - [x] depends on: #28118 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR 264/263 Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/BrauerGroup/Defs.lean,Mathlib/Algebra/Module/LinearMap/Polynomial.lean,Mathlib/CategoryTheory/Abelian/NonPreadditive.lean,Mathlib/CategoryTheory/EqToHom.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/Pi.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/CategoryTheory/Sites/Grothendieck.lean,Mathlib/CategoryTheory/Sites/Pretopology.lean,Mathlib/Condensed/Discrete/Characterization.lean,Mathlib/FieldTheory/ChevalleyWarning.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Basic.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean,Mathlib/MeasureTheory/OuterMeasure/Basic.lean,Mathlib/MeasureTheory/OuterMeasure/Defs.lean,Mathlib/NumberTheory/FLT/Basic.lean,Mathlib/NumberTheory/LSeries/PrimesInAP.lean,Mathlib/RingTheory/Grassmannian.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/Defs.lean,Mathlib/RingTheory/WittVector/Teichmuller.lean,Mathlib/Tactic/Bound.lean,Mathlib/Tactic/Bound/Attribute.lean,Mathlib/Tactic/ENatToNat.lean,Mathlib/Tactic/FBinop.lean,Mathlib/Tactic/IntervalCases.lean,Mathlib/Tactic/TermCongr.lean,Mathlib/Util/Notation3.lean,Mathlib/Util/Superscript.lean,docs/Conv/Guide.lean 38 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
9-42096
9 days ago
13-61309
13 days ago
0-2904
48 minutes
28244 robin-carlier
author:robin-carlier
feat(CategoryTheory/Bicategory/NaturalTransformation): Icons We define icons (short for Identity Component Oplax Natural transformations) between lax functors in bicategories. Such transformations bundle an oplax natural transformation, along with the assertion that the source and target functor agree on objects, and the fact that the app-component of the underlying natural transformation is the `eqToHom` morphism along that equality. We define vertical composition of such natural transformations. Strict associativity and strict unitality of the composition of icons will be the content of a follow-up PR. In future work, icons will constitute the 2-cells of a strict bicategory structure on bicategories, with 1-cells (strictly unitary) pseudofunctors. This bicategory structure will define a category structure on strictly unitary pseudofunctors from `LocallyDiscrete (Fin n)` to a bicategory `C` (i.e "pseudo-composable arrows" in `C`), which will be part of the definition of the 2-nerve of `C`, which is a simplicial category that encodes higher compositions within a bicategory `C`. --- - [ ] depends on: #25825 - [ ] depends on: #28243 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-category-theory awaiting-CI blocked-by-other-PR 816/33 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/EqToHom.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Icon.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Lax.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Oplax.lean,Mathlib/CategoryTheory/Bicategory/Strict.lean,Mathlib/CategoryTheory/EqToHom.lean,scripts/noshake.json 8 3 ['github-actions', 'joelriou', 'mathlib4-dependent-issues-bot'] nobody
9-34839
9 days ago
9-35290
9 days ago
0-1160
19 minutes
28245 robin-carlier
author:robin-carlier
feat(CategoryTheory/Bicategory/NaturalTransformation/Icon): strict associativity and unitality of icon composition We show that the vertical composition of icons defined in #28244 satisfies strict associativity and strict unitality. This morally shows that icons are fit as the 2-cells of a bicategory structure on bicategories and lax functors, though we do not record an instance of this sort. --- - [ ] depends on: #28244 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-category-theory awaiting-CI blocked-by-other-PR 975/33 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/EqToHom.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Icon.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Lax.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Oplax.lean,Mathlib/CategoryTheory/Bicategory/Strict.lean,Mathlib/CategoryTheory/EqToHom.lean,scripts/noshake.json 8 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
9-34838
9 days ago
9-35291
9 days ago
0-537
8 minutes
28243 robin-carlier
author:robin-carlier
chore(CategoryTheory/Bicategory): move some `eqToHom` lemmas The file `CategoryTheory/Bicategory/EqToHom.lean` introduced in #28242 is a more suitable hom for the lemmas `CategoryTheory.Bicategory.whiskerLeft_eqToHom` and `CategoryTheory.Bicategory.eqToHom_whiskerRight` than the current `CategoryTheory/Bicategory/Strict.lean`. We move these lemmas to the new file, and make `CategoryTheory/Bicategory/Strict` import these lemmas. --- - [ ] depends on: #28242 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory blocked-by-other-PR 165/23 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/EqToHom.lean,Mathlib/CategoryTheory/Bicategory/Strict.lean,Mathlib/CategoryTheory/EqToHom.lean,scripts/noshake.json 5 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'robin-carlier'] nobody
9-33942
9 days ago
9-33942
9 days ago
0-3342
55 minutes
27626 EtienneC30
author:EtienneC30
chore: turn covarianceBilin into a ContinuousBilinForm From BrownianMotion --- - [ ] depends on: #26315 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-measure-probability merge-conflict blocked-by-other-PR 275/2 Mathlib.lean,Mathlib/Analysis/NormedSpace/ContinuousBilinForm.lean,Mathlib/LinearAlgebra/BilinearForm/IsPosSemidef.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Hermitian.lean,Mathlib/Probability/Moments/CovarianceBilin.lean 6 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
8-74361
8 days ago
8-74361
8 days ago
0-384
6 minutes
27675 EtienneC30
author:EtienneC30
feat: introduce `covInnerBilin` `covInnerBilin` is the covariance bilinear form associated with a measure on an inner product space. from BrownianMotion --- - [ ] depends on: #27626 - [ ] depends on: #27674 Co-authored-by: Rémy Degenne @RemyDegenne [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-measure-probability merge-conflict blocked-by-other-PR 695/2 Mathlib.lean,Mathlib/Analysis/NormedSpace/ContinuousBilinForm.lean,Mathlib/LinearAlgebra/BilinearForm/IsPosSemidef.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Hermitian.lean,Mathlib/MeasureTheory/Integral/Eval/Basic.lean,Mathlib/MeasureTheory/Integral/Eval/WithLp.lean,Mathlib/Probability/Moments/CovInnerBilin.lean,Mathlib/Probability/Moments/CovarianceBilin.lean 9 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
8-74359
8 days ago
8-74360
8 days ago
0-1309
21 minutes
26221 grunweg
author:grunweg
Mr. Covariant Derivatives This PR is a work in progress, and will land in individual pieces. Some contributions include - additional API for differentiability of vector bundle sections - finite sums, differences and scalar products of smooth sections are smooth - the same result for mdifferentiable - add missing mdifferentiable congruence lemmas - define smooth local frames of a vector bundle - a general tensoriality criterion (to be cleaned up!) - define covariant derivatives, proving their tensoriality and that convex combinations of these are covariant derivatives - the classification of covariant derivatives over a trivial bundle - additional API for the Lie bracket of vector fields: the product rule (one sorry left!), Lie bracket at zero vanishes - torsion of a connection, torsion-free connections - Gram-Schmidt procedure for sections of a Riemannian vector bundle - orthonormal frames on a Riemannian vector bundle - connections compatible with a metric; definition of the Levi-Civita connection - in progress: existence and uniqueness of the Levi-Civita connection - custom elaborators for sections in a vector bundle and for differentiability/smoothness in a mathlib (inferring the model with corners) --- experimental More to come soon! Joint work with @PatrickMassot; supported by the FMJH. --- - [x] depends on: #26360 - [x] depends on: #26672 - [x] depends on: #26673 - [x] depends on: #26674 - [x] depends on: #26864 (more of a by-product) - [x] depends on: #26865 - [x] depends on: #26866 - [ ] depends on: #26870 - [ ] depends on: #26871 - [x] depends on: #26671 - [x] depends on: #26676 - [x] depends on: #26677 - [x] depends on: #26678 - [x] depends on: #26686 - [x] depends on: #26687 - [x] depends on: #26688 - [x] depends on: #26702 - [x] depends on: #26709 - [x] depends on: #26734 - [ ] depends on: #26743 (still WIP) - [x] depends on: #26894 - [x] depends on: #26921 - [x] depends on: #26922 - [x] depends on: #27020 - [ ] depends on: #27021 - [x] depends on: #27023 - [ ] depends on: #27024 - [ ] depends on: #27025 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry blocked-by-other-PR 5290/23 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Geometry/Manifold/CheatSheet.md,Mathlib/Geometry/Manifold/Elaborators.lean,Mathlib/Geometry/Manifold/Traces.lean,Mathlib/Geometry/Manifold/VectorBundle/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative.lean,Mathlib/Geometry/Manifold/VectorBundle/GramSchmidtOrtho.lean,Mathlib/Geometry/Manifold/VectorBundle/LeviCivita.lean,Mathlib/Geometry/Manifold/VectorBundle/LocalFrame.lean,Mathlib/Geometry/Manifold/VectorBundle/MDifferentiable.lean,Mathlib/Geometry/Manifold/VectorBundle/Misc.lean,Mathlib/Geometry/Manifold/VectorBundle/OrthonormalFrame.lean,Mathlib/Geometry/Manifold/VectorBundle/SmoothSection.lean,Mathlib/Geometry/Manifold/VectorBundle/Tensoriality.lean,Mathlib/Geometry/Manifold/VectorField/LieBracket.lean,Mathlib/Geometry/Manifold/VectorField/Pullback.lean,MathlibTest/DifferentialGeometry/Elaborators.lean 18 n/a ['github-actions', 'grunweg', 'idontgetoutmuch', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
8-41291
8 days ago
unknown
unknown
28289 robin-carlier
author:robin-carlier
chore(CategoryTheory/Bicategory/Functor/Strict): generalize some results to op/lax functors We generalize some of the results in `CategoryTheory/Bicategory/Functor/Strict/` to op/lax functors. The results for lax functors will be useful when studying types of strictly unitary lay functors from `LocallyDiscrete (Fin (n + 1))` to a bicategory `B`, i.e the type of lax-composable arrows in `B`. This PR is part of an ongoing effort to formalize the Duskin nerve of a bicategory. --- - [ ] depends on: #28287 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-category-theory blocked-by-other-PR 148/13 Mathlib/CategoryTheory/Bicategory/Functor/Lax.lean,Mathlib/CategoryTheory/Bicategory/Functor/Oplax.lean,Mathlib/CategoryTheory/Bicategory/Functor/Prelax.lean,Mathlib/CategoryTheory/Bicategory/Functor/Pseudofunctor.lean,Mathlib/CategoryTheory/Bicategory/Functor/Strict.lean,Mathlib/CategoryTheory/Bicategory/Grothendieck.lean,Mathlib/CategoryTheory/Bicategory/LocallyDiscrete.lean,Mathlib/CategoryTheory/FiberedCategory/Grothendieck.lean 8 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
8-20661
8 days ago
8-44475
8 days ago
0-759
12 minutes
27645 bjornsolheim
author:bjornsolheim
feat(Geometry/Convex/Cone): add pointed cone tensor products Define the minimal and maximal tensor product of pointed cones. Prove that the minimal tensor product is less than or equal to the maximal tensor product. --- - [ ] depends on: #25292 - [ ] depends on: #27578 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry new-contributor blocked-by-other-PR 316/0 Mathlib.lean,Mathlib/Geometry/Convex/Cone/ConicalHull.lean,Mathlib/Geometry/Convex/Cone/TensorProduct.lean 3 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
8-18832
8 days ago
8-22481
8 days ago
0-1828
30 minutes
28328 pechersky
author:pechersky
chore(Topology/Valued): golf using local finite order of WithZeroTopology have to juggle in a version of `mrangeRestrict` which works on valuations, and also juggle the scoped topology over the subtype topology --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #28325 large-import t-algebra t-topology t-number-theory blocked-by-other-PR
label:t-algebra$
187/88 Mathlib/Topology/Algebra/GroupWithZero.lean,Mathlib/Topology/Algebra/Valued/LocallyCompact.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean,Mathlib/Topology/Compactness/Compact.lean 4 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
7-68496
7 days ago
7-68497
7 days ago
0-1600
26 minutes
23920 YaelDillies
author:YaelDillies
feat: relation-separated sets Define a notion of separation of a set relative to a relation. This will be used to unify metric and dynamical separation. From MiscYD and LeanAPAP --- - [ ] depends on: #26988 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data blocked-by-other-PR 245/8 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Data/Rel.lean,Mathlib/Data/Rel/Separated.lean 4 20 ['ADedecker', 'D-Thomine', 'YaelDillies', 'b-mehta', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] ADedecker
assignee:ADedecker
7-67535
7 days ago
7-67553
7 days ago
30-63957
30 days
23124 YaelDillies
author:YaelDillies
feat(MetricSpace): nets Define nets, which are a quantitative notion of compactness in a metric space. From my PhD (MiscYD) --- - [x] depends on: #23180 - [ ] depends on: #23181 - [ ] depends on: #23920 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology awaiting-CI blocked-by-other-PR 552/103 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Data/Rel.lean,Mathlib/Data/Rel/Cover.lean,Mathlib/Data/Rel/Separated.lean,Mathlib/Dynamics/TopologicalEntropy/CoverEntropy.lean,Mathlib/Dynamics/TopologicalEntropy/DynamicalEntourage.lean,Mathlib/Dynamics/TopologicalEntropy/NetEntropy.lean,Mathlib/Dynamics/TopologicalEntropy/Semiconj.lean,Mathlib/Topology/MetricSpace/Cover.lean,Mathlib/Topology/MetricSpace/MetricSeparated.lean,Mathlib/Topology/UniformSpace/UniformConvergence.lean 12 19 ['D-Thomine', 'YaelDillies', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'urkud'] nobody
7-67367
7 days ago
7-67386
7 days ago
1-52822
1 day
28291 vasnesterov
author:vasnesterov
feat(Tactic): tactic for computing asymptotics of real functions It's an auxiliary PR which implements the entire `compute_asymptotics` tactic. I will split it into multiple small PRs. --- In this PR I implement the `compute_asymptotics` tactic. Its purpose is to compute asymptotics of functions from `ℝ` to `ℝ`. So far it is able to compute the limit of any function constructed using arithmetic operations (`+`, `-`, `*`, `/`, inversion), powers with constant real exponent and logarithms. ```lean example : let f := fun (x : ℝ) ↦ (4 * x)/(3 + 2 * x); Tendsto f atTop (nhds 2) := by compute_asymptotics example : let f := fun (x : ℝ) ↦ x^(1/2 : ℝ) / (x^(1/3 : ℝ) + x^(-1/3 : ℝ) + 18); Tendsto f atTop atTop := by compute_asymptotics example : let f := fun (y : ℝ) ↦ (Real.log (1 + y) - y) / (y^2); Tendsto f (𝓝[>] 0) (𝓝 (-1/2)) := by compute_asymptotics ``` It also supports non-numerical constants: ```lean example (a : ℝ) (h : 0 < a) : let f := fun (x : ℝ) ↦ a * x; Tendsto f atTop atTop := by compute_asymptotics example : let f := fun (x : ℝ) ↦ Real.pi * x; Tendsto f atTop atTop := by have : 0 < Real.pi := Real.pi_pos compute_asymptotics ``` (for more examples see `compute_asymptotics.lean` in tests) ### Isn't this undecidable? In general, finding the limit of a given function is undecidable problem, due to undecidability of the problem of comparing real numbers. So far I use `linarith` tactic for this under the hood. When it's unable to prove neither of `x < y`, `y < x`, `x = y`, the tactic fails. ### TODO * Add `exp` support. * Prove the goals of the form `f =o[l] g` and similarly for other O-notations. * Add `sin` and `cos` support. ### References I am basically implementing [this article](https://www21.in.tum.de/~eberlm/pdfs/real_asymp.pdf) about computing asymptotics in Isabelle by Manuel Eberl. - [ ] depends on: #23831 - [ ] depends on: #26120 - [ ] depends on: #20241 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis t-meta merge-conflict blocked-by-other-PR WIP 13554/339 Mathlib.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/FormalMultilinearSeries.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Defs.lean,Mathlib/Analysis/SpecialFunctions/Complex/Analytic.lean,Mathlib/Data/Seq/Parallel.lean,Mathlib/Data/Seq/Seq.lean,Mathlib/Data/Set/Pointwise/Interval.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Tendsto/Lemmas.lean,Mathlib/Tactic/Tendsto/Main.lean,Mathlib/Tactic/Tendsto/Meta/CompareReal.lean,Mathlib/Tactic/Tendsto/Meta/ConstSimp.lean,Mathlib/Tactic/Tendsto/Meta/Defs.lean,Mathlib/Tactic/Tendsto/Meta/ElimDestruct.lean,Mathlib/Tactic/Tendsto/Meta/LeadingTerm.lean,Mathlib/Tactic/Tendsto/Meta/MS.lean,Mathlib/Tactic/Tendsto/Meta/Main.lean,Mathlib/Tactic/Tendsto/Meta/Trimming.lean,Mathlib/Tactic/Tendsto/Multiseries.lean,Mathlib/Tactic/Tendsto/Multiseries/Basic.lean,Mathlib/Tactic/Tendsto/Multiseries/Basis.lean,Mathlib/Tactic/Tendsto/Multiseries/Defs.lean,Mathlib/Tactic/Tendsto/Multiseries/LeadingTerm.lean,Mathlib/Tactic/Tendsto/Multiseries/LogBasis.lean,Mathlib/Tactic/Tendsto/Multiseries/Operations.lean,Mathlib/Tactic/Tendsto/Multiseries/Operations/Add.lean,Mathlib/Tactic/Tendsto/Multiseries/Operations/Basic.lean,Mathlib/Tactic/Tendsto/Multiseries/Operations/ForPow.lean,Mathlib/Tactic/Tendsto/Multiseries/Operations/Inv.lean,Mathlib/Tactic/Tendsto/Multiseries/Operations/Log.lean,Mathlib/Tactic/Tendsto/Multiseries/Operations/Merge.lean,Mathlib/Tactic/Tendsto/Multiseries/Operations/Mul.lean,Mathlib/Tactic/Tendsto/Multiseries/Operations/Pow.lean,Mathlib/Tactic/Tendsto/Multiseries/Operations/Powser.lean,Mathlib/Tactic/Tendsto/Multiseries/Term.lean,Mathlib/Tactic/Tendsto/Multiseries/Trimming.lean,Mathlib/Topology/Algebra/Order/Field.lean,MathlibTest/compute_asymptotics.lean,MathlibTest/kek.lean 42 1 ['mathlib4-dependent-issues-bot'] nobody
7-64033
7 days ago
8-43170
8 days ago
0-54
54 seconds
26457 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(Mathlib/GroupTheory/Perm/MaximalSubgroups): maximal subgroups of the permutation group * `Equiv.Perm.isCoatom_stabilizer`: when `s : Set α` is not empty, nor its complementary subset, and if the cardinality of `s` is not half of that of `α`, then `MulAction.stabilizer (Equiv.Perm α) s` is a maximal subgroup of the symmetric group `Equiv.Perm α`. This is the *intransitive case* of the O'Nan-Scott classification. ## TODO * Appplication to primitivity of the action of `Equiv.Perm α` on finite combinations of `α`. * Finish the classification --- - [ ] depends on: #26282 - [x] depends on: #26281 - [x] depends on: #26280 - [x] depends on: #26279 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory large-import blocked-by-other-PR 1563/137 Mathlib.lean,Mathlib/Data/Set/Card.lean,Mathlib/GroupTheory/GroupAction/Jordan.lean,Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean,Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean,Mathlib/GroupTheory/GroupAction/Primitive.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfFixingSubgroup.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfStabilizer.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/GroupTheory/Perm/MaximalSubgroups.lean,Mathlib/SetTheory/Cardinal/Embedding.lean,docs/references.bib 13 n/a ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
7-53510
7 days ago
unknown
unknown
23915 joelriou
author:joelriou
feat(CategoryTheory): deriving functors using a right derivability structure We develop the API for derived functors following the existence theorem obtained in #26374. If `Φ` is a localizer morphism, we introduce a predicate `Φ.Derives F` for a functor `F` saying that `Φ.functor ⋙ F` inverts the given class of morphisms, and in case `Φ` is a right derivability structure, we show that `F` admits a right derived functor, and we obtain a recognition lemma for this derived functor. (In the future, this will be applied to the injective/projective/flat derivability structures.) --- - [ ] depends on: #26374 - [ ] depends on: #22474 - [ ] depends on: #26036 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory merge-conflict blocked-by-other-PR WIP 599/10 Mathlib.lean,Mathlib/CategoryTheory/Functor/Derived/PointwiseRightDerived.lean,Mathlib/CategoryTheory/Functor/Derived/RightDerived.lean,Mathlib/CategoryTheory/Functor/KanExtension/Pointwise.lean,Mathlib/CategoryTheory/Iso.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/HasLimits.lean,Mathlib/CategoryTheory/Limits/Opposites.lean,Mathlib/CategoryTheory/Limits/Shapes/Products.lean,Mathlib/CategoryTheory/Localization/DerivabilityStructure/Basic.lean,Mathlib/CategoryTheory/Localization/DerivabilityStructure/Derives.lean,Mathlib/CategoryTheory/Localization/DerivabilityStructure/PointwiseRightDerived.lean 12 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
7-47790
7 days ago
101-16314
3 months ago
0-0
0 seconds
28295 artie2000
author:artie2000
feat(Algebra/Order/Ring/Ordering): basic results about ring (pre)orderings * Basic automation for membership of ring orderings * Alternative constructors for ring preorderings and ring orderings * Basic results about ring preorderings and their supports, including the special case over a field --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #27282 large-import blocked-by-other-PR 426/20 Mathlib.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Order/Group/Cone.lean,Mathlib/Algebra/Order/Ring/Cone.lean,Mathlib/Algebra/Order/Ring/Ordering/Basic.lean,Mathlib/Algebra/Order/Ring/Ordering/Defs.lean 6 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
7-37759
7 days ago
8-31255
8 days ago
0-531
8 minutes
27673 b-reinke
author:b-reinke
feat(GroupTheory/FreeGroup): add cyclic reduction of words This PR adds the definition of `reduceCyclically`. This function produces a subword of a word `w` by cancelling the first and last letters of `w` as long as possible. If `w` is reduced, the resulting word will be cyclically reduced. It is a part of a series of PR on the theory of cyclically reduced words. Upstreamed from the [EquationalTheories](https://github.com/teorth/equational_theories) project. - [ ] depends on: #25966 - [ ] depends on: #27672 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory merge-conflict blocked-by-other-PR 235/0 Mathlib.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/FreeGroup/CyclicallyReduced.lean,Mathlib/GroupTheory/FreeGroup/Reduce.lean 4 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
7-31887
7 days ago
7-31888
7 days ago
0-1172
19 minutes
27678 b-reinke
author:b-reinke
feat(GroupTheory/FreeGroup): reduction theorem for powers This PR adds the theorem `reduce_flatten_replicate`, it describes the reduction of a power of a reduced word in terms of its cyclic reduction. It is a part of a series of PR on the theory of cyclically reduced words. Upstreamed from the [EquationalTheories](https://github.com/teorth/equational_theories) project. - [ ] depends on: #25966 - [ ] depends on: #27672 - [ ] depends on: #27673 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory merge-conflict blocked-by-other-PR 286/0 Mathlib.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/FreeGroup/CyclicallyReduced.lean,Mathlib/GroupTheory/FreeGroup/Reduce.lean 4 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
7-31886
7 days ago
7-31887
7 days ago
0-19
19 seconds
27679 b-reinke
author:b-reinke
feat(GroupTheory/FreeGroup): add pow_left_inj This PR shows that taking n-th powers is an injective function on the free group, using the theory of cyclical reduction. It is the last part of a series of PR on the theory of cyclically reduced words, that were split from #22639. Upstreamed from the [EquationalTheories](https://github.com/teorth/equational_theories) project. - [ ] depends on: #25966 - [ ] depends on: #27672 - [ ] depends on: #27673 - [ ] depends on: #27678 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory merge-conflict blocked-by-other-PR 364/0 Mathlib.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/FreeGroup/CyclicallyReduced.lean,Mathlib/GroupTheory/FreeGroup/Reduce.lean 4 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
7-31885
7 days ago
7-31886
7 days ago
0-2410
40 minutes
27578 bjornsolheim
author:bjornsolheim
feat(Geometry/Convex/Cone): add conical combinations and conical hull - Prove closure properties of sequences with nonnegative coefficients - Define conical hull - Prove that the smallest pointed cone containing s is the conical hull of s - Implemented with Finsupp --- - [ ] depends on: #25292 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry new-contributor blocked-by-other-PR 188/0 Mathlib.lean,Mathlib/Geometry/Convex/Cone/ConicalHull.lean 2 5 ['YaelDillies', 'bjornsolheim', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
7-20402
7 days ago
8-27517
8 days ago
0-254
4 minutes
27290 themathqueen
author:themathqueen
feat: `Star`, `StarAddMonoid`, and `StarModule` instances for tensor products This pr defines the `Star`, `StarAddMonoid` and `StarModule` instances on tensor product spaces. --- - [ ] depends on: #27288 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra blocked-by-other-PR
label:t-algebra$
85/27 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Star.lean,Mathlib/RingTheory/Coalgebra/Hom.lean 5 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
7-14682
7 days ago
32-44601
1 month ago
0-840
14 minutes
27897 grunweg
author:grunweg
feat: check indentation of doc-strings Likely will require further adaptations to mathlib. May land piece-wise. But at first, let's see how big the overall fallout actually is. (So far: 100 lines of implementation and tests, and 170 lines of fix-ups; which are probably mostly complete, but not entirely.) --- - [ ] depends on: #27898 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter awaiting-CI merge-conflict blocked-by-other-PR 339/20 Mathlib/Algebra/Order/Hom/Basic.lean,Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Algebra/Polynomial/Inductions.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Oplax.lean,Mathlib/CategoryTheory/ConcreteCategory/Basic.lean,Mathlib/CategoryTheory/Enriched/Opposite.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/Limits.lean,Mathlib/CategoryTheory/NatIso.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Finsupp/MonomialOrder.lean,Mathlib/Data/Finsupp/MonomialOrder/DegLex.lean,Mathlib/Data/List/EditDistance/Defs.lean,Mathlib/Data/PNat/Xgcd.lean,Mathlib/Data/Part.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean,Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean,Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/Order/Filter/Partial.lean,Mathlib/Order/Interval/Finset/Defs.lean,Mathlib/RingTheory/DividedPowers/Basic.lean,Mathlib/Tactic/ComputeDegree.lean,Mathlib/Tactic/FunProp/Decl.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/FunProp/Types.lean,Mathlib/Tactic/Linter/DocString.lean,Mathlib/Tactic/MinImports.lean,Mathlib/Tactic/MoveAdd.lean,Mathlib/Tactic/RewriteSearch.lean,Mathlib/Tactic/ToAdditive/Frontend.lean,MathlibTest/DocString.lean,MathlibTest/slow_simp.lean 37 5 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
6-68878
6 days ago
6-68879
6 days ago
0-1
1 second
27996 grunweg
author:grunweg
feat: check indentation in doc-strings, medium version --- - [ ] depends on: #27898 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict blocked-by-other-PR WIP 816/505 Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/ContinuedFractions/Basic.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/Group/Subgroup/Finite.lean,Mathlib/Algebra/Lie/Classical.lean,Mathlib/Algebra/Lie/OfAssociative.lean,Mathlib/Algebra/Module/LinearMap/Polynomial.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Algebra/Order/Hom/Basic.lean,Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Algebra/Polynomial/Inductions.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/CategoryTheory/Adjunction/AdjointFunctorTheorems.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Oplax.lean,Mathlib/CategoryTheory/Comma/Arrow.lean,Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/ConcreteCategory/Basic.lean,Mathlib/CategoryTheory/Enriched/Opposite.lean,Mathlib/CategoryTheory/EpiMono.lean,Mathlib/CategoryTheory/Equivalence.lean,Mathlib/CategoryTheory/EssentialImage.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/CategoryTheory/Generator/Basic.lean,Mathlib/CategoryTheory/Limits/ConeCategory.lean,Mathlib/CategoryTheory/Limits/Filtered.lean,Mathlib/CategoryTheory/Limits/FullSubcategory.lean,Mathlib/CategoryTheory/Limits/HasLimits.lean,Mathlib/CategoryTheory/Limits/Over.lean,Mathlib/CategoryTheory/Limits/Shapes/IsTerminal.lean,Mathlib/CategoryTheory/Limits/Shapes/WideEqualizers.lean,Mathlib/CategoryTheory/Limits/Types/Yoneda.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/Limits.lean,Mathlib/CategoryTheory/NatIso.lean,Mathlib/CategoryTheory/ObjectProperty/FullSubcategory.lean,Mathlib/CategoryTheory/Sites/Grothendieck.lean,Mathlib/CategoryTheory/Sites/Pretopology.lean,Mathlib/CategoryTheory/Sites/Sheaf.lean,Mathlib/CategoryTheory/Sites/Sieves.lean,Mathlib/CategoryTheory/Subobject/Comma.lean,Mathlib/CategoryTheory/Thin.lean,Mathlib/CategoryTheory/Yoneda.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Combinatorics/Quiver/Symmetric.lean,Mathlib/Condensed/Equivalence.lean,Mathlib/Data/Bracket.lean,Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Finset/NatAntidiagonal.lean,Mathlib/Data/Finsupp/MonomialOrder.lean,Mathlib/Data/Finsupp/MonomialOrder/DegLex.lean,Mathlib/Data/List/Defs.lean,Mathlib/Data/List/EditDistance/Defs.lean,Mathlib/Data/List/Rotate.lean,Mathlib/Data/Matrix/Composition.lean,Mathlib/Data/Multiset/Antidiagonal.lean,Mathlib/Data/Multiset/NatAntidiagonal.lean,Mathlib/Data/Num/Basic.lean,Mathlib/Data/Num/Bitwise.lean,Mathlib/Data/Ordmap/Ordnode.lean,Mathlib/Data/PNat/Xgcd.lean,Mathlib/Data/Part.lean,Mathlib/Data/Vector/Basic.lean,Mathlib/Data/Vector/Defs.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean,Mathlib/Geometry/RingedSpace/PresheafedSpace/Gluing.lean,Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/LinearAlgebra/Finsupp/LinearCombination.lean,Mathlib/LinearAlgebra/InvariantBasisNumber.lean,Mathlib/LinearAlgebra/LinearIndependent/Basic.lean,Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean,Mathlib/MeasureTheory/Group/Action.lean,Mathlib/NumberTheory/FLT/Basic.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/Order/Filter/Partial.lean,Mathlib/Order/Interval/Finset/Defs.lean,Mathlib/RingTheory/DividedPowers/Basic.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Prod.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Localization/Defs.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean,Mathlib/SetTheory/Ordinal/Family.lean,Mathlib/SetTheory/Ordinal/FixedPoint.lean,Mathlib/Tactic/Algebraize.lean,Mathlib/Tactic/Bound/Attribute.lean,Mathlib/Tactic/ComputeDegree.lean,Mathlib/Tactic/FunProp/Decl.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/FunProp/Types.lean,Mathlib/Tactic/Linter/DocString.lean,Mathlib/Tactic/MinImports.lean,Mathlib/Tactic/MoveAdd.lean,Mathlib/Tactic/RewriteSearch.lean 107 6 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
6-68753
6 days ago
6-68754
6 days ago
0-1
1 second
28395 joelriou
author:joelriou
feat(AlgebraicTopology/SimplicialSet): nondegenerate simplices in the standard simplex In this PR, we show that `d`-dimensional nondegenerate simplices in `Δ[n]` identify to `Fin (d + 1) ↪o Fin (n + 1)`. --- - [ ] depends on: #28337 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology blocked-by-other-PR WIP 351/30 Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialNerve.lean,Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/Nerve.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveNondegenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/AlgebraicTopology/SimplicialSet/Subcomplex.lean,Mathlib/Order/Hom/Basic.lean 8 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
6-58000
6 days ago
6-62476
6 days ago
0-1
1 second
23181 YaelDillies
author:YaelDillies
refactor(Topology/UniformSpace): use `SetRel` What's left in `UniformSpace.Defs` is precisely the theory of the uniformity filter. The motivation is that the theory of coverings and packings in both high dimensional probability and dynamics can be based on entourages, while they have little to do with the uniformity filter (indeed, entourages are in a sense a quantitative version of the uniformity filter). --- - [x] depends on: #25587 - [ ] depends on: #26988 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology blocked-by-other-PR 797/601 Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Data/Rel.lean,Mathlib/Dynamics/TopologicalEntropy/CoverEntropy.lean,Mathlib/Dynamics/TopologicalEntropy/DynamicalEntourage.lean,Mathlib/Dynamics/TopologicalEntropy/NetEntropy.lean,Mathlib/Dynamics/TopologicalEntropy/Semiconj.lean,Mathlib/Dynamics/TopologicalEntropy/Subset.lean,Mathlib/InformationTheory/Hamming.lean,Mathlib/MeasureTheory/Measure/RegularityCompacts.lean,Mathlib/Topology/MetricSpace/BundledFun.lean,Mathlib/Topology/MetricSpace/PiNat.lean,Mathlib/Topology/Metrizable/Uniformity.lean,Mathlib/Topology/UniformSpace/Ascoli.lean,Mathlib/Topology/UniformSpace/Basic.lean,Mathlib/Topology/UniformSpace/Cauchy.lean,Mathlib/Topology/UniformSpace/Compact.lean,Mathlib/Topology/UniformSpace/CompactConvergence.lean,Mathlib/Topology/UniformSpace/Completion.lean,Mathlib/Topology/UniformSpace/Defs.lean,Mathlib/Topology/UniformSpace/DiscreteUniformity.lean,Mathlib/Topology/UniformSpace/Equicontinuity.lean,Mathlib/Topology/UniformSpace/HeineCantor.lean,Mathlib/Topology/UniformSpace/OfCompactT2.lean,Mathlib/Topology/UniformSpace/OfFun.lean,Mathlib/Topology/UniformSpace/Separation.lean,Mathlib/Topology/UniformSpace/Ultra/Basic.lean,Mathlib/Topology/UniformSpace/Ultra/Constructions.lean,Mathlib/Topology/UniformSpace/UniformApproximation.lean,Mathlib/Topology/UniformSpace/UniformConvergence.lean,Mathlib/Topology/UniformSpace/UniformEmbedding.lean 30 33 ['ADedecker', 'PatrickMassot', 'YaelDillies', 'b-mehta', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
6-40789
6 days ago
7-67129
7 days ago
75-62949
75 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 t-ring-theory t-order blocked-by-other-PR 237/4 Mathlib.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean,Mathlib/RingTheory/Valuation/ValueGroupIso.lean 6 6 ['faenuccio', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] faenuccio
assignee:faenuccio
6-32427
6 days ago
6-32427
6 days ago
10-67838
10 days
27980 smmercuri
author:smmercuri
feat: dimensions of completions at infinite place extensions This PR continues the work from #24853. Original PR: https://github.com/leanprover-community/mathlib4/pull/24853 --- - [ ] depends on: #27977 - [ ] depends on: #27978 - [ ] depends on: #27979 - [ ] depends on: #27974 - [ ] depends on: #27975 - [ ] depends on: #27976 large-import t-number-theory merge-conflict blocked-by-other-PR 878/1 Mathlib.lean,Mathlib/Analysis/Normed/Field/WithAbs.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Basic.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Dimension.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Embeddings.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean 6 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
6-30447
6 days ago
6-30447
6 days ago
0-3752
1 hour
28392 joelriou
author:joelriou
feat(AlgebraicTopology/ModelCategory): relation between left and right homotopies In this PR, we relate left and right homotopy between morphisms `X ⟶ Y` in model categories. In particular, if `X` is cofibrant and `Y` is fibrant, these notions coincide (for arbitrary choices of good cylinders or good path objects). Using the lemma by K. S. Brown, we deduce versions of the Whitehead theorem which assert that when both `X` and `Y` are fibrant and cofibrant, then any weak equivalence `X ⟶ Y` is a homotopy equivalence. --- - [ ] depends on: #26967 - [ ] depends on: #28354 - [ ] depends on: #26960 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology blocked-by-other-PR WIP 1011/0 Mathlib.lean,Mathlib/AlgebraicTopology/ModelCategory/BrownLemma.lean,Mathlib/AlgebraicTopology/ModelCategory/Homotopy.lean,Mathlib/AlgebraicTopology/ModelCategory/LeftHomotopy.lean,Mathlib/AlgebraicTopology/ModelCategory/RightHomotopy.lean 5 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
6-17322
6 days ago
6-70570
6 days ago
0-2
2 seconds
27898 grunweg
author:grunweg
feat: check indentation of doc-strings, basic version Basic version of #27897 (which still has some false positives): let's land this before weeding out the other errors. --- - [x] depends on: #27895 - [x] depends on: #27901 - [ ] depends on: #27933 - a PR for adding clarifying newlines - some miscellaneous indentation changes [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter blocked-by-other-PR 510/268 Mathlib/Algebra/ContinuedFractions/Basic.lean,Mathlib/Algebra/Lie/Classical.lean,Mathlib/Algebra/Lie/OfAssociative.lean,Mathlib/Algebra/Module/LinearMap/Polynomial.lean,Mathlib/Algebra/Order/Hom/Basic.lean,Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Algebra/Polynomial/Inductions.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Oplax.lean,Mathlib/CategoryTheory/ConcreteCategory/Basic.lean,Mathlib/CategoryTheory/Enriched/Opposite.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/Limits/Basic.lean,Mathlib/CategoryTheory/NatIso.lean,Mathlib/CategoryTheory/Sites/Grothendieck.lean,Mathlib/CategoryTheory/Sites/Pretopology.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Data/Bracket.lean,Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Finsupp/MonomialOrder.lean,Mathlib/Data/Finsupp/MonomialOrder/DegLex.lean,Mathlib/Data/List/Defs.lean,Mathlib/Data/List/EditDistance/Defs.lean,Mathlib/Data/List/Rotate.lean,Mathlib/Data/Num/Basic.lean,Mathlib/Data/Num/Bitwise.lean,Mathlib/Data/Ordmap/Ordnode.lean,Mathlib/Data/PNat/Xgcd.lean,Mathlib/Data/Part.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean,Mathlib/Geometry/RingedSpace/PresheafedSpace/Gluing.lean,Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean,Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean,Mathlib/MeasureTheory/Group/Action.lean,Mathlib/NumberTheory/FLT/Basic.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/Order/Filter/Partial.lean,Mathlib/Order/Interval/Finset/Defs.lean,Mathlib/RingTheory/DividedPowers/Basic.lean,Mathlib/Tactic/Bound/Attribute.lean,Mathlib/Tactic/ComputeDegree.lean,Mathlib/Tactic/Linter/DocString.lean,Mathlib/Tactic/MinImports.lean,Mathlib/Tactic/MoveAdd.lean,Mathlib/Tactic/RewriteSearch.lean,Mathlib/Tactic/Sat/FromLRAT.lean,Mathlib/Tactic/TermCongr.lean,Mathlib/Tactic/ToAdditive/Frontend.lean,Mathlib/Util/Notation3.lean,Mathlib/Util/Superscript.lean,MathlibTest/DocString.lean,MathlibTest/slow_simp.lean 54 5 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
6-13010
6 days ago
6-13792
6 days ago
0-26
26 seconds
7873 astrainfinita
author:astrainfinita
perf: reorder `extends` and change instance priority in algebra hierarchy There are no strict rules, but in general `Cancel` is dropped first, then `Comm`, then `Neg / Inv`, then `Assoc`. Not sure if there's a better way. --- - [ ] depends on: #14712 - [x] depends on: #16638 - [ ] depends on: #18464 - [ ] depends on: #18468 - [ ] depends on: #18470 - [ ] depends on: #18472 - [ ] depends on: #18474 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) slow-typeclass-synthesis t-algebra merge-conflict blocked-by-other-PR
label:t-algebra$
494/204 Archive/Imo/Imo1998Q2.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Associated.lean,Mathlib/Algebra/BigOperators/Ring/List.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Limits.lean,Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/EuclideanDomain/Field.lean,Mathlib/Algebra/Field/Basic.lean,Mathlib/Algebra/Field/Defs.lean,Mathlib/Algebra/Field/IsField.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/InjSurj.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/GroupWithZero/Basic.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/GroupWithZero/InjSurj.lean,Mathlib/Algebra/GroupWithZero/Prod.lean,Mathlib/Algebra/GroupWithZero/Semiconj.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Homology/Embedding/Basic.lean,Mathlib/Algebra/Homology/HomotopyCategory/DegreewiseSplit.lean,Mathlib/Algebra/Homology/HomotopyCategory/ShiftSequence.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Grading.lean,Mathlib/Algebra/Order/AddGroupWithTop.lean,Mathlib/Algebra/Order/Field/Canonical/Defs.lean,Mathlib/Algebra/Order/Field/Defs.lean,Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Ring/BooleanRing.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/Algebra/Ring/InjSurj.lean,Mathlib/Algebra/Ring/Rat.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/Fourier/FourierTransformDeriv.lean,Mathlib/Analysis/InnerProductSpace/Orientation.lean,Mathlib/Analysis/InnerProductSpace/Symmetric.lean,Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/NormedSpace/Star/Multiplier.lean,Mathlib/CategoryTheory/Preadditive/FunctorCategory.lean,Mathlib/CategoryTheory/Preadditive/SingleObj.lean,Mathlib/CategoryTheory/Triangulated/Functor.lean,Mathlib/Data/Finset/NoncommProd.lean,Mathlib/Data/Int/Cast/Defs.lean,Mathlib/Data/Nat/Cast/Defs.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/Data/Num/Lemmas.lean,Mathlib/Data/Rat/Denumerable.lean,Mathlib/Data/Real/ENatENNReal.lean,Mathlib/Dynamics/Ergodic/AddCircle.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/GroupTheory/MonoidLocalization.lean,Mathlib/GroupTheory/SpecificGroups/Alternating.lean,Mathlib/GroupTheory/Torsion.lean,Mathlib/Init/ZeroOne.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/Orientation.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/TensorPower.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Graded/External.lean,Mathlib/MeasureTheory/Decomposition/Jordan.lean,Mathlib/MeasureTheory/Decomposition/SignedLebesgue.lean,Mathlib/NumberTheory/ArithmeticFunction.lean,Mathlib/NumberTheory/LegendreSymbol/GaussEisensteinLemmas.lean,Mathlib/NumberTheory/RamificationInertia.lean,Mathlib/NumberTheory/WellApproximable.lean,Mathlib/NumberTheory/Zsqrtd/QuadraticReciprocity.lean,Mathlib/Order/Filter/Germ.lean,Mathlib/Order/Interval/Finset/Box.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/Coalgebra/Hom.lean,Mathlib/RingTheory/DiscreteValuationRing/Basic.lean,Mathlib/RingTheory/Filtration.lean,Mathlib/RingTheory/Henselian.lean,Mathlib/RingTheory/Ideal/IsPrincipal.lean,Mathlib/RingTheory/Ideal/LocalRing.lean,Mathlib/RingTheory/Ideal/Norm.lean,Mathlib/RingTheory/Localization/Integral.lean,Mathlib/RingTheory/MvPolynomial/Symmetric.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean,Mathlib/RingTheory/UniqueFactorizationDomain.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/Tactic/Positivity/Core.lean 104 84 ['MichaelStollBayreuth', 'astrainfinita', 'github-actions', 'kim-em', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mattrobball'] nobody
5-30333
5 days ago
401-1886
1 year ago
7-77799
7 days
28187 vihdzp
author:vihdzp
feat: archimedean classes of rationals We prove some lemmas relating `ArchimedeanClass` to `ℚ` and other archimedean fields. --- - [ ] depends on: #28179 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra blocked-by-other-PR
label:t-algebra$
262/12 Mathlib.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/Ring/Archimedean.lean 3 6 ['github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vihdzp'] nobody
5-14436
5 days ago
5-14452
5 days ago
0-158
2 minutes
27862 alreadydone
author:alreadydone
chore(Algebra): generalize results on IsLocalization to Submonoid.LocalizationMap Also adds some lemmas connecting IsRegular to nonZeroDivisors, and IsCancelMulZero to NoZeroDivisors. --- - [x] depends on: #27877 - [ ] depends on: #27842 - [x] depends on: #27791 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra blocked-by-other-PR
label:t-algebra$
170/182 Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/RingTheory/Localization/Away/Basic.lean,Mathlib/RingTheory/Localization/Defs.lean,Mathlib/RingTheory/Localization/Ideal.lean,Mathlib/RingTheory/OrderOfVanishing.lean,Mathlib/RingTheory/Trace/Quotient.lean 7 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
5-11855
5 days ago
5-15228
5 days ago
0-1
1 second
26985 agjftucker
author:agjftucker
feat(Analysis/Calculus/Implicit): define implicitFunOfBivariate This PR continues the work from #16743. Original PR: https://github.com/leanprover-community/mathlib4/pull/16743 --- - [ ] depends on: #26300 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-analysis blocked-by-other-PR 282/9 Mathlib.lean,Mathlib/Analysis/Calculus/FDeriv/Partial.lean,Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Normed/Module/Convex.lean,Mathlib/Order/Filter/Prod.lean 5 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
5-1977
5 days ago
8-33826
8 days ago
0-213
3 minutes
25326 YaelDillies
author:YaelDillies
feat: `Mon_ C` is cartesian-monoidal if `C` is From Toric --- - [ ] depends on: #26057 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-category-theory blocked-by-other-PR 211/2 Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Mon_.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/Tactic/Attr/Register.lean,MathlibTest/CategoryTheory/Monoidal/MonTauto.lean,scripts/noshake.json 6 11 ['YaelDillies', 'erdOne', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
4-45559
4 days ago
14-70700
14 days ago
15-73117
15 days
27508 chrisflav
author:chrisflav
feat(RingTheory): height under ring homomorphism We show that if `P` lies over `p`, the height of `P` is bounded by the height of `p` plus the height of the image of `P` in `S ⧸ p S`. In a follow-up PR, we show that equality holds if `S` satisfies going-down as an `R`-algebra. Co-authored by: Sihan Su Co-authored by: Yi Song --- - [ ] depends on: #28520 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import blocked-by-other-PR 118/1 Mathlib/Data/Set/Finite/Basic.lean,Mathlib/Data/Set/Function.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Basic.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean 7 12 ['YaelDillies', 'chrisflav', 'github-actions', 'mathlib4-dependent-issues-bot'] nobody
4-40871
4 days ago
4-40872
4 days ago
1-23458
1 day
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 SetTheory 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. - [ ] depends on: #28208 - [ ] depends on: #28198 - [ ] depends on: #28185 - [ ] depends on: #28152 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology new-contributor blocked-by-other-PR 639/6 Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnected.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnectedSphere.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,Mathlib/Topology/FoldTrans.lean,Mathlib/Topology/Path.lean,Mathlib/Topology/Subpath.lean 9 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
4-31662
4 days ago
9-17450
9 days ago
0-23
23 seconds
27429 smorel394
author:smorel394
feat(RepresentationTheory/FinGroupCharZero): applications of Maschke's theorem Prove some properties of representations that follow from Maschke's theorem: * If `G` is a finite group whose order is invertible in a field `k`, then every object of `Rep k G` (resp. `FDRep k G`) is injective and projective. * For an object `V` of `FDRep k G`, when `k` is an algebraically closed field in which the order of `G` is invertible: (1) `V` is simple if and only `V ⟶ V` is a `k`-vector space of dimension `1` (`FDRep.simple_iff_end_is_rank_one`); (2) When `k` is characteristic zero, `V` is simple if and only if `∑ g : G, V.character g * V.character g⁻¹ = Fintype.card G` (`FDRep.simple_iff_char_is_norm_one`). Note: This used to be #27165, but it was closed for some reason I don't understand. - [x] depends on: #27154 - [ ] depends on: #27134 - [ ] depends on: #27125 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra blocked-by-other-PR
label:t-algebra$
256/8 Mathlib.lean,Mathlib/Algebra/Category/FGModuleCat/Abelian.lean,Mathlib/Algebra/Category/FGModuleCat/Colimits.lean,Mathlib/RepresentationTheory/FDRep.lean,Mathlib/RepresentationTheory/FinGroupCharZero.lean 5 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
4-26746
4 days ago
26-39498
26 days ago
0-376
6 minutes
27125 smorel394
author:smorel394
feat(Algebra/Category/FGModuleCat/Abelian): `FGModuleCat k` is abelian if `k` is a noetherian ring - [ ] depends on: #27094 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra blocked-by-other-PR
label:t-algebra$
104/0 Mathlib.lean,Mathlib/Algebra/Category/FGModuleCat/Abelian.lean,Mathlib/Algebra/Category/FGModuleCat/Colimits.lean 3 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
4-26682
4 days ago
27-45286
27 days ago
0-2605
43 minutes
27134 smorel394
author:smorel394
feat(RepresentationTheory/FDRep): The forgetful functor from `FDRep R G` to `Rep R G` preserves finite (co)limits For finite limits, we need them to exist in `FDRep R G`, so we need to assume that `R` is a Noetherian ring. - [x] depends on: #27132 - [ ] depends on: #27094 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra blocked-by-other-PR
label:t-algebra$
79/0 Mathlib.lean,Mathlib/Algebra/Category/FGModuleCat/Colimits.lean,Mathlib/RepresentationTheory/FDRep.lean 3 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
4-26663
4 days ago
27-45173
27 days ago
0-166
2 minutes
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 new-contributor t-combinatorics blocked-by-other-PR 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 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
4-10093
4 days ago
4-16670
4 days ago
0-591
9 minutes
28475 astrainfinita
author:astrainfinita
chore(Analysis/SpecificLimits/Basic): generalize lemmas --- - [ ] depends on: #28472 - [ ] depends on: #28474 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis blocked-by-other-PR 131/98 Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/Analysis/SpecificLimits/RCLike.lean,Mathlib/Data/Real/Hyperreal.lean,Mathlib/Topology/Algebra/Order/Field.lean,Mathlib/Topology/Instances/Rat.lean 6 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
3-81859
3 days ago
5-38921
5 days ago
0-2105
35 minutes
27152 xroblot
author:xroblot
feat(RingTheory/Ideal): prove transitivity for the relative norm --- - [x] depends on: #26070 - [ ] depends on: #28526 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory merge-conflict blocked-by-other-PR 309/14 Mathlib.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/RingTheory/Ideal/Norm/RelNorm.lean,Mathlib/RingTheory/Ideal/Prime.lean,Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean,Mathlib/RingTheory/Localization/AtPrime/Basic.lean,Mathlib/RingTheory/Localization/AtPrime/Extension.lean,Mathlib/RingTheory/Localization/FractionRing.lean 8 13 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'riccardobrasca', 'xroblot'] riccardobrasca
assignee:riccardobrasca
3-47656
3 days ago
3-59634
3 days ago
30-54445
30 days
28224 joelriou
author:joelriou
feat(AlgebraicTopology): the type of non degenerate simplices of a simplicial set --- - [x] depends on: #27968 - [ ] depends on: #28034 - [ ] depends on: #26076 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology merge-conflict blocked-by-other-PR WIP 490/5 Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/Simplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/CategoryTheory/EpiMono.lean 7 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
2-57909
2 days ago
2-57910
2 days ago
0-2
2 seconds
27668 IvanRenison
author:IvanRenison
feat(Analysis/InnerProductSpace): define outer product of linear maps Co-authored-by: Jam Kabeer Ali Khan --- I'm not completely sure if this is a good addition or not, and also, I was not sure if to call the definition `outerProduct` or only `outer`. - [ ] depends on: #28350 - [ ] depends on: #28344 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis blocked-by-other-PR 179/0 Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/Dual.lean,Mathlib/Analysis/InnerProductSpace/LinearMap.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/InnerProductSpace/Positive.lean,Mathlib/Analysis/InnerProductSpace/Trace.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean 7 64 ['IvanRenison', 'github-actions', 'mathlib4-dependent-issues-bot', 'themathqueen'] themathqueen
assignee:themathqueen
2-54064
2 days ago
2-59561
2 days ago
2-50264
2 days
27821 BGuillemet
author:BGuillemet
feat(CategoryTheory/Sites/Sheaf): functorial version of Sheaf.homEquiv Add two functorial versions of Sheaf.homEquiv, one using `yoneda` and the other using `coyoneda`. --- - [ ] depends on: #27819 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-category-theory merge-conflict blocked-by-other-PR 182/37 Mathlib/CategoryTheory/Sites/Sheaf.lean,Mathlib/CategoryTheory/Yoneda.lean 2 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
2-50076
2 days ago
2-50077
2 days ago
0-2066
34 minutes
28330 joelriou
author:joelriou
feat(AlgebraicTopology): the type of non degenerate simplices not in a given subcomplex --- - [ ] depends on: #28224 - [x] depends on: #27968 - [ ] depends on: #28034 - [ ] depends on: #26076 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology merge-conflict blocked-by-other-PR WIP 576/5 Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplicesSubcomplex.lean,Mathlib/AlgebraicTopology/SimplicialSet/Simplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/CategoryTheory/EpiMono.lean 8 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
2-49949
2 days ago
2-49950
2 days ago
0-2
2 seconds
28332 joelriou
author:joelriou
feat(AlgebraicTopology/SimplicialSet): pairings of non degenerate simplices, following Sean Moss In this PR, we introduce the notion of pairing for a subcomplex of a simplicial set. Following the work of Sean Moss, *Another approach to the Kan-Quillen model structure*, this is an essential tool in the study of (inner) anodyne extensions. --- - [ ] depends on: #28330 - [ ] depends on: #28224 - [x] depends on: #27968 - [ ] depends on: #28034 - [ ] depends on: #26076 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology merge-conflict blocked-by-other-PR WIP 796/5 Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/IsUniquelyCodimOneFace.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/Pairing.lean,Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplicesSubcomplex.lean,Mathlib/AlgebraicTopology/SimplicialSet/Simplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/CategoryTheory/EpiMono.lean,docs/references.bib 11 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
2-49948
2 days ago
2-49949
2 days ago
0-21
21 seconds
28336 joelriou
author:joelriou
feat(AlgebraicTopology/SimplicialSet): a helper structure to construct pairings In this PR, we introduce an helper structure `Subcomplex.PairingCore` in order to construct a pairing for a subcomplex of a simplicial set. The main differences with `Subcomplex.Pairing` are that we provide an index type `ι` in order to parametrize type (I) and type (II) simplices, and that the dimensions of these are definitionally `d` or `d + 1`. --- - [ ] depends on: #28332 - [ ] depends on: #28330 - [ ] depends on: #28224 - [x] depends on: #27968 - [ ] depends on: #28034 - [ ] depends on: #26076 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology merge-conflict blocked-by-other-PR WIP 1040/5 Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/IsUniquelyCodimOneFace.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/Pairing.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/PairingCore.lean,Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplicesSubcomplex.lean,Mathlib/AlgebraicTopology/SimplicialSet/Simplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/CategoryTheory/EpiMono.lean,docs/references.bib 12 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
2-49945
2 days ago
2-49946
2 days ago
0-2
2 seconds
27557 chrisflav
author:chrisflav
feat(RingTheory/KrullDimension): dimension of `R / (x)` for a nonzerodivisor We show that if `R` is Noetherian and `x` is a nonzerodivisor contained in the Jacobson radical of `R`, then `dim R / (x) + 1 = dim R`. --- - [ ] depends on: #27538 - [ ] depends on: #27510 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import merge-conflict blocked-by-other-PR 509/1 Mathlib/Algebra/Module/SpanRank.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/Order/KrullDimension.lean,Mathlib/RingTheory/Ideal/GoingDown.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Basic.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/KrullDimension/Basic.lean,Mathlib/RingTheory/KrullDimension/NonZeroDivisors.lean,Mathlib/RingTheory/KrullDimension/PID.lean,Mathlib/RingTheory/Localization/AtPrime.lean,Mathlib/RingTheory/Spectrum/Prime/RingHom.lean 17 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
2-49810
2 days ago
16-27943
16 days ago
0-562
9 minutes
27542 chrisflav
author:chrisflav
feat(RingTheory/KrullDimension): dimension of polynomial ring We show that for a Noetherian ring `R`, `dim R[X] = dim R + 1`. Co-authored by: Sihan Su Co-authored by: Yi Song --- - [ ] depends on: #27520 - [ ] depends on: #27538 - [ ] depends on: #27510 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import merge-conflict blocked-by-other-PR 474/3 Mathlib/Algebra/Module/SpanRank.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/Order/KrullDimension.lean,Mathlib/RingTheory/Ideal/GoingDown.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Basic.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/KrullDimension/Basic.lean,Mathlib/RingTheory/KrullDimension/PID.lean,Mathlib/RingTheory/KrullDimension/Polynomial.lean,Mathlib/RingTheory/Localization/AtPrime/Basic.lean,Mathlib/RingTheory/Spectrum/Prime/RingHom.lean 17 n/a ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
2-49809
2 days ago
unknown
unknown
28346 joelriou
author:joelriou
feat(AlgebraicTopology/SimplicialSet): rank functions for pairings This PR introduces the type of (weak) rank functions for pairings, a notion introduced by Sean Moss, *Another approach to the Kan-Quillen model structure*. Rank functions can be used in order to show that certain pairings are regular (i.e. the ancestrality relation is well founded). In a future PR, it shall be shown that a regular pairing admits a rank function to the natural numbers, which shall be used to show that the corresponding inclusion of simplicial sets is a (strong) anodyne extension. --- - [ ] depends on: #28336 - [ ] depends on: #28332 - [ ] depends on: #28330 - [ ] depends on: #28224 - [x] depends on: #27968 - [ ] depends on: #28034 - [ ] depends on: #26076 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology merge-conflict blocked-by-other-PR WIP 1214/5 Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/IsUniquelyCodimOneFace.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/Pairing.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/PairingCore.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/Rank.lean,Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplicesSubcomplex.lean,Mathlib/AlgebraicTopology/SimplicialSet/Simplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/CategoryTheory/EpiMono.lean,docs/references.bib 13 n/a ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
2-49749
2 days ago
unknown
unknown
28351 joelriou
author:joelriou
feat(AlgebraicTopology/SimplicialSet): the rank function with values in natural numbers of a regular pairing Given a regular pairing `P` for a subcomplex of a simplicial, following the work by Sean Moss, *Another approach to the Kan-Quillen model structure*, we show that the rank function relative to the well founded ancestrality relation has values in the type of natural numbers. --- - [ ] depends on: #28346 - [ ] depends on: #28336 - [ ] depends on: #28332 - [ ] depends on: #28330 - [ ] depends on: #28224 - [x] depends on: #27968 - [ ] depends on: #28034 - [ ] depends on: #26076 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology merge-conflict blocked-by-other-PR WIP 1316/5 Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/IsUniquelyCodimOneFace.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/Pairing.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/PairingCore.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/Rank.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/RankNat.lean,Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplicesSubcomplex.lean,Mathlib/AlgebraicTopology/SimplicialSet/Simplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/CategoryTheory/EpiMono.lean,docs/references.bib 14 n/a ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
2-49747
2 days ago
unknown
unknown
28462 joelriou
author:joelriou
feat(AlgebraicTopology/SimplicialSet): the relative cell complex attached to a rank function for a pairing --- - [ ] depends on: #28351 - [ ] depends on: #28346 - [ ] depends on: #28336 - [ ] depends on: #28332 - [ ] depends on: #28330 - [ ] depends on: #28224 - [x] depends on: #27968 - [ ] depends on: #28034 - [ ] depends on: #26076 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology merge-conflict blocked-by-other-PR WIP 1442/5 Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/IsUniquelyCodimOneFace.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/Pairing.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/PairingCore.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/Rank.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/RankNat.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/RelativeCellComplex.lean,Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplicesSubcomplex.lean,Mathlib/AlgebraicTopology/SimplicialSet/Simplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/CategoryTheory/EpiMono.lean,docs/references.bib 15 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
2-49746
2 days ago
2-49747
2 days ago
0-1
1 second
27979 smmercuri
author:smmercuri
feat: `RamifiedExtension` and `UnramifiedExtension` types for `InfinitePlace.Extension`s This PR continues the work from #24882. Original PR: https://github.com/leanprover-community/mathlib4/pull/24882 --- - [ ] depends on: #27977 t-number-theory blocked-by-other-PR 242/0 Mathlib/NumberTheory/NumberField/InfinitePlace/Embeddings.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] riccardobrasca
assignee:riccardobrasca
2-46500
2 days ago
15-51713
15 days ago
0-278
4 minutes
26218 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra): definition of cohen macaulay In this PR, we added the definition of CM module, CM local ring (extending local ring), and CM ring. We also proved Theorem 30, Chater 6, _Commutative Algebra_, Matsumura. --- - [ ] depends on: #26219 - [ ] depends on: #26217 - [ ] depends on: #26216 - [ ] depends on: #28582 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra blocked-by-other-PR
label:t-algebra$
2274/28 Mathlib.lean,Mathlib/Algebra/Category/Grp/Preadditive.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Basic.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean,Mathlib/RingTheory/Flat/Localization.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Localization.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Localization.lean,Mathlib/RingTheory/IsTensorProduct.lean,Mathlib/RingTheory/KrullDimension/Module.lean,Mathlib/RingTheory/KrullDimension/Regular.lean,Mathlib/RingTheory/Nakayama.lean,Mathlib/RingTheory/Regular/Category.lean,Mathlib/RingTheory/Regular/Depth.lean,Mathlib/RingTheory/Regular/Flat.lean,Mathlib/RingTheory/Regular/Ischebeck.lean,Mathlib/RingTheory/Support.lean 19 n/a ['Thmoas-Guan', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
2-40359
2 days ago
unknown
unknown
26245 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra): cohen macaulay local ring is catenary We prove Cohen Macaulay local ring is catenary. Following Theorem 31, Chater 6, _Commutative Algebra_, Matsumura --- - [ ] depends on: #26218 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra blocked-by-other-PR WIP
label:t-algebra$
2661/28 Mathlib.lean,Mathlib/Algebra/Category/Grp/Preadditive.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Catenary.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean,Mathlib/RingTheory/Flat/Localization.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Localization.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Localization.lean,Mathlib/RingTheory/IsTensorProduct.lean,Mathlib/RingTheory/KrullDimension/Module.lean,Mathlib/RingTheory/KrullDimension/Regular.lean,Mathlib/RingTheory/Nakayama.lean,Mathlib/RingTheory/Regular/Category.lean,Mathlib/RingTheory/Regular/Depth.lean,Mathlib/RingTheory/Regular/Flat.lean,Mathlib/RingTheory/Regular/Ischebeck.lean,Mathlib/RingTheory/Support.lean 20 n/a ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
2-39991
2 days ago
unknown
unknown
26957 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra): unmixed thm of Cohen-Macaulay ring In this PR we proved for a (comm)ring `R`, `R` is Cohen-Macaulay ring iff the unmixed theorem holds (for every ideal `I` of height `r` generated by `r` elements, all associated primes of `R/I` have height `r` ) --- - [ ] depends on: #26245 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra blocked-by-other-PR
label:t-algebra$
2835/28 Mathlib.lean,Mathlib/Algebra/Category/Grp/Preadditive.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Basic.lean,Mathlib/RingTheory/CohenMacaulay/Catenary.lean,Mathlib/RingTheory/CohenMacaulay/Unmixed.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean,Mathlib/RingTheory/Flat/Localization.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Localization.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Localization.lean,Mathlib/RingTheory/IsTensorProduct.lean,Mathlib/RingTheory/KrullDimension/Module.lean,Mathlib/RingTheory/KrullDimension/Regular.lean,Mathlib/RingTheory/Nakayama.lean,Mathlib/RingTheory/Regular/Category.lean,Mathlib/RingTheory/Regular/Depth.lean,Mathlib/RingTheory/Regular/Flat.lean,Mathlib/RingTheory/Regular/Ischebeck.lean,Mathlib/RingTheory/Support.lean 21 n/a ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
2-39885
2 days ago
unknown
unknown
26212 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra): the Rees theorem for depth In this PR we proved the Rees theorem for depth. Co-authored-by: Hu Yongle --- - [ ] depends on: #26211 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra blocked-by-other-PR
label:t-algebra$
306/5 Mathlib/Algebra/Category/Grp/Preadditive.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Localization.lean,Mathlib/RingTheory/Regular/Category.lean,Mathlib/RingTheory/Regular/Depth.lean 4 n/a ['Thmoas-Guan', 'github-actions', 'mathlib4-dependent-issues-bot'] nobody
2-38675
2 days ago
unknown
unknown
26213 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra): Ext iso quotient regular sequence In this PR defined the `addequiv` between `Ext M N k` and `N =>[R] M/ rs * M` where `rs` is a regular sequence of length `k` Co-authored-by: Hu Yongle Co-authored-by: Wang Jingting --- - [ ] depends on: #26212 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra blocked-by-other-PR
label:t-algebra$
366/5 Mathlib/Algebra/Category/Grp/Preadditive.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Localization.lean,Mathlib/RingTheory/Regular/Category.lean,Mathlib/RingTheory/Regular/Depth.lean 4 n/a ['Thmoas-Guan', 'github-actions', 'mathlib4-dependent-issues-bot'] nobody
2-38632
2 days ago
unknown
unknown
26214 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra): definition of depth In this PR, we defined the depth of two modules as the minimal order of nonvanishing `Ext` and the `I-depth` for ideal `I` and some basic properties. Including the equivalence of the two in the condition of rees theorem. --- - [ ] depends on: #26212 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra blocked-by-other-PR
label:t-algebra$
591/5 Mathlib/Algebra/Category/Grp/Preadditive.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Localization.lean,Mathlib/RingTheory/Regular/Category.lean,Mathlib/RingTheory/Regular/Depth.lean 4 n/a ['Thmoas-Guan', 'github-actions', 'mathlib4-dependent-issues-bot'] nobody
2-38565
2 days ago
unknown
unknown
26215 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra): Auslander-Buchsbaum theorem This PR mainly proved the Auslander-Buchsbaum theorem stating for a noetherian local ring `R` and a finitely generated `R` module `M` , `proj.dim(M) + depth(M) = depth(R)`. Co-authored-by: Yongle Hu --- - [ ] depends on: #26214 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra blocked-by-other-PR
label:t-algebra$
1107/5 Mathlib.lean,Mathlib/Algebra/Category/Grp/Preadditive.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Localization.lean,Mathlib/RingTheory/Regular/AuslanderBuchsbaum.lean,Mathlib/RingTheory/Regular/Category.lean,Mathlib/RingTheory/Regular/Depth.lean 6 n/a ['Thmoas-Guan', 'github-actions', 'mathlib4-dependent-issues-bot'] nobody
2-38523
2 days ago
unknown
unknown
26217 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra): Ischebeck theorem This PR mainly proved the Ischbecke theorem, stating that `depth(N,M)` is greater or equal to `depth(M) - dim(N)` for finitely generated module `N, M` over local ring. --- - [ ] depends on: #26214 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra blocked-by-other-PR
label:t-algebra$
948/5 Mathlib.lean,Mathlib/Algebra/Category/Grp/Preadditive.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Localization.lean,Mathlib/RingTheory/Regular/Category.lean,Mathlib/RingTheory/Regular/Depth.lean,Mathlib/RingTheory/Regular/Ischebeck.lean 6 n/a ['Thmoas-Guan', 'github-actions', 'mathlib4-dependent-issues-bot'] nobody
2-38473
2 days ago
unknown
unknown
26216 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra): depth of QuotSMulTop In this PR, we proved for a local ring `R` and a finitely generated `R` module `M N`, `IsSMulRegular M x` and `x ∈ Module.annihilator R N`, then `depth(N, M/xM) + 1 = depth(N, M)`, and its corollary for quotient regular seqence. --- - [ ] depends on: #26214 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra blocked-by-other-PR
label:t-algebra$
876/5 Mathlib/Algebra/Category/Grp/Preadditive.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Localization.lean,Mathlib/RingTheory/Regular/Category.lean,Mathlib/RingTheory/Regular/Depth.lean 4 n/a ['Thmoas-Guan', 'github-actions', 'mathlib4-dependent-issues-bot'] nobody
2-38441
2 days ago
unknown
unknown
25903 pfaffelh
author:pfaffelh
feat(MeasureTheory): finite unions of sets in a semi-ring (in terms of measure theory) form a ring : Finite unions of sets in a semi-ring (in terms of measure theory) form a ring The set containing finite unions of sets in a semi-ring are a ring. Part of `MeasureTheory.SetSemiring` is moved to the new file `MeasureTheory.SetRing`. --- - [ ] depends on: #25902 [contains changes in `SetSemiring` as well] --- *This PR continues the work from #23117.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/23117* large-import t-measure-probability blocked-by-other-PR 453/104 Mathlib.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/Data/Set/Pairwise/Lattice.lean,Mathlib/Data/Set/Prod.lean,Mathlib/MeasureTheory/MeasurableSpace/Pi.lean,Mathlib/MeasureTheory/Measure/AddContent.lean,Mathlib/MeasureTheory/PiSystem.lean,Mathlib/MeasureTheory/SetAlgebra.lean,Mathlib/MeasureTheory/SetRing.lean,Mathlib/MeasureTheory/SetSemiring.lean,lakefile.lean 11 n/a ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
2-10849
2 days ago
unknown
unknown
28502 gilesgshaw
author:gilesgshaw
feat(Logic/Basic): avoid unnecessary uses of choice Certain proofs are modified to remove a dependence on the axoim of choice --- - [ ] depends on: #28623 new-contributor t-logic merge-conflict awaiting-author blocked-by-other-PR 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
1-71536
1 day ago
1-71537
1 day ago
0-35689
9 hours
26831 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(GroupTheory/SpecificGroups/Alternating/MaximalSubgroups): maximal subgroups of the alternating group This proves the first case (intransitive) of the O'Nan-Scott classification of maximal subgroups of the alternating group. --- - [ ] depends on: #26457 - [ ] depends on: #26282 - [x] depends on: #26281 - [x] depends on: #26280 - [x] depends on: #26279 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory large-import blocked-by-other-PR 2169/145 Mathlib.lean,Mathlib/Data/Set/Card.lean,Mathlib/GroupTheory/GroupAction/Jordan.lean,Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean,Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean,Mathlib/GroupTheory/GroupAction/Primitive.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfFixingSubgroup.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfStabilizer.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/GroupTheory/Perm/MaximalSubgroups.lean,Mathlib/GroupTheory/SpecificGroups/Alternating.lean,Mathlib/GroupTheory/SpecificGroups/Alternating/MaximalSubgroups.lean,Mathlib/SetTheory/Cardinal/Embedding.lean,docs/references.bib 15 n/a ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-65025
1 day ago
unknown
unknown
27579 RemyDegenne
author:RemyDegenne
feat: risk of an estimator, DeGroot statistical information, total variation distance This is an overview PR and will be cut into several pieces. It contains definitions and properties of: - the risk and Bayes risk of an estimator, in general and then specialized to binary hypothesis testing - the DeGroot statistical information between two measures, as well as a generalization for a kernel on more than two outcomes - the total variation distance between measures, defined as a special case of the DeGroot statistical information Co-authored-by: Lorenzo Luccioli @LorenzoLuccioli From the TestingLowerBounds project --- - [x] depends on: #27583 - [x] depends on: #27584 - [x] depends on: #27585 - [x] depends on: #27586 - [x] depends on: #27587 - [x] depends on: #27591 - [x] depends on: #28081 - [x] depends on: #28082 - [ ] depends on: #28117 - [x] depends on: #28341 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability blocked-by-other-PR WIP 1661/0 Mathlib.lean,Mathlib/InformationTheory/TotalVariation/Basic.lean,Mathlib/MeasureTheory/Measure/Dirac.lean,Mathlib/Probability/Decision/AuxLemmas.lean,Mathlib/Probability/Decision/BayesEstimator.lean,Mathlib/Probability/Decision/Binary.lean,Mathlib/Probability/Decision/BoolMeasure.lean,Mathlib/Probability/Decision/DeGrootInfo.lean,Mathlib/Probability/Decision/Risk/Basic.lean,Mathlib/Probability/Decision/Risk/Countable.lean,Mathlib/Probability/Decision/Risk/Defs.lean,Mathlib/Probability/Decision/RiskIncrease.lean,Mathlib/Probability/Decision/ZeroOneLoss.lean 13 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-62582
1 day ago
1-66808
1 day ago
0-1
1 second
27215 kckennylau
author:kckennylau
feat(AlgebraicGeometry): Define the Zariski site on `CommRingCatᵒᵖ` We define the Zariski site on `CommRingCatᵒᵖ` by inducing the topology from `Scheme`, and then we show that this topology is equal to the one generated by the pretopology of finite, surjective, and standard open morphisms. --- - [ ] depends on: #28614 - [ ] depends on: #28615 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry blocked-by-other-PR 490/0 Mathlib.lean,Mathlib/AlgebraicGeometry/Sites/BigAffineZariski.lean,Mathlib/CategoryTheory/Sites/Finite.lean 3 17 ['chrisflav', 'github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot'] chrisflav
assignee:chrisflav
1-62013
1 day ago
2-11987
2 days ago
0-42471
11 hours
27268 wwylele
author:wwylele
feat: Hahn embedding theorem This proves [Hahn embedding theorem](https://en.wikipedia.org/wiki/Hahn_embedding_theorem), one among the 1000+ theorems project. --- This is migrated from #25140 to fork, also did a general clean up so that the overall code is mathlib-ready-ish. This is still in draft state, as I split this into small PRs - [ ] depends on: #25338 (not ready yet, to be reopened from a fork) - [ ] depends on: #26059 (not ready yet) - [x] depends on: #26114 - [ ] depends on: #27043 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra merge-conflict blocked-by-other-PR
label:t-algebra$
2415/2 Mathlib.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/Module/Archimedean.lean,Mathlib/Algebra/Order/Module/HahnEmbedding.lean,Mathlib/Data/NNRat/Lemmas.lean,Mathlib/Data/Rat/Lemmas.lean,Mathlib/Data/Real/HahnEmbedding.lean,Mathlib/GroupTheory/Divisible.lean,Mathlib/GroupTheory/DivisibleCompletion.lean,Mathlib/RingTheory/HahnSeries/Lex.lean,docs/1000.yaml,docs/references.bib 12 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
1-57600
1 day ago
16-55320
16 days ago
0-0
0 seconds
26291 RemyDegenne
author:RemyDegenne
feat(Probability): Fernique's theorem - invariance by rotation of Gaussian measures - Fernique's theorem - Corollary: the identity is in Lp for all finite p - Definition of the Cameron-Martin space of a Gaussian measure - An implication of the Cameron-Martin theorem (WIP) --- - [x] depends on: #24975 - [x] depends on: #24969 - [x] depends on: #24930 - [x] depends on: #24925 - [x] depends on: #24900 - [x] depends on: #25532 - [x] depends on: #27022 - [x] depends on: #27027 - [x] depends on: #27029 - [x] depends on: #27123 - [ ] depends on: #27610 - [x] depends on: #28342 - [ ] depends on: #28343 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24430.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24430* t-measure-probability blocked-by-other-PR WIP 2211/1 Mathlib.lean,Mathlib/Probability/Distributions/Fernique.lean,Mathlib/Probability/Distributions/Gaussian/CameronMartin.lean,Mathlib/Probability/Distributions/Gaussian/CameronMartinThm.lean,Mathlib/Probability/Distributions/Gaussian/Fernique.lean,Mathlib/Probability/Distributions/Gaussian/Real.lean,Mathlib/Probability/Moments/CovarianceBilin.lean,Mathlib/Probability/Moments/Variance.lean,docs/1000.yaml,docs/references.bib 10 5 ['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-57500
1 day ago
1-57520
1 day ago
0-2
2 seconds
25273 YaelDillies
author:YaelDillies
refactor: make `MonoidAlgebra` into a one-field structure From Toric --- - [x] depends on: #26732 - [x] depends on: #28407 - [x] depends on: #28460 - [ ] depends on: #28511 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-algebra blocked-by-other-PR WIP
label:t-algebra$
751/830 Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean 2 24 ['JovanGerb', 'YaelDillies', 'alreadydone', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-54318
1 day ago
2-39683
2 days ago
36-61320
36 days
27270 EtienneC30
author:EtienneC30
chore: turn WithLp into a structure Turn `WithLp` into a one field structure, as was suggested many times on Zulip and discussed here: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/defeq.20abuse.20in.20.60WithLp.60/near/526234806. Here is what this PR does: - The instances on `WithLp p α` which were defeq to those on `α` (algebraic instances, topology, uniformity, bornology) are now pulled back from `α` along `WithLp.equiv p α`. A few declarations are added to ease the process, such as versions of `WithLp.equiv` as a homeomorphism or a uniform isomorphism. - It introduces some definitions to equip `α × β` with the Lp distance, and similarly for `Π i, α i`. This is then used to define relevant instances on type synonyms, such as for matrix norms. - The PR fixes all the defeq abuses (which break obviously). --- - [ ] depends on: #28469 - [ ] depends on: #28470 - [ ] depends on: #28471 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-analysis blocked-by-other-PR 706/420 Archive/Hairer.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/Calculus/ContDiff/WithLp.lean,Mathlib/Analysis/Calculus/FDeriv/WithLp.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/InnerProductSpace/ProdL2.lean,Mathlib/Analysis/InnerProductSpace/Spectrum.lean,Mathlib/Analysis/Matrix.lean,Mathlib/Analysis/Normed/Algebra/TrivSqZeroExt.lean,Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean,Mathlib/Analysis/Normed/Lp/LpEquiv.lean,Mathlib/Analysis/Normed/Lp/MeasurableSpace.lean,Mathlib/Analysis/Normed/Lp/PiLp.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/Normed/Lp/WithLp.lean,Mathlib/Analysis/Quaternion.lean,Mathlib/Analysis/RCLike/Inner.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/FourierTransform.lean,Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/CrossProduct.lean,Mathlib/Geometry/Manifold/Instances/Icc.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/LinearAlgebra/Matrix/Hermitian.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/Spectrum.lean,Mathlib/MeasureTheory/Measure/Haar/InnerProductSpace.lean,Mathlib/MeasureTheory/Measure/Haar/OfBasis.lean,Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean,Mathlib/MeasureTheory/SpecificCodomains/WithLp.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean,Mathlib/NumberTheory/NumberField/Ideal/Asymptotics.lean 32 22 ['EtienneC30', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] j-loreaux
assignee:j-loreaux
1-53376
1 day ago
1-53399
1 day ago
27-42201
27 days
27043 wwylele
author:wwylele
feat(Algebra/Order): Hahn embedding theorem, part 1 Part 1 of Hahn embedding theorem, or the core part of it. This proves that one can embed an ordered module in HahnSeries. To obtain the full Hahn embedding theorem, one needs to specialize the coefficient of HahnSeries to Real as a module over Rat, and compose with another embedding from ordered group to ordered module. These will be in part 2 --- - [ ] depends on: #25970 - [x] depends on: #27054 - [x] depends on: #27055 - [x] depends on: #27711 - [x] depends on: #27885 - [x] depends on: #28136 - [ ] depends on: #28449 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra merge-conflict blocked-by-other-PR WIP
label:t-algebra$
1732/2 Mathlib.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/Module/Archimedean.lean,Mathlib/Algebra/Order/Module/HahnEmbedding.lean,Mathlib/RingTheory/HahnSeries/Lex.lean,docs/references.bib 6 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-49508
1 day ago
6-8826
6 days ago
0-0
0 seconds
26315 EtienneC30
author:EtienneC30
feat: continuous sesquilinear forms Introduce an abbreviation `ContinuousSesquilinForm` for `E →L⋆[𝕜] E →L[𝕜] 𝕜`. This is needed in the Brownian motion project, as a Gaussian measure is represented by its mean and its covariance bilinear form, which is a positive semidefinite bilinear form. --- - [x] depends on: #26274 - [ ] depends on: #28052 From Brownian motion [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict blocked-by-other-PR 469/39 Counterexamples/QuadraticForm.lean,Mathlib.lean,Mathlib/Algebra/Lie/TraceForm.lean,Mathlib/Analysis/NormedSpace/ContinuousSesquilinForm.lean,Mathlib/LinearAlgebra/BilinearForm/Properties.lean,Mathlib/LinearAlgebra/BilinearForm/TensorProduct.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Hermitian.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/QuadraticForm/Dual.lean,Mathlib/LinearAlgebra/RootSystem/Finite/CanonicalBilinear.lean,Mathlib/LinearAlgebra/RootSystem/OfBilinear.lean,Mathlib/LinearAlgebra/RootSystem/RootPositive.lean,Mathlib/LinearAlgebra/SesquilinearForm.lean,Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean,Mathlib/LinearAlgebra/SesquilinearForm/IsPosSemidef.lean 16 10 ['EtienneC30', 'RemyDegenne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-48718
1 day ago
1-48719
1 day ago
0-0
0 seconds
26660 strihanje01
author:strihanje01
feat(Combinatorics/Additive/VerySmallDoubling): weak non-commutative Kneser's theorem add theorem about the structure of a doubling smaller than the golden ratio --- - [ ] depends on: #28653 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-combinatorics blocked-by-other-PR 372/41 Mathlib.lean,Mathlib/Algebra/Group/Action/Pointwise/Finset.lean,Mathlib/Combinatorics/Additive/Convolution.lean,Mathlib/Combinatorics/Additive/VerySmallDoubling.lean 4 74 ['YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'strihanje01'] YaelDillies
assignee:YaelDillies
1-24908
1 day ago
1-24908
1 day ago
37-46793
37 days
27706 xroblot
author:xroblot
feat(RingTheory/Localization/AtPrime): Add results about prime ideals in extension Let `R ⊆ S` be an extension of rings and `p` be a prime ideal of `R`. Denote by `Rₚ` the localization of `R` at the complement of `p` and by `Sₚ` the localization of `S` at the (image) of the complement of `p`. In this PR, we study the extension `Rₚ ⊆ Sₚ` and the relation between the (nonzero) prime ideals of `Sₚ` and the prime ideals of `S` above `p`. In particular, we prove that (under suitable conditions) they are in bijection and that the residual degree and ramification index are preserved by this bijection. --- - [x] depends on: #27794 - [x] depends on: #27796 - [x] depends on: #27798 - [ ] depends on: #28526 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory file-removed merge-conflict blocked-by-other-PR WIP 626/126 Mathlib.RingTheory.Localization.AtPrime.lean,Mathlib.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/RingTheory/DedekindDomain/Instances.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/Ideal/Prime.lean,Mathlib/RingTheory/Localization/AtPrime/Basic.lean,Mathlib/RingTheory/Localization/AtPrime/Extension.lean,Mathlib/RingTheory/Trace/Quotient.lean 11 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-17352
1 day ago
1-17353
1 day ago
0-1400
23 minutes
26651 loefflerd
author:loefflerd
WIP: define cusps --- - [x] depends on: #26811 - [ ] depends on: #28552 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-number-theory blocked-by-other-PR WIP 1197/314 Mathlib.lean,Mathlib/Analysis/Complex/UpperHalfPlane/FunctionsBoundedAtInfty.lean,Mathlib/Analysis/Complex/UpperHalfPlane/MoebiusAction.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Basic.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/FinTwo.lean,Mathlib/NumberTheory/ModularForms/ArithmeticSubgroups.lean,Mathlib/NumberTheory/ModularForms/Basic.lean,Mathlib/NumberTheory/ModularForms/BoundedAtCusp.lean,Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean,Mathlib/NumberTheory/ModularForms/Cusps.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Basic.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Defs.lean,Mathlib/NumberTheory/ModularForms/Identities.lean,Mathlib/NumberTheory/ModularForms/LevelOne.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean,Mathlib/NumberTheory/ModularForms/SlashActions.lean,Mathlib/NumberTheory/ModularForms/SlashInvariantForms.lean,Mathlib/Topology/Compactification/OnePoint/ProjectiveLine.lean 19 6 ['CBirkbeck', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-15922
1 day ago
1-20957
1 day ago
0-0
0 seconds
28554 themathqueen
author:themathqueen
feat(Analysis/InnerProductSpace/Positive): `A.toMatrix.PosSemidef` iff `A.IsPositive` --- - [x] depends on: #28548 - [ ] depends on: #28549 - [ ] depends on: #28553 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis blocked-by-other-PR 33/0 Mathlib/Analysis/InnerProductSpace/Positive.lean,Mathlib/LinearAlgebra/Matrix/Hermitian.lean 2 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-9279
1 day ago
1-9299
1 day ago
0-31
31 seconds
28097 themathqueen
author:themathqueen
feat(LinearAlgebra/Matrix/PosDef): kronecker of positive (semi-)definite matrices is positive (semi-)definite --- - [x] depends on: #28093 - [x] depends on: #28476 - [ ] depends on: #28544 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra blocked-by-other-PR
label:t-algebra$
71/0 Mathlib/Algebra/Star/Unitary.lean,Mathlib/LinearAlgebra/Matrix/Hermitian.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean 3 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-4372
1 day ago
2-53256
2 days ago
0-893
14 minutes
27414 staroperator
author:staroperator
feat(ModelTheory): Semilinear sets in `ℕ ^ k` are closed under intersection and complement Separated from #27100. --- - [x] depends on: #27082 - [x] depends on: #27086 - [x] depends on: #27088 - [x] depends on: #27096 - [x] depends on: #27097 - [ ] depends on: #27342 - [x] depends on: #27957 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic merge-conflict blocked-by-other-PR 1184/7 Mathlib.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Defs.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Nat.lean,Mathlib/Order/WellFoundedSet.lean,Mathlib/RingTheory/Finiteness/Cardinality.lean,docs/references.bib 7 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-74464
20 hours ago
9-47359
9 days ago
0-193
3 minutes
27789 staroperator
author:staroperator
feat(ModelTheory): semilinear sets are closed under intersection and set difference Generalize #27414. - [ ] depends on: #27414 - [x] depends on: #27786 - [x] depends on: #27787 - [x] depends on: #27955 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic merge-conflict blocked-by-other-PR 1342/7 Mathlib.lean,Mathlib/GroupTheory/Finiteness.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Basic.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Defs.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Nat.lean,Mathlib/Order/WellFoundedSet.lean,Mathlib/RingTheory/Finiteness/Cardinality.lean,docs/references.bib 9 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-74439
20 hours ago
9-47234
9 days ago
0-1510
25 minutes
27353 themathqueen
author:themathqueen
chore(LinearAlgebra/TensorProduct/Basic): semi-linearizing part 1 This continues the work from: #27310 (original PR: #24208). The only extra definition is `LinearMap.compr₂ₛₗ` for the semi-linear version of `LinearMap.compr₂`. Co-authored-by: @ADedecker --- - [x] depends on: #27467 - [ ] depends on: #27288 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra merge-conflict blocked-by-other-PR
label:t-algebra$
230/187 Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Closed.lean,Mathlib/Algebra/Lie/TensorProduct.lean,Mathlib/CategoryTheory/Monoidal/Internal/Module.lean,Mathlib/LinearAlgebra/BilinearForm/TensorProduct.lean,Mathlib/LinearAlgebra/Coevaluation.lean,Mathlib/LinearAlgebra/Contraction.lean,Mathlib/LinearAlgebra/DirectSum/TensorProduct.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/LinearAlgebra/Trace.lean,Mathlib/RepresentationTheory/Rep.lean,Mathlib/RingTheory/Coalgebra/Hom.lean 15 15 ['eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'themathqueen'] nobody
0-72697
20 hours ago
0-72697
20 hours ago
2-62342
2 days
27198 robin-carlier
author:robin-carlier
feat(CategoryTheory/Monoidal/DayConvolution): the Yoneda embedding is monoidal (for Day convolution) We show that the Yoneda embedding is monoidal when we interpret its target category as Day presheaves (i.e presheaves with the Day convolution monoidal structure). The actual way we prove it is by registering a `LawfulDayConvolutionMonoidalCategoryStruct Cᵒᵖ (Type v₁) C`, for which the "interpretation" functor `C ⥤ Cᵒᵖ ⥤ Type v₁` is the Yoneda embedding. This allows to state a result independently of any size constraint on `C`. Then, we specialize to the case of a small category `C`, in this case, using the fact that the relevant colimit of preseaves exist, we use the fact that the interpretation functor induces a monoidal functor to put a `Monoidal` instance on the functor `dayYoneda : C ⥤ (Cᵒᵖ ⊛⥤ Type v₁) := yoneda ⋙ (equiv Cᵒᵖ _).inverse`. --- I was unsure about which form of simp lemmas we want for characterization of the monoidal structure on `dayYoneda`. I opted for making the "fully applied" lemmas simp, but still leaves the "unapplied" ones as non-simp just in case. - [ ] depends on: #27175 - [ ] depends on: #25732 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed t-category-theory merge-conflict blocked-by-other-PR 1847/26 Mathlib.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Types.lean,Mathlib/CategoryTheory/Monoidal/Internal/Limits.lean,Mathlib/CategoryTheory/Monoidal/Limits/Basic.lean,Mathlib/CategoryTheory/Monoidal/Limits/Preserves.lean 8 5 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-70069
19 hours ago
0-70069
19 hours ago
0-21
21 seconds
25841 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): prove the Kővári–Sós–Turán theorem Prove the Kővári–Sós–Turán theorem for simple graphs: The `(completeBipartiteGraph α β).Free` simple graphs for `card α ≤ card β` on the vertex type `V` have at most `(card β-1)^(1/(card α))*(card V)^(2-1/(card α))/2 + (card V)*(card α-1)/2` edges. The double-counting construction from the proof is available in `namespace KovariSosTuran`. --- - [x] depends on: #19865 - [x] depends on: #20738 - [ ] depends on: #27602 I've tried to make as much of the double-counting construction not private as possible. I figure it is useful to borrow constructions between proofs. If this is just considered garbage and bloat and better left private. Please let me know. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #20240.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/20240* t-combinatorics blocked-by-other-PR 283/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/KovariSosTuran.lean 3 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] awainverse
assignee:awainverse
0-58388
16 hours ago
7-81382
7 days ago
45-15427
45 days
23831 vasnesterov
author:vasnesterov
feat(Analysis): binomial series convergence Prove * `one_add_cpow_hasFPowerSeriesOnBall_zero`: for complex `a` and `|x| < 1`, the binomial series converges to `(1 + x).cpow a`. * `one_add_rpow_hasFPowerSeriesOnBall_zero`: the variant of the above for reals. --- - [x] depends on: #27537 - [ ] depends on: #26267 - [x] depends on: #26268 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis merge-conflict blocked-by-other-PR 606/6 Mathlib.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/Binomial.lean,Mathlib/Analysis/Analytic/ChangeOrigin.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Calculus/FormalMultilinearSeries.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Defs.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean,Mathlib/Analysis/NormedSpace/Connected.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean,Mathlib/RingTheory/Binomial.lean,scripts/noshake.json 12 2 ['leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
0-56033
15 hours ago
134-37851
4 months ago
0-822
13 minutes
28689 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): prove well-known corollaries of the Erdős-Stone-Simonovits theorem Proves well-known corollaries of the Erdős-Stone-Simonovits theorem: E.g., if the chromatic number of `H` equals `r + 1 > 1`, then `extremalNumber n H` is asymptotically equivalent to `(1 - 1 / r) * n.choose 2` as `n → ∞` --- - [ ] depends on: #28687 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict blocked-by-other-PR WIP 1160/14 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/ConcreteColorings.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/ErdosStoneSimonovits.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Turan.lean,Mathlib/Data/Finset/Union.lean,Mathlib/Data/Nat/Cast/Order/Field.lean 13 1 ['mathlib4-dependent-issues-bot'] nobody
0-55330
15 hours ago
0-55331
15 hours ago
0-45
45 seconds
28687 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): prove the Erdős-Stone-Simonovits theorem Proves the Erdős-Stone-Simonovits theorem: If the chromatic number of `H` equals `r + 1 > 0`, then the `extremalNumber` of `H` is greater than `(1 - 1 / r - o(1)) * card V ^ 2 / 2` and at most `(1 - 1 / r + o(1)) * card V ^ 2 / 2`. --- - [ ] depends on: #28686 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict blocked-by-other-PR WIP 1081/14 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/ConcreteColorings.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/ErdosStoneSimonovits.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Turan.lean,Mathlib/Data/Finset/Union.lean,Mathlib/Data/Nat/Cast/Order/Field.lean 13 1 ['mathlib4-dependent-issues-bot'] nobody
0-55328
15 hours ago
0-55329
15 hours ago
0-74
1 minute
28686 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): prove the Erdős-Stone theorem Proves the Erdős-Stone theorem: If `G` has at least `(1 - 1 / r + o(1)) * card V ^ 2 / 2` many edges, then `G` contains a copy of a `completeEquipartiteGraph (r + 1) t`. --- - [ ] depends on: #28685 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict blocked-by-other-PR WIP 966/14 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/ConcreteColorings.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/ErdosStoneSimonovits.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Turan.lean,Mathlib/Data/Finset/Union.lean,Mathlib/Data/Nat/Cast/Order/Field.lean 13 1 ['mathlib4-dependent-issues-bot'] nobody
0-55327
15 hours ago
0-55328
15 hours ago
0-10
10 seconds
26719 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(RingTheory/PolynomialLaw/Basic): extends polynomial laws to arbitrary universes The definition of polynomial laws restricts its operations to a fixed universe. This PR constructs the extension to any universe. This is part of the project of studying divided powers on rings, in particular, for studying the universal divided power algebra of a module. Co-authored-by: María-Inés de Frutos Fernández @mariainesdff --- - [x] depends on: #26717 - [ ] depends on: #26277 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import blocked-by-other-PR 969/7 Mathlib.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/RingTheory/Congruence/Basic.lean,Mathlib/RingTheory/Congruence/Defs.lean,Mathlib/RingTheory/Congruence/Hom.lean,Mathlib/RingTheory/PolynomialLaw/Basic.lean 8 4 ['acmepjz', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
0-53339
14 hours ago
15-56989
15 days ago
0-1757
29 minutes
28690 CBirkbeck
author:CBirkbeck
Divisors antidiagonal tsum --- - [ ] depends on: #27837 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR 187/0 Mathlib.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/NumberTheory/ArithmeticFunction.lean,Mathlib/NumberTheory/TsumDivsorsAntidiagonal.lean,Mathlib/Topology/Algebra/InfiniteSum/Basic.lean 5 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
0-49290
13 hours ago
0-50637
14 hours ago
0-0
0 seconds
28683 Thmoas-Guan
author:Thmoas-Guan
feat(RingTheory) : regular local ring is domain In this PR, we proved for a regular local ring `R`, 1 : for a finite set `S` in the maximal Ideal of `R`, it can be extended to a regular system of parameters iff they are linear independent in the cotangent space iff `R/span S` is regular local ring of dimesion `dim R - |S|` 2 : is domain 3 : regular system of parameter form regular sequence. --- - [ ] depends on: #28682 - [ ] depends on: #28582 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory blocked-by-other-PR WIP 435/0 Mathlib.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/RingTheory/RegularLocalRing.lean 3 3 ['Thmoas-Guan', 'github-actions', 'mathlib4-dependent-issues-bot'] nobody
0-47820
13 hours ago
0-59731
16 hours ago
0-111
1 minute
28684 Thmoas-Guan
author:Thmoas-Guan
feat(RingTheory) : definition of regular ring In this PR, we define regular ring as every localization is regular local ring, and proved polynomial over regular ring is regular. --- - [ ] depends on: #28683 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory blocked-by-other-PR WIP 585/0 Mathlib.lean,Mathlib/RingTheory/RegularLocalRing.lean 2 3 ['Thmoas-Guan', 'github-actions', 'mathlib4-dependent-issues-bot'] nobody
0-46011
12 hours ago
0-59732
16 hours ago
0-153
2 minutes
28499 yoh-tanimoto
author:yoh-tanimoto
feat(MeasureTheory/VectorMeasure): add integral of a vector-valued function against a vector measure add `VectorMeasureWithPairing.integral` for normed vector spaces `E`, `F`, a Banach space `G` , a continuous linear pairing `B : E →L[ℝ] F →L[ℝ] → G` and an `F`-valued vector measure `μ`, which should be informally written as `∫ B (f x) ∂μ x`. motivation: there are natural vector measures such as signed measures and complex measures, and their integrals appear naturally e.g. in a proof of the spectral theorem for general bounded normal operators on a Hilbert space. - [ ] depends on: #26160 for the definition and lemmas about the total variation of a vector measure. t-measure-probability blocked-by-other-PR 651/0 Mathlib.lean,Mathlib/MeasureTheory/VectorMeasure/Integral.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Defs.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Lemmas.lean 4 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
0-45050
12 hours ago
5-5867
5 days ago
0-3692
1 hour
27844 CBirkbeck
author:CBirkbeck
Breakup eisenstein q exp identity --- - [ ] depends on: #27212 - [ ] depends on: #27837 - [ ] depends on: #27839 - [ ] depends on: #27838 - [ ] depends on: #27840 - [ ] depends on: #27841 - [x] depends on: #26016 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory blocked-by-other-PR 665/6 Mathlib.lean,Mathlib/Analysis/Complex/IntegerCompl.lean,Mathlib/Analysis/Complex/SummableUniformlyOn.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean,Mathlib/Data/Complex/Exponential.lean,Mathlib/NumberTheory/ArithmeticFunction.lean,Mathlib/NumberTheory/Divisors.lean,Mathlib/NumberTheory/LSeries/RiemannZeta.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Basic.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Defs.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/QExpansion.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean,Mathlib/RingTheory/EuclideanDomain.lean,Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean 15 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-39359
10 hours ago
8-46689
8 days ago
0-0
0 seconds
28695 chrisflav
author:chrisflav
feat(RingTheory): meta properties of bijective ring homomorphisms In particular, we show that bijective is a property local on the (algebraic) source. --- - [ ] depends on: #28642 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import blocked-by-other-PR 190/33 Mathlib.lean,Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/RingTheory/LocalProperties/Exactness.lean,Mathlib/RingTheory/Localization/Algebra.lean,Mathlib/RingTheory/Localization/Away/Basic.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/RingHom/Bijective.lean,Mathlib/RingTheory/TensorProduct/Basic.lean 10 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
0-38899
10 hours ago
0-38900
10 hours ago
0-3066
51 minutes
27606 CBirkbeck
author:CBirkbeck
Eisenstein q exp identity --- - [ ] depends on: #27212 - [ ] depends on: #27837 - [ ] depends on: #27839 - [ ] depends on: #27838 - [ ] depends on: #27840 - [ ] depends on: #27841 - [x] depends on: #26016 - [ ] depends on: #27844 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR 873/6 Mathlib.lean,Mathlib/Analysis/Complex/IntegerCompl.lean,Mathlib/Analysis/Complex/SummableUniformlyOn.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean,Mathlib/Data/Complex/Exponential.lean,Mathlib/NumberTheory/ArithmeticFunction.lean,Mathlib/NumberTheory/Divisors.lean,Mathlib/NumberTheory/LSeries/RiemannZeta.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Basic.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Defs.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/QExpansion.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean,Mathlib/RingTheory/EuclideanDomain.lean,Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean 15 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-38763
10 hours ago
8-46793
8 days ago
0-0
0 seconds
28699 chrisflav
author:chrisflav
feat(RingTheory/Cotangent): cotangent of composition with localization away from an element Let `R → S → T` be algebras such that `T` is the localization of `S` away from one element, where `S` is generated over `R` by `P : R[X] → S` with kernel `I` and `Q : S[Y] → T` is the canonical `S`-presentation of `T` with kernel `K`. Denote by `J` the kernel of the composition `R[X,Y] → T`. We deduce `J/J² ≃ₗ[T] T ⊗[S] (I/I²) × K/K²` from the Jacobi Zariski sequence. From Pi1. --- - [ ] depends on: #28697 The import increase is expected: This file was PRed in two steps and only the second one depends on more imports. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import blocked-by-other-PR 169/23 Mathlib/RingTheory/Extension/Cotangent/LocalizationAway.lean,Mathlib/RingTheory/Extension/Generators.lean,Mathlib/RingTheory/Extension/Presentation/Basic.lean,Mathlib/RingTheory/Smooth/StandardSmoothCotangent.lean 4 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
0-30920
8 hours ago
0-30921
8 hours ago
0-1433
23 minutes
28596 CBirkbeck
author:CBirkbeck
Dedekind eta e2 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import blocked-by-other-PR 1588/26 Mathlib.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/LogDeriv.lean,Mathlib/Analysis/Calculus/LogDerivUniformlyOn.lean,Mathlib/Analysis/Complex/IntegerCompl.lean,Mathlib/Analysis/Complex/Periodic.lean,Mathlib/Analysis/Complex/SummableUniformlyOn.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/NormedSpace/HahnBanach/SeparatingDual.lean,Mathlib/Analysis/SpecialFunctions/Log/Summable.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean,Mathlib/Data/Complex/Exponential.lean,Mathlib/Data/SetLike/Basic.lean,Mathlib/NumberTheory/ArithmeticFunction.lean,Mathlib/NumberTheory/LSeries/RiemannZeta.lean,Mathlib/NumberTheory/ModularForms/DedekindEta.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Basic.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Defs.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/QExpansion.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean,Mathlib/NumberTheory/TsumDivsorsAntidiagonal.lean,Mathlib/RingTheory/EuclideanDomain.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/IsTensorProduct.lean,Mathlib/Topology/Algebra/InfiniteSum/Basic.lean,Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean 29 n/a ['github-actions'] nobody
0-26723
7 hours ago
unknown
unknown
28056 grunweg
author:grunweg
wip: existence of Riemannian metrics Heavily in progress. --- - [ ] depends on: #26875 - [ ] depends on: #28046 (just nice to have, not strictly necessary) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry merge-conflict blocked-by-other-PR WIP 925/14 Mathlib.lean,Mathlib/Geometry/Manifold/ContMDiff/Defs.lean,Mathlib/Geometry/Manifold/ExistsRiemannianMetric.lean,Mathlib/Geometry/Manifold/ExistsRiemannianMetric2.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean,Mathlib/Geometry/Manifold/VectorBundle/Riemannian.lean,Mathlib/Geometry/Manifold/VectorBundle/SmoothSection.lean 7 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-25242
7 hours ago
14-21621
14 days ago
0-0
0 seconds
28616 themathqueen
author:themathqueen
feat(LinearAlgebra/Matrix/PosDef): positive (semi-)definite matrices commute iff their product is positive (semi-)definite - [ ] depends on: #28401 - [ ] depends on: #28576 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra blocked-by-other-PR
label:t-algebra$
79/24 Mathlib/LinearAlgebra/Matrix/HermitianFunctionalCalculus.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/Spectrum.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
0-13883
3 hours ago
2-13724
2 days ago
0-855
14 minutes
25906 pfaffelh
author:pfaffelh
feat (Topology/Compactness/CompactSystem): Closed and compact square cylinders form a compact system. feat (Topology/Compactness/CompactSystem): Closed and compact square cylinders form a compact system. A square cylinder is a set of the form `s.pi t` in a product space. A closed compact square cylinder has `IsClosed (t i)` and `IsCompact (t i)` for all `i ∈ s`. This set system is a compact system (as introduced in PR #25899). Streamline the definition of square cylinders in MeasureTheory/Constructions/Cylinders on the way. Co-authors: Rémy Degenne remy.degenne@inria.fr --- - [ ] depends on: #25899 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24542.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24542* t-topology blocked-by-other-PR 715/66 Mathlib.lean,Mathlib/Data/Set/Accumulate.lean,Mathlib/Data/Set/Dissipate.lean,Mathlib/Data/Set/Prod.lean,Mathlib/MeasureTheory/Constructions/Cylinders.lean,Mathlib/MeasureTheory/Constructions/ProjectiveFamilyContent.lean,Mathlib/MeasureTheory/PiSystem.lean,Mathlib/Topology/Compactness/CompactSystem.lean 8 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
0-12858
3 hours ago
39-66163
1 month ago
0-383
6 minutes
28468 alreadydone
author:alreadydone
feat(Algebra): ring API for `AddLocalization` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import awaiting-CI blocked-by-other-PR WIP 316/267 Mathlib/Algebra/Module/LocalizedModule/IsLocalization.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/RingTheory/Localization/Away/Basic.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/Defs.lean,Mathlib/RingTheory/Localization/Ideal.lean,Mathlib/RingTheory/OrderOfVanishing.lean,Mathlib/RingTheory/Smooth/StandardSmooth.lean,Mathlib/RingTheory/Trace/Quotient.lean 10 1 ['github-actions'] nobody
0-7496
2 hours ago
5-8888
5 days ago
0-0
0 seconds
28670 staroperator
author:staroperator
feat(GroupTheory/Finiteness): `Monoid.FG (∀ i, M i)` and `Group.FG (∀ i, M i)` following the proof of [`Module.Finite.pi`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Finiteness/Basic.html#Module.Finite.pi). Also add a missing instance of `Group.FG (G × G')`. --- - [ ] depends on: #28665 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR 192/49 Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Data/Set/Prod.lean,Mathlib/GroupTheory/Finiteness.lean 4 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
0-7486
2 hours ago
0-42969
11 hours ago
0-2180
36 minutes
28685 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): prove the minimal-degree version of the Erdős-Stone theorem Proves the minimal degree-version of the Erdős-Stone theorem: If `G` has a minimal degree of at least `(1 - 1 / r + o(1)) * card V`, then `G` contains a copy of a `completeEquipartiteGraph` in `r + 1` parts each of size `t`. The double-counting construction from the proof is available in `namespace ErdosStone`. --- - [ ] depends on: #25843 - [ ] depends on: #27597 - [ ] depends on: #27599 - [ ] depends on: #28443 - [ ] depends on: #28445 - [ ] depends on: #28446 - [ ] depends on: #28447 Similar to #25841 I've tried to make as much of the double-counting construction *not* private as possible. I figure it is useful to borrow constructions between proofs. If this is just considered garbage and bloat and better left private. Please let me know. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR WIP 793/14 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/ConcreteColorings.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/ErdosStoneSimonovits.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Turan.lean,Mathlib/Data/Finset/Union.lean,Mathlib/Data/Nat/Cast/Order/Field.lean 13 1 ['mathlib4-dependent-issues-bot'] nobody
0-6233
1 hour ago
0-55326
15 hours ago
0-46
46 seconds
27342 staroperator
author:staroperator
feat(ModelTheory): define linear and semilinear sets Separated from #27100. This PR defines the linear and semilinear sets for general `AddCommMonoid` and prove some basic properties. --- - [x] depends on: #27099 - [x] depends on: #27085 - [ ] depends on: #27341 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic blocked-by-other-PR 470/0 Mathlib.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Defs.lean,docs/references.bib 4 10 ['JovanGerb', 'awainverse', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'staroperator'] nobody
0-5602
1 hour ago
27-75896
27 days ago
0-628
10 minutes
27702 FLDutchmann
author:FLDutchmann
feat(NumberTheory/SelbergSieve): define Lambda-squared sieves and prove important properties This PR continues the work from #22052. Original PR: https://github.com/leanprover-community/mathlib4/pull/22052 - [ ] depends on: #27820 t-number-theory blocked-by-other-PR 249/84 Mathlib/NumberTheory/SelbergSieve.lean 1 4 ['FLDutchmann', 'github-actions', 'jcommelin', 'mathlib-bors', 'mathlib4-dependent-issues-bot'] nobody
0-2690
44 minutes ago
7-27916
7 days ago
0-162
2 minutes

Other lists of PRs

Some other lists of PRs which could be useful:

PRs with non-conforming titles

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
25807 Vierkantor
author:Vierkantor
ci: Empty commit to test the bench-after-CI workflow. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) test-ci CI 0/0 0 3 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] nobody
69-32519
2 months ago
69-32519
2 months ago
69-48955
69 days
25700 grunweg
author:grunweg
RFC: 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 - [ ] depends on: #25698 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter RFC 15/0 MathlibTest/DeprecatedSyntaxLinter.lean,MathlibTest/Monotonicity.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
67-43545
2 months ago
70-2793
2 months ago
70-3317
70 days
27155 Pjotr5
author:Pjotr5
Proof of Shearers 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/) new-contributor t-combinatorics 1266/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/IndependenceNumber.lean 2 1 ['github-actions'] nobody
36-50969
1 month ago
36-50969
1 month ago
36-51023
36 days
27682 FernandoChu
author:FernandoChu
Chore: Added `vecAppend_empty` lemma Added the `vecAppend_empty`. t-data new-contributor 5/0 Mathlib/Data/Fin/VecNotation.lean 1 1 ['github-actions'] nobody
21-41186
21 days ago
21-41186
21 days ago
21-41397
21 days
25907 mans0954
author:mans0954
Low order roots of unity This PR continues the work from #25470. Original PR: https://github.com/leanprover-community/mathlib4/pull/25470 t-algebra
label:t-algebra$
182/0 Mathlib/Algebra/CharP/Invertible.lean,Mathlib/RingTheory/RootsOfUnity/Complex.lean 2 2 ['github-actions', 'mans0954'] kim-em
assignee:kim-em
19-54201
19 days ago
66-46889
2 months ago
66-46938
66 days
27479 iu-isgood
author:iu-isgood
Abel's Binomial Theorem - REU Project 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/) t-data new-contributor awaiting-author 326/0 Mathlib/Data/Nat/Choose/AbelBinomial.lean 1 28 ['ElifUskuplu', 'FrankieNC', 'github-actions', 'iu-isgood'] nobody
19-41334
19 days ago
21-12115
21 days ago
0-533
8 minutes
27245 rirarika
author:rirarika
MvPolynomial.Irreducible --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
88/0 Mathlib.lean,Mathlib/Algebra/MvPolynomial/Irreducible.lean 2 5 ['alreadydone', 'github-actions', 'mbkybky'] alreadydone
assignee:alreadydone
16-21660
16 days ago
33-62682
1 month ago
33-62725
33 days
27918 kim-em
author:kim-em
wip: refactor WithBot/WithTop as structures For now we are still relying on `WithBot` and `WithTop` being defeq, but there is no impossible obstacle to converting them *both* to the same structure. This PR begins this effort; the modified files are all compiling, but there are more files that still have problems. Help on this (either ask to push to my branch, PR to my branch, or just adopt the whole thing!) very much appreciated. 181/120 Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/CategoryTheory/Preadditive/Injective/Basic.lean,Mathlib/Data/Countable/Basic.lean,Mathlib/Data/ENat/Defs.lean,Mathlib/Data/Sum/Order.lean,Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/Hom/WithTopBot.lean,Mathlib/Order/Interval/Basic.lean,Mathlib/Order/Set.lean,Mathlib/Order/TypeTags.lean,Mathlib/Order/WithBot.lean 11 4 ['eric-wieser', 'github-actions', 'kim-em'] nobody
16-10416
16 days ago
16-84517
16 days ago
16-84500
16 days
27284 FernandoChu
author:FernandoChu
Chore(CategoryTheory/MorphismProperty/MonoFactorization): Factor out mono factorizations Factored out `MonoFactorisations` from the `Images` file; also rename it to `MonoFactori*z*ations` so it's inline with the rest of Mathlib. I'm also sneaking in some very basic extremal epis results if you don't mind, these were meant to be used to prove ```lean instance (priority := 100) hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers [HasPullbacks C] [HasEqualizers C] : HasStrongEpiImages C ``` Which I noticed too late already had a proof; I think the proof has been improved anyways, it's just `infer_instance` now. new-contributor t-category-theory awaiting-author 493/326 Mathlib.lean,Mathlib/Algebra/Category/Grp/Images.lean,Mathlib/Algebra/Category/ModuleCat/Images.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/CategoryTheory/Category/Factorisation.lean,Mathlib/CategoryTheory/ConcreteCategory/EpiMono.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Images.lean,Mathlib/CategoryTheory/Limits/Shapes/ExtremalEpi.lean,Mathlib/CategoryTheory/Limits/Shapes/Images.lean,Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean,Mathlib/CategoryTheory/Limits/Shapes/StrongEpi.lean,Mathlib/CategoryTheory/Limits/Shapes/ZeroMorphisms.lean,Mathlib/CategoryTheory/Limits/Types/Images.lean,Mathlib/CategoryTheory/MorphismProperty/MonoFactorization.lean,Mathlib/CategoryTheory/Sites/Subsheaf.lean,Mathlib/Order/Category/NonemptyFinLinOrd.lean,scripts/nolints_prime_decls.txt 18 44 ['FernandoChu', 'Ruben-VandeVelde', 'bryangingechen', 'github-actions', 'joelriou', 'mathlib4-merge-conflict-bot', 'robin-carlier'] nobody
13-75963
13 days ago
13-75985
13 days ago
16-75072
16 days
28215 5hv5hvnk
author:5hv5hvnk
Draft PR, for 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/) new-contributor t-combinatorics 1216/0 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 5 1 ['github-actions'] nobody
9-74665
9 days ago
9-74671
9 days ago
9-74723
9 days
27390 alreadydone
author:alreadydone
feat(FieldTheory/Galois): normal basis theorem Co-authored-by: Madison Crim @maddycrim Co-authored-by: Aaron Liu @plp127 Co-authored-by: Justus Springer @justus-springer from [*Formalizing Class Field Theory*](https://www.claymath.org/events/formalizing-class-field-theory/) --- - [x] depends on: #27355 - [x] depends on: #27368 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
156/1 Mathlib.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Polynomial/Module/AEval.lean,Mathlib/FieldTheory/Galois/NormalBasis.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean,Mathlib/LinearAlgebra/LinearIndependent/Basic.lean,docs/references.bib 7 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
7-16300
7 days ago
7-18088
7 days ago
7-18071
7 days
27254 yuanyi-350
author:yuanyi-350
2025 imo problem3 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) IMO 918/0 Archive.lean,Archive/Imo/Imo2025Q3.lean,Mathlib/Algebra/GeomSum.lean,Mathlib/Algebra/Ring/Int/Parity.lean,Mathlib/Algebra/Ring/Parity.lean,Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/NumberTheory/Multiplicity.lean,Mathlib/NumberTheory/Padics/PadicVal/Basic.lean 8 19 ['github-actions', 'leanprover-community-bot-assistant', 'madvorak', 'mathlib4-merge-conflict-bot', 'themathqueen', 'wwylele', 'yuanyi-350'] nobody
2-52536
2 days ago
5-38270
5 days ago
21-60018
21 days
25780 emilyriehl
author:emilyriehl
the homotopy category functor preserves products This proves that the homotopy category construction defines a lax monoidal functor from simplicial sets to categories. In particular, simplicially enriched categories have quotient categorically enriched categories, which might be thought of as "homotopy bicategories." Co-authored-by: Dominic Verity , Bhavik Mehta , Thomas Murrills , and Andrew Yang . --- - [x] depends on: #27576 *This PR continues the work from #25010.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/25010* t-algebraic-topology infinity-cosmos large-import t-category-theory 251/11 Mathlib/AlgebraicTopology/SimplexCategory/Defs.lean,Mathlib/AlgebraicTopology/SimplicialSet/Nerve.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveAdjunction.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/CategoryTheory/Category/ULift.lean,Mathlib/CategoryTheory/ComposableArrows.lean,Mathlib/CategoryTheory/Limits/Preserves/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean,Mathlib/Order/Hom/Basic.lean 10 6 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
2-41791
2 days ago
2-41809
2 days ago
2-42857
2 days
28175 dsfxcimk
author:dsfxcimk
add Exterior angle theorem Add Exterior angle theorem --- The Exterior Angle Theorem states that the exterior angle of a triangle equals the sum of the two non-adjacent interior angles. I plan to place this in Mathlib.Geometry.Euclidean.Triangle [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-euclidean-geometry 11/0 Mathlib/Geometry/Euclidean/Triangle.lean 1 3 ['FrankieNC', 'github-actions'] nobody
2-33999
2 days ago
10-59446
10 days ago
10-59497
10 days
26310 kckennylau
author:kckennylau
Binary form This PR provides the basic definition of binary forms, which are homogeneous polynomials in two variables. --- - [ ] depends on: #26312 - [ ] depends on: #26313 - [ ] depends on: #26314 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra awaiting-author
label:t-algebra$
73/0 Mathlib.lean,Mathlib/RingTheory/MvPolynomial/BinaryForm.lean 2 12 ['MichaelStollBayreuth', 'github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot', 'ocfnash'] ocfnash
assignee:ocfnash
1-29715
1 day ago
1-32316
1 day ago
57-1104
57 days
28655 YaelDillies
author:YaelDillies
CI: list the projects I maintain I've sorted the repos in alphabetical order, because I found it became difficult to track which ones I had already added. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI 88/22 scripts/downstream_repos.yml 1 1 ['github-actions'] nobody
1-29191
1 day ago
1-29202
1 day ago
1-29243
1 day
26330 Timeroot
author:Timeroot
"Junk value" test file This PR continues the work from #25173. Original PR: https://github.com/leanprover-community/mathlib4/pull/25173 t-data 360/0 MathlibTest/Junk.lean 1 3 ['Timeroot', 'github-actions', 'leanprover-community-bot-assistant'] nobody
0-39438
10 hours ago
41-17920
1 month ago
56-66802
56 days
27212 CBirkbeck
author:CBirkbeck
Cot series iterated deriv within --- - [x] depends on: #27209 - [x] depends on: #26016 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 237/2 Mathlib/Analysis/Complex/IntegerCompl.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean 4 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-28279
7 hours ago
8-57621
8 days ago
8-71582
8 days
28702 unknown
author:unknown
Experiment for swapping MulOneClass -> Mul, One in MonoidHom unknown description bench-after-CI t-algebra
label:t-algebra$
-1/-1 -1 n/a [] nobody
0-14815
4 hours ago
unknown
unknown
28400 CBirkbeck
author:CBirkbeck
Define the Dedekind Eta function --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 174/0 Mathlib.lean,Mathlib/Analysis/Complex/Periodic.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/Summable.lean,Mathlib/NumberTheory/ModularForms/DedekindEta.lean 5 12 ['CBirkbeck', 'github-actions', 'loefflerd'] nobody
0-14177
3 hours ago
0-34178
9 hours ago
6-54811
6 days
28718 unknown
author:unknown
Added chosen finite coproducts unknown description new-contributor t-category-theory -1/-1 -1 n/a [] nobody
0-9968
2 hours ago
unknown
unknown
28709 unknown
author:unknown
add instance `CompleteSpace` for a subtype with `IsClosed` instance unknown description t-topology -1/-1 -1 n/a [] nobody
0-5732
1 hour ago
unknown
unknown
25474 adomani
author:adomani
test for .lean/.md check A test PR for #25473. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed t-linter merge-conflict 10/1 .github/workflows/lint_and_suggest_pr.yml,Mathlib.lean,Mathlib/NumberTheory/NumberField/CMField.Lean 3 2 ['github-actions', 'leanprover-community-bot-assistant'] nobody
16-54497
16 days ago
16-54497
16 days ago
29-67280
29 days
27258 JovanGerb
author:JovanGerb
Imo2020 q6 Original PR: #23431 This PR adds a solution to IMO 2020 Q6. It follows the solution that I found when I was participating in the IMO. I used the statement formalization that was given by @jsm28. The function `project a b p` that is defined here is the same as `signedDist a p (b -ᵥ a)` defined in #27260. --- - [ ] depends on: #27257 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) IMO blocked-by-other-PR 367/0 Archive.lean,Archive/Imo/Imo2020Q6.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
33-6800
1 month ago
33-30017
1 month ago
0-1307
21 minutes
28067 grunweg
author:grunweg
Docstring enumerations Tracking PR; to be split. Audit all ocurrences of `^ \S`; exhaustive. --- - [x] depends on: #28068 - [x] depends on: #28069 - [ ] depends on: #28070 - [x] depends on: #28118 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR 264/263 Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/BrauerGroup/Defs.lean,Mathlib/Algebra/Module/LinearMap/Polynomial.lean,Mathlib/CategoryTheory/Abelian/NonPreadditive.lean,Mathlib/CategoryTheory/EqToHom.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/Pi.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/CategoryTheory/Sites/Grothendieck.lean,Mathlib/CategoryTheory/Sites/Pretopology.lean,Mathlib/Condensed/Discrete/Characterization.lean,Mathlib/FieldTheory/ChevalleyWarning.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Basic.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean,Mathlib/MeasureTheory/OuterMeasure/Basic.lean,Mathlib/MeasureTheory/OuterMeasure/Defs.lean,Mathlib/NumberTheory/FLT/Basic.lean,Mathlib/NumberTheory/LSeries/PrimesInAP.lean,Mathlib/RingTheory/Grassmannian.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/Defs.lean,Mathlib/RingTheory/WittVector/Teichmuller.lean,Mathlib/Tactic/Bound.lean,Mathlib/Tactic/Bound/Attribute.lean,Mathlib/Tactic/ENatToNat.lean,Mathlib/Tactic/FBinop.lean,Mathlib/Tactic/IntervalCases.lean,Mathlib/Tactic/TermCongr.lean,Mathlib/Util/Notation3.lean,Mathlib/Util/Superscript.lean,docs/Conv/Guide.lean 38 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
9-42096
9 days ago
13-61309
13 days ago
0-2904
48 minutes

PRs without an area label

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
27995 kckennylau
author:kckennylau
feat(RingTheory/Valuation): alternate constructors for Valuation --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 69/0 Mathlib/FieldTheory/RatFunc/Degree.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/RingTheory/Valuation/Basic.lean 3 18 ['YaelDillies', 'github-actions', 'kckennylau', 'pechersky'] nobody
15-17148
15 days ago
15-23312
15 days ago
15-23295
15 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/) 172/0 Counterexamples.lean,Counterexamples/DiscreteTopologyWithNontrivialValuation.lean 2 n/a ['github-actions', 'kckennylau', 'pechersky'] nobody
15-16159
15 days ago
unknown
unknown
28292 bwangpj
author:bwangpj
feat(Geometry/Manifold/ContMDiff): add product lemmas for `ContMDiff` Add product lemmas for `ContMDiff`. These are analogous to the corresponding lemmas for `Continuous` in [`Mathlib.Topology.Constructions.SumProd`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Constructions/SumProd.html#ContinuousAt.comp%E2%82%82). 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/) new-contributor 42/0 Mathlib/Geometry/Manifold/ContMDiff/Constructions.lean 1 1 ['github-actions'] nobody
7-72553
7 days ago
8-39258
8 days ago
8-39251
8 days
28411 zcyemi
author:zcyemi
feat(LinearAlgebra/AffineSpace/Simplex/Centroid): define centroid and medians --- This file proves several lemmas involving the centroids and medians of a simplex in affine space. definitions: - `centroid` is the centroid of a simplex, defined as abbreviation of the `Finset.univ.centroid`. - `faceOppositeCentroid` is the centroid of the facet obtained as `(Simplex.faceOpposite i).centroid` - `median` is the line connecting a vertex to the faceOppositeCentroid. Main Results: - Commandino's theorem - The medians of a simplex are concurrent at the centroid large-import 477/8 Mathlib/Geometry/Euclidean/Circumcenter.lean,Mathlib/Geometry/Euclidean/MongePoint.lean,Mathlib/Geometry/Euclidean/Simplex.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Centroid.lean,docs/1000.yaml 5 5 ['github-actions', 'jsm28'] nobody
6-19370
6 days ago
6-34067
6 days ago
6-34115
6 days
28493 gasparattila
author:gasparattila
feat: topological affine spaces This PR adds a typeclass `IsTopologicalAddTorsor` for topological affine spaces and generalizes several results which currently assume `NormedAddTorsor`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor 386/289 Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean,Mathlib/Analysis/Complex/AbsMax.lean,Mathlib/Analysis/Normed/Affine/AddTorsor.lean,Mathlib/Analysis/Normed/Affine/ContinuousAffineMap.lean,Mathlib/Analysis/Normed/Affine/Convex.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Analysis/Normed/Group/AddTorsor.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/Normed/Operator/Banach.lean,Mathlib/Analysis/RCLike/Lemmas.lean,Mathlib/Geometry/Euclidean/Projection.lean,Mathlib/Geometry/Euclidean/Triangle.lean,Mathlib/Topology/Algebra/Affine.lean,Mathlib/Topology/Algebra/ContinuousAffineMap.lean,Mathlib/Topology/Algebra/Group/Pointwise.lean 16 1 ['github-actions'] nobody
5-18880
5 days ago
5-21580
5 days ago
5-21627
5 days
27363 101damnations
author:101damnations
feat(RepresentationTheory/Homological): add standard resolution for finite cyclic groups Let `k` be a commutative ring and `G` a finite commutative group. Given `g : G` and `A : Rep k G`, we can define a periodic chain complex in `Rep k G` given by `... ⟶ A --N--> A --(ρ(g) - 𝟙)--> A --N--> A --(ρ(g) - 𝟙)--> A ⟶ 0` where `N` is the norm map sending `a : A` to `∑ ρ(g)(a)` for all `g` in `G`. When `G` is generated by `g` and `A` is the left regular representation `k[G]`, this chain complex is a projective resolution of `k` as a trivial representation, which we prove in this PR. --- - [x] depends on: #27362 - [x] depends on: #27361 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 223/0 Mathlib.lean,Mathlib/RepresentationTheory/Homological/FiniteCyclic.lean,Mathlib/RepresentationTheory/Invariants.lean 3 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] TwoFX
assignee:TwoFX
3-1426
3 days ago
11-12849
11 days ago
14-33053
14 days
28609 mans0954
author:mans0954
feature(Analysis/LocallyConvex/Bounded): Quasi-complete spaces Define a quasi-complete space (Bourbaki, III.8) and prove that in a quasi-complete space: - `isCompact_closure_of_totallyBounded_quasiComplete`: the closure of a totally bounded set is compact . - `isCompact_closedAbsConvexHull_of_totallyBounded`: the closed absolute convex hull of a totally bounded set is compact . The closure of a totally bounded subset of a complete space is also compact. For a complete space with zero equipped with a scalar multiplication by a seminormed ring, this is a special case of `isCompact_closure_of_totallyBounded_quasiComplete`, but we also provide `isCompact_closure_of_totallyBounded_complete` which does not require a zero or a scalar multiplication. (N.B. `isCompact_of_totallyBounded_isClosed (TotallyBounded.closure ht) isClosed_closure` provides an alternative proof of `isCompact_closure_of_totallyBounded_complete`.) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 44/0 Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/Bounded.lean,Mathlib/Topology/UniformSpace/Cauchy.lean 3 1 ['github-actions'] nobody
2-17491
2 days ago
2-17491
2 days ago
2-19806
2 days
28339 JovanGerb
author:JovanGerb
feat(gcongr): support `@[gcongr]` for `Monotone` and friends This PR adds the feature to `gcongr` that you can now tag lemmas whose conclusion is `Monotone f`, `Antitone f`, etc. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 119/88 Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Algebra/Order/Module/Algebra.lean,Mathlib/Algebra/Order/Ring/Cast.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/ERealExp.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean,Mathlib/Data/Complex/Exponential.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Multiset/Defs.lean,Mathlib/Data/Nat/Cast/Order/Basic.lean,Mathlib/Data/Rat/Cast/Order.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/LinearAlgebra/Basis/Flag.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/Order/Filter/Map.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Tactic/GCongr/Core.lean,MathlibTest/GCongr/inequalities.lean 20 3 ['github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] nobody
2-5406
2 days ago
2-5529
2 days ago
7-6909
7 days
28575 YaelDillies
author:YaelDillies
feat: `IsOrderBornology` instances for `ℕ` and `ℤ` ... using a new constructor assuming `IsCompactIcc`. As a result, I could make all existing instances on concrete types into one-liners. --- As requested by @teorth. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import 33/44 Mathlib/Order/Bounds/Basic.lean,Mathlib/Topology/Bornology/Real.lean,Mathlib/Topology/Instances/Int.lean,Mathlib/Topology/Instances/Nat.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean,Mathlib/Topology/Order/Bornology.lean 6 1 ['github-actions'] nobody
1-61538
1 day ago
3-26357
3 days ago
3-26405
3 days
27973 smmercuri
author:smmercuri
feat: the ring of integers of a `ℤₘ₀`-valued field is compact whenever it is a DVR and the residue field is finite This PR continues the work from #21844. Original PR: https://github.com/leanprover-community/mathlib4/pull/21844 large-import 54/2 Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/Topology/Algebra/Valued/WithZeroMulInt.lean 2 1 ['github-actions'] nobody
1-51374
1 day ago
8-31717
8 days ago
8-31732
8 days
27964 smmercuri
author:smmercuri
feat: two inequivalent absolute values have a `< 1` and `> 1` value This PR continues the work from #22100. Original PR: https://github.com/leanprover-community/mathlib4/pull/22100 142/0 Mathlib/Algebra/Order/AbsoluteValue/Basic.lean,Mathlib/Analysis/AbsoluteValue/Equivalence.lean 2 1 ['github-actions'] nobody
1-34989
1 day ago
10-40518
10 days ago
11-51591
11 days
28639 ChrisHughes24
author:ChrisHughes24
feat(Nullstellensatz); Generalize nullstellensatz to use a different field for the polynomial ring --- This generalizes Nullstellensatz to Wikipedia's statement of the theorem, where there are two fields and one is algebraically closed. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 88/91 Mathlib/FieldTheory/AxGrothendieck.lean,Mathlib/ModelTheory/Algebra/Ring/Definability.lean,Mathlib/RingTheory/Nullstellensatz.lean 3 1 ['github-actions'] nobody
1-31699
1 day ago
1-41974
1 day ago
1-41957
1 day
28696 or4nge19
author:or4nge19
feat(Quiver/Path/Vertices): add splitting lemmas and decomposition results introduce splitting and decomposition results (exists_decomp_at_length, exists_decomp_of_mem_vertices, split_at_vertex needed to reason about the list of vertices of a path and to split paths at a chosen vertex. Part of Perron-Frobenius theorem pre-requisites see https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Formalizing.20Perron-Frobenius/with/525516636 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor 112/0 Mathlib/Combinatorics/Quiver/Path/Vertices.lean,Mathlib/Data/List/Basic.lean 2 1 ['github-actions'] nobody
0-22207
6 hours ago
0-40732
11 hours ago
0-40800
11 hours
28700 unknown
author:unknown
feat(ModelTheory): Set.Definable is transitive unknown description large-import -1/-1 -1 n/a [] nobody
0-17477
4 hours ago
unknown
unknown
24100 eric-wieser
author:eric-wieser
feat: restore some explicit binders from Lean 3 Part of #24099 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt merge-conflict awaiting-author 39/42 Mathlib/Data/FinEnum.lean,Mathlib/FieldTheory/Galois/Profinite.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/Compactness/CompactlyGeneratedSpace.lean,Mathlib/Topology/MetricSpace/IsometricSMul.lean,Mathlib/Topology/Metrizable/CompletelyMetrizable.lean,Mathlib/Topology/Metrizable/Uniformity.lean,Mathlib/Topology/Order.lean,Mathlib/Topology/Order/LowerUpperTopology.lean,Mathlib/Topology/UniformSpace/UniformEmbedding.lean 10 3 ['github-actions', 'grunweg', 'leanprover-community-bot-assistant'] nobody
87-40618
2 months ago
87-40620
2 months ago
34-33204
34 days
26015 linesthatinterlace
author:linesthatinterlace
feat: Add high-level generalizations from `MonoidHom` lifts This PR continues the work from #25296. Original PR: https://github.com/leanprover-community/mathlib4/pull/25296 migrated-from-branch merge-conflict 1251/156 Mathlib/Algebra/Category/Ring/FinitePresentation.lean,Mathlib/Algebra/Group/Equiv/Basic.lean,Mathlib/Algebra/Group/Hom/Basic.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Algebra/Ring/Hom/Basic.lean,Mathlib/Algebra/Ring/Hom/Defs.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/NumberTheory/DirichletCharacter/Basic.lean,Mathlib/RingTheory/Ideal/Maps.lean 12 3 ['github-actions', 'leanprover-community-bot-assistant', 'linesthatinterlace'] nobody
46-75832
1 month ago
46-75833
1 month ago
17-68720
17 days
27399 MoritzBeroRoos
author:MoritzBeroRoos
feat: 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/) new-contributor merge-conflict 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
20-48548
20 days ago
20-48548
20 days ago
7-62439
7 days
27403 MoritzBeroRoos
author:MoritzBeroRoos
feat: 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/) new-contributor merge-conflict 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 4 ['eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] nobody
20-48547
20 days ago
20-48547
20 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 140/23 Mathlib/RingTheory/Valuation/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean 2 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
7-37622
7 days ago
7-37623
7 days ago
7-4998
7 days
25488 VTrelat
author:VTrelat
feat(SetTheory/ZFC/Rationals): define rationals in ZFC Extend the model of ZFC with rationals: we define a proper type `ZFRat` representing integers based on pairs of `ZFInt` (enforcing the res to be nonzero) and following the usual construction of rationals. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #25483 - [ ] depends on: #25485 - [ ] depends on: #25486 new-contributor merge-conflict blocked-by-other-PR 2070/0 Mathlib/Data/Set/Prod.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Booleans.lean,Mathlib/SetTheory/ZFC/Integers.lean,Mathlib/SetTheory/ZFC/Rationals.lean 5 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
46-76133
1 month ago
46-76133
1 month ago
0-1808
30 minutes
28061 CoolRmal
author:CoolRmal
feat(MeasureTheory): Uniqueness of Measures in the Riesz–Markov–Kakutani Representation Theorem This PR adds the proof of the uniqueness of measures in the Riesz–Markov–Kakutani representation theorem (i.e. if two regular measures on a locally compact Hausdorff space induce the same linear functionals on the set of compactly supported continuous functions, then these two measures are equal). cf. https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Uniqueness.20in.20Riesz.E2.80.93Markov.E2.80.93Kakutani.20representation.20theorem --- - [ ] depends on: #28059 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor blocked-by-other-PR 342/83 Mathlib/Algebra/Order/Module/PositiveLinearMap.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Basic.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/NNReal.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean,Mathlib/MeasureTheory/Measure/Regular.lean,Mathlib/Topology/ContinuousMap/CompactlySupported.lean,Mathlib/Topology/UrysohnsLemma.lean 7 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
13-50181
13 days ago
13-50181
13 days ago
0-246
4 minutes
27366 101damnations
author:101damnations
feat(RepresentationTheory/Homological/GroupCohomology/Hilbert90): add Hilbert 90 for cyclic groups Let `L/K` be a finite extension of fields. Before this PR, this file proves Noether's generalization of Hilbert's Theorem 90: that the 1st group cohomology $H^1(Aut_K(L), L^\times)$ is trivial. Hilbert's original statement was that if $L/K$ is Galois, and $Gal(L/K)$ is cyclic, generated by an element `σ`, then for every `x : L` such that $N_{L/K}(x) = 1,$ there exists `y : L` such that $x = y/σ(y).$ We prove that in this PR, using the fact that `H¹(G, A) ≅ Ker(N_A)/(ρ(g) - 1)(A)` for any finite cyclic group `G` with generator `g`, and then applying Noether's generalization. --- - [ ] depends on: #27361 - [ ] depends on: #27362 - [ ] depends on: #27363 - [ ] depends on: #27364 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import merge-conflict blocked-by-other-PR 417/8 Mathlib.lean,Mathlib/CategoryTheory/Action/Limits.lean,Mathlib/RepresentationTheory/Homological/FiniteCyclic.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/FiniteCyclic.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/Hilbert90.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/LowDegree.lean,Mathlib/RepresentationTheory/Invariants.lean,Mathlib/RepresentationTheory/Rep.lean 8 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
11-29569
11 days ago
11-29570
11 days ago
0-351
5 minutes
27364 101damnations
author:101damnations
feat(RepresentationTheory/Homological/GroupCohomology): cohomology of finite cyclic groups Let `k` be a commutative ring, `G` a group and `A` a `k`-linear `G`-representation. Given endomorphisms `φ, ψ : A ⟶ A` such that `φ ∘ ψ = ψ ∘ φ = 0`. Denote by `Chains(A, φ, ψ)` the periodic chain complex `... ⟶ A --φ--> A --ψ--> A --φ--> A --ψ--> A ⟶ 0` and by `Cochains(A, φ, ψ)` the periodic cochain complex `0 ⟶ A --ψ--> A --φ--> A --ψ--> A --φ--> A ⟶ ...`. When `G` is finite and generated by `g : G`, then `P := Chains(k[G], N, ρ(g) - Id)` (with `ρ` the left regular representation) is a projective resolution of `k` as a trivial representation. In this PR we show that for `A : Rep k G`, `Hom(P, A)` is isomorphic to `Cochains(A, N, ρ_A(g) - Id)` as a complex of `k`-modules, and hence the cohomology of this complex computes group cohomology. --- - [ ] depends on: #27362 - [ ] depends on: #27361 - [ ] depends on: #27363 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR 364/0 Mathlib.lean,Mathlib/RepresentationTheory/Homological/FiniteCyclic.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/FiniteCyclic.lean,Mathlib/RepresentationTheory/Invariants.lean 4 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
10-29968
10 days ago
10-29986
10 days ago
0-731
12 minutes
27365 101damnations
author:101damnations
feat(RepresentationTheory/Homological/GroupHomology): homology of finite cyclic groups Let `k` be a commutative ring, `G` a group and `A` a `k`-linear `G`-representation. Given endomorphisms `φ, ψ : A ⟶ A` such that `φ ∘ ψ = ψ ∘ φ = 0`. Denote by `Chains(A, φ, ψ)` the periodic chain complex `... ⟶ A --φ--> A --ψ--> A --φ--> A --ψ--> A ⟶ 0`. When `G` is finite and generated by `g : G`, then `P := Chains(k[G], N, ρ(g) - Id)` (with `ρ` the left regular representation) is a projective resolution of `k` as a trivial representation. In this PR we show that for `A : Rep k G`, `(A ⊗ P)_G` is isomorphic to `Chains(A, N, ρ_A(g) - Id)` as a complex of `k`-modules, and hence the homology of this complex computes group homology. --- - [ ] depends on: #27362 - [ ] depends on: #27361 - [ ] depends on: #27363 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR 364/0 Mathlib.lean,Mathlib/RepresentationTheory/Homological/FiniteCyclic.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/FiniteCyclic.lean,Mathlib/RepresentationTheory/Invariants.lean 4 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
10-29951
10 days ago
10-29967
10 days ago
0-606
10 minutes
28295 artie2000
author:artie2000
feat(Algebra/Order/Ring/Ordering): basic results about ring (pre)orderings * Basic automation for membership of ring orderings * Alternative constructors for ring preorderings and ring orderings * Basic results about ring preorderings and their supports, including the special case over a field --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #27282 large-import blocked-by-other-PR 426/20 Mathlib.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Order/Group/Cone.lean,Mathlib/Algebra/Order/Ring/Cone.lean,Mathlib/Algebra/Order/Ring/Ordering/Basic.lean,Mathlib/Algebra/Order/Ring/Ordering/Defs.lean 6 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
7-37759
7 days ago
8-31255
8 days ago
0-531
8 minutes
28670 staroperator
author:staroperator
feat(GroupTheory/Finiteness): `Monoid.FG (∀ i, M i)` and `Group.FG (∀ i, M i)` following the proof of [`Module.Finite.pi`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Finiteness/Basic.html#Module.Finite.pi). Also add a missing instance of `Group.FG (G × G')`. --- - [ ] depends on: #28665 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR 192/49 Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Data/Set/Prod.lean,Mathlib/GroupTheory/Finiteness.lean 4 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
0-7486
2 hours ago
0-42969
11 hours ago
0-2180
36 minutes

PRs with contradictory labels

There are currently no PRs with contradictory labels. Congratulations!